[FMW, MFT] Customizing Oracle MFT with Java Overview

原文はこちら。
https://blogs.oracle.com/SOA/entry/customizing_oracle_mft

Overview

Oracle MFTは、標準でよく使われるほとんどの機能を提供するよう設計されましたが、十分ではない場合には、ちょっとしたカスタマイズ可能なコードスニペットを使って簡単に拡張できるようになっています。自分で試したいということであれば、Oracle MFTのドキュメントの「Processing Transfers with Custom Callouts」という章に、カスタマイズを始めるにあたって必要なものがすべて用意してあります。
Oracle® Fusion Middleware Using Oracle Managed File Transfer
Processing Transfers with Custom Callouts
Understanding Custom Callouts
https://docs.oracle.com/middleware/1213/mft/MFTUG/mftug_exts.htm#MFTUG4266

このトピックに関する詳細情報が必要であれば、このままお読みください。簡単に言うと、すべてのカスタム・コールアウトは完全に再利用可能であり、パラメータ化されるため、すべての開発投資は概して1回のコストですみます。

Terminology

カスタム・コールアウトには多くのユースケースや種類があります。コールアウトができること、そしてコールアウトを呼び出すタイミングならびに方法を含めご紹介しますが、まずは少々背景と用語についてご紹介します。コールアウトは一般的な用語で、MFTデザイナーページでMFT転送の設定時に使用できるカスタムJavaコードを説明するためために使用される用語です。圧縮・展開、暗号化・復号化のような[アクション]が標準で利用可能であり、カスタム・コールアウトも同様に、[処理アクションの追加]ボタンをクリックすることで添付できます。

ここから先、この記事ではアクションという用語を使いますが、これは標準提供されるアクションとカスタム・コールアウトの両方に適用します。

Types

アクションには一般的に2種類あります。一つはペイロードを変更する必要があるものと、他方はそうでないもの、というものです。ドキュメント内の「改行変換」の例では、ファイルを変更して改行文字をDOSとUnix間で変更する方法を説明しています。このようなアクションは、コンテンツの変更を必要とするため、出力ストリームを提供するPluginOutputを返すメソッドを実装する必要があります。
public PluginOutput process(PluginContext context, InputStream input,
            OutputStream out, Map<String, String> calloutParams) {
ファイルコンテンツの変更が不要なアクションの場合、以下のように、出力ストリームにアクセスしないPuginOutputを返すメソッドで異なるバージョンを実装します。
public PluginOutput process(PluginContext context, InputStream input,
            Map<String, String> calloutParams) {

Invocation Order

アクションは転送の以下のポイントで呼び出されます。それぞれのポイントでのアクションのメリットについて以下でご紹介します。
  1. Source
  2. Pre-Target(前処理)
  3. Post Target(後処理)

Source(ソース)

ソース・アクションをソースアーティファクトページに添付し、そのチャネルですべての流入してくるファイルに対して紐付けられています。チャネルに対する要件が常にPGP暗号化ファイルのみであれば、これはソース側の処理にアクションを追加するよい理由にります。しかしながら、異なるファイルタイプがこのチャネルやフォルダに配信されるのであれば、異なるフォルダを使うか、もしくはターゲットアクションを利用すべきでしょう。

Pre-Target(前処理)

転送フローページでターゲット・アクションを構成しますが、これは任意のソースアクションが完了した後に実行されます。上記の例のように、複数のファイルタイプで単一のフォルダを共有するような場合、fan-outシナリオを別のターゲットで実装して、同じソースを異なる転送でコンテント・フィルタを使って再利用し、異なるファイルタイプを別のターゲットへルーティングすることができます。この例では、一つの転送にはターゲット復号化アクションがあるのに対し、他の転送にはアクションがないため、ファイルを別のターゲットにそのままルーティングします。これは処理済みのファイルを後続の処理のために最終のターゲットに送信しつつ、元のファイルのアーカイブを維持する一方法です。

Post Target(後処理)

前処理と同様に、後処理を転送内で構成します。ターゲットに対するファイル転送が成功した場合に、後処理アクションが呼び出されます。そのため、後処理アクションは通常ファイルの中身に手を入れません。通知は、複数のファイルにzipファイルを展開するのと同様に、後処理アクションに適しています。

Summary

アクションやカスタム・コールアウトには多数のユースケースがあります。圧縮、暗号化、通知、ファイルペイロードの改行文字変換、検証などといった内容に関し、これから取り上げていきます。この概要で、Oracle MFTドキュメントのProcessing Transfers with Custom Calloutsという章にしっかり記載されている、81行の最初のEnd-to-Endのサンプルをなんとかやっていく準備が整ったはずです。

0 件のコメント:

コメントを投稿