Title: Service Component Architecture: Technology Overview
1Service Component Architecture Technology
Overview
2The SCA announcement for SOA
- A series of royalty free specifications for
assembling and developing business solutions
using SOA principles - Service Data Objects (SDO) v2.01 Specifications
(Java and C) - SCA Assembly Model (v0.96) Specification
- SCA Client Implementation Model (v0.95)
Specifications (Java, C, BPEL) - Sample Programs, White Papers
- Meeting customer needs
- Composition and Implementation of Services
- Multiple Language and Container Technologies
- Flexible Quality of Service
- Broad Industry Support with a community feedback
program - Apache open source runtime (Tuscany) to support
the SOA programming model in Java and C.
3Some Industry Reactions
- SCAs assembly model should simplify the
integration between runtime software and
development software by providing streamlined,
easier-to-use tools for deploying and managing
complex service-oriented applications. - New SOA Specification Will Fill Niche Among Java
Users - Daniel Sholler, David Smith, Gartner, December
2005 - SCA has the potential to provide significant
value in the Java world and beyond. If the
vendors behind this new technology can complete
the tasks theyve set for themselves, we can look
forward to a day when the two major foundations
for creating service-oriented applications are
SCA and WCF. - Foundations for Service-Oriented Applications
Comparing WCF and SCA - David Chappell, December 2005
- http//www.davidchappell.com/HTML_email/Opinari_No
15_12_05.htmlarti - Service Component Architecture has the potential
to significantly aid mainstream organizations in
the development, deployment and management of
services using a service-oriented architecture. - Service Component Architecture Is a Winner in the
Quest to Establish a Common Notation for SOA - Jess Thompson, Gartner, March 2006
4SCA Technology in a Nutshell
- SCA models the A in SOA - for systems composed
of reusable services - A programming model for service-based system
- construction
- assembly
- deployment
- Heterogeneity
- Metadata driven
- Multiple languages
- Multiple container technologies
5Elements of the SOA Programming Model
Integration
Governance
- SCA Binding Policy Model
- Expose components as Services regardless of
underlying technology
Business Process Modeling Management
Simplified Composition and Implementation for
Services and Data
Interoperability across Heterogeneous Environments
Assembly
- SCA Assembly Model
- Assemble heterogeneous components into service
networks
6SCA and the WS- Specifications
- SCA provides a unified declarative model for
describing service implementations - Enables easier composition of service networks
- Service implementations can be customized during
assembly - SCA provides a business-level model for
implementing services - Programming language specific
- No technical APIs like JDBC, JCA, JMS,
- SCA bindings connect transports
- Web Services using WSDL and SOAP
- Java RMI and IIOP
- Others possible (e.g. REST)
- WS- Specifications define formats and protocols
for wire-level transport - Focus is interoperability
- Independent of programming model
- WS- requires interfaces to be specified in WSDL
7SCA and SOA infrastructure
Composition, Visualization and Management
Architectural Design
Development
Operations
SCA
ESB
QoS Container
8Service Assembly Model
- Assembly provides
- A unified, language-independent way to expose
implementations as services - Java and C available now
- BPEL and interpretive languages (e.g. XSLT,
XQuery) - other languages via extensibility (including
.NET) - Technology independent modelling and composition
of service networks - Service dependencies
- Resolution through wiring
- Facilities for dynamic service configuration
- Properties
- Protocols
- Qualities of service
9Service Composition with SCA
SCA components may be implemented using a variety
of technologies including POJOs, BPEL, Spring
Beans, EJBs, etc.
System
Composite A
Composite C
Refe- rence
Service A
SDO
Service
Component A
Component B
Refe- rence
SDO
Composite B
Component C
Component D
Service
Refe- rence
Service B
Services are assembled and wired together. SCA
allows wiring to be done using a diverse bindings
such as WS- and JMS
- Flexible, powerful service construction
- Flexible, powerful assembly
- Flexible, powerful binding
10SCA Client and Implementation Model
- SCA provides a simplified, consistent model for
authoring and invoking services - Removes protocol middleware concerns from
business logic - Java and C specifications available now
- Uses business level interfaces to access services
- Supports late binding to variety of transports
- Reuse of service implementations with different
property values - Uses dependency injection, so SCA APIs don't need
to be used - First-class integration with existing Java models
- Java EE technologies
- EJB2/EJB3
- JAX/WS
- Popular Open Source alternatives
- Spring
11Service Implementation with SCA
Assembly Binding Policy Profiles Implementation
Policy Profiles
Business Logic
?
Infrastructure
Infrastructure
?
J2EE 1.2 J2EE 1.3 J2EE 1.4 J2EE 5
JAX-RPC JAX-WS JSR109 JSR181 JSR277 JSR-
SOAP WSDL WS-Addressing WS-Security WS-Transaction
WS-Reliable Messaging WS-
Focus on the business logic not the enablement
12Service Data Objects (SDO) with SCA
- SDO Service Data Objects
- Technology for accessing and updating data
- Optimize for loose coupling
- Check-out/Check-In model using optimistic locking
- SDO preferred, but not required by SCA
- Other data forms supported
- JAX-B (for Java)
- SCA works well with SDO
- a unifying API for data regardless of source
- SDO Data Access Service
- a kind of SCA component
13Service Data Objects
Relational
Any data source (XML, JMS, JCA, etc.)
Update (Data Graph)
Web services
Service Data Objects makes it easy to manage data
exchange across services with heterogeneous data
formats.
14Current Status
- SOA Collaboration Partners
- BEA Systems
- Cape Clear
- IBM Corporation
- Interface21
- IONA
- Oracle
- Primeton Technologies
- Red Hat
- Rogue Wave Software
- SAP AG
- Sonic Software
- Software AG
- Sun Microsystems
- Sybase
- TIBCO
- Xcalia
- Zend Technologies
- Specification Activity
- Revisions Underway
- Customer Feedback Sessions planned
- Publication of V1.0 Level Documents
- Submission to Standards Organization
- Tuscany Open Source Project
- Accepted into incubation
- Community being developed
- Feedback to the Specification team