Upload
guillaume-sauthier
View
968
Download
2
Embed Size (px)
Citation preview
OSGiTM Resolver in actionPeergreen Deployment System
[email protected] @sauthieg
© 2013 Peergreen, Confidential & Proprietary
285 seconds left
What do we do in Peergreen?
I’ll talk about …
© 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
© 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
© 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, …)
© 2013 Peergreen, Confidential & Proprietary
225 seconds left
PeergreenDeployment System Goals
Efficient (multi-threading)
Resource Neutral
Plug-able architecture
Artifact Model
© 2013 Peergreen, Confidential & Proprietary
210 seconds left
ArtifactsName + URI
(File, Directory, Maven, …)
Resolver Resource(provides capabilities)
© 2013 Peergreen, Confidential & Proprietary
195 seconds left
FacetsSpecialized View
Artifact Decoration
(Webapp, Bundle, Configadmin, …)
Dictates Lifecycle(phase sequence)
Express Capability(when installed)
© 2013 Peergreen, Confidential & Proprietary
180 seconds left
PhasesExecution Controller
Logical Steps
(read-xml, install, start, stop, …)
Resolver Client(find compatible processors)
Pipeline / Parallel(execution)
© 2013 Peergreen, Confidential & Proprietary
165 seconds left
ProcessorsUnit of Work
Chained Together
(Transformer, Facet producer, …)
Resolver Resource(requirements, capabilities)
© 2013 Peergreen, Confidential & Proprietary
150 seconds left
High level view
Discovery Phase• Download• Scan• Find
dependencies
Execution Phase• Facet’s lifecycle• Concurrency
© 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
© 2013 Peergreen, Confidential & Proprietary
120 seconds left
Processor ResolutionPer Phase
Resolving bound processor’s requirementsagainst artifact’s capabilities
Satisfied processors are executed
© 2013 Peergreen, Confidential & Proprietary
123
105 seconds left
InterpretationMissing Capabilities
(unsatisfied processors)
B
A
DC
E ?
Requires Sorting& Filtering
(linearize graph)
E C B
© 2013 Peergreen, Confidential & Proprietary
90 seconds left
Extensibility
OSGi ServicesFacet addition
Facet Lifecycle(phases definition)
New Processors
© 2013 Peergreen, Confidential & Proprietary
75 seconds leftEx
ampl
eRequirements
Capability
Facet
© 2013 Peergreen, Confidential & Proprietary
60 seconds left
ModelQuery-able
Useful for Reporting
Introspection capabilities(facets, processors, execution times)
Store relations(transformations, creations, dependencies)
© 2013 Peergreen, Confidential & Proprietary
45 seconds left
plan
plan
web ejbjar
mvn
bundle
Artifact Tree
Report
Meta-information(root, report, …)
© 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)
© 2013 Peergreen, Confidential & Proprietary
15 seconds left
ThanksFollow Us(@peergreeninfo)
Get your copy(M1 is there, M2 soon)
www.peergreen.com