レベル: 初級 David Carew, e-business Architect, IBM, Software Group Willy Farrell, e-business Architect, IBM, Software Group Alfredo Gutierrez, Manager, e-business Architect Team, IBM, Software Group
2002年 11月 01日 開発スキルを磨くべくGo-ForIt.comを立ち上げてほぼ1年半、私たちDragonSlayerチームは、次なる冒険に挑んでいます。「IBMのビジネス・パートナーに対して、適切なコンサルティングの専門知識を提供するための能力を向上させる」という絶え間ない挑戦を続けています。最初の冒険で、チームは独自のWebアプリケーションを開発することによって竜に挑みました。最初のGo-ForItプロジェクトとその関連記事では、ほとんど、IBM開発ツールのコーディング上の問題点と、IBMミドルウェア製品の展開のみを取り上げました。今回、DragonSlayerたちは、異種プラットフォーム環境での新しい製品とテクノロジーの統合に挑戦します。これは、Go-ForIt.com第2版の連載記事の第1回です。最初の冒険の記事をお読みになった方々、「お帰りなさい」。そうでない方も、ぜひご参加ください。これはGo-ForItの範囲を拡張し、WebSphereの領域を越え、Webサービスやデータ管理、Lotus、Tivoli、Linuxの範囲に及ぶ体験と冒険の物語です。
現在位置
最初のGo-ForItプロジェクトの主な目的は、学んだことを文書化し、それをパートナーと共有することでした。WebSphereアプリケーション・サーバーとDB2を使用して、サーブレット、JavaServer Pages (JSP) テクノロジー、およびEnterprise JavaBeans (EJB) コンポーネントを特徴としたお使いサービス (1つの用事を代理するサービス) を構築しました。開発ツールとして、VisualAge for JavaとWebSphere Studioを使用しました。それまでの経験が、さまざまな記事を書き、世界中にあるIBMのSolution Partnership Centerでの教育に使用される貴重な教材を作成するのに役立ちました。しかし、アプリケーション自体は、Go-ForIt.comのユーザーとのWebベースの対話を処理するために構築されたものであるため、その対象は非常に狭いものでした。実際には、Webアプリケーションだけでは十分ではなく、このアプリケーションを他のアプリケーションや、サプライヤーやベンダーのアプリケーションと統合しなければなりません。
目的地
新しいプロジェクトは、パートナーが現在抱えている要件、つまり、企業内外でのビジネス・プロセスのトランスフォームと統合に対応するものです。そのようなトランスフォーメーションを実現するために、以下のことを行います。
- WebSphereミドルウェアによる統合
- DB2による情報の活用
- Lotusによる知識管理の活用
- Tivoliによる異種プラットフォームの保守と保護
パートナーが異種のシステムを統合し、既存のシステムを拡張する過程で、Linuxが拡張性のためのアプローチやその関連コストに対して、適切な代替手段であることに気付くでしょう。そのため、このプロジェクト (Go-ForItバージョン2: 冒険は続くと呼ぶ) は、Linuxプラットフォーム上に展開します。パートナーの多くは、Webサービスを統合の手段として使用しているか、またはその使用を計画しているので、Go-ForItアプリケーションをWebサービス対応にする事にも焦点を当てていきます。
開発環境と展開環境
基礎となる開発環境は、WebSphere Studio Application Developerバージョン4.0です (2003年初めにバージョン5.0に移行する予定です)。チームは、共通のコード・リポジトリーとして、人気のあるオープン・ソースのバージョン管理システムであるCVSを使用します。Red Hat Linux 7.3が稼動するIBM xSeriesサーバーでCVSリポジトリーをホストします。Go-ForItバージョン2には、数多くの製品が統合される予定のため、より複雑なテスト環境と実稼動環境、ビルドと展開を管理するためのより正式な処理を備えることが必要となります。可能な限りビルドと展開はAntを使用して行われるでしょう。このAntというのは、Javaベースのオープン・ソースであり、Makeの代替となる人気のあるプログラムです。
アーキテクチャー
アーキテクチャーは、ますます複雑になる統合の問題に取り組んでいる顧客やビジネス・パートナーの意見を反映したものになります。図1 は、Go-ForItの元のアーキテクチャーです。
図1. Go-ForItアーキテクチャー
今回の新しいプロジェクトでは、以下のような、IBMのミドルウェア・ポートフォリオの主な4つの層にかかわる、より複雑な統合の問題に挑戦します。
-
WebSphere
- オンラインのトランザクションとメッセージングに使用。
-
Lotus
- コラボレーションの拡張に使用。
-
DB2
- データ管理に使用。
-
Tivoli
- 統合企業管理に使用。
さらに、Webサービスの使用と、より多くのクライアント・デバイスのサポートと、B2B統合にも焦点を合わせる予定です。新しいアーキテクチャーは、最終的に図2 のようなものとなります。
図2. Go-ForItアーキテクチャー改訂版
新しいアーキテクチャーに移行する際のガイドとして、IBM Patterns for e-businessを広範囲にわたって使用します。IBMのPatterns for e-businessは、再利用可能な資産のグループで、Webベース・アプリケーションの開発プロセスの高速化に役立ちます。このパターンは、顧客セルフサービス、コラボレーション、情報集約、企業の拡張 (B2B)、統合、ポータルなどの共通のビジネス要件が中心です (リンクは参考文献を参照)。
XPの部分的な改定
スキルの構築、保守、Go-ForItのようなプロジェクトは、コンサルタントの業務にきわめて必要な部分ですが、業務の主な焦点である「コンサルティングに従事するチームを作る」というのが本来の目的です。大きな火災で出動警報が発せられた場合に消防署のメインテナンスを行っているからといって消防士が出動を拒否することができないのと同様に、DragonSlayerは、出動を要請されると出張しなければなりません。そして私たちは出張します。1年を通して様々な時に、コンサルタントは地球上のさまざまな時間帯に散らばって行くことが多くなります。このため、エクストリーム・プログラミング (XP) 作業に部分的な調整を行うことが必要になりました。ペア・プログラミングのXP要件は、出張の多いチームには扱いにくかったため、この要件は緩和されつつあります。しかし、「各地を飛び回る」ことと疎遠な方は、できる限りペア・プログラムされることをお勧めします。
2度目の適応には、多少試行錯誤が必要でした。チームのメンバーはパート・タイムでプロジェクトの作業を行っていたので、進め方としては、比較的長時間のイテレーション (タスクを完了するためにメンバーに十分な「作業時間」を与える) か、あるいは、1回のイテレーションに対して予定された仕事の範囲を制限するという選択肢がありました。いくつかの理由で後者のほうが優れた方法であることがわかりました。コンサルタントは、一般的に、自分たちの仕事は短期間の仕事であることを知っていたので、プロジェクトの作業の時間配分をより適切に行えました。長めのイテレーションでは、スケジュールが3~4週間を超えるとかなり流動的になるために、コンサルタントは、自分の能力を超えた仕事をしようとするか、あるいは能力に満たない仕事をしようとしがちになることがわかりました。また、短めのイテレーションでも、(きわめて少しずつですが) プロジェクトは着実に前進したため、進行が遅くても、プロジェクトが難航して進まないといった印象はまったくありませんでした。
設計方針
最初のプロジェクトが始まって以来、J2EEアプリケーションに固有のデザイン・パターンを定義するための数多くの作業が開発者コミュニティーで行われました。バージョン2では、元のModel-View-Controller (MVC) アーキテクチャーを越えて、より多くのJ2EEパターンに対応し、それらを私たちの環境に適応させる予定です。さらに、StrutsやTilesなどの実績のあるフレームワークも使用します。このフレームワークは、J2EEパターンを強化しており、さらに重要なことですが、顧客のアプリケーションで広く使用されています。
また、基本的なパラダイムも変更します。Go-ForItを独立したアプリケーションと考えるのではなく、より大規模な電子マーケットへの1参加ソフトウェアにしたいと考えています。これを実現するために、1つの企業および複数の企業間で異なるアプリケーションを統合するためにWebサービスやその他の戦略を大いに活用していきます。
結論
最初のGo-ForItプロジェクトは、スキル開発という目的を見事に達成し、そして技術情報のソースとしても非常に大きな成功を収めました。19件ほどの記事が発表され、IBMのSolution Partnership Centerやさまざまなお客様によるMentored Workshopにおいて、さまざまな業界の開発者向けコースの教材としてアプリケーションのバリエーションが使用されています。
今後も引き続きGo-ForItによる経験を文書化し、みなさんと共有していきます。特に、Go-Forltを次の段階である統合の範囲にまで引き上げる機会に恵まれたことにワクワクしています。また、Webサービスのような最先端のテクノロジーを使用できることにも興奮を感じています。楽にして、冒険を楽しんでください。いつものように、みなさんの体験記やフィードバックなど、みなさんからのご意見を楽しみにしています。
次回を請うご期待
次回のGo-ForIt物語にもご期待ください。私たちの竜退治についての他のお話は、概要をご覧ください。
参考文献
著者について  | 
|  | David Carewは、テキサス州オースティンにあるIBM Developer Relations Technical Consultingのe-businessアーキテクトで、IBMビジネス・パートナーに教育、ヘルプ、コンサルティングを行っています。1988年にIBMに入社し、産業ロボットを制御するためのコーディングから、AIX Wide Area Networkデバイス用のデバイス・ドライバーの作成まで、開発のさまざまな分野に携わってきました。その間に、Javaを学び、オースティンのテキサス大学でMBAを取得し、Developer Relationsのコンサルティングを始めました。Sun認定のJavaプログラマー、認定Java開発者、および認定Javaテクノロジー・アーキテクトです。 |
 | 
|  | Willy Farrellは、IBM Developer Relations Technical Consultingに勤務し、IBMのビジネス・パートナーへの教育、ヘルプ、コンサルティングを行っています。1981年以来、仕事としてコンピューター・プログラミングに携わり、1996年にJavaを使い始め、1998年にIBMの社員となりました。Willyは、いくつもの技術認定証を取得していますが、主なものはJava 2 Programmer、WebSphere Application Server Enterprise Developer、WebSphere Studio Application Developer Solution Developer、MQSeries Solutions Expert、およびIBM e-business Solution Technologistです。 |
 | 
|  | Fred Gutierrezは、IBMのビジネス・パートナーのe-businessアプリケーションに出没する竜を退治するための冒険に出かけるコンサルタント・チームに全体的な方向性を示すという最高の特権を持っています。IBMに入社したのは、ジョージア州立大学に通っていた1987年のことです。彼のチームは、AS/400システム (Fredと同年代でない人には、iSeries) にあらかじめパッケージングされているオンライン教育を開発しました。GSUで会計学の学士号を取得後、OS/2アプリケーション開発に関するコースとRedbooksの開発のために、IBMはFredをボーカラトーンに送りました。
1994年に幸運の女神が彼にほほえみ、Fredは世界のライブ・ミュージックの首都 (テキサス州オースティン) に転勤になり、そこで同じ仕事を続けました。1997年にコンサルタントとしてe-business Architecture and Integrationチームに加わり、引き続きちょうどチームのメンバーと簡単な会話ができるだけのテクノロジーを学んでいます。それから、なんと、IBMに入社する前は、Texas Department of Public Safetyのハイウェイ・パトロール官でした。 |
記事の評価
|