SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

最新イベントはこちら!

Data Tech 2024

2024年11月21日(木)オンライン開催

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

EnterpriseZine(エンタープライズジン)

EnterpriseZine編集部が最旬ITトピックの深層に迫る。ここでしか読めない、エンタープライズITの最新トピックをお届けします。

『EnterpriseZine Press』

2024年秋号(EnterpriseZine Press 2024 Autumn)特集「生成AI時代に考える“真のDX人材育成”──『スキル策定』『実践』2つの観点で紐解く」

エンタープライズマッシュアップを実現するコンポジットアプリケーション開発の現在

Eclipseでコンポジット・アプリケーションを実現可能にするIBM Lotus Expeditor

第3回

IBM Lotus Expeditorが提供するサービス

 Expeditorには Eclipse上にEclipseプラグインの形式で非常に多くのサービスが提供されており、それらのサービスよって、最初に説明した5つの特徴を実現することが可能になっています。Eclipseはクライアント・アプリケーションを開発するために非常に強力なグラフィカル・ユーザー・インターフェースのフレームワーク、高い拡張性と柔軟性を備えたプラグイン・モデルの双方を提供しており、最適であるようにみえます。しかし、企業で使用するクライアント・アプリケーションを実現するために十分な機能を提供されているとはいえません。企業で使用するクライアント・アプリケーションに必須になるであろう機能として以下のようなものがあげられます。

  • セキュアなクライアント環境を実現するための認証フレームワーク
  • データストアのためのリレーショナル・データベース機能
  • Web アプリケーションを実現するためのWebブラウザー用のコンポーネント
  • JavaEE などのエンタープライズ・アプリケーションをクライアントで実行するためのコンテナー
  • アプリケーションをサーバーから配信するためのサービス

 Expeditorではこれらの企業用クライアントで必要となるであろう機能をサービスとしてEclipse上に提供することで、企業用のクライアント環境として最適なものを提供しています(図4)。

図4 IBM Lotus Expeditorの機能レベルのアーキテクチャー構成
図4 IBM Lotus Expeditorの機能レベルのアーキテクチャー構成

 Expeditorで提供されている多くのサービスの1つに、コンポジット・アプリケーションを実現するためのサービスとしてProperty Brokerが提供されています。Expeditor上のProperty Brokerはクライアント内のService BUSのようなイメージであり、Expeditor上のすべてのプラグインはProperty Brokerにアクセスすることが可能で、プラグイン間の連携はこのProperty Brokerを介して行うことになります。Property Brokerによるプラグイン間の連携を説明するにあたり、Property Brokerで使用される用語を紹介します。

  • Property

     コンポーネント間で受け渡されるデータ。TypeやNamespaceが厳密に定義されている。

  • Action

     Propertyを受け取ったときに、それをトリガーとして実行されるロジック。

  • Source

     Property(Output Property)をパブリッシュ(送信)するコンポーネント。

  • Target

     Property(Input Property)を受け取り、Action を実行するコンポーネント。

  • Wire

     Source側のPropertyとTarget側のActionの接続。Output PropertyとInput PropertyのTypeと Namespaceが一致しないとWireすることはできない。

  • Component Interfaces

     各コンポーネントが使用するPropertyとActionの定義をWSDL形式で記述したもの。PropertyBrokerへの登録の際にこのWSDLが使用される。

 これらの用語を用いて、Property Brokerを介してのプラグイン間の通信の仕組みを説明します(図5参照)。

図5 Property Brokerとコンポジット・アプリケーションの仕組み
図5 Property Broker とコンポジット・アプリケーションの仕組み

 はじめに、Sourceであるプラグインは、何らかの操作やイベントをトリガーにして、Targetに渡したいProperty(Output Property)を生成しパブリッシュします。Property Brokerはどのプラグイン同士がWireされているのかを知っており、このSourceとWireされているTargetに対してPropertyを転送します。Property(Input Property)を受け取ったTargetはそれに対応するActionを実行します。以上のような流れにより、あるプラグイン上で操作を行うと、それに応じて他のプラグインの状態が変化するといったプラグイン間通信を行うことができます。このようにしてProperty Brokerの仕組みを使うことにより、プラグイン間を疎結合で連携させることが可能になります。

 また、プラグインは様々なテクノロジーで開発することができるため、たとえばWebアプリケーションとWindowsネイティブアプリケーションのように、テクノロジーが異なっていたとしてもProperty Brokerを使用することで連携が可能となります。つまり、既存の様々なテクノロジー、ユーザー・インターフェースで開発されたクライアント・アプリケーションであっても以下の3ステップで様々な問題を解決するコンポジット・アプリケーションをExpeditor上で実現することができます。

  1. Eclipse プラグイン形式でパッケージしなおす
  2. Property Brokerでの連携のためのインターフェースの定義をWSDLで記述する
  3. 連携のためのインターフェースを実装する

 さらに、プラグイン間の連携が非常に疎結合であるため、ビジネス・プロセスの変化に柔軟に対応することができる、多くのプラグインを再利用することができる、というような、開発生産性に関しても大きなメリットがあります。また、サーバー・サイドにおける同様の考え方であるSOA(Service Oriented Architechture)のフロントエンドとしても最適です。

次のページ
IBM Lotus Expeditorでのアプリケーション開発

この記事は参考になりましたか?

  • Facebook
  • X
  • Pocket
  • note
エンタープライズマッシュアップを実現するコンポジットアプリケーション開発の現在連載記事一覧

もっと読む

この記事の著者

佐藤 淳(サトウ アツシ)

ロータス株式会社にてLotus Notes/Dominoの開発に携わり、2001年からは日本アイ・ビー・エム株式会社 ソフトウェア開発研究所 WPLC開発&サービスにてWPLC ISV Technical Enablement Specialistとしてパートナー様の技術イネーブリメントに従...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/227 2007/11/16 11:08

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング