注意事項: この記事では、今後 developerWorks Lotus(US) で公開予定の、一連のコンポジット・アプリケーション関連記事を紹介しています。現在 developerWorks Lotus で入手可能なコンポジット・アプリケーションのサンプルについて解説し、今後公開予定のいくつかの関連記事についても内容を簡単に紹介します。
IBM Lotus Notes 8 は、Lotus Notes ユーザーのコミュニティーにコンポジット・アプリケーションの優れた性能と利点をもたらします。これらのコンポジット・アプリケーションは「ビジネス・スタイル・マッシュアップ」と呼ばれることもあり、ローカルの Lotus Notes データ・ディレクトリーである IBM Lotus Domino 8 サーバーから、あるいは IBM WebSphere Portal を実行するサーバーからもアクセス可能であるため、ユーザーは場所や時間を問わず作業をすることができます。新しい機能とランタイム機能を利用すれば、複数の Lotus Notes アプリケーションと他のテクノロジーを組み合わせることができ、ユーザーがより効率的にビジネスを進めたり革新的なビジネス・ソリューションを提供したりできる統合的なインターフェースの作成が可能になります。
コンポーネントは、コンポジット・アプリケーションの再利用可能なビルディング・ブロックです。これらのビルディング・ブロックではアプリケーションのデータやプロセスを利用することができ、他のコンポーネントと組み合わせたときに複数システムの画面上での統合が可能になります。これらのコンポーネントをすべて 1 つにまとめ、バックエンドの複数の IT アプリケーションと統合してビジネス・アプリケーションを作成します。
コンポジット・アプリケーションのサンプルである“Lead Managerアプリケーション”では、既存の Lotus Notes アプリケーションを複数組み合わせて、より生産性に優れた統合的な単一アプリケーションの構築を目指します。ここでは、統合前と統合後のアプリケーションについて説明するとともに、統合アプリケーションの構築に使用されるプロセスを解説した一連の記事についても概要を紹介します。
架空の企業である ZetaBank では、アカウント・セールス・チームが Lead Manager というアプリケーションを使用しています。これは 4 つの Lotus Notes アプリケーションで構成され、各アプリケーションには見込み顧客のトラッキングと営業活動に必要な情報が格納されています。図 1 は、以下の 4 つのアプリケーションのビューを示しています。
- Lead Manager Core. このアプリケーションには、商号、連絡先情報、財務情報、その他の有益なデータなど、見込み顧客に関する情報が含まれています。
- Lead Manager Discussion. このアプリケーションにより、セールス・チームはある企業または事項についてのメッセージのやり取りをトラッキングすることができます。このアプリケーションは、ある企業に関する過去の成功事例の情報交換、最適なセールス手法の検討、過去に使用したプレゼンテーション資料の参照などを行うのに便利です。
- Lead Manager Legal. さまざまな企業との間で進行中の契約がここに保存され、新規契約を申請することもできます。セールス・エージェントは、申請の進捗状況をここで確認できます。
- Lead Manager NAB Plus. これは、見込み顧客企業それぞれに関する多数の連絡先情報を集めたディレクトリーです。
見込み顧客が特定されると、顧客担当者はその企業がすでに Core アプリケーションに登録されているかどうかを確認します。ブックマークを使用して Discussion アプリケーションを起動し、その企業名や該当するカテゴリーの検索などを行って、Discussion アプリケーションを素早くチェックします。Core アプリケーションでその企業名が見つからない場合には、さらに別のブックマークを使用して、NAB Plus と呼ばれる連絡先情報のアプリケーションを起動します。その後契約が必要になれば、Legal アプリケーションを使用して契約締結の申請を行います。契約申請に必要な情報は Core アプリケーションからコピーし、契約申請書式に貼り付けます (または再入力します)。セールス・チームではこのプロセスに慣れてはいるものの、各担当者はカット・アンド・ペーストの操作やこのプロセスについての新入社員のトレーニングに多大な時間を費やしていると感じています。
図 1. 4 つのオリジナル・アプリケーションのビュー

アカウント・セールス・チームは、このプロセス全体を改良して、より効率的な新しいアプリケーションを構築してほしいとアプリケーション開発者に依頼しました。これにより、常に 4 つのアプリケーションをあれこれ起動して使用する必要をなくし、効率的に業務に集中できるようにしたいと望んでいました。ZetaBank では Lotus Notes/Domino 8 が導入されているため、開発者は、既存の複数のアプリケーションを 1 つのコンポジット・アプリケーションで使用し、セールス・チームがトレーニング不要ですぐに生産性を向上することが可能なコンポジット・アプリケーションを 1 つ構築しようと考えました。
現在では、営業担当員は Lead Manager アプリケーションを起動すると、すべての必要な情報に容易にアクセスできます。図 2 は新しい Lead Manager アプリケーションの表示画面を示しています。企業名一覧が左側に表示され、どれかの企業名を選択するとその企業の見込み顧客情報が、前面中央の「Pending Leads」および「Closed Leads」タブの下に表示されます。図 2 に表示されている 2 つのペインには、企業概要と、選択した見込み顧客の概要が表示されています。
図 2. Lead Manager アプリケーション

どれかのリードをダブルクリックすると、新しいページが開いて画面中央に詳細情報が表示されます。図 3 のように、ページの下部には「Contracts」、「Discussions」、「Sales Lead Company Detail」、「Contact」というタブがあります。
図 3. Lead Manager の詳細画面

これらのタブを使用して、アプリケーションを直接開くことができます。以前は、セールス・チーム・メンバーがこれらのアプリケーションにアクセスするにはブックマークを使用する必要がありました。さらに、これらのアプリケーションを開くと該当する情報が正確なコンテキストで表示されます。図 4 はその状態を示しています。
図 4. 正確なコンテキストで表示された Lead Manager の画面

また、ページ最上部のナビゲーションを使用することで、営業担当員は顧客企業の情報や共有連絡先情報の管理に集中できます。コンポジット・アプリケーションから離れたり別のアプリケーションを起動したりすることなく、ユーザーは新規のコンテキストに移動でき、ナビゲーターを使用していつでも見込み顧客のコンテキストに戻ることが可能です。
Lead Manager アプリケーションの次の段階では、別のドメインから情報の事前入力や選択を行うことができます。例えば、Contracts アプリケーションに企業情報を事前入力する、あるいは新規の見込み顧客文書に Contacts アプリケーションの情報を事前入力することができます。開発者は、このような情報の追加が比較的容易にできるようになったと考えており、営業担当員がこの新しいアプリケーションをきわめて効率的に使いこなしていることを喜んでいます。
セールス・チームではナビゲーションが容易になり、時間も節約できるようになりました。しかも、新たにトレーニングを受けなくてもすぐに使いこなすことができます。新しいアプリケーションには既存の Lotus Notes アプリケーションとプロセスが採用されているため、操作感は似ていますが、画面上での統合、情報の流れ、ナビゲーションははるかに容易になっています。セールス・チームはさらに新しい要件のまとめに着手しており、開発者が新しいコンポーネントを追加してそれに対応する予定です。
Sales Lead コンポジット・アプリケーションのサンプルと資料(Sales Lead composite application sample and documentation (US))をダウンロードしてください。このサンプルにより、Lotus Notes 8 のコンポジット・アプリケーションについて習熟でき、関連記事を読む際の参考になります。
ZetaBank の開発チームは、Lotus Notes 8 の新しい機能を利用することにしました。developerWorks Lotus (US)の記事 (一部はまだ未公開) で提供されている情報をはじめ、さまざまな情報ソースを参照して開発作業の参考にしました。
まずコンポジット・アプリケーションについて調べ、それを自分たちで開発可能であると判断したのち、ドメインの中核となるコンポーネント、ドメインのコンテキストに従うコンポーネント、ユーティリティーを提供するコンポーネントをどれにするかを検討しました。“Designing composite applications: Component design,”(US)と題する記事が設計の方向性を決める上で参考になります。この記事は、設計者や開発者にとって役立ちます。
次に、開発者は既存の Lotus Notes アプリケーションを変更し、最終的なコンポジット・アプリケーションのコンポーネントとして使用できるものにしました。今後 developerWorks Lotus で公開予定の“Designing composite applications: IBM Lotus Notes components”(US)という記事で、既存の Lotus Notes アプリケーションの評価、コンポジット・アプリケーションでの使用に適したコンポーネントの特定、プロパティーとアクションの選択を行うためのプロセスと手順を解説しています。また将来、これらのコンポーネントを別のコンポジット・アプリケーションで再利用するための方法も解説しています。この記事は、設計者や開発者にとって役立ちます。
ZetaBank の開発チームではソリューションを迅速に開発する必要があったため、他のコンポーネントやソリューションがどのように開発されているのかを理解したいと考えました。そこで、今後公開予定の記事“Designing composite applications: Composite application design patterns”で解説されている概念を参照して、コンポーネントのパターン、レイアウトのパターン、アプリケーションのパターンについて学習しました。これは、コンポーネントが最適な生産性を発揮するための最適なレイアウトを決定し、必要な作業をするためのコンポーネントを備えたアプリケーョンを設計する上で有益なものでした。この記事は、設計者、開発者、およびコンポジット・アプリケーションのアセンブリー担当者にとって役立ちます。
今後公開予定の記事“Developing composite applications: Debugging and developing composite applications - unit testing”の内容は、新規アプリケーションの各パートをアセンブリーする前に、それらのパートが適切に動作することを確認するためのテスト・コンポーネントの作成に役立ちます。これにより、各コンポーネントはすでにテスト済みであるため、基幹業務のユーザーはコンポジット・アプリケーションのアセンブリーとワイヤリングに専念することができます。この情報は、開発者および設計者が堅牢なソリューションを構築する上で不可欠です。
アプリケーションおよびコンポーネントの設計段階で、開発チームは新たに 2 つの IBM Lotus Expeditor コンポーネントが必要であると判断しました。1 つはデフォルトのコンポジット・アプリケーション・フレームワークで提供されるナビゲーターに代わるナビゲーターであり、もう 1 つは Lotus Notes View コンポーネントのユーザー・エクスペリエンスとは異なるユーザー・エクスペリエンスを提供する「Sales Lead」ブラウザーです。今後公開予定の記事“Developing composite applications: IBM Lotus Expeditor components”では、プロパティー・ブローカーと対話するコンポーネントの設計を提唱しています。2 つの新しいコンポーネントは、このプロパティー・ブローカーのヘルパー・クラスを使用することで迅速に開発できました。この記事は、設計者や開発者にとって役立ちます。
Lead Manager アプリケーションのアセンブリーには、ワイヤリング、レイアウト、ナビゲーションなどの新しい概念が必要であるため、このプロセスについては 2 つの記事ですべての手順と概念を解説しています。今後公開予定の“Designing composite applications: Composite application assembly, parts 1 and 2”では、コンポジット・アプリケーションのアセンブリーと容易な拡張のために理解しておくべきすべての事柄を解説しています。設計者および基幹業務のアセンブリー担当者は、これらの記事を読んでおくと役立ちます。
コンポジット・アプリケーションの設計プロセス管理は、多くの組織にとってなじみのないものです。“Designing composite applications: Managing the process”の記事は、1 つの組織内の複数部門で再利用可能なコンポーネントを開発し、それをコンポジット・アプリケーションで利用するためのベスト・プラクティスの学習に役立ちます。ZetaBank では、他の開発チームおよび IT チームも Lotus Notes/Domino 8 の検証を行っています。このようなプロセスを取ることで再利用可能なコンポーネントを実装することが可能になり、それが迅速な開発につながります。マネージャーおよび設計者は、この記事で解説されている考え方をよく理解することが必要です。
最後に、ZetaBank の開発チームはアプリケーションのデプロイ方法を決定する必要がありました。そこで、今後公開予定の記事“Deploying composite applications”で解説されている情報を検討し、さらに Lotus Domino 8 Administration Help も詳しく調査して、開発、テスト、実行などの段階を含む段階的デプロイ手法による計画を策定しました。この情報は、コンポジット・アプリケーションのデプロイを担当する管理者および開発者にとって必要です。
Lead Manager のサンプルは、既存の Lotus Notes アプリケーションを既存のプロセスでより容易かつ効率的に使用するために、既存の Lotus Notes アプリケーションを利用してどのようなことができるかを示す一例です。この記事およびサンプルは、あるスタイルのコンポジット・アプリケーションの開発について完全な解説を提供することを意図しています。コンポーネントやコンポジット・アプリケーションには、このほかにも多くのタイプがあります。
学ぶために
- developerWorks Japan: Lotus: Lotusの日本の技術情報サイトです
- developerWorks: Lotus(US) : Lotusの英語の技術情報サイトです
- 始めに、IBM Lotus Notes and Domino 8 technical content (US)を、ご覧ください。
- US developerWorks Lotus の記事 「Designing composite applications: Design patterns」(US)を参照してください。
- US developerWorks Lotus の記事 「Designing composite applications: Component design」(US)を参照してください。
- US developerWorks Lotus の記事 「Designing composite applications: Unit testing」(US)を参照してください。
- developerWorks Lotus の記事 「IBM Lotus Notes/Domino 8 の新機能」を参照してください。
- US developerWorks Lotus の記事 「Extending the IBM Lotus Notes V8 mail with Eclipse」(US)を参照してください。
- developerWorks Lotus の記事 「IBM Lotus Notes 8 のサイドバーおよびツールバーに Lotus Notes データを統合する」を参照してください。
- developerWorks Lotus の記事 「IBM Lotus Notes 8 のサイドバーとツールバーの拡張」を参照してください。
- developerWorks Lotus の記事 「IBM Lotus Notes 8 のサイドバーおよびツールバーでのユーザー・コンテキストの活用」を参照してください。
- Lotus Domino Designer 8 Help, Composite Application Design and Management (US) のページを参照してください。
- developerWorks Lotus Composite Applications page (US) のページを参照してください。
- IBM Lotus Notes/Domino 8 機能評価ガイドを参照してください。
- Eclipse project resources on developerWorks (US)をお読みください。
- より多くの情報は、IBM Lotus Notes and Domino 8 (US) をお読みください。
製品や技術を入手するために
- IBM Lotus Domino 8体験版 (US)をダウンロードしてください。
- IBM Lotus Notes, Domino Designer, and Domino Administrator clients 8体験版 (US)をダウンロードしてください。
議論するために
- ディスカッション・フォーラム(US)にご参加ください。
- developerWork Lotus チームブログ (US)にご参加ください。
Susan Bulloch has been with IBM since 2000. Before that she worked in various industries as a Lotus Domino Administrator. After spending six years on the road as a Field Support Engineer, Susan settled into a new role in 2007, working as a Technical Enablement Engineer helping Business Partners develop and deploy solutions for Lotus Notes and Domino. Susan maintains a blog at http://notesgoddess.net, and she is a regular speaker at technical conferences.