IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 豊田合成株式会社の特許一覧

<>
  • 特許-情報処理装置 図1
  • 特許-情報処理装置 図2
  • 特許-情報処理装置 図3
  • 特許-情報処理装置 図4
  • 特許-情報処理装置 図5
  • 特許-情報処理装置 図6
  • 特許-情報処理装置 図7
  • 特許-情報処理装置 図8
  • 特許-情報処理装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
   G06F 9/448 20180101AFI20241008BHJP
   G06F 15/00 20060101ALI20241008BHJP
【FI】
G06F9/448
G06F15/00 440Z
【請求項の数】 4
(21)【出願番号】P 2024018680
(22)【出願日】2024-02-09
【審査請求日】2024-03-06
【早期審査対象出願】
(73)【特許権者】
【識別番号】000241463
【氏名又は名称】豊田合成株式会社
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】川▲崎▼ 晴彦
(72)【発明者】
【氏名】古山 剛
(72)【発明者】
【氏名】岡本 朋之
(72)【発明者】
【氏名】大森 慎太郎
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2018-032119(JP,A)
【文献】特開2020-016951(JP,A)
【文献】特開2010-003273(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455-9/54
G06F 8/36
G06F 9/448
G06F 15/00
(57)【特許請求の範囲】
【請求項1】
クライアントコンピュータからのリクエストが入力されるサーバーを備え、前記サーバーは、フレームワークを動作させることが可能であり、前記フレームワークは、前記リクエストに対応した機能を実行し、その機能の実行結果を前記リクエストに対するレスポンスとして前記クライアントコンピュータに返す情報処理装置において、
前記フレームワークは、第1フレームワークであり、
前記リクエストに対応した前記機能は、第2フレームワークによって実行される機能であって前記サーバーに実装されており、
前記サーバーは、前記第2フレームワークの前記機能を前記第1フレームワーク上で実行させることを可能とするミドルウェアを動作させ、
前記第1フレームワークは、前記サーバーに入力された前記リクエストを前記ミドルウェアに渡すものであり、
前記ミドルウェアは、前記リクエストに基づき実行する前記第2フレームワークの機能を規定したルーティングテーブルを読み込み、そのルーティングテーブルを参照して前記リクエストに対応する前記第2フレームワークの機能を実行させる情報処理装置。
【請求項2】
クライアントコンピュータからのリクエストが入力されるサーバーを備え、前記サーバーは、フレームワークを動作させることが可能であり、前記フレームワークは、前記リクエストに対応した機能を実行し、その機能の実行結果を前記リクエストに対するレスポンスとして前記クライアントコンピュータに返す情報処理装置において、
前記フレームワークは、第1フレームワークであり、
前記リクエストに対応した前記機能は、第2フレームワークによって実行される機能であって前記サーバーに実装されており、
前記サーバーは、前記第2フレームワークの前記機能を前記第1フレームワーク上で実行させることを可能とするミドルウェアを動作させ、
前記ミドルウェアは、前記リクエストに対応する前記第2フレームワークの機能を前記第1フレームワーク上で実行させ、前記機能の実行結果を表示するための表示形式で前記実行結果を前記クライアントコンピュータに返すものであり、
前記サーバーには、前記第2フレームワークによって実行される機能として、前記実行結果に基づき同実行結果を表示するための表示形式で前記実行結果を表示する表示機能が実装されているとともに、前記表示機能をその名前をもとに実行するためのタグ機能が実装されており、
前記ミドルウェアは、前記実行結果を表示するための表示形式で前記実行結果を前記クライアントコンピュータに返す際、前記表示形式が前記第2フレームワークに依存した表示機能に対応したものであるときには、前記タグ機能を実行することにより前記表示機能の名前に基づき前記第2フレームワークの前記表示機能を実行する情報処理装置。
【請求項3】
クライアントコンピュータからのリクエストが入力されるサーバーを備え、前記サーバーは、フレームワークを動作させることが可能であり、前記フレームワークは、前記リクエストに対応した機能を実行し、その機能の実行結果を前記リクエストに対するレスポンスとして前記クライアントコンピュータに返す情報処理装置において、
前記フレームワークは、第1フレームワークであり、
前記リクエストに対応した前記機能は、第2フレームワークによって実行される機能であって前記サーバーに実装されており、
前記サーバーは、前記第2フレームワークの前記機能を前記第1フレームワーク上で実行させることを可能とするミドルウェアを動作させ、
前記第1フレームワークは、データーベースを操作する際に利用されるデーターベースライブラリを備えるとともに、前記サーバーに入力された前記リクエストを前記ミドルウェアに渡すものであり、
前記ミドルウェアは、前記リクエストに基づき実行する前記第2フレームワークの機能として、前記データーベースを操作する言語であるSQLに基づきライブラリ呼び出しプログラムを実行するものであり、
前記ライブラリ呼び出しプログラムは、データーベース管理クラスの内容が第1フレームワークに対応するものとされ、且つ、前記データーベース管理クラスのパッケージ名及びクラス名が前記第2フレームワークで用いられるものと同じとされており、前記ミドルウェアによって前記SQLに基づき実行されることにより、前記データーベースライブラリを利用して前記データーベースを操作するものである情報処理装置。
【請求項4】
前記データーベースライブラリは、前記データーベースの操作の実行結果を前記ミドルウェアに渡すものであり、
前記ミドルウェアは、前記実行結果を表示するための表示形式で前記実行結果を前記クライアントコンピュータに返すものであり、
前記サーバーには、前記第2フレームワークによって実行される機能として、前記実行結果に基づき同実行結果を表示するための表示形式で前記実行結果を表示する表示機能が実装されているとともに、前記表示機能をその名前をもとに実行するためのタグ機能が実装されており、
前記ミドルウェアは、前記実行結果を表示するための表示形式で前記実行結果を前記クライアントコンピュータに返す際、前記表示形式が第2フレームワークに依存した表示機能に対応したものであるときには、前記タグ機能を実行することにより前記表示機能の名前に基づき前記第2フレームワークの前記表示機能を実行する請求項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置に関する。
【背景技術】
【0002】
情報処理装置として、例えば特許文献1に示される装置が知られている。同装置は、クライアントコンピュータからのリクエストが入力されるサーバーを備えている。サーバーは、フレームワークを動作させることが可能となっている。フレームワークは、上記リクエストに対応した機能を実行し、その機能の実行結果を上記リクエストに対するレスポンスとしてクライアントコンピュータに返す。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2021-68160号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記情報処理装置では、脆弱性を改善する等の理由により、フレームワークを古いものから新しいものに変えることがある。例えば、新しいフレームワークを第1フレームワークとし、古いフレームワークを第2フレームワークとした場合、フレームワークが第2フレームワークから第1フレームワークに変えられる。その際、第2フレームワークで実行されていた機能を第1フレームワークで実現するよう、第1フレームワークにおけるプログラムの書き換え等を行うと、そのために多大な工数を要する。そうした多大な工数を要する作業が、サーバーで動作させるフレームワークの切り換えを困難にしていた。
【課題を解決するための手段】
【0005】
次に、上記課題を解決する情報処理装置の各態様について記載する。
(態様1)
クライアントコンピュータからのリクエストが入力されるサーバーを備え、前記サーバーは、フレームワークを動作させることが可能であり、前記フレームワークは、前記リクエストに対応した機能を実行し、その機能の実行結果を前記リクエストに対するレスポンスとして前記クライアントコンピュータに返す情報処理装置において、前記フレームワークは、第1フレームワークであり、前記リクエストに対応した前記機能は、第2フレームワークによって実行される機能であって前記サーバーに実装されており、前記サーバーは、前記第2フレームワークの前記機能を前記第1フレームワーク上で実行させることを可能とするミドルウェアを動作させる情報処理装置。
【0006】
脆弱性を改善する等の理由で、サーバーで動作させるフレームワークを、第2フレームワークから第1フレームワークに変えることがある。その際、第2フレームワークによって実行されていた機能を第1フレームワークで実現するよう、第1フレームワークにおけるプログラムの書き換え等を行うと、そのために多大な工数を要する。そうした多大な工数を要する作業が、サーバーで動作させるフレームワークの切り換えを困難にしていた。しかし、上記構成によれば、サーバーがミドルウェアを動作させることにより、第2フレームワークの機能を第1フレームワーク上で実行することができる。この場合、第2フレームワークで実行されていた機能を、プログラムの書き換え等の多大な工数を要する作業をすることなく、第1フレームワーク上で実行することができる。このため、サーバーで動作させるフレームワークの切り換えが容易になる。
【0007】
(態様2)
前記第1フレームワークは、前記サーバーに入力された前記リクエストを前記ミドルウェアに渡すものであり、前記ミドルウェアは、前記リクエストに基づき実行する前記第2フレームワークの機能を規定したルーティングテーブルを読み込み、そのルーティングテーブルを参照して前記リクエストに対応する前記第2フレームワークの機能を実行させる(態様1)に記載の情報処理装置。
【0008】
上記構成によれば、サーバーにリクエストが入力されると、そのリクエストがミドルウェアに渡される。ミドルウェアは、読み込んだルーティングテーブルを参照して、上記リクエストに対応する第2フレームワークの機能を第1フレームワーク上で実行させる。これにより、第2フレームワークの機能を第1フレームワーク上で実行させることができる。
【0009】
(態様3)
前記ミドルウェアは、前記リクエストに対応する前記第2フレームワークの機能を前記第1フレームワーク上で実行させ、前記機能の実行結果を表示するための表示形式で前記実行結果を前記クライアントコンピュータに返すものであり、前記サーバーには、前記第2フレームワークによって実行される機能として、前記実行結果に基づき同実行結果を表示するための表示形式で前記実行結果を表示する表示機能が実装されているとともに、前記表示機能をその名前をもとに実行するためのタグ機能が実装されており、前記ミドルウェアは、前記実行結果を表示するための表示形式で前記実行結果を前記クライアントコンピュータに返す際、前記表示形式が前記第2フレームワークに依存した表示機能に対応したものであるときには、前記タグ機能を実行することにより前記表示機能の名前に基づき前記第2フレームワークの前記表示機能を実行する(態様1)に記載の情報処理装置。
【0010】
上記構成によれば、クライアントコンピュータに対しリクエストに基づく機能の実行結果をレスポンスする際、その実行結果を表示するための表示形式で上記実行結果がクライアントコンピュータに返される。上記実行結果を上記表示形式で表示するための表示機能のうち、第2フレームワークに依存した表示機能があるときには、タグ機能を実行することにより上記表示機能の名前に基づき第2フレームワークの上記表示機能が実行される。こうして第1フレームワーク上で第2フレームワークの上記表示機能が実行されるようになる。
【0011】
(態様4)
前記第1フレームワークは、データーベースを操作する際に利用されるデーターベースライブラリを備えるとともに、前記サーバーに入力された前記リクエストを前記ミドルウェアに渡すものであり、前記ミドルウェアは、前記リクエストに基づき実行する前記第2フレームワークの機能として、前記データーベースを操作する言語であるSQLに基づきライブラリ呼び出しプログラムを実行するものであり、前記ライブラリ呼び出しプログラムは、データーベース管理クラスの内容が第1フレームワークに対応するものとされ、且つ、前記データーベース管理クラスのパッケージ名及びクラス名が前記第2フレームワークで用いられるものと同じとされており、前記ミドルウェアによって前記SQLに基づき実行されることにより、前記データーベースライブラリを利用して前記データーベースを操作するものである(態様1)に記載の情報処理装置。
【0012】
上記構成によれば、ミドルウェアは、リクエストに基づき実行する第2フレームワークの機能として、データーベースを操作する言語であるSQLに基づきライブラリ呼び出しプログラムを実行する。このライブラリ呼び出しプログラムは、データーベース管理クラスの内容が第1フレームワークに対応するものとされ、且つ、データーベース管理クラスのパッケージ名及びクラス名が第2フレームワークで用いられるものと同じとされている。このため、ミドルウェアによってSQLに基づいて上記ライブラリ呼び出しプログラムを実行することにより、第1フレームワークのデーターベースライブラリを利用してデーターベースを操作することができる。
【0013】
(態様5)
前記データーベースライブラリは、前記データーベースの操作の実行結果を前記ミドルウェアに渡すものであり、前記ミドルウェアは、前記実行結果を表示するための表示形式で前記実行結果を前記クライアントコンピュータに返すものであり、前記サーバーには、前記第2フレームワークによって実行される機能として、前記実行結果に基づき同実行結果を表示するための表示形式で前記実行結果を表示する表示機能が実装されているとともに、前記表示機能をその名前をもとに実行するためのタグ機能が実装されており、前記ミドルウェアは、前記実行結果を表示するための表示形式で前記実行結果を前記クライアントコンピュータに返す際、前記表示形式が第2フレームワークに依存した表示機能に対応したものであるときには、前記タグ機能を実行することにより前記表示機能の名前に基づき前記第2フレームワークの前記表示機能を実行する(態様4)に記載の情報処理装置。
【0014】
上記構成によれば、データーベースの操作の実行結果を表示するための表示形式で上記実行結果がクライアントコンピュータに返されることにより、クライアントコンピュータに対しリクエストに基づくレスポンスがなされる。上記実行結果を上記表示形式で表示するための表示機能のうち、第2フレームワークに依存した表示機能があるときには、タグ機能を実行することにより上記表示機能の名前に基づき第2フレームワークの上記表示機能が実行される。こうして第1フレームワーク上で第2フレームワークの上記表示機能が実行されるようになる。
【図面の簡単な説明】
【0015】
図1】情報処理装置の全体構成を示す概略図である。
図2図1の情報処理装置におけるサーバー上で実行されるミドルウェアの文字エンコード補正フィルタ部の動作を説明するためのブロック部である。
図3図1のミドルウェアのコントローラ部の動作を説明するためのブロック図である。
図4図1のミドルウェアのコントローラ部の動作を説明するためのブロック図である。
図5図1のミドルウェアのコントローラ部の動作を説明するためのブロック図である。
図6図1のミドルウェアのサービス基底部の動作を説明するためのブロック図である。
図7図1のミドルウェアのイベント基底部の動作を説明するためのブロック図である。
図8図1のミドルウェアのDB管理部の動作を説明するためのブロック図である。
図9図1のミドルウェアのJSPタグ再現機能部の動作を説明するためのブロック図である。
【発明を実施するための形態】
【0016】
以下、情報処理装置の一実施形態について、図1図9を参照して説明する。
図1に示すように、情報処理装置は、サーバー11を備えている。サーバー11にはクライアントコンピュータ12からのリクエストが入力される。サーバー11は、Spring Boot等の第1フレームワーク13を動作させることが可能となっている。また、サーバー11には、上記リクエストに対応した機能として、Struts等の第2フレームワーク14によって実行される機能15が実装されている。サーバー11は、第2フレームワーク14の上記機能15を第1フレームワーク13上で実行させることを可能とするミドルウェア16を動作させる。
【0017】
サーバー11で動作される第1フレームワーク13は、データーベース17を操作する際に利用されるデーターベースライブラリ18を備えている。第1フレームワーク13は、サーバー11に入力された上記リクエストをミドルウェア16に渡す。ミドルウェア16は、上記リクエストに対応した機能として、第2フレームワーク14の上記機能15を第1フレームワーク13上で実行させる。
【0018】
ミドルウェア16は、第2フレームワーク14の上記機能15として、例えばデーターベース17を操作する言語であるSQL(Structured Query Language)に基づき、ライブラリ呼び出しプログラムを実行する。ライブラリ呼び出しプログラムは、ミドルウェア16によって上記SQLに基づき実行されることにより、データーベースライブラリ18を利用してデーターベース17を操作する。データーベースライブラリ18は、上記データーベース17の操作の実行結果をミドルウェア16に渡す。
【0019】
ミドルウェア16は、上記機能15の実行結果を表示するための表示形式で上記実行結果を、上記リクエストに対するレスポンスとしてクライアントコンピュータ12に返す。第2フレームワーク14によって実行される上記機能15には、上記実行結果に基づき同実行結果を表示するための表示形式で上記実行結果を表示する表示機能、及び、上記表示機能をその名前をもとに実行するためのタグ機能が含まれている。
【0020】
ミドルウェア16は、上記実行結果を上記表示形式でクライアントコンピュータ12に返す際、上記表示形式が第2フレームワーク14に依存した表示機能に対応したものであるときには、上記タグ機能を実行することにより上記表示機能の名前に基づき第2フレームワーク14の上記表示機能を実行する。
【0021】
次に、ミドルウェア16について詳しく説明する。
ミドルウェア16は、文字エンコード補正フィルタ部A、コントローラ部B、サービス基底部C、イベント基底部D、DB管理部E、及びJSPタグ再現機能部Fを有している。以下、ミドルウェア16の上述した各部について個別に詳しく述べる。
【0022】
<文字エンコード補正フィルタ部A>
ユーザーによるクライアントコンピュータ12の操作、例えばウェブブラウザ上での操作を通じて、クライアントコンピュータ12からのリクエストがサーバー11に入力される。こうしたリクエストは、例えばURL(Uniform Resource Locator)形式の文字列によって行われる。
【0023】
サーバー11に入力された上記リクエストは、第1フレームワーク13によってミドルウェア16の文字エンコード補正フィルタ部Aに渡される。文字エンコード補正フィルタ部Aは、第1フレームワーク13で用いられる文字コードのエンコードと第2フレームワーク14で用いられる文字コードのエンコードとに差異がある場合に、それらの差異を補正するためのものである。
【0024】
図2に示すように、文字エンコード補正フィルタ部Aは、受け取ったリクエストに上記補正を施した後、そのリクエストを第1フレームワーク13における標準のURL解決処理20に渡す。このとき、文字エンコード補正フィルタ部Aは、第1フレームワーク13における標準の文字エンコードフィルタ19に対する上記リクエストの送信を遮断する。
【0025】
<コントローラ部B>
図3に示すように、ミドルウェア16のコントローラ部Bは、上記URL解決処理20を介して、補正後の上記リクエストを受け取る。コントローラ部Bは、上記リクエストを送信したクライアントコンピュータ12とサーバー11との間のセッション、すなわち通信状態の管理を行う。
【0026】
詳しくは、上記リクエストには、セッションキーに関する情報が含まれている。このセッションキーは、上記リクエストを送信したクライアントコンピュータ12のユーザーを特定するためのものである。コントローラ部Bは、上記リクエストからセッションキーを取得する。更に、コントローラ部Bは、第1フレームワーク13における標準のセッション管理機能21からクライアントコンピュータ12とサーバー11との間のセッション情報を取得する。
【0027】
コントローラ部Bは、取得した上記セッションキー及び上記セッション情報に基づき、上記リクエストを送信したクライアントコンピュータ12のユーザーとサーバー11との間にセッションが無いと判断した場合には、ログイン処理22を実行する。このログイン処理22では、上記リクエストに対するレスポンスとして、ログイン画面をクライアントコンピュータ12に返す。そして、クライアントコンピュータ12のユーザーが上記ログイン画面に基づき、ユーザーID及びパスワードを入力することにより、上記ユーザーとサーバー11との間のセッションが確立される。一方、コントローラ部Bは、上記セッションキー及び上記セッション情報に基づき、上記ユーザーとサーバー11との間にセッションが有ると判断した場合には、ミドルウェア16上でのURL解決処理23を実行する。
【0028】
図4に示すように、コントローラ部Bは、ミドルウェア16上での上記URL解決処理23を実行することにより、URLルーティングテーブル24を用いて、第2フレームワーク14における各機能15のうちの幾つかを実行させる。URLルーティングテーブル24は、上記各機能15の実行プログラムと、上記リクエストにおけるURLとの関連付けを表すものである。言い換えれば、URLルーティングテーブル24は、上記リクエストにおけるURLに基づき実行する上記機能15の実行プログラムを規定している。コントローラ部Bは、URLルーティングテーブル24を読み込むことが可能となっている。コントローラ部Bは、上記リクエストにおけるURLに基づき、読み込んだURLルーティングテーブル24を参照して、上記リクエストにおけるURLに対応した機能15を実行させる。
【0029】
図5に示すように、コントローラ部Bは、上記機能15の実行結果を受け取る。コントローラ部Bは、上記実行結果を受け取った後、その実行結果をHTML(HyperText Markup Language)形式で出力するための画面JSP選択処理25を実行する。画面JSP選択処理25は、JSP(Java[登録商標] Server Pages)26を用いて上記実行結果をHTML形式で出力する。JSP26としては、編集画面、参照顔面、及び削除画面などの表示形式の違いに応じて複数種類のものが存在している。上記実行結果には、複数種類のJSP26のうちのいずれの表示形式を用いるべきかを示すパスが格納されている。画面JSP選択処理25は、上記実行結果に格納されたパスに対応するJSP26を実行することにより、上記実行結果を表示するための表示形式で、上記実行結果を上記リクエストに対するレスポンスとしてクライアントコンピュータ12に返す。
【0030】
<サービス基底部C>
コントローラ部Bは、上記機能15を実行するに当たり、図6に示すイベント呼び出し処理27を行う。このイベント呼び出し処理27は、上記機能15の実行に必要なイベント29を呼び出した後、呼び出したイベント29を実行するためのものである。こうしたイベント29は、第2フレームワーク14で実行されるイベントと同じ位置及び名前であり、且つ第1フレームワーク13で実行可能なものとして、サーバー11に実装されている。イベント呼び出し処理27では、上記機能15の実行に必要なイベントを表したイベント情報がサービス基底部Cに渡される。
【0031】
サービス基底部Cは、イベントテーブル28を用いて、上記機能15の実行に必要なイベント29を検索する。上記イベントテーブル28は、イベント情報と、それに対応するイベント29との関連付けを表すものである。サービス基底部Cは、上記イベント情報に基づき、イベントテーブル28を参照して、上記機能15の実行に必要なイベント29を検索する。サービス基底部Cは、検索されたイベント29をトランザクション処理30を通じて実行する。トランザクション処理30は、実行したイベント29において問題が発生した場合に、データーベース17の状態をトランザクション処理30の実行前の状態に戻すためのものである。
【0032】
<イベント基底部D>
サービス基底部Cは、上記イベント29を実行するに当たり、図7に示すDAO呼び出し処理31を行う。このDAO呼び出し処理31は、上記イベント29の実行に必要なDAO(Data Access Object)32を呼び出した後、呼び出したDAO32を実行するためのものである。こうしたDAO32は、第2フレームワーク14で実行されるDAOと同じ位置及び名前であり、且つ第1フレームワーク13で実行可能なものとして、サーバー11に実装されている。DAO呼び出し処理31では、上記イベント29の実行に必要なDAO名がイベント基底部Dに渡される。
【0033】
イベント基底部Dは、DAOテーブル33を用いて、上記イベント29の実行に必要なDAO32を検索する。上記DAOテーブル33は、DAO名と、それに対応するDAO32との関連付けを表すものである。イベント基底部Dは、上記DAO名に基づき、DAOテーブル33を参照して、上記イベント29の実行に必要なDAO32を検索する。イベント基底部Dは、検索されたDAO32を実行する。
【0034】
<DB管理部E>
イベント基底部DがDAO32を実行すると、図8に示すように上記DAO32は、そのDAO32に対応する上記SQL、すなわちデーターベース17を操作する言語である上記SQLをDB管理部Eに渡す。DB管理部Eは、第2フレームワーク14の上記機能15として、上記SQLに基づきライブラリ呼び出しプログラムを実行する。
【0035】
ライブラリ呼び出しプログラムは、データーベース管理クラスの内容が第1フレームワーク13に対応するものとされ、且つ、上記データーベース管理クラスのパッケージ名及びクラス名が第2フレームワーク14で用いられるものと同じとされている。ライブラリ呼び出しプログラムは、DB管理部Eによって上記SQLに基づき実行されることにより、データーベースライブラリ18を利用してデーターベース17を操作する。データーベースライブラリ18は、上記データーベース17の操作の実行結果をDB管理部Eに渡す。
【0036】
DB管理部Eに渡された上記実行結果は、図1に示すミドルウェア16における上記コントローラ部Bに渡される。コントローラ部Bは、上記実行結果を受け取った後、上述した画面JSP選択処理25を実行する。画面JSP選択処理25は、上記実行結果に格納されたパスに対応するJSP26を実行することにより、上記実行結果を表示するための表示形式であって且つHTML形式で、上記実行結果を上記リクエストに対するレスポンスとしてクライアントコンピュータ12に返す。
【0037】
<JSPタグ再現機能部F>
図1に示すサーバー11に実装された上記機能15、すなわち第2フレームワーク14の上記機能15には、上述したように表示機能及びタグ機能が含まれている。この表示機能は、上記実行結果に基づき同実行結果を表示するための表示形式で上記実行結果を表示する機能である。また、上記タグ機能は、上記表示機能をその名前をもとに実行するための機能である。
【0038】
図9に示すJSPタグ再現機能部Fは、上述したようにコントローラ部Bが上記実行結果を上記表示形式であって且つHTML形式でクライアントコンピュータ12に返す際、JSPタグ呼び出し処理34を実行する。JSPタグ呼び出し処理34は、上記実行結果の上記表示形式が第2フレームワーク14に依存した表示機能に対応したものであるとき、上記タグ機能を実行することにより上記表示機能の名前に基づき第2フレームワーク14の上記表示機能を実行するものである。
【0039】
クライアントコンピュータ12は、上記リクエストに対するレスポンスとして、上記実行結果を上記表示形式で受け取る。その後、クライアントコンピュータ12は、ウェブブラウザを用いて上記実行結果を上記表示形式で表示する。
【0040】
次に、本実施形態の情報処理装置の作用効果について説明する。
(1)脆弱性を改善する等の理由で、サーバー11で動作させるフレームワークを、第2フレームワーク14から第1フレームワーク13に変えることがある。その際、第2フレームワーク14によって実行されていた機能15を第1フレームワーク13で実現するよう、第1フレームワーク13におけるプログラムの書き換え等を行うと、そのために多大な工数を要する。そうした多大な工数を要する作業が、サーバー11で動作させるフレームワークの切り換えを困難にしていた。しかし、情報処理装置では、サーバー11がミドルウェア16を動作させることにより、第2フレームワーク14の機能15を第1フレームワーク13上で実行することができる。この場合、第2フレームワーク14で実行されていた機能15を、プログラムの書き換え等の多大な工数を要する作業をすることなく、第1フレームワーク13上で実行することができる。このため、サーバー11で動作させるフレームワークの切り換えが容易になる。
【0041】
(2)サーバー11にリクエストが入力されると、そのリクエストがミドルウェア16に渡される。こうしたリクエストは、例えばURL形式の文字列によって行われる。ミドルウェア16のコントローラ部Bは、URLルーティングテーブル24を参照して、上記リクエストに対応する第2フレームワーク14の機能15を第1フレームワーク13上で実行させる。これにより、第2フレームワーク14の機能15を第1フレームワーク13上で実行させることができる。
【0042】
(3)ミドルウェア16のコントローラ部Bがクライアントコンピュータ12に対しリクエストに基づく機能の実行結果をレスポンスする際、その実行結果を表示するための表示形式で上記実行結果がクライアントコンピュータ12に返される。その際、ミドルウェア16のJSPタグ再現機能部FによるJSPタグ呼び出し処理34が実行される。JSPタグ呼び出し処理34は、上記実行結果を上記表示形式で表示するための表示機能のうち、第2フレームワーク14に依存した表示機能があるときには、タグ機能を実行することにより上記表示機能の名前に基づき第2フレームワーク14の上記表示機能を実行する。こうして第1フレームワーク13上で第2フレームワーク14の上記表示機能が実行されるようになる。
【0043】
(4)ミドルウェア16のDB管理部Eは、リクエストに基づき実行する第2フレームワーク14の機能15として、データーベース17を操作する言語であるSQLに基づきライブラリ呼び出しプログラムを実行する。このライブラリ呼び出しプログラムは、データーベース管理クラスの内容が第1フレームワーク13に対応するものとされ、且つ、データーベース管理クラスのパッケージ名及びクラス名が第2フレームワーク14で用いられるものと同じとされている。このため、DB管理部EによってSQLに基づいて上記ライブラリ呼び出しプログラムを実行することにより、第1フレームワーク13のデーターベースライブラリ18を利用してデーターベース17を操作することができる。
【0044】
(5)データーベース17の操作の実行結果を表示するための表示形式で上記実行結果がクライアントコンピュータ12に返されることにより、クライアントコンピュータ12に対しリクエストに基づくレスポンスがなされる。上記実行結果を上記表示形式で表示するための表示機能のうち、第2フレームワーク14に依存した表示機能があるときには、上述したJSPタグ呼び出し処理34によるタグ機能の実行により、上記表示機能の名前に基づき第2フレームワーク14の上記表示機能が実行される。このため、データーベース17の操作の実行結果を表示するための表示形式で上記実行結果がクライアントコンピュータ12に返されるときにも、第1フレームワーク13上で第2フレームワーク14の上記表示機能が実行されるようになる。
【0045】
なお、上記実施形態は、例えば以下のように変更することもできる。上記実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・第1フレームワーク13として、Spring Boot以外のフレームワークが採用されていてもよい。
【0046】
・第2フレームワーク14として、Struts以外のフレームワークが採用されていてもよい。
【符号の説明】
【0047】
11…サーバー
12…クライアントコンピュータ
13…第1フレームワーク
14…第2フレームワーク
15…機能
16…ミドルウェア
A…文字エンコード補正フィルタ部
B…コントローラ部
C…サービス基底部
D…イベント基底部
E…DB管理部
F…JSPタグ再現機能部
17…データーベース
18…データーベースライブラリ
19…文字エンコードフィルタ
20…URL解決処理
21…セッション管理機能
22…ログイン処理
23…URL解決処理
24…URLルーティングテーブル
25…画面JSP選択処理
26…JSP
27…イベント呼び出し処理
28…イベントテーブル
29…イベント
30…トランザクション処理
31…DAO呼び出し処理
32…DAO
33…DAOテーブル
34…JSPタグ呼び出し処理
【要約】
【課題】サーバーで動作させるフレームワークの切り換えが容易になる情報処理装置を提供する。
【解決手段】情報処理装置は、サーバー11を備えている。サーバー11にはクライアントコンピュータ12からのリクエストが入力される。サーバー11は、Spring Boot等の第1フレームワーク13を動作させることが可能となっている。また、サーバー11には、上記リクエストに対応した機能として、Struts等の第2フレームワーク14によって実行される機能15が実装されている。サーバー11は、第2フレームワーク14の上記機能15を第1フレームワーク13上で実行させることを可能とするミドルウェア16を動作させる。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9