Oracle® Fusion Middleware Oracle Business Process Managementプロジェクトの移行 12c (12.2.1.1) E79346-01 |
|
前へ |
次へ |
この章の内容は次のとおりです。
BPM 12cでは、標準Groovyスクリプトをサポートしています。詳細は、『Oracle Business Process Management Studioでのビジネス・プロセスの開発』の「BPMスクリプトの記述」を参照してください。
次の要素の移行は制限されます。
Plumtreeコンポーネントを使用するスクリプト
JARファイルからイントロスペクトされた列挙を使用するプロジェクト
プロジェクトの依存性
これらの制限事項の詳細は、「制限事項」を参照してください。
表6-1では、BPM 10gR3のBusiness Process Languageの様々なコンポーネントが、どのようにBPM 12cのスクリプトに移行されるかを示しています。
表6-1 Business Process Languageコードの移行
機能 | 12cの移行 |
---|---|
Business Process Language |
12cでのBPMスクリプトのサポートはGroovyに基づきます |
ビジネス・オブジェクト |
一部移行されます。RegExp型の属性、属性Valid valuesおよび属性Check expressionは移行されないため、スクリプトを実装する必要があります。 |
スキン(PBL、Java、VBasic) |
Groovyスクリプト機能に移行されます |
スクリプト言語例外処理 |
ベスト・エフォートで移行されます。「Business Process Languageの制御フロー文の移行」を参照してください |
単純な型 |
移行されます。「Business Process Languageの基本型の移行」を参照してください |
複合型 |
Javaタイプ、ビジネス・オブジェクトおよびXMLスキーマは移行されます。依存Javaライブラリは手動で移行する必要があります。スキーマ/XSDは、プロジェクトで使用されるエクステントに推測されて移行されます。 |
アクティビティ(自動およびメソッド) |
スクリプト・タスクとして移行されます。 |
スクリプト・コードによる複数のゲートウェイ |
スクリプト・タスクとして移行されます。 |
言語構造 |
|
埋込みSQL |
使用不可 |
Webサービスの起動 |
使用不可 |
事前定義変数 |
BPM 12cでは、事前定義済変数の新しいセットがサポートされています。詳細は、Oracle Business Process Management Studioによるビジネス・プロセスの開発のプロセス設計における情報処理に関する項を参照してください。 |
BPMスクリプトは、標準Groovyに基づいており、その制御フロー文を使用します。
BPM移行ユーティリティでは、表6-2に示す制御フロー文のマッピングを使用して、Business Process LanguageスクリプトをBPM 10gR3からBPM 12cのGroovyスクリプトに移行します。
表6-2 制御フロー文の移行
Business Process Language | Groovy |
---|---|
case/when/else |
switch/case/default |
name do end |
name: {} |
for/in/do |
for(){} |
for each/in |
for(){} |
for each in where |
for(){if(){}} |
if/then/elseif/else |
if(){}elseif{}else{} |
while |
while(){} |
is |
instanceof |
label:statement |
label:statement |
(mapped ref example) intervals[].hours |
intervals.collect() {XmlDuration it -> it.hours} |
do/on excep/on exit |
try{}catch(){}finally{} |
BPM 10gR3のスクリプトのBusiness Process Language基本型は、標準Javaタイプに移行されます。
表6-3に、Business Process Language基本型の移行に使用されるマッピングを示します。
表6-3 Business Language基本型の移行
Business Process Language | BPMスクリプト |
---|---|
Bool |
java.lang.Boolean |
Fuego.Internal.Bool |
java.lang.Boolean |
Fuego.Internal.Int |
java.lang.Integer |
Fuego.Internal.Real(32) |
Float |
Fuego.Internal.Real(64) |
java.lang.Double |
Fuego.Internal.Real |
java.lang.Double |
Fuego.Internal.RegExp |
java.util.regex.Pattern |
Fuego.Internal.Str |
java.lang.String |
Fuego.Internal.Interval |
com.oracle.scripting.lib.xml.datatype.XmlDuration |
Fuego.Internal.Time |
com.oracle.scripting.lib.xml.datatype.XmlCalendar |
Interval |
com.oracle.scripting.lib.xml.datatype.XmlDuration |
Int |
java.lang.Integer |
Fuego.Internal.Logger |
com.oracle.scripting.logger.ScriptLogger |
Real(32) |
java.lang.Float |
Real(64) |
java.lang.Double |
Real |
java.lang.Double |
String |
java.lang.String |
Time |
com.oracle.scripting.lib.xml.datatype.XmlCalendar |
Type[] (索引付き配列) |
java.util.List<Type> |
TypeA[TypeB] (結合配列) |
java.util.Map<TypeB, TypeA> |
TypeA[ordered TypeB] (ソートされた結合配列) |
java.util.SortedMap<TypeB, TypeA> |
Any (スクリプトのみ) |
java.lang.Object |