[JavaScript, MFT] MFT 12.2.1 Nashorn Java Script Integration

原文はこちら。
https://blogs.oracle.com/integration/entry/mft_12_2_1_nashorn

MFT(Managed File Transfer)のスクリプティング・コールアウトに関するエントリに対し、高い関心をいただきました。
Scriptable MFT: The Ginsu Knife of MFT Callouts
https://blogs.oracle.com/SOA/entry/scriptable_mft_the_ginzu_mother
Java JDK1.8を使用するMFT12.2.1にアップグレードする場合、JavaScriptを使ってすべてのMFT、SOAやすべてのWebLogic ServerのJava APIをネイティブに呼び出すRunJSコールアウトを使うためのオプションをすでに有しています。
Samples and Demos for Oracle Managed File Transfer
http://www.oracle.com/technetwork/middleware/mft/learnmore/index.html
MFTをホストするWebLogic Serverのクラスパスにある任意のJarやclassファイル(SOA Adapterが使う多くのものを含みます)がMFT transferと同じスレッドで呼び出すことができます。

(訳注)
MFTではソース(入力側)、ターゲット(出力側)の操作(アクション)としてスクリプトを呼び出すことができます。そのスクリプトの中には、JavaScriptも含まれています(以下はターゲット側での前処理アクションで選択可能なアクションの例)


なぜ気にしておくべきなのでしょうか。本当に、セキュリティ、パフォーマンス、リソース使用率、利便性に加えてコンパイラのない環境という柔軟性、その結果実質的に無限のユースケースだけでなく、それ以外にも影響がありますので、気にしない理由なんて全くありえません。Nashorn JavaScriptエンジンは、Javaコールアウトが実施するのと同様に、MFTコールアウト・コンテキストと入力、出力ストリームを受け取りますので、非常に簡単にファイルを検証したり変更できます。
Oracle Nashorn: A Next-Generation JavaScript Engine for the JVM
http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html[Java, JavaScript] Oracle Nashorn: A Next-Generation JavaScript Engine for the JVM
http://orablogs-jp.blogspot.jp/2014/03/oracle-nashorn-next-generation.html
以下はサンプルにあるユースケースです。
  • ファイル名の変更
  • 誤った文字のクレンジング
  • Native Translationライブラリを使ったCSVからXMLへの変換
  • XMLからCSVへの変換
  • CSVからJSONへの変換
これらのユースケースは単に読者に食指を伸ばしてもらうことに過ぎず、ほぼ何でもできます。もしかすると、「データベースやJMS、ファイルシステムに書き込むことができるのか?」と質問されるかもしれません。そうですね、そういったことを実現するJava APIがありますかね?
ダウンロードや構成はきわめて簡単です。単純にMftJS.zipファイルをダウンロードし、MFTの<DOMAIN_HOME>配下にZipの内容を展開するだけです。mft/js/READMEファイルを開いて記載の手順に従ってください。MFT RunJSコールアウトのUI(下図)でActionパラメータが呼び出すことができる、利用可能なサンプルライブラリは以下のようなものがあります。

LocationとFunctionの値はデフォルト値ですが、ScriptParametersを変更したり、オーバーライドしたりして調整することができます。特別に難読化されたPasswordもパラメータを隠すために利用できます。以下のように、提供されたEnd to Endの転送をインポート、デプロイ、実行することができます。

0 件のコメント:

コメントを投稿