図面 (/)

この項目の情報は公開日時点(2000年12月26日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題

企業環境でモジュール展開記述子施用の方法と装置。

解決手段

プラットフォームサーバで使用する展開ツールを用いてアプリケーションを展開する。アプリケーション作成、アプリケーション用アプリケーション展開記述子の作成、アーカイブへのアプリケーションパッケージ化及びアプリケーションの展開を含む。アプリケーション作成は、アプリケーションコンポーネント展開情報を有する関連アプリケーションコンポーネント展開記述子を有するアプリケーションコンポーネント取得を含む。アプリケーション用アプリケーション展開記述子は、アプリケーションコンポーネント識別用編成された情報を含み、アーカイブへのアプリケーションパッケージ化は、アプリケーションコンポーネント、アプリケーションコンポーネント展開記述子及びアプリケーション展開記述子パッケージ化を含む。アーカイブにパッケージ化されたアプリケーションは、アプリケーションコンポーネント展開記述子を使用して展開される。

概要

背景

概要

企業環境でモジュール展開記述子施用の方法と装置。

プラットフォームサーバで使用する展開ツールを用いてアプリケーションを展開する。アプリケーション作成、アプリケーション用アプリケーション展開記述子の作成、アーカイブへのアプリケーションパッケージ化及びアプリケーションの展開を含む。アプリケーション作成は、アプリケーションコンポーネント展開情報を有する関連アプリケーションコンポーネント展開記述子を有するアプリケーションコンポーネント取得を含む。アプリケーション用アプリケーション展開記述子は、アプリケーションコンポーネント識別用編成された情報を含み、アーカイブへのアプリケーションパッケージ化は、アプリケーションコンポーネント、アプリケーションコンポーネント展開記述子及びアプリケーション展開記述子パッケージ化を含む。アーカイブにパッケージ化されたアプリケーションは、アプリケーションコンポーネント展開記述子を使用して展開される。

目的

効果

実績

技術文献被引用数
2件
牽制数
1件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

プラットフォームサーバ上での使用のためにアプリケーション展開するための方法であって、前記アプリケーションは展開ツールによって展開され、前記方法は、前記アプリケーションを作成するステップが、少なくとも一つのアプリケーションコンポーネントを取得するステップを含み、前記アプリケーションコンポーネントは、関連する前記アプリケーションコンポーネント展開記述子を有し、前記アプリケーションコンポーネント展開記述子は、前記アプリケーションコンポーネントの前記展開に関する情報を含む、前記アプリケーションを作成するステップと、アプリケーション展開記述子が、前記アプリケーションコンポーネントを識別するように編成される情報を含む、前記アプリケーションのための前記アプリケーション展開記述子を作成するステップと、アーカイブが、前記アプリケーションコンポーネント、前記アプリケーションコンポーネント展開記述子、及び前記アプリケーション展開記述子を含む、前記アプリケーションを前記アーカイブにパッケージ化するステップと、前記アーカイブ内でパッケージ化された前記アプリケーションは、前記アプリケーションコンポーネント展開記述子を使用して展開される、前記アーカイブ中でパッケージ化された前記アプリケーションを展開するステップと、を有する、アプリケーションの展開方法

請求項2

前記アプリケーションを作成するステップは更に、関連するアプリケーションコンポーネント展開記述子を有する第2のアプリケーションコンポーネントを取得するステップを含む、請求項1に記載のアプリケーションの展開方法。

請求項3

前記アプリケーション展開記述子は、前記第2のアプリケーションコンポーネントを識別するように編成される情報を含み、前記アーカイブは、更に、前記第2のアプリケーションコンポーネント、及び前記第2のアプリケーションコンポーネントに関連する前記アプリケーションコンポーネント展開記述子を含む、請求項2に記載のアプリケーションの展開方法。

請求項4

前記アーカイブ内でパッケージ化された前記アプリケーションを展開するステップは、更に、前記第2のアプリケーションコンポーネント展開記述子に関連する前記アプリケーションコンポーネント展開記述子を使用するステップを含む、請求項2及び3の一つに記載のアプリケーションの展開方法。

請求項5

前記アプリケーションは、エンタープライズアプリケーションであり、前記アプリケーションコンポーネントは、エンタープライズBean及びWebアプリケーションから成るグループから選択される一つである、請求項1〜4の何れか一つに記載のアプリケーションの展開方法。

請求項6

プラットフォームサーバ上での使用のためにアプリケーションを展開するためのコンピュータプログラム製品であって、前記アプリケーションは展開ツールによって展開され、前記コンピュータプログラム製品は、前記アプリケーションを作成するためのコンピュータコードであって、前記アプリケーションを作成するためのコンピュータコードは、少なくとも一つのアプリケーションコンポーネントを取得するためのコンピュータコードを含み、前記アプリケーションコンポーネントは、関連するアプリケーションコンポーネント展開記述子を有し、前記アプリケーションコンポーネント展開記述子は、前記アプリケーションコンポーネントの前記展開に関する情報を含む、コンピュータコードと、アプリケーション展開記述子が前記アプリケーションコンポーネントを識別するように編成される情報を含む、前記アプリケーションのための前記アプリケーション展開記述子を作成するためのコンピュータコードと、アーカイブが、前記アプリケーションコンポーネント、前記アプリケーションコンポーネント展開記述子、及び前記アプリケーション展開記述子を含む、前記アプリケーションを前記アーカイブ内でパッケージ化するコンピュータコードと、前記アーカイブ内でパッケージ化された前記アプリケーションは、前記アプリケーションコンポーネント展開記述子を使用して展開される、前記アーカイブ内でパッケージ化された前記アプリケーションを展開するためのコンピュータコードと、前記コンピュータコードを格納するコンピュータ可読媒体と、を備える、コンピュータプログラム製品。

請求項7

前記アプリケーションを作成するための前記コンピュータコードは更に、関連するアプリケーションコンポーネント展開記述子を有する第2のアプリケーションコンポーネントを取得するためのコンピュータコードを含む、請求項6に記載のアプリケーションを展開するためのコンピュータプログラム製品。

請求項8

前記アプリケーション展開記述子は、前記第2のアプリケーションコンポーネントを識別するように編成される情報を含み、前記アーカイブは更に、前記第2のアプリケーションコンポーネントと、前記第2のアプリケーションコンポーネントに関連する前記アプリケーションコンポーネント展開記述子とを含む、請求項7に記載のアプリケーションを展開するためのコンピュータプログラム製品。

請求項9

前記アーカイブ内でパッケージ化された前記アプリケーションを展開するための前記コンピュータコードは更に、前記第2のアプリケーションコンポーネント展開記述子に関連する前記アプリケーションコンポーネント展開記述子を使用するためのコンピュータコードを含む、請求項7又は8の何れか一つに記載のアプリケーションを展開するためのコンピュータプログラム製品。

請求項10

前記アプリケーションは、エンタープライズアプリケーションであり、前記アプリケーションコンポーネントは、エンタープライズBean及びWebアプリケーションから成るグループから選択される一つである、請求項6〜9の何れか一つに記載のアプリケーションを展開するためのコンピュータプログラム製品。

請求項11

アプリケーションで使用するためのアーカイブのデータ構造であって、前記アプリケーションは、コンピュータシステム上での展開に適しており、前記データ構造は、アプリケーションコンポーネントと、アプリケーション展開記述子であって、前記アプリケーション展開記述子が、前記アプリケーションコンポーネントを識別するように編成される情報を含む、アプリケーション展開記述子と、アプリケーションコンポーネント展開記述子であって、前記アプリケーションコンポーネント展開記述子は、前記アプリケーションコンポーネントの前記展開に関する情報を含み、前記アプリケーションコンポーネントは前記アプリケーションコンポーネント展開記述子を使用して展開されるように編成されている、前記アプリケーションコンポーネント展開記述子と、を備える、データ構造。

請求項12

更に、第2のアプリケーションコンポーネントと、前記第2のアプリケーションコンポーネントに関連する第2のアプリケーションコンポーネント展開記述子と、を含む、請求項11に記載のアーカイブのデータ構造。

請求項13

前記アプリケーション展開記述子は更に、前記第2のアプリケーションコンポーネントを識別するように編成されている、請求項12に記載のアーカイブのデータ構造。

請求項14

前記アプリケーション展開記述子は、なお更に、前記アプリケーションコンポーネントと前記第2のアプリケーションコンポーネントとの間の相互作用を規定するように編成されている、請求項13に記載のアーカイブのデータ構造。

背景技術

0001

1.発明の分野
本発明は、一般に、企業情報システムに関する。より詳細には、本発明は、企業ベースアプリケーションでの使用のためにパッケージ化されたモジュールにおける展開記述子(deployment descriptors) の使用に関する。

0002

2.関連技術の説明
企業環境の使用が増大しているように、企業環境が使用できる全体の効率を、向上することが必要になってきた。効率の向上は、普通には、実装する企業のコストの低減、及び企業に関連する応答時間の低下を含んでいる。

0003

企業情報システムは普通には、企業の一部であり、企業のユーザへサービスを提供する。新規サービスがユーザへ提供されることになる場合、一般に、新規サービスは、企業情報システムへ統合されなくてはならない。図1は、企業アプリケーションのための構成モデル図式である。企業アプリケーション112は、企業情報システム104、及び新規サービス108を含む。アプリケーション112は、展開された (deployed) アプリケーション112がプラットフォーム120上で使用できるように展開者 (deployer) 116により展開されるように編成されている。

0004

普通には、新規サービス108を企業情報システム104と共にユーザへ提供することを可能にするために、新規サービス108は、アプリケーション112内で企業情報システム104へ統合されなくてはならない。新規サービス108を企業情報システム104へ統合するために、開発者は、新規サービス108と企業情報システム104との間の特定の相互作用コード化する責任がある。換言すれば、新規のサービス108が企業情報システム104に含まれるサービスと共に提供できるように、一般に、新規サービス108及び企業情報システム104に対する変更がなされる。

0005

新規サービスがユーザーへ提供される度に、開発者は新規サービスとの相互作用をコード化しなくてはならないので、取引管理相互作用やセキュリティ管理相互作用等の相互作用をコード化する必要性は、非能率であり得る。一般に、相互作用をコード化することは、新規のサービスを迅速に展開させ得ない。加えて、相互作用をコード化する必要性は、異なるサービスの相互作用がどのように相互作用するかを習得する負担を開発者に掛けることが多い。

0006

従って、新規サービスを能率的に展開することを可能にする企業システムが望まれる。換言すれば、開発者がシステムサービス間の特定の相互作用をコード化する必要性を排除するシステムが必要とされる。

発明の概要

0007

本発明は、企業環境においてモジュールの展開に使用される展開記述子に関する。本発明の1局面によると、プラットフォームサーバ上での使用のために展開ツールを使用してアプリケーションを展開するための方法は、アプリケーションの作成、アプリケーションのためのアプリケーション展開記述子の作成、アーカイブへのアプリケーションのパッケージ化、及びアーカイブ内でパッケージ化されたアプリケーションの展開を含む。アプリケーションの作成は、アプリケーションコンポーネントの展開に関する情報を有する関連アプリケーションコンポーネント展開記述子を有するアプリケーションコンポーネントの取得を含む。アプリケーションのためのアプリケーション展開記述子は、アプリケーションコンポーネントを識別するように編成された情報を含み、アーカイブ内でのアプリケーションのパッケージ化は、アプリケーションコンポーネント、アプリケーションコンポーネント展開記述子、及びアプリケーション展開記述子をパッケージ化することを含む。アーカイブ内でパッケージ化されたアプリケーションは、アプリケーションコンポーネント展開記述子を使用して展開される。

0008

実施の形態の一つでは、アプリケーションの作成は更に、関連するアプリケーションコンポーネント展開記述子を有する第2のアプリケーションコンポーネントの取得を含む。そのような実施の形態では、アプリケーション展開記述子は、第2のアプリケーションコンポーネントを識別するように編成された情報を含み、アーカイブは更に、第2のアプリケーションコンポーネント、及び第2のアプリケーションコンポーネントに関連するアプリケーションコンポーネント記述子を含む。

0009

本発明のこれら及び他の利点は、以下の詳細な説明を通読し、図面の種々の図を研究することにより明らかになるであろう。

0010

サービス、例えば、取引管理サービス、及びセキュリティ管理サービスがユーザへ提供されるようにアプリケーションが作成される場合、種々のサービス間の相互作用は、サービスを一緒に提供できるように開発者によりコード化される。新規サービスがユーザへ提供される度に、開発者は現存するサービスと新規サービスとの間の相互作用をコード化しなくてはならないので、サービス間の相互作用をコード化する必要性は、非能率的であり得る。

0011

新規サービスが他のサービスと統合できる方法を記述する、各新規サービス、例えば、モジュール内のデータ構造体、例えば、展開記述子の実装は、異なるサービスを容易に共に「適合」させることを可能にする。モジュールが展開記述子を含むように作成される場合、開発者がモジュール間の相互作用をコード化する必要性は、効果的に除去される。与えられたモジュールの他のモジュールとの相互作用は、与えられたモジュールの展開記述子に本質的に記述されている。展開記述子の使用は、モジュールに関連する展開記述子を読み、モジュールをアプリケーションの一部として、又は独立してモジュールを展開する方法を決定することも展開者(deployer)に可能にする。

0012

一般に、展開記述子を組込むアプリケーションは、一つ以上のコンポーネントと一つのアプリケーション展開記述子を含んでいる。アプリケーション展開記述子内に、コンポーネントは、一般に、モジュールとして記載される (listed) か、さもなければ、グループ化される。詳細には、モジュールは、同種類の一つ以上のコンポーネントの他に、一つのコンポーネントレベルの展開記述子を含む。展開記述子を組込むアプリケーションは、個別のコンポーネント、コンポーネントライブラリ、及びアプリケーションの一部として、コンポーネントのパッケージ化、展開をも容易にする。例えば、展開ツールは、展開記述子を使用して、コンポーネントを単体のコンポーネントとして展開する方法を容易に決定することが可能である。

0013

図2は、本発明の実施の形態による展開記述子を持つモジュールに対する構成モデルの線図である。構成モデル200は、コンポーネント208、モジュール212、アプリケーション216、展開ツール220、及びプラットフォームサーバ224を含んでいる。コンポーネント208は本質的に、アプリケーション216の「構築ブロック(building block)」として使用されるモジュール212を構成する。展開ツール220は、アプリケーション216、又は個別のモジュール212を、プラットフォームサーバ224上で使用できるように展開するように編成されている。

0014

コンポーネント208は、普通には、ユーザ記述、例えば、開発者記述である。コンポーネントの種類は広範に変化できるが、コンポーネントは、エンタープライズJava Beans(EJBs)208a及びWeb(Web)アプリケーション208bを含むことができるが、それに限定されない。当業者により認知されるであろうように、EJBアーキテクチャは、コンポーネントベースの分散ビジネスアプリケーションの開発と展開のためのコンポーネントアーキテクチャであり、カリフォルニア州パロアルト(Palo Alto)のサンマクロシステムズ社により開発された。

0015

EJBs208aは、ユーザ記述のEJBモジュール212a内へグループ化され、モジュールは、EJBモジュール展開記述子(DDdeployment descriptor)232を含む。EJBモジュール212aは、アプリケーション216に含まれてよいし、又は、代替として、アプリケーション216内に組立られることなく、展開ツール220により直接展開される単独のモジュールであってもよい。記載の実施の形態では、EJBモジュール展開記述子232は、展開ツール220を使用してEJBs208を展開することに必要である実質的に全ての宣言(declarative) データを含む。加えて、EJBモジュール展開記述子232は、EJBsがアプリケーション内に構成される方法を記述する組立命令をも含むことができる。EJBモジュール展開記述子232は、後に図7を参照して説明する。

0016

Webアプリケーション208bは、実質的にワールドワイドウエブ(WWW)の一部として包含することに適するいかなるものであってもよい。実施の形態の一つでは、Webアプリケーション208bは、サーブレット、すなわち、カリフォルニア州パロアルトのサンマイクロシステムズ社により開発されたJavaプログラミング言語で記述されたサーバ側のプログラムを含むことができる。Webアプリケーション208bは、Webクライアントモジュール212b内へグループ化され、モジュールは、Webクライアント展開記述子236を含み、ユーザ記述である。Webクライアント展開記述子236は、以下で図8に関して検討する。

0017

EJBモジュール212aと同様に、Webクライアントモジュール212bは、アプリケーション216に含まれるか、又は単独のモジュールとして展開されてもよい。更に、Webクライアントモジュール212bは、プラットフォームサーバ224、例えば、Webサーバによって実質的に直接展開されてもよい。Webクライアントモジュール212bがWebサーバによって展開される場合、Webサーバは一般に、展開ツール220に普通には含まれる展開能力を含んでいることは、理解されるべきである。

0018

図9に関して以下で検討するアプリケーションクライアント展開記述子240を含む、アプリケーションクライアントモジュール212cは、開発者によりJavaプログラミング言語で記述されるアプリケーションであることが多い。当業者により理解されるであろうように、そのようなアプリケーションは、一般に、リソース依存性を含むが、実質的にサービスを提供しない。EJBモジュール212a及びWebクライアントモジュール212bの場合と同様に、アプリケーションクライアントモジュール212cは、展開ツール220により直接展開できる単独のモジュールであってもよい。

0019

アプリケーション216は、アプリケーション展開記述子244も作成する組立者により組立られる。アプリケーション展開記述子244は、アプリケーション216の内容の最上位ビュー(top level view) を含み、図6を参照して以下説明する。一般に、アプリケーション216は、アーカイブファイルフォーマットでパッケージ化され、実質的にモジュール212とアプリケーション展開記述子244だけを含んでいる。アプリケーション216内で、展開記述子232、236、240は、展開ツール220が展開記述子232、236、240へ容易にアクセスできるように、ターゲットコンテナ248内へ隔離できる。

0020

以下に検討するように、アプリケーション216は、種々の異なる理由のために必要に応じ、編集でき、例えば、モジュールを追加したり削除できる。例えば、アプリケーション216は、展開ツール220のための役割を解決するように編集できる。代替として、アプリケーション216は、セキュリティ役割の宣言を総合するように組立者によって編集されてもよい。セキュリティ役割に対する宣言の総合は、所定の役割のための異なる名前を所定の役割のための実質的に「グローバル」な名前に分解することを含んでいてもよい。

0021

ある場合には、アプリケーション216の編集は、例えば、Webクライアントモジュールによって必要とされる、既存モジュールの除去又は削除の結果となるかもしれない。既存モジュールが展開の時点でアプリケーション216から削除される場合、失われたモジュールに関して効果的に解決が成されねばならない。詳細には、必要なモジュールがアプリケーション216の一部でない場合、必要なモジュールは、本質的に、プラットフォームサーバ224上にあるか、又はそれに関してアクセス可能でなくてはならない。

0022

展開ツール220は、参照実装252と関連しており、アプリケーション216を展開するか、又はモジュール212を単独のモジュールとして展開するかの何れかのように展開者により使用される。展開ツール220は、一般に、展開記述子232、236、240、244を読み、各モジュールの種類の仕様要求事項に従いモジュール212を展開するように編成されている。加えて、展開ツール220は、アプリケーション216を適切なプラットフォーム上へインストールし、次に、アプリケーション216を現存するインフラストラクチャ内へ設定し、統合する。プラットフォームサーバ224は、実質的にどのような適切なアプリケーションサーバであってもよい。例えば、適切なアプリケーションサーバは、EJBサーバ、デスクトップ、及びWebサーバを含むことができるが、それに限定されない。

0023

次に図3を参照して、本発明の実施の形態によるアプリケーションの作成及び展開に関連するステップを説明する。アプリケーションの作成及び展開のプロセス302は、ステップ304で始まり、ここで、コンポーネント開発者によりコンポーネントが作成される。記載の実施の形態では、コンポーネントは、個々の「Java 2 Enterprise Edition」(J2EE) コンポーネントであり、それは、一般に、カリフォルニア州パロアルト(Palo Alto)のサンマイクロシステムズ社により開発されたJ2EEプラットフォーム上での使用に適している。しかし、コンポーネントが使用される予定であるコンポーネント及びプラットフォームは広範囲に変化できることは理解されたい。

0024

例えば、EJB又は何れか適切なWebアプリケーションであってよいコンポーネントが、ステップ304で作成された後に、ステップ308で、モジュールがコンポーネントから作成される。加えて、モジュールに関連する展開記述子もステップ308で作成される。各個別のモジュールに対する展開記述子は、カリフォルニア州パロアルトのサンマイクロシステムズ社により開発されたJavaアーカイブ(JAR)ファイルフォーマット、例えば、個別モジュールを含むアプリケーション全体を保持するJARに、個別モジュールに関するコンポーネントを展開することに必要とされる実質的に全ての宣言データを含む。

0025

作成される各モジュールは、普通には、同じコンテナ型の一つ以上のコンポーネントを、その特定の型のコンポーネント展開記述子と共に含む。例えば、Webアプリケーションであるコンポーネントに対して、Webアプリケーションから作成されるモジュールは、Webクライアントモジュールであることができる一方で、展開記述子は、Webクライアント展開記述子であることができる。モジュール、例えば、J2EEモジュールは、アプリケーション、例えば、J2EEアプリケーションのための「構築ブロック」であるように編成されるが、図2に関して上記で説明されたように、モジュールは、単独モジュールとしても展開できる。

0026

ステップ308でモジュールが作成された後に、次にステップ312で、アプリケーション全体が、種々のモジュールから組立られる。アプリケーションは、普通には、一つ以上のモジュールとアプリケーションの内容の最上位ビューを効果的に表現する一つのアプリケーション展開記述子とを含む。実施の形態の一つでは、アプリケーションがJ2EEアプリケーションである場合、アプリケーションは、JARファイルフォーマットにパッケージされる。アプリケーション全体を組立てることのプロセスの一つは、図4を参照して後に検討する。

0027

ステップ312でアプリケーションが組立てられた後に、プロセスの流れは、オプションステップ316に進むことができ、ここで、組立てられたアプリケーションは、カスタマイズされる。当業者により理解されるであろうように、アプリケーションが企業内へ展開できる前にアプリケーションをカスタマイズすることが望ましい。アプリケーションのカスタマイズは、新規モジュールの追加、現存するモジュールの除去、及びモジュールの内容の変更を含むことができる。

0028

アプリケーションが組立てられ、オプションでカスタマイズされた後に、次にプロセスフローはステップ320に移動し、ここで、アプリケーションは、例えば、展開ツールにより展開される。展開中に、アプリケーションは、J2EEプラットフォーム等の、適切なプラットフォーム上へインストールされる。インストールされた後に、アプリケーションは、現存するインフラストラクチャ内へ設定され、統合され得る。アプリケーションの一部であり、それ故に、アプリケーションに関連するアプリケーション展開記述子に記載 されている各モジュールは、適切に展開される。すなわち、実施の形態の一つでは、アプリケーション展開記述子に記載された各モジュールは、適切なコンテナにインストールされ、各モジュールの宣言の特性は、各モジュールに関連する各コンポーネントに対する展開記述子エレメントにより宣言される値を反映するように設定される。アプリケーションが展開された後に、次いで、展開記述子を組込むアプリケーションの作成及び展開プロセスは完了する。

0029

図4を参照して、アプリケーションを組立てるために適切である方法の一つを説明する。図4は、本発明の実施の形態による、展開記述子を組込むアプリケーションを組立てることに関連するステップ、すなわち図3のステップ312を説明するプロセス流れ図である。アプリケーションの組立てプロセス312は、ステップ404で始まり、ここで、アプリケーションの形成に使用されるであろう実質的にいずれのモジュールも、例えば、アプリケーション組立者によって、選択されるか、さもなければ識別される。

0030

一旦モジュールが選択されると、次いで、アプリケーションのためのディレクトリ構造がステップ408で作成される。アプリケーションのためのディレクトリ構造は、普通には、選定されたモジュール内のコンポーネントの要求事項に基づいて設計される。結果として、ディレクトリ構造の作成に関連するステップは、広範に変化できる。ステップ412では、選択モジュールのための展開パラメータ調整される。展開パラメータの調整は、依存性満足させ、冗長なセキュリティ役割名を消去することを含むが、それに限定されない。実施の形態の一つでは、冗長なセキュリティ役割名の消去は、本質的に同じセキュリティ役割を識別する他の名前を置換する単一名の作成を含み得る。すなわち、冗長な意味を持つユニークのセキュリティ役割名は、共通の名前に改名できる。

0031

展開パラメータが調整された後、次いで、アプリケーションのための展開記述子、すなわちアプリケーション展開記述子が、ステップ416で作成される。アプリケーションがJ2EEアプリケーションである場合、アプリケーション展開記述子は、XML展開記述子であることができる。換言すれば、J2EEアプリケーションに対して、アプリケーション展開記述子は、J2EEに対する文書型の定義に従うXML文書:アプリケーションXML文書、であることができる。図6を参照して以下説明するアプリケーション展開記述子は、アプリケーションの内容の記載を提供し、モジュールに関連する展開記述子へのバージョンリンクを提供するように編成されている。

0032

ステップ416からプロセスの流れはステップ420へ進み、ここで、アプリケーションはパッケージ化される。アプリケーションのパッケージ化は、モジュールとアプリケーション展開記述子を適切なディレクトリへ配置し、JARファイルフォーマットを使用してディレクトリ構造をJARファイルにパッケージ化することを含むが、それに限定されない。アプリケーションがパッケージ化された後に、アプリケーションの組立てプロセスは完了する。

0033

一般に、アプリケーションがパッケージ化された後でさえ、アプリケーションが展開される前に、モジュールは追加又は削除できる。モジュールの追加は、新規のモジュールを含むようにアプリケーションのディレクトリ構造、つまり階層へ新規のディレクトリを作成することを含むことができる。代替として、アプリケーション組立者は、アプリケーションパッケージ内で新規のモジュールに対する適切な場所に関して決定することができる。新規モジュールが追加されるか、又は「旧」モジュールが削除されるかのいずれの場合にも、モジュールに対する展開記述子は、全ての現行モジュールに対する内部依存性をリンクするように編集される。加えて、普通には、アプリケーション展開記述子も、現行のモジュールを識別するように変更される。

0034

図2を参照して上記で説明されたように、展開記述子を持つモジュールは、単独の、例えば独立したモジュール、又は組立られたアプリケーションの一部のいずれであってもよい。図5aを参照して、本発明の実施の形態による、単独モジュールの展開に関連するステップを説明する。単独モジュールの展開プロセスは、ステップ504で始まり、ここで、参照インプリメンテーションの一部であってもよい展開ツールが、モジュールの展開記述子を読む。展開記述子が読まれた後、次いで、モジュールの展開記述子に記載されている全てのコンポーネントが、ステップ508で展開される。換言すれば、展開ツールは、展開記述子に識別される全てのコンポーネントを適切なコンポーネント仕様展開要求事項に基づき展開する。例えば、EJBモジュールに対して、展開ツールは、EJBモジュール展開記述子に記載されている全てのEJBをJ2EE EJBコンポーネント仕様に従い展開することができる。全ての記載されたコンポーネントが展開されると、単独モジュール展開プロセスは完了する。

0035

図5bは、本発明の実施の形態による、展開記述子を組込むアプリケーション、すなわち図4のステップ420でパッケージ化されたようなアプリケーションを展開することに関連するステップを説明するプロセスの流れ図である。プロセスはステップ524で始まり、ここで、展開ツールがアプリケーションパッケージのアプリケーション展開記述子を読む。アプリケーションがJ2EEアプリケーションである実施の形態に対して、アプリケーション展開記述子は、アプリケーションを含むJARから読まれる。

0036

アプリケーション展開記述子に記載されているモジュール、例えば、第1の記載されたモジュールは、ステップ528で開かれる。モジュールが開かれた後、次いでモジュールに対する展開記述子が、ステップ532で読まれる。モジュールに対する展開記述子を読むことは、展開記述子に記述されている全てのコンポーネントが識別されることを可能にする。ステップ536で、展開記述子に記述されている全てのコンポーネントが、適切なコンテナ内へインストールされる。コンポーネントのインストールは、関連するコンポーネント仕様の展開要求事項に、少なくとも部分的に依存する。例えば、EJBコンポーネントのインストールは、Webアプリケーションコンポーネントのインストールとは、それぞれのコンポーネント仕様により規定されているように、異なっていてもよい。

0037

コンポーネントがステップ536でインストールされた後、コンポーネントがインストールされたコンテナは、ステップ540で、モジュールに対する展開記述子に提供されている記述を反映するように設定される。換言すれば、展開ツールは、各コンポーネントに対して展開記述子内の該当するエレメントにより宣言された特性の値を反映するようにコンテナを設定する。

0038

ステップ540から、プロセスの流れはステップ544へ移動して、ここで、アプリケーションパッケージが追加モジュールを含んでいるか決定される。アプリケーションパッケージが追加モジュールを確かに含むと決定されると、プロセスの流れはステップ528へ戻り、ここで、アプリケーション展開記述子に記載されている次のモジュールが開かれる。代替として、追加モジュールはアプリケーションパッケージに含まれていないと決定される場合、すなわち、全てのモジュールが処理されたと決定される場合、アプリケーションの展開プロセスは完了する。

0039

先に説明したように、アプリケーション展開記述子は、一般に、アプリケーションに含まれている全てのモジュールのリストを含んでいる。実施の形態の幾つかでは、アプリケーション展開記述子は、更に、アプリケーションの名前と説明等の情報を含むことができる。図6は、本発明の実施の形態による、アプリケーション展開記述子を図示する。アプリケーション展開記述子602は、J2EEアプリケーション展開記述子であることができ、すなわち、アプリケーション展開記述子は、J2EE:アプリケーション文書型の定義、により定義できる。

0040

アプリケーション展開記述子602の内容は変化してもよい一方で、図示のように、アプリケーション展開記述子602は、アイコンエントリ606、表示名エントリ610、オプション説明エントリ614、少なくとも一つのモジュールエントリ618、及びセキュリティ役割エントリ622を含む。アイコンエントリ606、例えばアイコンエレメント606は、グラフィカルユーザーインタフェースGUI)に関してアプリケーションを表現するGIF画像又はJPEG画像を識別する、ユニバーサルレコードインデックス(URI)であることができる。表示名エントリ610は、アプリケーションのための名前であることができる。普通には、アプリケーション名は、組立者によりアプリケーションへ割当てられ、展開時に展開者へアプリケーションを識別するように編成されている。オプション説明エントリ614は、展開者にとり有用であろうと組立者が信じる実質的に全ての情報をユーザ可読フォーマットで提供する。

0041

モジュールエントリ618、すなわち、エレメントは、モジュールを表示するように編成され、記載の実施の形態では、EJB、アプリケーションクライアントモジュール、又はWebエレメントの何れかを保持する。モジュールエントリ618は、関連する展開記述子の組立後バージョンへのオプションURIを規定するようにも編成される。当業者により理解されるであろうように、アプリケーション展開記述子602は、普通には、全体のアプリケーションパッケージ内で各モジュールに対して一つのモジュールエントリ618を含んでいる。

0042

セキュリティ役割エントリ622は、一般に、アプリケーションに関して総括的であるセキュリティ役割の定義を含む。実施の形態の一つでは、セキュリティ役割エントリ622は、セキュリティ役割の説明とセキュリティ役割の割当てられた名前の両方を含む。アプリケーション展開記述子602でのセキュリティ役割名とコンポーネントレベルでのそれとの間に矛盾があるかもしれないので、普通には、アプリケーション展開記述子602での名前と説明が、コンポーネントレベルのそれをオーバーライドする。

0043

図7は、本発明の実施の形態による、エンタープライズJava Bean(EJB)モジュール展開記述子を図示する。EJB展開記述子702は、特定のシステムの要求事項に、少なくとも一部は、依存して変化する内容を有することができる。図示の実施の形態では、EJB展開記述子702は、アイコンエントリ706、表示名エントリ710、オプション説明エントリ714、組立記述子718、及び エンタープライズBeanエントリ722を含む。

0044

アイコンエントリ706は、アイコンエレメントとも称することができるが、図6を参照して上記で検討したアイコンエントリ606に類似である。すなわち、アイコンエントリ706は、GUIに関してEJB展開記述子702に該当するEJBモジュールを表現するGIF画像、又はJPEG画像を識別する、URIであることができる。表示名エントリ710は、一般に、開発者によりEJBモジュールへ割当てられ、展開時に展開者へEJBモジュールを識別するように編成されている名前である。オプション説明エントリ714は、使用される場合、展開者にとって有用であろうと開発者が信じる情報をユーザ可読フォーマットで提供することができる。

0045

組立記述子エントリ718は、EJBモジュールのアプリケーションパッケージ内への組立を容易にするように編成されている情報を含む。実施の形態の一つでは、組立記述子エントリ718は、メソッド許可(method permissions) 726、コンテナトランザクション730、及びセキュリティ役割734に関係する情報を含むことができる。メソッド許可726は、普通には、永続性(persistence) の点で、エンティティEJBの管理型に関する。コンテナトランザクション730、例えば、コンテナトランザクションエレメントは、一般に、EJBのメソッド実施 (method invocations) に対するトランザクション範囲 (scopes)をコンテナが管理する方法を規定する。実施の形態の一つでは、コンテナトランザクション730は、オプション説明、メソッドエレメント (method element)のリスト、及びトランザクション属性(attribute) を含むことができる。セキュリティ役割734、すなわち、セキュリティ役割エレメントは、EJBモジュールに関するセキュリティ役割の定義を含む。セキュリティ役割734は、セキュリティ役割の説明とセキュリティ役割の割当てられた名前の両方を含むことができる。

0046

エンタープライズBeanエントリ722、すなわち、EJBエレメント722は、エンティティエレメント738とセッションエレメント742を含む。エンティティエレメント738は、エンティティBean (entity bean)、例えば、永続性Bean を宣言する (declare) ように編成される。エンティティBeanの宣言は、実質的にいずれの適切な情報も含むことができるが、普通には、宣言は、エンティティBeanのホーム名とリモートインタフェース名、エンティティBeanの実施クラス、及び、エンティティBeanの永続性管理型を含む。セッションエレメント742は、セッションBean、 例えば、一時(transient)Beanを宣言するように編成される。実施の形態の一つでは、セッションエレメント742は、セッションBeanのホーム名とリモートインタフェース名、セッションBeanの状態管理型、及びセッションBeanのトランザクション管理型を含む。

0047

次に、図8を参照して、Webクライアントモジュール展開記述子の実施例を説明する。図8は、本発明の実施の形態による、Webクライアントモジュール展開記述子を図示である。記載の実施の形態では、Webクライアント展開記述子802の内容は、アイコンエントリ806、表示名エントリ810、オプション説明エントリ814、組立記述子818、例外ページエントリ822、及び、エラーページエントリ826を含む。加えて、Webクライアントモジュール展開記述子802は、環境エントリ830、EJB参照エントリ834、リソース参照エントリ838、mime・マッピングエントリ842、Java server page(JSP)、すなわち、サーブレットエントリ846、及び、ウエルカムファイル(welcome file) エントリ850も含む。

0048

アイコンエントリ806は、GUIに関してアプリケーションを表すGIF画像又はJPEG画像を識別する一方、表示名エントリ810は、Webクライアントモジュールに対する名前であり得る。オプション説明エントリ814は、アプリケーションの組立者と展開者の何れか、又は両方に関連するであろうとモジュール開発者が信じる情報の実質的にいずれをも、ユーザ可読フォーマットで提供するように編成できる。

0049

組立記述子エントリ818は、Webクライアントモジュールに関するセキュリティ役割を識別するセキュリティ役割エレメントを含む。セキュリティ役割エレメントは、セキュリティ役割の説明と、セキュリティ役割の割当てられた名前の両方を含み得る。例外ページエントリ822は、例外、例えば、Javaプログラミング言語で定義される例外のクラス名を含むように編成される。エラーページエントリ826は、有効な (valid)、数字HTTPエラーコードを含むように編成される。

0050

実施の形態の一つでは、環境エントリ830は、Webアプリケーションに関連する環境の宣言を含む。宣言は、オプション説明、環境エントリの名前、及びオプション値を含むことができる。EJB参照エントリ834は、EJBのホームを参照する宣言のために使用されるように編成される。リソース参照エントリ838は、リソースファクトリ参照名の名前、又は、その値が関連するデータソースのJNDI名を含むWebアプリケーションの環境エントリの名前を規定する。

0051

mimeマッピングエントリ842は、当業者により理解されるであろうように、ユニバーサル・レコード・ロケータ(URL universal record locator)パターンのmime型へのマッピングを含む。記載の実施の形態では、mimeマッピングエントリ842は、特定のURL、URLのディレクトリ、又はURLの階層を含むことができる。JSP、すなわち、サーブレットエントリ846は、一般に、JSPのための宣言データ、例えば、JSPファイルへのURIと初期化パラメータの名前か、又は、サーブレットの宣言データ、例えば、クラス名とJARエレメント名、の何れかを含む。ウエルカムファイル(welcome files) エントリ850は、普通には、ウエルカムファイルの順序付リストを含む。

0052

図9は、本発明の実施の形態による、アプリケーションクライアントモジュール展開記述子を図示する。一般に、アプリケーションクライアント展開記述子902の内容は、アイコンエントリ906、表示名エントリ910、オプション説明エントリ914、環境エントリエレメント918、EJB参照エントリ922、及びリソース参照エントリ926を含む。アイコンエレメント906は、GUIに関してアプリケーションクライアントモジュールを表すGIF画像又はJPEG画像を識別する一方、表示名エントリ910は、アプリケーションクライアントモジュールに対する名前であり得る。オプション説明エントリ914は、普通には、アプリケーションの組立者及び展開者の何れか、又は両方に関連するであろうとモジュール開発者が信じる情報を提供する。オプション説明エントリ914での情報は、普通には、ユーザ可読フォーマットで編成される。

0053

実施の形態の一つでは、環境エントリエレメント918は、アプリケーションクライアントモジュールに対する環境エントリの宣言を含む。宣言が広範に変化できるとはいえ、宣言は、オプション説明、環境エントリの名前、及び環境エントリに対するオプション値を含むことが多い。EJB参照エントリ922は、普通には、EJBのホームへの参照を宣言することに使用される。そのような宣言は、オプション説明、EJBに対する参照名、参照されるEJBに対して予期される型、予期されるホームとリモートインタフェース、及びEJBリンクの情報を含むことができるが、それに限定されない。リソース参照エントリ926は、アプリケーションクライアントモジュールの外部リソースへの参照の宣言を含む。宣言は、記載の実施の形態では、オプション説明、リソース参照名、及び予期されるリソースのデータソース種類の表示を含む。

0054

図10は、本発明を実施するのに適した、代表的な汎用コンピュータシステムを示す。コンピュータシステム1030は、どのような数のプロセッサ1032(中央演算処理装置、すなわち、CPUとも称する)をも含み、それは、一次記憶装置1034(普通には、ランダムアクセスメモリ、すなわち、RAM)と一次記憶装置1036(普通には、リードオンリーメモリ、すなわち、ROM)を含むメモリ装置へ接続されている。

0055

コンピュータシステム1030、つまり、より詳細には、CPU1032は、当業者によって理解されるであろうように、仮想マシンサポートするように編成されてもよい。コンピュータシステム1030上でサポートされる仮想マシンの1例は、Java仮想マシン(JVM)である。当該技術において良く知られるように、ROMは、CPU1032へ一方向でデータと命令を転送するように動作する一方で、RAMは普通には、双方向的にデータと命令を転送するように使用される。CPU1032は一般に、どのような数のプロセッサをも含むことができる。両一次記憶装置1034、1036は、いずれの適切なコンピュータ可読媒体をも含むことができる。普通には大容量記憶装置である、二次記憶媒体1038も、CPU1032へ双方向的に結合され、追加のデータ記憶容量を提供する。大容量記憶装置1038は、コンピュータ可読媒体で、コンピュータコード、データ、その他を含むプログラムを格納することに使用できる。普通には、大容量記憶装置1038は、ハードディスク又はテープ等の記憶媒体であり、一般に、一次記憶装置1034、1036より遅い。大容量記憶記憶装置1038は、磁気又は紙テープ読取器、又は他の良く知られた装置の形をとり得る。大容量記憶装置1038内に保持される情報は、適切な場合、仮想メモリとしてRAM1036の一部に標準様式で組込まれることは言うまでもない。CD−ROM等の特定の一次記憶装置1034も、CPU1032へ一方向でデータを渡すことができる。

0056

CPU1032はまた、一つ以上の入力/出力装置1040へも接続され、それは、ビデオモニタトラックボールマウスキーボードマイクロホンタッチ感応式ディスプレイ変換器カード読取器、磁気又は紙テープ読取器、タブレットスタイラス音声又は手書き文字認識器、又は勿論他のコンピュータ等の他の良く知られた入力装置を含むことができるが、それに限定されない。最後に、CPU1032は、オプションで、コンピュータ又は通信ネットワーク、例えば、ローカルエリアネットワークインターネットネットワーク、又はイントラネットネットワークへ、1012で一般的に示されるネットワーク接続を使用して接続できる。そのようなネットワーク接続により、上記で説明した方法ステップを実行するうちに、CPU1032は、ネットワークから情報を受信し、又は、ネットワークへ情報を出力できるかが講じられる。そのような情報は、CPU1032を使用して実行される一連の命令として表されることが多いが、例えば、搬送波に組み込まれるコンピュータデータ信号形式で、ネットワークから受信され、ネットワークへ出力できる。上記で説明した装置とデータは、コンピュータのハードウエアソフトウエア技術に精通する者にとっては熟知されているであろう。

0057

本発明の幾つかの実施の形態だけを説明してきたが、本発明は、本発明の精神又は適用範囲から逸脱することなく、他の多くの特定形態で実施できると理解されたい。例えば、展開記述子を使用するアプリケーションを組立ることに関するステップは、再要求、削除、又は追加できる。一般に、本発明の方法に関するステップは、本発明の精神又は適用範囲から逸脱することなく、再要求、削除、又は追加できる。

0058

一般に、展開記述子の内容は変更できる。例えば、展開記述子は、属性、例えば、XML属性を含まないとして説明されたが、一つの実施の形態では、展開記述子は属性を含むことができる。しかし、属性を使用しないことにより、展開記述子でのエントリ、又はエレメントと属性との間の差を決定する必要性は、実際上除去できる。

0059

本発明は、J2EEプラットフォームに関して説明してきたが、本発明が、実質的にいずれの適切なプラットフォーム上でも実装できると理解されたい。従って、本実施例は、例示するものであり限定するものではないと見做すことができ、本発明が、本明細書に記載された詳細に限定されることなく、添付の特許請求の範囲の適用範囲内で変更されることができる。

図面の簡単な説明

0060

本発明は、添付の図面に関連させて以下の説明を参照することにより最良に理解できる。
図1図1は、企業アプリケーションのための構成モデルの図式表示である。
図2図2は、本発明の実施の形態による展開記述子を持つモジュールに対する構成モデルの図式表示である。
図3図3は、本発明の実施の形態による、展開記述子を組込むアプリケーションの作成、及び展開に関連するステップを説明するプロセスの流れ図である。
図4図4は、本発明の実施の形態による、展開記述子を組込むアプリケーションを組立てることに関連するステップ、すなわち図3のステップ312を説明するプロセス流れ図である。
図5(a)は、本発明の実施の形態による、展開記述子を持つ単独モジュールの展開に関連するステップを説明するプロセス流れ図であり、(b)は、本発明の実施の形態による、展開記述子を組込むアプリケーション、すなわち図4のステップ420でパッケージ化されたアプリケーションの展開に関連するステップを説明するプロセス流れ図である。
図6図6は、本発明の実施の形態による、アプリケーション展開記述子を図示する。
図7図7は、本発明の実施の形態による、エンタープライズJava Bean(EJB)モジュール展開記述子を図示する。
図8図8は、本発明の実施の形態による、Webクライアントモジュール展開記述子を図示する。
図9図9は、本発明の実施の形態による、アプリケーションクライアントモジュール展開記述子を図示する。
図10図10は、本発明を実施するのに適したコンピュータシステムを図示する。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ