SlideShare a Scribd company logo
1 of 37
Download to read offline
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
OSGi For Enterprises
Holger Hoffstätte
holger.hoffstatte@paremus.com
Robert Dunne
robert.dunne@paremus.com
The new Nimble Distribution with RSA
Available in December









http://nimble.paremus.com/distribution
Video Podcast available - http://skillsmatter.com/podcast/java-jee/osgi-for-enterprises/rl-311
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Agenda
• Demo Technology Overview
• Local Demo Walkthrough
• OSGi Remote Services (Holger)
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Technologies
• OSGi
• Scala + Lift
• HTML + CSS + Javascript (JQuery)
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Build Tools
• Bnd
• Eclipse PDE
• Apache Sigil
• Tycho
• Bndtools
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Nimble
• OSGi Distribution
• Posh: Bash like shell for OSGi based on Apache Gogo
• Nimble Resolver: APT like installation system for OSGi
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Declarative Services
• Dynamic Dependency Injection & Service Publication
• Reduce Accidental Temporal Dependencies
• Increase Resilience
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Configuration Admin
• Modular, Dynamic Configuration & Reconfiguration
• PIDs: Named Property lists
• Integrates with Declarative Services
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
OSGi Remote Services
A Flexible Foundation for
Composite Applications
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Who am I?
• Holger Hoffstätte (aka @asynchronaut)
Living & working in Germany, near Cologne
• Consulting Engineer for Paremus Ltd.
Working on next-generation Service Fabric product line
• >20 years experience with concurrent/distributed systems, incl.Agile/
Process coaching,AOP, B2B, Enterprise Integration etc.
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
What's this about?
• OSGi & Remote Services:
Motivation & History
• Overview of Remote Services/RSA Specifications
• Applicability & Use Cases
→ little to no code!
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
OSGi = SOA!
• Physical and logical isolation of Bundles
• Bundle Wiring with dynamic behaviour
• Service registration, discovery & matching
• Lifecycle control
• In R4.2: scoped visibility of services & events
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Systems Hygiene:
simply a good idea
“The ability of OSGi to handle
complex systems as a set of
interdependent modules is kind of
like toilet paper: Sooner or later,
you're going to want to use it.”

– Hal Hildebrand
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
..but what about Distributed
Systems?
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
..hmm..why not..
“Just use RMI or EJB!
It's built-in and Standard!”

– your local Architecture Astronaut
...ooomphh →
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
/**
* Implementation of ICustomRemote Interface.
*/
public class CustomRemoteImpl extends UnicastRemoteObject implements ICustomRemote {
/**
* Necessary because Super-Class constructor throws RemoteException.
* @throws java.rmi.RemoteException Will be thrown if there are some network
* errors.
*/
public CustomRemoteImpl() throws RemoteException {
}
/**
* Returns a string which say 'Hello World with RMI.'
* @return the string which holds the value.
* @throws java.rmi.RemoteException Will be thrown if there are some network
* problems.
*/
public String sayHello() throws RemoteException {
return "Hello World with RMI.";
}
} :-(
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
..hmm..why not..
“We should just use JMS or our
Enterprisey 'Service Bus' for
everything!”

– probably someone on your team
..alrighty then.. →
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
..hmm..why not..
“I know!We can simply write our
own RPC library over sockets! It's
so easy! I did that back in Uni!”

– your “Rock Star” intern
..oh noes! →
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Sad Reality
• Any kind of distribution often still hardwired into “stuff”
(and nobody really understands how it works..or wants to)
• System evolution often burdened with architectural decisions at the wrong
time of the development cycle:
• Distribution features added either “too early” or “too late”
• Negatively impacts time-to-feature & subsystem/integration testing
• Iterations increasingly resemble wading through mud

 that keeps getting deeper
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Silver Lining?
• Previous attempts:
Tuscany SCA, R-OSGi, Newton..
• All have more or less similar
ideas: composite applications,
distributed wiring..
• All more or less incompatible with
each other and/or “standard” OSGi
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Key Realizations
• Distributed systems need adaptability for ALL aspects:
development, testing, deployment, runtime, maintenance
• No Silver Bullet/Golden Hammer possible:
too many contradicting requirements like
availability, cost, licensing, interop, latency, knowledge, security..
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Standardize interaction,
not features!
• Allow multiple implementations using different technologies
side-by-side
• Prevent “Golden Hammer Syndrome”:
don't force choice of one technology for every kind of interaction, even
when inappropriate
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Consequences
• Almost-transparent extension of the OSGi service model:
no explicit infrastructure API in “user code”!
• No mandated use of SOAP/RMI/HTTP/JMS/etc.:
choice of technology can be driven by requirements
• anything that moves bytes from A to B should be usable
as transport!
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
OSGi EEG to
the Rescue!
• Definition of Remote Services in OSGi R4.2
• Two minimalistic specs that accommodate each other:
• Remote Services: the “mechanics” of transports
• Remote Service Admin: standardized discovery &
import/export visibility control
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Remote Services
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Remote Services
• Standardized Service Properties define the interaction between
participants
• Abstract “Intents” specify context-dependent “required vs. provided”
capabilities; matched by standard OSGi filters
• Flexible configuration: properties, code, vendor-specific..
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Remote Services
Easier cross-platform
integration for OSGi!
ProtocolBuffers,Thrift,
JSON-RPC,Avro..
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Remote Service Admin
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Remote Service Admin
• RSA itself merely an abstract control interface for implementors,
usually the vendor of a distribution provider
• Discovery providers discover/announce services on the network
• “Topology Manager” controls import/export visibility;
specifics left to implementation → innovation!
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Discovery
• Discovery providers are simply “EndpointListeners”
that map a specific service announcement to & from a
standardized “EndpointDescription”
• Can use any mechanism that can store & update
service state/visibility
• Obvious candidates: SLP, DNS-SD, Data Distribution Service,
Apache Zookeeper, RDBMS, Data Grids, P2P Systems, DHTs..
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Sounds awesome!
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
..but not so fast!
• Service interactions defined by Java interface
– well-understood :-)
– not very flexible :-(
• Fundamental limits to what can be
expressed with a synchronous RPC model
• Fallacies of Distributed Computing etc.
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Problems with RPC
• Lack of reliability necessitates Fault Detection (active & passive)
• Call-by-reference vs. Call-by-value:
impact on interaction semantics that cannot be ignored
• Latency spikes will introduce strong variance in perceived behaviour
• Variance adds up if remote services are chained
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
OSGi helps!
• Can't fix the network, but does help with „unexpected“ faults:
org.osgi.framework.ServiceException extends RuntimeException
• Service are expected to be dynamic – no change! :-)
• What changes is the scope of a disappearing service -
...but does that really matter? Gone is gone!
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Actual Benefits (1)
• Isolate that special third-party native code that keeps crashing
your entire JVM
• Operational isolation through service visibility policies
→ smaller/faster test cycles → faster time-to-feature
→ no accidental crosstalk between development teams
→ runtime: security, confidentiality..
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Actual Benefits (2)
• Ops teams usually more open to dynamic updates of isolated services in
separate processes – much easier now
• Service Migration on host downtime
→ switching services much faster than host recovery/reboot
• Service selection based on cost/performance/latency..
→ finally a good reason to do proper end-to-end system design :)
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Implementations
RSA Reference Implementation using Apache
CXF and Zookeeper
Built on Eclipse Communication Framework
Based on RI but rewritten for correctness, extensibility, RSA
compliance. Basis for commercial product.
Built with Tuscany/SCA?
www.paremus.com
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Nov 2010
Thank You
Holger Hoffstätte
holger.hoffstatte@paremus.com
Robert Dunne
robert.dunne@paremus.com
The new Nimble Distribution with RSA
Available in December









http://nimble.paremus.com/distribution

More Related Content

Similar to OSGi for Enterprises

Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baum
Modularity, Microservices and Containerisation - Neil Bartlett, Derek BaumModularity, Microservices and Containerisation - Neil Bartlett, Derek Baum
Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baummfrancis
 
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T WardCloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Wardmfrancis
 
Asynchronous Services – A promising future for OSGi - T Ward
Asynchronous Services – A promising future for OSGi - T WardAsynchronous Services – A promising future for OSGi - T Ward
Asynchronous Services – A promising future for OSGi - T Wardmfrancis
 
Automating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and botoAutomating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and botomjbommar
 
Transaction Control – a Functional Approach to Modular Transaction Management...
Transaction Control – a Functional Approach to Modular Transaction Management...Transaction Control – a Functional Approach to Modular Transaction Management...
Transaction Control – a Functional Approach to Modular Transaction Management...mfrancis
 
Mule Integration Simplified
Mule Integration SimplifiedMule Integration Simplified
Mule Integration SimplifiedBui Kiet
 
Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Christian Heilmann
 
Overboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasiaOverboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasiaChristian Heilmann
 
Asynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T WardAsynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T Wardmfrancis
 
e-Citiz Softeam R&D Partnership
e-Citiz Softeam R&D Partnershipe-Citiz Softeam R&D Partnership
e-Citiz Softeam R&D PartnershipOlivier NICOLAS
 
Techtonic Summit NYC
Techtonic Summit NYCTechtonic Summit NYC
Techtonic Summit NYCBob Wise
 
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...mfrancis
 
Why is the Opensource Center by Atos developping a business model around Next...
Why is the Opensource Center by Atos developping a business model around Next...Why is the Opensource Center by Atos developping a business model around Next...
Why is the Opensource Center by Atos developping a business model around Next...Jérôme aka "Genma" Kun
 
What's happening in the OSGi IoT Expert Group? - Tim Ward
What's happening in the OSGi IoT Expert Group? - Tim WardWhat's happening in the OSGi IoT Expert Group? - Tim Ward
What's happening in the OSGi IoT Expert Group? - Tim Wardmfrancis
 
OSGi Cloud Workshop - March 2010
OSGi Cloud Workshop - March 2010OSGi Cloud Workshop - March 2010
OSGi Cloud Workshop - March 2010mfrancis
 
StackStorm DevOps Automation Webinar
StackStorm DevOps Automation WebinarStackStorm DevOps Automation Webinar
StackStorm DevOps Automation WebinarStackStorm
 

Similar to OSGi for Enterprises (20)

OSGi Remote Services
OSGi Remote ServicesOSGi Remote Services
OSGi Remote Services
 
Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baum
Modularity, Microservices and Containerisation - Neil Bartlett, Derek BaumModularity, Microservices and Containerisation - Neil Bartlett, Derek Baum
Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baum
 
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T WardCloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
 
Asynchronous Services – A promising future for OSGi - T Ward
Asynchronous Services – A promising future for OSGi - T WardAsynchronous Services – A promising future for OSGi - T Ward
Asynchronous Services – A promising future for OSGi - T Ward
 
Automating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and botoAutomating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and boto
 
Transaction Control – a Functional Approach to Modular Transaction Management...
Transaction Control – a Functional Approach to Modular Transaction Management...Transaction Control – a Functional Approach to Modular Transaction Management...
Transaction Control – a Functional Approach to Modular Transaction Management...
 
Mule Integration Simplified
Mule Integration SimplifiedMule Integration Simplified
Mule Integration Simplified
 
Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015
 
Overboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasiaOverboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasia
 
Asynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T WardAsynchronous OSGi – Promises for the Masses - T Ward
Asynchronous OSGi – Promises for the Masses - T Ward
 
e-Citiz Softeam R&D Partnership
e-Citiz Softeam R&D Partnershipe-Citiz Softeam R&D Partnership
e-Citiz Softeam R&D Partnership
 
Techtonic Summit NYC
Techtonic Summit NYCTechtonic Summit NYC
Techtonic Summit NYC
 
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
 
Why is the Opensource Center by Atos developping a business model around Next...
Why is the Opensource Center by Atos developping a business model around Next...Why is the Opensource Center by Atos developping a business model around Next...
Why is the Opensource Center by Atos developping a business model around Next...
 
What's happening in the OSGi IoT Expert Group? - Tim Ward
What's happening in the OSGi IoT Expert Group? - Tim WardWhat's happening in the OSGi IoT Expert Group? - Tim Ward
What's happening in the OSGi IoT Expert Group? - Tim Ward
 
Why not ORM
Why not ORMWhy not ORM
Why not ORM
 
Oracle SOA Tips & Tricks
Oracle SOA Tips & TricksOracle SOA Tips & Tricks
Oracle SOA Tips & Tricks
 
OSGi Cloud Workshop - March 2010
OSGi Cloud Workshop - March 2010OSGi Cloud Workshop - March 2010
OSGi Cloud Workshop - March 2010
 
StackStorm DevOps Automation Webinar
StackStorm DevOps Automation WebinarStackStorm DevOps Automation Webinar
StackStorm DevOps Automation Webinar
 
Open Source at Salesforce.com
Open Source at Salesforce.comOpen Source at Salesforce.com
Open Source at Salesforce.com
 

More from mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

More from mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Recently uploaded

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

OSGi for Enterprises

  • 1. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 OSGi For Enterprises Holger Hoffstätte holger.hoffstatte@paremus.com Robert Dunne robert.dunne@paremus.com The new Nimble Distribution with RSA Available in December 








http://nimble.paremus.com/distribution Video Podcast available - http://skillsmatter.com/podcast/java-jee/osgi-for-enterprises/rl-311
  • 2. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Agenda • Demo Technology Overview • Local Demo Walkthrough • OSGi Remote Services (Holger)
  • 3. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Technologies • OSGi • Scala + Lift • HTML + CSS + Javascript (JQuery)
  • 4. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Build Tools • Bnd • Eclipse PDE • Apache Sigil • Tycho • Bndtools
  • 5. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Nimble • OSGi Distribution • Posh: Bash like shell for OSGi based on Apache Gogo • Nimble Resolver: APT like installation system for OSGi
  • 6. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Declarative Services • Dynamic Dependency Injection & Service Publication • Reduce Accidental Temporal Dependencies • Increase Resilience
  • 7. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Configuration Admin • Modular, Dynamic Configuration & Reconfiguration • PIDs: Named Property lists • Integrates with Declarative Services
  • 8. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 OSGi Remote Services A Flexible Foundation for Composite Applications
  • 9. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Who am I? • Holger Hoffstätte (aka @asynchronaut) Living & working in Germany, near Cologne • Consulting Engineer for Paremus Ltd. Working on next-generation Service Fabric product line • >20 years experience with concurrent/distributed systems, incl.Agile/ Process coaching,AOP, B2B, Enterprise Integration etc.
  • 10. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 What's this about? • OSGi & Remote Services: Motivation & History • Overview of Remote Services/RSA Specifications • Applicability & Use Cases → little to no code!
  • 11. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 OSGi = SOA! • Physical and logical isolation of Bundles • Bundle Wiring with dynamic behaviour • Service registration, discovery & matching • Lifecycle control • In R4.2: scoped visibility of services & events
  • 12. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Systems Hygiene: simply a good idea “The ability of OSGi to handle complex systems as a set of interdependent modules is kind of like toilet paper: Sooner or later, you're going to want to use it.” – Hal Hildebrand
  • 13. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 ..but what about Distributed Systems?
  • 14. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 ..hmm..why not.. “Just use RMI or EJB! It's built-in and Standard!” – your local Architecture Astronaut ...ooomphh →
  • 15. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 /** * Implementation of ICustomRemote Interface. */ public class CustomRemoteImpl extends UnicastRemoteObject implements ICustomRemote { /** * Necessary because Super-Class constructor throws RemoteException. * @throws java.rmi.RemoteException Will be thrown if there are some network * errors. */ public CustomRemoteImpl() throws RemoteException { } /** * Returns a string which say 'Hello World with RMI.' * @return the string which holds the value. * @throws java.rmi.RemoteException Will be thrown if there are some network * problems. */ public String sayHello() throws RemoteException { return "Hello World with RMI."; } } :-(
  • 16. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 ..hmm..why not.. “We should just use JMS or our Enterprisey 'Service Bus' for everything!” – probably someone on your team ..alrighty then.. →
  • 17. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 ..hmm..why not.. “I know!We can simply write our own RPC library over sockets! It's so easy! I did that back in Uni!” – your “Rock Star” intern ..oh noes! →
  • 18. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Sad Reality • Any kind of distribution often still hardwired into “stuff” (and nobody really understands how it works..or wants to) • System evolution often burdened with architectural decisions at the wrong time of the development cycle: • Distribution features added either “too early” or “too late” • Negatively impacts time-to-feature & subsystem/integration testing • Iterations increasingly resemble wading through mud that keeps getting deeper
  • 19. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Silver Lining? • Previous attempts: Tuscany SCA, R-OSGi, Newton.. • All have more or less similar ideas: composite applications, distributed wiring.. • All more or less incompatible with each other and/or “standard” OSGi
  • 20. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Key Realizations • Distributed systems need adaptability for ALL aspects: development, testing, deployment, runtime, maintenance • No Silver Bullet/Golden Hammer possible: too many contradicting requirements like availability, cost, licensing, interop, latency, knowledge, security..
  • 21. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Standardize interaction, not features! • Allow multiple implementations using different technologies side-by-side • Prevent “Golden Hammer Syndrome”: don't force choice of one technology for every kind of interaction, even when inappropriate
  • 22. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Consequences • Almost-transparent extension of the OSGi service model: no explicit infrastructure API in “user code”! • No mandated use of SOAP/RMI/HTTP/JMS/etc.: choice of technology can be driven by requirements • anything that moves bytes from A to B should be usable as transport!
  • 23. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 OSGi EEG to the Rescue! • Definition of Remote Services in OSGi R4.2 • Two minimalistic specs that accommodate each other: • Remote Services: the “mechanics” of transports • Remote Service Admin: standardized discovery & import/export visibility control
  • 24. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Remote Services
  • 25. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Remote Services • Standardized Service Properties define the interaction between participants • Abstract “Intents” specify context-dependent “required vs. provided” capabilities; matched by standard OSGi filters • Flexible configuration: properties, code, vendor-specific..
  • 26. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Remote Services Easier cross-platform integration for OSGi! ProtocolBuffers,Thrift, JSON-RPC,Avro..
  • 27. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Remote Service Admin
  • 28. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Remote Service Admin • RSA itself merely an abstract control interface for implementors, usually the vendor of a distribution provider • Discovery providers discover/announce services on the network • “Topology Manager” controls import/export visibility; specifics left to implementation → innovation!
  • 29. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Discovery • Discovery providers are simply “EndpointListeners” that map a specific service announcement to & from a standardized “EndpointDescription” • Can use any mechanism that can store & update service state/visibility • Obvious candidates: SLP, DNS-SD, Data Distribution Service, Apache Zookeeper, RDBMS, Data Grids, P2P Systems, DHTs..
  • 30. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Sounds awesome!
  • 31. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 ..but not so fast! • Service interactions defined by Java interface – well-understood :-) – not very flexible :-( • Fundamental limits to what can be expressed with a synchronous RPC model • Fallacies of Distributed Computing etc.
  • 32. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Problems with RPC • Lack of reliability necessitates Fault Detection (active & passive) • Call-by-reference vs. Call-by-value: impact on interaction semantics that cannot be ignored • Latency spikes will introduce strong variance in perceived behaviour • Variance adds up if remote services are chained
  • 33. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 OSGi helps! • Can't fix the network, but does help with „unexpected“ faults: org.osgi.framework.ServiceException extends RuntimeException • Service are expected to be dynamic – no change! :-) • What changes is the scope of a disappearing service - ...but does that really matter? Gone is gone!
  • 34. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Actual Benefits (1) • Isolate that special third-party native code that keeps crashing your entire JVM • Operational isolation through service visibility policies → smaller/faster test cycles → faster time-to-feature → no accidental crosstalk between development teams → runtime: security, confidentiality..
  • 35. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Actual Benefits (2) • Ops teams usually more open to dynamic updates of isolated services in separate processes – much easier now • Service Migration on host downtime → switching services much faster than host recovery/reboot • Service selection based on cost/performance/latency.. → finally a good reason to do proper end-to-end system design :)
  • 36. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Implementations RSA Reference Implementation using Apache CXF and Zookeeper Built on Eclipse Communication Framework Based on RI but rewritten for correctness, extensibility, RSA compliance. Basis for commercial product. Built with Tuscany/SCA?
  • 37. www.paremus.com www.paremus.com Transforming the Way the World Runs Applications Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Nov 2010 Thank You Holger Hoffstätte holger.hoffstatte@paremus.com Robert Dunne robert.dunne@paremus.com The new Nimble Distribution with RSA Available in December 








http://nimble.paremus.com/distribution