JP6852424B2 - アプリケーションサーバ、その方法及びプログラム - Google Patents

アプリケーションサーバ、その方法及びプログラム Download PDF

Info

Publication number
JP6852424B2
JP6852424B2 JP2017018320A JP2017018320A JP6852424B2 JP 6852424 B2 JP6852424 B2 JP 6852424B2 JP 2017018320 A JP2017018320 A JP 2017018320A JP 2017018320 A JP2017018320 A JP 2017018320A JP 6852424 B2 JP6852424 B2 JP 6852424B2
Authority
JP
Japan
Prior art keywords
uri
application server
mbean
http
web api
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.)
Active
Application number
JP2017018320A
Other languages
English (en)
Other versions
JP2018124894A (ja
Inventor
悠太 高雄
悠太 高雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2017018320A priority Critical patent/JP6852424B2/ja
Publication of JP2018124894A publication Critical patent/JP2018124894A/ja
Application granted granted Critical
Publication of JP6852424B2 publication Critical patent/JP6852424B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

本発明は、アプリケーションサーバ、その方法及びプログラムに関し、特に、JMX(登録商標)フレームワークを用いるアプリケーションサーバ、その方法及びプログラムに関する。
クライアントサーバモデルのシステムにおいて、大規模ユーザ向けにシステムを構築する場合に、Java(登録商標)EE(Java Platform, Enterprise Edition)の仕様に則ったJavaプログラムにてサーバを構築する手法が知られている。このJava EEの仕様に則ったサーバは、サーバ上でユーザが作成した任意のアプリケーションを動作させるものであり、一般にアプリケーションサーバと呼称される。
アプリケーションサーバは、アプリケーションを動作させるための機能群を保持し、その機能群は、その機能独自の操作や設定値を保持する。これらの操作や設定は、アプリケーションサーバの運用者(管理・監視を主体業務とする人)によって実行又は変更される。具体的には、アプリケーションサーバの運用者は、アプリケーションサーバにより用意された運用管理機能を備えたクライアントマシンを利用し、アプリケーションサーバに対して設定の変更を行う。
また、機能独自の操作や設定が、JMX(Java Management Extensions)と呼ばれるフレームワーク上で管理される環境が知られている。特許文献1には、JMXクライアントによってMBean(Managed Bean)を動的に変更するための技術が開示されている。
特許第5843128号公報
しかし、特許文献1に開示されている技術では、クライアントマシンは、JMXフレームワークにより定義される機能を有することが求められる。JMXフレームワークにより定義される機能は、Javaにより提供される機能である。このため、JMXフレームワークを使用するためには、クライアントマシンにJavaライブラリをインストールし、そのライブラリを利用するクライアントマシンを作成する必要があるという問題があった。
また、特許文献1に開示されている技術では、クライアントマシンとサーバとの間の通信について、JMXフレームワークが定めるRMI(Remote Method Invocation)プロトコルによる通信を実現する必要がある。ここで使用するRMIプロトコルは、指定したポートとは別に一次ポートを開放し、その一時的に開放したポート番号に対して通信を行うという特性を有する。このため、クライアントマシンとサーバとの間でNAPT(Network Address and Port Translation)のネットワークを構成している場合、設定時に考慮する必要があるという問題があった。
本発明は、このような問題点を解決するためになされたものであり、Javaライブラリを有さないクライアントマシンに対して、RMIプロトコルによる通信を必要とせずにJMXフレームワークを使用可能にすることができるアプリケーションサーバ、その方法及びプログラムを提供することを目的とする。
本発明の第1の態様では、アプリケーションサーバは、アプリケーションサーバにより提供される機能群と、JMX(Java Management Extensions)フレームワークと、Web API(Application Program Interface)構築装置と、を備え、前記JMXフレームワークは、前記機能群に関するMBean(Managed Bean)を格納するMBeanサーバと、前記機能群に関するWeb API向け拡張メタ情報を前記MBeanサーバに登録して管理するMBean拡張管理装置と、を備え、前記Web API構築装置は、前記MBeanサーバに登録されている前記Web API向け拡張メタ情報に基づいて、前記機能群に関するURI(Uniform Resource Identifier)を構築し、構築された前記URIをクライアントマシンへ提供するものである。
本発明の第2の態様では、アプリケーションサーバにおける方法は、前記アプリケーションサーバにより提供される機能群に関するWeb API(Application Program Interface)向け拡張メタ情報をMBean(Managed Bean)サーバに登録し、前記MBeanサーバに登録されている前記Web API向け拡張メタ情報に基づいて、前記機能群に関するURI(Uniform Resource Identifier)を構築し、構築された前記URIをクライアントマシンへ提供するものである。
本発明の第3の態様では、アプリケーションサーバにおける方法をコンピュータに行わせるためのプログラムは、前記方法は、前記アプリケーションサーバにより提供される機能群に関するWeb API(Application Program Interface)向け拡張メタ情報をMBean(Managed Bean)サーバに登録し、前記MBeanサーバに登録されている前記Web API向け拡張メタ情報に基づいて、前記機能群に関するURI(Uniform Resource Identifier)を構築し、構築された前記URIをクライアントマシンへ提供すること、を備えるものである。
本発明により、Javaライブラリを有さないクライアントマシンに対して、RMIプロトコルによる通信を必要とせずにJMXフレームワークを使用可能にすることができるアプリケーションサーバ、その方法及びプログラムを提供することができる。
本発明の実施の形態1にかかるクライアントサーバモデルのシステムの構成例を示すブロック図である。 本発明の実施の形態1にかかるアプリケーションサーバの構成例を示すブロック図である。 本発明の実施の形態1にかかるアプリケーションサーバの処理例を示すフローチャートである。 本発明の実施の形態2にかかるアプリケーションサーバの構成例を示すブロック図である。 本発明の実施の形態2にかかるHTTPメソッドの種別及びWeb APIとして表示するための階層構造データの例を示す図である。 本発明の実施の形態2にかかる設定を更新するためのURI及び操作を行うためのURIの例を示す図である。 本発明の実施の形態2にかかるHTTPリクエストにおけるURIの種類を示す図である。 本発明の実施の形態2にかかるHTTPリクエストにおけるエンティティボディの形式の例を示す図である。 本発明の実施の形態2にかかる返却用データの全体イメージの例を示す図である。 本発明の実施の形態2にかかる図9のattributiesの詳細例を示す図である。 本発明の実施の形態2にかかる図9のoperationsの詳細例を示す図である。 本発明の実施の形態2にかかる図9のchildResourcesの詳細例を示す図である。 本発明の実施の形態2にかかるWeb API構築装置による運用操作の処理例を示すフローチャートである。 本発明の実施の形態2にかかるWeb API構築装置による運用操作の処理例を示すフローチャートである。 本発明の実施の形態2にかかるWeb API構築装置による運用操作の処理例を示すフローチャートである。 本発明の実施の形態3にかかるアプリケーションサーバの構成例を示すブロック図である。
以下では、本発明の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
実施の形態1
まず、図1のブロック図を用いて、本発明の実施の形態1にかかるクライアントサーバモデルのシステムの構成例について説明する。本実施の形態1にかかるクライアントサーバモデルのシステムは、アプリケーションサーバ1と、クライアントマシン2と、クライアントマシン3と、を備えている。
クライアントマシン2は、JMXクライアント4を備えている。すなわち、クライアントマシン2は、Javaライブラリを有するクライアントである。JMXクライアント4は、RMIプロトコルによりアプリケーションサーバ1との通信を行う。
クライアントマシン3は、HTTP(Hypertext Transfer Protocol)クライアント5を備えている。ここで、クライアントマシン3は、Javaライブラリを有さないクライアントであるとする。HTTPクライアント5は、HTTPによりアプリケーションサーバ1との通信を行う。
続いて、図2のブロック図を用いて、本実施の形態1にかかるアプリケーションサーバ1の構成例について説明する。アプリケーションサーバ1は、機能群100と、JMXフレームワーク200と、Web API(Application Program Interface)構築装置300と、を備えている。
機能群100は、アプリケーションサーバ1により提供される機能群である。機能群100は、その機能が起動する際にJMXフレームワーク200に対して、起動される機能に関する登録要求を行う。
JMXフレームワーク200は、MBean拡張管理装置210と、MBeanサーバ220と、を備えている。なお、JMXフレームワーク200は、RMIプロトコルによりJMXクライアント4との通信を行うことができる。
MBeanサーバ220は、機能群100に関するMBeanを格納するサーバである。
MBean拡張管理装置210は、機能群100から登録要求されると、登録要求された機能に関するWeb API向け拡張メタ情報を、MBeanサーバ220に登録して管理する。
Web API構築装置300は、MBeanサーバ220に登録されているWeb API向け拡張メタ情報に基づいて、機能群100に関するURI(Uniform Resource Identifier)を構築する。また、Web API構築装置300は、構築されたURIをクライアントマシン3のHTTPクライアント5へ提供する。
続いて、図3のフローチャートを用いて、本実施の形態1にかかるアプリケーションサーバ1の処理例について説明する。
まず、MBean拡張管理装置210は、機能群100に関するWeb API向け拡張メタ情報を、MBeanサーバ220に登録する(ステップS101)。
次に、Web API構築装置300は、MBeanサーバ220に登録されているWeb API向け拡張メタ情報に基づいて、機能群100に関するURIを構築する(ステップS102)。
次に、Web API構築装置300は、構築されたURIをクライアントマシン3のHTTPクライアント5へ提供する(ステップS103)。
以上のように、本発明の実施の形態1にかかるアプリケーションサーバ1では、MBean拡張管理装置210により、機能群100に関するWeb API向け拡張メタ情報をMBeanサーバ220に登録して管理する構成としている。また、アプリケーションサーバ1では、Web API構築装置300により、MBeanサーバ220に登録されているWeb API向け拡張メタ情報に基づいて、機能群100に関するURIを構築する構成としている。さらに、アプリケーションサーバ1では、Web API構築装置300により、構築されたURIをクライアントマシン3のHTTPクライアント5へ提供する構成としている。これにより、アプリケーションサーバ1では、JMXフレームワーク200における機能に関するURIをクライアントマシン3へ提供することができる。すなわち、アプリケーションサーバ1では、Javaライブラリを有さないクライアントマシン3に対して、RMIプロトコルによる通信を必要とせずにJMXフレームワーク200を使用可能にすることができる。
実施の形態2
続いて、図4のブロック図を用いて、本発明の実施の形態2にかかるアプリケーションサーバ1Aの構成例について説明する。本実施の形態2にかかるアプリケーションサーバ1Aは、実施の形態1にかかるアプリケーションサーバ1の具体例である。アプリケーションサーバ1Aは、機能群100Aと、JMXフレームワーク200Aと、Web API構築装置300Aと、を備えている。
機能群100Aは、アプリケーションサーバ1Aにより提供される機能群である。機能群100Aは、その機能が起動する際にJMXフレームワーク200Aに対して、起動される機能の設定及び操作の登録要求を行う。
JMXフレームワーク200Aは、MBean拡張管理装置210Aと、MBeanサーバ220Aと、MBeanサーバ認証装置230と、JMXクライアント接続装置240と、を備えている。
MBean拡張管理装置210Aは、MBeanInfo拡張部211と、MBeanサーバ管理装置212と、を備えている。また、MBeanサーバ220Aは、管理対象として複数のMBean221を備えている。また、MBean221は、設定222と、MBeanInfo223と、操作225と、MBeanInfo226と、を備えている。ここで、MBeanInfoとは、MBean221の設定、操作等の情報を定義したオブジェクトである。なお、MBeanInfo223は、設定222についてのMBeanInfoであり、MBeanInfo226は、操作225についてのMBeanInfoである。
MBeanInfo拡張部211は、JMXの管理情報を拡張する機能部である。MBean拡張管理装置210Aは、機能群100から登録要求されると、MBeanInfo拡張部211により、登録要求された機能に関する設定222及び操作225に対してWeb API向け拡張メタ情報を登録する。すなわち、MBeanInfo拡張部211は、設定222に関連付けられたWeb API向け拡張メタ情報224をMBeanInfo223の中に登録し、操作225に関連付けられたWeb API向け拡張メタ情報227をMBeanInfo226の中に登録する。
具体的には、MBeanInfo拡張部211は、HTTPメソッドの種別と、Web APIとして表示するための階層構造データとを、MBeanInfoとして構築する。ここで、HTTPメソッドの種別は、GET、PUT、POST、及びDELETEを含む。
MBeanInfo拡張部211は、構築された情報をWeb API向け拡張メタ情報として、MBeanInfo223及びMBeanInfo226に登録する。例えば、図5に示すように、HTTPメソッドの種別を、method=GET、method=PUT等のように登録する。また、Web APIとして表示するための階層構造データを、class=domain/services/serviceX/attributeA、class=domain/services/serviceX/operationA等のように登録する。
MBeanサーバ管理装置212は、MBeanサーバ220Aの管理を行う。具体的には、MBeanサーバ管理装置212は、MBeanInfo223及びMBeanInfo226等の管理を行う。
MBeanサーバ認証装置230は、Web API実行時に認証を行う。また、JMXクライアント接続装置240は、RMIプロトコルによりJMXクライアント4との通信を行う。
Web API構築装置300Aは、URI提供部301と、URI/HTTPメソッド構築部302と、MBeanInfo解析部303と、を備えている。
URI/HTTPメソッド構築部302は、MBean221を解析し、MBeanサーバ220Aの設定222及び操作225に関連付けられたWeb API向け拡張メタ情報224及び227を解析する。また、URI/HTTPメソッド構築部302は、Web API向け拡張メタ情報224及び227の解析結果を用いて、設定を更新するためのURI及び操作を行うためのURIを構築する。例えば、図6に示すように、設定についてのclassが、domain/services/serviceX/attributeAである場合に、設定を更新するためのURIを、http://localhost/domain/services/serviceX/attributeAとして構築する。また、操作についてのclassが、domain/services/serviceX/operationAである場合に、操作を行うためのURIを、http://localhost/domain/services/serviceX/operationAとして構築する。そして、URI/HTTPメソッド構築部302は、設定を更新するためのURI及び操作を行うためのURIをURI提供部301へ出力する。
URI提供部301は、受け取った設定を更新するためのURI及び操作を行うためのURIをクライアントマシン3のHTTPクライアント5へ提供する。これにより、HTTPクライアント5は、提供されたURIにアクセスすることによって、提供されたURIが何を提供するものであるのかを判断することができる。そして、HTTPクライアント5は、HTTPリクエストにより、設定更新及び操作を行うことが可能になる。
また、URI提供部301は、クライアントマシン3のHTTPクライアント5からHTTPリクエストを受信する。また、URI提供部301は、HTTPリクエストにおけるHTTPメソッドの解析を行い、HTTPメソッドが適切であるか否かを判断する。具体的には、HTTPメソッドが、規定されているGET、PUT、POST、及びDELETEのいずれかである場合には、HTTPメソッドが適切であると判断し、それ以外の場合には、HTTPメソッドは適切でないと判断する。
URI提供部301は、HTTPメソッドが適切でない場合に、リクエストされた内容が適切でないことをクライアントマシン3のHTTPクライアント5へ通知する。
HTTPメソッドが適切である場合に、URI/HTTPメソッド構築部302は、HTTPリクエストにおけるURIの解析を行う。なお、HTTPリクエストにおけるURIとしては、図7に示すように、設定を更新するためのURI、操作を行うためのURI、及び、設定も操作も存在しない中間階層を示すURIが存在し得る。
また、URI/HTTPメソッド構築部302は、解析されたURIに基づいて、HTTPリクエストによってリクエストされた処理を実行する。具体的には、URI/HTTPメソッド構築部302は、HTTPリクエストにおけるURIが、設定を更新するためのURI又は操作を行うためのURIである場合に、そのURIを用いて設定又は操作の内容を確認し、リクエストされた処理を実行する。これにより、HTTPクライアント5からリクエストされた処理を実行することができる。
なお、URI/HTTPメソッド構築部302は、HTTPリクエストにおけるURIが、設定を更新するためのURI又は操作を行うためのURIである場合に、HTTPリクエストにおけるエンティティボディを確認するようにしてもよい。
具体的には、URI/HTTPメソッド構築部302は、HTTPリクエストにおけるURIが、設定を更新するためのURI又は操作を行うためのURIである場合に、HTTPリクエストにおけるエンティティボディが存在するか否かを確認する。また、URI/HTTPメソッド構築部302は、エンティティボディが存在する場合に、エンティティボディの形式が、対象の設定値又は操作を受け付けられる正しい形式になっているか否かを確認する。また、URI/HTTPメソッド構築部302は、エンティティボディの形式が正しい場合に、リクエストされた処理を実行する。HTTPリクエストにおけるエンティティボディの形式の例を図8に示す。ここで、argsは、設定の更新値、及び操作を行うための引数を示す。
なお、URI/HTTPメソッド構築部302は、HTTPリクエストにおけるURIが、設定を更新するためのURI又は操作を行うためのURIでない場合、エンティティボディの形式が誤りである場合、又はリクエストされた処理が問題なく完了しない場合に、その旨をURI提供部301へ出力する。そして、URI提供部301は、リクエストされた内容が適切でないことをクライアントマシン3のHTTPクライアント5へ通知する。
URI/HTTPメソッド構築部302は、HTTPクライアント5によりリクエストされた処理が完了した場合に、MBeanInfo解析部303を呼び出す。
MBeanInfo解析部303は、HTTPリクエストにおけるURIに基づいて、返却用データを生成する。また、MBeanInfo解析部303は、生成された返却用データをURI提供部301へ出力する。そして、URI提供部301は、受け取った返却用データをクライアントマシン3のHTTPクライアント5へ送信する。
具体的には、MBeanInfo解析部303は、各MBean221にアクセスし、階層構造をMBeanInfoから取得し、リクエストされているURIに子階層が存在するか否かを確認する。また、MBeanInfo解析部303は、リクエストされているURIに子階層が存在する場合に、そのURIを基準とした子階層の情報を取得する。
また、MBeanInfo解析部303は、リクエストされているURIに操作が存在するか設定が存在するかの確認を行い、存在するのであればそれぞれの情報をMBeanInfoから取得する。
さらに、MBeanInfo解析部303は、取得された情報を結合して返却用データを生成して、生成された返却用データをURI提供部301へ出力する。そして、URI提供部301は、受け取った返却用データをクライアントマシン3のHTTPクライアント5へ送信する。これにより、HTTPクライアント5は、返却用データを受信することによって、URIの構造を把握することができる。なお、返却用データによって、表示される形態が階層化されることにより、設定及び操作の全体を機械的に確認することが可能となる。
ここで、返却用データについて、図9〜図12を用いて説明する。図9は、返却用データの全体イメージの例を示す図である。図9の例では、返却用データは、timestampと、statusと、messageと、descriptionと、requestと、elementsと、を含んでいる。ここで、timestampは、UNIX(登録商標)を示す。また、statusは、レスポンスコードを示す。また、messageは、エラー発生時に推奨するアクションを示す。また、descriptionは、リソースの説明を示す。また、requestは、リクエストされているリソース(URI)を示すresourceと、指定されているパラメータ等を示すparamsと、POST等のメソッドを示すmethodと、を含む。さらに、elementsは、attributiesと、operationsと、childResourcesと、を含む。
図10は、図9におけるattributiesの詳細例を示す図である。attributiesは、リクエストされているURIに存在する設定に関する情報を示す。図10の例では、attributiesは、resourceと、methodと、nameと、defaltと、descriptionと、typeと、valueと、maxValueと、minValueと、visibilityと、を含んでいる。ここで、resourceは、設定が存在するリソース(URI)名を示す。また、methodは、GET又はPUTを示す。また、nameは、設定名を示す。また、defaltは、設定値を示す。また、descriptionは、説明を示す。また、typeは、設定の型を示す。また、valueは、設定値を示す。また、maxValueは、最大値を示す。さらに、minValueは、最小値を示す。
図11は、図9におけるoperationsの詳細例を示す図である。operationsは、リクエストされているURIに存在する操作に関する情報を示す。図11の例では、operationsは、resourceと、methodと、nameと、argsと、returnTypeと、visibilityと、valueと、を含む。ここで、resourceは、操作が存在するリソース(URI)名を示す。また、methodは、POSTを示す。また、nameは、操作名を示す。また、argsは、引数の型を示すtype及び引数の説明を示すdescription等を含む。また、returnTypeは、返却結果の型を示す。さらに、valueは、返却値を示す。
図12は、図9におけるchildResourcesの詳細例を示す図である。childResourcesは、リクエストされているURIを基準とした子階層の情報を示す。図12の例では、childResourcesは、リクエストされているリソース(URI)配下に連なるリソース(URI)名を示す。
続いて、図13A〜図13Cのフローチャートを用いて、Web API構築装置300Aによる運用操作の処理例について説明する。なお、図13Aは、URI提供部301による処理例を示す図であり、図13Bは、URI/HTTPメソッド構築部302による処理例を示す図であり、図13Cは、MBeanInfo解析部303による処理例を示す図である。
まず、URI提供部301は、HTTPクライアント5からHTTPリクエストを受信する(ステップS201)。
次に、URI提供部301は、HTTPリクエストにおけるHTTPメソッドを解析する(ステップS202)。
次に、URI提供部301は、HTTPメソッドが適切か否かを判断する(ステップS203)。
HTTPメソッドが適切でない場合(ステップS203にてNO)、URI提供部301は、リクエストされた内容が適切でないことをHTTPクライアント5へ通知する(ステップS204)。
他方、HTTPメソッドが適切である場合(ステップS203にてYES)、URI/HTTPメソッド構築部302は、HTTPリクエストにおけるURIを解析する(ステップS301)。
次に、URI/HTTPメソッド構築部302は、解析されたURIに対応するclassがあるか否かを判断する(ステップS302)。
対応するclassがある場合(ステップS302にてYES)、URI/HTTPメソッド構築部302は、設定/操作内容を確認する(ステップS303)。
次に、URI/HTTPメソッド構築部302は、設定/操作内容が存在するか否かを判断する(ステップS304)。
設定/操作内容が存在する場合(ステップS304にてYES)、URI/HTTPメソッド構築部302は、エンティティボディが存在するか否かを確認する(ステップS305)。
エンティティボディが存在する場合(ステップS305にてYES)、URI/HTTPメソッド構築部302は、エンティティボディの形式を確認する(ステップS306)。次に、URI/HTTPメソッド構築部302は、エンティティボディの形式が正しいか否かを判断する(ステップS307)。エンティティボディの形式が正しい場合(ステップS307にてYES)、URI/HTTPメソッド構築部302は、リクエストされた処理を実行する(ステップS308)。
他方、エンティティボディが存在しない場合(ステップS305にてNO)、ステップS306及びステップS307をスキップして、ステップS308に進む。
次に、URI/HTTPメソッド構築部302は、リクエストされた処理が問題なく完了したか否かを判断する(ステップS309)。
リクエストされた処理が問題なく完了した場合(ステップS309にてYES)、URI/HTTPメソッド構築部302は、MBeanInfo解析部303を呼び出す(ステップS310)。
なお、ステップS302にてNOの場合、ステップS304にてNOの場合、ステップS307にてNOの場合、又はステップS309にてNOの場合には、URI提供部301は、リクエストされた内容が適切でないことをHTTPクライアント5へ通知する(ステップS204)。
MBeanInfo解析部303は、MBean221にアクセスして階層構造を取得する(ステップS401)。
次に、MBeanInfo解析部303は、リクエストされているURIに子階層が存在するか否かを判断する(ステップS402)。
子階層が存在する場合(ステップS402にてYES)、MBeanInfo解析部303は、リクエストされているURIを基準とした子階層の情報を取得する(ステップS403)。他方、子階層が存在しない場合(ステップS402にてNO)、ステップS403をスキップしてステップS404へ進む。
次に、MBeanInfo解析部303は、リクエストされているURIに操作が存在するか否かを判断する(ステップS404)。
操作が存在する場合(ステップS404にてYES)、MBeanInfo解析部303は、操作に関する情報を取得する(ステップS405)。他方、操作が存在しない場合(ステップS404にてNO)、ステップS405をスキップしてステップS406へ進む。
次に、MBeanInfo解析部303は、リクエストされているURIに設定が存在するか否かを判断する(ステップS406)。
設定が存在する場合(ステップS406にてYES)、MBeanInfo解析部303は、設定に関する情報を取得する(ステップS407)。他方、設定が存在しない場合(ステップS406にてNO)、ステップS407をスキップしてステップS408へ進む。
次に、MBeanInfo解析部303は、取得された情報を結合して返却用データを生成する(ステップS408)。
次に、URI提供部301は、生成された返却用データをHTTPクライアント5へ送信する(ステップS205)。
以上のように、本発明の実施の形態2にかかるアプリケーションサーバ1Aでは、機能群100Aにより、機能が起動する際に当該機能の設定及び操作の登録要求をMBeanInfo拡張部211に対して行う構成としている。また、アプリケーションサーバ1Aでは、MBeanInfo拡張部211により、MBean221を解析し、登録要求された機能の設定及び操作に関連付けられたWeb API向け拡張メタ情報をMBeanInfoに登録する構成としている。これにより、アプリケーションサーバ1Aでは、登録要求された機能の設定及び操作に関連付けられたWeb API向け拡張メタ情報の登録を行うことができる。
また、アプリケーションサーバ1Aでは、URI/HTTPメソッド構築部302により、MBeanサーバ220Aの設定222及び操作225に関連付けられたWeb API向け拡張メタ情報を解析し、設定を更新するためのURI及び操作を行うためのURIを構築する構成としている。また、アプリケーションサーバ1Aでは、URI提供部301により、設定を更新するためのURI及び操作を行うためのURIをクライアントマシン3へ提供する構成としている。これにより、アプリケーションサーバ1Aでは、設定を更新するためのURI及び操作を行うためのURIをクライアントマシン3へ提供することができる。そして、クライアントマシン3は、提供されたURIにアクセスすることによって、提供されたURIが何を提供するものであるのかを判断することができ、HTTPリクエストにより、設定更新及び操作を行うことが可能になる。
また、アプリケーションサーバ1Aでは、URI提供部301により、クライアントマシン3からのHTTPリクエストにおけるHTTPメソッドの解析を行い、HTTPメソッドが適切であるか否かを判断する構成としている。また、アプリケーションサーバ1Aでは、URI/HTTPメソッド構築部302により、HTTPメソッドが適切である場合に、HTTPリクエストにおけるURIの解析を行い、解析されたURIに基づいて、HTTPリクエストによってリクエストされた処理を実行する構成としている。これにより、アプリケーションサーバ1Aでは、クライアントマシン3からHTTPリクエストによってリクエストされた処理を実行することができる。
また、アプリケーションサーバ1Aでは、MBeanInfo解析部303により、HTTPリクエストにおけるURIに基づいて、返却用データを生成する構成としている。また、アプリケーションサーバ1Aでは、URI提供部301により、返却用データをクライアントマシン3へ送信する構成としている。これにより、アプリケーションサーバ1Aでは、返却用データをクライアントマシン3へ返却することができる。このため、HTTPクライアント5は、返却用データを受信することによって、URIの構造を把握することができる。
実施の形態3
続いて、図14のブロック図を用いて、本発明の実施の形態3にかかるアプリケーションサーバ1Bの構成例について説明する。本実施の形態3にかかるアプリケーションサーバ1Bは、実施の形態2にかかるアプリケーションサーバ1Aの変形例である。アプリケーションサーバ1Bは、機能群100Aと、JMXフレームワーク200Bと、Webアプリケーション400と、を備えている。
JMXフレームワーク200Bは、MBeanサーバ220Aと、MBeanサーバ認証装置230と、JMXクライアント接続装置240と、MBeanサーバ管理装置212と、OSGi(Open Services Gateway initiative)モジュール250と、を備えている。また、OSGiモジュール250は、MBean拡張管理装置210Bを備えている。さらに、MBean拡張管理装置210Bは、MBeanInfo拡張部211を備えている。
すなわち、JMXフレームワーク200Bでは、MBeanサーバ管理装置212が、MBean拡張管理装置210Bの中ではなく、MBean拡張管理装置210Bの外に配置される構成としている。また、MBean拡張管理装置210Bが、OSGiモジュール250に備えられる構成としている。なお、一般的なJMXフレームワークには、MBeanサーバ管理装置が備えられている。このため、アプリケーションサーバ1Bでは、MBeanサーバ管理装置212としては、一般的なJMXフレームワークにおけるMBeanサーバ管理装置を用いることができる。そして、アプリケーションサーバ1Bでは、MBean拡張管理装置210BをOSGiモジュール250として提供している。
Webアプリケーション400は、Web API構築装置300Aを備えている。すなわち、アプリケーションサーバ1Bでは、Web API構築装置300AをWebアプリケーション400として提供している。
以上のように、本発明の実施の形態3にかかるアプリケーションサーバ1Bでは、MBean拡張管理装置210BをOSGiモジュール250として提供する構成としている。また、アプリケーションサーバ1Bでは、Web API構築装置300AをWebアプリケーション400として提供する構成としている。これにより、アプリケーションサーバ1Bでは、一般的なアプリケーションサーバに対してハードウェアの改造を行わずに、本発明の実施の形態2にかかるアプリケーションサーバ1Aと同様の効果を奏することができる。
上述した実施の形態1〜3で述べたアプリケーションサーバで行われる処理は、アプリケーションサーバが備えるASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)若しくはCPU(Central Processing Unit)又はこれらの組み合わせを含むコンピュータ・システムを用いて実現することができる。具体的には、ブロック図又はフローチャートを用いて説明したアプリケーションサーバにおける各機能部の処理に関する命令群を含むプログラムをコンピュータ・システムに実行させればよい。
また、上述のプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
1、1A、1B アプリケーションサーバ
3 クライアントマシン
100、100A 機能群
200、200A、200B JMXフレームワーク
210、210A、210B MBean拡張管理装置
211 MBeanInfo拡張部
220、220A MBeanサーバ
221 MBean
222 設定
225 操作
223、226 MBeanInfo
224、227 Web API向け拡張メタ情報
300、300A Web API構築装置
301 URI提供部
302 URI/HTTPメソッド構築部
303 MBeanInfo解析部

Claims (9)

  1. アプリケーションサーバにより提供される機能群と、
    JMX(Java Management Extensions)フレームワークと、
    Web API(Application Program Interface)構築装置と、を備え、
    前記JMXフレームワークは、
    前記機能群に関するMBean(Managed Bean)を格納するMBeanサーバと、
    前記機能群に関するWeb API向け拡張メタ情報を前記MBeanサーバに登録して管理するMBean拡張管理装置と、を備え、
    前記Web API構築装置は、前記MBeanサーバに登録されている前記Web API向け拡張メタ情報に基づいて、前記機能群に関するURI(Uniform Resource Identifier)を構築し、構築された前記URIをクライアントマシンへ提供し、
    前記MBean拡張管理装置は、MBeanInfo拡張手段を備え、
    前記MBeanサーバは、設定及び操作についてのMBeanInfoを備え、
    前記機能群は、機能が起動する際に当該機能の設定及び操作の登録要求を前記MBeanInfo拡張手段に対して行い、
    前記MBeanInfo拡張手段は、前記MBeanを解析し、登録要求された前記機能の前記設定及び前記操作に関連付けられた前記Web API向け拡張メタ情報を前記MBeanInfoに登録する、
    アプリケーションサーバ。
  2. 前記Web API構築装置は、URI提供手段と、URI/HTTP(Hypertext Transfer Protocol)メソッド構築手段と、を備え、
    前記URI/HTTPメソッド構築手段は、前記MBeanサーバの前記設定及び前記操作に関連付けられた前記Web API向け拡張メタ情報を解析し、設定を更新するためのURI及び操作を行うためのURIを構築し、
    前記URI提供手段は、前記設定を更新するためのURI及び前記操作を行うためのURIを、前記クライアントマシンへ提供する
    請求項に記載のアプリケーションサーバ。
  3. 前記URI提供手段は、前記クライアントマシンからのHTTPリクエストにおけるHTTPメソッドの解析を行い、前記HTTPメソッドが適切であるか否かを判断し、
    前記URI/HTTPメソッド構築手段は、前記HTTPメソッドが適切である場合に、前記HTTPリクエストにおけるURIの解析を行い、解析されたURIに基づいて、前記HTTPリクエストによってリクエストされた処理を実行する、
    請求項に記載のアプリケーションサーバ。
  4. 前記Web API構築装置は、MBeanInfo解析手段をさらに備え、
    前記MBeanInfo解析手段は、前記HTTPリクエストにおけるURIに基づいて、返却用データを生成し、
    前記URI提供手段は、前記返却用データを前記クライアントマシンへ送信する、
    請求項に記載のアプリケーションサーバ。
  5. 前記返却用データは、前記HTTPリクエストにおけるURIを基準とした子階層の情報を含む、請求項に記載のアプリケーションサーバ。
  6. 前記返却用データは、前記HTTPリクエストにおけるURIに存在する操作に関する情報を含む、請求項又はに記載のアプリケーションサーバ。
  7. 前記返却用データは、前記HTTPリクエストにおけるURIに存在する設定に関する情報を含む、請求項乃至のいずれか1項に記載のアプリケーションサーバ。
  8. アプリケーションサーバにおける方法であって、
    前記アプリケーションサーバが、前記アプリケーションサーバにより提供される機能群に関するWeb API(Application Program Interface)向け拡張メタ情報をMBean(Managed Bean)サーバに登録し、
    前記アプリケーションサーバ、前記MBeanサーバに登録されている前記Web API向け拡張メタ情報に基づいて、前記機能群に関するURI(Uniform Resource Identifier)を構築し、
    前記アプリケーションサーバが、構築された前記URIをクライアントマシンへ提供することを有し、
    前記MBeanサーバは、設定及び操作についてのMBeanInfoを備え、かつ、前記機能群は、機能が起動する際に当該機能の設定及び操作の登録を要求するように構成されており、
    前記方法は、前記アプリケーションサーバが、前記機能の設定及び操作の登録が要求された場合、前記MBeanを解析し、登録要求された前記機能の前記設定及び前記操作に関連付けられた前記Web API向け拡張メタ情報を、前記MBeanInfoに登録することを更に有する、
    方法。
  9. アプリケーションサーバにおける方法をコンピュータに行わせるためのプログラムであって、
    前記方法は、
    前記アプリケーションサーバにより提供される機能群に関するWeb API(Application Program Interface)向け拡張メタ情報をMBean(Managed Bean)サーバに登録し、
    前記MBeanサーバに登録されている前記Web API向け拡張メタ情報に基づいて、前記機能群に関するURI(Uniform Resource Identifier)を構築し、
    構築された前記URIをクライアントマシンへ提供すること、を有し
    前記MBeanサーバは、設定及び操作についてのMBeanInfoを備え、かつ、前記機能群は、機能が起動する際に当該機能の設定及び操作の登録を要求するように構成されており、
    前記方法は、前記機能の設定及び操作の登録が要求された場合、前記MBeanを解析し、登録要求された前記機能の前記設定及び前記操作に関連付けられた前記Web API向け拡張メタ情報を、前記MBeanInfoに登録することを更に有する、
    プログラム。
JP2017018320A 2017-02-03 2017-02-03 アプリケーションサーバ、その方法及びプログラム Active JP6852424B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017018320A JP6852424B2 (ja) 2017-02-03 2017-02-03 アプリケーションサーバ、その方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017018320A JP6852424B2 (ja) 2017-02-03 2017-02-03 アプリケーションサーバ、その方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018124894A JP2018124894A (ja) 2018-08-09
JP6852424B2 true JP6852424B2 (ja) 2021-03-31

Family

ID=63111395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017018320A Active JP6852424B2 (ja) 2017-02-03 2017-02-03 アプリケーションサーバ、その方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6852424B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202333769A (zh) 2018-06-29 2023-09-01 日商大鵬藥品工業股份有限公司 抗腫瘤劑及其評估方法

Also Published As

Publication number Publication date
JP2018124894A (ja) 2018-08-09

Similar Documents

Publication Publication Date Title
JP7203444B2 (ja) 代替サーバ名を使用する相互トランスポート層セキュリティを選択的に提供すること
US10965772B2 (en) Interface invocation method and apparatus for hybrid cloud
EP3454214A1 (en) Infrastructure instantiation, collaboration, and validation architecture for serverless execution frameworks
CN102202078B (zh) 一种用于配置服务器场的多个异类角色的方法和系统
US20150128103A1 (en) System and method for automating application programming interface integration
WO2017035735A1 (zh) 一种网络服务的部署方法及装置
US9521053B1 (en) Providing diagnostic metrics for virtual connections over physical connections into a provider network
CN111277432B (zh) 配置信息更新方法、装置、电子设备及存储介质
US9338053B1 (en) Automatically configuring virtual private networks
US10956242B1 (en) Automating the migration of web service implementations to a service provider system
WO2013040917A1 (zh) 虚拟桌面实现系统及其使用方法
CN107463453B (zh) 同一终端不同应用间通信的方法、装置、设备和存储介质
CN106464584B (zh) 根据程序设计接口提供路由器信息
WO2016150153A1 (zh) 一种用于软件发布的方法和装置
US10924590B1 (en) Virtual workspace experience visualization and optimization
CN108287894A (zh) 数据处理方法、装置、计算设备及存储介质
US10826998B2 (en) Protocol to initiate session with partner site
CN114416169A (zh) 基于微前端的数据处理方法、介质、装置和计算设备
JP6852424B2 (ja) アプリケーションサーバ、その方法及びプログラム
JP2015228086A (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
AU2018390863B2 (en) Computer system and method for extracting dynamic content from websites
EP3041187B1 (en) Method and mobile device for communicating information between a mobile device and an enterprise system
Parák et al. Challenges in achieving iaas cloud interoperability across multiple cloud management frameworks
KR20120066395A (ko) 네트워크 서비스 지원 시스템 및 그 방법
US11425172B2 (en) Application security for service provider networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201224

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: 20210209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210222

R150 Certificate of patent or registration of utility model

Ref document number: 6852424

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150