JP2017520861A - マルチテナントアプリケーションサーバ環境でネームスペースをサポートするためのシステムおよび方法 - Google Patents

マルチテナントアプリケーションサーバ環境でネームスペースをサポートするためのシステムおよび方法 Download PDF

Info

Publication number
JP2017520861A
JP2017520861A JP2017502147A JP2017502147A JP2017520861A JP 2017520861 A JP2017520861 A JP 2017520861A JP 2017502147 A JP2017502147 A JP 2017502147A JP 2017502147 A JP2017502147 A JP 2017502147A JP 2017520861 A JP2017520861 A JP 2017520861A
Authority
JP
Japan
Prior art keywords
partition
jndi
application
tree
context
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017502147A
Other languages
English (en)
Other versions
JP6505823B2 (ja
JP2017520861A5 (ja
Inventor
チャン,レイメン
シャン,グオジュン
シャノン,ビル
モルダニ,ラジブ
フェイゲン,ローレンス
リン,ユン
チェン,チュンタオ
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2017520861A publication Critical patent/JP2017520861A/ja
Publication of JP2017520861A5 publication Critical patent/JP2017520861A5/ja
Application granted granted Critical
Publication of JP6505823B2 publication Critical patent/JP6505823B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

ある実施形態に従うと、マルチテナントアプリケーションサーバ環境でネームスペースをサポートするためのシステムおよび方法が本明細書に記載される。アプリケーションサーバ環境は、複数のパーティションを有するドメインを含み得る。ドメインレベルのリソースにバインドされるグローバルネームスペースまたはJNDIツリーはパーティションルートノードのコレクションを維持することができ、各パーティションルートノードはパーティションJNDIツリーのルートノードである。パーティションJNDIツリー内の各ノードは、特定のパーティションに特有のプロパティを含むことによってパーティション認識型にさせられる。パーティションについての最初のコンテキストは、リソースルックアップ要求を当該パーティションにディスパッチする際に用いるために作成され得、当該パーティション内のリソースにアクセスする際に他のアプリケーションによって再利用され得る。

Description

著作権表示
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権の所有者は、特許商標庁の特許包袋または記録に掲載されるように特許文献または特許開示を誰でも複製できることに対して異議はないが、その他の点ではすべての如何なる著作権をも保有する。
発明の分野:
本発明の実施形態は概してアプリケーションサーバおよびクラウドプラットフォーム環境に関し、特に、マルチテナントアプリケーションサーバ環境でネームスペースをサポートするためのシステムおよび方法に関する。
背景:
ソフトウェアアプリケーションサーバは、その例として、Oracle WebLogic Server(WLS)およびGlassfishを含み、エンタープライズソフトウェアアプリケーションを実行するための管理環境を一般に提供する。近年、ユーザまたはテナントが自身のアプリケーションをクラウド環境内で開発して実行すること、および当該環境によって提供される分散リソースを利用することを可能にする、クラウド環境で用いる技術も開発されている。
要約:
一実施形態に従うと、マルチテナントアプリケーションサーバ環境でネームスペースをサポートするためのシステムおよび方法が本明細書に記載される。アプリケーションサーバ環境は、複数のパーティションを有するドメインを含むことができる。ドメインレベルのリソースにバインドされるグローバルネームスペースまたはJNDIツリーはパーティションルートノードのコレクションを維持することができ、各パーティションルートノードはパーティションJNDIツリーのルートノードである。パーティションJNDIツリー内の各ノードは、特定のパーティションに特有のプロパティを含むことによってパーティション認識型にさせられる。パーティションについての最初のコンテキストは、リソースルックアップ要求を当該パーティションにディスパッチする際に用いるために作成され得、当該パーティション内のリソースにアクセスする際に他のアプリケーションによって再利用され得る。
一実施形態に従う、アプリケーションサーバ、クラウド、または他の環境でマルチテナンシをサポートするためのシステムを示す図である。 一実施形態に従う、アプリケーションサーバ、クラウド、または他の環境でマルチテナンシをサポートするためのシステムをさらに示す図である。 一実施形態に従う、アプリケーションサーバ、クラウド、または他の環境でマルチテナンシをサポートするためのシステムをさらに示す図である。 一実施形態に従う、例示的なマルチテナント環境とともに用いるドメイン設定を示す図である。 一実施形態に従う、例示的なマルチテナント環境をさらに示す図である。 一実施形態に従う、アプリケーションサーバ環境、クラウドまたは他の環境で、ドメイン内の複数のパーティションJNDIツリーをサポートするためのシステムを示す図である。 一実施形態に従う、アプリケーションサーバ環境、クラウドまたは他の環境で、ドメイン内の複数のパーティションJNDIツリーをサポートするためのシステムをさらに示す図である。 一実施形態に従う、アプリケーションサーバ環境、クラウドまたは他の環境で、ドメイン内の複数のパーティションJNDIツリーをサポートするための方法を示す図である。 一実施形態に従う、アプリケーションサーバ環境、クラウドまたは他の環境で、ドメイン内の複数のパーティションJNDIツリーをサポートするための例示的なシステムを示す図である。
詳細な説明:
一実施形態に従うと、マルチテナントアプリケーションサーバ環境でネームスペースをサポートするためのシステムおよび方法が本明細書に記載される。アプリケーションサーバ環境は、複数のパーティションを有するドメインを含むことができる。ドメインレベルのリソースにバインドされるグローバルネームスペースまたはJNDIツリーはパーティションルートノードのコレクション(collection:集まり)を保ち維持することができ、各パーティションルートノードはパーティションJNDIツリーのルートノードである。パーティションJNDIツリー内の各ノードは、特定のパーティションに特有のプロパティを含むことによってパーティション認識型にさせられる。パーティションについての最初のコンテキストは、リソースルックアップ要求を当該パーティションにディスパッチ(出力)する際に用いるために作成され得、当該パーティション内のリソースにアクセスする際に他のアプリケーションによって再利用され得る。
アプリケーションサーバ(たとえばマルチテナント(Multi-Tenant:MT))環境
図1は、一実施形態に従う、アプリケーションサーバ、クラウド、または他の環境でマルチテナンシをサポートするためのシステムを示す。
図1に示されるように、一実施形態に従うと、アプリケーションサーバ(たとえばマルチテナント、MT)環境100、またはソフトウェアアプリケーションのデプロイメントおよび実行を可能にする他のコンピューティング環境を、ランタイムで用いられてアプリケーションサーバドメインを定義するドメイン102設定を含むように、かつ当該設定に従って動作するようにコンフィグレーション(構成・設定)することができる。
一実施形態に従うと、アプリケーションサーバは、ランタイムで用いるために定義される1つ以上のパーティション104を含むことができる。各パーティションは、パーティション識別子(ID)およびパーティションのコンフィグレーションの情報と関連付けることができ、さらに、1つ以上のリソースグループ124を、リソースグループテンプレートの参照126および/またはパーティション特有のアプリケーションもしくはリソース128とともに含むことができる。ドメインレベルのリソースグループ、アプリケーションおよび/またはリソース140も、随意にリソースグループテンプレートの参照とともに、ドメインレベルで定義することができる。
各リソースグループテンプレート160は、1つ以上のアプリケーションA162、B164、リソースA166、B168、および/または他のデプロイ可能なアプリケーションもしくはリソース170を定義することができ、リソースグループによって参照され得る。たとえば、図1に示されるように、パーティション104内のリソースグループ124はリソースグループテンプレート160を参照190することができる。
一般に、システムアドミニストレータは、パーティション、ドメインレベルのリソースグループおよびリソースグループテンプレート、ならびにセキュリティレルムを定義することができるのに対して、パーティションアドミニストレータは、たとえば、パーティションレベルのリソースグループを作成し、パーティションにアプリケーションをデプロイすることによって、またはパーティションについての特有のレルムを参照することによって、自身のパーティションのアスペクトを定義することができる。
図2は、一実施形態に従う、アプリケーションサーバ、クラウド、または他の環境でマルチテナンシをサポートするためのシステムをさらに示す。
図2に示されるように、一実施形態に従うと、パーティション202は、たとえば、リソースグループテンプレート210の参照206と、仮想ターゲット(たとえば仮想ホスト)情報207と、プラガブルデータベース(pluggable database:PDB)情報208とを含むリソースグループ205を含むことができる。リソースグループテンプレート(たとえば210)は、たとえば、複数のアプリケーションA211およびB212を、Java(登録商標)メッセージサーバ(Java Message Server:JMS)サーバ213、ストア・アンド・フォワード(store-and-forward:SAF)エージェント215、メールセッションコンポーネント216、またはJavaデータベースコネクティビティ(Java Database Connectivity:JDBC)リソース217などのリソースとともに定義することができる。
図2に示されるリソースグループテンプレートは一例として提供されており、他の実施形態に従うと、異なる種類のリソースグループテンプレートおよび要素が提供され得る。
一実施形態に従うと、パーティション(たとえば202)が特定のリソースグループテンプレート(たとえば210)を参照220すると、特定のパーティションと関連付けられた情報が、参照されたリソースグループテンプレートと組合されて用いられ、たとえばパーティション特有のPDB情報などのパーティション特有情報230を示すことができる。パーティション特有情報は次にアプリケーションサーバによって用いられ、たとえばPDBリソースなどのリソースを当該パーティションによって用いるためコンフィグレーションすることができる。たとえば、パーティション202と関連付けられたパーティション特有のPDB情報がアプリケーションサーバによって用いられ、適切なPDB238を有するコンテナデータベース(CDB)236をそのパーティションによって用いるためにコンフィグレーション232することができる。
同様に、一実施形態に従うと、特定のパーティションと関連付けられた仮想ターゲット情報が用いられ、たとえばbaylandurgentcare.comなどの、当該パーティションによって用いるためのパーティション特有の仮想ターゲット240を定義239することができ、これは次に、たとえばhttp://baylandurgentcare.comなどの統一資源位置指定子(URL)を介してアクセス可能にされ得る。
図3は、一実施形態に従う、アプリケーションサーバ、クラウド、または他の環境でマルチテナンシをサポートするためのシステムをさらに示す。
一実施形態に従うと、config.xml設定ファイルなどのシステムコンフィグレーション情報を用いてパーティションが定義され、当該パーティションは、そのパーティションおよび/または他のパーティションプロパティと関連付けられたリソースグループのためのコンフィグレーションの要素を含む。プロパティ名/値の対を用いてパーティションごとに値を指定することができる。
一実施形態に従うと、CDB243へのアクセスを提供可能であり、かつウェブ層244を介してアクセス可能である管理サーバ/クラスタ242または同様の環境内で、複数のパーティションを実行することができる。これによって、たとえば、ドメインをCDBと関連付けることができ、各パーティションは(CDBの)PDBの1つ以上と暗黙的に関連付けられている。
一実施形態に従うと、この例ではパーティションA250およびパーティションB260である複数のパーティションの各々を、そのパーティションと関連付けられた複数のリソースを含むようにコンフィグレーションすることができる。たとえば、パーティションAは、アプリケーションA1 252、アプリケーションA2 254、およびJMS A 256を、PDB A 259と関連付けられたデータソースA257とともに含むリソースグループ251を含むようにコンフィグレーションすることができ、当該パーティションには仮想ターゲットA258を介してアクセス可能である。同様に、パーティションB260は、アプリケーションB1 262、アプリケーションB2 264、およびJMS B 266を、PDB B 269と関連付けられたデータソースB267とともに含むリソースグループ261を含むようにコンフィグレーションすることができ、当該パーティションには仮想ターゲットB268を介してアクセス可能である。
上記の例のいくつかはCDBおよびPDBの使用を例示しているが、他の実施形態に従うと、他の種類のマルチテナントまたは非マルチテナントデータベースをサポートすることができ、たとえばスキーマを用いて、または異なるデータベースを用いて、特定の設定をパーティションごとに提供することができる。
リソース
一実施形態に従うと、リソースは、環境のドメインにデプロイ可能なシステムリソース、アプリケーション、または他のリソースもしくはオブジェクトである。たとえば、一実施形態に従うと、リソースは、サーバ、クラスタ、または他のアプリケーションサーバターゲットにデプロイ可能なアプリケーション、JMS、JDBC、JavaMail、WLDF、データソース、または他のシステムリソースもしくは他の種類のオブジェクトであり得る。
パーティション
一実施形態に従うと、パーティションは、パーティション識別子(ID)およびコンフィグレーション情報と関連付けられることができ、かつアプリケーションを含むことができる、ならびに/またはリソースグループおよびリソースグループテンプレートを用いてドメインワイドのリソースを参照することができる、ドメインのランタイムおよび管理サブディビジョンまたはスライスである。
一般に、パーティションは自身のアプリケーションを含み、リソースグループテンプレートを介してドメインワイドのアプリケーションを参照し、自身のコンフィグレーション情報を有することができる。パーティション可能なエンティティは、たとえばJMS、JDBC、JavaMail、WLDFリソースなどのリソースと、JNDIネームスペース、ネットワークトラフィック、ワークマネージャ、ならびにセキュリティポリシーおよびレルムなどの他のコンポーネントとを含むことができる。マルチテナント環境のコンテキストにおいて、システムを、テナントと関連付けられたパーティションの管理アスペクトおよびランタイムアスペクトへのテナントアクセスを提供するようにコンフィグレーションすることができる。
一実施形態に従うと、パーティション内の各リソースグループは1つ以上のリソースグループテンプレートを参照することができる。各パーティションは、当該パーティションのリソースグループが参照するリソースグループテンプレート内に指定されていない設定データについてのプロパティを定義することができる。これによって、当該パーティションは、そのパーティションとともに用いる特定値への、リソースグループテンプレート内に定義されるデプロイ可能なリソースのバインディングとして機能することができる。場合によっては、パーティションは、リソースグループテンプレートによって指定されるコンフィグレーション情報をオーバーライドすることができる。
一実施形態に従うと、たとえばconfig.xmlコンフィグレーションファイルによって定義されるようなパーティションのコンフィグレーション情報は、たとえば、パーティションを定義する属性および子要素を含む「パーティション(partition)」、パーティションにデプロイされるアプリケーションおよびリソースを含む「リソース・グループ(resource-group)」、そのテンプレートによって定義されるアプリケーションおよびリソースを含む「リソース・グループ・テンプレート(resource-group-template)」、データベース特有のサービス名、ユーザ名、およびパスワードを含む「jdbc・システム・リソース・オーバーライド(jdbe-system-resource-override)」、ならびにリソースグループテンプレート内のマクロ置換のために用いられ得るプロパティキー値を含む「パーティション・プロパティ(partition-properties)」などの、複数のコンフィグレーション要素を含むことができる。
始動すると、システムは、コンフィグレーションファイルによって提供される情報を用いて、リソースグループテンプレートから、パーティション特有のコンフィグレーション要素をリソースごとに生成することができる。
リソースグループ
一実施形態に従うと、リソースグループは、ドメインレベルまたはパーティションレベルのいずれか一方で定義されることができ、かつリソースグループテンプレートを参照することができる、デプロイ可能なリソースの、名前付けされ完全修飾されたコレクションである。リソースグループ内のリソースは、たとえば、データソースに接続するためのクレデンシャル、またはアプリケーションのためのターゲティング情報などの、それらのリソースを開始するかそれらのリソースに接続するのに必要な情報のすべてをアドミニストレータが提供しているという点で、完全修飾されていると見なされる。
システムアドミニストレータはドメインレベルで、またはパーティションレベルでリソースグループを宣言することができる。ドメインレベルでは、リソースグループは関連のリソースをグループ化する便利な方法を提供する。システムは、グループ化されていないリソースと同じドメインレベルのリソースグループ内に宣言されるリソースを管理することができるため、リソースをシステム始動時に開始し、システムのシャットダウン(停止)時に停止することができる。アドミニストレータはさらに、グループ内のリソースを個別に停止、開始、または除去することができ、グループに対して動作することによって当該グループ内のすべてのリソースに対して暗黙的に作用することができる。たとえば、リソースグループを停止すると、まだ停止されていない当該グループ内のすべてのリソースが停止され、リソースグループを開始すると、まだ開始されていない当該グループ内のすべてのリソースが開始され、リソースグループを除去すると、当該グループに含まれているすべてのリソースが除去される。
パーティションレベルでは、システムまたはパーティションアドミニストレータは、パーティション内の1つ以上のリソースグループを、任意のセキュリティ制限を受けるようにコンフィグレーションすることができる。たとえば、SaaSを用いる場合は、さまざまなパーティションレベルのリソースグループがドメインレベルのリソースグループテンプレートを参照することができるのに対して、PaaSを用いる場合は、リソースグループテンプレートを参照せず、代わりに、パーティション内のみで利用可能にされるアプリケーションおよびそれらの関連リソースを表わす、パーティションレベルのリソースグループを作成することができる。
一実施形態に従うと、リソースグループ化を用いて、アプリケーションおよびアプリケーションが用いるリソースを、ドメイン内の別個の管理ユニットとして互いにグループ化することができる。たとえば、以下に記載される医療記録(MedRec)アプリケーションでは、リソースグループ化がMedRecアプリケーションおよびそのリソースを定義する。複数のパーティションが同じMedRecリソースグループを実行することができ、各パーティションがパーティション特有のコンフィグレーション情報を用いるため、各MedRecインスタンスの一部であるアプリケーションは各パーティションに特有となる。
リソースグループテンプレート
一実施形態に従うと、リソースグループテンプレートは、リソースグループから参照され得る、ドメインレベルで定義されるデプロイ可能なリソースのコレクションであり、そのリソースを起動するのに必要な情報の一部は、パーティションレベル設定の仕様をサポートするように、テンプレート自体の一部として格納されない場合がある。ドメインは任意の数のリソースグループテンプレートを含むことができ、その各々が、たとえば、1つ以上の関連のJavaアプリケーションと、それらのアプリケーションが依存するリソースとを含むことができる。そのようなリソースについての情報の一部は全パーティションにわたって同じであり得るのに対して、他の情報はパーティションごとに異なり得る。すべての設定がドメインレベルで指定される必要はなく、代わりにパーティションレベル設定を、マクロ、またはプロパティ名/値の対を用いて、リソースグループテンプレート内に指定することができる。
一実施形態に従うと、特定のリソースグループテンプレートが1つ以上のリソースグループによって参照され得る。たとえばドメインまたはパーティションなどのリソースグループを含むオブジェクトは、プロパティ名/値の割当てを用いて、リソースグループテンプレート内の任意のトークンの値を設定することができる。システムが、参照しているリソースグループを用いてリソースグループテンプレートを起動すると、リソースグループテンプレートは、それらのトークンを、リソースグループが含んでいるオブジェクト内に設定された値で置換することができる。場合によっては、システムはさらに、静的に設定されたリソースグループテンプレートおよびパーティションを用いて、パーティション/テンプレートの組合せごとにランタイムの設定を生成することができる。
たとえば、SaaSを用いる場合、システムは、同じアプリケーションおよびリソースを複数回起動することができ、これは、同じアプリケーションおよびリソースを用いることになるパーティションごとに一回起動することを含む。アドミニストレータがリソースグループテンプレートを定義すると、リソースグループテンプレートはトークンを用いて、他の場所で供給されることになる情報を表わすことができる。たとえば、CRM関連のデータリソースに接続する際に用いるユーザ名を、\${CRMDataUsername}としてリソースグループテンプレート内に示すことができる。
テナント
一実施形態に従うと、マルチテナント(MT)アプリケーションサーバ環境などのマルチテナント環境において、テナントは、1つ以上のパーティションおよび/または1つ以上のテナント認識型アプリケーションによって表わすことができるか、またはそうでなければそれらと関連付けることができるエンティティである。
たとえば、テナントは、異なる外部の会社、または特定の企業内の異なる部門(たとえば人事および財務部門)などの、別個のユーザ組織を表わすことができ、その各々が異なるパーティションと関連付けられ得る。テナントアイデンティティ(テナントID)は、ある特定の時点における、特定のユーザと特定のテナントとの関連付けである。システムは、たとえばユーザアイデンティティの記録を参照することによって、特定のユーザがどのテナントに属しているかをユーザアイデンティティから導き出すことができる。ユーザアイデンティティによって、システムは、ユーザがどのテナントに属し得るかを含むがこれに限定されない、ユーザが実行することが許可されているそれらのアクションを実施することができる。
一実施形態に従うと、システムは、異なるテナントの管理およびランタイムを互いに分離することができる。たとえば、テナントは、それらのアプリケーションのいくつかの挙動、およびそれらがアクセスできるリソースをコンフィグレーションすることができる。システムは、特定のテナントが別のテナントに属しているアーティファクトを管理できないこと、および、ランタイムに、特定のテナントに代わって作動しているアプリケーションがそのテナントと関連付けられたリソースのみを参照し、他のテナントと関連付けられたリソースは参照しないことを確実にすることができる。
一実施形態に従うと、テナント非認識型アプリケーションは、当該アプリケーションが用いる任意のリソースに、当該アプリケーションが応答している要求をどのユーザが提出したかにかかわらずアクセス可能であり得るように、明示的にテナントに対処するロジックを含まないアプリケーションである。対照的に、テナント認識型アプリケーションは、明示的にテナントに対処するロジックを含む。たとえば、ユーザのアイデンティティに基づいて、アプリケーションはユーザが属しているテナントを導き出し、その情報を用いてテナント特有のリソースにアクセスすることができる。
一実施形態に従うと、システムは、アプリケーション開発者が現在のテナントのテナントIDを取得することができるように、テナント認識型であるように明示的に書込まれるアプリケーションをユーザがデプロイすることを可能にする。テナント認識型アプリケーションは次にテナントIDを用いて、アプリケーションの単一のインスタンスを使用中の複数のテナントを取扱うことができる。
たとえば、単一の診療所または病院をサポートするMedRecアプリケーションを、たとえばBayland Urgent CareテナントおよびValley Healthテナントなどの、2つの異なるパーティションまたはテナントに対して公開することができ、当該テナントの各々は、基礎となるアプリケーションコードを変更することなく、別々のPDBなど、別々のテナント特有のリソースにアクセス可能である。
例示的なドメイン設定およびマルチテナント環境
一実施形態に従うと、アプリケーションを、ドメインレベルでリソースグループテンプレートに、またはパーティションにスコープされるかドメインにスコープされるリソースグループにデプロイすることができる。アプリケーションのコンフィグレーション情報を、アプリケーションごとにまたはパーティションごとに指定されるデプロイメントプランを用いてオーバーライドすることができる。デプロイメントプランをリソースグループの一部として指定することもできる。
図4は、一実施形態に従う、例示的なマルチテナント環境とともに用いるドメイン設定を示す。
一実施形態に従うと、システムがパーティションを開始すると、パーティションは、提供されたコンフィグレーション情報に従って、それぞれのデータベースインスタンスに仮想ターゲット(たとえば仮想ホスト)および接続プールを作成し、これは、パーティションごとに1つずつ作成することを含む。
典型的に、各リソースグループテンプレートは、1つ以上の関連のアプリケーションと、それらのアプリケーションが依存するリソースとを含むことができる。各パーティションは、場合によっては、リソースグループテンプレートによって指定されている一定のコンフィグレーション情報をオーバーライドすることを含む、当該パーティションと関連付けられた特定値への、リソースグループテンプレート内のデプロイ可能なリソースのバインディングを提供することによって、自身が参照するリソースグループテンプレート内に指定されていないコンフィグレーションのデータを提供することができる。これによって、システムは、各パーティションが定義したプロパティ値を用いて、リソースグループテンプレートによって表わされるアプリケーションをパーティションごとに異なって起動することができる。
場合によっては、パーティションは、リソースグループテンプレートを参照しない、または自身のパーティションにスコープされたデプロイ可能なリソースを直接定義する、リソースグループを含み得る。あるパーティション内に定義されるアプリケーションおよびデータソースは、一般にはそのパーティションのみが利用可能である。
たとえば、MedRecアプリケーションは、複数のJavaアプリケーション、データソース、JMSサーバ、およびメールセッションを含むことができる。MedRecアプリケーションを複数のテナントについて実行するために、システムアドミニストレータは単一のMedRecリソースグループテンプレート286を定義し、当該テンプレート内のそれらのデプロイ可能なリソースを宣言することができる。
ドメインレベルでデプロイ可能なリソースとは対照的に、リソースグループテンプレート内に宣言されるデプロイ可能なリソースは、いくつかのコンフィグレーション情報が欠けているため、テンプレート内に完全に設定され得ないか、またはそのまま起動されることができない。
たとえば、MedRecリソースグループテンプレートはアプリケーションによって用いられるデータソースを宣言し得るが、当該データベースに接続するためのURLを指定し得ない。たとえば、パーティションBUC−A290(Bayland Urgent Care:BUC)およびパーティションVH−A292(Valley Health:VH)などの、異なるテナントと関連付けられたパーティションは、MedRecリソースグループテンプレートを参照296,297するMedRecリソースグループ293,294を各々が含むことによって、1つ以上のリソースグループテンプレートを参照することができる。次に当該参照を用いて、Bayland Urgent Careテナントによって用いられる、BUC−Aパーティションと関連付けられた仮想ホストbaylandurgentcare.com304、およびValley Healthテナントによって用いられる、VH−Aパーティションと関連付けられた仮想ホストvalleyhealth.com308を含む、仮想ターゲット/仮想ホストをテナントごとに作成302,306することができる。
図5は、一実施形態に従う、例示的なマルチテナント環境をさらに示す。図5に示されるように、かつ2つのパーティションがMedRecリソースグループテンプレートを参照する上記の例を続けて、一実施形態に従うと、サーブレットエンジン310を用いて、この例ではBayland Urgent Care医師テナント環境320、およびValley Health医師テナント環境330である、複数のテナント環境をサポートすることができる。
一実施形態に従うと、各パーティション321,331は、そのテナント環境についての入力トラフィックを受付けるための異なる仮想ターゲットと、パーティションに接続するための、およびこの例ではbayland urgent careデータベースまたはvalley healthデータベースのいずれか一方をそれぞれ含む、そのリソース324,334に接続するための、異なるURL322,332とを定義することができる。同じアプリケーションコードが両データベースに対して実行されるため、データベースインスタンスは互換性のあるスキーマを用いることができる。システムがパーティションを開始すると、パーティションはそれぞれのデータベースインスタンスへの仮想ターゲットおよび接続プールを作成することができる。
複数のパーティションJNDIツリーのサポート
たとえば、マルチテナント、クラウドまたは他の環境などのアプリケーションサーバ環境は、複数のパーティションを含むことができる。たとえばデータソース、JMSまたはメールセッションなどのリソースを、1つよりも多いパーティション内にデプロイすることができる。
典型的に、リソースは、アプリケーションサーバ内のネーミングサービスを介してリソース名にマッピングされる1つ以上のオブジェクトを含むことができるため、アプリケーションがこれらのオブジェクトにアクセスする必要がある場合は、アプリケーションはリソースの名前によってオブジェクトの位置を突止めることができる。
一実施形態に従うと、理想的には、ネーミングサービスはパーティション認識型であり、ネーミングサービス内にパーティション分離を提供して、リソースルックアップ要求を特定のパーティションにディスパッチする。
一実施形態に従うと、マルチテナントアプリケーションサーバ環境でネームスペースをサポートするためのシステムおよび方法が本明細書に記載される。アプリケーションサーバ環境は、複数のパーティションを有するドメインを含むことができる。ドメインレベルのリソースにバインドされるグローバルネームスペースまたはJNDIツリーはパーティションルートノードのコレクションを維持することができ、各パーティションルートノードはパーティションJNDIツリーのルートノードである。パーティションJNDIツリー内の各ノードは、特定のパーティションに特有のプロパティを含むことによってパーティション認識型にさせられる。パーティションについての最初のコンテキストは、リソースルックアップ要求を当該パーティションにディスパッチする際に用いるために作成され得、当該パーティション内のリソースにアクセスする際に他のアプリケーションによって再利用され得る。
一実施形態に従うと、パーティションJNDIツリーのライフサイクルはその関連付けられたパーティションのライフサイクルと同じである。パーティションが作成されると、パーティションJNDIツリーを作成することができる。たとえばパーティション名およびパーティションIDなどのパーティション情報を、作成されたパーティションJNDIツリーにバインドすることができる。パーティションが破棄されると、そのパーティションについてのパーティションJNDIツリーは破棄される。
一実施形態に従うと、各パーティションJNDIツリーをアプリケーションによって用いて、関連付けられたパーティション内のリソースにアクセスすることができる。当該アプリケーションは、ドメインのスタンドアロンアプリケーションクライアント、ドメイン内の管理サーバ内のアプリケーション、パーティション内にデプロイされるアプリケーション、または異なるパーティションにデプロイされるアプリケーション、のいずれかであり得る。
上述のアプリケーションの各々が特定のパーティションからのリソースを要求すると、そのアプリケーションはアプリケーションと関連付けられたJNDIコンテキストを開始し、当該JNDIコンテキストを用いて、アプリケーションからのリソース要求をパーティションJNDIツリーに委譲することができる。
一実施形態に従うと、JNDIコンテキストは、一旦作成されると、JNDIコンテキスト内のすべてのその後のJNDIオペレーションを関連付けられたパーティションに委譲することができ、そのパーティションのコンテキスト内で実行することができるように、パーティションと関連付けられたままであり得る。JNDIコンテキストは、JNDIコンテキストを作成するのに用いられるスレッドとは異なるスレッド上で1つ以上のアプリケーションによって用いられ得る。
図6は、一実施形態に従う、アプリケーションサーバ環境、クラウドまたは他の環境で、ドメイン内の複数のパーティションJNDIツリーをサポートするためのシステムを示す。
図6に示されるように、ドメインまたはグローバルJNDIツリー620はドメインルートネーミングノード661を含むことができ、ノード661はさらに、たとえばパーティションAルートネーミングノード663、パーティションBルートネーミングノード665、およびパーティションNルートネーミングノード667などのパーティションルートネーミングノードのコレクションを含む。パーティションルートネーミングノードの各々は、たとえばJNDIツリーA641、JNDIツリーB645、およびJNDIツリーN649などの、パーティションJNDIツリーについてのルートネーミングノードであり得る。
一実施形態に従うと、グローバルJNDIツリーはドメインレベルのリソース628にバインドされる。各パーティションJNDIツリーはパーティション(たとえばパーティションA635、パーティションB637またはパーティションN639)と関連付けられ、そのパーティションにデプロイされるリソース(たとえばリソースA655、リソースB657およびリソースN659)にバインドされる。
アプリケーションが特定のパーティション内のリソースにアクセスする必要がある場合、当該アプリケーションは、パーティションJNDIツリーへの開始点として、最初のJNDIコンテキストを作成することができる。要求しているアプリケーションがどこに位置しているかに基づいて、最初のJNDIコンテキストを作成する際に用いるためのパラメータとしてプロバイダURLが提供され得る。要求しているアプリケーションが要求されているリソースと同じパーティション内にある場合は、プロバイダURLは不要である。そうでなく、たとえば、要求しているアプリケーションがアプリケーションサーバドメインへのクライアントアプリケーションである場合は、プロバイダURLを提供する必要がある。
図6に示されるように、クライアントアプリケーション617がパーティションA内のリソースにアクセスする必要がある場合、最初のJNDIコンテキストA618を、パーティションを指定するプロバイダURLとともに作成することができる。
リスティング1は、プロバイダURLがともに提供される最初のJNDIコンテキストを作成する例を示す:
Hashtable h = new Hashtable();
h.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, "t3://server-2:7001/partition-A");
h.put(Context.SECURITY_PRINCIPAL, "partition-A-user");
h.put(Context.SECURITY_CREDENTIALS, "partition-A-password");
Context ctx = null;
try {
ctx = new InitialContext(h);
} catch (NamingException e) {
e.printStackTrace();
} finally {
try {
ctx.close();
} catch (NamingException e) {
e.printStackTrace();
}
}
リスティング1
上に示されるように、リスティング1は、パーティションA内にデプロイされるリソースを要求し、かつそのパーティションをパラメータとして指定するプロバイダURLとともに最初のJNDIコンテキストを作成するアプリケーションを示す。
一実施形態に従うと、JNDIシステムが最初のJNDIコンテキストを作成する要求を受信すると、JNDIサブシステムはプロバイダURLを用いて、たとえば指定されたパーティションの情報をどのパーティションルートネーミングノードが含むかを調べることによって、最初のコンテキストをプロバイダURL内に指定されているパーティションと関連付けることができる。プロバイダURLが提供されない場合、JNDIシステムは現在のコンポーネント呼出しコンテキストを最初のJNDIコンテキストと関連付けることができる。現在のコンポーネント呼出しコンテキストは、要求しているアプリケーションが実行されている現在のパーティションと関連付けられ得る。
一実施形態に従うと、最初のJNDIコンテキストが一旦作成されると、要求しているアプリケーションによって開始されるJNDIオペレーションを、最初のJNDIコンテキストと関連付けられたパーティションJNDIツリー内で実行することができる。最初のJNDIコンテキストからの要求を、パーティションと関連付けられたJNDIリソースに委譲することができる。
加えて、最初のコンテキストおよびパーティションAとの関連付け634を、他のアプリケーションによって再利用するために、ドメイン内のコンテキストオブジェクトA619として維持621することができる。
図7は、一実施形態に従う、アプリケーションサーバ環境、クラウドまたは他の環境で、ドメイン内の複数のパーティションJNDIツリーをサポートするためのシステムをさらに示す。
図7に示されるように、上記に作成されたコンテキストオブジェクトを、複数のアプリケーションによって、たとえば、異なるクライアントアプリケーションB717、パーティションB内のアプリケーション737、およびドメイン内の管理サーバ内のアプリケーション761によって再利用743,745,747するために維持することができる。
一実施形態に従うと、これらのアプリケーションは、パーティションA内のリソースにアクセスする際、コンテキストオブジェクトを呼出すことができる。これらのアプリケーションからのJNDIオペレーションを、パーティションAと関連付けられたJNDIツリーに自動的に委譲し、パーティションAのコンテキスト内で実行することができる。
一実施形態に従うと、コンテキストオブジェクトとパーティションとの関連付けを、コンテキストオブジェクトをパーティションのネームスペースに関連付けることによって維持することができる。複数のコールバック機能がJNDIサブシステム内に提供されて、JNDIオペレーションを、現在のコンポーネント呼出しコンテキストではなく、コンテキストオブジェクトと関連付けられたパーティションのコンポーネント呼出しコンテキストにおいて処理または実行することを可能にする。
図8は、一実施形態に従う、アプリケーションサーバ環境、クラウドまたは他の環境で、ドメイン内の複数のパーティションJNDIツリーをサポートするための方法を示す。
ステップ811において、アプリケーションサーバ環境におけるドメインが提供され、当該ドメインは、複数のパーティションと、パーティションルートネーミングノードのコレクションを維持するグローバルJNDIツリーとを含み、各パーティションルートネーミングノードは、パーティションに特有のパーティションJNDIツリーと関連付けられている。
813において、最初のJNDIコンテキストを作成する要求が、ドメイン内のJNDIサブシステムにおいてアプリケーションから受信される。
ステップ815において、JNDIサブシステムは、当該要求からの情報と、パーティションルートネーミングノードのコレクションとを調べて、特定のパーティションと関連付けられた最初のコンテキストを作成する。
817において、アプリケーションからのJNDIオペレーションが、特定のパーティションと関連付けられたJNDIツリーに委譲される。
図9は、一実施形態に従う、アプリケーションサーバ環境、クラウドまたは他の環境で、ドメイン内の複数のパーティションJNDIツリーをサポートするための例示的なシステムを示す。
一実施形態に従うと、アプリケーションサーバ環境は、パーティション内にデプロイされるリソースについてパーティション認識型JNDIルックアップおよびバインディングを実行することができる。そのような環境では、アプリケーションは、当該アプリケーションがデプロイされるパーティションの範囲内のJNDIリソースのみにアクセス可能である。たとえば、あるパーティション内にデプロイされるアプリケーションは、別のパーティションのJNDIリソースまたはドメインのJNDIリソースにはアクセスできない。
一実施形態に従うと、システムは、パーティションルートネーミングノードのコレクションを維持することによってJNDIリソースを分離することができ、各パーティションルートネーミングノードはパーティションネームスペース(たとえばパーティションAネームスペース935およびパーティションBネームスペース937)と関連付けられている。
一実施形態に従うと、パーティションネームスペース(たとえばパーティションレベルのJNDIツリー)内の各ノードを、パーティションに特有の1つ以上の値にバインドすることによってパーティション認識型にすることができる。同じJNDI名を、異なるパーティションについての異なるネームスペースにバインドすることができる。
たとえば、同じJNDIリソース(たとえばセッションリソース)を、パーティションAネームスペース、パーティションBネームスペース、およびグローバルネームスペース920にバインドすることができる。当該リソースについてのJNDIルックアップを、パーティションAまたはパーティションB内にデプロイされるアプリケーションから受信することができる。パーティションA内にデプロイされるアプリケーションについて、セッション945を戻すことができる。パーティションB内にデプロイされるアプリケーションについて、セッション955を戻すことができる。
一実施形態に従うと、JNDIリソースがパーティションのネームスペースにバインドされない場合、当該パーティション内にデプロイされるアプリケーションから受信されるリソースルックアップは、たとえばNameNotFoundExceptionなどのエラーを生成し得る。
図9にさらに示されるように、グローバルネームスペース920はドメインルートノード930、および複数のリソースノードを含むことができる。グローバルJNDIツリー内のノードはパーティション認識型ではなく、すなわち、それらはパーティション特有の情報にバインドされない。
一実施形態に従うと、パーティション認識型ネーミングノードおよびパーティション非認識型ノードは同じJNDI名(たとえば、グローバルネームスペース内のセッションノード975およびパーティションAネームスペース内のセッションノード945)を有し得るが、それらは異なるリソースを戻すことができる。
したがって、パーティション認識型ノードは向上したルックアップ/バインド/リバインド/アンバインド機能を提供し、マルチテナントアプリケーションサーバ環境の要件を満たす。
本発明は、1つ以上のプロセッサ、メモリ、および/または本開示の教示に従いプログラムされたコンピュータ読取可能な記憶媒体を含む、1つ以上の従来の汎用もしくは専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを用いて、適宜実現され得る。適切なソフトウェアコーディングは、本開示の教示に基づいて熟練したプログラマによって容易に準備され得る。これはソフトウェア技術の当業者には明らかであろう。
いくつかの実施形態において、本発明は、本発明の処理のいずれかを実行するようコンピュータをプログラムするのに用いられ得る命令が格納された非一時的な記憶媒体またはコンピュータ読取可能な媒体であるコンピュータプログラムプロダクトを含む。当該記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ素子、磁気もしくは光学カード、ナノシステム(分子メモリICを含む)、または命令および/もしくはデータを格納するのに好適な任意のタイプの媒体もしくは装置を含み得るが、これらに限定されない。
本発明の上記の記載は、例示および説明目的で与えられている。網羅的であることまたは開示されたそのものの形態に本発明を限定することを意図したものではない。当業者にとっては、多くの修正および変形が明確であろう。上記の実施形態は、本発明の原理およびその実際的な適用をもっともよく説明するために選択および記載されたものであり、これにより他の当業者が、特定の使用に好適なさまざまな修正を考慮して、さまざまな実施形態について本発明を理解するのが可能になる。本発明の範囲は、添付の特許請求の範囲およびそれらの均等物によって定義されることが意図される。

Claims (22)

  1. アプリケーションサーバ環境で複数のJavaネーミングおよびディレクトリインターフェイス(JNDI)ツリーをサポートするためのシステムであって、
    1つ以上のコンピュータを備え、各コンピュータは1つ以上のマイクロプロセッサを含み、前記システムはさらに、
    前記コンピュータ上のアプリケーションサーバ環境を備え、前記アプリケーションサーバ環境は、複数のパーティションを有するドメインと、パーティションルートネーミングノードのコレクションを維持するグローバルJNDIツリーとを含み、各パーティションネーミングノードはパーティションJNDIツリーと関連付けられており、
    前記システムは、特定のパーティション内のリソースにアクセスする要求をアプリケーションから受信すると、
    前記特定のパーティションと関連付けられた最初のJNDIコンテキストを作成し、
    前記アプリケーションからのJNDIオペレーションを前記特定のパーティションと関連付けられたJNDIツリーに委譲するように動作する、システム。
  2. 前記システムはさらに、前記要求からの情報と、前記パーティションルートネーミングノードのコレクションとを調べて、前記パーティションJNDIツリーを識別するように動作する、請求項1に記載のシステム。
  3. 前記要求からの情報は、前記特定のパーティションについての情報を指定するプロバイダURLを含む、請求項1または2に記載のシステム。
  4. パーティション内にデプロイされるリソースは、関連付けられたパーティションJNDIツリーにバインドされ、関連付けられた前記JNDIツリー内の各ノードはパーティション認識型である、請求項1から3のいずれか1項に記載のシステム。
  5. 前記最初のコンテキストは、一旦作成されると、1つ以上の他のアプリケーションによって再利用されるためにコンテキストオブジェクトとして維持され、前記アプリケーションからのJNDIオペレーションは、前記コンテキストオブジェクトと関連付けられた前記パーティションに向けられる、請求項1から4のいずれか1項に記載のシステム。
  6. 前記コンテキストオブジェクトと前記パーティションとの関連付けは、前記コンテキストオブジェクトを前記パーティションのネームスペースと関連付けることによって維持される、請求項5項に記載のシステム。
  7. 複数のコールバック機能が前記JNDIのサブシステム内に提供されて、前記JNDIオペレーションを前記パーティションのコンポーネント呼出しコンテキストにおいて処理することを可能にする、請求項1から6のいずれか1項に記載のシステム。
  8. アプリケーションサーバ環境で複数のJavaネーミングおよびディレクトリインターフェイス(JNDI)ツリーをサポートするための方法であって、
    アプリケーションサーバ環境でドメインを提供することを備え、前記ドメインは、複数のパーティションと、パーティションルートネーミングノードのコレクションを維持するグローバルJNDIツリーとを含み、各パーティションルートネーミングノードは、パーティションに特有のパーティションJNDIツリーと関連付けられており、前記方法はさらに、
    特定のパーティション内のリソースにアクセスする要求をアプリケーションから受信することと、
    前記特定のパーティションと関連付けられた最初のJNDIコンテキストを作成することと、
    前記アプリケーションからのJNDIオペレーションを前記特定のパーティションと関連付けられたJNDIツリーに委譲することとを備える、方法。
  9. 前記システムはさらに、前記要求からの情報と、前記パーティションルートネーミングノードのコレクションとを調べて、前記パーティションJNDIツリーを識別するように動作する、請求項8に記載の方法。
  10. 前記要求からの情報は、前記特定のパーティションについての情報を指定するプロバイダURLを含む、請求項8または9に記載の方法。
  11. パーティション内にデプロイされるリソースは、関連付けられたパーティションJNDIツリーにバインドされ、関連付けられた前記JNDIツリー内の各ノードはパーティション認識型である、請求項8から10のいずれか1項に記載の方法。
  12. 前記最初のコンテキストは、一旦作成されると、1つ以上の他のアプリケーションによって再利用されるためにコンテキストオブジェクトとして維持され、前記アプリケーションからのJNDIオペレーションは、前記コンテキストオブジェクトと関連付けられた前記パーティションに向けられる、請求項8から11のいずれか1項に記載の方法。
  13. 前記コンテキストオブジェクトと前記パーティションとの関連付けは、前記コンテキストオブジェクトを前記パーティションのネームスペースと関連付けることによって維持される、請求項12に記載の方法。
  14. 複数のコールバック機能が前記JNDIのサブシステム内に提供されて、前記JNDIオペレーションを前記パーティションのコンポーネント呼出しコンテキストにおいて処理することを可能にする、請求項8から13のいずれか1項に記載の方法。
  15. 機械読取可能なフォーマットの命令を備えるコンピュータプログラムであって、前記命令は、コンピュータシステムによって実行されると、前記コンピュータシステムに請求項8から14のいずれか1項に記載の方法を実行させる、コンピュータプログラム。
  16. 非一時的な機械読取可能なデータ記憶媒体に格納された請求項15に記載のコンピュータプログラムを備える、コンピュータプログラムプロダクト。
  17. 命令が格納された非一時的なコンピュータ読取可能な記憶媒体であって、前記命令は、1つ以上のコンピュータによって読取られて実行されると、前記1つ以上のコンピュータにステップを実行させ、前記ステップは、
    アプリケーションサーバ環境でドメインを提供することを備え、前記ドメインは、複数のパーティションと、パーティションルートネーミングノードのコレクションを維持するグローバルJNDIツリーとを含み、各パーティションルートネーミングノードは、パーティションに特有のパーティションJNDIツリーと関連付けられており、前記ステップはさらに、
    特定のパーティション内のリソースにアクセスする要求をアプリケーションから受信することと、
    前記特定のパーティションと関連付けられた最初のJNDIコンテキストを作成することと、
    前記アプリケーションからのJNDIオペレーションを前記特定のパーティションと関連付けられたJNDIツリーに委譲することとを備える、記憶媒体。
  18. 前記システムはさらに、前記要求からの情報と、前記パーティションルートネーミングノードのコレクションとを調べて、前記パーティションJNDIツリーを識別するように動作する、請求項17に記載の非一時的なコンピュータ読取可能な記憶媒体。
  19. 前記要求からの情報は、前記特定のパーティションについての情報を指定するプロバイダURLを含む、請求項17または18に記載の非一時的なコンピュータ読取可能な記憶媒体。
  20. パーティション内にデプロイされるリソースは、関連付けられたパーティションJNDIツリーにバインドされ、関連付けられた前記JNDIツリー内の各ノードはパーティション認識型である、請求項17から19に記載の非一時的なコンピュータ読取可能な記憶媒体。
  21. 前記最初のコンテキストは、一旦作成されると、1つ以上の他のアプリケーションによって再利用されるためにコンテキストオブジェクトとして維持され、前記アプリケーションからのJNDIオペレーションは、前記コンテキストオブジェクトと関連付けられた前記パーティションに向けられる、請求項17から20に記載の非一時的なコンピュータ読取可能な記憶媒体。
  22. 前記コンテキストオブジェクトと前記パーティションとの関連付けは、前記コンテキストオブジェクトを前記パーティションのネームスペースと関連付けることによって維持される、請求項21に記載の非一時的なコンピュータ読取可能な記憶媒体。
JP2017502147A 2014-07-14 2015-07-14 マルチテナントアプリケーションサーバ環境でネームスペースをサポートするためのシステムおよび方法 Active JP6505823B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462024364P 2014-07-14 2014-07-14
US62/024,364 2014-07-14
PCT/US2015/040407 WO2016011051A1 (en) 2014-07-14 2015-07-14 System and method for supporting namespaces in a multitenant application server environment

Publications (3)

Publication Number Publication Date
JP2017520861A true JP2017520861A (ja) 2017-07-27
JP2017520861A5 JP2017520861A5 (ja) 2018-04-19
JP6505823B2 JP6505823B2 (ja) 2019-04-24

Family

ID=53761555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017502147A Active JP6505823B2 (ja) 2014-07-14 2015-07-14 マルチテナントアプリケーションサーバ環境でネームスペースをサポートするためのシステムおよび方法

Country Status (6)

Country Link
US (1) US9906601B2 (ja)
EP (1) EP3170078A1 (ja)
JP (1) JP6505823B2 (ja)
KR (1) KR102449753B1 (ja)
CN (1) CN106575242B (ja)
WO (1) WO2016011051A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10187454B2 (en) 2014-01-21 2019-01-22 Oracle International Corporation System and method for dynamic clustered JMS in an application server environment
US10474998B2 (en) 2014-01-21 2019-11-12 Oracle International Corporation System and method for messaging in a multitenant application server environment
US10476938B2 (en) 2014-01-21 2019-11-12 Oracle International Corporation System and method for multitenancy store in a multitenant application server environment
US10103946B2 (en) 2014-01-21 2018-10-16 Oracle International Corporation System and method for JMS integration in a multitenant application server environment
US9961011B2 (en) 2014-01-21 2018-05-01 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US9661064B2 (en) * 2014-01-24 2017-05-23 Ca, Inc. Systems and methods for deploying legacy software in the cloud
US10027550B2 (en) 2014-06-23 2018-07-17 Oracle International Corporation System and method for multitenant-aware console for use in a multitenant application server environment
US10873627B2 (en) 2014-06-23 2020-12-22 Oracle International Corporation System and method for supporting use of an in-memory data grid with a multitenant application server environment
US10462068B2 (en) 2014-09-25 2019-10-29 Oracle International Corporation System and method for tenant onboarding in a multitenant application server environment
US10348565B2 (en) 2014-09-25 2019-07-09 Oracle International Corporation System and method for rule-based elasticity in a multitenant application server environment
US10382537B2 (en) 2014-09-25 2019-08-13 Oracle International Corporation System and method for use of a global runtime in a multitenant application server environment
US9747137B2 (en) 2014-09-25 2017-08-29 Oracle International Corporation System and method for providing a partition file system in a multitenant application server environment
US10050903B2 (en) 2014-09-26 2018-08-14 Oracle International Corporation System and method for multi-tenancy enablement of enterprise JAVA (TM) applications using resource proxies and application tenancy context
US10091135B2 (en) 2014-09-26 2018-10-02 Oracle International Corporation System and method for multi-tenancy enablement of enterprise java applications using resource proxies and application tenancy context
EP3198426B1 (en) * 2014-09-26 2023-08-30 Oracle International Corporation System and method for transaction recovery in a multitenant application server environment
US11057272B2 (en) 2014-09-26 2021-07-06 Oracle International Corporation System and method for transactions in a multitenant application server environment
JP2016085641A (ja) * 2014-10-27 2016-05-19 キヤノン株式会社 権限移譲システム、権限移譲システムにて実行される方法、およびそのプログラム
US10250512B2 (en) 2015-01-21 2019-04-02 Oracle International Corporation System and method for traffic director support in a multitenant application server environment
EP4250600A3 (en) * 2015-04-10 2023-11-29 Mitsubishi Electric Corporation Communication system
US11075799B2 (en) 2017-08-24 2021-07-27 Oracle International Corporation System and method for provisioning in a multi-tenant application server environment
US11416235B2 (en) 2017-09-28 2022-08-16 Oracle International Corporation System and method for managed server independence for deployment of software applications and libraries
CN110163002B (zh) * 2019-05-29 2023-06-13 上海有谱网络科技有限公司 一种SaaS软件租户数据隔离的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09171465A (ja) * 1995-07-05 1997-06-30 Sun Microsyst Inc 異なる命名サービス・プロバイダが動的に命名フェデレーションに接合することを可能とするシステムおよび方法
US6061743A (en) * 1998-02-19 2000-05-09 Novell, Inc. Method and apparatus for aggregating disparate namespaces
US20030074484A1 (en) * 2001-10-11 2003-04-17 International Business Machines Corporation Legacy corba name space integration using web application servers
JP2004110624A (ja) * 2002-09-20 2004-04-08 Fuji Xerox Co Ltd 計算機リソース管理装置および方法
US20080005305A1 (en) * 2006-06-30 2008-01-03 Dell Products L.P. Method and apparatus for providing a consolidated namespace to client applications in multi-tenant common information model (CIM) environments
US20130227563A1 (en) * 2012-02-29 2013-08-29 Michael P. McGrath Mechanism for Creating and Maintaining Multi-Tenant Applications in a Platform-as-a-Service (PaaS) Environment of a Cloud Computing System

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6834284B2 (en) * 1999-08-12 2004-12-21 International Business Machines Corporation Process and system for providing name service scoping behavior in java object-oriented environment
US9087319B2 (en) * 2002-03-11 2015-07-21 Oracle America, Inc. System and method for designing, developing and implementing internet service provider architectures
US7603359B2 (en) * 2006-01-17 2009-10-13 International Business Machines Corporation Method and apparatus for maintaining federated name context bindings in a name space
CN102170457A (zh) 2010-02-26 2011-08-31 国际商业机器公司 向应用的多租户提供服务的方法和装置
US8775626B2 (en) 2010-09-17 2014-07-08 Microsoft Corporation Using templates to configure cloud resources
KR20120045586A (ko) 2010-10-29 2012-05-09 한국전자통신연구원 다중 테넌트용 SaaS 애플리케이션 설정 장치 및 방법
CN102571427B (zh) * 2010-12-31 2016-09-28 上海可鲁系统软件有限公司 一种分布式系统中cim资源命名及解析方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09171465A (ja) * 1995-07-05 1997-06-30 Sun Microsyst Inc 異なる命名サービス・プロバイダが動的に命名フェデレーションに接合することを可能とするシステムおよび方法
US6061743A (en) * 1998-02-19 2000-05-09 Novell, Inc. Method and apparatus for aggregating disparate namespaces
US20030074484A1 (en) * 2001-10-11 2003-04-17 International Business Machines Corporation Legacy corba name space integration using web application servers
JP2004110624A (ja) * 2002-09-20 2004-04-08 Fuji Xerox Co Ltd 計算機リソース管理装置および方法
US20080005305A1 (en) * 2006-06-30 2008-01-03 Dell Products L.P. Method and apparatus for providing a consolidated namespace to client applications in multi-tenant common information model (CIM) environments
US20130227563A1 (en) * 2012-02-29 2013-08-29 Michael P. McGrath Mechanism for Creating and Maintaining Multi-Tenant Applications in a Platform-as-a-Service (PaaS) Environment of a Cloud Computing System

Also Published As

Publication number Publication date
WO2016011051A1 (en) 2016-01-21
US20160014212A1 (en) 2016-01-14
US9906601B2 (en) 2018-02-27
JP6505823B2 (ja) 2019-04-24
CN106575242B (zh) 2020-12-18
EP3170078A1 (en) 2017-05-24
KR20170033350A (ko) 2017-03-24
KR102449753B1 (ko) 2022-09-30
CN106575242A (zh) 2017-04-19

Similar Documents

Publication Publication Date Title
JP6505823B2 (ja) マルチテナントアプリケーションサーバ環境でネームスペースをサポートするためのシステムおよび方法
JP6876836B2 (ja) マルチテナントアプリケーションサーバ環境においてパーティションをサポートするためのシステムおよび方法
US10027716B2 (en) System and method for supporting web services in a multitenant application server environment
US10084843B2 (en) System and method for web container partitions in a multitenant application server environment
US9973384B2 (en) System and method for enterprise java bean support in a multitenant application server environment
US9930129B2 (en) System and method for java EE and java SE proxy data sources in a multitenant application server environment
US9967324B2 (en) System and method for providing data sources for use in a multitenant application server environment
US10051043B2 (en) System and method for JMX support in a multitenant application server environment
CN107077383B (zh) 用于在多租户应用服务器环境中确定分区标识符的系统和方法
US10103946B2 (en) System and method for JMS integration in a multitenant application server environment
US10356161B2 (en) System and method for classloading in a multitenant application server environment
US10474998B2 (en) System and method for messaging in a multitenant application server environment
US20150373117A1 (en) System and method for supporting use of an in-memory data grid with a multitenant application server environment
US20150372936A1 (en) System and method for supporting configuration of dynamic clusters in a multitenant application server environment
JP6574794B2 (ja) マルチテナントアプリケーションサーバ環境におけるポータブルパーティションのためのシステムおよび方法
KR20180072593A (ko) 멀티테넌트 미들웨어 어플리케이션에서 호출된 os 프로그램의 멀티테넌트 실행을 위한 시스템 및 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180307

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190327

R150 Certificate of patent or registration of utility model

Ref document number: 6505823

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250