SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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)
 

Dernier

Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 

Dernier (20)

Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 

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