JP5052472B2 - プログラムの設定情報切替システム及び切替方法 - Google Patents
プログラムの設定情報切替システム及び切替方法 Download PDFInfo
- Publication number
- JP5052472B2 JP5052472B2 JP2008252055A JP2008252055A JP5052472B2 JP 5052472 B2 JP5052472 B2 JP 5052472B2 JP 2008252055 A JP2008252055 A JP 2008252055A JP 2008252055 A JP2008252055 A JP 2008252055A JP 5052472 B2 JP5052472 B2 JP 5052472B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- data
- test
- setting information
- class loader
- 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.)
- Expired - Fee Related
Links
Images
Description
図21は、このようなオンラインシステムの一例を示すシステム構成図であり、オンラインシステム95は、Webブラウザプログラムを搭載したクライアント12と、PL(Presentation Logic)サーバ14と、複数のBL(Business Logic)サーバ16(第1のBLサーバ16a〜第3のBLサーバ16c)を備えている。クライアント12−PLサーバ14間、及びPLサーバ14−BLサーバ16間は、通信ネットワークを介して接続されている。
このためPLサーバ14は、画面制御部20と、ディスパッチエンジン21と、コネクタ22を備えている。
またディスパッチエンジン21は、ディスパッチ定義DB24を参照し、リクエストデータ30に対応したトランザクション及び担当BLサーバを特定する機能を果たす。
またコネクタ22は、各BLサーバ16が要求する固有の形式に入力データを変換すると共に、BLサーバ16から送信された処理結果データをPLサーバ14の標準形式に変換する機能を発揮する。このため、BLサーバ16毎に対応のデータ変換部(第1のBLサーバ用データ変換部22a〜第3のBLサーバ用データ変換部22c)が設けられている。
また、既存のオンラインシステムに新たな機能を追加したり、バグの修正を行った場合には、他の既存機能に悪影響(デグレード)が生じていないか等を確認する必要性が生じる。
このため、非特許文献1及び2に示すように、オペレータによる入力作業を軽減するためのツールが幾つか提案されている。
QuickTest ProfessionalインターネットURL:http://www.ashisuto.co.jp/prod/qtp/sum/index.html検索日:平成20年6月4日 SeleniumとはインターネットURL:http://www.thinkit.co.jp/free/article/0705/2/1/検索日:平成20年6月4日
また、各BLサーバ16が管理するデータベース28のバックアップを最初に1回だけとっておけば、これをベースにして任意の地点までの入力を再現することにより、当該地点におけるデータベース28の状態を復元することが可能となる。
[テスト編]本番環境でいきなりテストしてはいけないインターネットURL: http://itpro.nikkeibp.co.jp/article/COLUMN/20070820/279935/検索日:平成20年6月24日
ここで「WAR」とは、「Web Application Archive」の略称であり、Java(登録商標)の動作環境であるJ2EE(Java 2 Enterprise Edition)仕様の下では、各アプリケーションプログラムはメモリ空間においてWARクラスローダ単位でJVM(Java Virtual Machine)に管理される。
これに対し「上位クラスローダ」とは、階層構造を備えたクラスローダの最上位に位置するクラスローダであり、メモリ空間に展開された全てのアプリケーションプログラムから参照可能となる。
このため、ディスク領域に格納されたアプリケーションプログラムには一切の手を加えることなく、アプリケーションプログラムをメモリ空間上においてテスト仕様に切り替えることが可能となる。
このためPLサーバ14は、画面制御部20と、ディスパッチエンジン21と、コネクタ22を備えている。
また、ディスパッチエンジン21内には、テスト支援部25が生成されており、PLサーバ14のディスク内に設けられたテスト用DB26を管理している。このテスト支援部25の機能、及びその生成方法については後述する。
例えば、第1のBLサーバ16aがC言語に対応したTPモニタを搭載している場合、第1のBLサーバ用データ変換部22aは、TPモニタ向けのデータ変換機能を備える。また、第2のBLサーバがEJB(Enterprise Java Beans)コンテナを搭載している場合、第2のBLサーバ用データ変換部22bは、EJBコンテナ向けのデータ変換機能を備える。また、第3のBLサーバ16cがCOBOL言語に対応したDB/BCシステムを搭載している場合、第3のBLサーバ用データ変換部22cは、ホストOS向けのデータ変換機能を備える。
初回ラン時には、まずクライアント12からリクエストデータ30が送信される。例えば、オペレータがテストシナリオに従い、検索画面の入力欄に入力装置31を介して検索文字列を入力すると、クライアント12からPLサーバ14に対して、検索のリクエストID及び検索文字列を含んだリクエストデータ30が送信される。
この場合、BEトランザクションID「111」が、検索トランザクション及び第1のBLサーバ16aを特定する情報に該当する。
図示の通り、このテスト用DB26には、各トランザクション単位でリクエストID、PLトランザクションID、BEトランザクションIDからなる制御情報が格納されている。
この場合、BEトランザクションID「222」が、検索トランザクション及び第2のBLサーバ16bを特定する情報に該当する。
この場合、BEトランザクションID「333」が、検索トランザクション及び第3のBLサーバ16cを特定する情報に該当する。
この結果、クライアント12の表示装置33上に処理結果データ32が表示される。
図4は、再ラン時におけるオンラインシステム10のシステム構成図であり、クライアント12や画面制御部20の関与なしに再ランが実行されることを表現している。
まず、テスト端末18からPLトランザクションID「1111」を特定した再ランの指示データが送信されると、これを受けたテスト支援部25は(S40)、再ランの実行範囲を特定する(S41)。ここで、PLトランザクションID「1111」はBEトランザクションID「111」〜「333」を包含する上位概念であるため、テスト支援部25は初回ランと同じ範囲で再ランを行うべきものと判断する。
例えば、テスト端末18からBEトランザクションID「222」を指定した再ランの指示データが送信された場合、図7に示すように、テスト支援部25はテスト用DB26から「222」の入力データであるデータ(2)を取り出し、ディスパッチエンジン21に渡す。
このデータ(3)'は、テスト支援部25によって捕捉され、テスト用DB26におけるBEトランザクションID「222」の再ラン結果データの項目に登録される。
すなわち、各BLサーバ16が管理するデータベース28については、初回ランの直前にバックアップが取られているため、このバックアップされたデータに基づいて必要なトランザクションを順次実行することにより、各データベース28の更新具合をその都度確認することが可能となる。
ここで、図9(a)に示すように、クライアント12から「社員ID=001」を指定した検索リクエストデータ30が送信されると、PLサーバ14経由でこれを受け取ったBLサーバ16は、データベース28から検索条件にマッチしたレコードを抽出し、PLサーバ14経由でクライアント12に検索処理結果データ32を送信することとなるが、この検索処理結果データ32には「更新日時」のデータ項目43が設けられており、データベース28の「最終更新日時」の値である「05/24/10:00」が充填されている。
例えば、図9(b)に示すように、5月24日の14:00にクライアント12から同社員の所属を「営業部」から「総務部」に変更する内容の更新リクエストデータ30が送信される場合、「05/24/10:00」のデータが付加されている。
しかしながら、この楽観的排他ロック機構を備えたオンラインシステムにこのテスト支援システムをそのまま適用すると再ラン時に問題が生じるため、これを回避するための仕組みを講じておく必要がある。以下において、この問題とその回避方法について説明する。
この間、テスト用DB26には、テスト支援部25(図示省略)によって更新リクエストデータ(A)及び更新処理結果データ(B)が格納される。
この間、テスト用DB26には、テスト支援部25によって更新リクエストデータ(C)及び更新結果データ(D)が格納される。
この間、テスト用DB26には、テスト支援部25によって更新結果データ(B)'が格納される。
この間、テスト用DB26には、テスト支援部25によってエラーメッセージ(D)'が再ラン結果データとして記録される。
(1)初回ラン時にテスト用DB26格納された入力データの更新日時と、再ラン時にBLサーバ16によって更新されたデータベースの最終更新日時とが不一致となるため、楽観的排他ロックが発動され、再ラン結果データがエラーとなる。
(2)再ラン結果データの更新日時には再ラン時の現在日時が付与されるため、各トランザクションの処理結果データと再ラン結果データを比較する際に、更新日時の不一致を理由に「比較結果=不一致」と判定されてしまう。
そこで、このテスト支援システムは、更新日時に関して「引継ぎ」及び「マスキング」という手法を適用することにより、上記の問題を解消している。
また、BLサーバ16からPLサーバ14に対しては、更新結果データ(D)'が送信される。この更新結果データ(D)'の更新日時には、最終更新日時である「05/24/23:00」が記録されている。この更新結果データ(D)'は、テスト支援部25によってテスト用DB26の再ラン結果データ項目に登録される。
このマスク処理も、テスト支援部25によって実行される。
図示は省略したが、処理結果データ(D)と再ラン結果データ(D)'との比較時にも、それぞれの更新日時にはマスク処理が施される。
このため、ディスパッチエンジン21用のアプリケーション内にテスト支援部25用のコードを予め組み込んでおくのは好ましくない。
また、本番時とテスト時とではマシン構成や回線容量等の環境が異なる場合が多いため、通常はテスト終了後にアプリケーションの設定を本番用に書き換えることが行われているが、この際にバグが混入する危険性があった。
この上位クラスローダ57は、Java(登録商標)の動作環境であるJ2EE(Java 2 Enterprise Edition)の仕様に基づいて実現されるものであり、この上位クラスローダ57内に配置されたモジュールは、メモリ空間56に展開された全てのアプリケーションから参照できるという特徴を備えている。
このスイッチモジュール58は、スイッチ用ライブラリ55を予めPLサーバ14の所定のディレクトリに格納しておくことで、JVM(Java Virtual Machine)の起動時に上位クラスローダ57内に自動的に配置される。
まず、ディスパッチエンジン用実行ファイル51を起動させ、メモリ空間56のWARクラスローダ59内にフレームワーク60、固有機能部61、本番設定情報62を配置させる(S51)。J2EEの環境下においては、各WebアプリケーションはWARクラスローダ単位で管理される。
ここで、スイッチモジュール58が存在している場合(S53/YES)、フレームワーク60はテストモードであると認識し、テスト支援部用ライブラリ52を自己のWARクラスローダ59内にロードし(S54)、テスト支援部25を生成する。
そして、この第2のBLサーバ16bは、WebアプリA及びWebアプリBに基づいて固有のサービスを提供するものである。
このスイッチモジュール78は、スイッチ用のライブラリ67を予め第2のBLサーバ16bの所定のディレクトリに格納しておくことで、JVM(Java Virtual Machine)の起動時に上位クラスローダ77内に自動的に配置される。
まず、EARファイル66をデプロイし、メモリ空間65内にEARクラスローダ79、第1のWARクラスローダ80、第2のWARクラスローダ81を生成する(S61)。この段階では、第1のWARクラスローダ80内には、フレームワーク82、アプリAの固有機能部83、A用本番設定情報84が配置されている。また、第2のWARクラスローダ81内には、フレームワーク85、アプリBの固有機能部86、B用本番設定情報87が配置されている。
ここで、スイッチモジュール78が存在している場合(S63/YES)、フレームワーク82,85はテストモードであると認識し、設定上書部用ライブラリ68を自己のWARクラスローダ80,81内にロードし(S64)、設定上書部88,89を生成する。
12 クライアント
14 PLサーバ
16 BLサーバ
16a 第1のBLサーバ
16b 第2のBLサーバ
16c 第3のBLサーバ
18 テスト端末
20 画面制御部
21 ディスパッチエンジン
22 コネクタ
22a 第1のBLサーバ用データ変換部
22b 第2のBLサーバ用データ変換部
22c 第3のBLサーバ用データ変換部
25 テスト支援部
26 テスト用データベース
28 データベース
30 リクエストデータ
31 入力装置
32 処理結果データ
33 表示装置
42 「最終更新日時」のデータ項目
43 「更新日時」データ項目
50 PLサーバのディスク領域
51 ディスパッチエンジン用実行ファイル
52 テスト支援部用ライブラリ
53 テスト設定ファイル
54 本番設定ファイル
55 スイッチ用ライブラリ
56 PLサーバのメモリ空間
57 上位クラスローダ
58 スイッチモジュール
59 WARクラスローダ
60 フレームワーク
61 固有機能部
62 本番設定情報
63 テスト設定情報
64 ディスク領域
65 メモリ空間
66 EARファイル
67 スイッチ用ライブラリ
68 設定上書部用ライブラリ
69 A用テスト設定ファイル
70 B用テスト設定ファイル
72 A用本番設定ファイル
73 第1のWARファイル
75 B用本番設定ファイル
76 第2のWARファイル
77 上位クラスローダ
78 スイッチモジュール
79 EARクラスローダ
80 第1のWARクラスローダ
81 第2のWARクラスローダ
82 フレームワーク
83 アプリAの固有機能部
84 A用本番設定情報
85 フレームワーク
86 アプリBの固有機能部
87 B用本番設定情報
88 設定上書部
89 設定上書部
90 A用テスト設定情報
91 B用テスト設定情報
Claims (3)
- コンピュータのメモリ空間に設けられた上位クラスローダと、WARクラスローダとを備え、
このWARクラスローダ内には、フレームワークと、アプリケーションプログラムの固有機能部と、このアプリケーションプログラムの本番設定情報が配置されており、
上記フレームワークは、上位クラスローダ内に配置されたスイッチモジュールの有無を確認する機能と、
上記スイッチモジュールが存在している場合に、コンピュータのディスク領域に格納された設定上書部用ライブラリを、自己のWARクラスローダ内にロードし、設定上書部を生成する機能を備え、
この設定上書部は、コンピュータのディスク領域に格納されたテスト用設定ファイルを自己のWARクラスローダ内にロードし、当該ファイルに含まれるテスト設定情報によって上記本番用設定情報を上書きする機能を備えたことを特徴とするプログラムの設定情報切替システム。 - 上記設定上書部が、上記のテスト設定情報によって上記本番用設定情報を上書きする機能以外に、他の固有の処理を実行する機能を備えていることを特徴とする請求項1に記載のプログラムの設定情報切替システム。
- コンピュータのメモリ空間に設けられた上位クラスローダに、スイッチモジュールを配置させるステップと、
コンピュータのディスク領域に格納されたWARファイルをデプロイし、フレームワーク、アプリケーションプログラムの固有機能部、このアプリケーションプログラムの本番設定情報を備えたWARクラスローダを、上記メモリ空間内に生成するステップと、
上記フレームワークが、上記上位クラスローダを参照し、スイッチモジュールの有無を確認するステップと、
スイッチモジュールが存在している場合に、上記フレームワークが、コンピュータのディスク領域に格納された設定上書部用ライブラリを自己のWARクラスローダ内にロードし、設定上書部を生成するステップと、
この設定上書部が、コンピュータのディスク領域に格納されたテスト用設定ファイルを自己のWARクラスローダ内にロードし、当該ファイルに含まれるテスト設定情報によって上記本番用設定情報を上書きするステップと、
からなることを特徴とするプログラムの設定情報切替方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008252055A JP5052472B2 (ja) | 2008-09-30 | 2008-09-30 | プログラムの設定情報切替システム及び切替方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008252055A JP5052472B2 (ja) | 2008-09-30 | 2008-09-30 | プログラムの設定情報切替システム及び切替方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010086110A JP2010086110A (ja) | 2010-04-15 |
JP5052472B2 true JP5052472B2 (ja) | 2012-10-17 |
Family
ID=42250043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008252055A Expired - Fee Related JP5052472B2 (ja) | 2008-09-30 | 2008-09-30 | プログラムの設定情報切替システム及び切替方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5052472B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6114683B2 (ja) * | 2013-11-22 | 2017-04-12 | 株式会社日立製作所 | 処理要求読込転送装置、及び処理要求転送方法 |
JP6382610B2 (ja) * | 2014-07-15 | 2018-08-29 | 株式会社日立製作所 | シミュレータシステム、ゲートウェイシステムテスト装置及びゲートウェイシステムテスト方法 |
CN112799649B (zh) | 2020-06-15 | 2023-09-12 | 中兴通讯股份有限公司 | 代码构建方法、装置、设备和存储介质 |
CN113687223A (zh) * | 2021-08-30 | 2021-11-23 | 广东睿住智能科技有限公司 | 测试方法、测试装置、服务器和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0588878A (ja) * | 1991-09-27 | 1993-04-09 | Nec Corp | Lisp命令実行方式 |
JPH06342391A (ja) * | 1992-12-11 | 1994-12-13 | Nec Corp | 資源情報を用いたテストから本番への環境移行システム |
JP2006146434A (ja) * | 2004-11-17 | 2006-06-08 | Hitachi Ltd | 分散アプリケーションテスト方法及び分散アプリケーションテスト装置 |
JP2006244383A (ja) * | 2005-03-07 | 2006-09-14 | Matsushita Electric Ind Co Ltd | データベースシステム |
JP2008152475A (ja) * | 2006-12-15 | 2008-07-03 | Hitachi Ltd | プログラム配信システム及びプログラム配信方法 |
-
2008
- 2008-09-30 JP JP2008252055A patent/JP5052472B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010086110A (ja) | 2010-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3769223B1 (en) | Unified test automation system | |
US10055339B2 (en) | Methods and systems for testing mobile applications | |
JP4876438B2 (ja) | コンポーネントソフトウェアの運用方法および運用基盤 | |
US8762929B2 (en) | System and method for exclusion of inconsistent objects from lifecycle management processes | |
US8997088B2 (en) | Methods and systems for automated deployment of software applications on heterogeneous cloud environments | |
KR102268355B1 (ko) | 클라우드 배치 기반구조 검증 엔진 | |
US6698018B1 (en) | System and method of multiple-stage installation of a suite of applications | |
US10922067B1 (en) | System and method for installing, updating and uninstalling applications | |
US9182966B2 (en) | Enabling dynamic software installer requirement dependency checks | |
US8402437B2 (en) | System and method for updating initialization parameters for application software from within a software development environment | |
US9253265B2 (en) | Hot pluggable extensions for access management system | |
US9405630B2 (en) | Methods and apparatus to perform site recovery of a virtual data center | |
JP5052955B2 (ja) | アプリケーションの高可用運用方法、オンラインバージョン変更方法及び計算機システム | |
US8689179B2 (en) | Transportable refactoring object | |
JP5052472B2 (ja) | プログラムの設定情報切替システム及び切替方法 | |
US20100064290A1 (en) | Computer-readable recording medium storing a control program, information processing system, and information processing method | |
US20100185582A1 (en) | Web Deployment Functions and Interfaces | |
JP6436705B2 (ja) | テスト実行装置、テスト実行方法およびコンピュータプログラム | |
JP5101447B2 (ja) | テスト支援システム | |
JP5101448B2 (ja) | テスト支援システム | |
JP5039683B2 (ja) | テスト支援システム | |
CN112486511A (zh) | 一种通过web生成操作系统安装镜像的方法 | |
US20040064784A1 (en) | Document management system, method and computer program | |
US8150821B2 (en) | System and method for using generic utilities to perform database utilities on mainframe operated DB2 databases | |
JP6353759B2 (ja) | テスト実行装置、テスト実行方法およびコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120615 |
|
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: 20120717 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120724 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5052472 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150803 Year of fee payment: 3 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |