50
<Insert Picture Here> Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介 日本オラクル株式会社 Fusion Middleware事業統括本部 20121

Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Embed Size (px)

DESCRIPTION

Oracle BPEL Process Manager はオラクルのビジネス統合ソリューションに不可欠の要素です。本資料ではOracle BPEL Process Manager の概要と11gでの新機能をご紹介いたします。

Citation preview

Page 1: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

<Insert Picture Here>

Oracle SOA Suite 11g

Oracle BPEL Process Manager ご紹介 日本オラクル株式会社 Fusion Middleware事業統括本部 2012年1月

Page 2: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 4

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

Page 3: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 5

SOA 11g 新機能概要

Page 4: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

CORBA

EAI メッセージング

Webサービス

BPEL ESB

サービス基盤 11g

10.1.3

10.1.2

J2EE

• 開発の容易さ

• ランタイムの最適化

• 運用管理の容易さ

• 標準技術への準拠

XSLT XML

SCA

WSDL

サービス基盤の変遷

6

Page 5: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 7

SOA 10gの課題

• 複数の開発環境

• 開発ライフサイクルが複雑

• ツール習得が困難

• 複数のランタイム

• サービス間のオーバーヘッドが増大

• 設計/構築が困難

• 複数の運用環境

• 複数ランタイムごとの運用管理が煩雑

• サービスをまたがった実行結果の追跡が困難

Page 6: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 8

SOA 11g開発テーマ

• Service Component Archtecture (SCA)への対応 • 統合開発環境:SOA Composite Editor

• 統合ランタイム:Service Infrastructure

• 統合運用環境:Fusion Middleware Control

• 統合サービス/イベント基盤

• WebLogic Server 11gとの完全な統合

• SOA 10gからの容易なアップグレード

Page 7: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 9

Service Component Architecture

(SCA)とは? ①

Service Component Architecture(SCA): • 開発言語に非依存

• コンポーネント指向

• アセンブリ手順の標準化

• 多くのベンダー参加による仕様策定

• http://www.OSOA.org

• OASISによる標準化

SCAの技術要素:

• コンポジット:デプロイの単位

• サービス:コンポジットへの呼び出しインタフェース

• コンポーネント:ビジネスロジックの提供

• リファレンス:外部サービスへの参照

• ワイヤ:サービス、コンポーネント、リファレンスへの接続

C1

C2

ワイヤ

コンポーネント

コンポジット

サービス

リファレンス

S

R

S S

R

R

プロパティ

Javaインタフェース

WSDLポートタイプ

バインディング:

SOAP

JMS

JCA

Page 8: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

Service Component Architecture

(SCA)とは? ②

• コンポジットがデプロイ単位となる

• 標準化されたアセンブリ手順

• コンポーネント、サービス、リファレンス、ワイヤ

• コンポーネントは様々な実装を含めることができる

• Mediator、BPEL、Human Workflowなど

Mediator

BPEL

ワイヤ

コンポジット

サービス リファレンス

S S

R

R

プロパティ

BPEL

WS

WS

WS R

S

S

R

R

R

10

Page 9: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

メディエーション

オーケストレーション

ビジネス・ルール

ワークフロー

Webサービスや アダプタ

サービス・コンポーネントと アダプタのパレット

11

SOA Composite Editor SOA統合開発環境

Page 10: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

11g Service Infrastructure

Business Rules

Mediator BPEL Human

Workflow

Oracle Service Bus

リポジトリ

BAM

B2B

サービス間連携、オーケストレーション

共有サービス、サービスの仮想化

Service Infrastructure SOA統合ランタイム

12

最適化された連携

開発者

運用管理者 Fusion Middleware Control

SOA Composite Editor

JCAアダプタ セキュリティ・ポリシー イベント配信基盤

Microsoft IBM SAP Siebel People

Page 11: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 13

Fusion Middleware Control SOA統合運用環境

テスト実行

エラー

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

FMW コンポーネント

ドリルダウン・ トラッキング

Page 12: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 14

WebLogic Server 11gとの統合

• インストーラの統合

• ランタイムの統合

• Java EE/Springコンテナ

• WebLogic Server JMS

• トランザクション管理/スレッド管理

• システムアーキテクチャ

• WebLogicドメイン

• 高可用性

Page 13: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 15

BPEL Process Manager

1. BPEL Process Manager概要

2. SCAとBPEL

3. 11gでの新機能

4. Business Process Analysis Suite 11gとの連携

Page 14: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

Oracle BPEL Process Manager概要 サービス・オーケストレーションを実現するサービス・コンポーネント

16 16

Service Consumer

BPELプロセス

Assign

Invoke

Receive

Reply

Switch

Transform

Human

Task

Assign

Invoke

Invoke

Invoke

レガシートランザクション

Javaサービス

ERP

(Oracle EBS 、SAP …)

ユーザ・タスク

(ワークフロー)

データベース

ストアドプロシージャ

レガシー

JEEアプリ

Webアプリ

BPEL PMの特徴

BPELにネイティブ準拠

SCAコンポーネント

使い易いモデリングツール

スケーラブルで信頼性の高い実行

エンジン

ヒューマン・ワークフロー連携

リッチな管理環境とモニタリング機能

外部サービスと連携可能な意思決定サービス(Business Rules)

Page 15: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

BPEL4WSに完全準拠

17

BPELプロセスのソース (XML)

GUIによるプロセス開発 BPEL4WS

• Business Process Execution Language (ビジネス・プロセス実行言語)

• OASISで標準化策定

• Oracle、IBM、MS、SAP、Sun、Tibco、webMethods、NECなどが参加

•ベンダ固有のプロセス定義言語によるロックインを回避

•プロセス定義の再利用性と相互運用性の 向上

•ビジネス・プロセスの流れ (サービス呼び出し、分岐処理などのロジック、変数操作など) をXMLで記述

• BPELプロセス自体も1つのWebサービスと して外部から呼び出し可能

Page 16: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 18

BPEL4WS

Oracle BPEL Process Manager 概要

• 『サービスを連携させる機能』は非常に重要ですがOracle BPEL Process Manager

およびOracle SOA Suite 11gでは、『連携させる』だけではなく、監視、管理、その他システム構成上求められる多くの機能が提供されます。

• 取り扱うBPELのソースコードは標準( BPEL4WS )に準拠しているため、上流の

設計ツール(Oracle BPA Suite)で生成されたBPELファイルをインポートして

コンパイル、実行することもできます。

• 開発生産性、運用管理性を考慮した様々な機能により、『BPEL』を扱う最適な環境が提供されます。

『連携させて動作させる』だけではなく、

監視や管理コンソールなど様々な付加機能を提供

Oracle BPEL Process Manager

BPEL4WSに完全準拠

付加機能

BPEL拡張

BPEL4WSで不足している関数や

ワークフロー機能などを拡張

Workflow

Business Rules

Page 17: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

アーキテクチャおよびデプロイメント

19

11g Service Infrastructure

Business Rules

Mediator

Policy Manager

BPEL Human

Workflow

Common JCA-based connectivity infrastructure

SCAコンポジット

BPEL

Human

Task

Rules

SOA Composite Editor

Dehydration Store

MDS

Web-based console

BPEL Designer

SAR (サービス・ アーカイブ)

BPELコンポーネント BPA Suite

BPEL

Page 18: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

監視・管理機能

接続対象

20

SOA Service Infrastructure の全体像(概要) • 以下が全体の概要図になります。この各機能に関して一つ一つ解説して行きます。

WebLogic Server

Oracle Portability Layer (JRF) / OWSM / EDN / UMS

Service Infrastructure (SCA)

Service Engines Binding Component

Business Rules

Mediator Human

Workflow

BPEL Webサービス

JMS

JCA

Database

File

Socket

B2B

Service Consumer

レガシー

JEEアプリ

Webアプリ

Oracle JDeveloper

FMW Control

BPELプロセス/ SCAコンポジットの

開発

BPEL Process Instance

BPEL Process Instance

BPEL Process Instance

Page 19: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 21

SOA Service Infrastructureの全体像(概要) • BPEL プロセスの実行に関連するコンポーネントについての紹介 ① フロント・インターフェース:サーブレット

クライアントからのリクエストを受け付けるフロント部分はサーブレット(FabricProviderServlet)で構成され、SOAP Binding

ComponentからFabricを介して適切なサービス・エンジンでリクエストを処理します。

② Binding Component:WSDL JCA Binding

外部サービスとのメッセージのやり取りはプロトコルに応じたBinding Componentを介して処理されます。

③ BPELエンジン:EJB

BPELプロセス定義を解析し、定義されたフローに従って処理を実行します。

BPELプロセス内のすべてのデータはXMLとして処理されています。

④ MDS(Oracle Metadata Services) Repository : O/Rマッピング - RDBMS

デプロイメントやバージョンなどのBPELを含めたコンポジットに関するメタデータを格納・管理します。

⑤ Dehydration Store : O/Rマッピング - RDBMS

MDSに登録されたコンポジット・インスタンスの実行状況、メッセージ等の情報が記録されます。

終了までに長時間かかるようなプロセスをサポートするためには必須の機能で、Dehydration Storeと呼ばれます。

接続対象

WebLogic Server

Oracle Portability Layer (JRF) / OWSM / EDN / UMS

Service Infrastructure (SCA)

Service Engines Binding Component

Business Rules

Mediator Human

Workflow

BPEL Webサービス

JMS

JCA

Database

File

Socket

B2B

Service Consumer

レガシー

JEEアプリ

Webアプリ

BPEL Process Instance

BPEL Process Instance

BPEL Process Instance

1 2

3

4

5

1 2 3

4 5

Page 20: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 22

SCA Composite との連携

• Binding Componentに関して解説致します。

監視・管理機能

接続対象

WebLogic Server

Oracle Portability Layer (JRF) / OWSM / EDN / UMS

Service Infrastructure (SCA)

Service Engines Binding Component

Business Rules

Mediator Human

Workflow

BPEL Webサービス

JMS

JCA

Database

File

Socket

B2B

Service Consumer

レガシー

JEEアプリ

Webアプリ

Oracle JDeveloper

FMW Control

BPELプロセス/ SCAコンポジットの

開発

BPEL Process Instance

BPEL Process Instance

BPEL Process Instance

Page 21: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

外部参照 コンポーネント 公開された

サービス

BPEL Process

Assign

Invoke

Receive

Reply

Switch

Transform

Human

Task

Invoke

23

SCA Composite との連携 • Webサービスを利用した連携

SCA Compositeと連携する事ができる対象は様々です。Webサービスを提供しているシステム/アプリケーションであれば連携する事は容易です。

SCA Composite内部のBPELプロセスやその他のコンポーネントは外部から直接アクセスすることは無く、Service(公開されたサービス)を通じて呼び出されます。

また、SCA Componentから外部サービスを呼び出す場合にも同様に、Reference(外部参照)を通じて呼び出されます。これらServiceおよびReferenceの実体がBinding

Componentです。

Reference Service

Consumer

WebService Client

Java Webアプリ BPEL C# …

Web

Service

BPEL Process

Assign

Invoke

Receive

Reply

Switch

Transform

Human

Task

Invoke

外部Web

Service

Service Binding Component Reference Binding Component

Page 22: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

外部参照 コンポーネント

24

SCA Compositeとの連携 • Webサービスを実装していないシステムとの連携

前述の通り、Webサービスを実装しているシステムであれば連携は容易ですが、様々なアプリケーションが全てWebサービスを実装しているわけではありません。 既存の資産と連携させて動作させるには様々な形式のアプリケーションと接続する必要があります。

この様々なアプリケーションから出力されるデータをBPEL上で扱うキーテクノロジと して大きく3つの方法があります。

Oracle SOA Suite 付属のOracle JCA Adapter を使用した連携 外部ファイルやDBへのアクセスなどのような一般的に使われがちな外部処理をすぐに利用できるように、Oracle SOA Suiteに付属するOracle JCA Adapterアダプタ(File / FTP / JMS / DB / MQ / AQ / Socket)を使用する方法

オラクルが提供するオプションのOracle JCA Adapter を使用した連携 オラクルが提供しているオプションのアダプタ(Oracle EBSやSAP、SIEBEL、JD Edwards といったERP製品など)が提供されています。

3rdパーティ製アダプタを使用した連携 3rdパーティ製アダプタを使用する方法があります。(iWay, Attunity)

※ JDBCドライバーを置き換えることで様々な データベースへ接続が可能になります。 様々なデータベース連携する必要がある場合でもであってもOracle以外のデータベースと接続して コンポジットを構築する事ができます。

DB2

Oracle

Other

JDBC

例)データベース・アダプタ

Database

Adapter

BPEL Process

Assign

Invoke

Receive

Reply

Switch

Transform

Human

Task

Invoke

Page 23: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

(参考)JCA Adapter 11g ラインナップ

• Oracle JCA Adapter (日本オラクルが販売、サポート)

• テクノロジ・アダプタ(標準アダプタ)

• ファイル/FTP

• データベース

• JMS

• IBM MQSeries

• Oracle AQ

• Socket

• パッケージアプリケーション・アダプタ

• Oracle E-Business Suite

• Siebel

• PeopleSoft

• JD Edwards

• SAP R/3 、mySAP

• レガシー・アダプタ

• VSAM

• CICS

• IMS/DB

• IMS/TM

• Tuxedo

• iWay アダプタ

• 250以上のアダプタを提供

• アイウェイ・ソフトウェアが販売、サポート

• データ・アダプタ • Adabas、Adabas/C、C-ISAM、CA-IDMS、Essbase、

InfoMan、Millennium、MUMPS、NOMAD、Nucleus、PROGRESS、RMS、SUPRA、TOTAL、UNISYS DMS II、UniVerse など

• テクノロジー・アダプタ • C、C++、COBOL、COM、FOCUS、FORTRAN、JacORB、

MS Exchange (MAPI)、Orbix、Pascal、Python、RPG、Visibroker など

• アプリケーション・システム・アダプタ • Baan、BroadVision、Clarify、i2、Lawson、Vantive など

• トランザクション・プロセッシング・アダプタ • Software AG Natural など

• ターミナル・エミューレーション・アダプタ • 3270 (メインフレーム、zSeries)、5250 (AS/400、iSeries)

• E-ビジネス・アダプタ • AS1/AS2/AS3、ebXML、EDI-ANSI X12、EDI-EDIFACT、

EDIG@S、EDIINT、FIX、FIXML、HIPAA、HL7、ISO 15022、OAG BOD、SWIFT、SWIFTML、UCCnet、xCBL など

25

無償利用可能

Page 24: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 26

Oracle JDeveloper におけるBPELプロセス・フロー設計

• BPELプロセス・フローの設計はOracle JDeveloperで行います。

監視・管理機能

接続対象

WebLogic Server

Oracle Portability Layer (JRF) / OWSM / EDN / UMS

Service Infrastructure (SCA)

Service Engines Binding Component

Business Rules

Mediator Human

Workflow

BPEL Webサービス

JMS

JCA

Database

File

Socket

B2B

Service Consumer

レガシー

JEEアプリ

Webアプリ

Oracle JDeveloper

FMW Control

BPELプロセス/ SCAコンポジットの

開発

BPEL Process Instance

BPEL Process Instance

BPEL Process Instance

Page 25: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 27

Oracle JDeveloper におけるBPELプロセス・フロー設計 • 『BPELプロセス・フロー 』のデザインにはOracle JDeveloperを使用します。フローは全て

BPELで記述しますが『各サービス間の連携で流れているデータ、流れの中で処理されているデータ』 は全てBPEL内部の変数として処理されています。

様々なサービス連携におけるプロセス統合をGUIで定義

BPELダイアグラム・ビュー

BPELソース・ビュー

SCA Composite ダイアグラム・ビュー

特徴:

BPELのネイティブ・サポート

ドラッグアンドドロップ方式のプロセス・モデラー

Universal Description, Discover, and Integration(UDDI)および Web Services Inspection Language(WSIL)との接続

ビジュアルXPathエディタによる開発支援

ワンクリックによる作成とデプロイが可能

JDeveloperによって作成されたBPELフロー定義はJDeveloper上で コンパイルされClassとなる。※インタプリタではない

ドラッグ&ドロップで

プロセスフローのモデリング

GUIでのフロー定義を行うと

BPELソースが生成される

Page 26: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

開発手順イメージ - Drag & Drop操作によるプロセス開発

28

1. SOA Composite Editorにて、 コンポジットを開発

2. BPEL Designerにて、BPELプロセスを開発

一般的な手順:

1. 事前設定: XMLスキーマ、変数の定義

2. パートナー・リンクとのやり取り (Invoke, Receive, Reply) の設定

3. 他のサービス・コンポーネント (Human Task, Rules) の埋め込み

4. フロー (Switch, Flowなど) の作成

5. 変数間のデータ・コピー (Assign, Transform) の設定

一般的な手順:

1.コンポーネントの配置

• BPELコンポーネント

•他のサービス・コンポーネント

•バインディング・コンポーネント

2.コンポーネントのワイヤ接続

Page 27: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

Oracle JDeveloper におけるBPELプロセス・フロー設計

• BPELプロセスでは以下の事項を定義します。 • フロー制御

– 条件分岐(Switch アクティビティ)

– 並行処理(Flow, FlowNアクティビティ)

– 繰り返し(While アクティビティ)

– 例外処理(Catch, CatchAll ブランチ、Throwアクティビティ)

– 割り込み処理(Pick アクティビティ)

• 内部XMLデータの変換

– XPath関数を利用した変換(Assign アクティビティ)

– XSLTを利用した変換(Transform アクティビティ)

• 外部サービスとの連携

– 呼び出し(Invoke アクティビティ)

– 結果の取得(Receive アクティビティ)

• 拡張機能

– 埋め込みJavaコードの実行(JavaEmbedding アクティビティ)

• また、以下のコンポーネント間の連携の詳細を定義できます。 • Oracle User Messaging Service

– E-mail

– Instant Messenger など

• 他のSCAコンポーネント

– Human Workflow Service (Human Task)

– Oracle Business Rules (Decision Service)

• Binding コンポーネント

– Oracle JCA Adapter(File / FTP / DB / JMS / MQ / AQ / Socket など)

29

BPELプロセス・フローの作成とサービス連携の定義情報を記述する XMLファイルを構文を意識せずにビジュアルに構成できるよう Oracle JDeveloperが提供されています

BPELアクティビティ

JCA アダプタ

Page 28: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

Callback(非同期:双方向) One-Way(非同期:一方向) Request-Response(同期)

30

Oracle JDeveloper におけるBPELプロセス・フロー設計

• 同期型と非同期型に関して Webサービスには同期型と非同期型の連携方法があります。同期型Webサービスは、呼び出し側は処理が完了するまで待機状態になりますが、非同期型Webサービスの場合は、呼び出し側はWebサービスの処理の進捗状況に関わらず、自分のフローを進めることができます。一般に、BPEL仕様において非同期型Web

サービスと連携する場合には、相関セット(CorrelationSet)を設定する方法とWS-Addressingを使用する方法がありますが、Oracle BPEL Process Managerはその両方に対応しています。

JDeveloperでBPELプロセスを新規作成する場合、プロセスのタイプとして同期、非同期または一方向かを選択できます。ここで非同期を選択すると、BPELプロセスがBPELサーバーにデプロイされるときに、WS-

Addressingを利用したWebサービスとして構成されます。

他のシステムとのメッセージの受け渡しの基本的な方法は以下の3種類です。

クライアント サーバー 要求元 要求先 クライアント サーバー

リクエスト

レスポンス

イベント リクエスト

レスポンス

ブロックされる

ブロックされない

Page 29: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 31

SOA環境の監視・管理 • SOA環境の監視・管理はFusion Middleware Controlで行います。

監視・管理機能

接続対象

WebLogic Server

Oracle Portability Layer (JRF) / OWSM / EDN / UMS

Service Infrastructure (SCA)

Service Engines Binding Component

Business Rules

Mediator Human

Workflow

BPEL Webサービス

JMS

JCA

Database

File

Socket

B2B

Service Consumer

レガシー

JEEアプリ

Webアプリ

Oracle JDeveloper

FMW Control

BPELプロセス/ SCAコンポジットの

開発

BPEL Process Instance

BPEL Process Instance

BPEL Process Instance

Page 30: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

管理操作イメージ - ドリル・ダウンによる一元管理

32

1. 実行中/完了したコンポジット・インスタンスのリスト

2. コンポジット・インスタンスの実行結果トレース

3. BPELコンポーネントの実行結果トレース

4. BPELアクティビティの詳細

Page 31: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 33

BPEL Process Manager

1. BPEL Process Manager概要

2. SCAとBPEL

3. 11gでの新機能

4. Business Process Analysis Suite 11gとの連携

Page 32: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

BPEL Designer

SCAとBPEL - SCA視点とBPEL視点でのシームレスな開発

34

SOA Composite Editor

A) SCAコンポジット上でBPELコンポーネントに サービス, 参照, コンポーネントをワイヤ接続する

BPELコンポーネント上に、対応するパートナー・ リンクが追加される

(B)

(A)

B) BPELコンポーネント上でWebサービス、アダプタ、 サービス・コンポーネントを追加する

SCAコンポジット上に、対応するコンポーネントが、BPELとワイヤ接続された形で追加される

Page 33: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

BPEL視点でのSCA対応の利点 開発生産性の大幅な向上

35

コンポジット内での他のサービス・コンポーネントと組合せ

• 統合開発環境: ワイヤによるコンポーネントの組合せ

• 統合実行環境: サービス・コンポーネント間コミュニケーションの最適化

• 統合モニタリング環境: コンポジット実行結果を統合表示

コンポジット内で複数のBPELプロセスを開発

• 親子関係、依存関係のあるBPELプロセス間の関係性の可視化

• リソースの共有:

• WSDL, xsd, XSLT等の定義ファイル

• Binding Component (パートナー・リンク、アダプタ)

開発タスクの分離

• サービス接続設定 (バインディング定義) SOA Composite Editor(*10gでは、BPEL Designer内でパートナー・リンク追加時に設定)

• プロセス・フロー定義 BPEL Designer

• 他のサービス・コンポーネントの開発 各コンポーネントのEditor画面(*10gでは、BPEL Designer内でアクティビティ追加時に設定)

Page 34: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 36

BPEL Process Manager

1. BPEL Process Manager概要

2. SCAとBPEL

3. 11gでの新機能

4. Business Process Analysis Suite 11gとの連携

Page 35: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

11gリリースにおける新機能

1. Scalable DOM

• メッセージ・ペイロード全体をJVM上に

展開せず、DBに格納して利用

2. エンティティ変数

• SDO / ADF-BCによるデータ・アクセスの

ための変数

3. Transformation機能拡張

• 複数ソースの指定

• XSLTマッパーの機能拡張

4. SOA Spring コンポーネント

• Java資産の有効活用

5. SOAパーティション

• SOAコンポジットアプリケーションの

グループ化

6. バインディング機能拡張

• OSB、HTTP直接バインディング

WS-ATのサポート

37

大容量データの利用

リアルタイム・データの 利用

複雑なTransform設定の 開発生産性の向上

管理性の向上

他システムとの連携強化

既存資産の有効活用

Page 36: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

新機能1

大容量データの取り扱い

38

大容量データの取り扱いが苦手

•XMLマーシャル/アン・マーシャル・コスト

•DOMツリーによるメモリ消費

•JVMヒープ・サイズの圧迫

SOA製品における一般的な課題

機能 概要 考慮点

デバッチ データに複数件のレコードが含まれる場合、デバッチ

(分割)した上でBPELインスタンスを起動

1 BPELインスタンスあたりで扱われるデータは小さくなるが、

その分インスタンス数が増加する

添付

(attachment)

BPELインスタンス内に

データ自体を取り込まず、

参照のみをやり取りする

BPELインスタンス内でのXMLデータアクセス/操作ができない

不透明 (opaque)

スキーマ

データ全体を、BASE64

エンコードされたプレーン・ データとして扱う

• BPELインスタンス内でのXMLデータアクセス/操作ができない

• BPELインスタンス内をデータが流れるので、大容量には

さほど適さない

• BPELインスタンス内でのXMLデータアクセス/操作ができない

10gでの解決策

Page 37: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

新機能1

Scalable DOM 概要およびアーキテクチャ

39

Mediator

BPEL

S

R

S S

R

R

Database

JCA

JCA

XML Binary XML

Binary XML

XML

DO

CU

ME

NT

M

AN

AG

ER

•Oracle XDK (XML Development Kit)の 11gでの新機能

•ファイル / FTPアダプタで利用可

•JCAアダプタ・フレームワーク層で、受信データをBPELランタイムに渡さず、XDK経由でDehydration Storeに永続化

•BPELランタイムからデータ・アクセス する際も、XDK経由でDehydration Storeから取得。データ・ペイロードの 一部のみをメモリ上に展開

•メモリ消費量の大幅節約

•CPUコストの大幅節約 データが必要になった時だけ該当ノードのみをパースし、部分的なDOMを作成

11g - Scalable DOM

Page 38: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

新機能2

エンティティ変数 概要

40

•データ鮮度 (長時間プロセスの場合等)

•デハイドレーション・コスト (ペイロードが大きい場合)

•データ変換コスト (非XML-XMLデータ間)

•XMLスキーマで表現不可能なロジックの実装 (日付チェックなど)

■概要

•BPEL変数の一種類。通常の変数と同様に利用可能

•データ遅延バインディング機能 … BPEL側で データのオフライン・コピーを持たず、Assign, Transform等のデータ操作アクティビティ時に、都度EISへデータ・アクセスする

■実装/挙動

•データ・プロバイダ・サービスとして、ADF-BC サービスを利用

•データはDOMではなく、SDOオブジェクトとして表現

•キー値のみをデハイドレーション

•データの再確認 (デハイドレーション後)

•常に最新データにアクセス可能

•デハイドレーション・コストが小さい

•データをSDOオブジェクトとして扱うため、データ変換コストが小さい

•データソース側のチェック・ロジックを利用可能であり、BPEL上で重複実装不要

従来のBPEL変数の課題

メリット

機能概要

Page 39: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

新機能2

エンティティ変数 設定方法

41

1. エンティティ変数を定義 3. エンティティ変数へ、または エンティティ変数から値をAssign

2. エンティティ変数にキーをバインド

Page 40: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

新機能2

エンティティ変数の挙動

42

BPEL process

Employee Benefits Calculation

dehydration

rehydration

(5 minutes sleep)

Data Access Service (DAS)

HR Management System

Get(employee)

Update(employee) compensation =

compensation + $5K

time

Select benefits package based on

compensation

Define employee variable

Bind to backend DAS

Assign from triggers a query

query(employee)

triggers a query and version check

Process is notified of the underlying data change, and exception can be

handled

Compensation = 2,000

Compensation = 7,000

エンティティ変数の利用効果が期待できる実装パターン:

•単一プロセス内で、同一データを度々更新するケース (ログ記録など)

•単一プロセス内で、同一データを度々参照するケース (受注データ、為替データ、渋滞 情報、気温データ等のリアル タイム・データの取得)

Page 41: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

新機能2

(ご参考) SDO仕様およびADF-BCについて

43

•多様なデータソースのデータにアクセス するための、データ交換形式の定義

•DOMではなく、データ・グラフという構造でデータを効率的に管理

•OpenSOAコミュニティにて、SCAと並行 して策定された仕様

SDO (Service Data Object) 仕様 SDO仕様のイメージ (1)

SDO仕様のイメージ (2)

•Oracle ADF (Java開発フレームワーク) のコンポーネント

•O/Rマッピングおよびビジネス・ロジック層: エンティティ・オブジェクト、ビュー・オブジェクト、アプリケーション・モジュールで構成

•Oracle Databaseとの親和性

•SDOのData Access Serviceとして利用

ADF-BC (Business Components)

Page 42: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

新機能3

Transformation機能拡張(1) – 複数ソースの指定

44

•複数の変数をソースとして指定できなかったため、ステップが煩雑

•変数AとBのデータををマージして変数Dに代入する場合、A->D, B->Dという2つの

ステップが必要

複数の変数をソースとして指定可能であり、ステップが簡潔

Transform設定画面

XSLTマッパー

10g

11g

Page 43: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

新機能3

Transformation機能拡張(2) – XSLTマッパー

45

代替グループ選択操作イメージ

以下の要素およびXSL関数を利用する場合には XSLTファイルを手動で編集する必要が

あった

•XMLスキーマの抽象タイプおよび代替 グループ

•XSL関数 -- xsl:sortおよびxsl:copy-of

GUI (XSLTマッパー) 上で設定可能となり、開発生産性が向上

11g

10g

Page 44: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

• WSDL Java インターフェイス

変換

• Visual Spring Editor

• SCA Spring C&I

(Client & Implementation)実装

• Spring 2.0.6 以降

• binding.ejbのサポート

• EJB 3.0 support

• binding.wsのサポート

• WS セキュリティポリシー

• JAXB and SDO データバインディング

• SOA環境のないWLS上での稼働

新機能4

SOA Spring コンポーネント

機能

• カスタムJavaによるSOAの拡張

• BPELによるJava資産の統合

• JavaからのSOAアダプタの活用

ユースケース

46

Page 45: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

新機能5

SOA パーティション

コンポジットのデプロイ時、ターゲット”パーティション”を指定

単一サーバー上で、同一コンポジットの複数コピーをデプロイ

コンポジットアプリケーションのグループ化

機能

47

Page 46: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

• 直接バインディングにより、OSBとのトランザクションの伝播が可能

• WS-AT により、SOAPでのトランザクションが可能

• HTTP アウトバウンドでのPOSTとGETのサポート

機能

新機能6

直接バインディング(HTTP,OSB,WS-AT)

48

Page 47: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 49

BPEL Process Manager

1. BPEL Process Manager概要

2. SCAとBPEL

3. 11gでの新機能

4. Business Process Analysis Suite 11gとの連携

Page 48: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

Business Process Analysis Suite 11gとの連携 ビジネス・モデリングからコンポジット・アプリケーション開発までの流れをシームレスにサポート

50

俊敏なプロセス開発 • SOA Composite Editorとのラウンドトリップ開発

• BPMNからBPELへの変換

BPA Suite 11gでの新機能

レポートの拡張 • New Simulation Reports

• WIZIWIG Report Editor

プロセス・ガバナンス • Version Management

• Change Control

サービスの抽出および識別 • Integration with UDDI and WSIL

repositories

• Impact, Gap & Redundancy reports

その他 • Repository Unification

• Content (DMS) & LDAP Integration

BPA Suite

(BPA Architect)

BPMN Business Process Model

Process Developer

(SOA Composite Editor)

SOA Composite

共通のメタデータ・モデル BPA

Repository

生成/マージ

Page 49: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved.

Page 50: Oracle SOA Suite 11g Oracle BPEL Process Manager ご紹介

Copyright© 2012, Oracle. All rights reserved. 52