OSGi Remote the Way                 Transforming Services              the World Runs Applications                  A Flex...
Who am I?  •              Transforming the Way          Holger Hoffstätte (aka @asynchronaut)          Living & working in...
Whats this about?  •                Transforming the Way          OSGi & Remote Services:          Motivation & History   ...
OSGi = SOA!  •                    Transforming the Way          Physical and logical isolation of Bundles  •       Bundle ...
Systems Hygiene:                            simply a good idea                         Transforming the Way          „The ...
..but what about Distributed                   Systems?               Transforming the Way            the World Runs Appli...
..hmm..why not..                            Transforming the Way          „Just use RMI or EJB!          Its built-in and ...
/**           * Implementation of ICustomRemote Interface.           */          public class CustomRemoteImpl extends Uni...
..hmm..why not..                       Transforming the Way          „We should just use JMS or          our EnterpriseyWo...
..hmm..why not..                         Transforming the Way          „I know! We can simply write          our own RPC l...
Sad Reality  •               Transforming the Way          Any kind of distribution often still hardwired into „stuff“    ...
Silver Lining?  •              Transforming the Way          Previous attempts:          Tuscany SCA, R-OSGi, Newton..    ...
Key Realizations                  Transforming theALL aspects:  • Distributed systems need adaptability for Way           ...
Standardize interaction,                       not features!                  Transforming the Way  • Allow multiple imple...
Consequences                    Transforming OSGi service model:  • Almost-transparent extension of the     the Way       ...
OSGi EEG to                                       the Rescue!                   Transforming the Way  • Definition of Remo...
Remote Services             Transforming the Way          the World Runs ApplicationsParemus                              ...
Remote Services                   Transforming the Way between   • Standardized Service Properties define the interaction ...
Remote Services                      Transforming the Way    Easier cross-platform    integration for OSGi!               ...
Remote Service Admin             Transforming the Way          the World Runs ApplicationsParemus                         ...
Remote Service Admin                   Transforming the Wayimplementors,   • RSA itself merely an abstract control interfa...
Discovery                  Transforming the Way • Discovery providers are simply „EndpointListeners“             the World...
Sounds awesome!             Transforming the Way          the World Runs ApplicationsParemus                              ...
..but not so fast!                   Transforming the Way   • Service interactions defined by Java interface              ...
Problems with RPC                   Transforming Detection (active & passive)   • Lack of reliability necessitates Fault t...
OSGi helps!                    Transforming with „unexpected“ faults:   • Cant fix the network, but does help the Way     ...
Actual Benefits (1)                   Transforming the that keeps crashing   • Isolate that special third-party native cod...
Actual Benefits (2)                   Transforming the updates of isolated   • Ops teams usually more open to dynamic   Wa...
Implementations                    Transforming the Way               the World Runs on Eclipse Communication FrameworkRSA...
Upcoming SlideShare
Loading in...5
×

OSGi Remote Services

2,166

Published on

Overview of the OSGi RemoteServiceAdmin specification

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,166
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
50
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

OSGi Remote Services

  1. 1. OSGi Remote the Way Transforming Services the World Runs Applications A Flexible Foundation for Composite Applications Holger Hoffstätte holger.hoffstatte@paremus.comParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  2. 2. Who am I? • Transforming the Way Holger Hoffstätte (aka @asynchronaut) Living & working in Germany, near Cologne the World Runs Applications • 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.Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  3. 3. Whats this about? • Transforming the Way OSGi & Remote Services: Motivation & History the World Runs Specifications • Overview of Remote Services/RSA Applications • Applicability & Use Cases → little to no code!Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  4. 4. OSGi = SOA! • Transforming the Way Physical and logical isolation of Bundles • Bundle Wiring with dynamic behaviour the World Runs Applications • Service registration, discovery & matching • Lifecycle control • In R4.2: scoped visibility of services & eventsParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  5. 5. Systems Hygiene: simply a good idea Transforming the Way „The ability of OSGi to the World Runs Applications handle complex systems as a set of interdependent modules is kind of like toilet paper: Sooner or later, youre going to want to use it.“ – Hal HildebrandParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  6. 6. ..but what about Distributed Systems? Transforming the Way the World Runs ApplicationsParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  7. 7. ..hmm..why not.. Transforming the Way „Just use RMI or EJB! Its built-in and Standard!“ Runs Applications the World – your local Architecture Astronaut ...ooomphh →Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  8. 8. /** * Implementation of ICustomRemote Interface. */ public class CustomRemoteImpl extends UnicastRemoteObject implements ICustomRemote { /** * Necessary because Super-Class constructor throws RemoteException. Transforming the Way * @throws java.rmi.RemoteException Will be thrown if there are some network * errors. */ public CustomRemoteImpl() throws RemoteException { } the World Runs Applications /** * 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."; } }Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  9. 9. ..hmm..why not.. Transforming the Way „We should just use JMS or our EnterpriseyWorld Runs Applications the Service Bus for everything!“ – probably someone on your team ..alrighty then.. →Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  10. 10. ..hmm..why not.. Transforming the Way „I know! We can simply write our own RPC library over Runs Applications the World sockets! Its so easy! I did that back in Uni!“ – your „Rock Star“ intern ..oh noes! →Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  11. 11. Sad Reality • Transforming the Way Any kind of distribution often still hardwired into „stuff“ (and nobody really understands how it works..or wants to) • System evolutionWorld Runs Applications the the often burdened with architectural decisions at 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 mudParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  12. 12. Silver Lining? • Transforming the Way Previous attempts: Tuscany SCA, R-OSGi, Newton.. the or less similar • All have more World Runs Applications ideas: composite applications, distributed wiring.. • All more or less incompatible with each other and/or „standard“ OSGiParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  13. 13. Key Realizations Transforming theALL aspects: • Distributed systems need adaptability for Way the World Runs Applications development, testing, deployment, runtime, maintenance • No Silver Bullet/Golden Hammer possible: too many contradicting requirements like availability, cost, licensing, interop, latency, knowledge, security..Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  14. 14. Standardize interaction, not features! Transforming the Way • Allow multiple implementations using different technologies side-by-side World Runs Applications the • Prevent „Golden Hammer Syndrome“: dont force choice of one technology for every kind of interaction, even when inappropriateParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  15. 15. Consequences Transforming OSGi service model: • Almost-transparent extension of the the Way the World Runs Applications 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!Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  16. 16. OSGi EEG to the Rescue! Transforming the Way • Definition of Remote Services in OSGi R4.2 the World Runs Applications • Two minimalistic specs that accommodate each other: • Remote Services: the „mechanics“ of transports • Remote Service Admin: standardized discovery & import/export visibility controlParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  17. 17. Remote Services Transforming the Way the World Runs ApplicationsParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  18. 18. Remote Services Transforming the Way between • Standardized Service Properties define the interaction the World Runs Applications participants • Abstract „Intents“ specify context-dependent „required vs. provided“ capabilities; matched by standard OSGi filters • Flexible configuration: properties, code, vendor-specific..Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  19. 19. Remote Services Transforming the Way Easier cross-platform integration for OSGi! the World Runs Applications ProtocolBuffers, Thrift, JSON-RPC, Avro.. phpParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  20. 20. Remote Service Admin Transforming the Way the World Runs ApplicationsParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  21. 21. Remote Service Admin Transforming the Wayimplementors, • RSA itself merely an abstract control interface for the World Runs Applications 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!Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  22. 22. Discovery Transforming the Way • Discovery providers are simply „EndpointListeners“ the World Runs Applications 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..Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  23. 23. Sounds awesome! Transforming the Way the World Runs ApplicationsParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  24. 24. ..but not so fast! Transforming the Way • Service interactions defined by Java interface the World Runs Applications – well-understood :-) – not very flexible :-( • Fundamental limits to what can be expressed with a synchronous RPC model • Fallacies of Distributed Computing etc.Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  25. 25. Problems with RPC Transforming Detection (active & passive) • Lack of reliability necessitates Fault the Way the World Runs Applications • 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 chainedParemus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  26. 26. OSGi helps! Transforming with „unexpected“ faults: • Cant fix the network, but does help the Way the World Runs Applications 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!Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  27. 27. Actual Benefits (1) Transforming the that keeps crashing • Isolate that special third-party native code Way the World Runs Applications 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..Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  28. 28. Actual Benefits (2) Transforming the updates of isolated • Ops teams usually more open to dynamic Way services the World Runs Applications 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 :)Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  29. 29. Implementations Transforming the Way the World Runs on Eclipse Communication FrameworkRSA Reference Implementation usingApache CXF and Zookeeper Built Applications Based on RI but rewritten for correctness, extensibility, Built with Tuscany/SCA RSA compliance. Basis for commercial product.Paremus www.paremus.com Nov 2010 Copyright © 2010 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×