Download presentation
Presentation is loading. Please wait.
1
INTRODUCING SCA Byungwook Cho (bcho@bea.com) Nov.2007
2
AGENDA SCA 1 SCA Fundamentals 2 Understanding Component 3 Understanding Composite 4 Using Policy 5 SCA Implementation 6 Example : Apache Tuscany 7
3
1.SCA Service Component Architecture –Define “ A way to create components and a mechanism for describing how those components work together ” –Owned by OASIS –Created by BEA,IBM,Oracle,SAP and others
4
2.SCA Fundamentals COMPONENTS AND COMPOSITES –SCA application is built from one or more components –Components Fundamental building block in SCA can be implemented as Java classes, others written in C++, others defined in BPEL etc. Components can be run in one or more processes in one or more machines –Composite Specifies how those components can be combined into larger structures Described in configuration file named SCDL (Service Component Definition Language- ” skiddle ” / *.compositefile) SCDL
5
2.SCA Fundamentals DOMAINS –Runtime SCA Container –Domain SCA runtimes provided by single vendor and managed by single group. It is similar concept with WLS or Tuxedo domain A domain can contain one or more composites, each of which has components implemented in one or more processes running on one or more machines. Inter-domain communication
6
3.UNDERSTANDING COMPONENTS SERVICES –Components implements some biz logic, exposed as one or more services. –Provides some number of operation that can be accessed by the component ’ s client –Can be provided in technology that ’ s used to implement comp. Java Component / Java Interface BPEL / WSDL
7
3.UNDERSTANDING COMPONENTS Defining Services Remote Service (Can be called local or remote client) Must specifty “binding” Local Service (Can call from in same process)
8
3.UNDERSTANDING COMPONENTS REFERENCE –A component might rely on other services provided by other components in its domain or outside its domain. –Define an interface containing operations that this component needs to invoke –Advantages Express component ’ s dependency. Allow Dependency Injection. (cf. DI in spring framework) PROPERTIES –Contains value that can be read by SCDL config file. –Example) Locale,Currency
9
3.UNDERSTANDING COMPONENTS BINDINGS –Define how communication happens between Service & reference –In same domain, component might or might not have explicitly specified binding. (runtime determines binding) –To communicate outside its domain, component must be specified one or more bindings for communication.
10
4.UNDERSTANDING COMPOSITE COMPOSITE –Component is “ atom ” of SCA, Composite is “ molecule ” of SCA –Composite group components into useful combinations. –It can be further combined. –Component in composite might be run in same proccess,in different process on a single machine,or in different processes on different machine. WIRES –Wire is abstract representation of the relationship between reference and service. PROMOTION –Service of composite –Just component expose services or references, a composite can also expose one or more services or references PROMOTION WIRE PROMOTION
11
4.UNDERSTANDING COMPOSITE CONFIGURING COMPOSITE –All of relationship in a composite are expressed in SCDL conf. –‘ autowrire ’ attribute Indicate that the SCA runtime should automatically attempt to connect services and references defined by the components. –‘ wire ’ element Define explicit wires between components Promote Component1 / Service A as a service of this composite Promote Component2/ Service T, Component3/U as references of this Composite autowiring
12
5.USING POLICY POLICY –To remove complication in interaction between parts of distributed application. Make things more manageable is to let developers user policies to specify their intent. To support this SCA provide SCA framework SCA Framework Category –Interaction policies How a component interacts with other components Security, Reliable messaging Applied to ‘ bindings ’ –Implementation policies How a component behaves locally. Transaction (* SCA 1.0 doesn ’ t define transactional policy) SCA Framework –Policy can be declared in SCDL. –For Java SCA components, policies can also be defined using annotation. –SCA doesn ’ t define how policies should be described within a domain. –Between domains, policies can be specified in vendor-neutral form using WS-Policy.
13
6.IMPLEMENTING SCA SCA IMPLEMENTATION –SCA runtime might provide a number of containers, one for each component technology it supports. –SCA runtime provides all bindings, allowing components created using any technology to use any available binding. JBI –Java Business Interface –Make public interface between runtime & container. –Allow 3 ’ rd party to create their own containers OSGI –SCI runtime can be implemented by OSGI –OSGI defines how to package code into bundles, and while it ’ s also java-only,some creators of SCA runtimes might allow extensions such as a new binding to be added as an OSGI bundles Tools –SOA Tools platform project Create SCA-based development tools for eclipse JBI
14
7.Example : Apache Tuscany Impl Apache store SCA application
15
7.Example : Apache Tuscany Impl Catalog.java CatalogImpl.java service component reference properties SCDL service & binding
16
7.Example : Apache Tuscany Impl Composite
17
REFERENCE Reference –July.2007, David Chappell, Introducing SCA. Reference Implementation –Apache tuscany : incubator.apache.org/tuscany/ –Fabric3 : incubator.apache.org/tuscany/ SCA tools –http://www.eclipse.org/stp/http://www.eclipse.org/stp/ OSGI –http://www2.osgi.org/Specifications/HomePagehttp://www2.osgi.org/Specifications/HomePage JBI –http://jcp.org/en/jsr/detail?id=208 For more –Various binding types Hessian,Burlap,ATOM,REST,RSS,Json rpc,dojo
18
Thank you !! Our team blog : http://dev2dev.tistory.comhttp://dev2dev.tistory.com
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.