2010年4月24日土曜日

Galileo/ODE/Tomcat

Eclipse の BPEL Plugin と ODE の併用メモ。

2010年4月時点での最新の環境を使いたいが、ネット上の既存のチュートリアルは Ganymede のみ対象だったり、度々発生するエラーの対処法がなかったりするので、ちょっと整理しておく。

■ 環境
  • Tomcat 6.0.2
  • Eclipse 3.5 Galileo
  • ODE 1.3.3

■ BPEL Plugin
Eclipseの[Install New Software]で、アップデートサイトに以下のURLを指定してプラグインを追加。
http://swordfish-tooling.googlecode.com/svn/trunk/org.eclipse.swordfish.third-parties/bpel/

インストール中に javax.wsdl が足りないって言ってきたら、Eclipse のplugin フォルダに以下の 3つの jar を入れてやり直し。(既にあるものは、それでOK)
2010/04/27 追記
eclipse-rcp-galileo-SR2-win32 (Eclipse 3.5.2) をベースにすると、上記エラーは発生しない。また上記の javax.wsdl*.jar を追加する方法だと、後で partner link を定義するときに別の問題(LinkageError)が発生する可能性があるが、最初からEclipse 3.5.2をベースにしておけば、この問題も回避できる。

注) 以下のURLのアップデートサイトは Eclipse 3.4でしかうまく動かない。
http://download.eclipse.org/technology/bpel/update-site/

以下、参考にしたサイト
■ ODE WAR版
ODE 1.3.3の war版をダウンロードして、zip の中身の ode.war を Tomcat の webapps下に置く。

Tomcat を Eclipse の Server Runtime として動かしている場合、ode.war の置き場所は以下のようになる。
{ワークスペース・フォルダ}\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps

ここに置くと、勝手にデプロイされてodeフォルダが生成される。

■ デプロイ
developerworks の記事[→リンク]に、HelloWorld の BPEL版の作成からデプロイまで説明している部分があるのでやってみる。上述の作業が問題なくできていれば、Eclipse の Web Service Explorer で "Hello World" が返ってくる。

ちなみに BPELを更新したら、*.deployed ファイルを消すと再デプロイされる。

■ 雑感
  • ODE は WS-BPEL 準拠という事で、なかなか記述性が高く読みやすそう。上の HelloWorld でも "$input.payload/tns:input"みたいな書き方をしている(BPEL4WS 系ならgetVariableData()を使ったダラダラした記述になる)。
  • 商用のBPEL製品に比べると、やはり機能的にあっさりしすぎの感もある。特に監査情報がブラウザから見られないのは、開発時辛いかも。
  • 逆に機能がスリムな分、使用感が軽そうなのは良い。特に各開発者のマシンに一式インストールして動かせそうなのは良い。無駄にでかすぎる商用製品だと、結局1台の高スペックマシンに BPEL エンジンを載せて全員で共用したりする羽目になって、却って生産性が酷い事になったりする。
  • 後は、SCA、JBI、EIP 製品との組み合わせか。他のサービスといかにうまく連携させるか、アーキテクトの腕によるところが大きくなりそう。

0 件のコメント:

コメントを投稿