30
OpenCSA Member Section – Service Component Architecture 1 OpenCSA Member Section – Service Component Architecture 1 SCA Overview SCA Overview www.oasis-open.org Sanjay Patil – SAP Mike Edwards - IBM

SCA Overview

  • Upload
    billy

  • View
    39

  • Download
    0

Embed Size (px)

DESCRIPTION

www.oasis-open.org. SCA Overview. Sanjay Patil – SAP Mike Edwards - IBM. Agenda. A little history SCA and SOA SCA scenarios SCA specifications OASIS SCA TCs major challenges Related & future work. A little history. - PowerPoint PPT Presentation

Citation preview

Page 1: SCA Overview

OpenCSA Member Section – Service Component Architecture 1OpenCSA Member Section – Service Component Architecture 1

SCA OverviewSCA Overview

www.oasis-open.org

Sanjay Patil – SAPMike Edwards - IBM

Page 2: SCA Overview

OpenCSA Member Section – Service Component Architecture 2OpenCSA Member Section – Service Component Architecture 2

Agenda A little history SCA and SOA SCA scenarios SCA specifications OASIS SCA TCs

major challenges Related & future work

Page 3: SCA Overview

OpenCSA Member Section – Service Component Architecture 3OpenCSA Member Section – Service Component Architecture 3

A little history “…once upon a time, some programmers

thought it would be good to have a programming model to support Service Oriented Architecture…”

That model is SCA Industry collaboration grew from just 2

companies to 18 today published 1.0 SCA specifications, March 2007

SCA specifications now ready for standardization in OASIS

Page 4: SCA Overview

OpenCSA Member Section – Service Component Architecture 4OpenCSA Member Section – Service Component Architecture 4

Page 5: SCA Overview

OpenCSA Member Section – Service Component Architecture 5OpenCSA Member Section – Service Component Architecture 5

Time Line Summary

SDO V1 SDO V2 SDO V2.01 SDO V2.1

SCA V0.9 SCA V0.95 SCA V1.0

Further complementary incubation

Finalization offurtherSCA Specs

Press Announcement of

Project Launch New Partners Announced

July 2006

Nov 2005

March 2007

Specs 1.0 Submission for Standardization

SDO TC

SCA TC’s

OtherStandards

Bodies

ISVs Customer Value System VendorsEarly Adopters

Adoption

Page 6: SCA Overview

OpenCSA Member Section – Service Component Architecture 6OpenCSA Member Section – Service Component Architecture 6

Standardization

OASIS to guide the standardization of Specifications from the collaboration in the OpenCSA Member Section

Member Section Structure 6 Technical Committees (TCs) to address one or more Specifications

from the collaboration

SDO V2.1 for Java will be completed in the JCP as JSR235

Specification development to continue within OSOA collaboration for technologies not yet ready for standardization

Page 7: SCA Overview

OpenCSA Member Section – Service Component Architecture 7OpenCSA Member Section – Service Component Architecture 7

Agenda A little history SCA and SOA SCA scenarios SCA specifications OASIS SCA TCs

major challenges Related & future work

Page 8: SCA Overview

OpenCSA Member Section – Service Component Architecture 10OpenCSA Member Section – Service Component Architecture 10

What are SCA and SDO? Service Component Architecture

an executable model for building service-oriented applications as composed networks of service components

“how to build composite service applications”

Service Data Objects a unified model for the handling of (service) data

irrespective of its source or target

“how to handle data in a services environment”

Page 9: SCA Overview

OpenCSA Member Section – Service Component Architecture 11OpenCSA Member Section – Service Component Architecture 11

Service Component Architecture (SCA): Simplified Programming Model for SOA

model for: building service components assembling components into applications deploying to (distributed) runtime environments

Service components built from new or existing code using SOA principles

vendor-neutral – supported across the industry language-neutral – components written using any

language technology-neutral – use any communication

protocols and infrastructure to link components

Page 10: SCA Overview

OpenCSA Member Section – Service Component Architecture 12OpenCSA Member Section – Service Component Architecture 12

Key benefits of SCA

Loose Coupling: components integrate without need to know how others are implemented

Flexibility: components can easily be replaced by other components

Services can be easily invoked either synchronously or asynchronously

Composition of solutions: clearly described

Productivity: easier to integrate components to form composite application

Heterogeneity: multiple implementation languages, communication mechanisms

Declarative application of infrastructure services

Simplification for all developers, integrators and application deployers

Page 11: SCA Overview

OpenCSA Member Section – Service Component Architecture 13OpenCSA Member Section – Service Component Architecture 13

Warehouse Service

WarehouseComposite

WarehouseBroker

Component

WarehouseComponent

Order Processing

Service

OrderProcessingComponent

Shipping Reference

External Warehouse

Reference

PaymentsComponentPayment

Service

AccountsComposite

ExternalBanking

Reference

AccountsLedger

Component

SCA assembly

BPEL

Java EE

C++

SOAP/HTTP

JMS

RMI/IIOP

Mixed:- technologies- app locations

Multi-levelcomposition

Page 12: SCA Overview

OpenCSA Member Section – Service Component Architecture 14OpenCSA Member Section – Service Component Architecture 14

Agenda A little history SCA and SOA SCA scenarios SCA specifications OASIS SCA TCs

major challenges Related & future work

Page 13: SCA Overview

OpenCSA Member Section – Service Component Architecture 15OpenCSA Member Section – Service Component Architecture 15

Bottom-up Composition

Select a set of existing component implementations for building the new composite

services references

properties

Configure the component properties

Hand off the composite to Deployer

Composite

Draw internal wires

propertiesWrap the components in a composite and configure external services/references

Page 14: SCA Overview

OpenCSA Member Section – Service Component Architecture 16OpenCSA Member Section – Service Component Architecture 16

Top-down Composition

Start with gathering requirements for the top-level composite

Define the services/references and properties for the composite

Composite

Service

Ref

Properties

Break down the composite into individual components and wires between them

Recursively break down each component

Hand off the individual component contracts to developers for implementation

Ref

Page 15: SCA Overview

OpenCSA Member Section – Service Component Architecture 17OpenCSA Member Section – Service Component Architecture 17

Heterogeneous Assembly

Components in the same composite share a common context for many aspects such as installation, deployment, security settings, logging behavior, etc.

JavaBPEL

Legacy

PHP

C++

Page 16: SCA Overview

OpenCSA Member Section – Service Component Architecture 18OpenCSA Member Section – Service Component Architecture 18

Implementation Reuse – By Configuration

Select an existing component implementation

Configure its behavior (via setting props, refs) to match the current requirements

E.g. Configure multiple instances of product pricing component, each with different currency, tax rate, discount charts, etc.

Component

… …

Services

References

Properties

Implementation- Java- BPEL- Composite

Deploy the component implementation- Multiple instances of the same implementation may be running simultaneously

Page 17: SCA Overview

OpenCSA Member Section – Service Component Architecture 19OpenCSA Member Section – Service Component Architecture 19

Deployment Flexibility

Services

References

PropertiesSOAP/HTTPWS Binding

JMS Binding

JCA Binding

WSClients

WSClients

JMSClients

JMSClients

ERPService

ERPService

Deployer chooses and configures communication mechanisms for services/references without having to modify the component implementation

Page 18: SCA Overview

OpenCSA Member Section – Service Component Architecture 20OpenCSA Member Section – Service Component Architecture 20

Abstract policy decleration

0. Policy Administrator authors SCA policySets with concrete policies1. Developer specifies intents on SCA assembly2. Developer hands over SCA assembly to Deployer3. Deployer configures SCA assembly by assigning SCA policySets (could be automated)4. Deployer deploys configured SCA Assembly to SCA Runtime5. Deployer updates Registry

Repository

RegistrySCApolicySets

Developer

SCA Runtime

Deployer

SCAAssembly

1 2SCA

Assembly

Policy Administrator

0

34

5

Page 19: SCA Overview

OpenCSA Member Section – Service Component Architecture 21OpenCSA Member Section – Service Component Architecture 21

Agenda A little history SCA and SOA SCA scenarios SCA specifications OASIS SCA TCs

major challenges Related & future work

Page 20: SCA Overview

OpenCSA Member Section – Service Component Architecture 22OpenCSA Member Section – Service Component Architecture 22

SCA Technology

How do I define, configure and assemble components to create composites? SCA Assembly Spec

SOAP/HTTP

JMSJCA

How do I develop SCA components in BPEL? Or in Java? Or C++, PHP,… SCA BPEL Client & Impl Spec, …

How do I configure SCA services/references to use SOAP/HTTP or JMS or JCA, … SCA WS Binding Spec, …

How do I define, use and administer policies for non-functional aspects (QoS, etc)? SCA Policy Framework Spec

Composite

Component

Page 21: SCA Overview

OpenCSA Member Section – Service Component Architecture 23OpenCSA Member Section – Service Component Architecture 23

The SCA Specifications

Assembly

ImplementationLanguages

Policy Framework Bindings

Java JEE

Spring

C++

BPEL

Security

RM

Transactions

Web services

JMS

JCA

Page 22: SCA Overview

OpenCSA Member Section – Service Component Architecture 24OpenCSA Member Section – Service Component Architecture 24

Agenda A little history SCA and SOA SCA scenarios SCA specifications OASIS SCA TCs

major challenges Related & future work

Page 23: SCA Overview

OpenCSA Member Section – Service Component Architecture 25OpenCSA Member Section – Service Component Architecture 25

OASIS SCA Technical Committees

OpenSCA Member Section SCA Assembly TC SCA Bindings TC SCA Policy TC SCA J TC SCA C-C++ TC SCA BPEL

Page 24: SCA Overview

OpenCSA Member Section – Service Component Architecture 26OpenCSA Member Section – Service Component Architecture 26

Work of the SCA TCs Produce OASIS standard versions

of SCA specifications conformance statements mandatory vs optional portability, interoperability

Test suites define test suites to check

conformance

Page 25: SCA Overview

OpenCSA Member Section – Service Component Architecture 27OpenCSA Member Section – Service Component Architecture 27

Challenges What is a good test suite for SCA?

Coordination between TCs

Page 26: SCA Overview

OpenCSA Member Section – Service Component Architecture 28OpenCSA Member Section – Service Component Architecture 28

Agenda A little history SCA and SOA SCA scenarios SCA specifications OASIS SCA TCs

major challenges Related & future work

Page 27: SCA Overview

OpenCSA Member Section – Service Component Architecture 29OpenCSA Member Section – Service Component Architecture 29

Possible Future work C specification COBOL specification REST binding(s)

JSON, ATOM,…

Page 28: SCA Overview

OpenCSA Member Section – Service Component Architecture 30OpenCSA Member Section – Service Component Architecture 30

Related Work OASIS SDD

Management WSDM, SML, …

WS-* specifications

OASIS SOA RM other RM’s

Page 29: SCA Overview

OpenCSA Member Section – Service Component Architecture 31OpenCSA Member Section – Service Component Architecture 31

Summary OASIS SCA

an exciting challenge major effort over the next year aim to appeal to a very wide audience

6 SCA TCs to run & coordinate!

Page 30: SCA Overview

OpenCSA Member Section – Service Component Architecture 32OpenCSA Member Section – Service Component Architecture 32

Useful links… OASIS Open CSA

http://www.oasis-opencsa.org/

OASIS SCA Technical Committees http://www.oasis-opencsa.org/committees

Open SOA Collaboration http://osoa.org/display/Main/Home

V1 level of SCA specs found here:http://osoa.org/display/Main/Service+Component+Architecture+Specifications

Useful papers and interesting SCA information: http://osoa.org/display/Main/SCA+Resources

OASIS Webinar downloads: http://www.oasis-open.org/events/webinars/