bpel4wsを適用したプロジェクト 事例紹介 - xml...

Post on 05-Jun-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 1

BPEL4WSを適用したプロジェクト事例紹介

2004.05.17

(株)JIEC 技術統括室

坂下秀彦

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 2

本日の内容

■ プロジェクト開発の背景

◆ プロジェクトの目的

■ システム概要

■ 今回のシステムの特徴

◆ SOAP通信

◆ ワークフローエンジン

■ 構築期間

■ リリース後の評価

■ 今後の展開

■ SOAへの一歩を踏み出すために

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 3

お客様のご紹介

■ オーエスジー株式会社 (OSG Corporation)

■ 資本金 104億4百万円、東証・名証1部上場

■ 売上げ 平成15年度343億24百万円(単独)

■ 本社 愛知県豊川市

◆生産拠点、営業流通拠点を国内に、また海外にも多くの生産・販売拠点を持つ

■ 事業内容

◆切削工具・転造工具・測定工具・工作機械・機械部品の製造販売、工具の輸入販売、工業所有権等の取得、貸与、譲渡及びこれらの技術指導

■ 社会人バスケットボールチーム「OSG Phoenix」を傘下に持つ

■ 今回、「Web/Orderサービスシステム」を、OSG様、富士ゼロックス様、そしてJIECで構築

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 4

プロジェクト開発の背景

■ 「Web/Orderサービスシステム」の目的

全世界のOSGグループで共通に利用できる受注システムの構築

各OSGグループの主要情報システムとシステム間連携を行い、適切な業務プロセスの自動化を実現する

各OSGグループの在庫情報をリアルタイムに統合/照合を可能とすることで、見積もり,発注~出荷までの業務精度、スピードを向上させる

OSGグループ(海外)の発注者及びOSG国内の関連担当者は、注文受領~製品発送までの主要ステータスをオンラインで追跡できる

OSGグループ

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 5

システム概要

JASTシステム(.NETサーバー)

シンガポール

ワークフローエンジン

業務アプリケーション

メッセージコントローラ

メッセージコントローラ

アプリケーション・フレームワーク

(DALAN)

アプリケーション・フレームワーク

(DALAN)

特殊品管理システム(.NETサーバー)

製造進捗管理システム(.NETサーバー)

INVOICEシステム(.NETサーバー)

ORACLE 9i

I/F I/F I/FI/F

I/F I/F

SOAP

SOAP

CGIコール

IIOP(CORBA)

SOAP

注文 注文

ステータス照会

在庫照会

CORBAクライアント群

FTP

HTTP

■ システム概要

HOST

マレーシアインドネシア

日本

Web/Orderサービスシステム(Interstage Application Server Standard Edition V5.01)

図面管理システム(EDMICS)DALAN : JIEC開発のWebアプリケーションフィレームワーク

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 6

今回のシステムの特徴

■ システムの特徴(技術要素)

JASTシステムをはじめ、ホストを除く他システムとの通信にSOAPを適用

各業務要件をワークフロー化し、各アクティビティの実行/制御を行うワークフローエンジンを構築。また、プロセス定義言語にはBPEL4WSを使用

非同期メッセージサービスを実現するため、メッセージコントローラを構築。

永続/非永続モードの切替可能

発注書等の各帳票を、Apache.orgのFOP(Formatting Objects Processor)を使用し、PDF形式にて出力

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 7

SOAP通信 1/3

■ SOAP通信概要

JASTシステム(.NET) ⇔ Web/Orderサービスシステム(J2EE)

VBアプリケーション

サービス提供クラス

JASTシステム(.NET)

J2EEアプリケーション

サービス提供クラス

Web/Orderサービスシステム(J2EE)

サービス提供クラス処理結果

サービス提供クラス処理結果

稼動確認サービス

Proxy Class

INTER

STAG

E

Proxy Class

IIS / .NET

SOA

Pサービス・プロバイダー

SOA

Pサービス・プロバイダー

注文データ・アイテム1・アイテム2

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 8

SOAP通信 2/3

■ 開発を行って・・・

◆ メリット

導入の容易性異種プラットフォーム間の相互接続が容易に行える。Webアプリの設定も含めて、CORBAより低コストで実現できる。

機能拡張の柔軟性要件追加等により機能拡張が必要になった場合、1サービスの追加と考える事ができ、既存システムへの影響を最小限に抑えることが可能となる。

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 9

SOAP通信 3/3

◆ デメリット(但し、このコメントは2003年4月頃の時点でのものです)ベンダー依存

WSDLファイルより生成されるProxy Classは各ベンダーに依存したソースが生成される。

例えば、Apworksで生成したProxy ClassはINTERSTAGEでしか動作しない。

また、Proxy Classの生成手順,サービスプロバイダーへのDeploy手順等も各ベンダーによって異なるため、使用するアプリケーションサーバーによって難易度,コストが異なってくる。

→ .NET,INTERSTAGEにおいての各仕様,手順の調査を実施

オブジェクト型パラメータについてINTERSTAGE ⇔ .NET間のサービスメソッドは、プリミティブ型のみをパラメータに持つメソッドしか定義できない。オブジェクトをパラメータにもつメソッドを定義すると、WSDLファイルを取り込む際エラーとなってしまう。

→ パラメータをString型1つとし、中のデータをXMLとすることで回避

エラーオブジェクトの相違エラーオブジェクト自体が各ベンダー依存のものとなっているため、エラーをハンドリングする側(SOAP クライアント側)もベンダー依存のコーディングとなってしまう。

→ SOAP I/F用のラッパークラスを使用し、業務部分に依存コードが存在しない設計を実施

セキュリティ暗号化、電子認証等のセキュリティの仕組みがいまだ標準化されていないため、実装が困難,もしくはセキュリティ関連のパッケージ導入が必要となる。

→ 今回は基本的にイントラのシステムだったということも有り、対策なし。

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 10

ワークフローエンジン

■ 構成図

JOB1

JOB2

JOB3

アクティビティ2アクティビティ3

アクティビティ1

・・・

ワークフローエンジン

DALAN

業務アプリケーション

SOAP注文依頼HTTP request

HTTP response

TASK1

TASK2

プロセス定義データ(BPEL4WS)

メッセージ コントローラー

Message PutMessage GetHTTP

(ex.ステータス照会 ・・・)

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 11

業務フローの考え方

■ 新たに設計された業務毎のプロセス群を業務テンプレートと呼ぶ

■ 業務テンプレートは、複数のJOBにより構成される

◆個々のJOBがサービス

◆業務テンプレートはBPEL4WSで記述

■ 1つのJOBは複数のタスクから構成され、それをタスクテンプレートと呼ぶ

◆今回は1JOB:1タスクのみで、フローの入れ子はなし

◆ タスクテンプレートは独自XMLファイルで記述。将来的にはBPELに変更予定

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 12

ワークフロー記述

■ BPEL4WSとは米Microsoft、IBMおよびBEA Systemsの3社が、さまざまなWebサービスを含む業務処理や、社内外のメッセージ交換を標準化した業務処理を記述する言語として発表したもの(最新V1.1)で、現在OASISで標準化作業中(WSBPEL TC)。これからの業界標準となりうる可能性のあるフロー定義言語

<proc ess nam e="purc haseOrderProc ess" targetNam espac e="http://ac m e.c om /w s-bp/purc hase" xm lns="http://sc hem as .xm lsoap.org/w s /2002/07/bus iness -proc ess /" xm lns :lns="http://m anufac turing.org/w sdl/purc hase">

</proc ess>

<sequenc e><rec eive>

<reply><invoke>・・・

<faultHandlers>

</faultHandlers>

<c ontainers>

</c ontainers>

<partners>

</partners>

【パートナー】

・BPEL4W Sを処理するエンジンが呼び出す W ebサービスプロバイダー・UM Lで言えば、アクター(登場人物)

【コンテナ】

・パートナー間でやり取りを行うデータ、またはメッセージ(XM L)

【エラー処置】

・トランザクションが失敗した時の処置

【アクティビティ】

・フロー定義本体

<variables>

</variables>V1.1

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 13

内部処理の流れ

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 14

今回実装したBPEL定義体

■ 基本定義◆ process

◆ partners

◆ containers

◆ faultHandlers

■ 今回のプロジェクトのフロー処理で必要としたもの◆ アクティビティ

●ベーシックアクティビティ:receive, reply, invoke, wait, terminate, throw

●構造化アクティビティ:sequence, switch

■ 実装しなかったもの◆ compensationHandler, correlationSets, while, flow, scope等

■ XMLファイルとして作成したもの◆ ワークフローエンジン設定ファイル

◆ フロー定義ファイル、パートナー定義ファイルなど、制御用定義ファイル

◆ その他、プロパティファイル等

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 15

フロー定義の実例

■ BPEL4WSBPELファイル業務テンプレート

待機中処理

前処理(データチェック)

受注処理

データ異常 正常データ

データ修正処理非同期でJ0211を開始

ホスト停止中処理(標準品)

ホスト稼動確認処理

ホスト停止中 ホスト稼動中

受注完了処理

条件:完了通知受信

BPEL化

<sequence> <invoke name="J0201" partner="DALAN" inputContainer="containerA"/> <switch> <case condition="getContainerProperty('containerB','hostActiveFlg')=='0'"> <sequence> <invoke name="J0221" partner="DALAN" inputContainer="containerA"/> <wait until="getFlowInfoProperty('FLOWENGINE_JOBID')=='J0222'"/> <invoke name="J0222" partner="DALAN" inputContainer="containerD"> </invoke> </sequence> </case>

<case condition="getContainerProperty('containerB','hostActiveFlg')=='1'"> <sequence> <invoke name="J0213" partner="DALAN" inputContainer="containerA"/> </sequence> </case> </switch>

<terminate name="ter001"/></sequence>

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 16

構築期間

イテレーション1 : JASTシステムとの接続検証及び一部の業務アプリケーションデモイテレーション2 :全機能

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 17

リリース後の評価

■ 評価/感想

◆ お客様からの評価

●当初イメージしていたシステムが構築できた

●予想以上のスループット

╼ SOAP通信を採用するにあたって懸念していたパフォーマンスだが、お客様からは問題ないとの評価(3秒ルールを死守)

◆開発者からのコメント

●SOAP通信は簡単

╼ 初めての技術だったのではじめは苦労したが、結果的には非常に安易に接続が出来た

╼ 異種プラットフォーム間においては、CORBA通信より断然安易でかつ汎用性が高い

●ワークフローエンジンを改善していきたい

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 18

今後の展開

■ Web/Orderサービスシステム 今後の展開/課題

◆世界展開

今回は東南アジア地域(JASTシステム)への対応のみだったが、他のアジア地域、北欧,そしてアメリカなどの全OSGグループへの適用を考えている

◆ ワークフローエンジンの機能拡張

Webサービスを絡めたワークフローの実行

BPEL4WSの仕様を完全に網羅したパース機能

プロセス定義ツール(エディター)

トランザクション制御の実装

◆ SOAP通信

セキュリティの強化

UDDIサービスの使用(ローカルUDDI,グローバルUDDI)

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 19

SOAへの一歩を踏み出すために

■ お客様を中心とした業務分析が重要

◆現行システムフローの作成、新システムフローの作成

◆良い意味での、割り切りも必要

●現実的なシステムに落ち着く

■ システム化に関するこだわり

◆ システム間連携はWebサービスに統一する

◆ プロセスの組み換えが容易なワークフローシステムの導入

◆ UMLの積極活用

●ユースケース図、アクティビティ図、クラス図、シーケンス図

●業務フローの検討・見直しはアクティビティ図をベースに実施

■ 100点満点のシステムはありえない

◆ トレーサビリティ、モニタリングを開発プロセス(システムライフサイクル)の中で実施する

■ まずは、スモールスタートから始める

2004.5.17 XMLコンソーシアムWeek (C) 2004 JIEC Co., Ltd. All Rights Reserved. 20

Q&AQ&ADALANは、株式会社JIECの登録商標です。その他各種製品名は、各社の製品名称、商標または登録商標です。本資料に記載されているシステム名、製品名等には、必ずしも商標表示( (R)、TM )を付記していません。

top related