コンテンツ |
 |
|
Donald Russell
Advisory QA Engineer, IBM Corporation
レベル:初級
原文の掲載:2005年8月23日
原文はこちら
IBM Workplace Designer は、Lotus Domino Designer のような機能と能力を IBM
Workplace の世界にもたらすアプリケーション開発ツールです。この記事では、IBM
Workplace Designer について説明します。
多くの企業では、ビジネス・ソフトウェア・プラットフォームは、それ自身を使用して開発できるアプリケーションと同じように役立ちます。IBM
はこの点に注目し、標準ベースの開発ツールである IBM Workplace Designer 2.5
を発表しました。IBM Workplace Designer 2.5 を使用すると、IBM Workplace
製品群のリリース 2.5 に対応するコンポーネントを迅速かつ容易に開発できます。これらのコンポーネントは、IBM
Workplace アプリケーション内で、任意の Web ブラウザーから利用できます。
この記事では、Workplace Designer 2.5 について解説します。まず、Workplace
Designer の概要に触れ、どのような方法で Workplace アプリケーションを作成するのかを簡単に説明します。次に、Workplace
Designer の豊富な機能の中からいくつかの機能を取り上げて、詳しく説明します。この記事は、Web
アプリケーション開発の経験がある方を対象に書かれています。IBM Workplace
製品 (IBM Workplace Collaboration Services 2.5 および IBM Workplace Services
Express 2.5 など) の経験も役に立ちます。より詳細な内容については、IBM Workplace resource center を参照してください。また、IBM による Workplace Designer の開発の詳細については、developerWorks
の Lotus 記事『Workplace Designer の設計: IBM Workplace Designer 設計チームへのインタビュー』を参照してください。
Workplace Designer とは?
バックグラウンドに Notes/Domino でのプログラミング経験があると、Workplace
Designer は Domino Designer タイプのアプリケーション開発機能を IBM Workplace
に与えるツールであると考えられます。実際に、Domino Designer に慣れている人は、後述する
IBM Workplace の機能と概念に似ている部分が数多くあることに気づくでしょう。この類似点は偶然の一致ではなく、Workplace
Designer は Domino Designer を念頭に置いて作成されています。このため、Domino
での経験がある開発者は、既存のスキルを活用して、IBM Workplace 向けの新しいアプリケーションをすばやく作成できます。Workplace
Designer の画面ショットを図 1 に示します。
図 1. Workplace Designer

しかし、Workplace Designer は、Domino Designer を置き換えることが目的ではありません。Domino
Designer は、Notes/Domino 環境内におけるアプリケーション開発用の主要ツールとして、今後も利用可能です。Workplace
Designer を使用すると Notes/Domino の開発者の専門的なスキルを IBM Workplace
製品にまで拡張できます。(Domino Designer 7 の最新リリースでの新機能については、developerWorks
の Lotus 記事『New features in Lotus Notes and Domino Designer 7.0』を参照してください。)
Domino Designer のような開発プラットフォームでの経験があまりなくても、Workplace
Designer を使用すると、Java の詳しい知識を必要とせずに、コラボレーティブなコンポーネントを作成する文書ベースのプログラミングを簡単に行うことができます。Workplace
Designer の基礎となる J2EE テクノロジーは表面には現れないので、実働アプリケーションの作成には、この領域の専門性は必要ありません。Java
のパワーと柔軟性が必要な場合は、拡張 API を使用することにより、IBM Workplace
サーバーが提供するデータとサービスにアクセスできます。カスタマイズとコードへの直接のアクセスが不可欠な開発者は、Rational
Application Developer などのツールを使用できます。Workplace Designer には数多くの拡張ポイントがあります。経験豊かな
Java 開発者は、これらの拡張ポイントを使用して、Rational Application Developer
や他の IBM ツールによって作成されたコードを共有できます。
Workplace Designer の内部
内部的に、Workplace Designer で作成されたコンポーネントには、IBM Workplace
で使用される MVC (Model、View、Controller) アーキテクチャーをサポートする設計要素が含まれます。また、デプロイされたコンポーネントによって作成されるすべての文書は、XML
文書としてリレーショナル・データベースに保存されます。これらの文書は XSD
スキーマで定義され、XPath 言語を介してアクセスできます。Workplace Designer
には、スキーマを変更するスキーマ・エディターが含まれています。
Workplace Designer アプリケーションは、Notes データベースのように自己完結型ではない点に注意してください。Notes/Domino
で設計したアプリケーションは、すぐにデプロイして実行できます。Workplace
では、コンポーネントはそれを実行する Workplace サーバーにデプロイする必要があり、このコンポーネントを
1 つ以上の Workplace 複合アプリケーションに組み込むために追加のセットアップを実行しなければなりません。
Eclipse 3.0 に基づく Workplace Designer は、IBM Workplace Collaboration
Services 2.5 および IBM Workplace Services Express 2.5 に完全に統合されています。(詳細については、developerWorks
の Lotus 記事『IBM Workplace Services Express の概要』を参照してください。)Workplace
Designer は、IBM Workplace Managed Client 上にインストールされます。Workplace
Designer には、IBM Workplace Collaboration Services 2.5 および WebSphere
Portal への開発ライセンスが含まれていて、テストの実施およびテンプレートとアプリケーションへの組み込みのために、コンポーネントをサーバーにシームレスにデプロイすることができます。開発者は
Workplace サーバーで認証され、IBM Workplace クライアントからツールを起動できます。コンポーネントは、Workplace
Builder と共に使用できます。
Workplace Designer には、次の業界標準が組み込まれています。
- データのアクセスと交換のための XML
- ポータル開発のための HTML/CSS
- プログラム言語としてのJavaScript
ワークステーションでは、Workplace Designer は Linux および Microsoft Windows
2000 または XP 上の IBM Workplace 内で実行されます。サーバーでは、Workplace
Designer アプリケーションは、サポート対象のすべてのプラットフォーム上の
Workplace Services Express 2.5 および Workplace Collaboration Services
2.5 で実行されます。
Workplace Designer は、IBM Cloudscape、DB2、Oracle、および Microsoft SQL
Server を含むいくつかのデータベース・プラットフォームをサポートします。また、Workplace
Designer は、IBM Workplace 製品によってサポートされる LDAP サーバーをサポートします。
Workplace Designer の最初のリリースには、使い始めるために必要なすべての内容が揃っています。
- 製品コード
- マニュアルとチュートリアル
- サンプル・アプリケーション・コード
- 開発中のアプリケーションをプリビューおよびテストする IBM Workplace Collaboration
Services
- IBM Cloudscape(IBM Workplace Collaboration Servicesの一部として)
Workplace Designer の機能
Workplace Designer 2.5 には、次のような機能があります。
- Workplace サーバー上の 1 つのポートレットを構成するコンポーネント群 (フォーム、スキーマ、スクリプト、およびイメージの集まり)。
- 設計要素。Workplace Designer の一部で、コンポーネントを視覚的に作成または変更することができます。
- 情報の入力および各種データ・ソースからのデータ表示を行うフォームを作成するフォーム・エディター。フォームはコラボレーティブなシステムにおける重要な要素で、情報を収集および処理する柔軟な方法を提供します。フォームはユーザー・インターフェースのメインとなる要素で、アプリケーションのインターフェースを構成するコントロールを保持しています。フォームを使用して、文書内に格納されているデータを作成、編集、および表示します。
- 利用可能なすべての UI コントロール/コンポーネントを提供する UI 制御パレット。UI
コントロールは、フォーム上でユーザーがデータを使用することを可能にする視覚的な要素です。UI
コントロールには、編集フィールド、ボタン、ドロップダウンリスト、およびリンクがあります。
- 完全なプログラミング機能を備えたイベント。ボタンのクリック、フィールド・イベント、文書を開くまたは閉じるときのイベントなどがあります。
- 完全な JavaScript インターフェースから組み込み関数に至るまでのスクリプティング機能。これには、スクリプト・エディターが含まれています。また、構文の色分け、先行入力など、Eclipse
スクリプト・エディターが持っている多数の機能もサポートされています。
- テストおよび実働用のデプロイメントを容易にする機能。
これらの各機能については、以降のセクションで詳しく説明します。
コンポーネント
前のセクションで説明したように、Workplace Designer コンポーネントは、ポートレットを構成するフォーム、スクリプト、および他の要素の集まりです。(Workplace
アプリケーションは、1 つ以上のポートレットによって構成されます。)Workplace
Designer を使用すると、コンポーネントを作成してポートレットとして Workplace
サーバーにデプロイし、さらに Workplace アプリケーションに追加することができます。これらのアプリケーションは、Web
ユーザーに公開され、利用可能になります。新しいコンポーネントは、まったく新規に作成するか、既存の
Domino データベースをスターティング・ポイントとしてインポートし、これを利用して作成します。コンポーネント内のイベントに関連するスクリプトを書くこともできます。これを行うには、コンポーネント・イベントを選択し、そのイベント用のスクリプトを記述します。(スクリプティングとイベントについては後述します。)
Workplace Designer コンポーネントは、Workplace アプリケーション用のロールに基づくセキュリティー・モデルをサポートします。コンポーネントをデプロイし、アプリケーションまたはアプリケーション・テンプレートに追加した後、コンポーネントのロールを特定の
Workplace アプリケーションのロールにマッピングすることにより、コンポーネントへのアクセス権を設定できます。たとえば、テンプレートのロールの
[投稿者] をコンポーネントのロールの [読者] にマッピングすると、アプリケーションへの
[投稿者] のアクセス権を持つユーザーは、コンポーネントに対して [読者] のアクセス権を持つことになります。
Workplace Designer には、Workplace アプリケーションで使用されるコンポーネントを
Workplace サーバーに簡単にデプロイする機能があります。これには、Workplace
Designer でのデプロイメント・プロファイルの作成も含まれます。詳細については、Workplace
Designer のオンラインヘルプを参照してください。
フォーム
Notes/Domino のフォームと同様に、Workplace Designer のフォームも、IBM Workplace
コンポーネントとの対話を行うメインのユーザー・インターフェースです。フォームを使用すると、ユーザーと設計者は情報を入力または表示できます。コンポーネントは多数のフォームから構成されているかもしれません。現在のコンポーネント内で、フォームからフォームにユーザーを誘導する為に、コンポーネント開発者はフォームのプロパティーやUIコントロールを利用できます。
フォームは、Workplace Designer の中心となる設計要素です。Notes/Domino のアプリケーション開発には、ビュー、エージェントなど、スタンドアロンの設計要素がたくさんあります。しかし、Workplace
Designer には、1つの基本要素であるフォームだけがあります。ビューを作成するには、そのビューをフォームに埋め込む必要があります。Notes/Domino
のエージェントに対応する Workplace の要素を実行するには、その要素をフォーム上のイベントして作成します。また、Notes/Domino
では、データをフォーム設計の一部として定義します。Workplace Designer では、データを個別のスキーマとして定義し、UI
コントロールをこのスキーマ要素にバインドします。フォームの設計時に既存のスキーマがない場合は、UI
コントロールのデータ・バインディングを指定したときに、Workplace Designer
によってスキーマが作成されます。フォームを作成する前に、コンポーネントを作成する必要があります。
Workplace Designer では、いくつかの方法で新規フォームを作成できます。空のフォームから開始する、Domino
データベースからフォームをインポートする、または既存のフォームをコピーするなどの方法があります。新規の空のフォームを作成するときは、フォームの名前とコメントの入力を求められます。また、スキーマの扱いも次の中から選択する必要があります。
- このフォーム用のスキーマを作成
- 既存のスキーマを使用
- スキーマを使用しない
フォーム・エディター
フォームの作成、表示、編集の為に Workplace Designerではフォーム・エディターが実装されています(図1)。このグラフィカル・エディターを使用すると、UI コントロール、ボタン、グラフィックなどの要素を配置できます。これらの要素を追加するには、UI
コントロール・パレットを使用します (次のセクションで説明します)。これらの要素は、ドラッグアンドドロップでフォーム内に追加します。
Workplace Designer では、いくつかのレベルでデータを検証できます。フィールド・レベルの検証では、フィールドの型と許可されている値をチェックします。検証プロセスに複数のフィールドが含まれるときは、文書レベルの検証を使用します。検証は、そのタイプに応じて、データを送信する前にクライアントで実行されるか、バックグラウンドの文書を更新する前にサーバーで実行されます。
図 2. 新規フォーム・ダイアログ

UI コントロール
UI コントロールは、Workplace Designer における重要な概念です。ユーザーが対話できる要素として、視覚的な要素
(たとえば、ボタンやリンクなど) があります。Workplace Designer には、さまざまな種類の
UI コントロールのセットが組み込まれていて、各 UI コントロールをフォームに追加できます。たとえば、UI
コントロールとして、編集ボックス、複数行編集ボックス、ボタン、リストボックス、コンボボックス、チェックボックス、ラジオボタン、リンク、計算結果フィールド、イメージなどがあります。これらの
UI コントロールへは、フォーム・エディター・インターフェースの右上のセクションにある
UI コントロール・パレットを介してアクセスします (図 3)。
図 3. UI コントロール・パレット

UI コントロール・パレットで UI コントロールを選択し、設計中のフォームに挿入します。
ビュー・コントロール
先ほど触れたとおり、Workplace Designerと異なる点の1つは、ビューの扱いにあります。ビューは、文書の集まりを表示する為にフォームに追加されるUIコントロールです。Workplace Designerでは、ビューはフォームを通してコントロールされます。ビューを作成する為に、フォームにビュー・コントロールを挿入し、1つもしくはそれ以上のスキーマと個別のフィールドを、ビューに関連付ける必要があります。ビュー・コントロールは、最終的に存在するデータから、ビューのプレゼンテーションを分離する手段を提供します。ビュー・コントロールをフォームに挿入した後、コントロールのフォーマットを変更すること、他のユーザー・インターフェース・コントロールに類似させたり、スタイルや個別のフォーマットのプロパティーを使用したりすることができます。
コンテナー・コントロール
コンテナー・コントロールは (名前が示すように)、他の UI コントロールを格納する
UI コントロールです。コンテナー・コントロールには、次の 3 つのタイプがあります。
- パネルはフォーム上の長方形の領域で、中心となるコントロールをこの中に追加できます。パネルを複数のフォーム間で再利用し、「ルックアンドフィール」を統一したり、設計時間を短縮することができます。
- 表は個々のセルを含みます。表のセルにはコントロールを追加できます。
- ビューはフォーム上の長方形の領域で、定義済みのクエリーに基づいて XML から抽出したデータの行と列を含みます。
イベント
どの開発環境にも不可欠なのがイベント処理です。Workplace Designer は、次に示すいくつかのタイプのイベント・コントロールをサポートしています。
- UI コントロール・イベント。各 UI コントロールは、クライアントサイド・イベントを持つことができます。たとえば、ボタンは「on
click」イベントを生成します。コードは、サーバーサイドまたはクライアントサイドのいずれかで実行されます。
- コンポーネント・イベント。これらは IBM Workplace 標準イベントです。たとえば、コンポーネントのインスタンスが生成されるときのイベントや、Workplace
アプリケーションにメンバーが追加または削除されるときのイベントです。これらのイベントは、イベント・グローバル・プロパティを用いてコンポーネント・レベルで定義および処理されます。
- フォーム・イベントと文書イベント。フォーム・イベントは、open、close、onSave、postSave など、編集コントロール上のイベントをサポートします。文書イベントは、フォーム・イベントと同じイベントをサポートします。
スクリプティング
前述したように、Workplace Designer には、アプリケーション開発用の完全な
JavaScript スクリプティング環境が含まれています。この環境によって、理解しやすい言語で比較的複雑なプログラムを作成できます。スクリプトは、サーバーまたはクライアントのいずれかで実行できます。
スクリプティング環境には、再利用可能なコードを保管するスクリプト・ライブラリーがあります。Workplace
Designer の JavaScript インタープリターには、主要なすべての IBM Workplace
API を公開する定義済みのネイティブ・ライブラリーが備えられています。(JavaScript
インタープリターは、任意の Java API を直接呼び出すことができる Java ブリッジとしても機能します。)また、再利用可能なスクリプト・コードを含む独自のスクリプト・ライブラリーを作成したり、コンポーネント間でスクリプト・ライブラリーをコピーすることも可能です。
Workplace Designer のスクリプティング環境には、スクリプト・エディターも含まれています
(図 4 参照)。
図 4. JavaScript エディター

このエディターは Eclipse スクリプト・エディターに基づいていて、構文の色分け、先行入力
(コード補完)、JavaScript クラスの参照などの機能を持ちます。
デプロイメント
Workplace Designer には、作成したコンポーネントを Workplace サーバーへデプロイすることを補助する機能があります
(図 5 参照)。
図 5. [デプロイメント・プロファイルの編集] 画面

サーバーにデプロイしたコンポーネントは、Workplace アプリケーションおよびアプリケーション・テンプレートに追加できます。
Workplace Designer のその他の機能
これまでに説明した機能の他にも、Workplace Designer には次の機能があります。
サンプル・アプリケーション
Workplace Designer には、IBM Workplace アプリケーション開発に習熟するためのサンプル・アプリケーションが含まれています。また、無料でダウンロードし、自由に改変できる他のアプリケーションが、IBM
によって Web 経由で提供されます。
マニュアルとチュートリアル
機能と関数が記載されたオンラインヘルプに加え、Workplace Designer には次のマニュアルが含まれています。
使い始めるまでの手順を簡潔に説明するスタートアップ・マニュアル。
- IBM Workplace コンポーネントの構築方法をステップバイステップで説明するチュートリアル。
- ツールとそのモジュールについて解説されている IDE リファレンス。
- パブリック API、使い方、サンプル・コードが記載された API リファレンス
新しく、使いやすい IBM Workplace Designer
これまでに見てきたように、Workplace Designer は、IBM Workplace プラットフォームでのアプリケーション開発に興味のあるユーザーに、数多くのものを提供します。経験豊富な
Domino 開発者は、Domino Designer と同じように機能し、業界標準のテクノロジーに基づく環境で、現在のスキルを活用できます。また、高度なプログラマーが、Java
ベースのツールと統合した Workplace Designer の拡張性を利用する一方で、Java
の知識を持たない経験の少ないプログラマーでも、スクリプト・インターフェースを使用してフル機能のプログラムを作成できます。
ユーザーのバックグラウンドにかかわらず、Workplace Designer は Workplace
アプリケーションを作成するための、使いやすく、かつ強力なツールをもたらします。IBM
Workplace Designer のさらに詳しい情報については、IBM Workplace resource center を参照してください。
リソース
筆者について(原文のまま)
Dick McCarrick is a content developer for developerWorks: Lotus. Previously
he was a member of the Domino/Notes Documentation team for over 11 years,
playing a variety of roles in documenting many major components of Domino
and Notes. He also wrote the occasional article for Iris Today (including
Ask Professor INI) before joining the Notes.net/Lotus Developer Domain
team permanently in 2002. In his spare time, Dick's leisure activities
include running, fishing, woodworking, and reading about the natural sciences.
An avid astronomer, he's former director of the Bridgewater (Mass.) State
College Observatory. Dick lives in Vermont. |
|