Oracle Integration Cloud ProcessとOracle Content Managementの連携

# 概要
Oracle Integration Cloud Process(以下OIC)とOracle Content Management(以下OCM)の連携手順をまとめます。OICとOCMを連携させることでOCMのドキュメントフォルダに何かファイルが置かれたことをトリガにしてOICのProcessアプリケーションを開始することができるようになります。また、置いたファイルをProcessの管理画面から参照することもでき、ドキュメント承認のワークフローなどに活用することができます。

- Oracle Integration Cloud Processについてはこちら
https://www.oracle.com/jp/integration/application-integration/#rc30p2

- Oracle Content Managementについてはこちら
https://www.oracle.com/jp/content-management/

# 前提

- OICのプロビジョニングおよびユーザー・ロール設定が完了していること
https://docs.oracle.com/ja-jp/iaas/integration/index.html

- OCMのプロビジョニングおよびユーザー・ロール設定が完了していること
https://docs.oracle.com/ja-jp/iaas/content-management/doc/deploy-oracle-content-management.html

# OCMの設定

OCMの設定を行います。OCMのコンソール画面にログインし、メニューから下の方にある"統合"の画面を開き、Oracle Integration Cloud - プロセス自動化の統合のトグルボタンを押すか構成のアイコンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/2392ff00-c5db-8ce6-abf9-12e2ce3619fd.png)

OICプロセス構成というダイアログが出てくるので以下のように入力し、"完了"をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/a14fe506-37f1-ac2c-2978-dcf33d591414.png)

|項目  |説明  |
|---|---|
|サービスURL  |OICのURL<br>(例) OICのコンソールURLが`https://xxx/ic/home/`の場合は`https://xxx/ic/api/process/v1/processes`  |
|サービス・ユーザー  |OICへアクセスするユーザーID  |
|サービス・パスワード  |OICへアクセスするパスワード  |

次に埋め込みコンテンツの設定を行います。この設定をしないとOICからOCMのドキュメントを参照することができません。

左のメニューの"システム"アイコンを開き、上のプルダウンから"セキュリティ"を選択します。
"埋込みコンテンツ"のラジオボタンを"有効"にし、許可されるドメインにOICのドメインを入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/4e2b2b7b-f7f3-0176-7252-717c4b16abb3.png)

以上でOCM側の設定は完了です。

# OIC Processアプリケーションの作成

次にOCMから起動されるワークフローをOIC Processで作成します。
OICのコンソールへログインし、"プロセス"をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/f83c599b-70b6-c256-577b-86e424e45e9d.png)

次に"プロセス・アプリケーション"をクリックし、表示された画面で右上の"作成"ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/c36823f1-2d10-0f7b-4b7d-74c24c2ed7cd.png)

次に"アプリケーションの作成"にカーソルを合わせて、"作成"をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/a85b159f-1b1f-0d2e-925e-7872884e9e85.png)

任意の名前を入力し、"作成"をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/7669d8ca-f750-c79a-d483-880de34907fc.png)

"編集"を押して、"作成"から"新規プロセス"をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/bdc0fc25-a2f2-d1a3-a941-2861682a4c17.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/5a991e71-1806-697f-4180-e7df12710dc7.png)

プロセスの作成というダイアログが表示されるので任意の名前とパターンの種類に"なし"を選択し、"作成"をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/ad752cd3-be21-6318-287f-5c9b4e1ddb7b.png)

右のBPMNの一覧から"イベント"にある"ドキュメント開始"をドラッグアンドドロップでワークフローに配置し、デフォルトの"Start"をクリック→ゴミ箱アイコンで除去します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/531daf20-860b-675c-e760-e75be86790be.png)

新しく配置したドキュメント開始のタスクをクリックし、"↗"をドラッグアンドドロップで"End"に結び付けます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/9f3234c3-1b0f-a56b-94b2-c75e75ba22c8.png)


次にBPMNの"ヒューマン"から承認タスクをドラッグアンドドロップで"Start event"と"End"の間に配置します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/a10bc4cf-c347-244f-3c1d-70af3afea440.png)

次に申請・承認タスクで利用する画面を作成します。
先ほど配置した承認タスクをクリック－ハンバーガーメニューから"プロパティを開く"

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/e161614c-ef1f-0134-f098-24a223d395c0.png)

下からプロパティの設定がせり上がってくるので、その中にある"フォーム"の右の方にある"＋"→"新規Webフォーム"をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/d179e7ba-a33c-792d-c3f3-ecb179a21444.png)

任意の名前と"すぐに開始"にチェックを入れ、"作成"をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/c3c1f8f4-43c0-5272-886b-5720ffcdb53a.png)

適当な申請・承認用フォームを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/0c36c610-009b-66f8-b898-277ddec43f60.png)

これでワークフローの作成と画面フォームの作成が完了ました。

# OIC Processアプリケーションのアクティブ化

次はテスト用にアプリケーションをアクティブ化します。アクティブ化することで作成したアプリケーションを利用できるようになります。

上部にある"テスト"をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/109c770c-4408-5679-1f8b-55ed86bd93a6.png)

次に"アクティブ化"→ダイアログの"アクティブ化"をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/5a55122d-d1b7-488e-0352-84713554f939.png)

これで作成したprocessアプリケーションをテストとしてアクティブ化できました。

最後に動作確認する際に必要なのでテスト用管理画面を開いておきます。下の方にある"テスト・モード"で試行のボタンをクリックします。
または`https://{OICのドメイン}/ic/process/workspace/faces/startApplication.jspx?mode=test`でもアクセスできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/a91785a4-7815-a93b-950f-d60e28adaf2b.png)

こちらがテスト用の管理画面です。"Testing Mode"がOnになっていることがわかります。
"My Tasks"をみると自分がアサインされているタスクを確認することができます。空の場合は何もタスクが開始されていない状態です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/90a57790-8c6f-7805-7a2e-655ccd6feffe.png)

# OCMのフォルダに作成したProcess アプリケーションを設定

OCMのコンソール画面にログインし、メニューから"ドキュメント"を開き、適当なフォルダを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/b838c74c-80f1-bb3f-cc3a-ebc1708310c2.png)

作成したフォルダを開き、サイドバーから"プロパティ"を開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/5f5d37f2-c353-3e97-7096-93abac251f2e.png)

下の方にスクロールすると、"ドキュメント受信時にプロセスを開始"というトグルがあるのでチェックし、その下のプロセス名で作成したprocessアプリケーションを選択します。

プルダウンに表示されるprocessアプリケーションの名前は
`{Test(テスト) or Production(本番)}: {processアプリケーション名} {バージョン}: {プロセス名} (プロセスのスタート名)`
となり、本手順で実施した場合は以下のようになります。
`Test: ocm_process_app_yoi 1.0: Ocmプロセス (startEvent)`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/3d285710-49f1-a5bb-ce6a-d84ca73a4c1e.png)

以上でドキュメントが配置された際にprocessアプリケーションを開始するOCMの設定ができました。

# 動作確認

動作確認を行います。
適当なファイルを作成したフォルダへドラッグアンドドロップします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/79c0c30b-5c1b-e317-0c2f-0cd7e2d33f93.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/b05de69f-aa75-0682-a1ac-bc13f8d26d37.png)

OICのテスト用の管理画面を開きます。
タスクが開始されていることが確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/12ec1c29-9c3b-dac7-929b-349183a08495.png)

右端のドキュメントアイコンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/c6b7f813-0b68-7941-3b51-88bf2dc7717b.png)

先ほどOCMのフォルダに配置したファイル名をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/31b54d08-e10a-6331-03a9-518cd4a7c61b.png)

配置したドキュメントの内容を確認することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479589/937bb6c6-9d13-0970-55eb-07bb59a06cda.png)

このようにOICとOCMは容易に連携できる仕組みが用意されており、ドキュメント承認ワークフローなどの作成に活用することができます。