eclipsecon fr : ignite talks, osgi resolver in action
TRANSCRIPT
![Page 2: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/2.jpg)
© 2013 Peergreen, Confidential & Proprietary
285 seconds left
What do we do in Peergreen?
I’ll talk about …
![Page 3: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/3.jpg)
© 2013 Peergreen, Confidential & Proprietary
270 seconds left
We need(for deployment at least …)
Efficiency(multi-core architectures)
Heterogeneity(different kind of artifacts) Ease of use
![Page 4: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/4.jpg)
© 2013 Peergreen, Confidential & Proprietary
255 seconds left
Specification:OSGi Resolver 1.0
• Part of OSGi Enterprise R5• Build relationships• Implemented in Apache Felix
Requirement“I want …”
Capability“I offer …”Resolver
Namespace + LDAP filter Namespace + attributes
![Page 5: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/5.jpg)
© 2013 Peergreen, Confidential & Proprietary
240 seconds left
Resolver production• Wire(s) (satisfied requirements)• Or Exception (unsatisfied requirements)
Requirement CapabilityWire
Need Interpretation(use resources, make decisions, …)
![Page 6: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/6.jpg)
© 2013 Peergreen, Confidential & Proprietary
225 seconds left
PeergreenDeployment System Goals
Efficient (multi-threading)
Resource Neutral
Plug-able architecture
Artifact Model
![Page 7: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/7.jpg)
© 2013 Peergreen, Confidential & Proprietary
210 seconds left
ArtifactsName + URI
(File, Directory, Maven, …)
Resolver Resource(provides capabilities)
![Page 8: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/8.jpg)
© 2013 Peergreen, Confidential & Proprietary
195 seconds left
FacetsSpecialized View
Artifact Decoration
(Webapp, Bundle, Configadmin, …)
Dictates Lifecycle(phase sequence)
Express Capability(when installed)
![Page 9: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/9.jpg)
© 2013 Peergreen, Confidential & Proprietary
180 seconds left
PhasesExecution Controller
Logical Steps
(read-xml, install, start, stop, …)
Resolver Client(find compatible processors)
Pipeline / Parallel(execution)
![Page 10: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/10.jpg)
© 2013 Peergreen, Confidential & Proprietary
165 seconds left
ProcessorsUnit of Work
Chained Together
(Transformer, Facet producer, …)
Resolver Resource(requirements, capabilities)
![Page 11: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/11.jpg)
© 2013 Peergreen, Confidential & Proprietary
150 seconds left
High level view
Discovery Phase• Download• Scan• Find
dependencies
Execution Phase• Facet’s lifecycle• Concurrency
![Page 12: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/12.jpg)
© 2013 Peergreen, Confidential & Proprietary
135 seconds left
@bundle
Execution phaseConcurrent Execution
(per facet lifecycle)
Multiple Artifacts(sharing same lifecycle)
Facet Decoration(on the fly)start
install
@webapp
start
configure
read-xml
![Page 13: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/13.jpg)
© 2013 Peergreen, Confidential & Proprietary
120 seconds left
Processor ResolutionPer Phase
Resolving bound processor’s requirementsagainst artifact’s capabilities
Satisfied processors are executed
![Page 14: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/14.jpg)
© 2013 Peergreen, Confidential & Proprietary
123
105 seconds left
InterpretationMissing Capabilities
(unsatisfied processors)
B
A
DC
E ?
Requires Sorting& Filtering
(linearize graph)
E C B
![Page 15: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/15.jpg)
© 2013 Peergreen, Confidential & Proprietary
90 seconds left
Extensibility
OSGi ServicesFacet addition
Facet Lifecycle(phases definition)
New Processors
![Page 16: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/16.jpg)
© 2013 Peergreen, Confidential & Proprietary
75 seconds leftEx
ampl
eRequirements
Capability
Facet
![Page 17: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/17.jpg)
© 2013 Peergreen, Confidential & Proprietary
60 seconds left
ModelQuery-able
Useful for Reporting
Introspection capabilities(facets, processors, execution times)
Store relations(transformations, creations, dependencies)
![Page 18: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/18.jpg)
© 2013 Peergreen, Confidential & Proprietary
45 seconds left
plan
plan
web ejbjar
mvn
bundle
Artifact Tree
Report
Meta-information(root, report, …)
![Page 19: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/19.jpg)
© 2013 Peergreen, Confidential & Proprietary
30 seconds left
BenefitsExtensibility
(new requirements and capabilities)
Dynamism(processors, facet and phases)
Ease of Use(extension development, deployment reporting)
Efficiency(maximize concurrency)
![Page 20: EclipseCon FR : Ignite talks, OSGi Resolver in action](https://reader036.vdocuments.mx/reader036/viewer/2022081520/58e73b6a1a28ab49038b51ef/html5/thumbnails/20.jpg)
© 2013 Peergreen, Confidential & Proprietary
15 seconds left
ThanksFollow Us(@peergreeninfo)
Get your copy(M1 is there, M2 soon)
www.peergreen.com