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

Similar documents
Service Discovery and Remote Services with the Eclipse Communication Framework

ECF 3.0 Release Review

ECF 3.3/Helios. ECF 3.3 Release 2010 by Composent, Inc. and others, made available under the EPL v1.0

The Virtual OSGi Framework

Liberate your components with OSGi services

universaal Architecture and The Resource Discovery

Cisco Wide Area Bonjour Solution Overview

An Introduction to ECF

Swordfish The Eclipse SOA Runtime Framework. Copyright SOPERA GmbH, Content is made available under the EPL v1.0.

Equinox Project Update

Modular Java Applications with Spring, dm Server and OSGi

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

Buckminster. Ganymede Review. May, Cloudsmith Inc - Made available under the Eclipse Public License.

The Myx Architectural Style

The p2 Provisioning Platform. Eclipse European Summit - Ludwigsburg. Oct 27-29, 2009 Henrik Lindberg, Cloudsmith Inc

ECF ECF Release 2014 by Composent, Inc. and others, made available under the EPL v1.0

Services Everywhere: OSGi in Distributed Environments

Buckminster. Helios Review. May, Cloudsmith Inc - Made available under the Eclipse Public License.

(9A05803) WEB SERVICES (ELECTIVE - III)

Component-based Runtime Environment for Cloud Applications

Agent-Enabling Transformation of E-Commerce Portals with Web Services

Two Phase Commit Protocol. Distributed Systems. Remote Procedure Calls (RPC) Network & Distributed Operating Systems. Network OS.

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

Services Oriented Architecture and the Enterprise Services Bus

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

Equinox Project 3.6 Release Review

Jini Technology Overview

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Replication and Migration of OSGi Bundles in the Virtual OSGi Framework

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

OSGi on the Server. Martin Lippert (it-agile GmbH)

AUTO DISCOVERY REMOTE CONTROL ADRC GLOSSARY

Flex Data Services for Component Developers

Context-Awareness and Adaptation in Distributed Event-Based Systems

Cisco Unified Presence 8.0

Service Vs. System. Why do we need Services and a Services Viewpoint in DM2 and DoDAF? Fatma Dandashi, PhD March 4, 2011

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

Data Management in Application Servers. Dean Jacobs BEA Systems

Resource Discovery in IoT: Current Trends, Gap Analysis and Future Standardization Aspects

DS 2009: middleware. David Evans

OSGi. Building and Managing Pluggable Applications

ActiveVOS Technologies

Chapter 1: Distributed Information Systems

Spring Dynamic Modules

Fast Track to EJB 3.0 and the JPA Using JBoss

ETSI IoT/M2M Workshop 2016 featuring the Smart World. November 15 th -17 th, 2016

Advanced Topics in Operating Systems

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

JESA Service Discovery Protocol

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1

A Separation of Concerns Clean Architecture on Android

JXTA TM Technology for XML Messaging

Oracle Application Server 10g Integration Interconnect. An Oracle Technical White Paper January 2005

Distributed Systems Principles and Paradigms. Chapter 12: Distributed Web-Based Systems

Mahdi Ben Alaya Thierry Monteil Samir Medjiah Khalil Drira {ben.alaya, monteil, medjiah,

Software Service Engineering

NMOS IS-04. Discovery and Registration. Chris Gil & Cristian Recoseanu. SMPTE Event hosted by Atos 25 October 2018

IM and Presence Service Network Setup

Equinox OSGi: Pervasive Componentization

Advanced Lectures on knowledge Engineering

Introduction to Distributed Systems

Lesson 19 Software engineering aspects

B2SAFE metadata management

INRIA ADT galaxy An open agile SOA platform

CAS 703 Software Design

RFID in Internet of things: from the static to the real-time

Extensibility, Componentization, and Infrastructure

Distributed Systems Principles and Paradigms. Chapter 01: Introduction. Contents. Distributed System: Definition.

Oracle Service Bus Integration Implementation Guide Oracle FLEXCUBE Universal Banking Release [April] [2014]

F6COM: A Case Study in Extending Container Services through Connectors

Christopher Frost Virgo Committer Martin Lippert Lead, Spring Development Tools SpringSource, a division of VMware 3rd November 2011

Distributed Systems Principles and Paradigms. Chapter 01: Introduction

Interstage Application and Service Management V10.0. Overview

Vlad Vinogradsky

model (ontology) and every DRS and CMS server has a well-known address (IP and port).

Technical Brief. Network Port & Routing Requirements Active Circle 4.5 May Page 1 sur 15

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Middleware example EPC Global Infrastructure Vertical approach EPC middleware EPC middleware DNS ONS Exchange Identification Capture ONS SOAP/HP SOAP

IBM Rational Software

Eclipse Communications Framework

Create your own Carbon Component. Sameera Jayasoma Technical Lead and Product Manager of WSO2 Carbon

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

Internet Protocol Version 6: advanced features. The innovative aspects of IPv6

JBoss DNA. Randall Hauch Principal Software Engineer JBoss Data Services

CA464 Distributed Programming

Architectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.

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

Angelo Corsaro, Ph.D. Chief Technology Officer! OMG DDS Sig Co-Chair PrismTech

WiZNet Integration of different Web service Registries

NetServ: Dynamically Deploying In-network Services

Eclipse as a Web 2.0 Application Position Paper

The Definitive Guide to. NetBeans Platform 7. Heiko Bock. Apress*

Distributed Technologies - overview & GIPSY Communication Procedure

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

eclipse rich ajax platform (rap)

BEAAquaLogic. Service Bus. JPD Transport User Guide

Distributed Systems Principles and Paradigms

SHORT NOTES / INTEGRATION AND MESSAGING

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

Distributed Middleware. Distributed Objects

Transcription:

June 10-11, 2008 Berlin, Germany Distributed OSGi Services with the Eclipse Communication Framework Jan S. Rellermeyer, ETH Zürich Markus Kuppe, Versant Inc.

ECF: Eclipse Communication Framework Communication platform of Eclipse Currently a Technology project Will soon move to the Eclipse runtime project Goals Support team and community collaboration In combination with the Eclipse IDE Shared editing, file transfer, messaging As an interprocess communication platform for OSGi apps E.g., service discovery, remote services 2

ECF adopters and applications Versant Corp. for Vitness Cloudsmith Inc. for Buckminster. Eclipse Platform includes Equinox p2 uses ECF for all network data transfer will probably use ECF discovery in future versions IRC users use the KOS-MOS IRC bot (based on the ECF bot framework) you? 3

ECF Architecture Application Eclipse, RCP, Equinox Server 3 Container Adapters Shared Editing Call Jingle 1 container 2 Datashare Remote Services Discovery Datashare File Transfer ECF Core (. e.g ) XMPP Presence Shared Object OSGi/Equinox API Provider IAdaptable 4

OSGi Services OSGi services provide Encapsulation at a larger granularity Loose coupling of functionality Extensibility Abstraction Remote services Interface Implementation Take this existing boundary to turn an application into a distributed application Provide an abstraction to design distributed apps 5

OSGi services in the network Locate a service Implementation for a given interface Service discovery Common knowledge Making use of a service Providing service access via ECF API importing the service into the local service registry Providing a local service proxy 6

ECF service discovery Overview Query for known/available services Synchronous Asynchronous: add/remove a service listener and get notified about service discovery/ undiscovery Query by filter/example (TODO) Manual and automatic service announcement 7

ECF discovery Requirements Protocol and space agnostic Does not expose protocol internals Not limited to, e.g., the LAN Namespace/ID allows flexibility in service addressing No strict borders to search Transparency automatic mode Announcement is just a service property in the OSGi context (Extender model if 3rd party bundle) Listener is just a org.osgi.framework.servicelistener Intransparency manual mode Consumer gets hold of discovery services and uses it 8

SLP Provider SLP protocol Multicast discovery Server (DA) Seamless transition DA discovery Close(r) to OSGi Services Service properties LDAP filters 9

mdns Provider DNS-SD on top of Multicast DNS Multicast DNS: p2p name resolution DNS-SD: service discovery Idea: Hosts are authoritative for their resources One shot and continuous queries Well-known from Zeroconf or Apple Bonjour 10

Remote Services OSGi services which cross address spaces Same ideas: Ask for a service (-reference) Can trigger service discovery Get the service Get a proxy for the service Proxy generation can be proactive or reactive Use the service Method invocations become remote invocations Interface Proxy 11

Transparent API Service and client remain untouched Some entity (not the client) states the demand Proxy is already present when the client asks for the service The service remains agnostic against distribution, as far as possible Interface Proxy Seamless and flexible transition from local to remote services 12

Non-Transparent API Client is aware of distribution Retrieve an IRemoteService object Explicit app-level failure handling Explicitly call remote invocations Call semantics can differ from local service calls One-shot invocation (non-blocking) Asynchronous invocation E.g., with listener callback Futures Service 13

Generic Provider DSO model Proactive, client/server model In case of XMPP transport, the server is hidden Connected clients see all service proxies By default, no type injection the assumption is that dependant types referenced by the service interfaces are known to all peers Can be customized to go further Proxy Proxy Proxy Can be used with XMPP, JMS, JavaGroups 14

R-OSGi Provider R-OSGi was one of the first projects to enable remote OSGi services Is itself just a service Picks up services tagged for remote access Only the interface is transmitted Client builds a dynamic proxy Can be added to any OSGi runtime (R3 + R4) Protocol and transport-independent Interface 15

R-OSGi Proxy Bundles Synchronized lifecycle with the original bundle Also involves the service properties Changes are propagated to all proxies Self-contained units Type Injection Provides exactly the view on the bundle that a client has when looking at the service Interface 16

What about RFC 119? Work in progress Will address service discovery and remote services More focus on integrating different concepts of distribution Defines metadata for federating heterogeneous service concepts through OSGi Scope includes even languages other than Java ECF as a reference implementation for 119? 17

Eclipse ECF Project http://www.eclipse.org/ecf http://wiki.eclipse.org/ecf ECF 2.0 will ship with Eclipse Ganymede The work on ECF 2.1 has just started Questions? 18