「EJB(Enterprise JavaBeans)について、もう一回焦点を当てて考える時期に来ている」。
日本IBMのWebSphereアーキテクト、清水敏正氏は、11月14日開催「エンタープライズ・ソフトウエア・コンファレンス」でこのように語った。
その理由は、EJBという技術がすでに実用段階に来ていること。そして、EJBという層の上に、様々なサービスが構築されようとしていることである。
EJBという技術は、それを使わなくてもシステムを作ることはできる。しかも、EJBを習得するうえでの難易度が高く、場合によっては性能が出ないことがあるため、現実のシステム構築案件では、敬遠して使わないという場合もある。だが、最近は性能上の問題もLocal Interfaceなどで解決されつつある。それより何より、EJBは、その上の層のアプリケーションを作るための基本技術となりつつある、というのだ。
EJBとWebサービスを組み合わせたシステムの未来像は、次のようになる。言い換えれば、サービス指向アーキテクチャ(SOA)の作り方といってもいい。個別のサービスはEJBで作る。場合によっては、既存のコンポーネントを、EJBの形にラップする(包み込む)場合もある。それをWebサービスで公開する。EJBを、Webサービスの形態で公開する仕様としては、JSR-109 Implementing Enterprise Web Services がある。EJBとWebサービスというインフラ技術の上にアプリケーションを構築していく。例えば、サービス群をつなぐワークローを、BPEL4WS(Business Process Execution Language for Web Services)で記述する。
そして、これらの技術の方向性は、どうやらIBMのミドルウエア製品にはすでに組み込まれているものであるらしい。例えば、WebSphereの最新版はJ2EEワークフロー(プロセス・コレオグラフィ)と呼ぶ機能を備えているが、これは将来的にはBPEL4WSをサポートする方向にあるという。
EJB、JSR-109、BPEL4WSなどとキーワードは多いが、これはインターネット上のアプリケーションがTCP/IPやHTTPの上に構築されているようなものだ。インフラ技術が当たり前に使えるようになれば、個別技術の複雑性は大きな問題ではなくなっていく。清水氏がEJBにもう一回焦点を、と提言するのは、より仮想化を進めたアプリケーション環境を考える時期に来ているのではないか、という問題意識からである。