1 / 28

Tuscany Runtime Architecture

Tuscany Runtime Architecture. Contents. Overview An example Bootstrap kernel Process of composite application. Overview. Extensions : 1.Component implementation: BPEL, java etc. 2.Binding: SOAP/HTTP web services, JSON-RPC , and RMI. 3.Interface Type: Java interfaces and WSDL

yanka
Download Presentation

Tuscany Runtime Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TuscanyRuntime Architecture

  2. Contents • Overview • An example • Bootstrap kernel • Process of composite application

  3. Overview • Extensions: • 1.Component implementation: • BPEL, java etc. • 2.Binding: SOAP/HTTP web services, JSON-RPC , and RMI. • 3.Interface Type: Java interfaces and WSDL • 4.Databinding: SDO, JAXB , and AXIOM

  4. Extension Point Registry(EPR) • Extension: achieving extensibility • Extension Point is the bridge between Tuscany kernel and extensions

  5. Extension Point Registry(EPR) • e.g., ContributionScanner FolderContributionScanner JarContributionScanner ZipContributionScanner

  6. Extension Point Registry(EPR) • Objects implemented ContributionScannerinterface scan specific package and then build an artifact list • e.g., JarContributionScannerfor resolving Jar contributions • Each ContributionScannerobject registers itself with Tuscany runtime via ContributionScannerExtensionPoint

  7. Extension Point Registry(EPR) • Extension Point Registry(EPR) holds a list of all the extension points • EPR is used to look up extension point //create EPR ExtensionPointRegistryregistry = new Default ExtensionPointRegistry (); //look up ContributionScannerExtensionPointfactories = registry.getExtensionPoint(ContributionScannerExtensionPoint.class);

  8. An example • An online fruit store

  9. Bootstrap kernel • Bootstrap sequence

  10. Create Extension Point Registry • Instantiate ExtensionPointRegistry //Instantiate EPR ExtensionPointRegistryregistry = new Default ExtensionPointRegistry();

  11. Create Extension Point Registry • Create necessary Extension Point • UtilityExtensionPoint • ModelFactoryExtensionPoint • ProxyFactoryExtensionPoint //look up UtilityExtensionPoint UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class);

  12. Discover Module Activators • Load ModuleActivator related configuration files in “/META-INF/services/”

  13. Discover Module Activators • Previous classes implemented ModuleActivator

  14. Start Module Activators • Call ModuleActivator.start() to start services • e.g., CorbaRuntimeModuleActivator • Register CorbaHostExtensionPoint • Start Corbaserver

  15. Create Contribution Service • Instantiate ContributionServiceImpl

  16. Create Scope Registry • Scope • Stateless: create a new component instance on each call • Conversation: create a component instance for each conversation • Composite: create a single component instance for all calls

  17. Create Composite Builder • CompositeBuilder • Create implementation classes that implemented CompositeBuilder

  18. Create Composite Builder • CompositeBuilderImpl

  19. Create Composite Activator • Create CompositeActivatorImpl

  20. Load System SCA Definitions • Load system definitions • ReliabilityPolicy • TransactionPolicy • SecurityPolicy • LoggingPolicy • WSBindingDefinitions • SCABindingDefinitions • JMSBindingDefinitions

  21. Load Contributions • Find andload contributions • e.g., Jar, Zip

  22. Resolve composite • Resolve elements in .composite file • <include> • <component> • <service>

  23. Build Composite • Execute CompositeBuilder.build()

  24. Build Composite • E.g., binding type is WSDL, ComponentServiceBindingBuilderImpl.build() will generate WSDL file

  25. Activate Composite • For each component defined in composite, adding related implementation provider, service binding provider, reference binding provider

  26. Activate Composite • In Online fruit store, • Store component’s implementation type is widget,a WidgetImplementationProvider is needed • shoppingcart component’s implementation type is Java,a JavaImplementationProvider is needed • store component’s binding type is HTTP, a HTTPBindingProvider is needed

  27. Start Composite • Start binding, implementation and associated policies, etc.

  28. Start Composite • In Online fruit store, • Store component: • WidgetImplementationProvider • HTTP binding • shoppingcartcomponent • JavaImplementationProvider • Catalogcomponent • Jsonrpcbinding

More Related