JP5237058B2 - コンピュータシステム - Google Patents

コンピュータシステム Download PDF

Info

Publication number
JP5237058B2
JP5237058B2 JP2008289142A JP2008289142A JP5237058B2 JP 5237058 B2 JP5237058 B2 JP 5237058B2 JP 2008289142 A JP2008289142 A JP 2008289142A JP 2008289142 A JP2008289142 A JP 2008289142A JP 5237058 B2 JP5237058 B2 JP 5237058B2
Authority
JP
Japan
Prior art keywords
function
component
framework
computer system
exclusive
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
JP2008289142A
Other languages
English (en)
Other versions
JP2010117793A (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.)
JFE Steel Corp
Original Assignee
JFE Steel 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 JFE Steel Corp filed Critical JFE Steel Corp
Priority to JP2008289142A priority Critical patent/JP5237058B2/ja
Publication of JP2010117793A publication Critical patent/JP2010117793A/ja
Application granted granted Critical
Publication of JP5237058B2 publication Critical patent/JP5237058B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、コンピュータシステムおよびフレームワーク管理装置に関し、特にJava(登録商標)アプリケーションプログラム(以下、単にアプリケーションプログラムという)を利用したコンピュータシステムおよびフレームワーク管理装置に関する。
近年、例えば鉄鋼業界及び金融業界等に代表される各種業界では、規模の拡大や業務の効率化等を目的として、統合、合併または買収等(以下、単に統合等という)を行なう動きが盛んになっている。このような動きは、世界規模での競争激化に起因する業界再編によってもたらされたものであり、他社に対する競争優位を確立することが可能になるという効果が得られる。
しかしながら、統合等後の企業が一体となって機能するためには、解決すべき種々の問題が存在する。例えばコンピュータシステムの統合に関する問題がそれにあたる。
今日、多くの企業は、日常業務のかなりの部分をコンピュータシステム化している。このため、各企業がコンピュータシステムを構築するためにハードウエア及びソフトウエアへ投資した金額は膨大になる。したがって、コンピュータシステムを構成するハードウエア及びソフトウエアは、それを保有する企業にとって有形または無形の重要な資産の一部を形成している。
しかも、各企業が有するソフトウエアのうち、アプリケーションプログラムは、その企業における業務処理手順等の業務ノウハウをコンピュータプログラムによって具現化したものであり、他社に対する競争優位を確立するための源泉となっている。
しかしながら、上記のように業務ノウハウを具現化するアプリケーションプログラムが資産の中の重要な位置を占めているにもかかわらず、従来では、統合等の対象である複数の企業間でこれを自由に移植することができないという問題が存在する。これは、以下に述べる理由に起因している。
すなわち、アプリケーションプログラムが動作するコンピュータシステムの基盤を構成するものには、ハードウエアやOS(オペレーティングシステム)やアプリケーションサーバなどのいわゆるプラットホームと呼ばれるものと、アプリケーションプログラムが使用する共通の機能を部品としてまとめたフレームワークと、が存在する。このうち、プラットホームについては、通常、各企業は、コンピュータシステムの供給元(以下、単にベンダという)が独自の仕様に従って作成した製品をそのまま購入して使用している。
一方、フレームワークは、アプリケーションプログラムの作成者が作成した部品と、他のベンダ(以下、サードベンダという)が供給元ベンダの仕様に沿って作成したミドルウエア部品とからなる。以下では、アプリケーションプログラムの作成者が作成した部品とミドルウエア部品とを総称してフレームワーク部品という。
これらフレームワーク部品は、いずれもベンダ独自の仕様に従って作成されているため、プラットホームに対する依存性を有している。また、このような依存性を備えたフレームワーク部品を利用するアプリケーションプログラムも、必然的にその基盤となるフレームワーク及びプラットホームに対する依存性を有している。従って、アプリケーションプログラムは、同じベンダから供給されたコンピュータ間、または、同じ仕様に基づいて作成されたプラットホーム及びフレームワークを有するコンピュータ間でなければ移植することができないという問題が存在する。
このような問題が存在するがために、統合等により一体として機能することを目指す複数の企業においてそれぞれが保有するアプリケーションプログラムを移植することができず、統合等前のままの状態である異なる業務処理手順等を用いて業務を遂行せざるを得ないという事例が往々にして存在した。
上記のような問題を解決するために、従来では、統合等をする企業のうち一方が保有するアプリケーションプログラムを、他方の企業が保有するプラットホームで開発したアプリケーションプログラムと同等の機能を有する新たなアプリケーションプログラムに手作業で再構築して、社内の業務処理手順等を統一化していた。
しかしながら、アプリケーションプログラムの再構築には多大な費用、時間および手間などを要する。このため従来では、統合等後の企業において共通のアプリケーションプログラムが利用できるまでに要する種々のコスト、すなわち、業務処理手順等が統一化されるまでに要する多大な費用、時間および手間などによって、統合等の目的である競争優位の効果が減殺されてしまっていた。
また、従来では、業務処理手順等を統一化したとしても、業務処理手順等に変更があった場合には、異なるプラットホームの同一機能を有するアプリケーションプログラムそれぞれに手作業で変更を加えなければならないため、この際の作業にも膨大な費用、時間および手間などを要してしまうという問題が生じていた。
さらに、統合等や業務処理手順等の変更に伴い、アプリケーションプログラムの手作業による変更の回数が増える。このことは、作業者による変更ミス等を増加させる要因となる。このように変更ミス等が増加すると、システムを停止等して作業しなければならない回数が増加するため、業務遂行に支障を招くという問題も生じてしまう。
以上のように、異なるプラットホームを有する企業が統合等する場合、従来では、それにより期待される効果を素早く且つ無駄なく発揮することができず、また、アプリケーションプログラム再構築後の維持管理に多大な負担を要していた。
このような問題を解決する方法としては、Java(登録商標)の標準機能の集合体であるJ2SE(Java 2 Standard Edition)に企業の業務システムなどの開発に使われているサーバ用API(Application Program Interface)を付加したJ2EE(Java 2 Enterprise Edition)を利用する方法が存在する(例えば以下に示す非特許文献1参照)。このJ2EEは、Sun Microsystems(登録商標)社から提供されている汎用プラットホーム技術であり、同社によって単一の仕様が定められている。
このうち、J2SEはプログラミング言語であるJava(登録商標)の基本機能である。一方、サーバ用APIは、サーブレット(Webサーバ対話処理)、JSP(JavaServer Pages)、EJB(Enterprise JavaBeans)等、数多くのAPIからなる。各APIは、ソフトウエア開発で利用できる命令及び関数の集合と、これらを利用するための規約とから構成される。
『J2EE入門 〜いまさら聞けないJ2EE〜』、富士通株式会社ホームページ、[online]、[平成20年6月5日検索]、インターネット<URL:http://segroup.fujitsu.com/sdas/technology/j2ee/>
ところで、J2EEを利用して作成したフレームワーク部品は、一般的には、汎用部品、すなわち異なるハードウエアやOS等に依存することなく利用することができる部品として扱われる。このため、J2EEを利用して汎用部品の集合よりなるフレームワークを構築した場合、あるプラットホームで開発したアプリケーションプログラムを再構築することなく他のプラットホームに移植することを可能にする汎用フレームワークの実現が期待される。
しかしながら、実際には、あるプラットホームでJ2EEを利用して作成したフレームワーク部品の中に、他のプラットホームで利用することができないものが存在する。このため、アプリケーションプログラムの再構築は回避できるものの、プラットホームに応じてフレームワークを作成または修正しなければならないという問題が存在した。
そこで本発明は、上記の問題に鑑みてなされたものであり、プラットホームに応じたフレームワークの作成または修正を必要としないコンピュータシステムおよびフレームワーク管理装置を提供することを目的とする。
かかる目的を達成するために、本発明によるコンピュータシステムは、EJBコンテナを備えるJ2EEアプリケーションサーバが実装されたコンピュータシステムであって、前記EJBコンテナ内に配置され、1つ以上の機能部品を含むフレームワークと、各機能部品に対応して前記EJBコンテナ内に配置され、前記EJBコンテナによって実現される実行環境に応じた機能差を吸収する補助部品と、前記実行環境において各機能が前記機能部品または前記補助部品のいずれに含まれるかを管理する管理テーブルと、前記各機能部品内に組み込まれた有効化スイッチと、を備え、前記有効化スイッチは、各機能の実行要求があった場合、前記管理テーブルに基づいて該機能を実現する機能部品または補助部品を特定し、特定した機能部品または補助部品を有効化することを特徴としている。
本発明によれば、EJBコンテナ内に所定機能を実現する補助部品を実装しているため、例えばEJBコンテナと機能部品との両方が所定機能を実装していなかった場合でも、補助部品を用いてこの所定機能を実現することが可能となる。これにより、プラットホームに応じてフレームワークを作成したり修正したりすることなく、フレームワークを他の仕様の解釈に基づいて構築されたプラットホームが導入されたコンピュータシステムに移植することが可能となり、この結果、移植や保守管理等に要する費用、時間および手間などを削減することが可能なコンピュータシステムを実現することが可能となる。また、本発明における補助部品およびこれを有効化する有効化スイッチを汎用フレームワークにおける機能部品と対応付けて管理しておくことで、プラットホームに応じてフレームワークを作成したり修正したりすることなく、フレームワークを他の仕様の解釈に基づいて構築されたプラットホームが導入されたコンピュータシステムに移植することが可能となり、この結果、移植や保守管理等に要する費用、時間および手間などを削減することを可能にするフレームワーク管理装置を実現することが可能となる。
以下、本発明を実施するための最良の形態を図面と共に詳細に説明する。なお、以下の実施の形態により本発明が限定されるものではない。
<実施の形態>
以下において、本発明の実施の形態による汎用コンピュータシステムおよびフレームワーク管理装置の構成例を説明するにあたり、まず、統合等によるコンピュータシステム移植時の流れについて図面を用いて詳細に説明する。
図1は、コンピュータシステム間で汎用フレームワークを移植する際の概略フローを説明するためのブロック図である。なお、本説明では、移植元となるコンピュータシステム(以下、これを移植元コンピュータシステムという)100Aと移植先となるコンピュータシステム(以下、これを移植先コンピュータシステムという)100BとがJ2EEの仕様についての異なる解釈に基づいて設計されたプラットホームを備えている場合を例に挙げる。
図1に示すように、移植元コンピュータシステム100Aは、例えばOS(X)10A上にJ2EEアプリケーションサーバ(X)20Aが実装されたプラットホームを搭載するホストコンピュータ11Aを備える。一方、移植先コンピュータシステム100Bは、例えばOS(Y)10B上にJ2EEアプリケーションサーバ(Y)20Bが実装されたプラットホームを搭載するホストコンピュータ11Bを備える。
ここで、J2EEアプリケーションサーバ(X)20Aと(Y)20Bとは、異なるJ2EEの仕様の解釈に基づいて設計された汎用アプリケーションサーバであるとし、このために、移植元コンピュータシステム100AにおけるJ2EEアプリケーションサーバ(X)20Aが実装する機能と移植先コンピュータシステム10BにおけるJ2EEアプリケーションサーバ(Y)20Bが実装する機能とに差があるとする。また、移植元コンピュータシステム100Aにおいて汎用フレームワーク30に要求される機能と移植先コンピュータシステム100Bにおいて汎用フレームワーク30に要求される機能とにも差があるとする。この結果、移植元コンピュータシステム100Aの設計に基づいて作成された汎用フレームワーク30が移植先コンピュータシステム100Bにおいて汎用フレームワーク30に対して要求される機能を備えていないケースが発生する。
このようなケースの場合、移植元コンピュータシステム100Aに組み込まれている汎用フレームワーク30をそのまま移植先コンピュータシステム100Bに移植すると、J2EEアプリケーションサーバ(Y)20Bと汎用フレームワーク30とのいずれもが実装しない機能が存在するため、移植先コンピュータシステム100Bにおけるアプリケーションプログラム40が統合等後の汎用フレームワーク30上でうまく動作しないことがある。以下に、このようなケースをフレームワーク部品の一つである排他部品を例に挙げて説明する。なお、フレームワーク部品とは、上述したように、アプリケーションプログラムの作成者が作成した部品や、サードベンダが供給元ベンダの仕様に沿って作成したミドルウエア部品などを含むソフトウエア部品であり、J2EEアプリケーションサーバのEJBコンテナによって要求される機能を実現するための機能部品である。また、排他部品とは、同時に実行できるアプリケーションプログラムを制御するための機能を提供するフレームワーク部品である。
図2は、データベース120の排他制御テーブル122をクローズする機能(以下、単に排他制御テーブルクローズ機能という)を備えていない排他部品302を含むフレームワーク300aが、排他制御テーブルクローズ機能を搭載していないEJBコンテナ300Bを備えたJ2EEアプリケーションサーバ(Y)20Bが実装された移植先コンピュータシステム100Bに移植された場合に生じる弊害を説明するための図である。なお、図2に示す例では、アプリケーションプログラム40である排他機能付きデータベース接続用アプリケーションプログラム(以下、排他機能付きDB接続用APPという)402が排他制御テーブル122を備えたデータベース120に対して排他を獲得しつつアクセスする。
図2に示す例において、移植元コンピュータシステム100Aでは、排他制御テーブルクローズ機能(EJB内機能(クローズ機能)302c)をJ2EEアプリケーションサーバ(X)20AのEJBコンテナ300Aが実装している。このため、移植元コンピュータシステム100Aでは、排他部品302を用いてオープンした排他制御テーブル122をEJBコンテナ300Aが実装するEJB内機能(クローズ機能)302cを用いてクローズすることが可能である。
一方、移植先コンピュータシステム100Bでは、EJBコンテナ300Bが排他制御テーブルクローズ機能を実装していないため、排他部品302を用いてオープンした排他制御テーブル122をクローズする機能が存在しない。
具体的には、汎用フレームワーク30上の排他機能付きDB接続用APP402がデータベース120へアクセスする場合、排他機能付きDB接続用APP402は、EJBコンテナ300Aに対してフレームワーク300aに含まれる排他部品302を呼び出す(排他部品呼出し制御C1)。呼び出された排他部品302は、自身が実装する部品内機能(オープン機能)302aを用いてデータベース120の排他制御テーブル122をオープンする(排他制御テーブルオープン制御C2)。排他制御テーブル122は、データベース120へのアクセスを管理するための構成である。したがって、この排他制御テーブル122の制御により、排他機能付きDB接続用APP402がデータベース120へのアクセス許可および排他を獲得する。
このように排他制御テーブル122をオープンして排他が獲得されると、排他制御テーブル122は、通常、その後クローズされる。ここで、排他制御テーブル122をどの機能を用いてクローズするかは、上述したように、J2EEの仕様の解釈等によって差が生じる。以下、この解釈の相違によって生じる機能の差を機能差という。
図2に示す例では、移植対象の排他部品302が排他制御テーブルクローズ機能を備えておらず、且つ、移植先コンピュータシステム100BにおけるEJBコンテナ300Bも排他制御テーブルクローズ機能を備えていないケースである。このため、移植先コンピュータシステム100Bにおいて排他機能付きDB接続用APP402が排他部品302を呼び出してデータベース120へアクセスすると、オープンされた排他制御テーブル122がクローズされないという事態が生じる。このような事態が生じると、EJBコンテナ300Bが排他機能付きDB接続用APP402へ異常を通知してしまうことになり(異常通知C4)、これにより、排他機能付きDB接続用APP402がエラー動作を実行してしまう。
そこで本実施の形態では、上記のような解釈の相違によって生じる機能差を吸収することができる機能差吸収手段50を移植先コンピュータシステム100Bへ汎用フレームワーク30と共に導入することで、機能差によって生じる不具合を解消する。図3に、本実施の形態による機能差吸収手段50を用いたコンピュータシステム間の汎用フレームワーク30移植フローの概略を示す。
図3に示すように、本実施の形態では、汎用フレームワーク30を移植元コンピュータシステム100Aから移植先コンピュータシステム100Bへ移植する際、機能差吸収手段供給手段2から供給された機能差吸収手段50も移植先コンピュータシステム100Bへ導入する。
ここで、本実施の形態による機能差吸収手段50について、図4を用いて詳細に説明する。図4は、機能差吸収手段50の構成を説明するためのブロック図である。図4に示すように、機能差吸収手段50は、機能差吸収部品51と有効化スイッチ52とからなる。
機能差吸収部品51は、上記のような理由によって生じる機能差を吸収することでフレームワーク部品300を汎用可能にするための部品であり、例えばフレームワーク部品300が備えていない機能を補完するための補助部品である。この機能差吸収部品51は、汎用フレームワーク30の導入先(例えば移植先コンピュータシステム100B)に、例えば複数のフレームワーク部品300よりなるフレームワーク300aごと実装される。
また、有効化スイッチ52は、補助部品である機能差吸収部品51を有効とするか否かを設定するためのスイッチである。この有効化スイッチ52は、例えばフレームワーク部品300と機能差吸収部品51とのうち何れを用いて要求された機能を実現するかを切り替えるための切換手段としても機能する。なお、この有効化スイッチ52は、例えば移植対象であるフレームワーク部品300内部に組み込まれる。なお、「要求された機能」とは、J2EEの仕様に従ってJ2EEアプリケーションサーバ(以下、汎用フレームワーク30の組み込み先となるJ2EEアプリケーションサーバの符号を20とする)が要求する機能である。
管理テーブル30Aは、上記フレームワーク部品300と機能差吸収部品51とのうち何れを用いて要求された機能を実現するかを管理するための構成であり、例えばフレームワーク部品300が対象の機能を備えているか否かをテーブル形式に登録して管理する。この管理テーブル30Aは、例えばフレームワーク300aの外部に設けられ、適宜、フレームワーク300aによって参照される。フレームワーク300aは、有効化スイッチ52に従って管理テーブル30Aを参照し、参照した登録内容に従って要求された機能を実現する。すなわち、管理テーブル30Aも上記の有効化スイッチ52と共に要求された機能を実現する構成を切り替えるための切替手段として機能する。
なお、機能差吸収手段50は、例えば図3に示すように、移植時にパーソナルコンピュータなどで構成された機能差吸収手段作成手段21を用いて作成されてもよいし、予め予測される機能差に応じて作成しておいたものをファイルサーバなどで構成された機能差吸収手段保持手段22に蓄積しておいてもよい。また、管理テーブル30Aは、例えばパーソナルコンピュータ等を用いて手作業により作成したものをホストコンピュータ11に格納するなど、種々の方法を用いて作成することが可能である。
次に、本実施の形態による機能差吸収手段50の動作を、具体例を用いて詳細に説明する。図5は、移植対象の排他部品302と移植先コンピュータシステム100Bとのいずれもが排他制御テーブルクローズ機能を備えておらず、この機能を機能差吸収部品(オープン/クローズ機能)512a、有効化スイッチ522aおよび管理テーブル30Aを用いて補完する場合の具体例を示すブロック図である。
図5に示すように、排他機能付きDB接続用APP402は、データベース120へアクセスするにあたり、まず、排他部品302を呼び出す。これにより、図2を用いて説明した動作と同様に、排他部品302が呼び出されて排他制御テーブル122がオープンされる(C1,C2)。
また、排他部品302が呼び出されると、移植先コンピュータシステム100Bは、排他部品302の有効化スイッチ522aに従って管理テーブル30Aを参照することで、この排他部品302に関する各機能に対しての登録内容を取得する。なお、排他部品302に関する各機能とは、J2EEの仕様において要求される1つ以上の機能を意味する。
ここで、本実施の形態による管理テーブル30Aの構成例を図6に示す。図6に示すように、本実施の形態による管理テーブル30Aは、各フレームワーク部品(図8の符号301〜307参照)に関する機能ごとに、各機能がサポートされているか否か、及び、どのようにサポートされているか否かを管理する。例えば排他部品302についてのテーブル(排他部品用テーブル32A)では、排他制御テーブルクローズ機能(クローズ機能)と排他制御テーブルオープン/クローズ機能(オープン/クローズ機能)とのそれぞれについて、排他部品302が備えているか否かと機能差吸収部品が組み込まれているか否かとが管理される。なお、各フレームワーク部品における機能をサポートする構成の区分は、排他部品302の区分例(「部品内機能」、「機能差吸収部品」)に限らず、種々変形することが可能である。また、図6に例示されている他の部品については、後述において詳細に説明する。
そこで本例では、図6の管理テーブル30Aにおける排他部品用テーブル32Aにおいて、部品内機能として排他制御テーブルオープン機能は備えているものの、排他制御テーブルオープン/クローズ機能は備えておらず、また、排他制御テーブルオープン機能の機能差吸収部品は備えていないものの、排他制御テーブルオープン/クローズ機能の機能内部品は備えていることが登録されているため、図5では、機能差吸収部品(オープン/クローズ機能)512aを呼び出して有効化するように動作する(有効化スイッチ522aの「設定2」)。
したがって、J2EEの仕様に従ってJ2EEアプリケーションサーバ20から排他制御テーブル122のクローズが要求されると、有効化スイッチ522aに従って機能差吸収部品(オープン/クローズ機能)512aが呼び出される(有効化スイッチ522aの「設定2」)。呼び出された機能差吸収部品(オープン/クローズ機能)512aは、部品内機能(オープン機能)302aまたは自身によってオープンされた排他制御テーブル122をクローズする制御を行なう(排他制御テーブルクローズ制御C32)。これにより、排他制御テーブルクローズ機能を備えていない排他部品302が排他制御テーブルクローズ機能(302c)を搭載していないJ2EEアプリケーションサーバ(Y)20B(図3参照)上に組み込まれた場合でも、排他制御テーブル122がクローズされないことによって排他機能付きDB接続用APP402がエラー動作することを回避することが可能となる。
ここで参考として、排他部品302が実装する排他制御テーブルクローズ機能を有効化する場合についても、図5および図6を用いて以下に説明する。
図6において、排他部品用テーブル32Aの「部品内機能」には、「有」が対応付けられている。この場合では、図5で示すように、排他部品302が実装する部品内機能(クローズ機能)302aを用いてオープンされている排他制御テーブル122をクローズする(有効化スイッチ522aの「設定1」、排他制御テーブルクローズ機能C3)。
次に、本実施の形態による機能差吸収手段50が組み込まれた汎用コンピュータシステムの一例を、図面を用いて詳細に説明する。図7は、本実施の形態による汎用コンピュータシステムの概略構成を示すブロック図である。なお、図7に示す汎用コンピュータシステムは、汎用フレームワーク30を移植した後の構成であっても、移植する前の構成であってもよい。すなわち、本実施の形態では、汎用フレームワーク30の移植の有無にかかわらず、図7に示すような汎用コンピュータシステムを構築することが可能であり、このような汎用コンピュータシステムを構築しておくことで、汎用フレームワーク30の管理や移植等が容易となるため、移植や保守管理等に要する費用、時間および手間などを削減することが可能となる。
図7に示すように、汎用コンピュータシステムは、1つ以上のコンピュータシステム1A、1B、…(以下、任意のコンピュータシステムの参照符号を1とする)と、これらのうち少なくとも1つと所定のネットワーク4を介して接続された1つ以上のクライアント端末3A、3B、3C、…(以下、任意のクライアント端末の参照符号を3とする)と、移植や保守管理等の対象となる汎用フレームワーク30および機能差吸収手段50を管理する汎用フレームワーク管理サーバ201と、を備える。なお、汎用コンピュータシステムは、機能差吸収手段50を作成して、これを汎用フレームワーク管理サーバ201へ格納するための機能差吸収手段供給手段2を含んでも良い。
ここで、図7に示す汎用フレームワーク管理サーバ201の具体的な構成例を図8に示す。図8に示すように、汎用フレームワーク管理サーバ201は、アプリケーションエンジン(以下、単にAPエンジンという)301、排他部非302、採番部品303、キュー連携304、チェック部品305、画面部品306、DAO(Database Access Object)部品307、…などの種々のフレームワーク部品と、これらフレームワーク部品それぞれについて、J2EEの仕様の解釈の相違によって生じる機能差を吸収するための機能差吸収手段501〜507と、を保持する。ここで、まず上記で例示した各フレームワーク部品について説明する。
・APエンジン
APエンジン301は、アプリケーションプログラムのビジネスロジックをコンポーネントという単位で作成したフレームワーク部品であり、それぞれのコンポーネントの組合せによって処理フローを構成している。また、APエンジン301は、この組合せによって構成された処理フローを、指定した順序に従って実行させるための機能も含む。さらに、APエンジン301は、処理フロー同士をつなげてバッチ処理を行なう機能も含んでいる。
・排他部品
排他部品302は、上述したように、同時に実行できるアプリケーションプログラムを制御するための機能を提供するフレームワーク部品である。すなわち、排他部品302は、あるアプリケーションプログラムが他の関連するアプリケーションプログラムと同時に実行されてはならない場合などにおいて、他のアプリケーションプログラムが同時に実行されることを制限する機能を提供する。
・採番部品
採番部品303は、あるデータベースに対して主キーを作成したり取得したりする機能を提供するフレームワーク部品である。採番部品303によって生成されるキーは、例えばアルファベッドの連番および接頭子等からなる。また、発行されたキーは採番テーブルと呼ばれる専用のテーブルで管理される。
・キュー連携
キュー連携304は、キューを用いて、メッセージの送受信やデータの送受信を行なう機能を提供するフレームワーク部品である。
・チェック部品
チェック部品305は、データのチェックに必要なルールを選択して実行する機能を提供するフレームワーク部品である。チェック部品305は、予めルールデータベースに登録されているルールに沿ってデータをチェックする。従って、チェック部品305を用いてチェックエンジンを起動すると、このルールに対応したチェックが実行される。
・画面部品
画面部品306は、プルダウン機能、入力補助機能、一覧表示機能、メッセージ表示機能等を提供するフレームワーク部品である。また、画面部品306には、オンライン画面を構成するために必要な部品群も含まれている。
・DAO部品
DAO部品307は、データベースアクセス処理を一括して管理する機能を提供するフレームワーク部品である。このDAO部品307を用いることで、アプリケーションプログラムに対してSQL(Structured Query Language)を隠蔽することが可能となるため、データベースの物理構造が変更されたとしてもアプリケーションコードへの影響が生じないシステムを構築することが可能となる。
また、図8に示す例では、例えばAPエンジン301についての機能差吸収手段として機能差吸収部品511および有効化スイッチ521が管理されており、排他部品302についての機能差吸収部品として機能差吸収部品512および有効化スイッチ522が管理されている。さらに、採番部品303、キュー連携304、チェック部品305、画面部品306およびDAO部品307、…についても同様に、それぞれの機能差吸収手段として機能差吸収部品513〜517、…および有効化スイッチ523〜527、…が管理されている。また、本実施の形態は、管理テーブル30Aが全てのフレームワーク部品についての機能を管理すると共に、全てのフレームワーク部品に対して各機能を有効化するための有効化スイッチを設けるように構成されているが、本発明はこれに限定されず、機能の管理が必要なフレームワーク部品についてのみ、管理テーブル30Aを用いた機能の管理と有効化スイッチを用いた機能の有効化とを行なうように構成してもよい。
図7に戻り説明する。コンピュータシステム1は、例えばサーバやメインフレームなどで実現されたホストコンピュータ11と、これと内部バスまたは外部バスを介して接続された記憶部12とを含む。ここで図9に、コンピュータシステム1のより詳細な構成を示す。図9に示すように、ホストコンピュータ11は、OS10と、OS10上に実装されたJ2EEアプリケーションサーバ20と、J2EEアプリケーションサーバ20上に実装された汎用フレームワーク30と、汎用フレームワーク30上に実装されたアプリケーションプログラム40と、から構成される。
J2EEアプリケーションサーバ20上の汎用フレームワーク30は、例えば図8に示す汎用フレームワーク管理サーバ201において管理されている汎用フレームワーク30がそのままホストコンピュータ11におけるJ2EEアプリケーションサーバ20上に導入されたものであっても良い。したがって、汎用フレームワーク30は、そのフレームワーク部品として、例えば、APエンジン301、排他部品302、採番部品303、キュー連携304、チェック部品305、画面部品306およびDAO部品307などのフレームワーク部品と、これらフレームワーク部品における機能差を吸収するための機能差吸収部品511〜517および有効化スイッチ521〜527と、を含む。なお、汎用フレームワーク30の導入は、例えば各コンピュータシステム1と汎用フレームワーク管理サーバ201とをインターネットやLAN(Local Area Network)などの所定のネットワークを介して接続し、このネットワークを介して行なっても良いし、例えばCD−ROMやDVD−ROMなどの携帯可能なメディアを介して行なっても良い。
汎用フレームワーク30上のアプリケーションプログラム40は、例えばホストコンピュータ11に接続された記憶部12のアプリケーションプログラム管理部124において管理されており、このアプリケーションプログラム管理部124から適宜ホストコンピュータ11に読み込まれ、汎用フレームワーク30上に実装される。
また、ホストコンピュータ11は、内部または外部の記憶領域に管理テーブル30Aを保持している。この管理テーブル30Aは、上述したように、各フレームワーク部品の有効化スイッチ52を機能させる際に適宜J2EEアプリケーションサーバ20によって参照される。
図7に戻り説明する。図7において、クライアント端末3は、例えばデスクトップ型のパーソナルコンピュータやラップトップあるいはノート型のパーソナルコンピュータなどである。ただし、これらに限定されず、クライアント・サーバシステムを実現する種々の情報処理システムを適用することが可能である。
また、例えば図7に示す汎用コンピュータシステムをいわゆるサーバサイドシステムとして構築した場合、アプリケーションプログラム40の実行に際してユーザは、クライアント端末3を用いてコンピュータシステム1へアクセスし、これのホストコンピュータ11に対して所望のアプリケーションプログラム40の起動を要求する。ホストコンピュータ11は、クライアント端末3からの要求に応じて該当するアプリケーションプログラム40を記憶部12におけるアプリケーションプログラム管理部124から読み込んで実行し、その結果をクライアント端末3に送信して表示させる。
以上のように、本実施の形態では、対象の機能を実現する補助部品として機能差吸収部品を実装しているため、例えばEJBコンテナとフレームワーク部品との両方が対象の機能を実装していなかった場合でも、機能差吸収部品を用いて対象の機能を実現することが可能となる。これにより、1つ以上のフレームワーク部品を含む汎用フレームワークを再構築や設計変更せずとも、これを他の仕様の解釈に基づいて構築されたコンピュータシステムに移植することが可能となり、移植や保守管理等に要する費用、時間および手間などを削減することが可能な汎用コンピュータシステムを実現することが可能となる。
また、本実施の形態における機能差吸収部品およびこれを有効化する有効化スイッチを汎用フレームワークにおけるフレームワーク部品と対応付けて管理しておくことで、汎用可能な汎用フレームワークを一箇所(汎用フレークワーク管理サーバ)で一元管理することが可能となるだけでなく、移植や保守管理等に要する費用、時間および手間などを削減することを可能にするフレームワーク管理サーバ(フレームワーク管理装置)を実現することが可能となる。
また、上記実施の形態は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施の形態が可能であることは上記記載から自明である。
コンピュータシステム間で汎用フレームワークを移植する際の概略フローを説明するためのブロック図である。 排他制御テーブルクローズ機能を備えていない排他部品を排他制御テーブルクローズ機能を排他部品に要求するEJBコンテナを備えたJ2EEアプリケーションサーバを実装する移植先コンピュータシステムに移植した場合に生じる弊害を説明するための図である。 本発明の実施の形態による機能差吸収手段を用いたコンピュータシステム間の汎用フレームワーク移植フローの概略を示すブロック図である。 本発明の実施の形態による機能差吸収手段の構成を説明するためのブロック図である。 移植対象の排他部品と移植先コンピュータシステムとのいずれもが排他制御テーブルクローズ機能を備えておらず、この機能を本発明の実施の形態による機能差吸収部品(オープン/クローズ機能)、有効化スイッチおよび管理テーブルを用いて補完する場合の具体例を示すブロック図である。 本発明の実施の形態による管理テーブルの構成例を示す図である。 本発明の実施の形態による汎用コンピュータシステムの概略構成を示すブロック図である。 本発明の実施の形態による汎用コンピュータシステムにおける汎用フレームワーク管理サーバの具体的な構成例を示すブロック図である。 本発明の実施の形態による汎用コンピュータシステムにおけるコンピュータシステムのより詳細な構成を示すブロック図である。
符号の説明
10、10A、10B オペレーティングシステム
1、1A、1B コンピュータシステム
2 機能差吸収手段供給手段
3A、3B、3C クライアント端末
4 ネットワーク
11、11A、11B ホストコンピュータ
12 記憶部
20、20A、20B J2EEアプリケーションサーバ
21 機能差吸収手段作成手段
22 機能差吸収手段保持手段
30 汎用フレームワーク
30A 管理テーブル
32A 排他部品用テーブル
40 アプリケーションプログラム
501〜507 機能差吸収手段
51、511〜517 機能差吸収部品
52、521〜527 有効化スイッチ
100A 移植元コンピュータシステム
100B 移植先コンピュータシステム
120 データベース
122 排他制御テーブル
124 アプリケーションプログラム管理部
201 汎用フレームワーク管理サーバ
300 フレームワーク部品
300A、300B EJBコンテナ
300a フレームワーク
302 排他部品
302a 部品内機能(オープン機能)
302c EJB内機能(クローズ機能)
402 排他機能付きデータベース接続用アプリケーションプログラム
512a 機能差吸収部品(排他制御テーブルクローズ機能)
522a クローズ機能有効化スイッチ
C1 排他部品呼出し制御
C2 排他制御テーブルオープン制御
C3、C31 排他制御テーブルクローズ制御
C4 異常通知

Claims (1)

  1. EJBコンテナを備えるJ2EEアプリケーションサーバが実装されたコンピュータシステムであって、
    前記EJBコンテナ内に配置され、1つ以上の機能部品を含むフレームワークと、
    各機能部品に対応して前記EJBコンテナ内に配置され、前記EJBコンテナによって実現される実行環境に応じた機能差を吸収する補助部品と、
    前記実行環境において各機能が前記機能部品または前記補助部品のいずれに含まれるかを管理する管理テーブルと、
    前記各機能部品内に組み込まれた有効化スイッチと、
    を備え、
    前記有効化スイッチは、各機能の実行要求があった場合、前記管理テーブルに基づいて該機能を実現する機能部品または補助部品を特定し、特定した機能部品または補助部品を有効化することを特徴とするコンピュータシステム。
JP2008289142A 2008-11-11 2008-11-11 コンピュータシステム Active JP5237058B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008289142A JP5237058B2 (ja) 2008-11-11 2008-11-11 コンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008289142A JP5237058B2 (ja) 2008-11-11 2008-11-11 コンピュータシステム

Publications (2)

Publication Number Publication Date
JP2010117793A JP2010117793A (ja) 2010-05-27
JP5237058B2 true JP5237058B2 (ja) 2013-07-17

Family

ID=42305447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008289142A Active JP5237058B2 (ja) 2008-11-11 2008-11-11 コンピュータシステム

Country Status (1)

Country Link
JP (1) JP5237058B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671417B2 (en) * 2011-12-12 2014-03-11 Microsoft Corporation Lightweight framework for web applications

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0337728A (ja) * 1989-07-04 1991-02-19 Nec Corp オペレーティングシステム
JPH06250920A (ja) * 1993-03-01 1994-09-09 Nissan Motor Co Ltd 情報処理装置の最適化方法
GB2361782B (en) * 2000-04-26 2005-01-12 Ant Ltd Improvements relating to computer systems
JP4365148B2 (ja) * 2002-07-19 2009-11-18 株式会社リコー 画像形成装置及びラッピング処理方法並びにプログラム
JP2004246789A (ja) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> プログラム機能拡張システム、プログラム機能拡張方法、プログラム機能拡張プログラムおよび記録媒体
JP2005228183A (ja) * 2004-02-16 2005-08-25 Hitachi Ltd プログラム実行方法、および、プログラム実行のための計算機システム

Also Published As

Publication number Publication date
JP2010117793A (ja) 2010-05-27

Similar Documents

Publication Publication Date Title
CN110147369B (zh) 多重租赁数据库系统中的数据分离和写入重新定向
CN110019215B (zh) 多重租赁数据库系统中的键模式管理
CN102656557B (zh) 自动化企业软件开发
US9830135B2 (en) Declarative and pluggable business logic for systems management
Jamshidi et al. Cloud migration patterns: a multi-cloud service architecture perspective
US10656971B2 (en) Agile framework for vertical application development and delivery
US11720415B2 (en) Management instrumentation and discovery (MID) server support for executing automated flows within a cloud based system
US8316420B2 (en) Access control on dynamically instantiated portal applications
US20150220308A1 (en) Model-based development
US20090300341A1 (en) System and method for automatic configuration of portal composite applications
US8918709B2 (en) Object templates for data-driven applications
JP2003036181A (ja) アップグレード移行中の変換に移行プラグインを用いる漸進的ロールオーバプロセスによりホット移行動作を実行する方法、マルチプロセスシステム、及び、かかる方法を実施するシステム
US20090210866A1 (en) Methods, systems, and computer program products for updating software on a data processing system based on transition rules between classes of compatible versions
US10636005B2 (en) Method and system for implementing an adaptive data governance system
US20150220327A1 (en) Extensible data model and service for infrastructure management
US9459859B2 (en) Template derivation for configuration object management
US9292271B2 (en) Apparatus and method for managing software translation
US11922146B2 (en) Systems and method for creating enterprise software
US10824642B2 (en) Data synchronization architecture
US11277303B1 (en) Declarative specification based override mechanism for customizing data centers deployed on cloud platforms
US11733987B2 (en) Executing shared pipelines for continuous delivery of services in cloud platforms
US9626251B2 (en) Undo configuration transactional compensation
US11048479B2 (en) Software conversion simulation mode
JP5237058B2 (ja) コンピュータシステム
Biener et al. DevOps for containerized applications

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110329

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130328

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5237058

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250