170 likes | 258 Views
Version consistency implementation. Contents. Apache Tuscany VcContainer Domain manager VcContainer communication. Apache Tuscany. Tuscany is an open source implementation of SCA (Service Component Architecture) Provide a model for creating composite component
E N D
Contents • Apache Tuscany • VcContainer • Domain manager • VcContainer communication
Apache Tuscany • Tuscany is an open source implementation of SCA (Service Component Architecture) • Provide a model for creating composite component • service: represents an addressable interface of the implementation • reference: servics that the impl required which is provided by another component • property: allow for the configuration of an implementation
Apache Tuscany • Example
Apache Tuscany • Runtime Proc component • Tuscany components communicate via endpoint • service endpoint: the service a components expose • reference endpoint • Interceptor handles messages passing through it • transaction, security, …
Apache Tuscany • A composite component is running on Tuscany runtime
VC Container • We define a VC-container to manage version consistency
VC Container • When root transaction T0 is initiated on Portal, sub-transactions, i.e., T1, T2, T3, T4, on other components need to know their root transaction
VC Container • Define a trace interceptor for business component • Trace reference interceptor • add root transaction id to the message that is passing through it • Trace service interceptor • resolve the message passing through it, get the root transaction id • map current sub-transaction and root transaction
VC Container • Data model • future/past arcs entering/leaving a component • transactions executing on current component
VC Container • VC algorithm logic knows • when to create/update/remove a future/past arc • when to notify a parent/sub component • components need to be notified
VC Container • Communication component • how to notify parent/sub components
VC Container • Component lifecycle management • Activate/deactivate a component for update
VC Container • All these components or modules are wrapped in a VcContainer as a single node
Domain Manager • In order to allocate unique transaction IDs and global configuration management, we define a domain manager • TransactionIDService • allocate and destroy transaction ID • FreenessService • judge whether components are freeness
VcContainer Communications • Proc component invokes Verify service