Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tuscany Runtime Architecture. Contents Overview An example Bootstrap kernel Process of composite application.

Similar presentations


Presentation on theme: "Tuscany Runtime Architecture. Contents Overview An example Bootstrap kernel Process of composite application."— Presentation transcript:

1 Tuscany Runtime 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 ContributionScanner interface scan specific package and then build an artifact list – e.g., JarContributionScanner for resolving Jar contributions Each ContributionScanner object 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 ExtensionPointRegistry registry = new Default ExtensionPointRegistry (); //look up ContributionScannerExtensionPoint factories = 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 ExtensionPointRegistry registry = 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 Corba server

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 CompositeBuilder Impl

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 and load contributions – e.g., Jar, Zip

22 Resolve composite Resolve elements in.composite file –

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 – shoppingcart component JavaImplementationProvider – Catalog component Jsonrpc binding


Download ppt "Tuscany Runtime Architecture. Contents Overview An example Bootstrap kernel Process of composite application."

Similar presentations


Ads by Google