Spring FrameworkとIBM WebSphere Application Server

Interface21のRob JohnsonとIBMの Paul Buckとの対談

Comments

Spring Frameworkを用いたアプリケーションをデプロイするプラットフォームとして、IBM WebSphere Application Serverを認定するというInterface21からの発表をうけて、developerWorksではInterface21のCEO Rod JohnsonとIBM WebSphere オープンソースのディレクター、Paul Buckとの対談をおこない、Spring FrameworkとWebSphere製品ファミリーの開発者、カスタマーにとっての今回の発表の意味をききました。

developerWorks: まず最初に、Interface21からの本日付の発表について理解を深めるための時間をいただけたことについて、Rod Johnson(Interface21)さんとPaul Buck(IBM)さんに感謝いたします。Spring Framwork2とSpring Web Flowについても質問したいと思いますが、まず最初にRodさんからInterface21からの発表について説明していただきたいと思います。

Rod: われわれInterface21はSpring Frameworkを用いたアプリケーションをデプロイするプラットフォームとして、IBM WebSphere Application Serverを認定し、サポートを提供することを発表いたしました。

この発表は、Interface21とIBMの協業にむけての努力の結果です。カスタマー要求のシナリオに合わせてWebSphere Application Server上でSpring Frameworkをテストするためにかなりの努力をしました。問題を解決したり、カスタマーに有効な付加価値が提供できるように、Inteface21とIBMのエンジニアが協力して作業を行いました。

たとえば、われわれは新しいIBMトランザクションAPIを使用してSpringトランザクションをWebSphere Application Server内部と深く統合するためにWebSphere Application Serverトランザクション・チームと密接に作業を行いました。

developerWorks: Interface21とIBMが協業しようと決めた理由はなんですか?

Paul: われわれのテクノロジー・ソリューションがさまざまなテクノロジーで構成された環境でも相互運用可能であり、アプリケーションをデプロイすることができることを保証するとIBMはコミットしてくれました。われわれは、カスタマーが要件にあわせてテクノロジーの選択肢を提供できるように努力します。 カスタマーがデプロイしたいアプリケーションがミッション・クリティカルなものでも、アドホックなものでもWebSphere Application Serverはカスタマーの要求に合わせた適正なプロダクトを提供することができます。

我々は、WebSphere Application Server上のSpring Frameworkを使用しているいくつかのカスタマーをもっています。これらのカスタマーにとって、本日のInterface21からの発表で、WebSphere Application Server上でSpring Frameworkが稼働している場合に組織的なサポートを受けることができることを保証されました。加えて、Interface21とIBMが協力してWebSphere Application ServerをSpringのプレミア環境として位置づけられたこともカスタマーに保証されました。また、カスタマーはSpringをApachやTomcatやその他のアプリケーション・サーバーと組み合わせて動かすことができます。エンタープライズ・レベルのアプリケーション・サーバーが必要になった場合にはWebSphere Application Serverでの支援を提供することができます。もし、ApachやTomcatでSpringを使用している場合はWebSphere Application Server Community Editionを検討してみてください。WebSphere Application Server Community EditionはApachやTomcatの機能をすべてカバーし、さらによく使われる機能やサービスを統合したかたちで提供されます。

developerWorks: WebSphere Application ServerはどのようにSpringアプリケーションにバリューを提供しますか?

Paul: WebSphere Application Serverは10年以上の投資で無数の革新を牽引してきたマーケット・リーダーです。WebSphere Application Serverはその堅牢さ、スケーラビリティ、管理のしやすさ、相互運用性でよく知られており、オープンスタンダードでもリーダーシップをもっています。オープンスタンダードは、将来的にカスタマーの選択と柔軟性を保証するのに重要です。

WebSphere Application ServerはSpringアプリケーションにエンタープライズクラスの機能、たとえばトランザクションサポート、負荷管理、高可用性などを提供することができます。さらに、開発者はオプションで必要な機能のWebSphere Feature Packを導入しその機能を使ってSpringアプリケーションの拡張をはじめることができます。Feature Packはテクノロジーの早期サポートや、JAX-WS Webサービス、SOA、EJB3などのスタンダードがカスタマーの必要に合わせて個別に提供されます。

developerWorks: なぜカスタマーや開発者はWebSphere Application Server上でSpringを使うべきなのでしょう?

Rod: Spring Frameworkは開発時、メンテナンス時を通じてデザイン、開発、テストについて十分に検証された効果を提供します。たとえば、Springはアーキテクチャのベスト・プラクティスに従うことが簡単にできる、開発-テストサイクルをかなり早める、早めに問題を見つけて修正することができます。また、Springは開発者が開発に使用するアプリケーション・インフラを複数提供します。Springは便利な機能を提供するので開発者はビジネス・バリューの作成にフォーカスすることができます。

我々がエンタープライズ・カスタマーにフォーカスしていることと、WebSphere Application Serverの市場での浸透度からわかるように、WebSphere環境でSpringを使っているカスタマーを大きな視点でみています。2つは必ず連携することができます。カスタマーはWebSphere Application Serverの機能、たとえば堅牢なトランザクション・コーディネータ ,操作管理機能、そしてIBMの包括的なミドルウェアソリューションのセットなどを使っている間に、Springから得られる生産性に喜びを得ることができるでしょう。

developerWorks: Spring Framework新バージョンがでましたね。それについて少しお聞かせください。

Rod: 我々はSpring Frameworkのバージョン2.1でその使いやすさにフォーカスしています。これは、Java5やJava6のアドバンテージを得ることができるユーザーに役立つ機能を追加することで実現しました。例えば、ソースコードのアノテーション(JSR-250インジェクション・アノテーションを含む)が使用できます。このアプローチは、Spring XMLコンフィグレーションを補完し、最も使いやすい構成ソリューションを提供することができます。

我々はまた、パワーユーザーのために新しい可能性を追加しました。たとえば、最新のJCA1.5仕様、JPAサポートのエンハンス、OSGiフレームワーク対応があげられます。

developerWorks: Springを使ってJPAサポートを拡張できるのですか?

Rod: われわれはJPA(O/Rマッピングの標準)を統合するためにたくさんの作業を行いました。それは、JPAがEJB3の中で最も重要な機能だと信じているからです。JPAはSpring2.0でサポートされ、Spring2.1では任意の環境でJPAが使用できるように拡張されました。この作業は、ApacheのOpenJPAチームと協力して行われました。

developerWorks: Spring Web Flow について簡単に説明していただけますか?

Rod: Spring Web FlowはWebアプリケーションのモデリングに関すものです。飛行機の座席予約を考えてみましょう。StrutsのようなトラディショナルなMVCフレームワークでは、結局1つのJavaクラスで各リクエストを処理することになり、開発者がセッションの状態に応じてボタンが押された時の動作を「戻す」か「リフレッシュする」かを明確にし、これらのJavaクラスがまとまったアプリケーション単位の中で正しく動くことを保証しなければなりません。このような実装方法は、要求どおりの動作をさせるのはかなり難しいものです。

その理由は「フロー」とよばれるものの抽象化ができていないからです。フローは処理の中での会話を表現します。この例では、SpringOneのためにヨーロッパへのフライトを予約するというビジネスゴールを達成するためのステップです。MVCのアプローチでは1つのフローを表現する方法は1つではありません。責任はそれをシュミレートする開発者にかかっています。Spring Web Flowでは、フローはモジュール化されます。フローの定義はXML形式やJavaクラスを使った形で作成することが可能ですし、複雑なアプリケーションをより簡単に開発するために、フローを再利用したりネストすることもできます。

要するに、Spring Web Flowでは制御の方向を指示する(主に先に進めるかと戻すか)だけでより簡単にエラーの少ないWebアプリケーションを開発することができます。多くのWebアプリケーションがこのようなものです。旅行予約、不動産担保ローン、保険アプリケーションは代表的な例です。実際の事例としては世界的によく知られた旅行会社が大きなSpring Web Flowアプリケーションがシステムにデプロイされました。

Spring Web Flowは1.0.3、次期メジャーリリース1.1ではSpring Web FlowとJSFの統合を拡張し、Jave EE標準コンポーネントモデルを使いたいと思っているユーザーがSpring Web Flowの会話管理機能の完全な恩恵を得ることができるようになるでしょう。

インタビューアー紹介

Rod Johnson

Rod JohnsonはInterface21のCEOで、2002年のJ2EE アーキテクチャに大きな影響を与えた彼の本の中で公開されたコードをベースに開発されたSpring Frameworkの生みの親です。University of Sydneyでコンピュータ・サイエンスの教養学士号(BA)と博士号(Ph.D)を取得しました。Interface21はSpring Frameworkを活用して事業を展開している企業です。高品質のエンタープライズ・オープンソース・ソリューションの開発をリードし、世界中の数百のカスタマーに対して製品、開発支援、トレーニングおよびコンサルティングを提供しています。

Paul Buck

Paul BuckはIBM WebSphere Open Sourceのディレクターです。PaulのチームはApache GeronimoプロジェクトにJava EEや他のフレームワークをサポートするオープンソース・サーバープラットフォームを、またApache TuscanyプロジェクトにはSevice Component Architecture(SCA)のオープンソース・インプリメンテーションおよび関連するテクノロジーを寄贈しました。Paulのキャリアは1984年、トロントのソフトウェア研究所に始まりました。キングストン(カナダ)のQueen's Universityからコンピュータ・サイエンスの修士号(M.Sc:Master of Science)と学士号(B.Sc: Bachelor of Science)を取得しています。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=WebSphere
ArticleID=327004
ArticleTitle=Spring FrameworkとIBM WebSphere Application Server
publish-date=06012007