(54)【発明の名称】トランザクショナルミドルウェアマシン環境においてアプリケーションコンポーネントを自動的にデプロイする/アンデプロイすることをサポートするためのシステムおよび方法
【文献】
村田 謙 外2名,「標準化した業務システムのプロビジョニング」,FUJITSU,富士通株式会社,2011年 1月11日,第62巻,第1号,pp.35−41
(58)【調査した分野】(Int.Cl.,DB名)
アプリケーションパッケージをデプロイすることができるプラットフォームに関する情報を各アプリケーションパッケージが含むことを許可することをさらに含む、請求項1に記載の方法。
異なるトランザクショナルドメインにアプリケーションパッケージを適用することをさらに含み、各トランザクショナルドメインは、1つ以上のトランザクショナルミドルウェアマシンを含む、請求項1または2に記載の方法。
アプリケーションパッケージに基づいて、1つ以上のトランザクショナルサーバがデプロイされる各トランザクショナルミドルウェアマシン上に1つ以上のアプリケーションディレクトリを作成することをさらに含む、請求項1から3のいずれかに記載の方法。
アプリケーションパッケージにおけるコンフィギュレーション情報に基づいて1つ以上のトランザクショナルサーバがデプロイされるトランザクショナルミドルウェアマシンごとにコンフィギュレーションメタデータを自動的に生成することをさらに含む、請求項1から5のいずれかに記載の方法。
1つのトランザクショナルミドルウェアマシンまたは複数の相互接続されたトランザクショナルミドルウェアマシンのいずれかに、複数のアプリケーションパッケージを含むトランザクショナルアプリケーションをデプロイすることをさらに含む、請求項1から7のいずれかに記載の方法。
トランザクショナルミドルウェアマシン環境において複数のトランザクショナルミドルウェアマシンから少なくとも1つの分散パッケージをアンデプロイすることをさらに含む、請求項1から9のいずれかに記載の方法。
【発明を実施するための形態】
【0006】
詳細な説明
本願明細書に記載されるのは、複数のプロセッサを有する高速マシンを利用することができるトランザクショナルミドルウェアシステムおよび高性能ネットワーク接続をサポートするためのシステムおよび方法である。ダイナミックリソースブローカは、リソース使用変更に従って、グループおよびマシンを追加/削除することによってトランザクショナルミドルウェアマシン環境におけるトランザクショナルシステムを動的にスケールアップ/スケールダウンすることができる。トランザクショナルミドルウェアマシン環境は、トランザクショナルミドルウェアマシン環境においてデプロイメントセンターを含むことができる。デプロイメントセンターは、トランザクショナルミドルウェアマシン環境について1つ以上のデプロイメントポリシーと、1つ以上のデプロイメントエージェントとを維持する。1つ以上のデプロイメントエージェントの各々は、トランザクショナルミドルウェアマシン環境におけるトランザクショナルドメイン内の複数のトランザクショナルミドルウェアマシンのうちの1つのトランザクショナルミドルウェアマシンに関連付けられる。デプロイメントセンターは、1つ以上のデプロイメントエージェントからマシン使用情報を受信し、1つ以上のデプロイメントエージェントによって収集されたリソース使用情報に基づいて、トランザクショナルドメインにおいて使用されるリソースを動的にスケールアップまたはスケールダウンするように動作する。
【0007】
本発明の実施例に従うと、当該システムは、高性能ハードウェア、たとえば64ビットプロセッサ技術、高性能な大きなメモリ、ならびに冗長なインフィニバンドおよびイーサネット(登録商標)ネットワーキング)と、WebLogic Suiteのようなアプリケーションサーバまたはミドルウェア環境との組合せを含み、これにより、迅速に備えられ得るとともにオンデマンドでスケール変更可能な大規模並列メモリグリッドを含む完全なJava(登録商標)EEアプリケーションサーバコンプレックスを提供する。本発明の実施例に従うと、当該システムは、アプリケーションサーバグリッド、ストレージエリアネットワーク、およびインフィニバンド(IB)ネットワークを提供するフルラック、ハーフラック、もしくはクォーターラック、または他の構成としてデプロイされ得る。ミドルウェアマシンソフトウェアは、たとえばWebLogic Server、JRockitまたはHotspot JVM、Oracle Linux(登録商標)またはSolaris、およびOracle VMといった、アプリケーションサーバと、ミドルウェアと、他の機能性とを提供し得る。本発明の実施例に従うと、当該システムは、IBネットワークによって互いに通信する複数のコンピュートノードと、1つ以上のIB切替えゲートウェイと、ストレージノードまたはユニットとを含み得る。ラック構成として実施される場合、当該ラックの未使用部分は、空のままとされるか、またはフィラー(filler)によって占有され得る。
【0008】
本願明細書において「Sun Oracle Exalogic」または「Exalogic」と称される本発明の実施例に従うと、当該システムは、Oracle Middleware SW suiteまたはWeblogicといったミドルウェアまたはアプリケーションサーバソフトウェアをホスティングするための、デプロイが容易なソリューションである。本願明細書に記載されるように、実施例に従うと、当該システムは、1つ以上のサーバと、ストレージユニットと、ストレージネットワーキングのためのIBファブリックと、ミドルウェアアプリケーションをホストするために要求されるすべての他のコンポーネントとを含む「グリッド・イン・ア・ボックス(grid in a box)」である。たとえばReal Application ClustersおよびExalogic open storageを用いて大規模並列グリッドアーキテクチャを活用することにより、すべてのタイプのミドルウェアアプリケーションのために有意な性能が与えられ得る。このシステムは、線形のI/Oスケーラビリティとともに向上した性能を与え、使用および管理が簡易であり、ミッションクリティカルな可用性および信頼性を与える。
【0009】
発明の実施例に従うと、トランザクショナルシステム、たとえばTuxedo(登録商標)は、高性能の分散ビジネスアプリケーションの構築、実行および管理を可能にし、多くの多階層アプリケーション開発ツールによってトランザクショナルミドルウェアとして使用されてきた1組のソフトウェアモジュールである。トランザクショナルシステムは、分散コンピューティング環境における分散トランザクション処理を管理するために使用することができるミドルウェアプラットフォームである。無限のスケーラビリティおよび規格ベースのインターオペラビリティを提供しつつ、企業レガシーアプリケーションをアンロックし、それらをサービス指向のアーキテクチャに拡張するためのプラットフォームである。
【0010】
ダイナミックリソースブローカは、トランザクショナルミドルウェアマシン環境において、トランザクションシステム、たとえばTuxedo(登録商標)のアプリケーションコンポーネントを自動的にデプロイすることができる。したがって、トランザクショナルシステムは、複数のプロセッサ、たとえばExalogicミドルウェアマシンを有する高速マシンと、高性能ネットワーク接続、たとえばInfiniband(IB)ネットワークとを利用することができる。
【0011】
ダイナミックリソースブローカ
発明の実施例に従うと、ダイナミックリソースブローカは、トランザクショナルミドルウェアアプリケーションを異なるリモートマシンに自動的にデプロイする/アンデプロイすることをユーザに許可する。これは、トランザクショナルミドルウェアアプリケーションのユーザにとって有益となり得る。たとえば、コマンドラインスタイルミドルウェアプロダクトとして、Tuxedo(登録商標)アプリケーションを1つのマシンまたはネットワーク接続された複数のマシンに手動でデプロイすることもできる。しかし、マニュアルモードを用いると、ネットワーク接続された多数のマシンがある場合でも、ユーザはそれらのアプリケーションをデプロイするためにあらゆるマシンにログインする必要がある。
【0012】
図1は、発明の実施例に係る、アプリケーションコンポーネントを自動的にデプロイする/アンデプロイすることをサポートするトランザクショナルミドルウェアマシン環境の例証を示す図である。
図1に示されるように、トランザクショナルミドルウェアマシン環境100は、マシンA〜D 101〜103および110のような複数のトランザクショナルミドルウェアマシンを含む。
【0013】
ダイナミックリソースブローカは、マシンD110上のデータリポジトリ105、マシンD110上のデプロイメントセンター106、および1つ以上のデプロイメントエージェント、エージェント111〜113のようなコンポーネントを含むことができる。エージェント111〜113の各々は、トランザクショナルミドルウェアマシン環境100において、トランザクショナルミドルウェアマシン、マシンA〜C 101〜103上に存在する。
【0014】
データリポジトリ105はメモリ内に存在する。データリポジトリ105を用いて、アプリケーションパッケージ、分散パッケージ、およびコンフィギュレーションファイルのような関連する情報を格納することができる。デプロイメントセンター106は、1つ以上のマイクロプロセッサによって動作する。デプロイメントセンター106は、ユーザ入力107をすべて受信することができ、1つ以上のデプロイメントポリシー116に基づいて、宛先マシン、マシンA〜C 101〜103に命令/パッケージを分散することを担う。さらに、デプロイメントセンター106は、宛先マシン、マシンA〜C 101〜103から実行結果を受信することを担う。各デプロイメントエージェント、エージェント111〜113は、分散パッケージを受信し、デプロイメント/アンデプロイメント/管理タスクを実行し、デプロイメントセンター106に実行結果を提供することを担う。
【0015】
図1に示される例において、ユーザは、まずデータリポジトリ105にアプリケーションパッケージをアップロードすることができる。次いで、ユーザは、2台のマシン:マシンA101およびマシンB102を含むドメイン、ドメインA109を作成することができる。次いで、ユーザは、デプロイメントタスクを行なうようにデプロイメントセンター106に通知することができる。デプロイメントセンター106は、マシンA101およびマシンB102に分散パッケージをデプロイし、ドメインA109をブートすることができる。
【0016】
その上、ドメインA109は、ランタイムにおいて動的にアクティブにされ得る候補マシンとして、第3のマシン、マシンC103を含むことができる。たとえば、マシンB102のCPU稼働率が100%に上昇すると、デプロイメントセンターは、マシンC103をアクティブにして、ロードをマシンB102と共有することができる。デプロイメントセンター106は、マシンCにパッケージを分散し、デプロイメントエージェント、エージェントC113に、Tuxedo(登録商標)管理情報ベース(MIB)オペレーションのような管理タスクを行なうように命令することができる。管理タスクが首尾よく行なわれると、マシンC103は、ドメインAに動的に追加されることができ、マシンC103上の全サーバおよびサービスをアクティブにすることができる。
【0017】
図2は、発明の実施例に係る、トランザクショナルミドルウェアマシン環境においてアプリケーションコンポーネントを自動的にデプロイする/アンデプロイすることをサポートするための典型的なフローチャートを例示する。
図2に示されるように、ステップ201において、データリポジトリは1つ以上のアプリケーションパッケージを受信することができ、各アプリケーションパッケージは、1つ以上のトランザクショナルサーバについてのバイナリファイルと、アプリケーションパッケージにおける1つ以上のトランザクショナルサーバの関係およびパラメータについて記述するコンフィギュレーション情報とを含む。次いで、ステップ202において、デプロイメントセンターは、1つ以上のアプリケーションパッケージに基づいて、トランザクショナルミドルウェアマシン環境における複数のトランザクショナルミドルウェアマシンのトランザクショナルミドルウェアマシンごとに、1つ以上のマイクロプロセッサ上に1つ以上の分散パッケージを生成することができる。最後に、203において、デプロイメントセンターは、トランザクショナルミドルウェアマシン環境において、複数のトランザクショナルミドルウェアマシンに1つ以上の分散パッケージをデプロイすることができる。
【0018】
発明の実施例に従うと、かつ下に開示されるように、Tuxedo(登録商標)アプリケーションのようなトランザクショナルアプリケーションのデプロイメントは、いくつかのステップ、すなわちアプリケーションパッケージ分散、Tuxedo(登録商標)システム環境設定、Tuxedo(登録商標)コンフィギュレーションファイル生成、およびTuxedo(登録商標)システムブートを含む。その各々については以下のセクションで述べる。
【0019】
アプリケーションパッケージ
発明の実施例に従うと、アプリケーションパッケージは、ユーザまたは顧客によって準備され、かつ1つ以上のミドルウェアマシン上にデプロイされることができるアーカイブパッケージである。アプリケーションパッケージは、コンパイルされたバイナリファイルと他の環境ファイルとを含み、トランザクショナルアプリケーションがデプロイされることになるマシンに基づいて体系化することができる。
【0020】
たとえば、Tuxedo(登録商標)アプリケーションのようなトランザクショナルアプリケーションは、各々がzipファイルであり得る1つ以上のアプリケーションパッケージに基づくことができる。Tuxedo(登録商標)アプリケーション(ドメイン)は、一組のマシン、サーバ、および他のリソースを特定するTUXCONFIG、すなわちUBBCONFIGコンフィギュレーションファイルにおいて定義することができる。Tuxedo(登録商標)アプリケーションは、1つのマシン上に、またはネットワーク接続された複数のマシン全体に存在することができる。ユーザはまず、Tuxedo(登録商標)アプリケーションをデプロイするために、アプリケーションパッケージをアップロードすることができる。
【0021】
図3は、発明の実施例に係る、ミドルウェアマシン環境におけるアプリケーションパッケージの内部構造の例証を示す。
図3に示されるように、アプリケーションパッケージ300は、複数の階層、たとえば階層1 301、階層2 302および階層3 303を含むことができる。
【0022】
階層1 301は、アプリケーションパッケージ300のための名前を含み、当該名前は、アップロードされた全アプリケーションパッケージ名の間で固有とすることができる。
【0023】
階層2 302は、階層1 301下の子ディレクトリとすることができる。階層2 302は、アプリケーションパッケージ300をデプロイすることができるプラットフォームに関する情報を表わす名前を含む。
図3に示されるように、階層2を用いて、マシンタイプOEL55_64_ExaX22X8664を表わすことができる。
【0024】
階層3 303は子ディレクトリ、階層2 302を含み、階層2 302は、アプリケーションサーバ、TMSサーバ、クライアントなどといったトランザクショナルシステムによって使用されるコンパイルされたバイナリファイルを含む。
図3に示されるように、OEL55_64_ExaX22X8664(階層2 302)下では、サブディレクトリ「サーバ」は、2つのコンパイルされたサーババイナリファイル:サーバ1およびサーバ2を有することができる。
【0025】
さらに、階層3 303は、Tuxedo(登録商標)マシンレベルENVFILE、Tuxedo(登録商標)グループレベルENVFILE、Tuxedo(登録商標)サーバレベルENVFILE、およびTuxedo(登録商標)サーバレベルRCMDファイルのような異なる環境ファイルを含むことができる。その上、階層3 303下にはサブディレクトリがある場合があり、そこでユーザはアプリケーションを体系化することができる。
【0026】
その上、階層3 303は、グループレベルUBBCONFIGファイルであるTuxedo(登録商標)UBB_partファイルのようなユニバーサルな掲示板コンフィギュレーションファイルを含むことができる。Tuxedo(登録商標)UBB_partファイルは、完全なUBBCONFIGファイルのGROUPSセクション、RMSセクション、SERVERSセクション、SERVICESセクション、ROUTINGSセクションを含み、このパッケージ内の全サーバの関係およびパラメータについて記述するために主に使用される。Tuxedo(登録商標)UBB_partファイルを用いて、このパッケージをいつマシンにデプロイするかを決定するUBBCONFIGファイルを生成することができ、そのコンテンツはその時に修正することができる。
【0027】
アプリケーションディレクトリ
発明の実施例に従うと、アプリケーションパッケージは、トランザクショナルミドルウェアマシン環境において繰り返し使用することができる。たとえば、アプリケーションパッケージは、異なるドメイン、1つのドメイン内の異なるマシン、または1つのドメイン内の1つのマシンに複数回、適用することができる。
【0028】
その上、ダイナミックリソースブローカは、アプリケーションパッケージに基づいて、宛先マシンにデプロイされる分散パッケージを生成することができる。分散パッケージが宛先マシンにデプロイされた後、トランザクショナルシステムは、宛先マシン上にアプリケーションディレクトリを作成することができる。
【0029】
図4は、発明の実施例に係る、ミドルウェアマシン環境におけるアプリケーションディレクトリの内部構造の例証を示す。
図4に示されるように、Tuxedo(登録商標)アプリケーションディレクトリAPPDIR 401のようなアプリケーションディレクトリは、異なるアプリケーションについての分散パッケージを含むために、複数のサブディレクトリAPP1 402およびAPP2 403を含むことができる。アプリケーションディレクトリAPPDIR 401下のデプロイされたTuxedo(登録商標)アプリケーション400の構造は、Tuxedo(登録商標)UBB_partファイルを除いて、アプリケーションパッケージの構造に類似することができる。
【0030】
アプリケーションパッケージのアップロード
発明の実施例に従うと、ユーザは、1つ以上の準備されたアプリケーションパッケージをデータリポジトリにアップロードすることができる。アプリケーションパッケージのアップロードが成功すると、システムは、アプリケーションパッケージ情報リストをユーザが埋めることを許可する。そのコンテンツは以下の表1に示される。
【0032】
マシンリストの作成
発明の実施例に従うと、ドメインが作成される前に、ユーザは、アプリケーションパッケージがデプロイされるマシンのリストを作成することができる。マシンごとに、ユーザは、この特定のマシンについて記述するフォームを埋めることができる。当該フォームのコンテンツは、以下の表2に示される。
【0034】
上記のマシンリストにおいて、全マシンをその論理名によって指定することができる。マシンの論理名はマシンリストにおいて固有とすることができ、マシンの論理名はマシンの物理名と同じとすることができる。したがって、1つの物理マシンは2つ以上の論理名を有し、マシンリストにおいて2つ以上のインスタンスを有することができる。したがって、たとえば、テスト環境におけるフェイクのMPモデルの場合、ユーザは、1つの物理マシンについて複数の論理名を特定し、異なるアプリケーションパッケージを同じマシンにデプロイすることができる。
【0035】
UBBCONFIG自動生成ルール
発明の実施例に従うと、ユーザは、トランザクショナルサーバのためのコンフィギュレーションファイル、たとえばUBBCONFIGファイルをTuxedo(登録商標)サーバごとに自動的に生成するように選択することができる。UBBCONFIGファイルは、RESOURCEセクション、MACHINESセクション、GROUPSセクション、RMSセクション、NETGROUPSセクション、NETWORKセクション、SERVERSセクション、SERVICESセクション、ROUTINGセクションのような異なるセクションを含むことができる。
【0036】
トランザクショナルミドルウェアマシンシステムにおいてダイナミックリソースブローカをサポートすることに関するさらなる情報と、本開示の全体にわたって説明されるプラットフォームの様々な他の局面とを示す付録Aが添付される。付録Aの情報は例示を目的として示され、発明の実施例のすべてを限定するものとは解釈されるべきではない。
【0037】
Tuxedo(登録商標)における自動デプロイメントの一例
以下のセクションでは、トランザクショナルミドルウェア環境においてTuxedo(登録商標)アプリケーションを自動的にデプロイするかまたはアンデプロイするプロシージャを例示するために一例が使用される。この例では、2つのTuxedo(登録商標)アプリケーションAPP1およびAPP2を、2つのミドルウェアマシンlclnx 24およびlcln 16上に自動的にデプロイすることができる。他の例では、トランザクショナルミドルウェア環境において異なる構成を制限なく使用することができる。
【0038】
Tuxedo(登録商標)ドメインの作成
発明の実施例に従うと、ユーザは、トランザクショナルアプリケーションをデプロイするために、トランザクショナルミドルウェアにおいてドメインを作成する前に、アプリケーションパッケージを準備することができる。この例では、ドメインのあらゆるマシンが1つのアプリケーションパッケージを使用する。他の例では、マシンは、必要であれば1つ以上のアプリケーションパッケージを有することができる。
【0039】
図5は、発明の実施例に係る、アプリケーションパッケージ500を準備する例証を示す。
図5に示されるように、アプリケーションパッケージAPP1.zip 501は、UBB_partセクション502およびサーバセクション503を含むことができる。以下のリスト1は、APP1.zipにおけるUBB_partセクションのセクションを示す。
【0041】
上述の
図5およびリスト1は、第1のアプリケーションAPP1をデプロイするためのアプリケーションパッケージAPP1.zipを例示する。
【0042】
その上、この例では、第2のアプリケーションAPP2をデプロイするために、別のアプリケーションパッケージAPP2.zipを同様の方法で準備することができる。
【0043】
図6は、発明の実施例に係る、GUIコンソールにおいてドメインについてのマシンリストを作成する例証を示す。
図6に示されるように、GUIコンソールは、マシンフォーム600を用いて、論理名lclnx24 601を有する特定のマシンに関連づけられた異なるプロパティを定義する。また、
図6に示されるように、マシンフォーム600中のエントリは、上に開示されるような表2に基づくことができる。
【0044】
その上、この例では、別の同様のマシンフォーム(図示せず)を用いて、システムに第2のマシンを設定することができる。
【0045】
図7は、発明の実施例に係る、アプリケーションパッケージをアップロードする例証を示す。
図7に示されるように、ユーザがアプリケーションパッケージ701のアップロードに成功すると、ユーザにファイルするようにリクエストするために、アプリケーションパッケージフォーム700を表示することができる。また、
図7に示されるように、マシンフォーム700中の様々なエントリは、上に開示されるような表2に基づくことができる。
【0046】
同様に、アプリケーションパッケージAPP2.zipをアップロードするために、別のアプリケーションパッケージフォーム(図示せず)が存在し得る。
【0047】
図8は、発明の実施例に係る、トランザクショナルミドルウェア環境においてドメインを作成する例証を示す。
図8に示されるように、ユーザは、固有のドメイン名、たとえばDOM1 801を有するドメインを作成することができる。このドメインは、マシンリスト802からのマシンを含み、パッケージリスト803からのアプリケーションパッケージを動作させるように構成することができる。
【0048】
ドメインがトランザクショナルミドルウェア環境において作成されると、異なるテンプレートを用いて、デプロイメントのためのコンフィギュレーションファイルを自動的に生成することができる。たとえば、自動的に生成されたTuxedo(登録商標)コンフィギュレーションファイルのコンテンツを付録Aに詳述することができる。
【0049】
その上、Tuxedo(登録商標)では、2つのデフォルトUBBCONFIGテンプレート:UBB_Resourceという名のRESOURCESパートのための1つのUBBCONFIGテンプレートと、UBB_Machineという名のMACHINESパートのための別のUBBCONFIGテンプレートとが存在し得る。また、ユーザは、追加テンプレートを定義し、それらをデータリポジトリに保存することができる。
【0050】
図8に示されるように、DOM1 801が作成される時、ユーザは、デフォルトUBB_Resourceテンプレートを選択することができ、ドメインがMPモードにあることを示すことができる。さらに、ユーザは、値を修正し、コンフィギュレーションファイルのRESOURCESセクションに追加することができる。
【0051】
Tuxedo(登録商標)ドメインにおける仮想マシンの作成
発明の実施例に従うと、ユーザは、1つ以上の仮想マシンをドメインにおいて作成することができる。仮想マシンは、実際の物理マシンを表わさないシンボルである。マシンリストからの論理マシンを、仮想マシンにバインドすることができる。仮想マシンのための命名ルールは、論理マシンと同じとすることができ、仮想マシンの名前は、1つのドメイン内のすべての仮想マシンの間で固有とすることができる。
【0052】
図9は、発明の実施例に係る、論理マシンをドメインの仮想マシンにバインドする例証を示す。
図9に示されるように、仮想マシンM1 902がDOM1 901に作成される。その上、ユーザは、マシンリストからの論理マシンlclnx24 903を仮想マシンM1 902にバインドすることができ、この論理マシンlclnx24 903はドメインDOM1 901についてマスタであることを示すことができる。次いで、デフォルトUBB_Resourceセクション904をUBBCONFIGファイルに追加することができ、マシンリストにおけるlclnx24 903と関係する情報に従って、コンテンツを修正することができる。さらに、ユーザは、値を修正するかまたはMACHINESセクション905およびNETWORKセクション906の対応するアイテムに追加することができる。
【0053】
図10は、発明の実施例に係る、ドメインの仮想マシンにアプリケーションパッケージを追加する例証を示す。
図10に示されるように、ユーザは、アプリケーションパッケージAPP1 1003をパッケージリストからドメインDOM1 1001の仮想マシンM1 1002に追加することができる。次いで、アプリケーションパッケージAPP1からのUBB_part、たとえばデフォルトUBB_Resourceセクション1004をUBBCONFIGファイルに追加することができ、仮想マシンM1 1002にバインドされる論理マシンlclnx24の情報に従って、コンテンツを修正することができる。その上、ユーザは、値を修正するかまたは、MACHINESセクション、GROUPSセクション、SERVERSセクション、およびSERVICESセクション1005〜1009のアイテムに追加することができる。
【0054】
図11は、発明の実施例に係る、ドメインにおいて複数の仮想マシンを設定する例証を示す。
図11に示されるように、ユーザは、仮想マシンM1 1102および仮想マシンM2 1103のような複数の仮想マシンをドメインDOM1 1101に作成することができる。さらに、ユーザは、論理マシンを仮想マシンにバインドすることができる。たとえば、論理マシンlclnx16は、仮想マシンM1 1002にバインドし、アプリケーションパッケージAZPP1を動作させることを担うことができ、論理マシンlclnx24は、仮想マシンM2にバインドし、別のアプリケーションパッケージAPP2を動作させることを担うことができる。
【0055】
論理マシンにバインドされた仮想マシンにアーカイブパッケージが追加されるたびに、システムは、アプリケーションパッケージフォーム中の情報をマシンフォームと比較することができる。エラーがあれば、システムは、ユーザにエラーを報告することができる。
【0056】
Tuxedo(登録商標)ドメインの構成
発明の実施例に従うと、システムは、ドメインの各マシンにコンフィギュレーションテンプレートを提供することができる。
【0057】
Tuxedo(登録商標)では、ユーザは、データリポジトリからデフォルトDMCONFIGテンプレートを選択し、修正することができる。その上、データリポジトリは、各マシンにsetenv.kshテンプレートを提供することができる。ユーザは、setenv.kshテンプレートを用いて、Tuxedo(登録商標)アプリケーションに様々な環境変数、たとえばTUXDIR、PATHおよびAPPDIRを設定することができる。
【0058】
さらに、システムは、上記の情報に従って、デプロイメントディスクリプタおよびアンデプロイメントディスクリプタを各マシンに提供する。ユーザは、自身の必要に従って、2つのディスクリプタを修正することができる。
【0059】
デプロイメントディスクリプタは、分散パッケージが宛先マシンに分散された後で取ることができるステップについて記述するスクリプトである。以下のリスト2は、典型的なデプロイメントディスクリプタを示す。
【0061】
アンデプロイメントディスクリプタは、ユーザがドメインをアンデプロイしたい場合に取ることができるステップについて記述するスクリプトである。以下のリスト3は、典型的なアンデプロイメントディスクリプタを示す。
【0063】
発明の実施例に従うと、分散パッケージは、修正済のsetenv.ksh(setenv.cmd)テンプレート、UBBCONFIG、DMCONFIG、デプロイメント/アンデプロイメントディスクリプタ、およびコンパイルされたバイナリ実行可能ファイルを含むように生成することができる。
【0064】
データリポジトリ
発明の実施例に従うと、アプリケーションパッケージおよび分散パッケージの両方をデータリポジトリに格納することができる。
【0065】
図12は、発明の実施例に係る、データリポジトリの内部構造の例証を示す。
図12に示されるように、データリポジトリ、リポジトリ1201は、アプリケーションパッケージディレクトリAppPackage1202と、デプロイメントディレクトリDeployDir1203とを含む。当初のアップロードされたアプリケーションパッケージは、AppPackageディレクトリ1202の下に格納される一方、ドメインのようなデプロイメントユニットは、DeployDirディレクトリ1203の下に格納される。
【0066】
図12に示されるように、ドメイン名は「DOM1」であり、マシン名は「lclnx24」および「lclnx26」であり、その各々は、DeployDescriptor、UndeployDescriptor、および様々な分散パッケージを含む。
【0067】
その上、1つのアプリケーションパッケージを、ドメインの1つのマシンに複数回追加することができ、その場合、システムは、そのためのインデックス、たとえばAPP1_1、APP1_2などを自動的に作成することができる。
【0068】
Tuxedo(登録商標)ドメインのデプロイ/アンデプロイ
発明の実施例に従うと、デプロイメントセンターは、分散ファイルに従って、あらゆる宛先マシンに分散アーカイブファイルをデプロイすることができる。続いて、デプロイメントエージェントは、Tuxedo(登録商標)システムを構成し、設定することができる。成功した場合、システムは、Tuxedo(登録商標)システムのステータスをステータスファイルに記録することができる。ドメイン内のいずれかのマシンのデプロイメントが失敗した場合、システムは、行われたデプロイメントオペレーションを巻き戻すことができる。
【0069】
図13は、発明の実施例に係る、アプリケーションディレクトリの構造の例証を示す。
図13に示されるように、アプリケーションディレクトリAPPDIR1301は、成功したデプロイメント後に異なるアプリケーションについてのデプロイメントファイルを含むために、複数のサブディレクトリAPP1 1302およびAPP2 1303を含むように作成される。
【0070】
その上、ドメインがシャットダウンステータスにある場合、ユーザは、Tuxedo(登録商標)アプリケーションをアンデプロイすることができる。さらに、デプロイされたマシン上のデプロイメントエージェントは、アンデプロイメントディスクリプタを用いて、アンデプロイメントタスクを行なうことができる。
【0071】
図14は、発明の実施例に係る、
図1のアプリケーションコンポーネントを自動的にデプロイする/アンデプロイすることをサポートするトランザクショナルミドルウェアマシン環境をより詳細に示す。
図1のものと同じ
図14中のコンポーネントは同じ参照番号で示され、その詳細な説明を省略する。
【0072】
図14に示されるように、デプロイメントセンター106は、1つ以上のアプリケーションパッケージを受信するアプリケーションパッケージ受信ユニット1061を備え、各アプリケーションパッケージは、1つ以上のトランザクショナルサーバについてのバイナリファイルと、アプリケーションパッケージにおいて1つ以上のトランザクショナルサーバの関係およびパラメータについて記述するコンフィギュレーション情報とを含み、さらに、1つ以上のアプリケーションパッケージに基づいて、トランザクショナルミドルウェアマシン環境における複数のトランザクショナルミドルウェアマシンのトランザクショナルミドルウェアマシンごとに1つ以上の分散パッケージを生成する分散パッケージ生成ユニット1062と、トランザクショナルミドルウェアマシン環境における複数のトランザクショナルミドルウェアマシンに1つ以上の分散パッケージをデプロイする分散パッケージデプロイユニット1063とを含む。
【0073】
好ましくは、各アプリケーションパッケージは、アプリケーションパッケージをデプロイすることができるプラットフォームに関する情報を含むことが許可される。
【0074】
好ましくは、アプリケーションパッケージは、異なるトランザクショナルドメインに適用され、各トランザクショナルドメインは、1つ以上のトランザクショナルミドルウェアマシンを含む。
【0075】
好ましくは、1つ以上のアプリケーションディレクトリは、アプリケーションパッケージに基づいて、1つ以上のトランザクショナルサーバがデプロイされる各トランザクショナルミドルウェアマシン上で作成される。
【0076】
好ましくは、デプロイメントセンター106は、同じアプリケーションディレクトリに複数のアプリケーションパッケージをデプロイするデプロイユニット1064をさらに含む。
【0077】
好ましくは、デプロイメントセンター106は、アプリケーションパッケージにおけるコンフィギュレーション情報に基づいて1つ以上のトランザクショナルサーバがデプロイされるトランザクショナルミドルウェアマシンごとにのコンフィギュレーションメタデータを自動的に生成するコンフィギュレーションメタデータ生成ユニット1065をさらに含む。
【0078】
好ましくは、データリポジトリ105は、ユーザによってアップロードされた1つ以上のアプリケーションパッケージを格納する。
【0079】
好ましくは、デプロイメントセンター106は、1つのトランザクショナルミドルウェアマシンまたは複数の相互接続されたトランザクショナルミドルウェアマシンのいずれかに、複数のアプリケーションパッケージを含むトランザクショナルアプリケーションをデプロイするトランザクショナルアプリケーションデプロイユニット1066をさらに含む。
【0080】
好ましくは、各上記アプリケーションパッケージは、アプリケーションパッケージの名前を含む第1の階層と、アプリケーションパッケージにおける1つ以上のトランザクショナルサーバの関係およびパラメータについて記述するコンフィギュレーション情報を含む第2の階層と、トランザクショナルサーバについてコンパイルされたバイナリファイルを含む第3の階層とを含む圧縮ファイルである。
【0081】
好ましくは、デプロイメントセンター106は、トランザクショナルミドルウェアマシン環境における複数のトランザクショナルミドルウェアマシンから、少なくとも1つの分散パッケージをアンデプロイするアンデプロイユニット1067をさらに含む。
【0082】
これらのユニットおよびコンポーネントは、ソフトウェアおよび/またはハードウェアによって実施されることができる。
【0083】
Tuxedo(登録商標)アプリケーションのブート/シャットダウン
発明の実施例に従うと、Tuxedo(登録商標)アプリケーションが宛先マシンにデプロイされた後、デプロイメントセンターは、デプロイエージェントに接続することができ、したがってユーザは、全システムをブートすることを選択することができる。システムのブートが成功すると、システムは、ステータスファイルにステータスを記録し、ドメインのステータスを更新することができる。ドメインのブートが成功すると、ダイナミックデプロイメントを行なうことがユーザに許可される。一方、エラーが見つかった場合、ブートされたTuxedo(登録商標)システムはシャットダウンされ得る。
【0084】
本発明は、1つ以上のプロセッサ、メモリ、および/または本開示の教示に従ってプログラムされたコンピュータ可読記憶媒体を含む1つ以上の従来の汎用または専用デジタルコンピュータ、コンピューティング装置、マシンまたはマイクロプロセッサを用いて簡便に実施され得る。ソフトウェア技術の当業者には明らかであるように、適切なソフトウェアコーディングは、熟練したプログラマによって本開示の教示に基づき容易に用意され得る。
【0085】
いくつかの実施例では、本発明は、本発明の処理のいずれかを実行するようコンピュータをプログラムするのに用いられ得る命令を格納した記憶媒体またはコンピュータ可読媒体であるコンピュータプログラムプロダクトを含む。当該記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ素子、磁気または光学カード、ナノシステム(分子メモリICを含む)、または命令および/またはデータを格納するのに好適な任意のタイプの媒体もしくは装置を含み得るが、これらに限定されない。
【0086】
本発明の上記の記載は、例示および説明目的で与えられている。網羅的であることまたは開示されたそのものの形態に本発明を限定することを意図したものではない。当業者にとっては、多くの修正例および変形例が明確であろう。上記の実施例は、本発明の原理およびその実際的な適用をもっともよく説明するために選択および記載されたものであり、これにより他の当業者が、特定の使用に好適なさまざまな修正例を考慮して、さまざまな実施例について本発明を理解するのが可能になる。本発明の範囲は、添付の特許請求の範囲およびそれらの均等物によって定義されることが意図される。
【0087】
付録A
発明の実施例に従うと、システムは、RESOURCEセクションを定義するために、Tuxedo(登録商標)ユーザにUBB_Resourceテンプレートを提供することができる。ドメインを作成する際、ユーザは、このテンプレートを選択して、UBBCONFIGについてRESOURCESセクションを生成することができる。テンプレートにおける典型的なアイテムリストを以下の表3に示す。
【0089】
上記の表3におけるアイテムは、MASTERアイテムを除いて、ユーザによって修正することができる。どのマシンがドメインのマスタであるか、かつどのマシンがバックアップであるかをユーザが特定すると、MASTERアイテムを埋めることができる。ユーザは、これらのパラメータに加え、他のパラメータを追加することができる。ユーザは、自身のUBB_Resourceテンプレートを作成し、それらをシステムに保存することもできる。全テンプレートにおいて、自動的に上記ルールに従ってシステムによってMASTERを埋めることができる。
【0090】
発明の実施例に従うと、システムは、Tuxedo(登録商標)ユーザにUBB_Machineテンプレートを提供することができる。ドメインを作成し、マシンを特定する際、ユーザは、このテンプレートを選択して、UBBCONFIGファイルについてMACHINESセクションを生成することができる。テンプレートにおける典型的なアイテムリストを以下の表4に示す。
【0092】
ユーザは、MACHINESセクションの他のパラメータをUBBCONFIGファイルに追加することができる。ユーザは、TLOGを生のディスク(raw disk)に特定することもでき、このドメインをアンデプロイすると、システムはそれを削除することができる。ユーザは、追加のUBB_Machineテンプレートを作成し、それらをシステムに保存することもできる。パラメータ置換ルールは上記に従うことができる。
【0093】
発明の実施例に従うと、ユーザが1つのドメインにアプリケーションパッケージを追加すると、システムは、当該パッケージのUBB_part中のGROUPSセクションのいくつかのパラメータを置換することができる。テンプレートにおける典型的なアイテムリストを以下の表5に示す。
【0095】
システムは、GROUPSセクションの他のパラメータの値をUBB_partファイルにおいて保持することができ、それらを自由に修正することをユーザに許可する。同様に、ユーザは、UBBCONFIGファイルに他のパラメータを追加することができる。
【0096】
発明の実施例に従うと、1つのドメインにアプリケーションパッケージを追加すると、システムは当該パッケージのUBB_part中のRMSセクションのいくつかのパラメータを置換することができる。テンプレートにおける典型的なアイテムリストを以下の表に示す。
【0098】
システムは、他のパラメータi RMSセクションの値をUBB_partファイルにおいて保持することができ、それらを自由に修正することをユーザに許可する。同様に、ユーザは、UBBCONFIGに他のパラメータを追加することができる。
【0099】
発明の実施例に従うと、必要であれば、NETGROUPSセクションにおける全パラメータをユーザ自身によって埋めることができる。
【0100】
発明の実施例に従うと、NETWORKセクションは、UBB_Machineテンプレートにもある。ドメインがMPモードにある場合、システムは、このセクションをUBBCONFIGに自動的に追加することができる。テンプレートにおける典型的なアイテムリストを以下の表7に示す。
【0102】
その上、ユーザは、NETWORKセクションに他のパラメータを追加することができる。
【0103】
発明の実施例に従うと、1つのドメインにアプリケーションパッケージを追加すると、システムは、当該パッケージのUBB_part中のSERVERSセクションのいくつかのパラメータを置換することができる。テンプレートにおける典型的なアイテムリストを以下の表8に示す。
【0105】
システムは、SERVERSセクションの他のパラメータの値をUBB_partファイルにおいて保持することができ、それらを自由に修正することをユーザに許可する。同様に、ユーザは、UBBCONFIGに他のパラメータを追加することができる。
【0106】
発明の実施例に従うと、1つのドメインにアプリケーションパッケージを追加すると、システムは、当該パッケージのUBB_part中のSERVICESセクションのいくつかのパラメータを置換することができる。テンプレートにおける典型的なアイテムリストを以下の表9に示す。
【0108】
システムは、SERVICESセクションの他のパラメータの値をUBB_partファイルにおいて保持することができ、それらを自由に修正することをユーザに許可する。同様に、ユーザは、UBBCONFIGに他のパラメータを追加することができる。
【0109】
発明の実施例に従うと、ドメインにアプリケーションパッケージを追加すると、システムは、当該パッケージのUBB_part中のROUTINGセクションのいくつかのパラメータを置換することができる。テンプレートにおける典型的なアイテムリストを以下の表10に示す。
【0111】
システムは、ROUTINGセクションの他のパラメータの値をUBB_partファイルにおいて保持することができ、それらを自由に修正することをユーザに許可する。同様に、ユーザは、UBBCONFIGに他のパラメータを追加することができる。