Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
OSGiTM Resolver inactionPeergreen Deployment SystemGuillaume.sauthier@peergreen.com @sauthieg
© 2013 Peergreen, Confidential & Proprietary285 seconds leftWhat do we do in Peergreen?I’ll talk about …
© 2013 Peergreen, Confidential & Proprietary270 seconds leftWe need(for deployment at least …)Efficiency(multi-core archit...
© 2013 Peergreen, Confidential & Proprietary255 seconds leftSpecification:OSGi Resolver 1.0• Part of OSGi Enterprise R5• B...
© 2013 Peergreen, Confidential & Proprietary240 seconds leftResolver production• Wire(s) (satisfied requirements)• Or Exce...
© 2013 Peergreen, Confidential & Proprietary225 seconds leftPeergreenDeployment System GoalsEfficient (multi-threading)Res...
© 2013 Peergreen, Confidential & Proprietary210 seconds leftArtifactsName + URI(File, Directory, Maven, …)Resolver Resourc...
© 2013 Peergreen, Confidential & Proprietary195 seconds leftFacetsSpecialized ViewArtifact Decoration(Webapp, Bundle, Conf...
© 2013 Peergreen, Confidential & Proprietary180 seconds leftPhasesExecution ControllerLogical Steps(read-xml, install, sta...
© 2013 Peergreen, Confidential & Proprietary165 seconds leftProcessorsUnit of WorkChained Together(Transformer, Facet prod...
© 2013 Peergreen, Confidential & Proprietary150 seconds leftHigh level viewDiscovery Phase• Download• Scan• Finddependenci...
© 2013 Peergreen, Confidential & Proprietary135 seconds left@bundleExecution phaseConcurrent Execution(per facet lifecycle...
© 2013 Peergreen, Confidential & Proprietary120 seconds leftProcessor ResolutionPer PhaseResolving bound processor’s requi...
© 2013 Peergreen, Confidential & Proprietary1 23105 seconds leftInterpretationMissing Capabilities(unsatisfied processors)...
© 2013 Peergreen, Confidential & Proprietary90 seconds leftExtensibilityOSGi ServicesFacet additionFacet Lifecycle(phases ...
© 2013 Peergreen, Confidential & Proprietary75 seconds leftExample
© 2013 Peergreen, Confidential & Proprietary60 seconds leftModelQuery-ableUseful for ReportingIntrospection capabilities(f...
© 2013 Peergreen, Confidential & Proprietary45 seconds leftplanplanweb ejbjarmvnbundleArtifact TreeReportMeta-information(...
© 2013 Peergreen, Confidential & Proprietary30 seconds leftBenefitsExtensibility(new requirements and capabilities)Dynamis...
© 2013 Peergreen, Confidential & Proprietary15 seconds leftThanksFollow Us(@peergreeninfo)Get your copy(M1 is there, M2 so...
Upcoming SlideShare
Loading in …5
×

EclipseCon FR : Ignite talks, OSGi Resolver in action

983 views

Published on

This talk focus on the Peergreen Deployment System and how we leverage the recent OSGi Resolver specification to build an efficient and extensible OSGi deployment framework.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

EclipseCon FR : Ignite talks, OSGi Resolver in action

  1. 1. OSGiTM Resolver inactionPeergreen Deployment SystemGuillaume.sauthier@peergreen.com @sauthieg
  2. 2. © 2013 Peergreen, Confidential & Proprietary285 seconds leftWhat do we do in Peergreen?I’ll talk about …
  3. 3. © 2013 Peergreen, Confidential & Proprietary270 seconds leftWe need(for deployment at least …)Efficiency(multi-core architectures)Heterogeneity(different kind of artifacts) Ease of use
  4. 4. © 2013 Peergreen, Confidential & Proprietary255 seconds leftSpecification:OSGi Resolver 1.0• Part of OSGi Enterprise R5• Build relationships• Implemented in Apache FelixRequirement“I want …”Capability“I offer …”ResolverNamespace + LDAP filter Namespace + attributes
  5. 5. © 2013 Peergreen, Confidential & Proprietary240 seconds leftResolver production• Wire(s) (satisfied requirements)• Or Exception (unsatisfied requirements)Requirement CapabilityWireNeed Interpretation(use resources, make decisions, …)
  6. 6. © 2013 Peergreen, Confidential & Proprietary225 seconds leftPeergreenDeployment System GoalsEfficient (multi-threading)Resource NeutralPlug-able architectureArtifact Model
  7. 7. © 2013 Peergreen, Confidential & Proprietary210 seconds leftArtifactsName + URI(File, Directory, Maven, …)Resolver Resource(provides capabilities)
  8. 8. © 2013 Peergreen, Confidential & Proprietary195 seconds leftFacetsSpecialized ViewArtifact Decoration(Webapp, Bundle, Configadmin, …)Dictates Lifecycle(phase sequence)Express Capability(when installed)
  9. 9. © 2013 Peergreen, Confidential & Proprietary180 seconds leftPhasesExecution ControllerLogical Steps(read-xml, install, start, stop, …)Resolver Client(find compatible processors)Pipeline / Parallel(execution)
  10. 10. © 2013 Peergreen, Confidential & Proprietary165 seconds leftProcessorsUnit of WorkChained Together(Transformer, Facet producer, …)Resolver Resource(requirements, capabilities)
  11. 11. © 2013 Peergreen, Confidential & Proprietary150 seconds leftHigh level viewDiscovery Phase• Download• Scan• FinddependenciesExecution Phase• Facet’slifecycle• Concurrency
  12. 12. © 2013 Peergreen, Confidential & Proprietary135 seconds left@bundleExecution phaseConcurrent Execution(per facet lifecycle)Multiple Artifacts(sharing same lifecycle)Facet Decoration(on the fly)startinstall@webappstartconfigureread-xml
  13. 13. © 2013 Peergreen, Confidential & Proprietary120 seconds leftProcessor ResolutionPer PhaseResolving bound processor’s requirementsagainst artifact’s capabilitiesSatisfied processors are executed
  14. 14. © 2013 Peergreen, Confidential & Proprietary1 23105 seconds leftInterpretationMissing Capabilities(unsatisfied processors)BADCE ?Requires Sorting& Filtering(linearize graph)E C B
  15. 15. © 2013 Peergreen, Confidential & Proprietary90 seconds leftExtensibilityOSGi ServicesFacet additionFacet Lifecycle(phases definition)New Processors
  16. 16. © 2013 Peergreen, Confidential & Proprietary75 seconds leftExample
  17. 17. © 2013 Peergreen, Confidential & Proprietary60 seconds leftModelQuery-ableUseful for ReportingIntrospection capabilities(facets, processors, execution times)Store relations(transformations, creations, dependencies)
  18. 18. © 2013 Peergreen, Confidential & Proprietary45 seconds leftplanplanweb ejbjarmvnbundleArtifact TreeReportMeta-information(root, report, …)
  19. 19. © 2013 Peergreen, Confidential & Proprietary30 seconds leftBenefitsExtensibility(new requirements and capabilities)Dynamism(processors, facet and phases)Ease of Use(extension development, deployment reporting)Efficiency(maximize concurrency)
  20. 20. © 2013 Peergreen, Confidential & Proprietary15 seconds leftThanksFollow Us(@peergreeninfo)Get your copy(M1 is there, M2 soon)www.peergreen.com

×