Apache Tuscany 2.x Domain/Node

Slides:



Advertisements
Similar presentations
Francisco Gonzalez Mario Rincon.  Apache CXF is an open source services framework.  CXF helps you build and develop services using frontend programming.
Advertisements

Component Oriented Programming 1 Chapter 2 Theory of Components.
OSGi: Open Services Gateway Initiative Richard Chapman 5 Sept
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
The SMS project WP 4.2: Service Repository & Runtime Environment ICCS.
1 RNDS Deployment, Collaborations and Sequences CS : Software Design Winter /T6.
WebDynpro for ABAP Short introduction.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Tomcat Celsina Bignoli History of Tomcat Tomcat is the result of the integration of two groups of developers. – JServ, an open source.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Oracle SOA Suite 11g.
The Design Discipline.
INTRODUCING SCA Byungwook Cho Nov.2007.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
Microsoft and Community Tour 2011 – Infrastrutture in evoluzione Community Tour 2011 Infrastrutture in evoluzione.
SCA Assembly Model Anish Karmarkar – Oracle Michael Rowley – BEA.
Tuscany 2.x Extensibility and SPIs Raymond Feng. Tuscany Extensibility Cx2x/Tuscany+2.x+Extensibility+and+SPIs#extensions.
Comparing JavaBeans and OSGi Towards an Integration of Two Complementary Component Models HUMBERTO CERVANTES JEAN-MARIE FAVRE 09/02.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
Slide 1 Extending Tuscany Raymond Feng Apache Tuscany committer.
Tu sca ny 1 The Tuscany Java SCA Runtime 20 August 2006.
SCA Bindings Simon Holdsworth Piotr Przybylski. Agenda n SCA Bindings Overview l Bindings TC Charter n Bindings l Web Services Binding l JMS Binding l.
Tuscany Runtime Architecture. Contents Overview An example Bootstrap kernel Process of composite application.
1 Service Creation, Advertisement and Discovery Including caCORE SDK and ISO21090 William Stephens Operations Manager caGrid Knowledge Center February.
Slide 1 Extending Tuscany Raymond Feng Apache Tuscany committer.
UML / UML 2.0 Diagrams (Part I) 1. Overview of the 13 diagrams of UML Structure diagrams 1.Class diagram 2.Composite structure diagram (*) 3.Component.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Slide 1 Extending Tuscany Raymond Feng Apache Tuscany committer.
SCA Assembly Model Anish Karmarkar – Oracle Michael Rowley – BEA.
System/SDWG Update Management Council Face-to-Face Flagstaff, AZ August 22-23, 2011 Sean Hardman.
August 20, 2002 Applying RT-Policies in CORBA Component Model Nanbor Wang Department of Computer Science Washington University in St. Louis
Managing deployment and activation of Web Applications in a distributed e-Infrastructure EGI Technical Forum September 2011 Lyon
PART1 Data collection methodology and NM paradigms 1.
Apache Tuscany 2.x Domain/Node Raymond Feng
ClickOnce Deployment (One-click Deployment)
Deployment Diagram.
Deployment Diagram.
Chapter 5 Remote Procedure Call
Object-Oriented Analysis and Design
Tomcat Celsina Bignoli
Writing simple Java Web Services using Eclipse
Overall Architecture and Component Model
Securing the Network Perimeter with ISA 2004
Remote Method Invocation
Deploying and Maintaining Server Images
Component and Deployment Diagrams
Tuscany Java SCA Architecture
University of Central Florida COP 3330 Object Oriented Programming
EADD – Introduction Chapter -1.
ONAP – Centralised Parser Distribution Atul Purohit - Vodafone
Introduction to J2EE Architecture
Advanced Integration and Deployment Techniques
Oracle Solaris Zones Study Purpose Only
Knowledge Byte In this section, you will learn about:
J2EE Application Development
SwE 455 Tutorial.
Evolve What is a Component?
More Model Elements.
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Objectives In this lesson you will learn about: Need for servlets
Managing Services with VMM and App Controller
Understanding Web Services based on dev. java
An Introduction to Software Architecture
Introduction to Web Services
Legacy App as a Tuscany Service
Java Remote Method Invocation
ClickOnce Deployment (One-click Deployment)
Franca+ Bernhard Hennlich and Manfred Bathelt
Plug-In Architecture Pattern
Presentation transcript:

Apache Tuscany 2.x Domain/Node Raymond Feng: rfeng@apache.org Simon Laws: slaws@apache.org

Introduction

SCA Domain An SCA domain manages a set of composite applications that can be connected using SCA wires and constrained by the same policy definitions. An SCA domain consists of the following: A virtual domain-level composite whose components are deployed and running A set of installed contributions that contain composites, implementations, interfaces and other artifacts

Tuscany Node A Tuscany Node groups one or more top-level components from the SCA domain composite into a unit of deployment that can be started and stopped together in a runtime environment. The Node configuration captures: A collection of contributions (URLs) that are required to run the components on the node One or more deployable composites that describe the components (This is just a simple way to group the top-level components. With tools, we can potentially select the top-level components from the domain composite and generate a deployment composite to describe the group.)

Nodes within an SCA domain Nodes share metadata within the SCA domain

A Domain/Node Scenario

A sample scenario Two deployable composites (Payment and CreditCard) are added to the domain (uri=urn:MyDomain) The domain composite now has two top-level components (Payement and CreditCard components)

Deployment Option #1 One node for Payment and CreditCard components

Deployment Option #2 Two nodes from the same Tuscany runtime instance (node1: Payment, node2: CreditCard)

Deployment Option #3 Two nodes from two Tuscany runtime instances on the same JVM (node1: Payment, node2: CreditCard)

Deployment Option #4 Two nodes from two Tuscany runtime instances on two JVMs (node1: Payment, node2: CreditCard)

Tuscany Design

Primary Players for Domain/Node

Interaction Sequence #1 The JVM is started Tuscany runtime classes are loaded by the JVM into the one or more class spaces. Within a class space, there is at most one class for a given class name One class space per JVM (such as Tomcat deep integration or standalone Tuscany launcher) Multiple class spaces (such as Web applications that package the Tuscany jars)

Interaction Sequence #2 Tuscany runtime is bootstrapped and NodeFactory can be instantiated to encapsulate the ExtensionPointRegistry which manages all the extension points and extensions in Tuscany. In most cases, NodeFactory.getInstance() returns the shared NodeFactory You can also call NodeFactory.newInstance() to creates a new instance with different options

Interaction Sequence #3 TBD: The NodeFactory can be configured with a mapping between domainURIs and registryURIs so that NodeFactory knows the registryURI for a given domain. The initial mapping can be populated by the hosting environment (for example, from an property file) A map can be added to NodeFactory to allow it to be configured programmatically. The NodeFactory can eagerly lookup the DomainRegistryFactory and create/start EndpointRegistry without creating a Node. OSGi remote services needs to start to receive remote endpoints before any node is created. SCAClientFactory implementation may need to connect to a domain when it is created

Interaction Sequence #4 An EndpointRegistry is created (or reused) by a DomainRegistryFactory. The domainURI and domainRegistryURI are both passed in so that the DomainRegistryFactory can multiplex multiple SCA domains over the same physical transport. For example, both Tribes and Hazelcast allows us to get a map by name from the same multicast group. The map name can be used to represent an SCA domain. Zookeeper can have different roots to represent different SCA domains in the same ZooKeeper server.

Interaction Sequence #5 Nodes can be created from NodeFactory. If a Node doesn't configure with a domainRegistryURI, the EndpointRegistry will be looked up by the domain URI. NodeFactory maintains a list of Nodes (potentially by domain)

Connecting to a Domain Registry

Domain Registry Scheme (#1) P2P style (multicast, wka)

Domain Registry Scheme (#2) Centralized