A Bridge Too Far? - How To Navigate Eclipse's Remote Frameworks

Similar documents
Target Management New and Noteworthy. Martin Oberhuber, Wind River

The DSDP Target Management Project. Martin Oberhuber, Wind River

Perfect for the Enterprise

From the RCP Book To Reality. Jean-Michel Lemieux IBM Rational, Ottawa, Canada

TCF. Anyware Technologies-All Right Reserved. Anyware's Implementation of the Target Communication Framework

Eclipse 4.0. Jochen Krause EclipseSource

Eclipse in Embedded. Neha Garg : Prerna Rustagi :

Service Discovery and Remote Services with the Eclipse Communication Framework

Distributed OSGi Services with the Eclipse Communication Framework. Jan S. Rellermeyer, ETH Zürich Markus Kuppe, Versant Inc.

Tools to Develop New Linux Applications

Simulate This! - The Eclipse Platform as an Integrated Computational Environment

An Introduction to ECF

Where Models Live. Eike Stepper. SAP Modeling Meeting Wednesday, January 27, 2010

The Eclipse Parallel Tools Platform Project

AD105 Introduction to Application Development for the IBM Workplace Managed Client

Eclipse as a Web 2.0 Application Position Paper

Integrating Mobile Devices and Emulators onto the Eclipse IDE with TmL

P2PSIP, ICE, and RTCWeb

IBM C Rational Functional Tester for Java. Download Full Version :

Introduc)on to Computer Networks

Developing Pluggable Client/Server Applications

Tutorial: Tools for mobile Linux (TmL) Exercises

ECF 3.0 Release Review

Eclipse-PTP: An Integrated Environment for the Development of Parallel Applications

The Galilean Moons of Eclipse

DS 2009: middleware. David Evans

Building an embedded software IDE on top of Eclipse

The New Generation of the Eclipse Platform. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Cisco Unified Presence 8.0

The Net4j Signalling Platform

eclipse rich ajax platform (rap)

IBM Rational Software

Quick tour of the Test and Performance Tools Platform (TPTP) Valentina Popescu IBM Tivoli TPTP AG Lead

Equinox Project 3.6 Release Review

Expeditor Client for Desktop. Client Platform Overview

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

How to Configure an SSH Tunnel on PuTTY

Il Mainframe e il paradigma dell enterprise mobility. Carlo Ferrarini zsystems Hybrid Cloud

Developing Pluggable Client/Server Applications with Net4j

Spring and OSGi. Martin Lippert akquinet agile GmbH Bernd Kolb Gerd Wütherich

Web Application with AJAX. Kateb, Faris; Ahmed, Mohammed; Alzahrani, Omar. University of Colorado, Colorado Springs

John Hicks Internet2 - Network Research Engineer perfsonar

Introduction to the Application Layer. Computer Networks Term B14

What's New in CDT 7.0? dominique dot toupin at ericsson dot com

301AA - Advanced Programming [AP-2017]

BlackBerry Enterprise Server for IBM Lotus Domino Version: 5.0. Feature and Technical Overview

CHAPTER - 4 REMOTE COMMUNICATION

Asynchronous SIP Routing

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Data Communication & Computer Networks MCQ S

CAS 703 Software Design

Building Native Mapping Apps with PhoneGap: Advanced Techniques Andy

IBM. Generic RSE User's Guide. IBM Explorer for z/os. Version 3 Release 0 SC

Long- term and Cross- database Performance Analysis for DBAs

IBM Rational Developer for System z Version 7.5

Introduction to Wireless Networks. Objet Communicants Dino Lopez h;p://

Interprocess Communication

Introduction to Eclipse

Improving the Eclipse Parallel Tools Platform in Support of Earth Sciences High Performance Computing

Port Usage Information for the IM and Presence Service

Foundations of Python

for Multi-Services Gateways

An Easy Way to Web User Interfaces for Ground Segment Systems

BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0. Feature and Technical Overview

OSSW ICOSST 2009, Al-Khawarizmi Institute of Computer Science University of Engineering and Technology, Lahore

Port Usage Information for the IM and Presence Service

Porting mobile web application engine to the Android platform

Asynchronous and Synchronous Messaging with Web Services and XML Ronald Schmelzer Senior Analyst ZapThink, LLC

Box: Using HBase as a message queue. David MacKenzie Staff So2ware Engineer

Contact center integration with CRM. White paper and best practice for Daktela V6 setup with internal CRM system

Eclipse Communications Framework

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication

Review of Previous Lecture

Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek

Developing Scientific Applications with the IBM Parallel Environment Developer Edition

Configuration Guide. BlackBerry UEM. Version 12.7 Maintenance Release 2

Plants By WebSphere Ajax Sample Application Installation, Setup and Configuration WebSphere Application Server v8.0

ECLIPSE PERSISTENCE PLATFORM (ECLIPSELINK) FAQ

Eclipse Modeling Framework (EMF) Paweł Żalejko

Open ESB v2, Open ESB.next and Project Fuji. Andreas Egloff Lead Architect SOA / Business Integration Sun Microsystems

Verteilte Systeme (Distributed Systems)

Research Data Repository Interoperability Primer

FIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE

e4 Project 0.9 Release Review

Copyright is owned by the Author of the thesis. Permission is given for a copy to be downloaded by an individual for the purpose of research and

Real World Messaging With Apache ActiveMQ. Bruce Snyder 7 Nov 2008 New Orleans, Louisiana

Ajax Enabled Web Application Model with Comet Programming

Improving the Eclipse Parallel Tools Platform to Create an Effective Workbench for High Performance Computing

ORACLE MESSAGEQ ORACLE DATA SHEET KEY FEATURES AND BENEFITS

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT

Liberate your components with OSGi services

EGit/Gerrit Hands-on training #1: Installation and Configuration

CCNA Exploration Network Fundamentals. Chapter 3 Application Layer Functionality and Protocols

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Network Risk Report. Prepared for Fake Example Inc. Wednesday 23 January This is an example report. All data contained herein is fake

Q.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial.

About Tom. CEO BestSolution Systemhaus GmbH. Eclipse Committer. Platform UI EMF. Projectlead: UFaceKit, Nebula. Member of the Architectual Council

All India Council For Research & Training

Table of Contents DevOps Administrators

Transcription:

A Bridge Too Far? - How To Navigate Eclipse's Remote Frameworks Greg Watson IBM EclipseCon 2014 1

What exactly is the issue? Remoteness is becoming an important factor for applicaoon and tool development There are exisong remote frameworks, but documentaoon is sparse How do I determine which framework best suits my requirements? What factors stop adopoon of a framework? Because this is difficult, projects are providing their own Waste of resources Does not promote standardizaoon Need to start the discussion about how to address this EclipseCon 2014 2

Case Study Remote ApplicaOon PlaXorm (RAP) MulO- user client- server based web framework Provides a default web client that works with most browsers Server is wri[en enorely in Java RAP Protocol uses JSON- based message format over HTTP Why was ECF not used? EclipseCon 2014 3

Remote Frameworks PlaXorm EFS JSch Proxy ECF TM RSE TCF DataStore Terminal PTP Remote Services CDO Net4j EclipseCon 2014 4

PlaXorm JSch Pure- Java SSH implementaoon Obtained as OSGI JSch service Interfaces for session creaoon, credenoals, etc. Preference page for managing SSH informaoon, keys, etc. Eclipse File System (EFS) Abstract file system API IFileSystem IFileStore Extension points: org.eclipse.core.filesystem org.eclipse.ui.ide.filesystemsupport Not specifically remote, but is used by a number of projects to provide remote file systems EclipseCon 2014 5

PlaXorm Proxy service org.eclipse.core.net Adds support for proxy bypass of specific protocols (HTTP, HTTPS, etc.) Proxy data supplied by preferences UI Extension point for authenocator, but only one allowed at a Ome (workbench provides default) EclipseCon 2014 6

Eclipse CommunicaOon Framework (ECF) Real- Ome communicaoon and collaboraoon features for teams E.g peer- to- peer file sharing, screen sharing, and real- Ome shared ediong. A set of APIs and frameworks built upon exisong protocols (like Google Talk, XMPP, etc.) for communicaoons and messaging Containers AbstracOon for protocol- specific communicaoon connecoons Supports both point- to- point and publish- subscribe Specified using two extension points org.eclipse.ecf.containerfactory org.eclipse.ecf.namespace EclipseCon 2014 7

EclipseCon 2014 8

ECF APIs Func%on Core, ID Asynchronous data transfer Resource discovery File transfer Instant messaging Remote services Shared java objects Telephony Synchronizing data models API org.eclipse.ecf[.idenoty] org.eclipse.ecf.datashare org.eclipse.ecf.discovery org.eclipse.ecf.filetransfer org.eclipse.ecf.presence org.eclipse.ecf.remoteservice[.rest] org.eclipse.ecf.sharedobject org.eclipse.ecf.telephony.call org.eclipse.ecf.ecf.sync EclipseCon 2014 9

Target Management (TM) Data models and frameworks to configure and manage remote systems, connecoons, and services EclipseCon 2014 10

TM - RSE Remote System Explorer (RSE) A UI for interacong with remote systems Services The type of interacoon with the remote system Subsystems Provides connecoon informaoon, model arofacts (hosts, profiles, filters, etc.) and persistence for services Provides communicaoon mechanism for accessing a remote host (ssh, kp, etc.) Extension points for adding services and subsystems EclipseCon 2014 11

TM - RSE EclipseCon 2014 12

TM - TCF Target CommunicaOon Framework (TCF) Lightweight, extensible network protocol mainly for communicaong with embedded systems Designed to transparently plug in value- adding servers between a tool and a target (e.g. debug service) Transport- agnosoc channel abstracoon Uses JSON (JavaScript Object NotaOon) as its preferred data marshalling language Supports auto- discovery of targets and services. EclipseCon 2014 13

TM - TCF EclipseCon 2014 14

TM - DataStore Provides a communicaoons layer, in- memory data repository, and a pluggable tooling framework Extensible client/server protocol for data and commands Used by the RSE Dstore subsystem (similar to kp, ssh, etc.) Is generic, so can be used by any kind of remote tooling EclipseCon 2014 15

TM - Terminal ANSI/vt102 compaoble terminal widget Pluggable connectors for transport protocols Connectors for serial, SSH, and telnet provided SSH connector uses JSch PTP provides a connector for PTP remote services EclipseCon 2014 16

TM - Terminal EclipseCon 2014 17

Parallel Tools PlaXorm (PTP) Remote services framework Designed for accessing remote systems programmaocally ConnecOon oriented APIs ConnecOons Processes File management Remote resources Also provides EFS implementaoon Can be used with JSch, RSE, and other remote access mechanisms EclipseCon 2014 18

PTP Remote Services Architecture PTP Linux Tools CDT Remote Services API Adapter Adapter Adapter Adapter RSE Remote Tools Local JSch EclipseCon 2014 19

Connected Data Objects (CDO) CDO is a pure Java model repository for EMF models and meta models EclipseCon 2014 20

CDO Net4j Net4j Signalling PlaXorm Extensible client/server communicaoons framework Transport protocols are pluggable (TCP, HTTP, and in- memory transport) Fast, asynchronous, non- blocking buffer muloplexing kernel No discrete marshalling/un- marshalling phases MulOple virtual channels can be muloplexed through a single physical transport connecoon. Each channel can be associated with its own signal protocol and then be used to muloplex arbitrary numbers of signals into both direcoons. The client and server roles only apply while establishing a physical transport connecoon EclipseCon 2014 21

Net4j EclipseCon 2014 22

Summary Project Component Descrip%on PlaXorm ECF TM PTP JSch EFS Proxy RSE TCF DataStore Terminal Remote Services Low level ssh implementaoon API for extending the Eclipse filesystem Support for proxy communicaoon Framework for building distributed applicaoons/tools. ECF APIs are protocol independent. Mainly targeted at OSGi remote services and applicaoons such as IM and collaboraove tools UI to provide transparent access to remote resources Extensible communicaoon protocol, mainly for embedded systems Extensible protocol for client/server communicaoon ANSI/vt102 terminal emulator API for connecoon- oriented remote services. Client side only. CDO Net4j Extensible low level muloplexed client/server communicaoon framework EclipseCon 2014 23

Implements a protocol Feature JSch EFS RSE TCF PTP ECF DS Net4j Y N N Y N N Y Y Asynchronous APIs N N N Y N Y Y Y Many- to- many communicaoon CharacterisOcs N N N N N Y N N Generic API N N N N N Y Y Y Requires agent N N N Y N N Y Y Extensible Y N Y Y N Y Y Y Example Services Feature JSch EFS RSE TCF PTP ECF DS Net4j File transfer services Y Y Y Y Y Y N N Discovery services N N N Y N Y N N Remote browsing services Y Y Y Y Y N N N EclipseCon 2014 24

Conclusions Each framework was designed with a specific purpose in mind There is some overlap between the frameworks Important defining factors Generic APIs vs. specific APIs Frameworks that require an agent running on the remote system Extensibility It would be possible to combine frameworks e.g. by adding generic APIs to TCF it would be possible to replace Net4j Who would benefit from this? Who would do the work? ConOnue to develop and promote the exisong frameworks to encourage projects to adopt these rather than develop their own Create a one- stop- shop for remote services? EclipseCon 2014 25

Evaluate This Session 1 Sign- in: www.eclipsecon.org 2 Select session from schedule 3 Evaluate: EclipseCon 2014 26