service oriented architecture - xml...

54
XML Consortium XML Consortium © XML Consortium Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ 牧野友紀 日本ユニシス 天野富夫 日本IBM

Upload: others

Post on 27-Apr-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XML ConsortiumXML Consortium

© XML Consortium

Service Oriented Architecture 概説

テクノロジー部会Webサービスワークグループ牧野友紀 日本ユニシス天野富夫 日本IBM

Page 2: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

テクノロジー部会Webサービスワークグループ

月1回のF2Fミーティング、メーリングリストでの議論Webサービス技術マップの作成テーマを決めて調査・議論(最近の話題はSOA)

議論に参加いただいたメンバー

リコー松井善郎

ブレイニーワークス芦田尚人

ネット・タイム岡村和英

キヤノン倉沢良明

NTT東日本山本倫生

NTTソフトウェア妹尾正身

JIEC坂下秀彦

ECOM斉藤幸則

日本ユニシス牧野友紀

日本IBM天野富夫

ウルシステムズ林浩一

(順不同、敬称略)

日立製作所山根利夫

都築ソフトウェア神田晴喜

住商情報システム森本信次

沖電気藤岡慎弥

伊藤忠産機小野達弘

Page 3: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

アジェンダ

発表内容SOAとはSOAにおけるサービスとはSOAの位置づけサービスのオーケストレーション

まとめ

付録よく使われる用語(作業中)

Page 4: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XML ConsortiumXML Consortium

© XML Consortium

SOAとは

Page 5: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOAとは

散在するシステムを,業務視点の機能(サービス)の集合と捉え,ビジネス環境の変化に対して,迅速にサービスを組み換える (Business ProcessIntegration) ことで,柔軟に対応するシステム構築方針アプリケーションをラップしてサービスにする外からはサービスのインタフェースのみを意識するハードウェア/OS/ミドルウェア開発言語 等々を隠蔽

サービス自体の実装には依らないインフォメーションバス (ネットワーク)にサービスをプラグインして統合を実現する

具体的には上記を実現するためのアーキテクチャパターンデザインパターンベストプラクティス等々の集まりである

Page 6: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

WebサービスとSOAのハイプ曲線

●Webサービス技術

●SOA

黎明期 流行期 反動期

時間

回復期 安定期

Page 7: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

今までと何が違うのか

SOAという概念は以前からある概念としてはシンプルで説得力がある

しかし、期待したほどの成果はあがっていない

Corba,DCOM, EJBに足りなかったもの共通のインタフェース定義言語

共通のインフォメーションバス

柔軟なインタフェース記述

インタフェースとプログラミングモデルの分離

Page 8: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

WebサービスがSOAにもたらしたもの

Webサービスはインターオペイラビリティにフォーカス

共通のインタフェース定義言語WSDLによるインタフェースの記述

共通のインフォメーションバスインターネットプロトコルによるEnd-to-Endの接続

柔軟で抽象度の高いインタフェース記述RPC->ドキュメントベースの記述へ

Simple Endpoints, Rich Dataのスキームへ

インタフェースとプログラミングモデルの分離疎結合(ミドルウェアへの依存性の解消)

Page 9: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ビジネスイノベーションを支える技術

Web Services Web Services Webサービス

相互運用性の実現

ビジネス・プロセス管理(BPM) ビジネスの定義

モデリング方法論

プロセスの管理・維持のためのツールの集合体

サービス指向アーキテクチャ(SOA)システム構築方針

アーキテクチャパターンSOASOA BPMBPM

Page 10: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOA,BPM領域技術マップ

BPELBPEL

BPMNビジネス・プロセス表記方法

BPMNビジネス・プロセス表記方法

BPMLBPML

BPSSBPSS

WSDLWSDL

XMIXMI

Programing LanguagePrograming Language

Business Process Modeling

Public Collaboration language

Private processes language

Web Services

モデリング領域

実装領域

二つの用途あり

■抽象プロセスのモデリング言語

■実行可能なビジネス・プロセス実装

UMLUML

MDA

Page 11: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XML ConsortiumXML Consortium

© XML Consortium

SOAにおけるサービスとは

Page 12: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOAにおけるサービスとは

プラットフォーム独立のインタフェース疎結合によるビジネスプロセスの実現ビジネス(業務)機能単位の粒度検索・発見可能

EAIWFL

相対的な概念であることに注意

Repository

Page 13: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOAにおけるサービスとは

SOAで扱うサービスが持つべき性質性質 1個々のサービスの実装を隠蔽するインタフェースが定義され、機械処理可能な形式で記述されていること

WSDLで記述される広義のWebサービスであること

性質 2ビジネスプロセスとして適切な粒度・抽象度を持つインタラクションやメッセージが定義されていること

インタフェース定義の意味・内容が問われる

Page 14: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

性質1について:みたび「Webサービスとは?」

Webサービスとは、A) URIによって識別され、

B) そのインターフェースおよびバインディング情報は、XMLによって定義・記述され、

C) それらの情報は他システムから検索が可能であり、

D) インターネット・プロトコル上の

E) XML書式のメッセージを使用して、他のWebサービスと交信する、

ソフトウェアシステムである(W3C WebサービスアーキテクチャWG)

インタフェースがWSDLによって記述されていればWebサービスとみなすことができる。

Page 15: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

WSDL仕様によれば..

WSDL中のインタフェース記述には抽象レベル(ワイヤーフォーマットではない)のメッセージフォーマットが定義されている

具体的なフォーマットはバインディング記述によって決定される(ただし抽象から具体へのマッピングの手続きの詳細はWSDLには記述されていない、パラメータのみ)

ある種のバインディング記述(SOAP/HTTPバインディング)では具体フォーマットとして抽象フォーマットがほぼそのまま使われる

2.2 Message2.2.1 The Message ComponentA message component describes the abstract format of a particular message that a Web service sends orreceives. The format of a message is typically described in terms of XML element information items andattribute information items. A message binding (see 2.7 Binding [p.21] ) describes how the abstractcontent is mapped into a concrete format. However, in some cases, the abstract definition may match theconcrete representation very closely or exactly for one or more bindings. Such bindings will supply littleor no mapping information. However, another binding of the same message definition may requireextensive mapping information. For this reason, it is not until the binding is inspected that one candetermine "how abstract" a message really is.

WSDL 1.2 3月3日版ワーキングドラフト(http://www.w3.org/TR/2003/WD-wsdl12-20030303 )より

Page 16: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

Webサービス呼出しフレームワーク

Javaアプリケーション

WSDL記述WSDL記述

PortTypeインタフェースの論理的な記述

Java用マッピング

Bindingトランスポート/ワイヤーフォーマットへの対応づけ

SOAP Binding実装

JMS Binding実装

Java Binding実装

: :

:Webサービス呼出し機構

HTTPRequest/Response

Queue

Javaコード

言語固有のAPIの提供(DOMの隠蔽)

Webサービスのクライアント

インタフェースの提供

インタフェース定義があればワイヤーフォーマットに関わらずサービスを呼び出すことができる

Webサービス

例えば、Java用のWSIF(http://ws.apache.org/wsif/)

Page 17: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOAにおけるインタフェース記述の意義

全てのビジネス部品(サービス)の一元的な扱い共通のサービス呼び出し機構(WSIF)

SOAPでラップされたアプリケーション(通信プロトコルには依存せず)REST Webサービス(インターネットWebサービス)Javaコードレガシーアプリケーション

ワークフローによるWebサービスの合成BPEL4WSの記述はWSDLによるPortType等の定義を参照している

UDDI/WSDLによるサービスの検索

Page 18: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

性質2について:ビジネスサービスの要件

粗粒度のインタラクション

実際のビジネスプロセスのインタラクション粒度に対応

Mediation(ギャップの解消)が容易

意味的に抽象度の高いメッセージ記述

複数具体記述を包含するメッセージ記述より具体的な記述への変換が可能

サービス内容に基づく検索

Page 19: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ビジネスプロセスとしてのインタフェースビジネスプロセスのインタラクションの粒度はIT領域よりも大きい例えば、人が手作業で行っていた業務の自動化

プロセス全体としてのスループットや応答時間の改善が目標人を置き換えたクライアントプログラムはサーバー側が人相手に提供していたレベルのインタフェースを使用することになる

BusinessLogic 1

Session FacadeController

BusinessLogic 2

BusinessLogic 3

人/プログラム

ビジネス領域の境界

IT領域の境界

Page 20: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ビジネスプロセスとしてのインタフェース

ビジネスプロセスではメッセージの内容をできるだけ高い抽象度で表現すべきSOAP-RPCでの文字列型パラメータ VS ビジネス用語彙をつかった表現

<SOAP-ENV:Body><m:GetLastTradePrice xmlns:m=“Some-URI”>

<symbol xsi:type= “string” >DEF</symbol></m:GetLastTradePrice>

</SOAP-ENV:Body>

パラメータの意味について実装(コード)に負うところが大きい

<SOAP-ENV:Body><m:GetLastTradePrice xmlns:m="Some-URI">

<n:company xmlns:n="business-vocabulary-URI" type= " symbol" >DEF

</n:company></m:GetLastTradePrice>

</SOAP-ENV:Body>

Page 21: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOAで扱うサービスの分類(例)サービスの用途によって必要な粒度・抽象度は異なる

業務機能の充足(業務/業界固有)

非機能的要件の充足(共通のセキュリティ、トランザクションなど)公開

(共同利用)狭義のビジネスサービス:ビジネスプロセスの直接の部品になる

広義のサービス:ビジネスサービスの部品になるWebサービス

A 完結したビジネスサービスインタフェース

B 業務機能を提供するビジネスサービスインタフェース

C 業務独立の共通サービスインタフェース

D 業務機能の実装に使われるモジュールをラップした

サービスインタフェース

E 共通機能の実装に使われるモジュールをラップした

サービスインタフェース

非公開(内部利用)

Page 22: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOAベース企業システム

業務遂行レベルサービス・リポジトリ

業務改革レベルサービス・リポジトリ

サービス

戦略レベル

業務改革レベル

業務遂行レベル

経営指標などのレポート作成(ex.XBRL)

日常業務オペレーション

サービス

リアル・タイムな経営資産(人,物,金)変移の統合的なモニタリング

Page 23: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOAサービス構築で使用されるツール

既存コードをSOAPラッピングしてWebサービス化するツール(第一世代)インタフェース記述をベースにしてサービスを起動する機構(e.g. WSIF)プロセス定義エディタとワークフローエンジン

より上位の設計情報からインタフェース記述を生成するツール

Page 24: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

上位設計情報からのスキーマ生成

設計情報UML/XML構造制約意味..

HTTPとバインドしたWSDL

MQとバインドしたWSDL

..

DBスキーマXMLスキーマ

抽象的なモデル

実装に依存しない設計情報

MDAツール群

実行可能な成果物

ワークフロー記述

Page 25: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

企業システムのSOAによる実現

Business Vision,Mission,PrincipleBusiness Vision

,Mission,Principle

Business ArchitectureBusiness

Architecture

DataArchitecture

DataArchitecture

ApplicationArchitecture

ApplicationArchitecture

TechnologyArchitecture

TechnologyArchitecture

SOA:<<アーキテクチャ>>

Webサービス:<<テクノロジ>>

ビジネスの世界

ITの世界

BPM:<<メソトロジー>>

MDA:<<メソトロジー>>

Page 26: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XML ConsortiumXML Consortium

© XML Consortium

SOAの位置づけ

Page 27: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOA背景にあるニーズ

ビジネス環境の変化を早い段階で察知し、近い将来を予見し、変化に柔軟で迅速に対応したい

ITとしては変化を知るためのシステムの能力

変化に対応するシステムの能力

Page 28: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ビジネス環境の変化と対応ビジネス環境の変化ビジネス環境の変化

外的変化要因:顧客要求の変化

業界の成熟度(商品普及の飽和)

商品(製品、サービス)の競合力

商品提供までの待ち時間短縮要求

商品のカスタマイズやパーソナライズ物流や決済などの社会公共基盤における選択肢

価格競争による売上げの減少

内的変化要因:業界や企業内の事業構造の変化

業務提携(OEMなど)企業合併

事業統廃合(グループ企業内、競合他社間)

事業多角化・専門化

変化に対する対応変化に対する対応

•新しいビジネス・フローを作り出し競合他社と差別化する(ex.“見込み生産”から“受注生産”)。

•顧客要求に即時きめ細かく対応する。

•ビジネス・パートナーと提携して新商品を提供する。

•安価で良質な業務サービスをアウトソースする。

等々

Page 29: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

変化に対応する

ビジネス構成、IT構成、双方の関連の把握が必要ビジネス・プロセスの組立,組み換えが容易

企業間でコンテンツやビジネス・ファンクションの合成が容易

ビジネスとITの統合的な管理機構(リポジトリ)

ソフトウェア開発(新規,変更)のスピード

ビジネス・プロセスの部品化、情報の部品化

Page 30: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ビジネス・プロセスとサービスの関係自社内

サービス

サービス

サービス サービス サービス サービス

サービス

自部門 他部門

サービス

プロセス

サービス

プロセス

サービス

プロセス

プロセスビジネス・パートナー企業

Page 31: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOAの位置づけ:なぜ重要なのか

企業のIT関連最大関心事はビジネスプロセスインテグレーション

Webサービスは、SOAPやWSDLなどのテクノロジの総称でもありますが、また、ビジネスのイノベーションのあり方に対するコンセプトでもあります。まだ、このコンセプトは十 分市民権を得ているわけではないようですが、Webサービスの本質を理解する上で重要です。今まで、情報技術は、ビジネスプロセスを効率化することで企業の競争力の向上に寄与してきました。最初は会計処理などの定型業務から始まり、オフィスなどの非定型業務もITなしには行えないようになってきました。現在のIT利用の主流は、SAPなどによる、企業全体のビジネスフローの効率化に移ってきています。個々の業務だけではなく、それらを統合化した形での企業の効率化を行うわけです。しかし、これらはいずれも、 「競争相手と基本的に同じ業務フローを、効率化によって差別化する」という企業戦略 に基づいています。

Webサービスの根底に流れるのは、「競争相手がまだやったことのない、新たなビジネスフローを作り出すことによって差別化する」というビジネス戦略です。今まで誰もやったことのないビジネスフローを作り出すのは、どうしたらよいでしょうか?それには、型にはまらない考え方が必要です。かといって、個々のビジネスプロセスをゼロから設計するのでは、この動きの速い世

界で他人より先に出ることは難しいでしょう。Webサービスのコンセプトは、「社内の個々のビジネスプロセスを部品化しておくことによって、それらの異なる組み合わせをいつでも自由に作ることができる」ということです(ここでの「ビジネスプロセス」は、システム的なものだけでないことに注意してください。人手によるプロセスは企業にとっては、システム的なプロセス以上に重要な資産です)。 このようなビジネスプロセスの部品化と再利

用は、社内の業務処理の標準化などを通して今までも試みられてきています。Webサービスは、この部品化と再利用のプロセスを効率化するための、ITが提供するソリューションなのです。 Webサービスの実践は始まっていますが、残念ながら、いまだにこのような大きな企業戦略に基づいて社内業務のWebサービス化を行っている企業は少ないと思います。しかし、これこそが、Webサービスが本当に目指しているものだと私は信じています。

(XMLテクノロジ通信7号http://www.xmlconsortium.org/wg/tech/tech_mlmaga_index.html日本IBM 丸山 宏氏「企業戦略としてのWebサービス」より)

Page 32: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ソフトウェア開発のトレンド

複雑さに迅速に対処する方法はより抽象度の高いレベルで開発を行うことである

ハードウェアアーキテクチャ(命令セット)

オペレーティングシステム

高級言語

ミドルウェア/ライブラリ

(ビジネス)サービス

開発

しなけ

れば

ならな

い範

高い

抽象度

低い

Page 33: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOA情報基盤のオーナシップ

コンポーネント

ビジネスロジック

サービス

従来システム

ビジネス環境変化による影響度

IT環境変化

による影響度

ビジネスオペレータ(事業部門)

ビジネスオペレータ(事業部門)

ビジネスオペレータ(事業部門)

ビュー ビュー

プロセス

ビジネスロジック

ITオペレータ(情報システム部門)

コンポーネント

SOAシステム

Page 34: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ビジネスプロセスフローの設計サービスを組み合わせてビジネスプロセスのフローを実現する

(例えば、プロセスのフローを定義するエディタ)

Page 35: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ビジネスからITのトレーサビリティ

DBMSWebサービス

Java EJBサーバワークフロー

エンジン

ビジネスファンクション

サービス

写像

ビジネスファンクション

ビジネスファンクション

SOA

ビジネス

ITの世界

ビジネスとITの境界

オブジェクト オブジェクトオブジェクトオブジェクト

XML

情報モデル

データモデル

Business ArchitectureBusiness

Architecture

DataArchitecture

DataArchitecture

ApplicationArchitecture

ApplicationArchitecture

TechnologyArchitecture

TechnologyArchitecture

Business Vision,Mission,PrincipleBusiness Vision

,Mission,Principle 事業事業

Page 36: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ビジネスファンクションとサービスの写像

顧客情報登録

顧客情報登録

見積内容聞き取り

見積内容聞き取り

在庫確認

在庫確認

商品価格参照

商品価格参照

見積計算

見積計算

注文書起票

注文書起票

与信与信

決済手段選択

決済手段選択

注文書作成

注文書作成

注文内容入力

注文内容入力

商品ビジネス・ファンクション 決済ビジネス・ファンクション

見積提示

見積提示

営業店受注ビジネス・プロセス

受注ビジネス・ファンクション

商品価格提供

商品価格提供

在庫情報提供

在庫情報提供

商品サービス

在庫確認UI

在庫確認UI商品価格

参照UI商品価格参照UI

顧客情報登録(UI含)

顧客情報登録(UI含)

注文書起票(UI含)

注文書起票(UI含)

注文内容入力(UI含)

注文内容入力(UI含)

決済手段選択(UI含)

決済手段選択(UI含)

注文書作成

注文書作成

営業店受注システム

ビジネス・ファンクショントとサービスの粒度をあわせトレーサビリティを確立する

与信与信

決済サービス

Page 37: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ビジネス・プロセス部品の組合せ

アプリケーション・システム

サービス サービス

ワークフロー

サービス

受注 請求 生産 配送

サービス

インターネット

ビジネス・プロセスの部品

ビジネス・プロセス

ビジネス領域

IT領域

アプリケーション・システム

アプリケーション・システム

Page 38: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ビジネスプロセス実現方式の比較密結合型システム統合 プロセス・オーナー:情報システム部門 画一的なプロセス

受注管理システム

在庫管理システム

生産管理システム

物流管理システム

会計管理システム

商品B

商品A

統合分散システム管理

受注管理システム

在庫管理システム

サービス サービス

生産管理システム

物流管理システム

サービス サービス

会計管理システム

サービス

受注

請求

生産

納品

商品A 受注

引当

納品

請求

商品B

疎結合型システム統合(SOA) プロセス・オーナー:サービス・ビジネス部門

事業部1 事業部2

統合分散システム管理

サービス管理

リポジトリ

Page 39: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

製造業生産方式との類似

動力系統機能

ボディ組立機能

電気系統組立機能

内装組立機能検査機能

生産機器 生産機器 生産機器 生産機器 生産機器

生産機器

生産機器

生産機器

生産機器生産機器

車種A 車種B

セル生産方式

作業台

ベルトコンベア

動力系統

ベルトコンベア生産方式ボディ組立

電気系統組立

内装組立

検査車種A

動力組立

ボディ組立

内装組立

電気組立

検査

セル制御

車種A

動力組立

ボディ組立

内装組立

電気組立

検査

セル制御

車種B

動力組立

ボディ組立

ベルトコンベア

電気組立

内装組立

検査

Page 40: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

変化を知る

変化を知る=ビジネス・イベント(受注など)を発起点に、終息点(商品の提供完了)に至るまで続くビジネス・フローを構成する複数のビジネス・プロセスと関連する資源(人、物、金)をEndToEndに把握する。

複数のビジネス・プロセスの接合(統合)が重要=>各ビジネス・プロセスを支援するシステムのシステム間の連携が必要

ビジネス・プロセスと資源の状態を統合的にモニタリングするためのシステムの機能が必要

Page 41: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ビジネス・モニタリングビジネス・プロセス部品を連結する部分で、個々のプロセスが出力する情報を搾取監視する。ビジネス・プロセス部品を連結する部分で、個々のプロセスが出力する情報を搾取監視する。

サービス

サービスサービス

業務遂レベル業務遂行プロセス 業務遂行プロセス

業務改革or戦略レベル モニタリング・プロセス

情報の搾取連結部分

契約プロセス

販売工程 製造工程 配送工程

商品A関連情報

製造オーダプロセス

モニタリング・プロセス

配送オーダプロセス販促計画プロセス

北米の販売状況から、1ヶ月後、現地工場生産がパンクする。半年間、

島根工場生産を充て空路輸送を使おう。販促は一週間前倒しで中断だ。

北米の販売状況から、1ヶ月後、現地工場生産がパンクする。半年間、

島根工場生産を充て空路輸送を使おう。販促は一週間前倒しで中断だ。

販促工程

ビジネス・モニタリング

Page 42: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOAのメリット

変化への対応

迅速なビジネスプロセスの組み換え

ビジネスとIT間のトレーサビリティ

事業者部門によるビジネスプロセス管理

変化の検出

組織(企業内、企業外)を横断したビジネス・モニタリングの実現

Page 43: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XML ConsortiumXML Consortium

© XML Consortium

サービスのオーケストレーション

Page 44: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

サービスの複合・連鎖 ワークフロー基盤

ワークフロー定義ファイル

サービスサービス

サービス

サービス

データ

データ

イベント・シンク

イベント・データ

イベント・データ

イベント駆動基盤

シンク定義ファイル

イベント・ソース

ソース定義ファイル

処理フロー制御は存在しない。イベント駆動基盤がイベントのルーティングを行う。

サービスサービス

サービス

サービス

処理フロー制御はサービス要求側が、実施する。プログラム・ロジックで実装することが多い。

処理フロー制御はワークフロー基盤がワークフロー定義ファイルに従い行う。

サービス

イベント定義ファイル

Page 45: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

サービス複合パターンの特徴

直接統合 ワークフロー型統合 イベント駆動型統合

同期性 同期 同期/非同期両方 非同期

送達確実性 ○ ◎ △

同報性 △ △ ○

拡張性サービス組替え

△ プログラム修正有り

○ ワークフロー修正 ◎ 設定変更

状態監視容易性 ◎ ○ △

ビジネス・プロセス実装

○ ビジネス・ロジックで実装

◎ ワークフロー定義言語で記述

△ ピア-ピア間のルーティングのみ

基盤確立初期コスト ◎ ○ △

用途 組替え頻度の少ない固定的な連携に向く

複合サービスの実現やビジネス・プロセスの部品化に向く

不特定多数のプロセスの結合に向く

Page 46: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

複合パターンの組み合わせ観光情報流通基盤を例に

サービス

イベント駆動基盤

サービス

サービスサービス

観光情報表計算ソフト

PDA

携帯

電子メールサービス

ワークフロー基盤

コンテンツ集配信ブローカ エンドユーザ向け情報提供直接統合

直接統合

ワークフロー型統合ワークフロー型統合イベント駆動型合

イベント駆動型合

Page 47: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

ワークフロー基盤の実現

Webサービス1

Webサービス2

Webサービス3

コーディネータ2

Webサービス4

Webサービス5

Webサービス6

コーディネータ1

ビジネスプロセス・モデル

ワークフロー

トランザクション管理

分散(協調処理)管理

WS 1 WS 3 WS 5

分散(協調処理)管理

トランザクション管理

ワークフロー

ビジネスプロセス・モデル

Page 48: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XML ConsortiumXML Consortium

© XML Consortium

まとめ

Page 49: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOAへの発展

システムや組織の境界にまたがって接続を行うことによる連携のメリットを享受

Webサービスの適用

既存アプリのSOAPラッピング

WSIFによるプロトコル透過な呼び出し

サービスの再利用によるプロセスの実現

組織内におけるビジネスプロセス実現の効率化

ツールによるプロセス定義

ワークフローエンジン

プライベートUDDIとサービスロケータによる検索

組織にまたがるビジネスプロセスの実現プロセス定義の事業部門への移管

SOAの展開

ビジネスモデリングからメッセージ設計までの一貫した手順の確立

サービス内容による検索

日本での現状はこの段階の半ばか

Page 50: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

SOA活用のために成すべきこと

1. ビジネスプロセス統合計画の作成(AsIsとToBe)

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

3. サービスリポジトリの導入

4. ビジネスプロセス統合基盤(ツール・体制)の整備

5. ビジネスオーナー支援の実現

Page 51: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

まとめSOAはアプリケーション・アーキテクチャ領域における概念で、特定の技術(Webサービスは技術)や製品に依存しないアーキテクチャ・パターン、デザイン・パターンなどの集合である。

SOAにおけるサービスは、シンプルなビジネス処理を提供するだけでなく、複数のビジネス・プロセス(部品)を組み合わせ統合するためのコネクタとして働く。

SOAは、サービスの実装手段に関与しない。唯一の制約はサービスのインタフェースを普遍的な記述方法により表現することである。

SOAはビジネスとITの橋渡しを担う。

ビジネスはサービスを操縦し、サービスはテクノロジーを駆動する。ビジネスはサービスを操縦し、サービスはテクノロジーを駆動する。

Page 52: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XML ConsortiumXML Consortium

© XML Consortium

よく使われる用語

Page 53: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

用語(1)

ビジネス・プロセス相互関連したタスクのセットであり,独立した機能間の橋渡しをするアクティビティーを実現するワークフロー作業が始まってから終わるまでたどる道筋のこと。ワークフローは処理ロジックおよび経路指定ルールから構成される。処理ロジックでは,ワークフロー・エンジンで実施された期限や他のビジネス・ルールの他,タスクの順序や従うべき経路指定ルールを定義する。

ビジネス・プロセスとワークフローの関係ワークフロー・ソフトウェアでは,ビジネス・プロセスを作成するわけではない。しかし,ワークフローをビジネス・プロセスに適用すると,ビジネス・プロセスの定義を設計したり,必要なビジネス・ルールの定義を付け加えたりする際に,そのプロセスを確実に明確化することができる。ワークフローは,ビジネス・プロセスに対する「誰が?何を?いつ?」という問いに答える実装を提供する。

プロセス定義ワークフローの処理ロジック要素およびそれらの関係を表した、グラフィカルなプロセス定義、もしくはプロセス・マップのこと。

参考資料:IBM Webサービス分野でのビジネス・プロセスおよびワークフロー等

Page 54: Service Oriented Architecture - XML Consortiumxmlconsortium.org/seminar/d05/data/prog1/20040122-02.pdf2004/01/22  · Service Oriented Architecture 概説 テクノロジー部会Webサービスワークグループ

XM

L C

onso

rtiu

mX

ML

Con

sort

ium

© XML Consortium

用語(2)

ワークフロー管理システムプロセス定義を格納し、ワークフロー・エンジンのコンポーネントを介してこれらのプロセス定義に基づいたジョブを実行するソフトウェア・アプリケーションのこと。ワークフロー・エンジンは、ランタイム実行モジュール。

プロセス定義ツールプロセス定義を作成および変更するために使用するソフトウェア・ツールのこと。そのツールは、ビジネス・プロセス管理ソフトウェアのコンポーネントの1 つであるかもしれないし、スタンドアロンのアプリケーション、またはワークフロー管理システムのコンポーネントの1 つである可能性もある。プロセス定義ツールは、保管されたワークフロー要素、およびすべてのサブプロセスまでも再利用する機能を提供し、ワークフローを構築して他のアプリケーションと統合する際に、一から再度考案する必要がないため、ワークフロー・アプリケーションの開発者の生産性を高めることができる。

ワークフロー構成者次のようなタイプの中のいずれか。リソース・セット、特定のリソース、組織単位、役割 ((組織内での人の機能)、人、もしくはシステム ((自動エージェント)。ビジネス・プロセスでの「誰が?」という問いに対する答えに当たるもの。

アクティビティプロセス定義において1 つの論理ステップを形成するタスクのこと。自動もしくは手動に行うことが可能。