45
© 2010 IBM Corporation SCA徹底研究 - Service Component Architecture (SCA)を理解する - 黒川 Rational Technical Sales, [email protected] 澤出 達郎 WebSphere Technical Sales, [email protected] 渋谷テクニカル・ナイト

SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

© 2010 IBM Corporation

SCA徹底研究 -

Service Component Architecture (SCA)を理解する -

黒川

Rational

Technical Sales, [email protected]

澤出

達郎

WebSphere Technical Sales, [email protected]

渋谷テクニカル・ナイト

Page 2: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

1 © 2010 IBM Corporation

渋谷テクニカル・ナイト

はじめに

標準化団体によるSCA 1.0の発表

Open Service Oriented Architecture (OSOA)–

OASIS Open Composite Services Architecture (Open SCA)

IBM, Oracleを含めたベンダーがSCA対応製品を発表、実装化

WebSphere Process Server, WebSphere Enterprise Service Bus–

WebSphere Application Server V7 FeaturePack

for SCA

CICS TS 4.1–

Oracle SOA Suite 11g

HP SOA Systinet

→ SOA/BPMエリアにおける標準となる可能性が高く、今後の システム構築の重要なスキルになるものと思われる。

Page 3: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

2 © 2010 IBM Corporation

渋谷テクニカル・ナイト

目次

SCAとは?

SCA出現の背景、目指すところ

SCAの歴史

SCAの基本構造

SCAの特徴

SCA対応製品について

SCAの実際

SCAって本当に使えるの?

まとめ

Page 4: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

3 © 2010 IBM Corporation

渋谷テクニカル・ナイト

目次

SCAとは?

SCA出現の背景、目指すところ

SCAの歴史

SCAの基本構造

SCAの特徴

SCA対応製品について

SCAの実際

SCAって本当に使えるの?

まとめ

Page 5: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

4 © 2010 IBM Corporation

渋谷テクニカル・ナイト

急速に変わるビジネス状況では、その変化に柔軟に対応できる、いわゆる「変化に強いIT」が求められていた

一方、ITシステムがより一層複雑になり、コンポーネント指向開発が効果的に実践できていなかった

SOA/SCA登場の背景

開発言語に依存しない標準的な仕様既存の資産(コンポーネント)を再利用

コンポーネントを柔軟に組み合わせられる

SCAはこれらを実現するためのプログラミング・モデルを提供する

Page 6: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

5 © 2010 IBM Corporation

渋谷テクニカル・ナイト

SCAの提供するものは?

SCAは、サービスを記述するための統一化された言語中立

のコンポーネント定義方法を提供

SCAは、サービスを実装するためのビジネス・レベルのプロ

グラミング・モデルを提供する

SCAは、多様なプロトコル及びインターフェースを利用可能

なバインディング方法を提供する

Page 7: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

6 © 2010 IBM Corporation

渋谷テクニカル・ナイト

ビジネス・プロセス・モデリング

シナリオ(BPM, 見える化、最適化)

ビジネス・アクティビティ・モニタリング

シナリオ(BAM, ビジネス視点)

BPEL

ESB

コンポジット・アプリケーション

プロセス・ワークフロー サービス

Webサービス

Webサービス

その他

サービス

ESBシナリオ(連携基盤)

サービス化シナリオ(再利用性)

コンポジット・アプリケーション

シナリオ(合成)

SCAの関係する部分

SOA化のシナリオ

Page 8: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

7 © 2010 IBM Corporation

渋谷テクニカル・ナイト

SOAのシステム開発のイメージ

1.

ビジネス・アプリケーションを

再利用可能なサービスに分解する

“一枚岩”型アプリケーション 分解されたサービス群 コンポジット・アプリケーション

再構成

2.

新規・既存サービスからアプリケーション

を合成

3.

ビジネス・プロセスの変化に対し、

サービスを再利用して、再構成する

Services

既存システムのサービス化

業務要件から抽出した新規サービス

Monolithic Composite

繰り返し

Page 9: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

8 © 2010 IBM Corporation

渋谷テクニカル・ナイト

SCAの歴史

BEA and IBM begin collaborating (2003年12月)IBM仕様

WebSphere Process Server, WESB等に実装済み

(2005年9月発表製品)

SCA 0.9–

BEA Systems, IBM, IONA, Oracle, SAP, Siebel, Sybase, Zendにより

発表 (2005年11月30日)–

初のオープン化仕様

SCA 0.95–

Open Service Oriented Architecture (OSOA) からの 初の発表

(2006年7月26日)SCA 1.0–

OSOAから発表

(2007年3月21日)

今後のOASIS Open Composite Services Architecture (Open SCA)で の標準化を発表

Page 10: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

9 © 2010 IBM Corporation

渋谷テクニカル・ナイト

SCA 1.0

仕様

Assembly Model–

SCAアセンブリの構成要素について、SCDLと共に詳細に説明

Binding–

Webサービス、JMS、EJB

Session Bean、JCA

コンポーネント間の呼び出し方法

Client & Implementation Model–

Java, C, C++, BPEL, Spring, COBOL

各言語でSCAコンポーネント、クライアントを実装するための指南書

Policy Framework–

コンポーネント自身や、コンポーネント間の参照などに対し、機能や制約

を付与する「ポリシー」についての仕様

Transaction Policy は独立した仕様で定義

Page 11: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

10 © 2010 IBM Corporation

渋谷テクニカル・ナイト

SCA 1.0 仕様書一覧

http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications

Page 12: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

11 © 2010 IBM Corporation

渋谷テクニカル・ナイト

SCA 1.1

仕様 Draft (2010/1/27 現在)

OASIS Service Component Architecture / Assembly (SCA-Assembly) TC–

SCA Assembly Specification Version 1.1 CD03

OASIS Service Component Architecture / Policy (SCA-Policy) TC–

SCA Policy Framework Specification Version 1.1 CD02

OASIS Service Component Architecture / Bindings (SCA-Bindings) TC–

To be updated when CD02 published

OASIS Service Component Architecture / BPEL (SCA-BPEL) TC–

Service Component Architecture WS-BPEL Client and Implementation Specification Version 1.1

Public Review Draft 01

OASIS Service Component Architecture / C and C++ (SCA-C-C++) TC–

Service Component Architecture Client and Implementation Model for C++ Specification Version 1.1 Committee Draft

Service Component Architecture Client and Implementation Model for C Specification Version 1.1 Committee Draft

OASIS Service Component Architecture / J (SCA-J) TC–

Service Component Architecture SCA-J Common Annotations and APIs Specification Version 1.1 CD03

Service Component Architecture POJO Component Implementation Specification Version 1.1 CD01

Service Component Architecture EJB Session Bean Binding Specification Version 1.1 CD01

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

Page 13: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

12 © 2010 IBM Corporation

渋谷テクニカル・ナイト

SCAの基本構造

Service ReferenceComponent

Properties

ImplementationComposite

JavaC++

BPELSpring

BindingWebサービス

SCAStateless Session Bean

JCAJMS

BindingWebサービス

SCAStateless Session Bean

JCAJMS

SCA Compositeコンポーネントを他のプログラムやコンポーネントから利用させるための機能

他のコンポーネントのサービスを利用するための機能

Page 14: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

13 © 2010 IBM Corporation

渋谷テクニカル・ナイト

Component:コンポーネント

Component は Implementation が構成されたインスタンス

SCAでは Java,BPEL、C++ 等の異なる実装技術を用いることを許容している

現在のSCA仕様は、特定の実装テクノロジーを持つことを義務付けてはいない。

SCA run-timeの提供者にとって何が重要かによって選ぶことになる。

一つ以上の Component が同じ Implementation を用いることができる

Component

Property

Service Reference

Implementation•

Java•

Spring•

BPEL•

Composite…

C•

C++•

COBOL

Page 15: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

14 © 2010 IBM Corporation

渋谷テクニカル・ナイト

Implementation:インプリメンテーション

ビジネス・ロジックの実装コード

– Java, C, C++, COBOL, BPEL, Spring, Composite – 拡張可能 例:Apache Tuscanyではスクリプト言語

(Groovy, JavaScript,

JRuby, Jython

など)が使用可能

POJO (Javaのケース)

– <implementation.java

class="abc.AbcServiceImpl"/>– SCA固有の特別な実装は必要なし

– アノテーション使用

Component

Property

Service Reference

Implementation•

Java•

Spring•

BPEL•

Composite…

C•

C++•

COBOL

Page 16: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

15 © 2010 IBM Corporation

渋谷テクニカル・ナイト

サンプル:Implementation(Java)package mysca0;

import mysca.MySCAService;

import org.osoa.sca.annotations.Property;import org.osoa.sca.annotations.Reference;import org.osoa.sca.annotations.Service;

@Service(mysca0.MySCAService0.class)public class MySCAServiceImpl0 implements MySCAService0 {

@Reference(name="mySCAReference")public MySCAService

mySCAService;

@Property(name="property01",required=true)protected String property01;

public String invoke0(String s) {

return mySCAService.invoke(s);}

}

SCAのアノテーションSCAのアノテーション

Page 17: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

16 © 2010 IBM Corporation

渋谷テクニカル・ナイト

Service:サービス

Service は、Component によって提供されるサービスをプロモートする

Service はバインディングを設定可能

Service は一つの Interface を持つ

Javaの場合はJava Interfaceに @Remotable

のアノテーションを追加する

同一のOSプロセスから呼ぶ場合は @Remotable

の指定が無くてもよい

Component

Property

Service Reference

Implementation•

Java•

Spring•

BPEL•

Composite…

C•

C++•

COBOL

Interface•

WSDL•

Java…

Binding•

SCA•

WS•

EJB•

JMS•

JCA•

(JSON-RPC)•

(AJAX)…

Page 18: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

17 © 2010 IBM Corporation

渋谷テクニカル・ナイト

Reference:リファレンス

Implementation の中の Reference は、他の Component が提供するサービスのリンクを表す

Reference はバインディングを設定可能

Component

Property

Service Reference

Implementation•

Java•

Spring•

BPEL•

Composite…

C•

C++•

COBOL

Binding•

SCA•

WS•

EJB•

JMS•

JCA•

(JSON-RPC)•

(AJAX)…

Page 19: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

18 © 2010 IBM Corporation

渋谷テクニカル・ナイト

Binding:バインディング

Binding は Reference と Service で使用される

SCAは、複数の binding type を提供できる

–SCA Service, Web Service, Stateless Session Bean, JMS, JCA, Data base stored procedure

SCAランタイム は、SCA Service と Web Service は必ず提供しなけれ

ばいけない

ComponentService Reference

Binding•

SCA•

WS•

EJB•

JMS•

JCA•

(JSON-RPC)•

(AJAX)…

Binding•

SCA•

WS•

EJB•

JMS•

JCA•

(JSON-RPC)•

(AJAX)…

Page 20: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

19 © 2010 IBM Corporation

渋谷テクニカル・ナイト

Property:プロパティ

外部から Implentation へデータをセットする方法

simple 及びcomplex type あり

default value(初期値)を定義可能

Component

Property

Service Reference

Implementation•

Java•

Spring•

BPEL•

Composite…

C•

C++•

COBOL

Page 21: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

20 © 2010 IBM Corporation

渋谷テクニカル・ナイト

Composite:コンポジット

SCAの構成要素を束ねる論理的なグループ

SCAシステムを作成する際の基本ユニット

Component / Service / Reference / Wire を0個以上包含む

上位レベルの Composite の Implementation になりうる (Recursiveモデル)

Compositeは、デプロイのための単位として使用できる

Compositeは、“xxx.composite” ファイルによって定義される

Page 22: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

21 © 2010 IBM Corporation

渋谷テクニカル・ナイト

QoS構成のフレームワークとして Policy Framework が用意されている

インタラクションポリシー

-

Service および

Reference リファレンスに対するQoS

-

認証、機密性保護など

実装ポリシー

-

コンポーネント実装に対するQoS-

トランザクションポリシー、セキュリティポリシーなど

Component Component

実装ポリシー インタラクションポリシー

Policy:ポリシー

Page 23: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

22 © 2010 IBM Corporation

渋谷テクニカル・ナイト

SCAの特徴は?

他のコンポーネント・アーキテクチャと比較した際の差異

言語独立

高い自由度を持った呼び出し方法

再帰的なアーキテクチャを採用し、再利用性が高い

Page 24: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

23 © 2010 IBM Corporation

渋谷テクニカル・ナイト

言語独立

サービスを公開・利用するための定義はXMLで記述

C++やCOBOLも

XMLに記載された情報によりSCAランタイムが判断

利用側から見れば必要なものはコンポーネントを定義し たサービス名であり、その実装言語は重要ではない

Page 25: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

24 © 2010 IBM Corporation

渋谷テクニカル・ナイト

高い自由度を持った呼び出し方法

多様なプロトコル、さまざまな粒度のコンポーネントにも対応

Webサービス

JMS–

SCA

JCA:

JAR (Java Archive) との違い

JAR

APIを人が読み解いて使用する

SCA

自己記述(SCDL)を持っていて、機械的に使用出来る

Page 26: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

25 © 2010 IBM Corporation

渋谷テクニカル・ナイト

再帰的なアーキテクチャを採用し、再利用性が高い

作成した Composite を別のCompositeのパーツ(Component)として利用することができる

上流、下流、両方からのデザイン・アプローチが可能

Recursiveモデル

25

Page 27: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

26 © 2010 IBM Corporation

渋谷テクニカル・ナイト

Recursiveモデル

Composite Y

ComponentB

ComponentA

Composite AComposite B

Service

Composite X Composite Z

implementationimplementation

WireWireWire

System

Reference

Composite

Component

Composite Y

ComponentB

ComponentA

Composite AComposite B

Service

Composite X Composite Z

implementationimplementation

WireWireWire

System

Reference

Composite

Component

Composite

Component ComponentComponent

Composite

既存のCompositeを

利用して下から上に

実装は、下位の

Composite に任せ、

上から下へ

双方からのアプ

ローチが可能

26

Page 28: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

27 © 2010 IBM Corporation

渋谷テクニカル・ナイト

サンプル:Recursiveモデルを適用したCompositeのSCDLファイル

<?xml version="1.0" encoding="UTF-8"?><composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:pre="http://bookstore"

autowire="false" name="BookStoreComposite" targetNamespace="http://bookstore"><component name="SearchBookComp2">

<implementation.composite name="pre:SearchBookComposite"/><service name="SearchBook"/>

</component><component name="OrderBookComp">

<implementation.java

class="sample.bookstore.OrderBookImpl"/><service name="OrderBook">

<binding.ws/></service><reference name="searchBookRef" target="SearchBookComp2/SearchBook"/>

・・・

一部抜粋

・・・

</component>

Recursiveモデルの適用Recursiveモデルの適用

BookStoreComposite.composite

Page 29: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

28 © 2010 IBM Corporation

渋谷テクニカル・ナイト

サンプル:Recursiveモデルを適用したCompositeの可視化

Recursiveモデルの適用

BookStoreComposite

SCAコンポジット・エディター

(Rational Application Developer)

SearchBookComposite

Page 30: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

29 © 2010 IBM Corporation

渋谷テクニカル・ナイト

SCAの目指すものは?

サービス・コンポーネント(SOAアプリケーション)開発の簡易化

ビジネス・ロジックだけを開発すれば良い

複数のサービスによるビジネス・ソリューション組み立て、デプロイの簡易化

組み合わせは外部のXML定義にて実施

迅速性と柔軟性の追求

組み合わせの変更、呼び出しプロトコルの変更は定義の変更のみ

低レベルのテクノロジーの変更からのビジネス・ロジック資産の保護

ランタイムの機能の変更の影響を受け難い構造

Page 31: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

30 © 2010 IBM Corporation

渋谷テクニカル・ナイト

経緯:

1995.Rational社が公開(Ver

0.9)•

1997.OMGに移管(Ver

1.1~)

2004. Ver

2.0

目的

ビジュアル化(13種類の図)

仕様を決めていく道具

実装コードとの対応付け

文書化

特徴

プラットフォーム独立

開発プロセス、言語、デザインのアプローチから独立

モデル駆動型開発(MDD)、オブジェクト指向との親和性

サービスのモデリングの記述も可能

UML 2.0 Profile for Software Services

UML 2.0 Profile for Software Services

UML : Unified Modeling Language

Page 32: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

31 © 2010 IBM Corporation

渋谷テクニカル・ナイト

モデル駆動開発(MDD)の発展

システム要件

分析モデル

設計モデル

実装モデル

(ソースコード)

オブジェクト指向分析設計

ビジネス要件

ビジネス駆動開発

ビジネスサービス識別

公開サービス識別

サービス仕様

サービス実現

サービス実装

サービス指向開発

Page 33: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

32 © 2010 IBM Corporation

渋谷テクニカル・ナイト

SCAとUMLは似ているように見えるが、目的が異なる

SCA-

サービス・コンポーネント(SOAアプリケーション)開発

-

複数のサービスによるビジネス・ソリューション組み立て

UML-

オブジェクト指向によるシステム開発の標準的な表記法

-

13種類の図(ダイアグラム)を必要に応じて書き分ける

SCAはUMLを代替するものではない

内部コンポーネント設計にはUMLのクラス図、シーケンス図を使うのが現実的

UMLからSCAへの変換

Rational Software Architect for WebSphere 7.5.4 以降

SCAとUML

Page 34: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

33 © 2010 IBM Corporation

渋谷テクニカル・ナイト

目次

SCAとは?

SCA出現の背景、目指すところ

SCAの歴史

SCAの基本構造

SCAの特徴

SCA対応製品について

SCAの実際

SCAって本当に使えるの?

まとめ

Page 35: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

34 © 2010 IBM Corporation

渋谷テクニカル・ナイト

1. IBM:

WAS V7.0 Feature Pack for SCA V1.0WebSphere Application Server (WAS) V7.0 Feature Packfor Service Component Architecture V1.0 –

WAS V7.0の機能拡張(Feature Pack) の1つ

新はSCA Feature Pack 1.0.1

Open SOA Collaboration (OSOA.org) SCA 1.0 仕様の実装

基本的なサービスの構成とデプロイおよび実行が可能

次のSCA仕様をサポート

-

SCA Assembly Model 1.00-

SCA Policy Framework 1.00

-

SCA Transaction Policy 1.00-

SCA Java Common Annotations and APIs 1.00

-

SCA Java Component Implementation 1.00-

SCA Web service binding 1.00

-

SCA EJB Session Bean Binding 1.00

Page 36: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

35 © 2010 IBM Corporation

渋谷テクニカル・ナイト

1. IBM:

WAS V7.0 Feature Pack for SCA V1.0Feature Pack for SCA 1.0.1 の提供する機能

Apache Tuscany の SCA V1.0 の Java 実装をベースとし、WAS に統合

SCA サービス・コンポーネントを

POJO、EJB 2.1, 3.0 コンポーネント、サー

ブレット、Ajaxで作成可能。

さまざまなサービス・タイプをワイヤリング可能。バインディングには、Webサ

ービス、

JMS、SCA、EJB 2.1, 3.0が利用可能。

Web 2.0スタイルのアプリケーションから、JSON-RPC と

ATOM Web フィ

ードを使用して、ビジネス・ロジックにアクセス可能に

単一または複合コンポジットの中で、EJB 3.0 とSpring

コンポーンネントを再

利用可能

JARを使用した、簡単かつ柔軟なサービスのデプロイが可能。

データは、Java

Architecture for XML Binding (JAXB)、または、

Service

Data Objects (SDO) 2.1としてサポート

SCA サンプル・アプリケーション

Page 37: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

36 © 2010 IBM Corporation

渋谷テクニカル・ナイト

1. IBM:

WAS V7.0 Feature Pack for SCA V1.0Rational Application Developer V7.5

WAS V7.0 Feature Pack for SCAのアプリケーションの開発環境

-

Service Component Architecture 開発ツール

RAD V7.5.2 以降で提供

SCAコンポジット・エディター

-

SCA アプリケーションのコンポーネントとコンポジットの実装、接続および構成

-

プロトコル・バインディングの構成

-

ポリシー・インテントの構成

など

新規 SCA アセットの作成や

既存SCAプロジェクトのインポート

SCA アセットのパッケージング

WAS V7.0 で実行やデバッグが可能SCAコンポジット・エディター

Page 38: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

37 © 2010 IBM Corporation

渋谷テクニカル・ナイト

2. IBM: CICS TS V4.1CICS Transaction Server for z/OS V4.1

CICSがSCAランタイム

SCA仕様で統一した手法でサービスを呼び出す

開発ツールはRational Developer for System z

-

RDz

V7.6 以降で提供

次のSCA仕様をサポート

-

SCA Assembly Model V1.00

-

実装は CICS または Composite

-

サポートされるバインディング

CICS

Webサービス

SCA

Page 39: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

38 © 2010 IBM Corporation

渋谷テクニカル・ナイト

SCA Java 2.0-M4 (Milestone 4)–

Javaで開発されたSCAランタイム

2009年11月リリース

Open SCA 標準の達成に向けたマイルストーン

OSGiベースのランタイム

SCA 1.1仕様とOpen SCA標準を実装-

SCA Assembly Model V1.1-

SCA Policy Framework V1.1-

SCA Java Common Annotations and APIs V1.1-

SCA Java Component Implementation V1.1-

SCA Client & Implementation: Spring-

SCA Web Services Binding V1.1-

SCA WS-BPEL Client and Implementation V1.1-

SCA JEE Integration V1.1 (一部)

サポートされるバインディング-

SCA bindings for RMI-

Databinings for JAXB, Axis2’s AXIOM, DOM, SAX and StAX

http://tuscany.apache.org/sca-java.html

3. Apache: Tuscany SCA

Page 40: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

39 © 2010 IBM Corporation

渋谷テクニカル・ナイト

3. Apache: Tuscany SCAApach Tuscany SCA Native Incubator-M3–

C++ で開発されたSCAランタイムを提供

2007年5月リリース

C++, Python によるコンポーネント実装をサポート

Bindings -

used for services and references-

Apache SOAP/Axis2c

-

REST–

Data Bindings -

for handling data

-

SDO-

Axiom

http://tuscany.apache.org/sca-native.html

SCA_SDO 1.2.4–

PHP向けのSCAとSDO (Service Data Objects)のランタイム

2008年3月リリース

http://pecl.php.net/package/sca_sdo

Page 41: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

40 © 2010 IBM Corporation

渋谷テクニカル・ナイト

4. その他SCA関連製品

Oracle Fusion Middleware 11g–

Oracle SOA Suite 11g

WebLogic

Server 11g Release 1 Technical Preview of WebLogic SCA

HP SOA SystinetActiveMatrix Service Grid from TIBCOFablic3 open source SCA runtimePooCapsula for WebServices and SCANewton open source distributed SCA & OSGi runtimeHydraSCA from Rogue Wave SoftwareInfiniflow Distributed Service Framework (DSF) from ParemusService Component Architecture (SCA) Framework for SOA from Covansys

http://www.osoa.org/display/Main/Implementation+Examples+and+Tools

Page 42: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

41 © 2010 IBM Corporation

渋谷テクニカル・ナイト

前半のまとめ

SCAの目的

–サービス・コンポーネント(SOAアプリケーション)開発の簡易化

–複数のサービスによるビジネス・ソリューション組み立て、デプロイの簡易化

SCAの特徴

–言語独立-

仕様としては、実装として

Java, COBOL, C, C++ などもサポート

–高い自由度を持った呼び出し方法

-

バインディング:SCA Service, Web Service, Stateless Session Bean, JMS, JCA など

–再帰的なアーキテクチャを採用し、再利用性が高い

-

上流、下流、両方からのデザイン・アプローチが可能

Open SCA, OSOAによる仕様策定、各ベンダーによるSCA実装の増加

SOA/BPMエリアにおける標準となる可能性が高い

41

Page 43: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

42 © 2010 IBM Corporation

渋谷テクニカル・ナイト

参考情報

OASIS Open CSA technical committees–

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

Open Service Oriented Architecture (OSOA)–

http://www.osoa.org/display/Main/Home

SCA Feature Pack for WAS V7.0 ワークショップ資料–

http://www.ibm.com/developerworks/jp/websphere/library/was/was7_sca_ws/index.html

SOA開発者必見!「入門 SCA V1.0」–

http://itpro.nikkeibp.co.jp/article/COLUMN/20070515/271071/

WebSphere Application Server Feature Pack for SCAの理解を深める–

http://www.ibm.com/developerworks/jp/views/websphere/libraryview.jsp?search_by=WebSphere+

Application+Server+Feature+Pack+for+SCA

42

Page 44: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

43 © 2010 IBM Corporation

渋谷テクニカル・ナイト

Merci

Grazie

Gracias

Obrigado Danke

Japanese

French

Russian

German

Italian

Spanish

Brazilian Portuguese

Arabic

Traditional Chinese

Simplified Chinese

Thai

43

Page 45: SCA徹底研究 - IBMpublic.dhe.ibm.com/software/dw/jp/events/tn46-sca...BPEL ESB コンポジット・ アプリケーション プロセス・ワークフロー サービス Webサービス

44 © 2010 IBM Corporation

渋谷テクニカル・ナイト

©

IBM Corporation 2010. All Rights Reserved.

ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的

のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。

本プレゼンテーションに含まれている情報については、完全性と正確性を帰するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずい

かなる保証も伴わないものとします。本プレゼンテーションまたはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、

IBMは責任を負わないものとします。

本プレゼンテーションに含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表

明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果

を生むものでもありません。

本プレゼンテーションでIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗

示するものではありません。本プレゼンテーションで言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定

権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本資

料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図し

たものでも、またそのような結果を生むものでもありません。パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパ

フォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事

項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。

記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたもので

す。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。

IBM、IBM ロゴ、ibm.com、[当該情報に関連し商標リスト中に掲載されたIBMブランドがあれば追加する]、および[当該情報に関連し商標リスト中に掲載されたI

BMの製品名称があれば追加する] は、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での

IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。

Adobe, Adobeロゴ, PostScript, PostScriptロゴは、Adobe Systems Incorporatedの米国およびその他の国における登録商標または商標です。

IT Infrastructure Libraryは英国Office of Government Commerceの一部であるthe Central Computer and Telecommunications Agencyの登録商標です。

Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Intel Centrino, Intel Centrinoロゴ, Celeron, Intel Xeon, Intel SpeedStep, Itanium, Pentium は

Intel Corporationまた

は子会社の米国およびその他の国における商標または登録商標です。

Linuxは、Linus

Torvaldsの米国およびその他の国における登録商標です。

Microsoft, Windows, Windows NT および

Windowsロゴは

Microsoft Corporationの米国およびその他の国における商標です。

ITILは英国Office of Government Commerceの登録商標および共同体登録商標であって、米国特許商標庁にて登録されています。

UNIXはThe Open Groupの米国およびその他の国における登録商標です。

Cell Broadband Engineは、米国およびその他の国におけるSony Computer Entertainment, Inc.の商標であり、同社の許諾を受けて使用しています。

JavaおよびすべてのJava関連の商標およびロゴは

Sun Microsystems, Inc.の米国およびその他の国における商標です。

他の会社名、製品名およびサービス名等はそれぞれ各社の商標。

44