• 検索結果がありません。

WebサービスとCORBA

N/A
N/A
Protected

Academic year: 2021

シェア "WebサービスとCORBA"

Copied!
32
0
0

読み込み中.... (全文を見る)

全文

(1)

XML Consortium

XML Consortium

レガシー

APを

どのように

Webサービス化するか

モデル部会

WebサービスWG

報告者:NTT SOFT 妹尾正身 富士通 前田隆之

(2)

XML Consortium

XML Consortium

本日の発表内容

„

EAI製品によるレガシーAP連携方法

„

EAI製品Webサービス対応動向

„

レガシー

APの一般的Webサービス化手法

„

ビジネスプロセス記述方法

-- WSFL

„

ビジネストランザクション管理方法

-- BTP

„

考察

(3)

XML Consortium

XML Consortium

EAI製品における

レガシー

APの連携方法(1)

„ webMethods Enterprise „ 業務プロセス統合 „ Hub&Spoke „ エンジンとアダプタをメッセージングで連携 (publish/subscribe中心) „ 処理失敗時メッセージ再送(ロールフォワード)可能 webMethods Enterprise Server webMethods Enterprise Adopters メッセージ レガシー AP メッセージ

(4)

XML Consortium

XML Consortium

EAI製品における

レガシー

APの連携方法(2)

„ IBM MQSeries Workflow

„ ビジネスプロセスの定義と実行(ワークフロー) „ Hub&Spoke „ エンジンとアダプタをメッセージングで連携 (publish/subscribe中心) „ 処理失敗時メッセージ再送(ロールフォワード)可能 MQSeries Workflow サーバー MQSeries Workflow クライアント メッセージ レガシー AP メッセージ

(5)

XML Consortium

XML Consortium

EAI製品における

レガシー

APの連携方法(3)

„ J2EE上での連携

„ レガシーAPをEIS(Enterprise Information System)化 „ APサーバーからEJBコンポーネント経由で処理を呼出 „ ACIDトランザクションをサポート

„ ex. BEA WebLogic Application Integration

JCA, ワークフロー(RPCベース) AP サーバー EJB コンポーネント Call EIS Call

(6)

XML Consortium

XML Consortium

EAI製品

Webサービス対応動向(1)

„

webMethods Integration Platform

„ 統合ソフトウェア „ エンタープライズWebサービス „ ビジネスプロセスモデリング „ トランザクションの一貫性管理 „ バックエンドシステム・ビジネスプロセスの公開 „ Webサービスをビジネスプロセス中に統合

(7)

XML Consortium

XML Consortium

EAI製品

Webサービス対応動向(2)

„

IBM WebSphere Business Integrator

„ MQSeries Workflowを使用することによりビジネ スプロセス管理をサポート „ ビジネスプロセス(EJBまたはワークフロー)をWeb サービスとして発行可能 SOAP メッセージ Business Flow Manager Information Delivery Manager メッセージ レガシー AP メッセージ SOAP メッセージ

(8)

XML Consortium

XML Consortium

EAI製品

Webサービス対応動向(3)

„ BEA WebLogic Server

„ Webサービス対応

„ BEA WebLogic Integration

Business Process Management

„ フロー記述

„ メッセージング可能

„ ロングタームトランザクション管理

„ BEA WebLogic Workshop run-time framework

(9)

XML Consortium

XML Consortium

EAI製品

Webサービス対応動向まとめ

„ EAIエンジン/ APサーバのWebサービス生成機能は デフォルト „ EAIエンジン/APサーバが統合されてきている „ EAIでもビジネストランザクションが必要と見られてい る „ EAI自体のWebサービス化?

(10)

XML Consortium

XML Consortium

レガシー

APの

一般的

Webサービス化手法(1)

„ メッセージング主体(webMethods, IBMなど) „ レガシーAP自体は改造しない „ データ変換はアダプタで行なう(今回調査対象外) „ レガシーAPの非同期処理や並列処理機能の制約はアダ プタで吸収する SOAP メッセージ メッセージ EAIエンジン APサーバー レガシー AP アダプタ SOAP メッセージ メッセージ

(11)

XML Consortium

XML Consortium

レガシー

APの

一般的

Webサービス化手法(2)

„ メッセージング主体(webMethods, IBMなど) (続) „ レガシーAPの利用手順をエンジンからのメッセージ送信順 (ビジネスプロセスの一部)としてエンジンに記述 „ ビジネストランザクション管理は、そのEAIエンジンでの実現 方法や、レガシーAPによってはアダプタで対応する必要が ある SOAP メッセージ メッセージ EAIエンジン APサーバー レガシー AP アダプタ SOAP メッセージ メッセージ

(12)

XML Consortium

XML Consortium

レガシー

APの

一般的

Webサービス化手法(3)

„ J2EE主体 „ (データ変換は今回調査対象外) „ レガシーAPをEISに改造 ACIDトランザクション管理可能に „ EJBコンポーネントを(RPC型)Webサービスにして公開 „ ビジネスプロセス記述・ビジネストランザクション管理はEISな ので、自身としては必須ではない SOAP リクエスト APサーバー EJB コンポーネント Call EIS Call SOAP レスポンス

(13)

XML Consortium

XML Consortium

レガシー

APの

Webサービス化手法のうち

一般化可能な項目

„ ビジネスプロセス記述方法 „ ベンダー独自の構文のビジネスプロセス記述言語 „ ビジネストランザクション管理 „ 一般的な方法は定まっていない „ どのように組み合わせられるのか? „ 標準に基づいて記述できないか?

(14)

XML Consortium

XML Consortium

ビジネスプロセス記述言語・

ビジネストランザクション管理の

位置付け

BIC(Business Internet Consortium)によるB2B Integration Conceptual Model

M a na ge men t Business Conceptual Model (Definitions, format, structure, and choreography) Technical Conceptual Model (Standards, protocols and tools) ビジネス トランザクション 管理 ビジネスプロセス 記述言語 Sec u ri ty Backend Integration Service Oriented Architectures Network Transport Core XML Standards Messaging Service Definition Language Repository Derectory / Registry

Process Description Language Business Content Service Definition

Universal Business Processes Universal Business Content

Specialized Business Processes Specialized Business Content

Business Process Instance Business Content Instance

Tr ading P a rtne r Agr e e m e n t

(15)

XML Consortium

XML Consortium

ビジネスプロセス記述言語・

ビジネストランザクション管理の標準

„ ビジネスプロセス記述言語

„ WSFL(Web Services Flow Language, IBM) „ その他に、XLANG(MS)等

„ ビジネストランザクション管理

„ BTP(Business Transaction Protocol, OASIS) „ その他に、Tentative Hold Protocol(W3C)、

(16)

XML Consortium

XML Consortium

WSFLについて

„ Web Services Flow Languageの略 „ 2001年3月にIBMから提案 „ 複数のWeb Servicesを組み合わせ、複合Web サービスを作成するためのXML言語 „ 以下の2つのモデルで構成 „ Flow Model „ ビジネスプロセスをモデル化 „ アクティビティを定義し、アクティビティを呼び出す順番やデータの流 れを記述 „ Global Model „ Webサービス間の会話パターンを記述 „ アクティビティを実装に結びつける

(17)

XML Consortium

XML Consortium

WSFL作成の流れ(例)

z ビジネスプロセスの記述 z WSDLの記述 z Flow Modelの記述 z Global Modelの記述 z 個々のWeb Servicesの実装 z WSFLの登録・実行

(18)

XML Consortium

XML Consortium

ビジネスプロセスの記述

„ UML等を利用したダイアグラムの作成 „ 将来的にはWSFL用の開発ツールの利用 旅行予約の例 予約受領 日程調整 旅客機予約 予約完了 旅行の予約 完了通知受領 旅行者 旅行会社 航空会社 ホテル予約 ホテル

(19)

XML Consortium

XML Consortium

WSDLの記述

„ message要素の定義 „ 各アクティビティ間でやり 取りされるメッセージ „ 外部のWebサービスと やり取りされるメッ セージ „ portType要素の定義 „ operation要素により メッセージの操作方法を 定義 旅行者 旅行会社 ticketBuyer tripHandler receiveIntinerary sendIntinerary sendTripOrder receiveTripOrder 航空会社 ticketRequester ticketHandler receiveTicketOrder requestTicketOrder ホテル roomRequester roomHandler receiveRoomOrder requestRoomOrder

(20)

XML Consortium

XML Consortium

Flow Modelの記述

„

ビジネスプロセスから

XMLへのマッピング

A B C D E ホテル 航空会社 <export> <flowSource> <dataLink> <controlLink> <serviceProvider> <activity> <flowModel> <wsdl:operation>

(21)

XML Consortium

XML Consortium

アクティビティの記述

„ アクティビティはWSDLで記述されるWebサービスとし て実装 „ 外部Webサービス „ 内部Webサービス „ EXE/CMDファイル

„ Customer Information Control System (CICS) Programs „ Java Class

(22)

XML Consortium

XML Consortium

Global Modelの記述

A B C D E ホテル 航空会社 <locator> <serviceProviderType> <wsdl:operation> <globalModel> <plugLink>

(23)

XML Consortium

XML Consortium

Web Servicesの実装(1)

„ WSDLを記述し、一般的なWebサービスの実装 „ 各サービスプロバイダはserviceProviderTypeで記 述されたWebサービスインタフェースを実装 „ 実装したWebサービスをGlobal Modelにプラグイン „ serviceProvider/locator要素で以下のような配置パ ターンを指定 „ 静的配置 „ ローカルに配置 „ UDDIを利用 „ ビジネスプロセス内の他のアクティビティにより決定される動的配 置

(24)

XML Consortium

XML Consortium

Web Servicesの実装(2)

(WSDLの拡張性要素)

<definitions name="CreditCardVerifier" targetNamespace="http://example.com/creditCardVerification .wsdl" xmlns:java="http://schemas.xmlsoap.org/wsdl/java"> <binding name="LocalCardVerifier" type="tns:CreditCardVerificationPortType"> <operation name="verifyCard"> <java:operation javamethod="verifyCreditCard"/> <input> <java:typemapping name="tns:creditCard" class="com.example.verifier.CreditCard" serializer="com.example.verifier.CardSerializer" deserializer="com.example.verifier.CardSerializer"/> </input> </operation> </binding> <service name="CreditCardVerificationService"> <port name="CreditCardVerificationPort" binding="LocalCardVerifier"> <java:provider class="com.example.verifier.CardVerifier"/> </port> </service> </definitions> „ WSDLのbindingを利 用 „ bindingで記述できるプ ロトコルならばWSFL内 でも利用可能 •レガシーAPとの通信で利用 可能 •必要に応じてアダプタ/フィ ルタを実装 •レガシーAPとの通信で利用 可能 •必要に応じてアダプタ/フィ ルタを実装

(25)

XML Consortium

XML Consortium

WSFLの登録・実行

„ 作成したWSDL定義, Flow Model, Global Model

をWSFL実行エンジンに登録

„ 外部公開インタフェース用のWSDLはWSFL実行エン

ジンが自動的に作成か

„ 登録したモデルを他のモデルにアクティビティとして組

(26)

XML Consortium

XML Consortium

BTPについて

„ Business Transaction Protocolの略

„ OASISで制定(Committee Specification 1.0, 3 June 2002) „ Webサービスのビジネストランザクションを実現 2フェーズコミット „ ビジネストランザクションに参加するWebサービスはす べてBTPを理解しなければならない

(27)

XML Consortium

XML Consortium

BTPを利用したメッセージの流れ

REQUEST_CONFIRM CONFIRMED 予約完了通知 CONFIRMED CONFIRM CONFIRMED CONFIRM PREPARED PREPARE PREPARED PREPARE CONTEXT_REPLY ENROLLED ENROL CONTEXT 飛行機予約 CONTEXT_REPLY ENROLLED ENROL CONTEXT ホテル予約

BEGUN & CONTEXT

Create BEGIN 旅行の予約 BTP Factory BTP Coordinator 旅行会社 旅行者 ホテル 航空会社

(28)

XML Consortium

XML Consortium

WSFLからのBTPの利用

ホテル予約のFlow Model BTP Coordinator 旅行会社 CONFIRM CANCEL NG OK „ ビジネストランザク ションを管理する サービスプロバイダ が存在 „ WSFLの制御を利 用 „ 遷移条件 „ 結合条件 „ 終了条件 <controlLink ... transitionCondition=‘CONFIRM’/>

(29)

XML Consortium

XML Consortium

考察

(1)

„ 処理実行順や非同期処理を持つレガシーAPのビジ ネスプロセス記述によるWebサービス化がWSFLで可 能であることを確認した (メッセージング主体でも、J2EE主体でも) „ WSFLのアクティビティ処理実行順の記述はエンジン による実行用であり、外部に利用手順として公開す る情報としては適さない →公開には、WSCLもしくはさらに高機能な 公開処理順記述言語が適切

(30)

XML Consortium

XML Consortium

考察

(2)

„ レガシーAPのビジネスプロセス記述によるWebサービ ス化において、ビジネストランザクション管理をビジネス プロセスの一部として標準に基づいて実現可能であ ることを、 WSFLでのBTP記述により確認した „ とはいえ、WSFLでのBTP記述は実際のシステムでは かなり複雑になりそうであり、ビジネストランザクション 記述方法にはさらに検討が必要である

(31)

XML Consortium

XML Consortium

考察

(3)

„ EAIは「内部Webサービス」を含めた広義のWebサー ビスに統合される可能性がある „ 現状プロプライエタリなEAIでのメッセージングは以下の形に 標準化 „ レガシーAPのWebサービス化はアダプタ開発に集約 „ ビジネストランザクションの有無等Webサービス化レベルは アダプタに依存 SOAP メッセージ 広義のSOAP メッセージ Webサービス ビジネス プロセス エンジン Webサービス アダプタ レガシー AP SOAP メッセージ 広義の

(32)

XML Consortium

XML Consortium

参考

URL

http://www.w3c.org/TR/wscl10/ WSCL http://www.oasis-open.org/committees/business-transactions/index.shtml BTP http://www-4.ibm.com/software/solutions/webservices/pdf/WSFL.pdf WSFL http://www.businessinternetconsortium.org/members/docs/XMLWhite Paper.html BIC

参照

関連したドキュメント

Aruba 500 シリーズキャンパスアクセスポイント (AP-504 および AP-505) は、コントローラベース (ArubaOS) または コントローラレス (Aruba Instant)

東京都は他の道府県とは値が離れているように見える。相関係数はこう

サーバー費用は、Amazon Web Services, Inc.が提供しているAmazon Web Servicesのサーバー利用料とな

(( .  entrenchment のであって、それ自体は質的な手段( )ではない。 カナダ憲法では憲法上の人権を といい、

一方で、自動車や航空機などの移動体(モービルテキスタイル)の伸びは今後も拡大すると

日本フォーマットには現在、トルコの一般的な検体方法である、咽頭ぬぐいと鼻ぬぐいの混合 Combined Throat And Nose

化管法、労安法など、事業者が自らリスク評価を行

特に LUNA 、教学 Web