(57)【要約】アプリケーションサーバーに対してプログラムユニットを組立て且つデプロイさせるシステム及び方法が、複数個のプラットフォームにわたり又は単一のプラットフォームにインストールされる場合のあるアプリケーションサーバーに対してデプロイする単一デプロイメントプロセスをユーザが有することを可能とするシングルトランスペアレントデプロイメントフロー（ＳＴＤＦ）アーキテクチャを使用する。本開示のＳＴＤＦシステム及び方法は、１実施例において、デプロイされたアプリケーション、ノード、サーバー又はコンテナ情報及びウエブアプリケーション用のバーチャルホストに関する情報を検索する。該情報は選択のためにユーザに対して定義され、且つ選択された情報は、１つ又はそれ以上の所望のアプリケーションサーバーに対してデプロイするためのツールコマンド言語スクリプトを作成するために使用される。
2006520974.tif 000002
【特許請求の範囲】
【請求項１】
シングルフローでプログラムユニットを自動的にデプロイする方法において、
１つ又はそれ以上のプログラムユニットをデプロイすることが可能なアプリケーションサーバーと関連する情報を動的に検索し、
前記検索した情報を使用してデプロイメント用のスクリプトファイルを発生させる、
ことを包含している方法。
【請求項２】
請求項１において、前記検索を行う場合に、アプリケーションサーバー上でデプロイされる１つ又はそれ以上のアプリケーションに関連する情報を検索することを包含している方法。
【請求項３】
請求項１において、前記検索する場合に、前記アプリケーションサーバーがインストールされる１つ又はそれ以上のノードを決定することを包含している方法。
【請求項４】
請求項１において、前記検索させる場合に、１つ又はそれ以上のアプリケーションをデプロイすることが可能な１つ又はそれ以上のサーバーコンテナに関連する情報を検索することを包含している方法。
【請求項５】
請求項１において、前記検索する場合に、１つ又はそれ以上のウエブアプリケーションをデプロイすることが可能な１つ又はそれ以上のバーチャルホストに関連する情報を検索することを包含している方法。
【請求項６】
請求項１において、更に、前記プログラムユニットがデプロイされるアプリケーションサーバーが複数個のプラットフォーム上又は単一のプラットフォーム上にインストールされるか否かを決定することを包含している方法。
【請求項７】
請求項１において、更に、アプリケーションサーバーが前記アプリケーションサーバーに関連する情報を格納するために中心的リポジトリィ又は個別的リポジトリィを使用するか否かを決定することを包含している方法。
【請求項８】
請求項１において、更に、アプリケーションサーバーが１つ又はそれ以上の遠隔プラットフォーム上にインストールされるか否かを決定することを包含しており、且つ前記アプリケーションサーバーが１つ又はそれ以上の遠隔プラットフォーム上にインストールされる場合には、前記１つ又はそれ以上の遠隔プラットフォーム上にインストールされるアプリケーションサーバーに対して遠隔的にデプロイメントを行うことを可能とする方法。
【請求項９】
請求項１において、更に、アプリケーションが前記アプリケーションサーバー上に再デプロイされるべきか否かを決定することを包含しており、且つ前記アプリケーションが再デプロイされるべきである場合には、ユーザが再デプロイメントのために既存のアプリケーション名を選択することを可能とする方法。
【請求項１０】
シングルフローでプログラムユニットを自動的にデプロイさせる方法ステップを実施するためにマシンにより実行可能な命令からなるプログラムをタンジブルに実現するマシンにより読取可能なプログラム格納装置において、
１つ又はそれ以上のプログラムユニットをデプロイさせることが可能なアプリケーションサーバーと関連する情報を検索し、
前記検索した情報を使用してデプロイメント用のスクリプトファイルを発生させる、
ことを包含しているプログラム格納装置。
【請求項１１】
請求項１０において、前記検索する場合に、アプリケーションサーバー上にデプロイされる１つ又はそれ以上のアプリケーションに関連する情報を検索することを包含しているプログラム格納装置。
【請求項１２】
請求項１０において、前記検索する場合に、前記アプリケーションサーバーがインストールされている１つ又はそれ以上のノードを決定することを包含しているプログラム格納装置。
【請求項１３】
請求項１０において、前記検索する場合に、１つ又はそれ以上のアプリケーションをデプロイさせることが可能な１つ又はそれ以上のサーバーコンテナに関連する情報を検索することを包含しているプログラム格納装置。
【請求項１４】
請求項１０において、前記検索する場合に、１つ又はそれ以上のウエブアプリケーションをデプロイさせることが可能な１つ又はそれ以上のバーチャルホストに関連する情報を検索することを包含しているプログラム格納装置。
【請求項１５】
請求項１０において、更に、前記プログラムユニットがデプロイされるアプリケーションサーバーが複数個のプラットフォーム上か又は単一のプラットフォーム上にインストールされるか否かを決定することを包含しているプログラム格納装置。
【請求項１６】
請求項１０において、更に、アプリケーションサーバーが前記アプリケーションサーバーに関連する情報を格納するために中心的リポジトリィか又は個別的リポジトリィを使用するか否かを決定することを包含しているプログラム格納装置。
【請求項１７】
請求項１０において、更に、アプリケーションサーバーが１つ又はそれ以上の遠隔プラットフォーム上にインストールされているか否かを決定することを包含しており、且つ前記アプリケーションサーバーが１つ又はそれ以上の遠隔プラットフォーム上にインストールされている場合には、前記１つ又はそれ以上の遠隔プラットフォーム上にインストールされているアプリケーションサーバーに対して遠隔的にデプロイメントを行うことを可能とするプログラム格納装置。
【請求項１８】
請求項１０において、更に、前記アプリケーションサーバー上にアプリケーションが再デプロイされるか否かを決定することを包含しており、且つ前記アプリケーションが再デプロイされるべき場合には、前記アプリケーションサーバーから前記アプリケーションを除去するための命令を前記スクリプトファイル内に包含しているプログラム格納装置。
【請求項１９】
シングルフローでプログラムユニットを自動的にデプロイさせるシステムにおいて、
１つ又はそれ以上のプログラムユニットをデプロイさせることが可能なアプリケーションサーバーと関連する情報を検索し且つ前記検索した情報を使用してデプロイメント用のスクリプトファイルを発生させるためにコンピュータプロセッサ上で稼動すべく動作可能なデプロイメントモジュール、
を有しているシステム。
【請求項２０】
請求項１９において、前記デプロイメントモジュールが、更に、前記情報をユーザへ送信し且つ前記情報に関連するユーザ入力を受取るべく動作可能であり、前記デプロイメント用のスクリプトファイルが受取ったユーザ入力を包含しているシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願はエンタプライズ管理システムに関するものであって、詳細には、シングルフローでターゲットサーバー又はプラットフォームに対してプログラムコンポーネントをデプロイさせるシステム及び方法に関するものである。
【背景技術】
【０００２】
アプリケーションサーバーとも呼称されるミドルティア（ｍｉｄｄｌｅ  ｔｉｅｒ）アプリケーションは、典型的に、データベース管理システム、トランズアクションモニタ、ネーミング及びディレクトリサービス等の広範な既存のエンタプライズシステムの上で動作する。これらのアプリケーションサーバーの多くは、種々のエンタプライズシステムを管理し且つアクセスするアプリケーションに対してポータビリティ及びスケーラビリティを与えるためにジャバ２プラットフォームエンタプライズエディション（Ｊ２ＥＥ）のようなスタンダード仕様に基づいて構築されている。
【０００３】
例えば、Ｊ２ＥＥは後にスタンダードとなるべきエンタプライズアプリケーションを開発するための仕様を定義している。Ｊ２ＥＥは、これらのコンポーネントに対して１組のサービスを提供することにより且つアプリケーション挙動の多くの詳細を自動的に取扱うことによりエンタプライズアプリケーションを標準化したモジュール型コンポーネントに基礎を置いている。Ｊ２ＥＥはエンタプライズジャバビーンズ（ＥＪＢ）コンポーネント、ジャバサーブレットＡＰＩ、ジャバサーバーページ、拡張マークアップ言語（ＸＭＬ）技術に対するサポートを包含している。
【０００４】
従って、Ｊ２ＥＥスタンダード仕様に準拠して構築されたアプリケーションは、Ｊ２ＥＥスタンダードをサポートするアプリケーションサーバーへデプロイさせることが可能であり、従ってデプロイしたアプリケーションが、アプリケーションサーバーを介して基礎となるエンタプライズシステムにより提供される種々のリソースを管理し且つアクセスすることを可能とする。簡単に説明すると、デプロイメント（ｄｅｐｌｏｙｍｅｎｔ）はＪ２ＥＥアプリケーションのようなアプリケーションプログラムの種々の部分をアプリケーションサーバーにおける適宜の位置に対して分布させ且つコンフィギュア即ち形態特定させるプロセスである。
【０００５】
Ｊ２ＥＥはアプリケーションサーバー及びこれらのアプリケーションサーバー上で稼動しているアプリケーションに対してスタンダードの仕様を与えるものであるが、各アプリケーションは、ベンダー又はアプリケーションサーバープロバイダーの特定の基準に従ってデプロイされねばならない。殆どの場合において、アプリケーションサーバーを供給する各ベンダーは、又、アプリケーションを特にそのアプリケーションサーバーに対してデプロイするためのデプロイメント方法及びツールを提供している。これらのベンダーが提供するツールは、しばしば、アプリケーションを組立て且つデプロイするためにユーザが多数の手作業のステップを実施することを必要とする。例えば、ＩＢＭのＷｅｂｓｐｈｅｒｅは、実際的なデプロイメントのためにＪＭＤＩ  ＸＭＩファイル及びＷｅｂｓｐｈｅｒｅ  Ａｄｍｉｎ  Ｃｏｎｓｏｌｅを組立て且つ手作業で発生させるためのＷｅｂｓｐｈｅｒｅアッセンブリツールを提供している。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従って、シングルフロー即ち単一の流れのトランズアクションを使用してプログラムファイルをターゲットアプリケーションサーバーに対してユーザがデプロイ及び再デプロイすることを可能とするシステム及び方法が必要とされている。
【課題を解決するための手段】
【０００７】
シングルフローへアプリケーションサーバーに対してプログラムユニットを自動的にデプロイさせるシステム及び方法が提供される。本方法は、１つの側面においては、１つ又はそれ以上のプログラムユニットをデプロイさせることが可能なアプリケーションサーバーに関連する情報を動的に検索し、且つ該検索した情報を使用してデプロイメント用のスクリプトファイルを発生させる。その検索された情報は、アプリケーションが既にデプロイされているか否か、ノード名、コンテナ名、バーチャルホスト名を包含することが可能である。
【０００８】
別の側面においては、本方法は、アプリケーションサーバーがインストールされているローカル及び／又は遠隔プラットフォームに対してプログラムファイルをデプロイメントすることを可能とする。更に別の側面においては、本方法は、アプリケーションサーバーに対してのプログラムファイルの再デプロイメントを可能とし、例えば、ターゲットサーバー上で稼動中のアプリケーションを停止させ且つアップデートしたアプリケーションを再デプロイさせる。更に又、本方法は、１つの側面においては、デプロイメント記述子内に包含されるべきＪＮＤＩバインディングを自動的に発生する。
【０００９】
シングルフローでプログラムユニット又はファイルを自動的にデプロイさせるシステムは、１つの側面においては、コンピュータプロセッサ上で稼動させることが可能なデプロイメントモジュールを包含している。該デプロイメントモジュールは、１つ又はそれ以上のプログラムユニット又はファイルをデプロイさせることが可能なアプリケーションサーバーと関連する情報を検索する。該情報は、アプリケーションが既にデプロイされているか否か、ノード名、コンテナ名、バーチャルホスト名を包含することが可能である。次いで、デプロイメント用に使用されるスクリプトファイルが該情報を使用して自動的に発生される。
【００１０】
種々の実施例の更なる特徴及び構造及び動作について添付の図面を参照して以下に説明する。図面中において同様の参照番号は同一又は機能的に類似した要素を表わすものである。
【発明を実施するための最良の形態】
【００１１】
本開示は、プログラムファイル又はプログラムモジュールとも呼称されるソフトウエア又はプログラムユニットをＩＢＭ  Ｗｅｂｓｐｈｅｒｅ  Ｓｉｎｇｌｅ／Ａｄｖａｎｃｅｄ  Ｅｎｔｅｒｐｒｉｓｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒのようなミドルティアアプリケーション又はアプリケーションサーバーに対して組立て且つデプロイするシステム及び方法を記載する。デプロイされるべきＥＪＢはターゲットアプリケーションサーバーにおいて提供される特定のアッセンブリツールにより発生されていることは必要ではない。本システム及び方法は、１つの側面においては、アプリケーションサーバーをデプロイする場合にユーザが単一のデプロイメントプロセスを有することを可能とするためにシングルトランスペアレントデプロイメントフロー（ＳＴＤＦ）アーキテクチャを使用する。
【００１２】
本システム及び方法は、１実施例においては、「ユニバーサルデプロイメントツール（Ｕｎｉｖｅｒｓａｌ  Ｄｅｐｌｏｙｍｅｎｔ  Ｔｏｏｌ）」という名称の２００３年３月３日に出願した同時係属中の米国特許出願番号第１０／３７８，５０３号（代理人ドケット番号５６１２９８６１−２３０）において記載されているもののようなユニバーサルデプロイメントツールに関連して使用すべきプラグインとして実現することが可能であり、尚上記特許出願を引用によりその全体を本明細書に取込む。その出願に記載されているもののようなユーザインターフェースを、ユーザがこの単一デプロイメントプロセスを介して案内するために提供することが可能である。
【００１３】
ＥＪＢコンポーネントを組立てることは、典型的に、その他のタスクの中でも、クラスをＪＡＲ（ジャバアーカイブ）及びＷＡＲ（ウエブアーカイブ）ファイルにパッケージングすること、ＥＡＲ（ＥＪＢアーカイブ）ファイルを作成すること、及びデプロイメント記述子ファイルを発生させることを包含している。米国特許出願番号第１０／３７８，５０３号（代理人ドケット番号５６１２９８６１−２３０）に記載されているデプロイメントツール又は同様のツールに関連して動作される場合、本開示のＳＴＤＦシステム及び方法は、１実施例において、１つ又はそれ以上のＥＪＢを組立てること、デプロイメント記述子に適したアプリケーションサーバーを発生すること、及び単一の処理の流れにおいてＷｅｂｓｐｈｅｒｅ  Ｓｉｎｇｌｅ／Ａｄｖａｎｃｅｄ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒのようなアプリケーションサーバーに対してコンポーネントをデプロイすることを可能とする。
【００１４】
以下の説明においては、良く知られた機能及びコンポーネントについては詳細に説明することはしない。従って、Ｊ２ＥＥスタンダード仕様及びジャバプログラミング方法に関連する多くの既知の特徴及び定義については詳細に説明しない。又、以下の説明においては、Ｗｅｂｓｐｈｅｒｅをターゲットアプリケーションサーバーの１例として使用するが、ここに開示する方法及びシステムは、同様のデプロイメントスキームを有するその他のアプリケーションサーバーに対してデプロイするために使用することが可能であることを理解すべきである。
【００１５】
図１は１実施例におけるシングルトランスペアレントデプロイメントフローを例示したアーキテクチャ図である。例えば、Ｗｅｂｓｐｈｅｒｅ  Ａｄｖａｎｃｅｄ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎのようなアプリケーションサーバーは、個別的なリポジトリィデータベース１０６ａ−１０６ｅ又はＤＢ２、オラクル等の中心的データベース１０４を使用してインストールすることが可能である。個別的なリポジトリスキームにおいては、Ｗｅｂｓｐｈｅｒｅのようなアプリケーションサーバーの情報モデルを格納するために別個のデータベース１０６ａ−１０６ｅが使用される。情報モデルはエンタプライズジャバビーン（Ｅｎｔｅｒｐｒｉｓｅ  ＪａｖａＢｅａｎ）デプロイメント情報のような情報を包含することが可能である。個別的なリポジトリィ１０６ａ−１０６ｅがそのアプリケーションサーバーのインストールのための単一のノードとして識別される。図１はＷｅｂｓｐｈｅｒｅ  ＨＰ−ＵＸ  １０８ｂ、Ｗｅｂｓｐｈｅｒｅ  Ｌｉｎｕｘ  １０８ａ、Ｗｅｂｓｐｈｅｒｅ  Ｓｏｌａｒｉｓ  １０８ｄ、Ｗｅｂｓｐｈｅｒｅ  ＡＩＸ  １０８ｅ、Ｗｅｂｓｐｈｅｒｅ  ＡＳ／４００  １０８ｃを示しており、それらは、夫々、情報モデルを格納するために個別的なリポジトリィ１０６ａ−１０６ｅを使用している。図示したように、各サーバーはそれ自身のデータベースを有することが可能である。
【００１６】
中心的リポジトリィスキームにおいては、例えばＷｅｂｓｐｈｅｒｅ  ＨＰ−ＵＸ  １０４ｂ、  Ｗｅｂｓｐｈｅｒｅ  Ｌｉｎｕｘ  １０４ａ、Ｗｅｂｓｐｈｅｒｅ  Ｓｏｌａｒｉｓ  １０４ｄ、Ｗｅｂｓｐｈｅｒｅ  ＡＩＸ  １０４ｅ、Ｗｅｂｓｐｈｅｒｅ  ＡＳ／４００  １０４ｃ等の異なるプラットフォーム上のアプリケーションサーバーインスタンスは情報モデルを格納するために同一のリポジトリィ１２８を使用する。本開示のＳＴＤＦ１３０は個別的リポジトリィ又は中心的リポジトリィスキームに従ってインストールすることが可能なＷｅｂｓｐｈｅｒｅ等のアプリケーションサーバーから情報を検索する。Ｗｅｂｓｐｈｅｒｅ等のアプリケーションサーバーに対するデプロイメント期間中、本開示のＳＴＤＦ１３０は中心的か又は個別的な既存のリポジトリィからアプリケーションサーバーに関連する情報を検索する。その検索された情報は例えば既にデプロイされたアプリケーション１１０、ノード１１２、使用可能なサーバー又はコンテナ１１４、及びインストールしたアプリケーションサーバー１０４ａ−ｅ，１０８ａ−ｅに対応するウエブアプリケーション用のバーチャルホスト１１６を包含することが可能である。
【００１７】
リポジトリィ１２８，１０６ａ−ｅは遠隔的に又はローカルにアクセスすることが可能である。例えば、ＳＴＤＦ１３０はそれらの情報モデル１１８，１２０，１２２，１２４を格納するために中心的リポジトリィ１０４を使用する異なるプラットフォーム上にインストールされているアプリケーションサーバー１０４ａ−１０４ｅに関する情報を検索するために、ローカルか又は遠隔的に位置させることが可能な中心的リポジトリィ１０４へアクセスすることが可能である。これらの異なるプラットフォーム１０４ａ−１０４ｅ上のアプリケーションサーバーはローカルに又は遠隔的に位置させることが可能である。同様に、ＳＴＤＦ１３０は個別的なノード１２０ａ−１２０ｅ、これらの個別的なアプリケーションサーバーノード１１８ａ−１１８ｅ上にデプロイされたアプリケーション、アプリケーションサーバーインスタンス１２２ａ−１２２ｅのコンテナ情報、及び異なるプラットフォーム上にインストールされている個別的なアプリケーションサーバー１０８ａ−１０８ｅに対応するバーチャルホスト情報１２４ａ−１２４ｅ等の情報を検索するために個別的なリポジトリィ１０６ａ−１０６ｅへアクセスすることが可能である。
【００１８】
ユーザ即ちデプロイメントを実施する人は、次いで、情報モデルのリストが与えられ、それから選択を行うか、又は新たなアプリケーション名等の新たな情報を供給する。ユーザがノード１１２，デプロイメント又は再デプロイメント用の新たなアプリケーション又は既に存在しているアプリケーション１１０、サーバー又はコンテナ名１１４、及びバーチャルホスト１１６を選択した後に、ＳＴＤＦ１３０はこの情報を使用して、例えば、デプロイメント用に使用すべきツールコマンド言語（ＴＣＬ）スクリプト等のスクリプトを作成する。当業者にとって知られているように、ｔｃｌは変数、手順、条件、リスト処理機能及びループ構造を使用してプログラミングの容易性を与えるポータブルなコマンド言語である。Ｅｎｔｅｒｐｒｉｓｅ  Ｊａｖｅ  ＢｅａｎｓをＷｅｂｓｐｈｅｒｅに対してデプロイ又は再デプロイさせるｔｃｌスクリプト３００の１例を図３に示してある。説明したように、ＳＴＤＦ１３０プロセスは、１実施例においては、ローカル又は遠隔プラットフォーム上の個別的なリポジトリィから及び遠隔プラットフォーム上にインストールされている場合のある中心的リポジトリィから情報モデルを検索するためのシングルフロー（ｓｉｎｇｌｅ  ｆｌｏｗ）を提供する。
【００１９】
図２は１実施例においてのシングルトランスペアレントデプロイメントフローの概略を例示した機能図である。エンタプライズジャバビーンズのエンタプライズアーカイブ（ＥＡＲ）はエンタプライズジャバビーン及びウエブアプリケーションを包含することが可能であり、それはＡｄｖａｎｔａｇｅ  Ｊｏｅ、Ａｄｖａｎｔａｇｅ  Ｇｅｎ，Ａｄｖａｎｔａｇｅ  Ｔｌｅｘ、Ａｄｖａｎｔａｇｅ  ２Ｅ等の開発環境ツールを使用して発生し且つパッケージングすることが可能である。ＥＡＲファイルは、次いで、Ｗｅｂｓｐｈｅｒｅ  Ａｄｖａｎｃｅｄ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ等のアプリケーションサーバーへデプロイメントさせるためにアクセスすることが可能である。２０２において、ＥＡＲファイルは、特定のアプリケーションサーバーに対してデプロイするためにプラグインアーキテクチャを使用するユニバーサルデプロイメントツール等のデプロイメントツールに対する入力として使用される。従って、本開示のＳＴＤＦプロセスは、Ｗｅｂｓｐｈｅｒｅ  Ｓｉｎｇｌｅ  ａｎｄ  Ａｄｖａｎｃｅｄ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ  Ａｐｐｌｉｃａｔｉｏｎサーバー等のアプリケーションサーバーに対してＥＪＢをデプロイことをサポートするプラグイン内において実現することが可能である。
【００２０】
２０４において、デプロイメントプロセスは、１実施例においては、例えば、ユニバーサルデプロイメントツール（ＵＤＴ）等のデプロイメントツールを使用して開始する。２０６において、例えばターゲットアプリケーションサーバーが複数個のプラットフォーム上にインストールすることが可能であるか又は単一のプラットフォーム上にインストールさせることが可能であるものであるかについてターゲットアプリケーションサーバーのバージョンについての決定がなされる。２０６において、ターゲットアプリケーションサーバーが、例えば、Ｗｅｂｓｐｈｅｒｅ  Ａｄｖａｎｃｅｄ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ等の複数のプラットフォーム上にインストールさせることが可能であるもののようなエンタプライズエディションバージョンであるか、又は同様のデプロイメントスキームを有する別のアプリケーションサーバーであるかが決定され、２０８において、そのデプロイメントがローカルであるか否かが決定される。ローカルデプロイメントである場合には、２１０において、Ｗｅｂｓｐｈｅｒｅローカルプロファイルが作成される。そうでない場合には、そのデプロイメントは遠隔的であり、２１２において、Ｗｅｂｓｐｈｅｒｅ遠隔プロファイルが作成される。サーバープロファイルは、例えば、プロファイル名、ＥＪＢサーバーホスト名、ＥＪＢサーバーポート番号、ユーザ識別子（ＩＤ）及びパスワード、及びデプロイディレクトリィを包含している。遠隔デプロイメントの場合には、サーバープロファイルは、付加的に、ファイル転送プロトコル（ＦＴＰ）ユーザ識別子（ｉｄ）及びパスワードを包含している。サーバープロファイルにおけるこれらのデータは、典型的に、以前に作成した既存のサーバープロファイルから及び／又はデプロイメントプロセス期間中のユーザ入力から検索される。
【００２１】
２１４において、１つ又はそれ以上の既にデプロイされたアプリケーションが異なるプラットフォーム上にインストールされている１つ又はそれ以上のローカル及び／又は遠隔アプリケーションサーバーから検索される。２１６において、各アプリケーションサーバーがインストールされている１つ又はそれ以上のノードに関しての情報が検索される。２１８において、ＥＪＢ及びウエブアプリケーションをインストールするための１つ又はそれ以上のコンテナが検索される。２２０において、１つ又はそれ以上のインストールされているアプリケーションサーバーにより使用される１つ又はそれ以上のバーチャルホストに関する情報が検索される。
【００２２】
２２２において、再デプロイメントが実施されるべきか否かが決定される。例えば、ユーザは、アプリケーションが新たにデプロイされるか又は再デプロイされるかについての質問に答えるべくプロンプトが与えられる場合がある。アプリケーションが再デプロイされる場合には、２２６において、既存のアプリケーション名が選択される。この既存のアプリケーション名は、例えば、ターゲットアプリケーションサーバーにおけるＥＪＢコンテナからステップ２１４において検索されたものとすることが可能である。そうでない場合には、これは新たなデプロイメントであり、２２４において、新たなアプリケーション名が作成され且つ処理は２２８へ進行する。
【００２３】
２２８において、ノード及びサーバーが選択される。２３０において、何等かのウエブアプリケーションがＥＡＲファイル内にあるか否かが決定される。肯定である場合には、２３２において、バーチャルホストが選択され、且つ処理は２３６へ継続する。そうでない場合には、２３４において、デフォルトのバーチャルホストが使用される。
【００２４】
２３６において、選択されたバーチャルホスト情報を使用してｔｃｌファイルを作成する。２３８において、選択されたサーバー情報を使用してｔｃｌファイルを作成する。２４０において、選択したノード情報を使用してｔｃｌファイルを作成する。２４２において、選択したアプリケーション情報を使用してｔｃｌファイルを作成する。選択したアプリケーションが再デプロイされる場合には、ｔｃｌファイルは、ターゲットアプリケーションのコンテナ内において稼動している場合にそのアプリケーションを停止させ且つ再デプロイされる前にそのアプリケーションのインスタンスを除去する命令を包含することが可能である。
【００２５】
１つの側面においては、本開示のＳＴＤＦは、ホットデプロイメントをサポートしないターゲットアプリケーションサーバーに対してデプロイするために使用することが可能である。ホットデプロイメントとは、アプリケーションサーバーがディレクトリィをモニタし且つそのディレクトリィ内にアップデートがなされる場合に新たなアップデートをデプロイさせるメカニズムのことである。例えば、発生されたｔｃｌスクリプトがＥＪＢをデプロイ及び再デプロイさせる命令を包含している場合があるので、本開示のＳＴＤＦは、ターゲットアプリケーションサーバーがホットデプロイメントをサポートするか否かに拘わらずＥＪＢをデプロイ及び再デプロイするために使用することが可能である。
【００２６】
本システム及び方法は、１つの側面においては、ＪＮＤＩバインディングの自動的発生を与える。この自動的機能性がない場合には、ユーザは幾つかのアプリケーションサーバーによって必要とされるＪＮＤＩ  ＸＭＩ（ＸＭＬメタデータインターチェンジ）ファイル等のカスタム化したファイルを手作業により発生させることが必要な場合がある。簡単に説明すると、ＸＭＩは例えば１組のデータが何を包含しており且つそれがどのように組織されているかに関する情報等のメタデータに関する情報を交換するためにプログラマー及びその他のユーザに対して標準的な態様を与えることが意図された拡張可能マークアップ言語（ＸＭＬ）の提案された使用である。
【００２７】
アプリケーションサーバープラットフォームの１つ又はそれ以上から検索した情報を使用してｔｃｌスクリプトを発生した後に、１実施例における本開示のＳＴＤＦはＪＮＤＩバインディングを実施する。例えば、最終的なＥＪＢ．ｅａｒ、尚それは、ＩＢＭのＷｅｂｓｐｈｅｒｅの場合にはデプロイメント用にＩＢＭ  ＷＳＣＰ（Ｗｅｂｓｐｈｅｒｅコントロールプログラム）を使用するものであるが、本開示のＳＴＤＦにより作成された必要なＪＮＤＩバインディングファイルを包含する場合がある。次いで、このｔｃｌスクリプトファイルは例えばＷＳＣＰ等のアプリケーションサーバーのコントロールプログラム内へパスされてデプロイメント又は再デプロイメントを実施する。
【００２８】
最終的ＥＪＢ．ｅａｒは以下のものを包含することが可能である。
【００２９】
【表１】
2006520974.tif 000003
【００３０】
この例においては、ＥＡＲレベルにおけるＥＪＢ．ｅａｒは本開示のＳＴＤＦにより作成されたｉｂｍ−ａｐｐｌｉｃａｔｉｏｎ−ｂｎｄ．ｘｍｉファイルを包含している。各ＥＪＢ  ｊａｒレベルはそれもＳＴＤＦにより作成された対応するｉｂｍ−ｅｊｂ−ｊａｒ−ｂｎｄ．ｘｍｉファイルを包含している。これらのｘｍｉファイルはＷｅｂｓｐｈｅｒｅ  Ａｄｖａｎｃｅｄ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ  ４．０．３等のアプリケーションサーバーに対してデプロイされているエンタプライズジャバビーンズのＪＮＤＩバインディングを自動化させる。発生されたアプリケーションサーバーに適したデプロイメント記述子は、例えば、ジャバネーミング及びディレクトリィインターフェース（ＪＮＤＩ）バインディングファイルを包含することが可能である。
【００３１】
ＪＮＤＩバインディングは、例えば、本開示のＳＴＤＦプロセスを実現するプラグインを使用するユニバーサルデプロイメントツールを使用してデプロイメントプロセスの一部として実施することが可能である。２４６において、適宜のアプリケーションサーバーへアプリケーションをデプロイさせるために処理するユニバーサルデプロイメントツールで処理が継続して行われる。
【００３２】
２０６において、ターゲットアプリケーションがＷｅｂｓｐｈｅｒｅ  Ａｄｖａｎｃｅｄ  Ｓｉｎｇｌｅ  Ｅｄｉｔｉｏｎ２４８であるか又は単一のプラットフォーム上にインストールされている同様のアプリケーションサーバーであることが判別されると、処理はデプロイメントプロセスで２４６において継続して行われる。例えば、このステップは、ＥＡＲファイルをパッケージングし且つ所望のアプリケーションサーバーへデプロイさせるようなユーザがデプロイメント記述子を修正することを可能とすることを包含することが可能である。プラグインアーキテクチャを使用してＵＤＴ処理する詳細な説明は「ユニバーサルデプロイメントツール」という名称の同時係属中の米国特許出願第１０／３７８，５０３号（代理人ドケット５６１２９８６１−２３０）においてより詳細に記載されている。
【００３３】
本開示のシステム及び方法は汎用コンピュータ上で実現し且つ稼動させることが可能である。上述した実施例は例示的なものであり且つ本開示はこれらの特定の実施例に制限されるものとして解釈されるべきではない。特許請求の範囲に記載した発明の精神及び範囲を逸脱することなしに当業者によって種々の変更及び修正を行うことが可能である。例えば、ここに開示したシステム及び方法はＪ２ＥＥ及びジャバ環境及び説明の便宜上の１例としてＷｅｂｓｐｈｅｒｅアプリケーションサーバーについて説明したものであるが、このようなプログラミング環境のみに制限されるものではない。従って、本発明は特許請求の範囲によるものを除いて制限されるものではない。
【図面の簡単な説明】
【００３４】
【図１】１実施例におけるシングルトランスペアレントデプロイメントフローを例示したアーキテクチャ図。
【図２】１実施例におけるシングルトランスペアレントデプロイメントフローの外観を例示した機能図。
【図３】エンタプライズジャバビーンズをＷｅｂｓｐｈｅｒｅへデプロイさせるｔｃｌスクリプトの１例を示した概略図。
【図１】
2006520974.tif 000004
【図２】
2006520974.tif 000005
【図３】
2006520974.tif 000006
【国際調査報告】
2006520974.tif 000007