JP2004310279A - Business processing system and construction support apparatus, business processing system program, business processing system construction support program - Google Patents
Business processing system and construction support apparatus, business processing system program, business processing system construction support program Download PDFInfo
- Publication number
- JP2004310279A JP2004310279A JP2003100398A JP2003100398A JP2004310279A JP 2004310279 A JP2004310279 A JP 2004310279A JP 2003100398 A JP2003100398 A JP 2003100398A JP 2003100398 A JP2003100398 A JP 2003100398A JP 2004310279 A JP2004310279 A JP 2004310279A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- information
- program
- event
- business processing
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
【課題】業務処理システムに関するアプリケーション開発の生産性、メンテナンスの容易性、再利用性、仕様変更等に対する柔軟性を向上させる。
【解決手段】業務処理の標準プログラムをスーパークラス11〜13に実装させるとともに、業務処理の修正時に修正プログラムが実装される空のサブクラス21〜23を当初から用意しておき、スーパークラス11〜13が実装する標準プログラムのメソッドを受け継いだサブクラス21〜23を順次実行するようにすることにより、業務処理のカスタマイズによって実装される修正プログラムPG2’が標準プログラムPG2と混ざらないようにして、標準プログラムをカスタマイズする際の工数を大幅に削減できるようにするとともに、バージョンアップの容易性、管理の容易性を向上させることができるようにする。
【選択図】 図3An object of the present invention is to improve productivity of application development related to a business processing system, ease of maintenance, reusability, flexibility in changing specifications, and the like.
A standard program for business processing is installed in superclasses (11 to 13), and empty subclasses (21 to 23) on which a correction program is installed at the time of correction of business processing are prepared from the beginning. The sub-classes 21 to 23 successively inheriting the method of the standard program to be implemented are sequentially executed, so that the modification program PG2 ′ implemented by customizing the business process is not mixed with the standard program PG2, and the standard program is implemented. The man-hour for customization can be greatly reduced, and the ease of version upgrade and the ease of management can be improved.
[Selection diagram] FIG.
Description
【0001】
【発明の属する技術分野】
本発明は、業務処理システムおよびその構築支援装置、業務処理システム用プログラム、業務処理システムの構築支援用プログラムに関するものである。
【0002】
【従来の技術】
従来、例えばCOBOLなどの高級言語を用いてアプリケーションプログラムの開発を行う際には、構造化プログラミングという手法が用いられてきた。この手法では、パターン化が可能な処理手順や処理方式などを規定した汎用部品のソースコードが生成され、これが既存のプログラム資産として有効に再利用されてきた。
【0003】
一方、近年では、オブジェクト指向プログラミングという手法で開発することが一般的になりつつある。オブジェクト指向は、継承と呼ばれる機能を有している。この継承機能を活用してソースコードを生成することにより、生成されたソースコードは、より容易かつ柔軟に再利用可能なものとなる。そのため、構造化プログラミング手法で生成されるソースコードと比べて、既存のプログラム資産としての再利用性が向上している。
【0004】
このオブジェクト指向プログラミングの手法は、クライアントとサーバとから成るクライアントサーバシステムを開発する際に良く用いられる。クライアントサーバシステムの1つの形態として、受注処理、伝票処理、商品の在庫管理処理、会計処理などの各種企業業務を統合した業務処理システム(ERP(Enterprise Resource Planning)システムとも呼ばれる)がある。
【0005】
最近の業務処理システムの殆どは、Webアプリケーションとして実現されている。Webアプリケーションは、Webブラウザを利用したGUI(Graphical User Interface)を備えているのが通常である。このようなGUIを持つWebアプリケーションの開発には様々な試みがなされているが、扱うデータ量や画面数などが膨大な業務処理システムの場合には、再利用性や仕様変更に対する柔軟性に優れたMVCモデルが有効である。
【0006】
このMVCモデルは、Model(データ)、View(ユーザインタフェース)、Controller(制御部)の3種類のモデル要素に機能分解し、これらの組み合わせによりアプリケーションを実現するものである。図11は、MVCモデルにて構築された従来のWebアプリケーションの構成例を示す図である。
【0007】
図11に示す業務処理システムは、Web層(プレゼンテーション層)、ビジネスロジック層、データベース層の3層構造を有する3層Webクライアントサーバシステムとなっている。各層は、それぞれ特化した処理を行う。
【0008】
Web層に属するWebサーバは、物理的な画面編集を行うViewと、1つの画面内でイベントの制御を行うとともに、画面間の遷移を行うControllerとを備えており、クライアントのWebブラウザを制御する。また、ビジネスロジック層に属するアプリケーションサーバは、Controllerからの命令に従って必要なデータをデータベース(DB)から取り出してViewに渡すといった一連の業務処理を制御するModelを備えている。
【0009】
【発明が解決しようとする課題】
最近の業務処理システムは、業務の複雑化に伴って複雑な仕様が求められるようになってきており、これを実現するアプリケーションは大規模なものとなっている。しかも、そのような大規模なシステムを短期間で構築することが望まれている。しかしながら、従来はアプリケーションの開発が殆ど手作りで行われていた。また、多人数の開発者によってプログラムを分割して作成する場合には、プログラム全体の一貫性を保つのも難しくなる。そのため、漏れや誤りなどの不良部分が多くなり、これを修正する作業も増えるため、システム開発の生産性が上がらないという問題があった。
【0010】
また、業務処理システムが対象とする業務の中には、仕様変更が頻繁に発生する業務も多い。また、業務処理システムを顧客に標準パッケージとして提供する場合には、提供された業務処理システムを顧客の要求に応じてカスタマイズする必要がある。これらの場合には、仕様変更や顧客の要求に対応して、業務処理システムを柔軟かつ容易に変更できることが望まれる。しかしながら、手作りで生成されたアプリケーションは構造が非常に複雑になっていることが多く、1箇所変更した場合の影響範囲を探すだけでも多くの手間と時間を要する。そのため、メンテナンスの効率が極めて悪いという問題もあった。
【0011】
さらに、業務処理システムの標準パッケージを顧客の要求に応じてカスタマイズすると、元の標準パッケージが機能の追加や変更等によりバージョンアップしても、それに合わせて顧客のシステムをバージョンアップすることができなくなってしまう。顧客のシステムをバージョンアップするためには、旧バージョンのカスタマイズ済みシステムを破棄して新バージョンの標準パッケージを導入し、これを顧客の要求に応じて再びカスタマイズする必要があった。このため、顧客には多大な出費を強いるとともに、再度システムをカスタマイズする手間がかかるという問題があった。
【0012】
本発明は、このような問題を解決するために成されたものであり、業務処理システムに関するアプリケーション開発の生産性、メンテナンスの容易性、再利用性、仕様変更等に対する柔軟性を向上させることができるようにすることを目的とする。
【0013】
【課題を解決するための手段】
本発明の業務処理システムは、業務処理の標準プログラムを実装するスーパークラス群と、個々のスーパークラスを継承したサブクラスであって、上記業務処理の修正時に修正プログラムが実装される当初は空のサブクラス群とによりインスタンス化されたオブジェクトを記憶するオブジェクト記憶手段と、上記スーパークラス群に実装された上記標準プログラムのメソッドを受け継いだ上記サブクラス群を順次実行するように制御する制御手段とを備えたことを特徴とする。
【0014】
本発明の他の態様では、業務処理のプログラムを実装する複数のクラスがインスタンス化されたオブジェクトを記憶するオブジェクト記憶手段と、XML形式のバリューオブジェクトで定義されたデータを上記複数のクラス間で受け渡しするように制御する制御手段とを備えたことを特徴とする。
【0015】
本発明の他の態様では、上記オブジェクト記憶手段は、イベント単位の一連の業務処理を制御し正規化されたトランザクションを実行するドメインマネージャと、業務ロジック単位に存在し個々の業務処理そのものを実行するビジネスロジックとを記憶し、上記制御手段は、上記ドメインマネージャと上記ビジネスロジックとの間で、上記XML形式のバリューオブジェクトで定義されたデータ受け渡しするように制御することを特徴とする。
【0016】
本発明の他の態様では、業務処理に関する画面のデザインを定義したXHTML形式の画面デザイン情報と、上記画面上に埋め込まれるデータを定義した上記XML形式のバリューオブジェクトとを用いて、変換ルールを定義したXSL形式の変換情報に従ってXSL変換を行うことにより、HTML形式の画面を生成する画面生成手段を備えたことを特徴とする。
【0017】
本発明の他の態様では、データベースにアクセスする際に使用する複数の検索項目に関して、全ての検索項目を含むデータアクセスオブジェクトを記憶するオブジェクト記憶手段と、上記データアクセスオブジェクトが持つ全ての検索項目のうち、ユーザにより実際に指定された検索項目に検索条件を設定し、対応するパターンの条件文を動的に生成して上記データベースに対するアクセスを実行するように制御する制御手段とを備えたことを特徴とする。
【0018】
本発明の他の態様では、画面遷移を起動するイベントおよび、どのイベントが発生したときにイベント情報の書き込みあるいは読み出しを行うかの区別を表したメタ情報を記憶するメタ情報記憶手段と、上記画面遷移を起動するイベントが発生したときに、上記メタ情報記憶手段に記憶されているメタ情報に従って、上記画面遷移を行うために必要なイベント情報をキャッシュメモリに書き込むあるいは読み出すように制御するキャッシュ制御手段と、上記キャッシュ制御手段により上記イベント情報の書き込みが行われるときには、実際に発生したイベントに従って上記画面遷移に関する処理を実行し、上記キャッシュ制御手段により上記イベント情報の読み出しが行われるときには、当該読み出されたイベント情報に従って上記画面遷移に関する処理を実行する画面遷移実行手段とを備えたことを特徴とする。
【0019】
また、本発明による業務処理システムの構築支援装置は、業務処理の標準プログラムを実装するためのクラスを生成する際に、当該標準プログラムを実装するためのクラスをスーパークラスとして生成するとともに、そのスーパークラスを継承したサブクラスであって、上記業務処理の修正時に修正プログラムが実装される当初は空のサブクラスを生成するクラス生成手段と、上記修正プログラムを実装する際に、上記サブクラスに実装するように制御する修正プログラム実装手段とを備えたことを特徴とする。
【0020】
本発明の他の態様では、様々なGUI部品をエディタ画面上に貼り付けることによって画面の作成および編集を行う画面設計手段からの入力情報に基づいて、業務処理のオブジェクト間でやり取りするデータの構造体に関する定義情報を生成するバリューオブジェクト定義手段と、上記バリューオブジェクト定義手段により生成されたバリューオブジェクトの定義情報に基づいて、画面内に配置された項目のデータを保持するためのXML形式のバリューオブジェクトを生成するバリューオブジェクト生成手段とを備えたことを特徴とする。
【0021】
本発明の他の態様では、上記画面設計手段からの入力情報に基づいて、画面に含まれる1以上の項目、各項目の属性および画面レイアウトに関する定義情報を生成する画面定義手段と、上記画面定義手段により生成された画面の定義情報に基づいて、XHTML形式の画面デザインを生成する画面生成手段と、上記画面生成手段により生成されたXHTML形式の画面デザイン情報と、上記バリューオブジェクト生成手段により生成されたXML形式のバリューオブジェクトとを用いてHTML形式の画面を生成する際の変換ルールを定義したXSL形式の変換情報を生成する変換情報生成手段とを備えたことを特徴とする。
【0022】
本発明の他の態様では、データベースにアクセスする際のSQL形式の命令文に関する定義情報を生成するSQL定義手段と、上記SQL定義手段により生成された定義情報に基づいて、上記データベースにアクセスするためのデータアクセスオブジェクトであって、上記データベースにアクセスする際に使用する複数の検索項目に関して、全ての検索項目を含むデータアクセスオブジェクトを生成するデータアクセスオブジェクト生成手段とを備えたことを特徴とする。
【0023】
本発明の他の態様では、様々なGUI部品をエディタ画面上に貼り付けることによって画面の作成および編集を行う画面設計手段からの入力情報に基づいて、画面に含まれる1以上の項目、各項目の属性および画面レイアウトに関する定義情報を生成する画面定義手段と、上記画面定義手段により定義される各項目の属性中に含まれるイベントの設計定義情報に基づいて、画面遷移を起動するイベントおよびどのイベントが発生したときにイベント情報の書き込みあるいは読み出しを行うかの区別を表したメタ情報を生成するメタ情報生成手段とを備え、上記メタ情報は、上記画面遷移を起動するイベントが発生したときに、当該画面遷移を行うために必要なイベント情報をキャッシュメモリに書き込むか読み出すかを特定するために使用され、上記イベント情報の読み出しが行われるときには当該読み出されたイベント情報に従って上記画面遷移に関する処理を実行するように成された情報であることを特徴とする。
【0024】
また、本発明の業務処理システム用プログラムは、請求項1〜6の何れか1項に記載の各手段としてコンピュータを機能させるためのプログラムであることを特徴とする。
【0025】
また、本発明の業務処理システムの構築支援用プログラムは、請求項7〜11の何れか1項に記載の各手段としてコンピュータを機能させるためのプログラムであることを特徴とする。
【0026】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。図1は、本実施形態による業務処理システムの概略構成を示す図である。図1に示すように、本実施形態の業務処理システムは、クライアント層に相当するクライアント1、プレゼンテーション層および制御層に相当するWebサーバ2、ドメインモデル層に相当するWebアプリケーションサーバ3、データベース層に相当するDBサーバ4を備えて構成されている。
【0027】
クライアント1上ではブラウザ1aが動作し、Webサーバ2を通じてGUIを含む種々のWebページを取得して表示することが可能である。すなわち、クライアント1のブラウザ1aは、Webサーバ2に対してHTML情報の送信を要求する。このHTML情報の送信要求を受けたWebサーバ2は、Webアプリケーションサーバ3を介してDBサーバ4に問い合わせを行い、要求に対応する必要なデータを取得する。そして、取得したデータを用いてWebページを構成し、HTMLソースコードとしてブラウザ1aに返送する。ブラウザ1aは、Webサーバ2から受け取ったHTMLソースコードを解析し、そのソースコード中に含まれる情報を画面表示する。
【0028】
Webサーバ2は、クライアント1からの要求に応じて、Webアプリケーションサーバ3およびDBサーバ4と共に動作し、要求元のクライアント1が持つブラウザ1aに対して各種のWebページを提供する。このWebサーバ2には、物理的な画面編集を行うView(ユーザインタフェース)2aと、1つの画面内でイベントの制御を行うとともに、画面間の遷移を行うController(制御部)2bとが含まれている。これらのユーザインタフェース2aおよび制御部2bは、クライアント1から要求があったときに起動する。
【0029】
Webアプリケーションサーバ3は、受注、伝票処理、商品の在庫管理、会計などの様々な業務に特化した処理を行う。具体的には、Webサーバ2からの要求を受けてデータベース検索を行い、その結果をWebサーバ2に通知する処理を行う。このように、Webサーバ2から業務部分を専門に行うWebアプリケーションサーバ3を独立させることにより、Webサーバ2がクライアント1の窓口処理に専念できる環境を作っている。
【0030】
本実施形態では、Webアプリケーションサーバ3をドメインマネージャ3aとビジネスロジック3bとの2層に機能分解しているところに特徴がある。ドメインマネージャ3aは、イベント単位の一連の業務処理を制御するものであり、正規化されたトランザクションを実行する。正規化されたトランザクションとは、例えば要求に対応するビジネスロジック3bを起動する処理を言い、業務ロジックの内容によらず汎用化できるものである。
【0031】
一方、ビジネスロジック3bは、オブジェクト設計にて抽出された業務ロジック単位に存在し、個々の業務処理そのものを実行する。このビジネスロジック3bは、顧客の実際の業務に合わせて作り込まれる部分であり、各顧客に特有の業務ロジックが実装される。これらのドメインマネージャ3aおよびビジネスロジック3bは、複数のコンポーネント(部品)として存在する。
【0032】
DBサーバ4は、Webアプリケーションサーバ3からの要求に応じてデータベース4aの検索を行い、その結果取り出したデータをWebアプリケーションサーバ3に提供する処理を行う。
【0033】
以上のような構成において、ユーザインタフェース2a、制御部2bおよびドメインマネージャ3aについては、これらの設計定義情報をもとにソースコードを自動的に生成する。従来はドメインマネージャ3aとビジネスロジック3bとが一体となってModelが構成され(図11参照)、そこには顧客特有の汎用化できない業務ロジックが含まれていたため、Modelを自動生成することはできなかった。これに対して、本実施形態では、Modelをドメインマネージャ3aとビジネスロジック3bとに切り分けることにより、少なくともドメインマネージャ3aについては自動生成ができるようにしている。
【0034】
また、制御部2bとドメインマネージャ3aとの間でやり取りするデータを保持するためのバリューオブジェクト(VO)や、ドメインマネージャ3aとビジネスロジック3bとの間でやり取りするデータを保持するためのバリューオブジェクト(VO)、ビジネスロジック3bがデータベース4aにアクセスする際に使用するデータアクセスオブジェクト(DAO)も、それらの設計定義情報をもとに自動的に生成する。
【0035】
以下に、これらの自動生成の仕組みについて説明する。図2は、本実施形態による業務処理システム100およびその構築支援装置200の構成例を示す図である。なお、この図2において、図1に示した機能ブロックと同一の機能を有する部分には同一の符号を付して示している。
【0036】
図2において、画面エディタ300は、キーボードやマウスなどを用いて、各種ボタン、チェックボックス、リストボックス、ラジオボタン、コンボボックス、テキストボックス等の様々なGUI部品をエディタ画面上に貼り付けることによって画面の作成および編集ができるようにした画面設計支援ツールである。画面定義部11は、画面に含まれる1以上の項目や各項目の属性(長さ、タイプ、イベント等)、画面レイアウト等を定義する。この画面設計定義情報は、画面エディタ300の入力情報に基づいてジェネレートする。
【0037】
ここで、ジェネレートとは、入力情報を所定の変換規則に従って変換し、その結果を出力すること言う。入力情報には、出力情報を得るために必要なデータ項目の他に、変換規則中のどのパターンで変換を行うのかの変換パターン名も含まれる。変換規則には複数の変換パターンが含まれ、変換パターン毎に異なるフォーマット変換のルールが記述されている。ジェネレートの実行時は、入力情報によって指定される変換パターンを探索し、そこに記述されている変換規則に従って、あらかじめ定められたフォーマットに入力情報を変換する。このジェネレートの意味は、他の機能ブロックでも同様である。
【0038】
画面生成部12は、画面定義部11より出力される画面レイアウトの設計定義情報に基づいて、ユーザインタフェース2aに相当するXHTML(eXtensible HyperText Markup Language)形式の画面や帳票等のデザイン(どの項目をどこに配置するか等のレイアウトだけを決めた雛形)をジェネレートする。ユーザは、ここでジェネレートされた画面デザイン2aをHTMLエディタ(図示せず)によって手作業で編集することにより、完成版を作成する。
【0039】
なお、XHTMLは、HTML(HyperText Markup Language)をXML(eXtensible Markup Language)形式に合わせて修正したものであり、任意のタグ名称を使用できる、データの階層構造をそのまま定義できる、などのXMLの利点を活かすことが可能である。
【0040】
フレームワーク生成部13は、画面定義部11より出力されるイベント(画面に対する操作)等の設計定義情報に基づいて、イベントに応じて使用するバリューオブジェクト5aとドメインマネージャ3aとを決定するためのメタ情報をジェネレートする。ここでジェネレートされたメタ情報は、制御部2bを構成するフレームワークにおいて保持される。フレームワーク2bは、当該メタ情報に基づいて、1つの画面内で発生するイベントを検出し、発生したイベントに対応するバリューオブジェクト5aとドメインマネージャ3aとを起動して画面の遷移を行うこととなる。
【0041】
VO定義部14は、画面エディタ300の入力情報に基づいて、Webサーバ2の制御部(フレームワーク)2bとWebアプリケーションサーバ3のドメインマネージャ3aとの間でやり取りするデータの構造体に関する定義情報をジェネレートする。この構造体は、Java(登録商標)の世界ではバリューオブジェクトと呼ばれる。VO生成部15は、VO定義部14より出力されるバリューオブジェクトの設計定義情報に基づいて、各画面内に配置された項目のデータを保持するためのXML形式のバリューオブジェクト5a(データの入れ物)をジェネレートする。
【0042】
ビジネスルール設計ツール400は、キーボードやマウスなどを用いて様々なGUI部品をエディタ画面に貼り付けることによって、ビジネスフローダイアグラムやデータフローダイアグラム等を作成および編集するビジネスルール定義の支援ツールである。なお、ビジネスフローダイアグラムとは、組織と業務手順とを軸にして、処理の内容と入出力の流れとを記述した流れ図を言う。また、データフローダイアグラムとは、各業務で使用するデータとデータ処理(プロセス)とを記述した流れ図を言う。
【0043】
DM定義部16は、ビジネスルール設計ツール400の入力情報に基づいて、ドメインマネージャ3aが実行するビジネスロジック3bの呼び出しの順序、ビジネスロジック3bの呼び出しロジック(例えば、if分岐やループ等)に関する設計定義情報をジェネレートする。DM生成部17は、DM定義部16より出力される設計定義情報に基づいて、トランザクション単位にビジネスロジック3bを起動するドメインマネージャ3aをジェネレートする。
【0044】
BL定義部18は、ビジネスルール設計ツール400の入力情報に基づいて、ビジネスロジック3bで使用するデータの項目とその属性に関する設計定義情報をジェネレートする。VO生成部19は、BL定義部18より出力される設計定義情報に基づいて、ビジネスロジック3bに入出力するデータを保持するためのXML形式のバリューオブジェクト5bをジェネレートする。
【0045】
DB設計ツール500は、例えばER図からデータベース4aのテーブルを設計するための支援ツールである。このDB設計ツール500は、データ項目単位で整合性を図るためにデータ分析をしたり、データベース4aにアクセスする際のSQL文を設計したりする機能を備えている。
【0046】
SQL定義部20は、DB設計ツール500の入力情報に基づいて、データベース4aにアクセスする際のSQL(Structured Query Language)形式の命令文に関する設計定義情報をジェネレートする。DAO生成部21は、SQL定義部20より出力される設計定義情報に基づいて、ビジネスロジック3bからデータベース4aにアクセスするためのDAO(Data Access Object)6をジェネレートする。
【0047】
DB定義部22は、DB設計ツール500の入力情報に基づいて、データベース4aのテーブルに関する設計定義情報をジェネレートする。DDL等生成部23は、DB定義部22より出力される設計定義情報に基づいて、データベース4aを構成するテーブル全体の作成・変更・削除などを行うためのDDL(Data Definition Language)や、テーブル内のレコードの追加・検索・更新・削除などを行うためのDML(Data Manipulation Language)をジェネレートする。
【0048】
変更管理部24は、ビジネスロジック3bのソースコードの変更(修正)情報を登録し、当該ソースコードの変更を管理する。この変更管理の詳細を、図3を用いて説明する。ここでは図3(a)に示すように、あるビジネスロジック3bにおいて、入力したデータを処理して出力するのに3つのプログラム(オブジェクト)PG1,PG2,PG3を順に実行する場合を考える。
【0049】
開発者がプログラムを書くと、変更管理部24は、その書かれたプログラムをスーパークラスに定義するとともに、それから継承される空の容器であるサブクラスを自動生成する。すなわち、開発者が図3(a)のように3つのプログラムPG1,PG2,PG3を書いた場合、それらは継承関係の親となる3つのスーパークラス101〜103として実装される。また、これらスーパークラス101〜103を継承してそれぞれの子となるサブクラス201〜203が自動的に生成される。
【0050】
そして、変更管理部24は、このように自動生成したサブクラス201〜203を順次実行することによって一連の処理を行うように定義しておく。このように変更管理部24は、スーパークラス101〜103とサブクラス201〜203との親子関係を管理する。サブクラス201〜203は変更管理部24によって自動生成されるので、開発者にとっては普通にプログラムを書くのと変わりがなく、手間は増えない。
【0051】
以上のように実装した場合、実際には図3(a)の点線矢印で示すような動きで3つのプログラムPG1,PG2,PG3が動作する。すなわち、最初にサブクラス201が参照されるが、ここは中身が空のままである。しかし、このサブクラス201では、その親であるスーパークラス101を参照して処理を実行する。これにより、スーパークラス101に実装されたプログラムPG1が実行され、その処理結果がサブクラス201から次のサブクラス202に引き渡されることになる。
【0052】
サブクラス202も中身が空であるが、ここではその親であるスーパークラス102を参照して処理を実行する。これにより、スーパークラス102に実装されたプログラムPG2が実行され、その処理結果が次のサブクラス203に引き渡されることになる。サブクラス203でも同様に、その親であるスーパークラス103に実装されたプログラムPG3を実行し、その処理結果を出力する。
【0053】
このように、本実施形態では当初からサブクラス201〜203を生成してこれを実行するように定義するが、その中身は空にしておき、親であるスーパークラス101〜103にプログラムPG1,PG2,PG3を実装する。これにより、スーパークラス101〜103に相当する部分しか持たない普通のオブジェクトと同様に処理を行うことができる。業務処理システムを顧客にパッケージとして提供する場合には、図3(a)のように実装した状態で提供する。
【0054】
一方、このようなパッケージの提供を受けた顧客が、自分の業務内容に合わせてビジネスロジック3bをカスタマイズする場合や、仕様変更に応じてビジネスロジック3bを修正する場合には、その修正内容はサブクラス201〜203に実装する。例えば、図3(b)に示すように、標準プログラムPG2に修正を加える場合は、その修正プログラムPG2’をサブクラス202に実装する。このとき変更管理部24は、修正プログラムPG2’をサブクラス202に実装するように制御するとともに、標準プログラムPG2と修正プログラムPG2’との差分内容を管理する。
【0055】
この図3(b)のようにカスタマイズした場合も、プログラム実行の動きは図3(a)の場合と変わらない。ただし、サブクラス202には修正プログラムPG2’が書かれているので、スーパークラス102に実装されているプログラムPG2を引き継ぎつつ、修正部分については修正プログラムPG2’の処理を実行することになる。
【0056】
図3(c)のように、当初実装されていなかったプログラムPG4を新規で実装することも可能である。この場合は、変更管理部24によって新たにスーパークラス104とサブクラス204とが追加され、追加のプログラムPG4はサブクラス204に実装される。スーパークラス104は空のままである。この場合、サブクラス204では自身に実装されているプログラムPG4をそのまま実行し、その処理結果を次のサブクラス203に出力することになる。
【0057】
図4は、従来のカスタマイズ法を示す図である。図4(a)に示すように、従来は、大元の標準プログラムPG2を修正プログラムPG2”に書き換えてしまうやり方が一般的であった。この場合は、修正したプログラムPG2”に合わせて他のプログラムPG1,PG3も多少の修正を加える必要がある。そのため、元の標準パッケージの状態が殆ど維持できなくなってしまう。顧客毎にこのようなカスタマイズを行うと、標準パッケージと異なるプログラムが多数出来上がることになる。この場合にパッケージ提供者は、これら全てのプログラムを管理する必要があり、プログラム管理が極めて煩雑になってしまう。
【0058】
また、図4(b)に示すように、修正しようとするプログラムPG2についてのみサブクラスを新たに定義し、そのサブクラスに修正プログラムPG2’を実装する方法もあった。しかし、この場合は、プログラムPG1からの呼び先を標準プログラムPG2から修正プログラムPG2’に変更する必要がある。また、プログラムPG3への呼び元も、標準プログラムPG2から修正プログラムPG2’に変更する必要がある。そのため、プログラムPG1,PG3のインタフェース部分も合わせて修正しなければならなかった。
【0059】
これに対して、図3に示す本実施形態によれば、標準パッケージとして提供したプログラムPG1,PG2,PG3には一切手を加える必要がない。すなわち、例えばプログラムPG2を修正したい場合でも、スーパークラス102の標準プログラムPG2はそのままに、サブクラス202に修正プログラムPG2’を書くだけで、その差分が活かされるようになる。また、サブクラス202に修正プログラムPG2’が書かれた場合でも、そのサブクラス202が元々呼ばれるように設定されているので、スーパークラス101,103のプログラムPG1,PG3についても何ら修正を加える必要がない。
【0060】
これにより、標準パッケージのプログラムをカスタマイズする際の工数を大幅に削減することができる。また、パッケージ提供先の顧客が多数あって、それぞれの顧客で異なるカスタマイズをするような場合にも、パッケージ提供元では基本的に標準パッケージのプログラムのみを管理していれば良く、図4のような手法によって顧客毎に変えられたプログラムを1つ1つ管理する必要がなくなる。よって、プログラム管理が非常に容易になる。
【0061】
さらに、標準パッケージそのものがバージョンアップされた場合、顧客では、サブクラス201〜203の修正プログラムはそのまま使い、スーパークラス101〜103の標準プログラムだけを入れ替えれば良い。この場合、バージョンアップされた標準プログラムのメソッドをサブクラス201〜203が引き継ぎながら、既存の修正プログラムを動かすことができる。よって、顧客毎に修正が加えられた後でもバージョンアップが容易にできるというメリットも有する。
【0062】
次に、図2に示す制御部(フレームワーク)2bの一機能について説明する。図5に示すように、フレームワーク2bは、XSLT(eXtensible Stylesheets Language Transformation)プロセッサ32を備え、全ての画面のI/Oを行う。画面のI/Oには、画面上のどこに何の項目を配置するか等のレイアウトだけを決めたXHTML形式の画面デザイン2aと、その画面上に埋め込まれるXML形式の画面データであるバリューオブジェクト5aと、XSL(eXtensible Stylesheets Language)で書かれた変換情報31とを使用する。
【0063】
すなわち、XSLTプロセッサ32は、画面で発生したイベントをトリガとして情報取得機能を起動し、空のバリューオブジェクト5aに画面データを取り込む。このとき取り込む画面データは、ドメインマネージャ3aでビジネスロジック3bのクラスによって集められたデータである。その後、マッピング機能が起動し、変換情報31をもとに、画面デザイン2aとバリューオブジェクト5aの画面データとを用いてXSL変換を行うことにより、ブラウザ1aで閲覧可能なHTML形式の画面33を生成する。
【0064】
図6は、本実施形態による画面生成の一例を示す図である。図6において、画面デザイン2aは、コンボボックスのレイアウトだけを定義したものであり、コンボボックスの項目名が例えば“todofuken1”と付けられている。このコンボボックスに埋め込むデータは、バリューオブジェクト5aに定義されている。ここで、<todofuken1>のタグで示された部分には、コンボボックスで実際に選択されたデータが入る。また、<option>のタグで示された部分には、データベース4aから取得してくるデータが属性として記述されている。
【0065】
XSLTプロセッサ32は、コンボボックスが操作されたことをトリガとして情報取得機能を起動し、<option>で示されるデータをデータベース4aからバリューオブジェクト5aに取り込む。そして、マッピング機能を起動し、データを取り込んだバリューオブジェクト5aと画面デザイン2aとを用いてXSL変換を行うことにより、コンボボックス内に実際に都道府県のデータが入力されたHTML形式の画面33を生成する。
【0066】
図7は、本実施形態による画面生成の他の例を示す図である。図7において、画面デザイン2aは、一覧表のレイアウトだけを定義したものであり、一覧表の項目名が例えば“todofuken2”と付けられている。この一覧表に埋め込むデータは、バリューオブジェクト5aに定義されている。ここで、<todofuken2>のタグで示された部分には、一覧表で実際に選択されたコードが入る。また、<option>のタグで示された部分には、データベース4aから取得してくるデータに対応するコードが属性として記述されている。
【0067】
XSLTプロセッサ32は、一覧表の表示要求が成されたことをトリガとして情報取得機能を起動し、<option>で示されるコードに対応するデータをデータベース4aからバリューオブジェクト5aに取り込む。そして、マッピング機能を起動し、データを取り込んだバリューオブジェクト5aと画面デザイン2aとを用いてXSL変換を行うことにより、コードと都道府県名とを対応付けた一覧表を有するHTML形式の画面33を生成する。さらに、XSLTプロセッサ32は、この一覧表の中から何れかのコードが選択されると、次に遷移した画面33’では、そのコードを対応する都道府県名のデータに置き換えて表示する。
【0068】
ここで説明したように、本実施形態では、画面デザイン2aをXHTMLで作成し、その画面に貼り付ける画面データであるバリューオブジェクト5aをXMLで作成しておくことにより、XSLの簡単な変換情報31によって画面表示を行うようにしている。これにより、画面デザイン2aと、画面データ(バリューオブジェクト5a)と、画面コントロールを行うロジック(XSLTプロセッサ32)とを完全に切り分けることができる。
【0069】
これに対して従来は、図8に示すように、Webサーバ41上で実行されるモジュール化されたJavaプログラムであるサーブレット42において、画面デザイン42aと、画面データ42bと、ロジック(画面へのデータ入力、入力データのチェック、データの加工、データベースに対するデータの伝達などを行うプログラム)42cとが1つのモジュールとして記述されていた。
【0070】
図8に示す従来のシステムでは、Webアプリケーションサーバ45は、ソフトウェアをオブジェクト化して統合するEJB(Enterprise JanaBeans)コンテナ46を備えている。この中に作成された数種類のビジネスロジックは、EJBコンポーネント46aとしてEJBコンテナ46上で動作する。WebブラウザからWebサーバ41に画面表示の要求が与えられると、Webサーバ2ではサーブレット42が動作し、Webアプリケーションサーバ45にアクセスして必要なEJBコンポーネント46aを呼び出す。
【0071】
呼び出されたEJBコンポーネント46aは、必要に応じてデータベースにアクセスして所定の処理を行い、その結果をWebサーバ41に返す。Webサーバ41上のサーブレット42は、この結果を利用してWebページを生成する。その後、JSP(Java Server Pages)43が起動して、Webブラウザで閲覧可能なHTML形式の画面44を生成する。
【0072】
このように、従来は、画面デザインと画面データとが1つのモジュールとして記述されていたので、画面データの変更は画面デザインと一体として行う必要があった。これに対して、本実施形態では、画面デザインと画面データとが完全に分離されている。また、画面デザインの中に画面データを埋め込む処理を、ビジネスロジック3bの機能としてではなく、フレームワーク2bの機能としてXSLTプロセッサ32が行うようにしている。
【0073】
したがって、画面デザイン2aやビジネスロジック3bには一切変更を加えることなく、画面データだけを動的に変更することができる。例えば、図6や図7の例で都道府県のデータを1つ増やしたい場合は、バリューオブジェクト5aだけを変更すれば良い。これにより、画面、帳票、CSV等のユーザインタフェース2aのカスタマイズを容易に行うことができる。
【0074】
また、従来は、画面デザインとロジックとが1つのモジュールとして記述されていたので、単に画面デザインを変えたい場合でも、プログラムの内容を知らないと画面デザインを適切に変更することができなかった。逆に、単にロジックを変えたい場合でも、画面デザインのことを知らないとプログラムを適切に変更することができなかった。これに対して、本実施形態では、画面デザインとロジックとが完全に分離されているので、画面デザインの修正やロジックの修正を独立して行うことができ、画面のカスタマイズが容易にできる。
【0075】
また、本実施形態では、画面デザイン2aと変換情報31とも別に分けているので、業務処理システムに必要な複数の画面デザイン2aについて共通に見せ方を少し変えたいというような場合には、個々の画面デザイン2aを修正するのではなく、変換情報31の変換ルールを変更するだけで対応することができる。しかも、画面デザイン2a自体は、その雛形が構築支援装置200によって自動的に生成されるので、決められたルールに従ってパターン化されたものとなっている。そのため、作成される画面デザイン2aが多数あっても、必要な変換情報31の種類はわずかで済み、そのわずかな変換情報31を変えるだけで数千枚もの画面デザイン2aを簡単にカスタマイズすることができる。
【0076】
さらに、本実施形態は、フレームワーク2bとドメインマネージャ3aとの間、ドメインマネージャ3aとビジネスロジック3bとの間における全てのクラス間のデータをXML形式でやり取りしていることにも特徴がある。このようにすることにより、複雑なデータ形式を1つの同一のデータの集まりとして扱うことができる。
【0077】
これにより、カスタマイズによって受け渡すデータの項目を増減したい場合にも、XMLの記述中において項目を単に増減するだけで変更が加えられる。しかもそのような変更は、図2の画面エディタ300にて行えば良い。ここで必要な変更を加えれば、その変更内容が反映されたバリューオブジェクト5aが自動的に生成される。したがって、本実施形態によれば、プログラム間でやり取りするデータのカスタマイズを容易に行うことができるというメリットも有する。
【0078】
また、従来はデータの受け渡しをメモリを介して行っていたので、あるプログラムから他のプログラムに受け渡されたデータが正しいものであるかどうかを検証するためには、受け渡しに使ったメモリ内のデータを参照する必要がある。しかし、メモリ内のデータを見るのは楽ではない。これに対して、本実施形態では、XML形式でデータの受け渡しが行われるため、どういうデータがどのように渡されているのかをテキスト形式で簡単に参照することができる。よって、テストや障害発生時のデータ追跡なども容易に行うことができる。
【0079】
次に、フレームワーク2bが行う画面遷移のイベントキャッシュ機能について説明する。図9は、本実施形態のイベントキャッシュ機能を説明するための図である。図9では、画面Aの表示中に図示しない項目にデータを入力した後、「次へ」のボタンを操作すると画面Bに遷移する。また、画面Bの表示中に図示しない項目にデータを入力した後、「次へ」のボタンを操作すると画面Cに遷移する。さらに、画面Cの表示中に「戻る」のボタンを操作すると画面Bに戻る例について示している。
【0080】
このような画面遷移の際には、図5で説明した仕組みが実行される。例えば、画面Aから画面Bに遷移する際には、ボタン操作というイベントの発生に応じてプログラムPG1が実行される。プログラムPG1は、データベース4aにアクセスして画面Bの表示に必要なデータを取得し、その取得したデータを用いてHTMLの画面Bを生成して表示する。
【0081】
画面Bから画面Cに遷移する際も同様の手順を踏む。すなわち、画面B上でのボタン操作というイベントの発生に応じて、プログラムPG2が起動する。プログラムPG2は、データベース4aにアクセスして画面Cの表示に必要なデータを取得し、その取得したデータを用いてHTMLの画面Cを生成して表示する。
【0082】
画面Cから画面Bに戻る際にも、通常はそれ専用のプログラム(図示せず)が起動する。そして、データベース4aから画面Bの表示に必要なデータを再取得し、そのデータを用いてHTMLの画面Bを生成して表示する。このように、画面Cから画面Bへ戻るような画面遷移を実装するためには、従来は、戻り用のプログラム(図示せず)を用意する必要があった。これに対して、本実施形態では以下に述べるイベントキャッシュ機能を備えることにより、このプログラムを全く不要とする。
【0083】
すなわち、本実施形態では、何のイベントが発生したときにイベントキャッシュに書き込みを行い、何のイベントが発生したときにイベントキャッシュの内容を使用するかということを、図2の構築支援装置200を用いてフレームワーク2bに上述のメタ情報として登録しておく。この登録は、図2の画面定義部11およびフレームワーク生成部13を用いて行う。図9に即して説明すると、画面Aおよび画面Bの「次へ」ボタンが押されたときはイベントキャッシュメモリ50に書き込みを行い、画面Cの「戻る」ボタンが押されたときはイベントキャッシュメモリ50のキャッシュ内容を使用するということをメタ情報として定義する。
【0084】
イベントキャッシュメモリ50は、先入れ後出しのメモリである。このイベントキャッシュメモリ50に記憶される情報は、指定されているイベントの名称およびそのイベントを実行するための入力データである。例えば、画面A上で「次へ」ボタンが押されたときは、そのイベント名と入力データとが、画面Bを表示するイベントとしてイベントキャッシュメモリ50に格納される。また、画面B上で「次へ」ボタンが押されたときは、そのイベント名と入力データとが、画面Cを表示するイベントとしてイベントキャッシュメモリ50に格納される。
【0085】
一方、画面C上で「戻る」ボタンが押されたときは、フレームワーク2bは、イベントキャッシュメモリ50を参照して、キャッシュ情報を取り出す。このとき取り出す情報は、自身の画面を表示するイベントを除いて最新に格納された情報である。図9の例の場合、
イベントキャッシュメモリ50に記憶されている最新のイベントは、画面Cを表示するイベントであるが、これは自身を表示するものであるので無視し、次に新しい画面Bを表示するイベントのキャッシュ情報を取り出す。
【0086】
そして、フレームワーク2bは、この取り出したキャッシュ情報に従って処理を実行する。ここで取り出したキャッシュ情報には、画面A上で「次へ」ボタンが押されたときのイベントの内容が記述されている。よって、この場合はプログラムPG1が実行され、HTMLの画面Bが生成されて表示されることになる。このように、本実施形態によれば、戻り専用のプログラムを用意しなくても、画面Cから画面Bに戻る画面遷移を実現することができる。よって、プログラム開発の工数を大幅に削減することができる。
【0087】
次に、図2に示したDAO6の機能について説明する。DAO6は、ビジネスロジック3bからデータベース4aにアクセスする際の処理を行うものであり、例えばSQL文による検索実行機能も備えている。通常のDAOでは、例えば検索項目が3つある場合、どの項目に検索条件が入力されたかによって、7個のプログラムに振り分けられて検索が実行される。
【0088】
つまり、従来は、3つの検索項目に対して、何れか1個の検索項目だけが入力された場合の検索プログラムを3つ、何れか2個の検索項目が入力された場合の検索プログラムを3つ、全ての検索項目が入力された場合の検索プログラムを1つ、合計7個の検索プログラムを作成する必要があった。これに対して本実施形態は、データ検索のSQL文として最大パターンの検索条件を設定して検索プログラムを1つ登録しておき、それから各種パターンの条件文を動的に生成して実行するようにする。
【0089】
図10は、上記最大パターンの検索条件を表したDAO6の構成例を示す図である。図10に示すように、本実施形態のDAO6には、検索によって取得するデータ項目61と、検索対象のテーブル62と、3つの検索項目α、β、γを備えた最大パターンの検索条件63とを含むSQL文が記述されている。このようなSQL文による検索プログラムは、検索条件63に関して実際に画面上で入力された検索項目の条件だけを使い、入力されていない検索項目は空のままで検索を実行する。
【0090】
このようなDAO6は、上述したように図2の構築支援装置200によって自動的に生成される。このとき図2のDAO生成部21は、SQL定義部20より出力される設計定義情報に基づいて、指定されたデータベースベンダのフォーマットに合わせたSQL文のDAO6を自動生成する。DAO生成部21は、種々のベンダ用のSQL文に合わせたDAO6の生成ロジックを備えている。したがって、異なるベンダ用のDAO6が欲しいときは、DAO生成部21での生成ロジックを異なるベンダ用のものに切り替えるだけで良く、DAO6自身を手作業で書き換える必要はない。
【0091】
以上のように、本実施形態では、通常はビジネスロジック3bなどの業務アプリケーションに記述されるSQL文をDAO6として外出しにして、そのDAO6には最大パターンの検索条件だけを登録してそれから各種パターンの条件文を動的に生成するようにしたので、1個のDAO6を作るだけで複数パターンの検索プログラムの処理を実行することができ、SQL文作成のプログラム製造が容易になる。また、異なるベンダ用のDAO6を作るときにも構築支援装置200を使って簡単に生成できるので、DAO6の生産性を向上させることができる。
【0092】
以上に説明した本実施形態による業務処理システム100およびその構築支援装置200は、実際にはコンピュータのCPUあるいはMPU、RAM、ROMなどを備えて構成され、RAMやROMに記憶されたプログラムが動作することによって実現できる。
【0093】
したがって、コンピュータが上記本実施形態の機能を果たすように動作させるプログラムを例えばCD−ROMのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものである。上記プログラムを記録する記録媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光ディスク、光磁気ディスク、DVD、不揮発性メモリカード等を用いることができる。また、上記プログラムをインターネット等のネットワークを介してコンピュータにダウンロードすることによっても実現できる。
【0094】
また、上記本実施形態による業務処理システム100あるいはその構築支援装置200の機能をネットワーク環境で実現するべく、全部あるいは一部のプログラムが他のコンピュータで実行されるようになっていても良い。
【0095】
また、コンピュータが供給されたプログラムを実行することにより上述の実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合や、供給されたプログラムの処理の全てあるいは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。
【0096】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0097】
【発明の効果】
本発明は上述したように、業務処理の標準プログラムをスーパークラスに実装させ、そのスーパークラスを継承したサブクラスであって、業務処理の修正時に修正プログラムが実装される空のサブクラスを当初から用意しておくようにしたので、業務処理のカスタマイズによって実装される修正プログラムが標準プログラムと混ざらないようにすることができる。これにより、標準プログラムをカスタマイズする際の工数を大幅に削減することができるとともに、バージョンアップの容易性、管理の容易性を向上させることができる。
【0098】
本発明の他の特徴によれば、クラス間のデータをXML形式でやり取りするようにしたので、複雑なデータ形式を1つの同一のデータの集まりとして扱うことができる。また、受け渡しすべき項目が増減した際の変更が容易となるばかりでなく、受け渡しデータをXML形式で参照できるため、テストや障害発生時のデータ追跡を容易に行うことができる。
【0099】
本発明の他の特徴によれば、画面デザインをXHTML形式で生成するとともに、その画面に貼り付けるデータ(バリューオブジェクト)をXML形式で生成して、これらをXSL変換することによってHTMLの画面表示を行うようにしたので、画面デザインと画面データとを完全に切り分けることができ、カスタマイズが容易にできるようになる。
【0100】
本発明の他の特徴によれば、データ検索のSQL文として最大の検索条件パターンのみを登録しておくことで、条件文を動的に生成して実行するようにしたので、SQL文生成のプログラム作成が容易になり、データベースへのアクセスプログラムの生産性を向上させることができる。
【0101】
本発明の他の特徴によれば、指定されている画面遷移の処理を行うために必要なイベント情報をキャッシュメモリに記憶しておき、後続の処理でキャッシュメモリのイベント情報を読み出してそれに従って画面遷移の処理を実行するようにしたので、画面遷移が複雑な場合の前画面に戻る処理や再描画処理のプログラムを生成する必要がなくなる。また、後続の処理へ前処理の入力データを引き渡す必要もなくなるので、シンプルなプログラム生成を行うことが可能となる。よって、プログラムの生産性を向上させることができる。
【0102】
以上のように、本発明によれば、業務処理システムに関するアプリケーション開発の生産性、メンテナンスの容易性、再利用性、仕様変更等に対する柔軟性を向上させることができる。
【図面の簡単な説明】
【図1】本実施形態による業務処理システムの概略構成を示す図である。
【図2】本実施形態による業務処理システムおよびその構築支援装置の構成例を示す図である。
【図3】本実施形態によるビジネスロジックの変更管理について説明するための図である。
【図4】従来のカスタマイズ法について説明するための図である。
【図5】本実施形態のフレームワークによる画面生成機能を説明するための図である。
【図6】本実施形態による画面生成の一例を示す図である。
【図7】本実施形態による画面生成の他の例を示す図である。
【図8】従来の画面生成処理について説明するための図である。
【図9】本実施形態のイベントキャッシュ機能を説明するための図である。
【図10】本実施形態による最大パターンの検索条件を表したDAOの構成例を示す図である。
【図11】従来の業務処理システムの概略構成を示す図である。
【符号の説明】
1 クライアント
1a ブラウザ
2 Webサーバ
2a ユーザインタフェース
2b 制御部(フレームワーク)
3 Webアプリケーションサーバ
3a ドメインマネージャ(DM)
3b ビジネスロジック(BL)
4 データベースサーバ
4a データベース(DB)
5a,5b バリューオブジェクト(VO)
6 データアクセスオブジェクト(DAO)
11 画面定義部
12 画面生成部
13 フレームワーク生成部
14 VO定義部
15 VO生成部
16 DM定義部
17 DM生成部
18 BL定義部
19 VO生成部
20 SQL定義部
21 DAO生成部
22 DB定義部
23 DDL等生成部
24 変更管理部
100 業務処理システム
200 構築支援装置
300 画面エディタ
400 ビジネスルール設計ツール
500 DB設計ツール[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a business processing system and a construction support apparatus, a business processing system program, and a business processing system construction support program.
[0002]
[Prior art]
Conventionally, when developing an application program using a high-level language such as COBOL, for example, a technique called structured programming has been used. In this method, a source code of a general-purpose component that defines a processing procedure and a processing method that can be patterned is generated, and this is effectively reused as an existing program asset.
[0003]
On the other hand, in recent years, development using a method called object-oriented programming has become common. Object-oriented has a function called inheritance. By using this inheritance function to generate source code, the generated source code can be reused more easily and flexibly. Therefore, the reusability as an existing program asset is improved as compared with the source code generated by the structured programming method.
[0004]
This object-oriented programming technique is often used when developing a client-server system including a client and a server. As one form of the client server system, there is a business processing system (also referred to as an ERP (Enterprise Resource Planning) system) integrating various business operations such as order receiving processing, slip processing, product inventory management processing, and accounting processing.
[0005]
Most of recent business processing systems are implemented as Web applications. A Web application usually has a GUI (Graphical User Interface) using a Web browser. Various attempts have been made to develop a Web application having such a GUI. However, in the case of a business processing system in which the amount of data to be handled and the number of screens are enormous, reusability and flexibility in changing specifications are excellent. The MVC model is valid.
[0006]
This MVC model is functionally decomposed into three types of model elements: Model (data), View (user interface), and Controller (control unit), and implements an application by combining these. FIG. 11 is a diagram illustrating a configuration example of a conventional Web application constructed using an MVC model.
[0007]
The business processing system shown in FIG. 11 is a three-layer Web client server system having a three-layer structure of a Web layer (presentation layer), a business logic layer, and a database layer. Each layer performs a specific process.
[0008]
A Web server belonging to the Web layer includes a view for physically editing a screen and a controller for controlling an event in one screen and performing transition between screens, and controls a web browser of a client. . Further, the application server belonging to the business logic layer has a Model for controlling a series of business processes such as extracting necessary data from a database (DB) and passing it to the View according to an instruction from the Controller.
[0009]
[Problems to be solved by the invention]
In recent business processing systems, complicated specifications have been required along with the complexity of business, and applications for realizing this are large-scale. Moreover, it is desired to construct such a large-scale system in a short time. However, in the past, application development was mostly done by hand. Further, when a program is divided and created by a large number of developers, it is difficult to maintain the consistency of the entire program. As a result, there are many defective parts such as leaks and errors, and the number of operations for correcting the defective parts increases, so that there is a problem that the productivity of system development does not increase.
[0010]
Further, among tasks targeted by the task processing system, there are many tasks in which specification changes frequently occur. When the business processing system is provided to the customer as a standard package, it is necessary to customize the provided business processing system according to the customer's request. In these cases, it is desired that the business processing system can be flexibly and easily changed in response to specification changes and customer requests. However, an application generated by hand has a very complicated structure in many cases, and it takes a lot of trouble and time to find the influence range when one application is changed. Therefore, there is a problem that the efficiency of maintenance is extremely low.
[0011]
Furthermore, if the standard package of the business processing system is customized according to the customer's request, even if the original standard package is upgraded by adding or changing functions, the customer's system cannot be upgraded accordingly. Would. In order to upgrade the customer's system, it was necessary to discard the old version of the customized system, introduce a new version of the standard package, and customize it again according to the customer's request. For this reason, there has been a problem that the customer is forced to spend a large amount of money and it takes time to customize the system again.
[0012]
The present invention has been made to solve such a problem, and it is possible to improve the productivity of application development, the ease of maintenance, the reusability, the flexibility for changing specifications, and the like of a business processing system. The purpose is to be able to.
[0013]
[Means for Solving the Problems]
The business processing system of the present invention is a superclass group that implements a standard program for business processing, and a subclass that inherits each superclass, and is initially an empty subclass in which the modification program is implemented when modifying the business processing. Object storage means for storing an object instantiated by a group; and control means for controlling the sequential execution of the subclasses inherited from the methods of the standard program implemented in the superclasses. It is characterized by.
[0014]
In another aspect of the present invention, an object storage means for storing an object in which a plurality of classes implementing a business processing program are instantiated, and data defined by a value object in an XML format are transferred between the plurality of classes. And control means for performing the control.
[0015]
In another aspect of the present invention, the object storage means controls a series of business processes in units of events and executes a normalized transaction, and a domain manager which exists in business logic units and executes each business process itself. A business logic is stored, and the control means performs control so as to transfer data defined by the value object in the XML format between the domain manager and the business logic.
[0016]
In another aspect of the present invention, a conversion rule is defined by using XHTML screen design information defining a screen design relating to business processing and the XML format value object defining data to be embedded on the screen. And XSL conversion in accordance with the XSL format conversion information to generate a screen in HTML format.
[0017]
In another aspect of the present invention, for a plurality of search items used when accessing a database, an object storage means for storing a data access object including all the search items, Control means for setting a search condition for a search item actually specified by a user, dynamically generating a conditional sentence of a corresponding pattern, and performing access to the database. Features.
[0018]
According to another aspect of the present invention, a meta information storage unit that stores an event that activates a screen transition and meta information that indicates which event is to be written or read when the event information is written, Cache control means for controlling to write or read event information necessary for performing the screen transition to or from a cache memory in accordance with meta information stored in the meta information storage means when an event for initiating a transition occurs. When the event information is written by the cache control unit, the process related to the screen transition is executed in accordance with an event that has actually occurred. When the event information is read by the cache control unit, the readout is performed. Screen transition according to the event information Characterized by comprising a screen transition means for executing the processing related.
[0019]
Further, the business processing system construction support device according to the present invention, when generating a class for implementing a standard program for business processing, generates a class for implementing the standard program as a super class, and A class generation unit that generates an initially empty subclass that is a subclass that inherits a class and that is to be modified when the above-mentioned business process is modified, and that is implemented in the above-described subclass when the above-mentioned modification program is implemented. And a correction program mounting means for controlling.
[0020]
According to another aspect of the present invention, the structure of data exchanged between business processing objects based on input information from screen design means for creating and editing a screen by pasting various GUI parts on an editor screen. Value object defining means for generating definition information about the body, and a value object in an XML format for holding data of items arranged in the screen based on the value object definition information generated by the value object defining means And value object generating means for generating
[0021]
According to another aspect of the present invention, there is provided a screen definition unit for generating, based on input information from the screen design unit, definition information on one or more items included in a screen, attributes of each item, and a screen layout, Means for generating a screen design in the XHTML format based on the definition information of the screen generated by the means; screen design information in the XHTML format generated by the screen generating means; Conversion information generating means for generating conversion information in the XSL format that defines conversion rules for generating a screen in the HTML format using the value object in the XML format.
[0022]
According to another aspect of the present invention, there is provided an SQL defining means for generating definition information relating to an SQL statement in accessing a database, and an access to the database based on the definition information generated by the SQL defining means. A data access object generating means for generating a data access object including all the search items with respect to a plurality of search items used when accessing the database.
[0023]
According to another aspect of the present invention, one or more items included in a screen, each item included in the screen, based on input information from screen design means for creating and editing a screen by pasting various GUI parts on the editor screen Screen definition means for generating definition information about the attributes and screen layouts of the screen, and an event for activating a screen transition based on the design definition information of an event included in the attribute of each item defined by the screen definition means, and which event And meta information generating means for generating meta information indicating whether to perform writing or reading of the event information when the event occurs, wherein the meta information is generated when an event that activates the screen transition occurs. Used to specify whether to write or read event information required to perform the screen transition to / from the cache memory. , Characterized in that in accordance with the read event information is information made a to execute the process related to the screen transition when the reading of the event information.
[0024]
Further, a business processing system program according to the present invention is a program for causing a computer to function as each means according to any one of
[0025]
A program for supporting construction of a business processing system according to the present invention is a program for causing a computer to function as each means according to any one of claims 7 to 11.
[0026]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a schematic configuration of a business processing system according to the present embodiment. As shown in FIG. 1, a business processing system according to the present embodiment includes a
[0027]
On the
[0028]
The
[0029]
The Web application server 3 performs processing specialized for various tasks such as order receiving, slip processing, inventory management of goods, and accounting. Specifically, it performs a database search in response to a request from the
[0030]
The present embodiment is characterized in that the Web application server 3 is divided into two layers of a
[0031]
On the other hand, the
[0032]
The DB server 4 performs a process of searching the
[0033]
In the configuration described above, the source code is automatically generated for the
[0034]
A value object (VO) for holding data exchanged between the
[0035]
Hereinafter, the mechanism of these automatic generations will be described. FIG. 2 is a diagram illustrating a configuration example of the
[0036]
2, a
[0037]
Here, “generate” means converting input information according to a predetermined conversion rule and outputting the result. The input information includes, in addition to the data items necessary for obtaining the output information, a conversion pattern name indicating which pattern in the conversion rule is to be used for conversion. The conversion rules include a plurality of conversion patterns, and different format conversion rules are described for each conversion pattern. At the time of execution of the generate, a conversion pattern specified by the input information is searched, and the input information is converted into a predetermined format according to a conversion rule described therein. The meaning of this generate is the same in other functional blocks.
[0038]
Based on the screen layout design definition information output from the screen definition unit 11, the
[0039]
XHTML is a modification of HTML (HyperText Markup Language) in conformity with the XML (extensible Markup Language) format, and has the advantages of XML, such as being able to use an arbitrary tag name and being able to directly define the hierarchical structure of data. It is possible to take advantage of.
[0040]
Based on design definition information such as an event (operation on the screen) output from the screen definition unit 11, the
[0041]
The
[0042]
The business
[0043]
The
[0044]
The
[0045]
The DB design tool 500 is a support tool for designing a table of the
[0046]
The
[0047]
The
[0048]
The
[0049]
When a developer writes a program, the
[0050]
Then, the
[0051]
When implemented as described above, actually, the three programs PG1, PG2, and PG3 operate with the movements indicated by the dotted arrows in FIG. That is, the
[0052]
Although the content of the
[0053]
As described above, in the present embodiment, it is defined that the
[0054]
On the other hand, when a customer who has received such a package customizes the
[0055]
Also in the case of customization as shown in FIG. 3B, the movement of the program execution is the same as in the case of FIG. 3A. However, since the correction program PG2 'is written in the
[0056]
As shown in FIG. 3C, it is also possible to newly implement a program PG4 that was not initially implemented. In this case, the
[0057]
FIG. 4 is a diagram showing a conventional customization method. Conventionally, as shown in FIG. 4A, a method of rewriting the original standard program PG2 to a modified program PG2 ". In this case, another method is performed in accordance with the modified program PG2". The programs PG1 and PG3 also need to be slightly modified. Therefore, the state of the original standard package can hardly be maintained. If such customization is performed for each customer, many programs different from the standard package will be completed. In this case, the package provider needs to manage all these programs, and the program management becomes extremely complicated.
[0058]
Further, as shown in FIG. 4B, there has been a method in which a subclass is newly defined only for the program PG2 to be modified, and the modification program PG2 'is mounted in the subclass. However, in this case, it is necessary to change the call destination from the program PG1 from the standard program PG2 to the correction program PG2 '. Further, the caller to the program PG3 also needs to be changed from the standard program PG2 to the correction program PG2 '. Therefore, the interface portions of the programs PG1 and PG3 have to be corrected together.
[0059]
On the other hand, according to the embodiment shown in FIG. 3, there is no need to modify the programs PG1, PG2, and PG3 provided as standard packages at all. That is, for example, even when the program PG2 is to be modified, the difference is utilized simply by writing the modified program PG2 'in the
[0060]
As a result, the man-hour for customizing the standard package program can be significantly reduced. Also, in the case where there are many customers to whom the package is provided and each customer performs different customizations, the package provider only needs to basically manage only the standard package program, as shown in FIG. It is no longer necessary to manage programs changed for each customer by a simple method. Therefore, program management becomes very easy.
[0061]
Further, when the standard package itself is upgraded, the customer can use the modified programs of the
[0062]
Next, one function of the control unit (framework) 2b shown in FIG. 2 will be described. As shown in FIG. 5, the
[0063]
That is, the
[0064]
FIG. 6 is a diagram illustrating an example of screen generation according to the present embodiment. In FIG. 6, the
[0065]
The
[0066]
FIG. 7 is a diagram illustrating another example of screen generation according to the present embodiment. In FIG. 7, the
[0067]
The
[0068]
As described herein, in the present embodiment, the
[0069]
On the other hand, conventionally, as shown in FIG. 8, in a
[0070]
In the conventional system shown in FIG. 8, the
[0071]
The called
[0072]
As described above, conventionally, since the screen design and the screen data are described as one module, it is necessary to change the screen data integrally with the screen design. On the other hand, in the present embodiment, the screen design and the screen data are completely separated. The
[0073]
Therefore, only the screen data can be dynamically changed without making any changes to the
[0074]
Further, conventionally, since the screen design and the logic are described as one module, even if it is desired to simply change the screen design, the screen design cannot be appropriately changed without knowing the contents of the program. Conversely, even if you simply wanted to change the logic, you could not change the program properly without knowing the screen design. On the other hand, in the present embodiment, since the screen design and the logic are completely separated, the screen design and the logic can be independently corrected, and the screen can be easily customized.
[0075]
Further, in the present embodiment, since the
[0076]
Further, the present embodiment is characterized in that data between all classes between the
[0077]
As a result, even when it is desired to increase or decrease the data items to be transferred by customization, a change is made by simply increasing or decreasing the items in the XML description. Moreover, such a change may be made with the
[0078]
Conventionally, data transfer was performed via a memory, so in order to verify whether data passed from one program to another is correct, the data in the memory used for the transfer was used. Need to reference data. However, it is not easy to see the data in the memory. On the other hand, in the present embodiment, since data is transferred in the XML format, it is possible to easily refer to the text format as to what data is passed and how. Therefore, tests and data tracking when a failure occurs can be easily performed.
[0079]
Next, a screen transition event cache function performed by the
[0080]
At the time of such a screen transition, the mechanism described in FIG. 5 is executed. For example, when transitioning from the screen A to the screen B, the program PG1 is executed in response to the occurrence of an event called a button operation. The program PG1 accesses the
[0081]
The same procedure is followed when transitioning from screen B to screen C. That is, the program PG2 is activated in response to the occurrence of an event of a button operation on the screen B. The program PG2 accesses the
[0082]
When returning from the screen C to the screen B, a dedicated program (not shown) is usually activated. Then, data necessary for displaying the screen B is reacquired from the
[0083]
That is, in the present embodiment, the
[0084]
The
[0085]
On the other hand, when the “return” button is pressed on the screen C, the
The latest event stored in the
[0086]
Then, the
[0087]
Next, the function of the
[0088]
That is, conventionally, for three search items, three search programs when only one of the search items is input and three search programs when any two of the search items are input are used. In addition, it is necessary to create one search program when all the search items are input, that is, a total of seven search programs. On the other hand, in the present embodiment, a search condition of a maximum pattern is set as an SQL sentence for data search, one search program is registered, and condition sentences of various patterns are dynamically generated and executed. To
[0089]
FIG. 10 is a diagram illustrating a configuration example of the
[0090]
Such a
[0091]
As described above, in the present embodiment, the SQL sentence described in the business application such as the
[0092]
The
[0093]
Therefore, the present invention can be realized by recording a program that causes a computer to perform the functions of the present embodiment on a recording medium such as a CD-ROM and reading the program into the computer. As a recording medium for recording the program, a flexible disk, a hard disk, a magnetic tape, an optical disk, a magneto-optical disk, a DVD, a nonvolatile memory card, and the like can be used in addition to the CD-ROM. Further, the present invention can also be realized by downloading the program to a computer via a network such as the Internet.
[0094]
Further, in order to realize the functions of the
[0095]
Further, the functions of the above-described embodiments are realized by the computer executing the supplied program, and the program cooperates with the operating system (OS) or other application software running on the computer. When the functions of the above-described embodiment are realized, or when all or a part of the processing of the supplied program is performed by a function expansion board or a function expansion unit of a computer, and the functions of the above-described embodiment are realized. Such a program is also included in the embodiment of the present invention.
[0096]
It should be noted that each of the above-described embodiments is merely an example of a specific embodiment for carrying out the present invention, and the technical scope of the present invention should not be interpreted in a limited manner. That is, the present invention can be embodied in various forms without departing from the spirit or main features thereof.
[0097]
【The invention's effect】
As described above, according to the present invention, a superclass implements a standard program for business processing, and a subclass that inherits the superclass and initially prepares an empty subclass in which a modification program is implemented when modifying business processing is prepared. The modification program implemented by customizing the business process can be prevented from being mixed with the standard program. As a result, the man-hour for customizing the standard program can be significantly reduced, and the easiness of version upgrade and the easiness of management can be improved.
[0098]
According to another feature of the present invention, since data between classes is exchanged in the XML format, a complicated data format can be treated as one and the same set of data. Further, not only is it easy to change when the number of items to be transferred increases or decreases, and since the transferred data can be referred to in the XML format, it is possible to easily perform tests and data tracking when a failure occurs.
[0099]
According to another feature of the present invention, a screen design is generated in an XHTML format, data (value object) to be pasted on the screen is generated in an XML format, and these are subjected to XSL conversion to display an HTML screen display. Since the screen design is performed, the screen design and the screen data can be completely separated, and customization can be easily performed.
[0100]
According to another feature of the present invention, by registering only the maximum search condition pattern as an SQL sentence for data search, the condition sentence is dynamically generated and executed. Program creation is facilitated, and productivity of a database access program can be improved.
[0101]
According to another feature of the present invention, event information necessary for performing a designated screen transition process is stored in a cache memory, and event information in the cache memory is read out in a subsequent process, and the screen is read in accordance therewith. Since the transition processing is executed, there is no need to generate a program for returning to the previous screen or redrawing processing when the screen transition is complicated. Further, since it is not necessary to transfer the input data of the preprocessing to the subsequent processing, it is possible to generate a simple program. Therefore, the productivity of the program can be improved.
[0102]
As described above, according to the present invention, it is possible to improve the productivity of application development related to a business processing system, the ease of maintenance, the reusability, and the flexibility for changing specifications.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a schematic configuration of a business processing system according to an embodiment.
FIG. 2 is a diagram illustrating a configuration example of a business processing system and a construction support device according to the embodiment;
FIG. 3 is a diagram for describing change management of business logic according to the embodiment;
FIG. 4 is a diagram for explaining a conventional customization method.
FIG. 5 is a diagram for describing a screen generation function by the framework of the embodiment.
FIG. 6 is a diagram illustrating an example of screen generation according to the present embodiment.
FIG. 7 is a diagram illustrating another example of screen generation according to the present embodiment.
FIG. 8 is a diagram for describing a conventional screen generation process.
FIG. 9 is a diagram illustrating an event cache function according to the embodiment;
FIG. 10 is a diagram illustrating a configuration example of a DAO representing search conditions for a maximum pattern according to the present embodiment.
FIG. 11 is a diagram showing a schematic configuration of a conventional business processing system.
[Explanation of symbols]
1 client
1a Browser
2 Web server
2a User interface
2b control unit (framework)
3 Web application server
3a Domain Manager (DM)
3b Business logic (BL)
4 database server
4a Database (DB)
5a, 5b Value object (VO)
6. Data Access Object (DAO)
11 Screen definition part
12 Screen generator
13 Framework generator
14 VO definition section
15 VO generator
16 DM definition part
17 DM generation unit
18 BL definition section
19 VO generator
20 SQL definition section
21 DAO generator
22 DB definition section
23 DDL etc. Generation Unit
24 Change Management Department
100 business processing system
200 Construction support device
300 Screen Editor
400 Business Rule Design Tool
500 DB design tool
Claims (13)
上記スーパークラス群に実装された上記標準プログラムのメソッドを受け継いだ上記サブクラス群を順次実行するように制御する制御手段とを備えたことを特徴とする業務処理システム。Objects that are instantiated by a superclass group that implements the business process standard program and a subclass that inherits the individual superclass and that is initially empty when the modification program is implemented when modifying the business process Object storage means for storing
A business processing system, comprising: control means for controlling so as to sequentially execute the subclass group inherited from the method of the standard program implemented in the superclass group.
XML形式のバリューオブジェクトで定義されたデータを上記複数のクラス間で受け渡しするように制御する制御手段とを備えたことを特徴とする業務処理システム。Object storage means for storing an object in which a plurality of classes implementing a business processing program are instantiated;
A business processing system comprising: control means for controlling data defined by a value object in XML format to be transferred between the plurality of classes.
上記制御手段は、上記ドメインマネージャと上記ビジネスロジックとの間で、上記XML形式のバリューオブジェクトで定義されたデータ受け渡しするように制御することを特徴とする請求項2に記載の業務処理システム。The object storage means stores a domain manager that controls a series of business processes in an event unit and executes a normalized transaction, and a business logic that exists in a business logic unit and executes an individual business process itself,
3. The business processing system according to claim 2, wherein the control means performs control so as to transfer data defined by the value object in the XML format between the domain manager and the business logic.
上記データアクセスオブジェクトが持つ全ての検索項目のうち、ユーザにより実際に指定された検索項目に検索条件を設定し、対応するパターンの条件文を動的に生成して上記データベースに対するアクセスを実行するように制御する制御手段とを備えたことを特徴とする業務処理システム。For a plurality of search items used when accessing the database, an object storage means for storing a data access object including all search items,
A search condition is set for a search item actually specified by a user among all search items of the data access object, and a condition statement of a corresponding pattern is dynamically generated to access the database. A business processing system, comprising:
上記画面遷移を起動するイベントが発生したときに、上記メタ情報記憶手段に記憶されているメタ情報に従って、上記画面遷移を行うために必要なイベント情報をキャッシュメモリに書き込むあるいは読み出すように制御するキャッシュ制御手段と、
上記キャッシュ制御手段により上記イベント情報の書き込みが行われるときには、実際に発生したイベントに従って上記画面遷移に関する処理を実行し、上記キャッシュ制御手段により上記イベント情報の読み出しが行われるときには、当該読み出されたイベント情報に従って上記画面遷移に関する処理を実行する画面遷移実行手段とを備えたことを特徴とする業務処理システム。An event for activating a screen transition, and meta information storage means for storing meta information indicating which event is to be written or read when the event information is written,
A cache for controlling to write or read event information necessary for performing the screen transition to or from a cache memory in accordance with meta information stored in the meta information storage means when an event for activating the screen transition occurs. Control means;
When writing of the event information is performed by the cache control unit, the process related to the screen transition is executed in accordance with an actually generated event. When reading of the event information is performed by the cache control unit, the readout of the event information is performed. A business processing system, comprising: a screen transition execution unit that executes a process related to the screen transition according to event information.
上記修正プログラムを実装する際に、上記サブクラスに実装するように制御する修正プログラム実装手段とを備えたことを特徴とする業務処理システムの構築支援装置。When generating a class for implementing a standard program for business processing, a class for implementing the standard program is generated as a superclass, and a subclass that inherits the superclass is a modification of the business processing. A class generation means for generating an initially empty subclass when the fix is implemented,
When implementing the above-mentioned modification program, the construction support device for a business processing system, further comprising: a modification program implementing means for controlling so as to implement the modification program in the subclass.
上記バリューオブジェクト定義手段により生成されたバリューオブジェクトの定義情報に基づいて、画面内に配置された項目のデータを保持するためのXML形式のバリューオブジェクトを生成するバリューオブジェクト生成手段とを備えたことを特徴とする業務処理システムの構築支援装置。A value that generates definition information on a data structure exchanged between business processing objects based on input information from a screen design unit that creates and edits a screen by pasting various GUI parts on an editor screen. Object definition means;
Value object generating means for generating a value object in an XML format for retaining data of items arranged in the screen based on the value object definition information generated by the value object defining means. A business support system construction support device.
上記画面定義手段により生成された画面の定義情報に基づいて、XHTML形式の画面デザインを生成する画面生成手段と、
上記画面生成手段により生成されたXHTML形式の画面デザイン情報と、上記バリューオブジェクト生成手段により生成されたXML形式のバリューオブジェクトとを用いてHTML形式の画面を生成する際の変換ルールを定義したXSL形式の変換情報を生成する変換情報生成手段とを備えたことを特徴とする請求項8に記載の業務処理システムの構築支援装置。Screen definition means for generating, based on input information from the screen design means, one or more items included in the screen, definition information on attributes of each item and screen layout,
Screen generation means for generating a screen design in XHTML format based on the screen definition information generated by the screen definition means;
An XSL format that defines a conversion rule when generating an HTML screen using the XHTML screen design information generated by the screen generating means and the XML value object generated by the value object generating means. 9. The business processing system construction support apparatus according to claim 8, further comprising: conversion information generating means for generating the conversion information.
上記SQL定義手段により生成された定義情報に基づいて、上記データベースにアクセスするためのデータアクセスオブジェクトであって、上記データベースにアクセスする際に使用する複数の検索項目に関して、全ての検索項目を含むデータアクセスオブジェクトを生成するデータアクセスオブジェクト生成手段とを備えたことを特徴とする業務処理システムの構築支援装置。SQL definition means for generating definition information on an SQL statement in accessing the database;
A data access object for accessing the database based on the definition information generated by the SQL definition means, wherein the data includes a plurality of search items used for accessing the database. And a data access object generating means for generating an access object.
上記画面定義手段により定義される各項目の属性中に含まれるイベントの設計定義情報に基づいて、画面遷移を起動するイベントおよびどのイベントが発生したときにイベント情報の書き込みあるいは読み出しを行うかの区別を表したメタ情報を生成するメタ情報生成手段とを備え、
上記メタ情報は、上記画面遷移を起動するイベントが発生したときに、当該画面遷移を行うために必要なイベント情報をキャッシュメモリに書き込むか読み出すかを特定するために使用され、上記イベント情報の読み出しが行われるときには当該読み出されたイベント情報に従って上記画面遷移に関する処理を実行するように成された情報であることを特徴とする業務処理システムの構築支援装置。Definition information about one or more items included in a screen, attributes of each item, and screen layout based on input information from a screen design unit that creates and edits a screen by pasting various GUI parts on an editor screen Screen definition means for generating the
Based on the design definition information of the event included in the attribute of each item defined by the screen definition means, it is possible to distinguish between an event for activating a screen transition and which event is to be written or read when the event information is generated. And meta information generating means for generating meta information representing
The meta information is used for specifying whether to write or read event information necessary for performing the screen transition to / from the cache memory when an event for activating the screen transition occurs, and to read the event information. The information processing apparatus executes the processing related to the screen transition according to the read event information.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003100398A JP2004310279A (en) | 2003-04-03 | 2003-04-03 | Business processing system and construction support apparatus, business processing system program, business processing system construction support program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003100398A JP2004310279A (en) | 2003-04-03 | 2003-04-03 | Business processing system and construction support apparatus, business processing system program, business processing system construction support program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004310279A true JP2004310279A (en) | 2004-11-04 |
Family
ID=33464547
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003100398A Pending JP2004310279A (en) | 2003-04-03 | 2003-04-03 | Business processing system and construction support apparatus, business processing system program, business processing system construction support program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004310279A (en) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006235874A (en) * | 2005-02-23 | 2006-09-07 | Japan Research Institute Ltd | Professional information processing system |
| JP2007048254A (en) * | 2005-01-12 | 2007-02-22 | Microsoft Corp | Data access layer class generator |
| JP2008040751A (en) * | 2006-08-04 | 2008-02-21 | Hitachi Ltd | Information processing apparatus, information processing apparatus method, and program for supporting operation attribute setting of application program |
| JP2009282777A (en) * | 2008-05-22 | 2009-12-03 | Hitachi Information Systems Ltd | Application program providing system and application program |
| JP2010198299A (en) * | 2009-02-25 | 2010-09-09 | Ricoh Co Ltd | Image processing apparatus, information processing apparatus, user interface providing method, image processing system, and program |
| JP2011501327A (en) * | 2007-10-26 | 2011-01-06 | マイクロソフト コーポレーション | Declarative model interpretation |
| JP4964352B2 (en) * | 2009-11-09 | 2012-06-27 | 三菱電機株式会社 | Software library reconstruction apparatus and method, and navigation apparatus using the same |
| CN114115837A (en) * | 2021-11-08 | 2022-03-01 | 湖北开放大学(湖北科技职业学院) | MIS self-adaptive generator based on object information and use method |
| US12164886B2 (en) | 2021-12-22 | 2024-12-10 | Samsung Electronics Co., Ltd. | Method and apparatus for generating applications |
-
2003
- 2003-04-03 JP JP2003100398A patent/JP2004310279A/en active Pending
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007048254A (en) * | 2005-01-12 | 2007-02-22 | Microsoft Corp | Data access layer class generator |
| KR101365832B1 (en) * | 2005-01-12 | 2014-02-20 | 마이크로소프트 코포레이션 | Data access layer class generator |
| JP2006235874A (en) * | 2005-02-23 | 2006-09-07 | Japan Research Institute Ltd | Professional information processing system |
| JP2008040751A (en) * | 2006-08-04 | 2008-02-21 | Hitachi Ltd | Information processing apparatus, information processing apparatus method, and program for supporting operation attribute setting of application program |
| JP2011501327A (en) * | 2007-10-26 | 2011-01-06 | マイクロソフト コーポレーション | Declarative model interpretation |
| JP2009282777A (en) * | 2008-05-22 | 2009-12-03 | Hitachi Information Systems Ltd | Application program providing system and application program |
| JP2010198299A (en) * | 2009-02-25 | 2010-09-09 | Ricoh Co Ltd | Image processing apparatus, information processing apparatus, user interface providing method, image processing system, and program |
| JP4964352B2 (en) * | 2009-11-09 | 2012-06-27 | 三菱電機株式会社 | Software library reconstruction apparatus and method, and navigation apparatus using the same |
| CN114115837A (en) * | 2021-11-08 | 2022-03-01 | 湖北开放大学(湖北科技职业学院) | MIS self-adaptive generator based on object information and use method |
| CN114115837B (en) * | 2021-11-08 | 2024-09-20 | 湖北开放大学(湖北科技职业学院) | MIS self-adaptive generator based on object information and using method |
| US12164886B2 (en) | 2021-12-22 | 2024-12-10 | Samsung Electronics Co., Ltd. | Method and apparatus for generating applications |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5710852B2 (en) | A framework for seamless authoring and editing of workflows at design and runtime | |
| US7886269B2 (en) | XML application framework | |
| US8793649B2 (en) | XML application framework | |
| JP5173128B2 (en) | A unified model for authoring and executing flow-based and constraint-based workflows | |
| US7761865B2 (en) | Upgrading pattern configurations | |
| US7366723B2 (en) | Visual query modeling for configurable patterns | |
| US7953767B2 (en) | Developing applications using configurable patterns | |
| US8170901B2 (en) | Extensible framework for designing workflows | |
| JP5021193B2 (en) | Declarative representation of an extensible workflow model | |
| US7543268B2 (en) | Development environment for developing applications using a metamodel and a metadata API | |
| US8126937B2 (en) | Visual database modeling | |
| US7434203B2 (en) | Software logistics for pattern-based applications | |
| US8255888B2 (en) | API derivation and XML schema derivation for developing applications | |
| US20050071805A1 (en) | Developing applications using a metamodel | |
| US20010047402A1 (en) | Method for developing web applications, development support system, and storage medium for storing programs developed according to the method | |
| US7007266B1 (en) | Method and software system for modularizing software components for business transaction applications | |
| US20060074735A1 (en) | Ink-enabled workflow authoring | |
| JP2006107477A (en) | Componentized and extensible workflow model | |
| JP2006107479A (en) | Framework for modeling cross-cutting behavioral concerns inside work flow region | |
| US20090006987A1 (en) | Visual design tools for portal content creation | |
| US20110185294A1 (en) | Pattern-based user interfaces | |
| US10572278B2 (en) | Smart controls for user interface design and implementation | |
| US8201147B2 (en) | Generic XAD processing model | |
| US6032198A (en) | Application design supporting method and apparatus for client/server system | |
| US20050257190A1 (en) | Developing and executing applications with configurable patterns |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060403 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080627 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091013 |