Service Discovery and Remote Services with the Eclipse Communication Framework

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

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

ECF 3.0 Release Review

The Virtual OSGi Framework

Cisco Wide Area Bonjour Solution Overview

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

Modular Java Applications with Spring, dm Server and OSGi

Liberate your components with OSGi services

universaal Architecture and The Resource Discovery

Eclipse Communications Framework

An Introduction to ECF

Equinox Project Update

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

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

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

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

(9A05803) WEB SERVICES (ELECTIVE - III)

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

Services Everywhere: OSGi in Distributed Environments

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

Equinox OSGi: Pervasive Componentization

AUTO DISCOVERY REMOTE CONTROL ADRC GLOSSARY

Patterns and Best Practices for Dynamic OSGi Applications

The Myx Architectural Style

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

Advanced Lectures on knowledge Engineering

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

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

IBM Rational Software

Data Management in Application Servers. Dean Jacobs BEA Systems

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

OSGi. Building and Managing Pluggable Applications

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

Component-based Runtime Environment for Cloud Applications

Technology Overview. Gallery SIENNA London, England T

Services Oriented Architecture and the Enterprise Services Bus

JESA Service Discovery Protocol

Service Discovery Gateway Deployment Guide, Cisco IOS-XE Release 3.3

Xerox AltaLink Multifunction Printers Deliver Apple AirPrint to the Enterprise. White Paper

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

Replication and Migration of OSGi Bundles in the Virtual OSGi Framework

Monitoring Standards for the Producers of Web Services Alexander Quang Truong

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Network Requirements

Eclipse SOA Tooling Platform: Project Overview. An Overview of the Eclipse STP (SOA Tooling Platform) Project

TCG Physical Security Interoperability Alliance IP Video Use Case 002 (PSI-UC-IPV002) Specification Version 1.0 Revision 0.2

Distributed Systems Principles and Paradigms

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

DS 2009: middleware. David Evans

Extensibility, Componentization, and Infrastructure

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

Building LinkedIn's Next Generation Architecture with OSGI

INRIA ADT galaxy An open agile SOA platform

SCA Java Runtime Overview

MOM MESSAGE ORIENTED MIDDLEWARE OVERVIEW OF MESSAGE ORIENTED MIDDLEWARE TECHNOLOGIES AND CONCEPTS. MOM Message Oriented Middleware

From Closed to Open to Transparent Software Development. Development

Xerox ConnectKey Devices Deliver Apple AirPrint to the Enterprise White Paper

Distributed Systems 26. Mobile Ad Hoc Mesh Networks

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

JXTA TM Technology for XML Messaging

Advanced Topics in Operating Systems

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

Interstage Application and Service Management V10.0. Overview

BEAAquaLogic. Service Bus. JPD Transport User Guide

Eclipse as a Web 2.0 Application Position Paper

Software Service Engineering

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

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

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

Service Selection in the Access Network

Microservices Beyond the Hype. SATURN San Diego May 3, 2016 Paulo Merson

Target Management New and Noteworthy. Martin Oberhuber, Wind River

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

Jini Technology Overview

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

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

Cisco DNA Service for Bonjour

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

ActiveVOS Technologies

Patterns and Best Practices for dynamic OSGi Applications

Securing the Life Cycle of Things in the Internet of Things using Thing Registries

Enabling Apple AirPrint with Your Xerox AltaLink Multifunction Printer. White Paper

Think Small to Scale Big

OSGi. Building LinkedIn's Next Generation Architecture with OSGI

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4

Cisco Unified Presence 8.0

AIRPLAY AND AIRPRINT ON CAMPUS NETWORKS AN ARUBA AIRGROUP SOLUTION GUIDE

eclipse rich ajax platform (rap)

OSGi & Spring combined

Einführung in die Erweiterte Realität

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

Liferay Architecture

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

Security in the Privileged Remote Access Appliance

Microsoft SharePoint 2010 The business collaboration platform for the Enterprise and the Web. We have a new pie!

Design and Implementation of a Service Discovery Architecture in Pervasive Systems

Java Platform, Enterprise Edition 6 with Extensible GlassFish Application Server v3

ive JAVA EE C u r r i c u l u m

The Eclipse Rich Ajax Platform

Breaking Apart the Monolith with Modularity and Microservices CON3127

Transcription:

Service Discovery and Remote Services with the Eclipse Communication Framework Jan S. Rellermeyer, ETH Zürich Markus Kuppe, Versant GmbH Scott Lewis, Code 9 2008 by the ECF team; made available under the EPL v1.0 November 19 th 2008

ECF: Eclipse Communication Framework Communication platform of Eclipse Eclipse Runtime project Goals Support team and community collaboration In combination with the Eclipse IDE Shared editing, file transfer, messaging Talk on Thursday, 11:00 in Silchersaal As an interprocess communication platform for OSGi apps E.g., service discovery, remote services

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 OSGi/Equinox Presence Shared Object API Provider IAdaptable

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

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

Demo Zeroconf Discovery HTTP Client running RCP App with ECF Discovery (using SLP and mdns providers) and ECF Remote Services (using R-OSGi Provider) Proprietary Web Cam supports Zeroconf

ECF Discovery 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

Demo SLP, Zeroconf Discovery R-OSGi Remote Service Client running RCP App with ECF Discovery (using SLP and mdns providers) and ECF Remote Services (using R-OSGi Provider) iphone running Equinox and ECF, featuring an RemoteEnvInfo and an SMTP remote service

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 Requirement: Non-Invasive Interface Proxy

What about RFC 119? Focus of RFC 119 is more on integrating existing distribution software with OSGi Similar approach: Service Discovery + Remote Services (+ SCA Metadata) 119 is still work in progress in the Enterprise Expert Group ECF is planning to support RFC 119 in the future

Eclipse ECF Project http://www.eclipse.org/ecf http://wiki.eclipse.org/ecf WLAN org.eclipse.ecf Demo and slides at: http://kiwi:8080/ Remains up and running for a while ECF 3.0 will ship with Eclipse Galileo ECF 2.1 will get released really soon Questions?

Backup Slides

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

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

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 Interface Can be added to any OSGi runtime (R3 + R4) Protocol and transport-independent

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

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

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 Seamless and flexible transition from local to remote services Interface Proxy

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