JP2004038559A - Web application control unit, program, and network system - Google Patents

Web application control unit, program, and network system Download PDF

Info

Publication number
JP2004038559A
JP2004038559A JP2002194737A JP2002194737A JP2004038559A JP 2004038559 A JP2004038559 A JP 2004038559A JP 2002194737 A JP2002194737 A JP 2002194737A JP 2002194737 A JP2002194737 A JP 2002194737A JP 2004038559 A JP2004038559 A JP 2004038559A
Authority
JP
Japan
Prior art keywords
business
screen
business process
client
identification information
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
Application number
JP2002194737A
Other languages
Japanese (ja)
Inventor
Tsuguaki Hiraoka
平岡 嗣晃
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2002194737A priority Critical patent/JP2004038559A/en
Publication of JP2004038559A publication Critical patent/JP2004038559A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enable a display to be mounted in isolation from the place where a scrolling has been decided even if an entire scrolling cannot be seen by reducing management manhour and coding manhour of a module at developing Web application, and to improve efficiency in development. <P>SOLUTION: The system is provided with a request receiving means for receiving from a client a request including identification information on job processing to be performed together with data of an intended job processing, a job processing sorting means for sorting processing to the job processing module corresponding to the identification information of the received job processing and acquiring a processed result, a generated screen control means for sorting the screen generation processing of the processed result to any one of a plurality of screen generating modules on the basis of the identification and the processed result of the job processing module, and a screen generating means composed of a plurality of screen generating modules outputted in response to a requesting client. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、クライアントがWebアプリケーションアクセス時に出す要求を受け取り、当該要求に基づいて実行する業務を決定し、業務の実行結果から出力する情報および表示方法を決定するWebアプリケーション制御装置に関し、特に、Webアプリケーションの開発工数を削減し、効率的な開発を可能にするWebアプリケーション制御装置およびネットワークシステム並びにプログラムに関する。
【0002】
【従来の技術】
近年、インターネット、イントラネット上のWebアプリケーションシステムでサーバサイドの技術を利用したシステムが普及してきている。
近年のWebアプリケーションの開発においてサーバ上のアプリケーションの設計方法についてはいくつかの方法が知られている。
図17は、クライアントからの要求を受付けるモジュール(サーブレット)と業務処理を行うモジュール(Bean)と画面を出力するモジュール(JSP)を対応させて設計する方法(以降、個別方式と呼ぶ)の概要を示す図であり、特開2001−344105号公報で開示されている。
この図17で示される方法にあっては、クライアントから送信される業務処理要求を入力として受付ける要求受付部1701と要求内容に応じた業務処理結果を行う業務処理モジュール1702と、処理結果の画面を生成する画面生成モジュールと1703とを1対1に対応付け、要求受付部1701で受付けた業務処理要求の内容に応じた業務処理を対応する業務処理モジュール1702で実行させ、その結果に応じた画面を対応する画面生成モジュール1703で生成させ、その生成結果の画面を業務処理要求に対する応答(出力)として要求元のクライアントに返信するように構成される。
【0003】
一方、図18に示すように、クライアントからの要求を1つの代表モジュール(要求受付部)1801が受け付け、要求内容に応じた業務処理モジュールおよび画面遷移決定モジュールを業務処理決定部1802で決定し、その決定結果に応じた業務処理を複数の業務処理モジュール1803−1〜1803−nのいずれかに振り分けて実行させ、その結果に応じた画面遷移を画面遷移決定モジュール1804で決定し、その決定結果に従った画面を画面生成モジュール1805で生成させ、業務処理要求に対する応答(出力)として要求元のクライアントに返信するようにした方法(以降、エンジン方式と呼ぶ)が「EJBコンポーネントによるWebシステム構築技法」(2002年3月15日発行、著者:湯浦克彦 他、発行所:ソフト・リサーチ・センター)の129〜131ページで開示されている。
【0004】
【発明が解決しようとする課題】
上記従来技術は近年のシステム開発での開発サイクルの短時間化に合わせて開発されたものである。特に業務系システムや業務サービスをWeb上で公開する場合、その開発サイクルを短縮することは顧客ニーズとして強い要求事項である。Webアプリケーションシステムにおいて、Webページのデザインや情報を定期的に変更するだけでなく、そのシステム上で新規サービスを早期に公開したり、サービスを迅速に拡張可能にすることが求められている。それらの顧客ニーズに対応し、Webアプリケーションシステムの開発サイクルに対応するためにも、その開発作業を軽減させ、かつ、スピードアップを図る必要がある。
【0005】
しかし、従来の方法には以下のような問題点がある。
特開2001−344105号公報で開示されている図17の個別方式の場合、要求を受付けるモジュールを画面生成モジュールと1対1に対応させて作成しているため、要求を受付けるモジュールは必ず、画面と同じ個数だけ必要となる。したがって、画面数が増加すると要求を受付けるモジュールの個数も増加する。要求を受付けるモジュールは実行時に別々にメモリにロードされるため、画面数の増加に伴い、メモリ上にロードされる要求受付モジュールの数も増加し、リソースの消費量が増加し、性能が低下するという問題がある。
また、管理面の問題として画面数の増加に伴って、モジュールの管理工数が増加するという問題が発生する。また、要求を受付けるモジュールは、たとえ数行のコーディングであっても、コーディングの必要が必ず発生するため、画面数が増えるとコーディングの負担が大きくなるという問題がある。
【0006】
一方、図18のエンジン方式では1つの要求受付モジュールがクライアントからの要求を代表して受付けた後、複数の業務処理モジュールの中から、実行する業務処理モジュールを決定する。そのときには画面遷移情報を定義した画面遷移定義ファイル1806が必要である。さらに業務処理の結果によって出力する画面を変更するためには、画面遷移決定モジュール1804を業務処理モジュールごとに実装する必要がある。
上述のようにエンジン方式の場合には、要求を受付けるモジュールは1つでよい。このため、管理工数やコストが増大するという問題は発生しない。
【0007】
しかしながら、実行する業務処理モジュールを決定するためには、画面遷移の情報を定義した画面遷移定義ファイルが必要になる。このため、画面遷移が複雑になると、面遷移定義ファイルも複雑になり、画面遷移定義ファイルの設計、および作成にかかる負担が増加するという問題がある。
さらに、画面遷移全体が画面遷移定義ファイルに記述されるため、画面遷移全体が見えなければ、実装に着手できないという問題があった。
【0008】
本発明の目的は、Webアプリケーションの開発時にクライアントからの要求を受付けるモジュールがシステム上に少なくとも1つ有することでWebアプリケーションを実装可能にし、画面数の増加に伴ってリソースの消費量が増加し、モジュールの管理工数が増加し、モジュールのコーディング工数が増加するといった問題を解決することにある。
さらに画面遷移定義ファイルを不要にすることで、画面遷移定義ファイルの設計、作成にかかる工数を削減し、また、画面遷移全体が見えなくても画面遷移が決まったところから単独で実装可能にすることで、開発の効率的向上を可能にすることにある。
【0009】
【課題を解決するための手段】
上記目的を達成するために、本発明に係るWebアプリケーション制御装置は、クライアントからの要求内容に応じた業務処理を予め用意された複数の業務処理モジュールのいずれかに振り分け、処理結果を要求元のクライアントに返信するWebアプリケーション制御装置であって、
クライアントから業務処理の対象となるデータと共に実行すべき業務処理の識別情報を含む要求を受付ける要求受付手段と、受付けた前記業務処理の識別情報に対応する業務処理モジュールに処理を振り分け、処理結果を取得する業務処理振り分け手段と、前記識別情報と業務処理モジュールの処理結果に基づいて複数の画面生成モジュールのいずれかに処理結果の画面生成処理を振り分ける生成画面制御手段と、振り分けられた処理結果の画面データを生成し、要求元のクライアントへの応答として出力する複数の画面生成モジュールから成る画面生成手段とを備えることを特徴とする。
また、複数の業務処理モジュールを使用してそれぞれ異なる業務処理を行うためのシナリオを記述した複数の業務シナリオモジュールを備え、前記業務処理振り分け手段は前記業務処理の識別情報として前記業務シナリオモジュールに対応する識別情報をクライアントから受付け、受付けた識別情報に対応した業務シナリオモジュールに対し処理を振り分けることを特徴とする。
【0010】
また、業務処理要求を送信するクライアントと、業務処理要求をネットワークを介して受付け、要求内容に応じた業務処理を実行し、処理結果を要求元のクライアントに返信するアプリケーションサーバとを備えるネットワークシステムにおいて、前記クライアントが、業務処理の対象となるデータと共に実行すべき業務処理の識別情報を含む要求を送信する手段を有し、
前記アプリケーションサーバが、クライアントから業務処理の対象となるデータと共に実行すべき業務処理の識別情報を含む要求を受付ける要求受付手段と、
予め用意された複数の業務処理モジュールのうちクライアントから受付けた前記業務処理の識別情報に対応する業務処理モジュールに処理を振り分け、処理結果を取得する業務処理振り分け手段と、前記識別情報と業務処理モジュールの処理結果に基づいて複数の画面生成モジュールのいずれかに処理結果の画面生成処理を振り分ける生成画面制御手段と、振り分けられた処理結果の画面データを生成し、要求元のクライアントへの応答として出力する複数の画面生成モジュールから成る画面生成手段とを備えることを特徴とする。
また、前記アプリケーションサーバが、複数の業務処理モジュールを使用してそれぞれ異なる業務処理を行うためのシナリオを記述した複数の業務シナリオモジュールをさらに備え、前記業務処理振り分け手段は前記業務処理の識別情報として前記業務シナリオモジュールに対応する識別情報をクライアントから受付け、受付けた識別情報に対応した業務シナリオモジュールに対し処理を振り分けることを特徴とする。
【0011】
また、クライアントからの要求内容に応じた業務処理を予め用意された複数の業務処理モジュールのいずれかに振り分け、処理結果を要求元のクライアントに返信するWebアプリケーション制御プログラムであって、クライアントから業務処理の対象となるデータと共に実行すべき業務処理の識別情報を含む要求を受付ける要求受付ステップと、受付けた前記業務処理の識別情報に対応する業務処理モジュールに処理を振り分け、処理結果を取得する業務処理振り分けステップと、前記識別情報と業務処理モジュールの処理結果に基づいて複数の画面生成モジュールのいずれかに処理結果の画面生成処理を振り分ける生成画面制御ステップと、振り分けられた処理結果の画面データを生成し、要求元のクライアントへの応答として出力する画面生成ステップとを備えることを特徴とするWebアプリケーション制御プログラム。
【0012】
【発明の実施の形態】
以下、本発明を実施する場合の一形態について、図面を参照して具体的に説明する。
図1および図2は、本発明を適用したネットワークシステムの一実施形態の構成例を示すブロック図である。
本発明に係るWebアプリケーション制御装置を構成する処理プログラム制御装置110は、Webアプリケーション107のアプリケーションサーバ104内に存在する。
Webアプリケーション107は、インターネット102上で利用可能なアプリケーションであり、クライアント101からの要求を受付けるWebサーバ103、業務処理を行うアプリケーションサーバ104、データベース106にアクセスするデータベースサーバ105、およびデータベース106から構成されている。
クライアント101は、ユーザ100による操作を受け付け、インターネット102を経由してWebアプリケーション107に入力電文130を送信し、Webアプリケーション107からの出力電文131を受け取り、ユーザ100に提示するWebブラウザ141や個別アプリケーション142などアプリケーションまたはハードウェアデバイスで構成されている。
【0013】
アプリケーションサーバ104には、図2に示すように、クライアント101からの入力電文130を受け取り、受け取った入力電文の内容に応じた業務処理を業務シナリオモジュール114の複数の業務シナリオモジュール(シナリオ1〜N)1141のいずれかに振り分けて実行させ、その実行結果を受け取り、出力電文131を生成する画面生成モジュール116を決定する業務処理プログラム制御装置110と、業務1〜業務Lから成る複数の業務モジュール115を使用して、一連の業務を実行する業務シナリオモジュール114と、業務処理を行う業務1〜業務Lから成る業務モジュール115と、クライアント101に返送する出力電文131の生成を行う画面生成モジュール116が存在する。
各業務シナリオモジュール1141は、それぞれ一意に識別するためのIDが付けられている。各業務シナリオモジュール1141は、クライアント101からの要求を受付けてから、クライアント101へ応答するまでに行う処理ごとに、1モジュール存在する。
各業務シナリオモジュール1141とは、複数の業務モジュールを組み合わせて使用し、所定の処理結果を得るためのシナリオが記述されたモジュールであり、シナリオ1〜Nではそれぞれ異なる処理結果を得るようなシナリオが記述されている。シナリオとしては、所定の処理結果を得るために必要となる1ないし複数の業務モジュール名、その業務モジュールの実行順序等が記述されている。
また、各業務モジュール1151は1つの業務処理ごとに存在し、また画面生成モジュール116は複数の画面生成モジュール(画面生成1〜M)1161で構成され、各画面生成モジュール1161は1つの画面に対して1つ存在する。
【0014】
業務処理プログラム制御装置110は図2に示すように、クライアント101がインターネット102を介して送信した入力電文130を受付ける要求受付部111と、入力データ121を渡して処理を振り分け、業務処理結果を受け取る業務処理振分部112と、業務処理結果117に従って実行する画面生成モジュール116を決定する生成画面制御部113と、入力データ121、実行シナリオID122、業務結果コード123、出力情報124、生成画面決定テーブル125を格納するメモリ120から構成される。
業務処理プログラム制御装置110を構成する要求受付け部111、業務処理振り分け部112、生成画面制御部113は、具体的にはプログラムで構成されるものである。
【0015】
以下、本発明に係る業務処理プログラム制御装置110の各構成要素について説明する。
要求受付部111は、クライアント101からの要求を受付けるモジュールである。要求受付部111は図3に示すようなフォーマット構成の入力電文130を受け付け、入力電文130中から実行シナリオID204と入力データ205を取得し、メモリ120上の入力データ121、実行シナリオID122にそれぞれ格納する処理を行う。
要求受付部111には個々の画面生成モジュール116に依存する処理を含まないため、従来の個別方式のように要求受付部111と画面生成モジュール116を対応させる必要はない。したがって、要求受付部111は画面生成モジュール116と関係なく、アプリケーションサーバ104上に少なくとも1つあればよい。
【0016】
業務処理振分部112は要求内容に応じた業務処理を実行するための業務シナリオモジュール1141(シナリオ1〜Nのいずれか)を決定した後、メモリ120上の入力データ121を渡して業務処理を実行させ、業務処理結果117を受け取るモジュールである。業務処理振分部112は業務シナリオモジュール1141(シナリオ1〜Nのいずれか)を決定する際に、メモリ120上から実行シナリオID122を取得する。各業務シナリオモジュール1141には、一意に識別するためのシナリオIDが付けられており、実行シナリオID122から、実行する業務シナリオモジュール1141を一意に決定する。したがって、実行する業務シナリオモジュール1141を決定するために、従来のエンジン方式で必要な画面遷移の情報を定義した画面遷移定義ファイルは不要になる。
【0017】
業務処理振分部112は、業務処理実行後、業務シナリオモジュール114から業務処理結果117を受け取り、その業務処理結果117から図6に示すような業務結果コード503と出力情報504を取得し、メモリ120上に業務結果コード123と出力情報124としてそれぞれ格納する。
生成画面制御部113は、出力電文131を生成する画面生成モジュール116を決定し、実行するモジュールである。画面生成モジュール1161(画面生成1〜Mのいずれか)を決定する際には、メモリ120上の実行シナリオID122と業務結果コード123をもとに、生成画面決定テーブル125を参照して決定する。
【0018】
図3は入力電文130の構造を示す図である。
入力電文130はHTTPヘッダ201と現画面ID202とイベントID203と実行シナリオID204と入力データ205、および各項目を連結する「&」206から構成される。
HTTPヘッダ201は、HTTPで通信する際の電文のヘッダである。現画面ID202は、クライアント101に現在表示されている画面のIDである。イベントID203は、クライアント101上で発生したイベントに対応するIDである。実行シナリオID204は実行する業務シナリオモジュール1141のIDで業務処理振り分け部112において、実行する業務シナリオモジュール1141を決定する際に使用する。入力データ205は、クライアント101から入力され、業務処理の入力となるデータであり、各データ間は「&」206で結合されている。なお、現画面ID202、イベントID203は業務処理において、一般的に使用されるものである。
【0019】
図4は出力電文131の構造を示す図である。
出力電文131は、HTTPヘッダ301、画面レイアウト302、業務結果の出力303、イベントに対する処理コード304から構成される。
HTTPヘッダ301はHTTPで通信する際のヘッダである。画面レイアウト302は画面のレイアウトに関するHTMLである。業務結果の出力303は業務処理を実行した結果を表示する部分のHTMLである。イベントに対する処理コード304は、画面上でボタンクリックなどのイベントが発生した際に、クライアント101上で行う処理を実行するコードである。
【0020】
図5は入力データ121の構造を示す図である。
入力データ121はキー401と値402の組を持つハッシュテーブルであり、現画面ID403、イベントID404、その他のデータ405から構成される。現画面ID403はクライアント101に現在表示されている画面のIDであり、イベントID404はクライアント101上で発生したイベントのIDである。その他のデータ405はクライアント101から入力されたデータで、業務処理の入力となるデータである。
【0021】
図6は業務処理結果117の構造を示す図である。
業務処理結果117はキー501と値502の組を持つハッシュテーブルである。業務処理結果117は、業務結果コード503と出力情報504から構成される。業務結果コード503は、業務シナリオモジュール1141で業務を実行した結果の状態を表すコードである。出力情報504は、業務処理の結果として出力電文131を生成するための情報である。
【0022】
図7は、生成画面決定テーブル125の構造を示す図である。
生成画面決定テーブル125は、行方向602にシナリオID、列方向601に業務結果コードを取り、各カラム603に実行する画面生成モジュール116のIDを設定した表である。
生成画面決定テーブル125は、生成画面制御部113において、実行する画面生成モジュール116を決定する際に使用される。
【0023】
図8は、上記の構成における動作を示すフローチャートである。
以下、このフローチャートに従ってクライアントからの要求を受付けてから業務処理結果を返信するまでの動作について説明する。
まず、ユーザ100の操作によりクライアント101が実行シナリオID204を含む入力電文130を生成し、インターネット102を介してWebサーバ103に入力電文130を送信する(ステップ701)。Webサーバ103は入力電文130を受け取り、アプリケーションサーバ104に渡す(ステップ702)。
アプリケーションサーバ104上の要求受付部111は、入力電文130を受け取り、入力電文130から実行シナリオID204と入力データ205を取得し(ステップ703)、取得した実行シナリオID204と入力データ205を、それぞれメモリ120上の実行シナリオID122、入力データ121として格納する(ステップ704)。
【0024】
業務処理振分部112はメモリ120上から実行シナリオID122を取得し(ステップ705)、取得した実行シナリオID122に対応する業務シナリオモジュール1141に処理を振り分けるよう決定する(ステップ706)。さらに、メモリ120から入力データ121を取得して、ステップ706で決定した業務処理モジュール1141に、取得した入力データ121を渡して、呼び出す(ステップ707)。
呼び出された業務シナリオモジュール1141は入力データ121を受け取り、業務処理を実行するのに必要な業務モジュール1151を実行し、業務処理を実行する(ステップ708)。
さらに業務処理結果117を生成し、業務処理結果117内に業務処理の結果の状態を表すコードである業務結果コード503と、出力電文131を生成する際に使用する情報である出力情報504を格納し、業務処理振分部112に返す(ステップ709)。
【0025】
業務処理振分部112は、業務処理結果117を受け取り、業務処理結果117から、業務結果コード503と出力情報504を取得し(ステップ710)、取得した業務結果コード503と出力情報504をそれぞれ業務結果コード123、出力情報124として、メモリ120上に格納する(ステップ711)。
次に生成画面制御部113はメモリ120上から実行シナリオID122と業務結果コード123を取得する(ステップ712)。
生成画面制御部113はメモリ120上の生成画面決定テーブル125を参照し、ステップ712で取得した実行シナリオID122の行、業務結果コード123の列を参照し、該当カラムに設定されている画面生成モジュール1161のIDを取得し、取得した画面生成モジュール1161のIDに対応する画面生成モジュール116を実行する(ステップ713)。
【0026】
画面生成モジュール1161はメモリ120上から出力情報124を受け取り、出力電文131を生成し、クライアント101に送信する(ステップ714)。クライアント101は受け取った出力電文131を解釈して、ユーザ100が閲覧可能な形式で表示する(ステップ715)。
【0027】
次に、簡単なWebアプリケーションの例によって、本実施形態の動作を具体的に説明する。
図9はWebアプリケーションの画面遷移の一例を示す図である。
図9で示されるWebアプリケーションは、会員情報入力画面810と入力内容確認画面820と会員登録画面830から構成される。各画面の画面IDは、それぞれG0001、G0002、G0003である。
会員情報入力画面810はユーザ100が会員登録をするために会員情報を入力する画面である。
会員情報入力画面810は氏名811、氏名(カナ)812、メールアドレス813、電話番号814の入力ボックスと、「登録」ボタン815により構成される。「登録」ボタン815を押下すると、入力内容確認画面820に遷移する。
【0028】
入力内容確認画面820は、ユーザ100が会員情報入力画面810で入力した情報に誤りがないかを、ユーザ100に確認する画面である。
入力内容確認画面820は、ユーザ100が会員情報入力画面810で入力した氏名821、氏名(カナ)822、メールアドレス823、電話番号824、「登録する」ボタン825、「キャンセル」ボタン826によって構成される。「登録する」ボタン825を押下すると、会員情報入力画面810で入力された情報をデータベース106に格納し、会員登録完了画面830に遷移する。「キャンセル」ボタン826を押下すると、会員情報入力画面810に戻る。その際、会員情報入力画面810上の、氏名811、氏名(カナ)812、メールアドレス813、電話番号814の入力ボックスには先に会員情報入力画面810でユーザ100が入力した情報を初期値として表示する。
【0029】
会員登録完了画面830は、ユーザ100に対して、会員登録が完了したことを伝える画面である。会員登録完了画面830は、登録完了のメッセージ831と「登録画面へ」ボタン832によって構成される。
「登録画面へ」ボタン832を押下すると、会員情報入力画面810に遷移する。その際の会員情報入力画面810上の氏名811、氏名(カナ)812、メールアドレス813、電話番号814の入力ボックスは空欄になっている。
【0030】
次に、図9のWebアプリケーションの会員情報入力画面810において「登録」ボタン815を押した場合の動作を、図10から図14を用いて図8のフローチャートに沿って説明する。
まず、会員情報入力画面810においてユーザ100が、氏名811、氏名(カナ)812、メールアドレス813、電話番号814を入力し、「登録」ボタン815を押すと、クライアント101は入力電文130を生成し、インターネット102を介してWebサーバ103に入力電文130を送信する。
この入力電文130の中に実行シナリオID204として実行する業務シナリオのID(この例では、会員情報を登録する業務を実行するための業務シナリオのID=G001)が含まれている。
【0031】
図10は、図9の会員情報入力画面810で入力した情報によって生成される入力電文の一例を示す図である。
HTTPヘッダ901はデータの送信方法や、クライアント101の情報を含むHTTPのヘッダ部分である。
現画面ID902はキーが「C」で、値には会員情報入力画面810の画面ID「G0001」が設定されている。イベントID903は、キーが「E」で、値は「G0001−01」が設定されている。実行シナリオID904は、キーが「R」で、値は「S0002」が設定されている。
入力データ905には、NAME、KANA_NAME、MAIL、TELの項目があり、その値は、それぞれ「平岡」、「ヒラオカ」、「aaaa@xxxx.co.jp」、「045−*23−4**7」となっている。
【0032】
Webサーバ103は入力電文130を受け取り、アプリケーションサーバ104に渡す。
アプリケーションサーバ104上の要求受付部111は、入力電文130を受け取り、図10の入力電文130から、実行シナリオID904「S0002」と入力データ905を取得する。取得した実行シナリオID904「S0002」と入力データを、それぞれメモリ120内に実行シナリオID122、入力データ121として格納する。
【0033】
図11は入力データ121の一例を示す図である。
この例では、図1の現画面ID902が1001に、イベントID903が1002に、入力データ905が1003にそれぞれ設定されている。
次に業務処理振分部112は、メモリ120上から実行シナリオID122「S0002」を取得し、「S0002」に1対1に対応する業務シナリオモジュール1141に処理を振り分ける。この処理の振分時に、メモリ120から入力データ121を取得して、業務処理モジュール1141に渡す。
シナリオIDS0002の業務シナリオモジュール1141は、入力データ121を受け取り、業務処理を実行するのに必要な1つまたは複数の業務モジュール1151を実行し、業務処理結果117を返す。
【0034】
図12は業務結果117の例を示す図である。
図12で示される業務結果コード1101は「0」である。例えば、「0」が正常に業務を終了した場合だとするともし、業務実行中にエラーが発生した場合には、業務結果コード1101として、発生したエラーに対応する「0」以外の値を設定する。業務結果117のうち出力情報1102は、入力内容確認画面820に出力する情報であり、会員情報入力画面810上の氏名811、氏名(カナ)812、メールアドレス813、電話番号814に入力された値である。
次に業務処理振分部112は、業務処理結果117を受け取り、業務処理結果117から、業務結果コード1101「0」と出力情報1102を取得し、取得した業務結果コード1101「0」と出力情報1102をそれぞれメモリ120内に、業務結果コード123、出力情報124として格納する。
【0035】
図13は生成画面決定テーブル125の例を示す図である。
生成画面制御部113は、メモリ120上から実行シナリオID122「S0002」と業務結果コード123「0」を取得し、生成画面決定テーブル125を参照して、実行する画面生成モジュールを決定する。
例えば、生成画面決定テーブル125が図13のようになっていると、生成画面制御部113は、生成画面決定テーブル125を参照し、実行シナリオID「S0002」に対応する列1201、業務結果コード「0」に対応する行1202を参照し、該当するカラム1203に設定されているP0002を取得する。そして、P0002に対応する画面生成モジュール1161(画面生成1〜Mのいずれか)を実行する。
【0036】
次に画面生成モジュール1161は、メモリ120から出力情報124(図12の1102の内容)を取得し、出力電文130を生成して、クライアント101に送信する。クライアント101は、出力電文131を受け取り、ユーザ100に図9の入力内容確認画面820の画面を提示する。
【0037】
図14は出力電文130の例を示す図である。
HTTPヘッダ1301はHTTPで通信する際のヘッダである。画面レイアウト1302は、入力内容確認画面820を表示するHTMLである。業務結果の出力1303は業務の結果を表示するHTMLであり、ユーザ100が会員登録入力画面810で入力した情報を画面表示する部分、及び次のイベントで入力電文130として送信するための情報を埋め込んだ部分となっている。イベントに対する処理コード1304は「登録する」ボタン825の押下時と「キャンセル」ボタン826の押下時に、実行シナリオID204を含む入力電文130を生成してWebサーバ103に送信する処理を記述したコードとなっている。
【0038】
ここで、入力電文130中に実行シナリオID204を埋め込む方法について説明する。
「登録する」ボタン825を押下すると、「登録する」ボタン825のonClickイベント1305が発生する。onClickイベント1305において、「G0002−01」1307、「S0003」1308を引数として、performEvent関数1306を呼び出す。
performEvent関数とは、呼び出されると、イベントIDと実行シナリオIDを入力電文の中に埋め込み、その入力電文をサーバへ送信を行う機能を有する。
performEvent関数1306では、受け取った第1引数「G0002−01」をイベントIDとして、隠しフィールドの「E」1309に設定する。また、第2引数「S0003」を実行シナリオIDとして、隠しフィールドの「R」1310に設定する。最後に、submit1311を実行し、Webサーバ103へ入力電文130を送信する。このように、クライアント101は、入力電文130中にイベントID203と実行シナリオID204を埋め込む。
【0039】
図15および図16はperformEvent関数1306の引数の設計方法を示す図である。
具体的には入力内容確認画面820の設計の例である。
まず、画面上で発生するイベントを設計し、イベントの一覧としてイベント一覧1401を作成する。イベント一覧1401は、画面生成モジュール1161ごとに作成する。次に、イベント発生時にクライアント101からWebサーバ103に送信する入力電文130を設計し、項目送信仕様1402を作成する。項目送信仕様1402には、送信する入力電文130の実行シナリオID204、および入力データ205を記述する。項目送信仕様1402は、イベント一覧1401に記入されているイベントごとに作成する。
例えば、入力内容確認画面820の場合、「登録する」ボタン825の押下時のperformEvent関数1306の第1引数1307には、項目送信仕様1402のイベントID「G0002−01」1103を設定する。第2引数1308には、項目送信仕様1402の実行シナリオID「S0003」1404を設定する。
このような設計によって画面遷移の全体が見えなくても、個々の画面を独立して設計、および実装可能になる。
【0040】
【発明の効果】
以上、説明したように本発明によれば、クライアントからの要求を受付けるモジュールを、業務処理を行うモジュールや画面出力するモジュールと対応させる必要がない。したがって、要求を受付けるモジュールは、システム上に少なくとも1つあれば実装可能となり、要求を受付けるモジュールの個数の制限が緩和される。これにより、画面数が増えても、要求を受付けるモジュールの数は増加せず、個別方式で発生するリソース消費量の増加、すなわち性能の劣化を防げる。さらに、要求を受付けるモジュールの増加に伴う、コーディング工数、および管理工数の増加も防げる。
また、本発明によれば、実行する業務処理モジュールを決定するのに従来のようなエンジン方式に必要な画面遷移情報を定義した画面遷移定義ファイルが不要である。この結果、画面遷移定義ファイルの設計、および実装にかかる工数を削減できる。さらに、画面遷移の全体が見えなくても、画面遷移が決まったところから単独で開発できるため、効率的な開発が可能になる。
【図面の簡単な説明】
【図1】本発明を適用したネットワークシステムの一実施の形態を示す構成図である。
【図2】本発明に係る業務処理プログラム制御装置の実施の形態を示す構成図である。
【図3】入力電文の例を示す図である。
【図4】出力電文の例を示す図である。
【図5】入力データの例を示す図である。
【図6】業務処理結果の例を示す図である。
【図7】生成画面決定テーブルの例を示す図である。
【図8】本発明の実施の形態の動作を示すフローチャートである。
【図9】Webアプリケーションの画面遷移の一例を示す図である。
【図10】入力電文の具体例を示す図である。
【図11】入力データの具体例を示す図である。
【図12】業務処理結果の具体例を示す図である。
【図13】生成画面決定テーブルの具体例を示す図である。
【図14】出力電文の具体例を示す図である。
【図15】performEvent関数の引数の設計方法を説明する図である。
【図16】performEvent関数の引数の設計方法を説明する図である。
【図17】従来技術の1つである個別方式を示す図である。
【図18】従来技術の1つであるエンジン方式を示す図である。
【符号の説明】
101…クライアント、102…インターネット、103…Webサーバ、
104…アプリケーションサーバ、105…データベースサーバ、106…データベース、107…WEBアプリケーション、110…処理プログラム制御装置、111…要求受付部、112…業務処理振分部、113…生成画面制御部、114…業務シナリオモジュール、115…複数の業務モジュール、116…画面生成モジュール、117…業務結果、120…メモリ、121…入力データ、122…実行シナリオID、123…業務結果コード、124…出力情報、125…生成画面決定テーブル、130…入力電文、131…出力電文。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a Web application control apparatus that receives a request issued by a client when accessing a Web application, determines a business to be executed based on the request, and determines information to be output and a display method based on the business execution result. The present invention relates to a Web application control device, a network system, and a program that reduce the number of application development steps and enable efficient development.
[0002]
[Prior art]
2. Description of the Related Art In recent years, systems using server-side technology in Web application systems on the Internet and intranet have become widespread.
In recent Web application development, several methods are known for designing an application on a server.
FIG. 17 shows an outline of a method of designing a module (Servlet) that receives a request from a client, a module (Bean) that performs business processing, and a module (JSP) that outputs a screen (hereinafter, referred to as an individual method). FIG. 1 is a diagram showing a configuration disclosed in Japanese Patent Application Laid-Open No. 2001-344105.
In the method shown in FIG. 17, a request receiving unit 1701 for receiving a business processing request transmitted from a client as an input, a business processing module 1702 for performing a business processing result in accordance with the request content, and a processing result screen are displayed. The screen generation module to be generated and 1703 are associated with each other on a one-to-one basis, a business process corresponding to the content of the business process request received by the request receiving unit 1701 is executed by the corresponding business process module 1702, and a screen corresponding to the result Is generated by the corresponding screen generation module 1703, and the generated screen is returned to the requesting client as a response (output) to the business processing request.
[0003]
On the other hand, as shown in FIG. 18, one representative module (request receiving unit) 1801 receives a request from a client, and a business processing module and a screen transition determination module according to the request content are determined by a business processing determining unit 1802. The business process according to the determination result is distributed to any one of the plurality of business process modules 1803-1 to 1803-n and executed, and the screen transition according to the result is determined by the screen transition determination module 1804. Is generated by the screen generation module 1805 and returned to the requesting client as a response (output) to the business processing request (hereinafter referred to as an engine method). (Published March 15, 2002, Author: Katsuhiko Yuura, etc., Publisher: Soft Research Center), pages 129-131.
[0004]
[Problems to be solved by the invention]
The above-mentioned conventional technology has been developed in accordance with the shortening of the development cycle in recent system development. In particular, when a business system or business service is disclosed on the Web, shortening the development cycle is a strong requirement as customer needs. In a Web application system, it is required not only to periodically change the design and information of a Web page, but also to publish a new service on the system at an early stage and to quickly expand the service. In order to respond to those customer needs and to respond to the development cycle of the Web application system, it is necessary to reduce the development work and speed up the development work.
[0005]
However, the conventional method has the following problems.
In the case of the individual system shown in FIG. 17 disclosed in Japanese Patent Application Laid-Open No. 2001-344105, since a module for receiving a request is created in one-to-one correspondence with a screen generation module, the module for receiving a request always has a screen. The same number is required. Therefore, as the number of screens increases, the number of modules that accept requests also increases. Modules that accept requests are separately loaded into memory at the time of execution, so as the number of screens increases, the number of request acceptance modules loaded on memory also increases, resource consumption increases, and performance decreases There is a problem.
In addition, as a problem in terms of management, there is a problem that the number of man-hours for managing the module increases as the number of screens increases. In addition, even if the module that accepts the request has several lines of coding, it is necessary to perform the coding. Therefore, there is a problem that the load of the coding increases as the number of screens increases.
[0006]
On the other hand, in the engine system of FIG. 18, after one request receiving module receives a request from a client on behalf of the client, a business processing module to be executed is determined from a plurality of business processing modules. At that time, a screen transition definition file 1806 that defines screen transition information is required. Further, in order to change the output screen according to the result of the business process, it is necessary to implement the screen transition determination module 1804 for each business process module.
In the case of the engine system as described above, only one module may receive the request. For this reason, the problem that management man-hours and costs increase does not occur.
[0007]
However, in order to determine the business process module to be executed, a screen transition definition file that defines screen transition information is required. For this reason, when the screen transition is complicated, the plane transition definition file is also complicated, and there is a problem that the burden of designing and creating the screen transition definition file increases.
Furthermore, since the entire screen transition is described in the screen transition definition file, there is a problem that the implementation cannot be started unless the entire screen transition is visible.
[0008]
An object of the present invention is to make it possible to implement a Web application by having at least one module in a system that receives a request from a client at the time of developing the Web application, to increase the number of screens, and increase the resource consumption, An object of the present invention is to solve the problem that the man-hour for managing the module increases and the man-hour for coding the module increases.
Furthermore, by eliminating the need for a screen transition definition file, the man-hours required to design and create the screen transition definition file are reduced, and even if the entire screen transition is not visible, the screen transition can be implemented independently from the point where the screen transition is determined. In this way, it is possible to improve the efficiency of development.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, a Web application control device according to the present invention distributes a business process according to a request content from a client to one of a plurality of business process modules prepared in advance, and transmits a process result to a request source. A web application control device for replying to a client,
Request receiving means for receiving a request including identification information of the business process to be executed together with data to be processed from the client, and distributing the process to a business process module corresponding to the received identification information of the business process; A business process distribution unit to acquire, a generated screen control unit that allocates a screen generation process of a processing result to one of a plurality of screen generation modules based on the identification information and a processing result of the business processing module, And a screen generating unit comprising a plurality of screen generating modules for generating screen data and outputting the data as a response to the requesting client.
The system further comprises a plurality of business scenario modules each describing a scenario for performing a different business process using the plurality of business process modules, wherein the business process distribution means corresponds to the business scenario module as identification information of the business process. The received identification information is received from the client, and the process is distributed to the business scenario module corresponding to the received identification information.
[0010]
Also, in a network system including a client that transmits a business processing request, and an application server that receives the business processing request via a network, executes business processing according to the request content, and returns a processing result to the requesting client. The client has means for transmitting a request including identification information of a business process to be executed together with data to be processed,
Request receiving means for receiving, from the client, a request including identification information of a business process to be executed together with data to be processed,
A business processing distribution unit for allocating a processing to a business processing module corresponding to the identification information of the business processing received from the client among a plurality of business processing modules prepared in advance, and obtaining a processing result; and the identification information and the business processing module Generating screen control means for distributing the screen generation processing of the processing result to one of a plurality of screen generation modules based on the processing result of the above, and generating the screen data of the allocated processing result and outputting it as a response to the requesting client Screen generating means comprising a plurality of screen generating modules.
The application server may further include a plurality of business scenario modules each describing a scenario for performing a different business process using the plurality of business process modules, and the business process distribution unit may include, as identification information of the business process, It is characterized in that identification information corresponding to the business scenario module is received from a client, and processing is distributed to the business scenario module corresponding to the received identification information.
[0011]
A Web application control program that distributes a business process according to the content of a request from a client to one of a plurality of business process modules prepared in advance, and returns a processing result to a client of the request source. A request receiving step of receiving a request including identification information of a business process to be executed together with data to be executed, and a business process of allocating a process to a business processing module corresponding to the received identification information of the business process and obtaining a processing result A distribution step, a generation screen control step of allocating a screen generation process of the processing result to one of the plurality of screen generation modules based on the identification information and the processing result of the business processing module, and generating screen data of the allocated processing result And output it as a response to the requesting client Web application control program, characterized in that it comprises a surface generating step.
[0012]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be specifically described with reference to the drawings.
1 and 2 are block diagrams showing a configuration example of an embodiment of a network system to which the present invention is applied.
The processing program control device 110 constituting the Web application control device according to the present invention exists in the application server 104 of the Web application 107.
The Web application 107 is an application that can be used on the Internet 102, and includes a Web server 103 that receives a request from the client 101, an application server 104 that performs business processing, a database server 105 that accesses a database 106, and a database 106. ing.
The client 101 receives an operation by the user 100, transmits an input message 130 to the web application 107 via the Internet 102, receives an output message 131 from the web application 107, and presents the web browser 141 and an individual application to the user 100. 142 or an application or a hardware device.
[0013]
As shown in FIG. 2, the application server 104 receives the input message 130 from the client 101 and performs a business process according to the content of the received input message in a plurality of business scenario modules 114 (scenarios 1 to N). ) 1141 to execute the program, receive the execution result, determine the screen generation module 116 that generates the output message 131, and a plurality of business modules 115 including the business 1 to the business L , A business scenario module 114 for executing a series of business, a business module 115 composed of business 1 to business L for performing business processing, and a screen generation module 116 for generating an output message 131 to be returned to the client 101. Exists.
Each task scenario module 1141 is assigned an ID for uniquely identifying each task scenario module 1141. One business scenario module 1141 exists for each process performed after a request from the client 101 is received until a response is made to the client 101.
Each business scenario module 1141 is a module in which a plurality of business modules are used in combination and a scenario for obtaining a predetermined processing result is described. It has been described. As the scenario, one or more business module names required to obtain a predetermined processing result, the execution order of the business modules, and the like are described.
Also, each business module 1151 exists for one business process, and the screen generation module 116 includes a plurality of screen generation modules (screen generation 1 to M) 1161. There is one.
[0014]
As shown in FIG. 2, the business processing program control device 110 distributes the processing by passing the input data 121 to the request receiving unit 111 that receives the input electronic message 130 transmitted by the client 101 via the Internet 102, and receives the business processing result. A business processing distribution unit 112, a generated screen control unit 113 that determines a screen generation module 116 to be executed according to the business processing result 117, input data 121, an execution scenario ID 122, a business result code 123, output information 124, a generated screen determination table It is composed of a memory 120 for storing the data 125.
The request receiving unit 111, the business process distribution unit 112, and the generation screen control unit 113 that constitute the business process program control device 110 are specifically configured by a program.
[0015]
Hereinafter, each component of the business processing program control device 110 according to the present invention will be described.
The request receiving unit 111 is a module that receives a request from the client 101. The request receiving unit 111 receives an input electronic message 130 having a format configuration as shown in FIG. 3, acquires an execution scenario ID 204 and input data 205 from the input electronic message 130, and stores them in the input data 121 and the execution scenario ID 122 on the memory 120, respectively. Is performed.
Since the request receiving unit 111 does not include a process depending on each screen generation module 116, there is no need to associate the request reception unit 111 with the screen generation module 116 as in the conventional individual method. Therefore, at least one request reception unit 111 may be provided on the application server 104 irrespective of the screen generation module 116.
[0016]
After deciding a business scenario module 1141 (any one of scenarios 1 to N) for executing a business process according to the request content, the business process distribution unit 112 passes the input data 121 on the memory 120 to execute the business process. This is a module that is executed and receives the business process result 117. When determining the business scenario module 1141 (any one of the scenarios 1 to N), the business process distribution unit 112 acquires the execution scenario ID 122 from the memory 120. Each business scenario module 1141 is provided with a scenario ID for uniquely identifying the business scenario module 1141, and the business scenario module 1141 to be executed is uniquely determined from the execution scenario ID 122. Therefore, a screen transition definition file that defines screen transition information required by the conventional engine method to determine the task scenario module 1141 to be executed becomes unnecessary.
[0017]
After executing the business process, the business process distribution unit 112 receives the business process result 117 from the business scenario module 114, acquires the business result code 503 and the output information 504 as shown in FIG. 120 are stored as a business result code 123 and output information 124, respectively.
The generation screen control unit 113 is a module that determines and executes the screen generation module 116 that generates the output telegram 131. When determining the screen generation module 1161 (any of the screen generations 1 to M), the screen generation module 1161 is determined with reference to the generation screen determination table 125 based on the execution scenario ID 122 and the business result code 123 in the memory 120.
[0018]
FIG. 3 is a diagram showing the structure of the input telegram 130.
The input message 130 includes an HTTP header 201, a current screen ID 202, an event ID 203, an execution scenario ID 204, input data 205, and "&" 206 connecting each item.
The HTTP header 201 is a header of a message when communicating by HTTP. The current screen ID 202 is the ID of the screen currently displayed on the client 101. The event ID 203 is an ID corresponding to an event that has occurred on the client 101. The execution scenario ID 204 is the ID of the business scenario module 1141 to be executed, and is used when the business process distribution unit 112 determines the business scenario module 1141 to be executed. The input data 205 is data that is input from the client 101 and serves as input for business processing, and each data is connected with “&” 206. Note that the current screen ID 202 and the event ID 203 are generally used in business processing.
[0019]
FIG. 4 is a diagram showing the structure of the output telegram 131.
The output telegram 131 includes an HTTP header 301, a screen layout 302, an output 303 of a business result, and a processing code 304 for an event.
The HTTP header 301 is a header used for HTTP communication. The screen layout 302 is HTML related to the screen layout. The business result output 303 is the HTML of a portion that displays the result of executing the business process. The processing code 304 for the event is a code for executing processing performed on the client 101 when an event such as a button click on the screen occurs.
[0020]
FIG. 5 is a diagram showing the structure of the input data 121.
The input data 121 is a hash table having a pair of a key 401 and a value 402, and includes a current screen ID 403, an event ID 404, and other data 405. The current screen ID 403 is the ID of the screen currently displayed on the client 101, and the event ID 404 is the ID of an event that has occurred on the client 101. Other data 405 is data input from the client 101 and is input data for business processing.
[0021]
FIG. 6 is a diagram showing the structure of the business processing result 117.
The business process result 117 is a hash table having a pair of a key 501 and a value 502. The business processing result 117 includes a business result code 503 and output information 504. The business result code 503 is a code indicating a state of a result of executing the business in the business scenario module 1141. The output information 504 is information for generating the output telegram 131 as a result of the business process.
[0022]
FIG. 7 is a diagram showing the structure of the generation screen determination table 125.
The generation screen determination table 125 is a table in which the scenario ID is taken in the row direction 602 and the business result code is taken in the column direction 601, and the ID of the screen generation module 116 to be executed is set in each column 603.
The generation screen determination table 125 is used when the generation screen control unit 113 determines the screen generation module 116 to be executed.
[0023]
FIG. 8 is a flowchart showing the operation in the above configuration.
Hereinafter, the operation from receiving a request from a client to returning a business process result will be described according to this flowchart.
First, the client 101 generates an input message 130 including the execution scenario ID 204 by the operation of the user 100, and transmits the input message 130 to the Web server 103 via the Internet 102 (step 701). The Web server 103 receives the input electronic message 130 and passes it to the application server 104 (Step 702).
The request receiving unit 111 on the application server 104 receives the input message 130, acquires the execution scenario ID 204 and the input data 205 from the input message 130 (Step 703), and stores the acquired execution scenario ID 204 and the input data 205 in the memory 120. The above execution scenario ID 122 is stored as the input data 121 (step 704).
[0024]
The business process distribution unit 112 acquires the execution scenario ID 122 from the memory 120 (step 705), and determines to distribute the process to the business scenario module 1141 corresponding to the acquired execution scenario ID 122 (step 706). Further, the input data 121 is obtained from the memory 120, and the obtained input data 121 is passed to the business processing module 1141 determined in step 706 and called (step 707).
The called business scenario module 1141 receives the input data 121, executes the business module 1151 necessary for executing the business process, and executes the business process (Step 708).
Further, a business process result 117 is generated, and a business result code 503 which is a code indicating a status of the business process result and output information 504 which is information used when generating the output message 131 are stored in the business process result 117. Then, it returns to the business process distribution unit 112 (step 709).
[0025]
The business process distribution unit 112 receives the business process result 117, acquires the business result code 503 and the output information 504 from the business process result 117 (Step 710), and compares the acquired business result code 503 and the output information 504 with the business process result. The result code 123 and the output information 124 are stored in the memory 120 (step 711).
Next, the generation screen control unit 113 acquires the execution scenario ID 122 and the business result code 123 from the memory 120 (Step 712).
The generation screen control unit 113 refers to the generation screen determination table 125 in the memory 120, refers to the row of the execution scenario ID 122 acquired in step 712, and the column of the business result code 123, and sets the screen generation module set in the corresponding column The ID of the screen generation module 1161 is acquired, and the screen generation module 116 corresponding to the acquired ID of the screen generation module 1161 is executed (step 713).
[0026]
The screen generation module 1161 receives the output information 124 from the memory 120, generates an output telegram 131, and transmits it to the client 101 (Step 714). The client 101 interprets the received output message 131 and displays it in a format that can be browsed by the user 100 (step 715).
[0027]
Next, the operation of the present exemplary embodiment will be specifically described using a simple example of a Web application.
FIG. 9 is a diagram illustrating an example of screen transition of the Web application.
The web application shown in FIG. 9 includes a member information input screen 810, an input content confirmation screen 820, and a member registration screen 830. Screen IDs of the respective screens are G0001, G0002, and G0003, respectively.
The member information input screen 810 is a screen on which the user 100 inputs member information in order to register as a member.
The member information input screen 810 includes an input box for a name 811, a name (kana) 812, a mail address 813, a telephone number 814, and a “register” button 815. When the “register” button 815 is pressed, the screen transitions to an input content confirmation screen 820.
[0028]
The input content confirmation screen 820 is a screen for confirming to the user 100 whether or not the information input by the user 100 on the member information input screen 810 is correct.
The input content confirmation screen 820 includes a name 821, a name (kana) 822, an email address 823, a telephone number 824, a “register” button 825, and a “cancel” button 826 input by the user 100 on the member information input screen 810. You. When the “register” button 825 is pressed, the information input on the member information input screen 810 is stored in the database 106, and the screen transits to a member registration completion screen 830. When the “cancel” button 826 is pressed, the screen returns to the member information input screen 810. At this time, in the input boxes for the name 811, the name (kana) 812, the mail address 813, and the telephone number 814 on the member information input screen 810, the information previously input by the user 100 on the member information input screen 810 is used as an initial value. indicate.
[0029]
The member registration completion screen 830 is a screen that notifies the user 100 that the member registration has been completed. The member registration completion screen 830 includes a registration completion message 831 and a “go to registration screen” button 832.
When the “to registration screen” button 832 is pressed, the screen transits to a member information input screen 810. At this time, input boxes for the name 811, the name (kana) 812, the mail address 813, and the telephone number 814 on the member information input screen 810 are blank.
[0030]
Next, the operation when the “register” button 815 is pressed on the member information input screen 810 of the web application in FIG. 9 will be described with reference to FIGS. 10 to 14 and along the flowchart in FIG.
First, when the user 100 inputs a name 811, a name (kana) 812, an e-mail address 813, and a telephone number 814 on the member information input screen 810 and presses a “register” button 815, the client 101 generates an input message 130. Then, the input electronic message 130 is transmitted to the Web server 103 via the Internet 102.
The input message 130 contains the ID of the business scenario to be executed as the execution scenario ID 204 (in this example, the ID of the business scenario for executing the business of registering the member information = G001).
[0031]
FIG. 10 is a diagram illustrating an example of an input message generated based on information input on the member information input screen 810 in FIG.
An HTTP header 901 is an HTTP header portion including a data transmission method and information of the client 101.
The key of the current screen ID 902 is “C”, and the value is set to the screen ID “G0001” of the member information input screen 810. The event ID 903 has a key “E” and a value “G0001-01”. The execution scenario ID 904 has a key “R” and a value “S0002”.
The input data 905 has items of NAME, KANA_NAME, MAIL, and TEL, whose values are “Hiraoka”, “Hiraoka”, “aaa@xxxxxx.co.jp”, and “045- * 23-4 **”, respectively. 7 ".
[0032]
The Web server 103 receives the input message 130 and passes it to the application server 104.
The request receiving unit 111 on the application server 104 receives the input telegram 130 and acquires the execution scenario ID 904 “S0002” and the input data 905 from the input telegram 130 in FIG. The acquired execution scenario ID 904 “S0002” and the input data are stored in the memory 120 as the execution scenario ID 122 and the input data 121, respectively.
[0033]
FIG. 11 is a diagram illustrating an example of the input data 121.
In this example, the current screen ID 902 is set to 1001, the event ID 903 is set to 1002, and the input data 905 is set to 1003 in FIG.
Next, the business process distribution unit 112 acquires the execution scenario ID 122 “S0002” from the memory 120, and distributes the process to the business scenario module 1141 corresponding to “S0002” on a one-to-one basis. At the time of distribution of this processing, the input data 121 is acquired from the memory 120 and passed to the business processing module 1141.
The business scenario module 1141 of the scenario IDS0002 receives the input data 121, executes one or a plurality of business modules 1151 necessary for executing business processing, and returns a business processing result 117.
[0034]
FIG. 12 is a diagram illustrating an example of the work result 117.
The job result code 1101 shown in FIG. 12 is “0”. For example, suppose that “0” indicates that the task has been completed normally, and if an error occurs during the execution of the task, a value other than “0” corresponding to the occurred error is set as the task result code 1101. The output information 1102 of the business result 117 is information to be output on the input content confirmation screen 820, and the values input to the name 811, the name (kana) 812, the mail address 813, and the telephone number 814 on the member information input screen 810. It is.
Next, the task processing distribution unit 112 receives the task processing result 117, acquires the task result code 1101 “0” and the output information 1102 from the task processing result 117, and acquires the acquired task result code 1101 “0” and the output information. 1102 are stored in the memory 120 as a work result code 123 and output information 124, respectively.
[0035]
FIG. 13 is a diagram showing an example of the generation screen determination table 125.
The generation screen control unit 113 acquires the execution scenario ID 122 “S0002” and the task result code 123 “0” from the memory 120, and determines the screen generation module to be executed with reference to the generation screen determination table 125.
For example, when the generation screen determination table 125 is as shown in FIG. 13, the generation screen control unit 113 refers to the generation screen determination table 125, and sets the column 1201 corresponding to the execution scenario ID “S0002” and the business result code “ With reference to the row 1202 corresponding to “0”, P0002 set in the corresponding column 1203 is acquired. Then, the screen generation module 1161 (one of screen generations 1 to M) corresponding to P0002 is executed.
[0036]
Next, the screen generation module 1161 acquires the output information 124 (contents of 1102 in FIG. 12) from the memory 120, generates an output telegram 130, and transmits the output telegram 130 to the client 101. The client 101 receives the output message 131 and presents the input content confirmation screen 820 of FIG. 9 to the user 100.
[0037]
FIG. 14 is a diagram illustrating an example of the output telegram 130.
An HTTP header 1301 is a header for communication using HTTP. The screen layout 1302 is HTML for displaying the input content confirmation screen 820. The job result output 1303 is HTML that displays the result of the job, and embeds information that is displayed on the screen by the user 100 on the member registration input screen 810 and information to be transmitted as the input message 130 in the next event. Part. The processing code 1304 for the event is a code describing a process of generating the input message 130 including the execution scenario ID 204 and transmitting the input message 130 to the Web server 103 when the “register” button 825 and the “cancel” button 826 are pressed. ing.
[0038]
Here, a method of embedding the execution scenario ID 204 in the input message 130 will be described.
When the “register” button 825 is pressed, an onClick event 1305 of the “register” button 825 is generated. In the onClick event 1305, a performEvent function 1306 is called with “G0002-01” 1307 and “S0003” 1308 as arguments.
The performEvent function, when called, has a function of embedding an event ID and an execution scenario ID in an input message and transmitting the input message to a server.
In the performEvent function 1306, the received first argument “G0002-01” is set as an event ID in “E” 1309 of the hidden field. Further, the second argument “S0003” is set as the execution scenario ID in “R” 1310 of the hidden field. Finally, a submit 1311 is executed, and the input electronic message 130 is transmitted to the Web server 103. As described above, the client 101 embeds the event ID 203 and the execution scenario ID 204 in the input telegram 130.
[0039]
FIGS. 15 and 16 are diagrams showing a method of designing an argument of the performEvent function 1306. FIG.
Specifically, this is an example of the design of the input content confirmation screen 820.
First, an event that occurs on the screen is designed, and an event list 1401 is created as a list of events. The event list 1401 is created for each screen generation module 1161. Next, an input message 130 to be transmitted from the client 101 to the Web server 103 when an event occurs is designed, and an item transmission specification 1402 is created. The item transmission specification 1402 describes the execution scenario ID 204 and the input data 205 of the input electronic message 130 to be transmitted. The item transmission specification 1402 is created for each event entered in the event list 1401.
For example, in the case of the input content confirmation screen 820, the event ID “G0002-01” 1103 of the item transmission specification 1402 is set in the first argument 1307 of the performEvent function 1306 when the “register” button 825 is pressed. In the second argument 1308, the execution scenario ID “S0003” 1404 of the item transmission specification 1402 is set.
With such a design, individual screens can be independently designed and mounted even if the entire screen transition is not visible.
[0040]
【The invention's effect】
As described above, according to the present invention, it is not necessary to associate a module that receives a request from a client with a module that performs business processing or a module that outputs a screen. Therefore, at least one module that accepts a request can be mounted on the system, and the restriction on the number of modules that accept a request is relaxed. As a result, even if the number of screens increases, the number of modules that accept requests does not increase, and it is possible to prevent an increase in resource consumption that occurs in the individual scheme, that is, deterioration in performance. Further, it is possible to prevent an increase in coding man-hours and management man-hours due to an increase in modules for receiving requests.
Further, according to the present invention, there is no need for a screen transition definition file that defines screen transition information necessary for an engine system as in the related art to determine a task processing module to be executed. As a result, the man-hours required for designing and implementing the screen transition definition file can be reduced. Furthermore, even if the entire screen transition is not visible, since the screen transition can be independently developed from the determined place, efficient development becomes possible.
[Brief description of the drawings]
FIG. 1 is a configuration diagram illustrating an embodiment of a network system to which the present invention is applied.
FIG. 2 is a configuration diagram showing an embodiment of a business processing program control device according to the present invention.
FIG. 3 is a diagram showing an example of an input telegram;
FIG. 4 is a diagram illustrating an example of an output telegram;
FIG. 5 is a diagram illustrating an example of input data.
FIG. 6 is a diagram illustrating an example of a business process result.
FIG. 7 is a diagram illustrating an example of a generation screen determination table.
FIG. 8 is a flowchart showing the operation of the embodiment of the present invention.
FIG. 9 is a diagram illustrating an example of screen transition of a Web application.
FIG. 10 is a diagram showing a specific example of an input telegram;
FIG. 11 is a diagram showing a specific example of input data.
FIG. 12 is a diagram illustrating a specific example of a business process result.
FIG. 13 is a diagram illustrating a specific example of a generation screen determination table.
FIG. 14 is a diagram illustrating a specific example of an output telegram;
FIG. 15 is a diagram illustrating a method of designing an argument of a performEvent function.
FIG. 16 is a diagram illustrating a method for designing an argument of a performEvent function.
FIG. 17 is a diagram showing an individual system which is one of the prior arts.
FIG. 18 is a diagram showing an engine system which is one of the prior arts.
[Explanation of symbols]
101: client, 102: Internet, 103: Web server,
104: Application server, 105: Database server, 106: Database, 107: Web application, 110: Processing program control device, 111: Request receiving unit, 112: Business process distribution unit, 113: Generation screen control unit, 114: Business Scenario module, 115: Multiple business modules, 116: Screen generation module, 117: Business result, 120: Memory, 121: Input data, 122: Execution scenario ID, 123: Business result code, 124: Output information, 125: Generation Screen determination table, 130 ... input message, 131 ... output message.

Claims (5)

クライアントからの要求内容に応じた業務処理を予め用意された複数の業務処理モジュールのいずれかに振り分け、処理結果を要求元のクライアントに返信するWebアプリケーション制御装置であって、
クライアントから業務処理の対象となるデータと共に実行すべき業務処理の識別情報を含む要求を受付ける要求受付手段と、
受付けた前記業務処理の識別情報に対応する業務処理モジュールに処理を振り分け、処理結果を取得する業務処理振り分け手段と、
前記識別情報と業務処理モジュールの処理結果に基づいて複数の画面生成モジュールのいずれかに処理結果の画面生成処理を振り分ける生成画面制御手段と、
振り分けられた処理結果の画面データを生成し、要求元のクライアントへの応答として出力する複数の画面生成モジュールから成る画面生成手段と
を備えることを特徴とするWebアプリケーション制御装置。
A Web application control device for allocating a business process according to a request content from a client to one of a plurality of business process modules prepared in advance and returning a processing result to a requesting client,
Request receiving means for receiving a request including identification information of a business process to be executed together with data to be processed from the client;
A business process allocation unit that allocates a process to a business process module corresponding to the received identification information of the business process, and obtains a process result;
A generation screen control unit that allocates a screen generation process of a processing result to one of a plurality of screen generation modules based on the identification information and a processing result of the business processing module;
A web application control apparatus, comprising: a screen generating unit configured to generate screen data of a sorted processing result and output the screen data as a response to a requesting client;
複数の業務処理モジュールを使用してそれぞれ異なる業務処理を行うためのシナリオを記述した複数の業務シナリオモジュールを備え、前記業務処理振り分け手段は前記業務処理の識別情報として前記業務シナリオモジュールに対応する識別情報をクライアントから受付け、受付けた識別情報に対応した業務シナリオモジュールに対し処理を振り分けることを特徴とする請求項1に記載のWebアプリケーション制御装置。A plurality of business scenario modules each describing a scenario for performing a different business process using the plurality of business process modules, wherein the business process distribution means includes an identification corresponding to the business scenario module as identification information of the business process. The Web application control device according to claim 1, wherein information is received from a client, and processing is distributed to a business scenario module corresponding to the received identification information. 業務処理要求を送信するクライアントと、業務処理要求をネットワークを介して受付け、要求内容に応じた業務処理を実行し、処理結果を要求元のクライアントに返信するアプリケーションサーバとを備えるネットワークシステムにおいて、
前記クライアントが、業務処理の対象となるデータと共に実行すべき業務処理の識別情報を含む要求を送信する手段を有し、
前記アプリケーションサーバが、
クライアントから業務処理の対象となるデータと共に実行すべき業務処理の識別情報を含む要求を受付ける要求受付手段と、
予め用意された複数の業務処理モジュールのうちクライアントから受付けた前記業務処理の識別情報に対応する業務処理モジュールに処理を振り分け、処理結果を取得する業務処理振り分け手段と、
前記識別情報と業務処理モジュールの処理結果に基づいて複数の画面生成モジュールのいずれかに処理結果の画面生成処理を振り分ける生成画面制御手段と、
振り分けられた処理結果の画面データを生成し、要求元のクライアントへの応答として出力する複数の画面生成モジュールから成る画面生成手段と
を備えることを特徴とするネットワークシステム。
In a network system including a client that transmits a business processing request and an application server that receives the business processing request via a network, executes a business process according to the request content, and returns a processing result to the requesting client,
The client has means for transmitting a request including identification information of a business process to be executed together with data to be processed,
The application server,
Request receiving means for receiving a request including identification information of a business process to be executed together with data to be processed from the client;
A business process allocation unit that allocates a process to a business process module corresponding to the identification information of the business process received from the client among a plurality of business process modules prepared in advance, and obtains a process result;
A generation screen control unit that allocates a screen generation process of a processing result to one of a plurality of screen generation modules based on the identification information and a processing result of the business processing module;
A network system comprising: a screen generating unit configured to generate screen data of a sorted processing result and output the screen data as a response to a requesting client;
前記アプリケーションサーバが、複数の業務処理モジュールを使用してそれぞれ異なる業務処理を行うためのシナリオを記述した複数の業務シナリオモジュールをさらに備え、前記業務処理振り分け手段は前記業務処理の識別情報として前記業務シナリオモジュールに対応する識別情報をクライアントから受付け、受付けた識別情報に対応した業務シナリオモジュールに対し処理を振り分けることを特徴とする請求項3に記載のネットワークシステム。The application server further includes a plurality of business scenario modules each describing a scenario for performing a different business process using the plurality of business process modules, and the business process distribution unit includes the business process as identification information of the business process. 4. The network system according to claim 3, wherein identification information corresponding to the scenario module is received from a client, and processing is distributed to a business scenario module corresponding to the received identification information. クライアントからの要求内容に応じた業務処理を予め用意された複数の業務処理モジュールのいずれかに振り分け、処理結果を要求元のクライアントに返信するWebアプリケーション制御プログラムであって、
クライアントから業務処理の対象となるデータと共に実行すべき業務処理の識別情報を含む要求を受付ける要求受付ステップと、
受付けた前記業務処理の識別情報に対応する業務処理モジュールに処理を振り分け、処理結果を取得する業務処理振り分けステップと、
前記識別情報と業務処理モジュールの処理結果に基づいて複数の画面生成モジュールのいずれかに処理結果の画面生成処理を振り分ける生成画面制御ステップと、
振り分けられた処理結果の画面データを生成し、要求元のクライアントへの応答として出力する画面生成ステップと
を備えることを特徴とするWebアプリケーション制御プログラム。
A Web application control program for allocating a business process according to a request content from a client to one of a plurality of business process modules prepared in advance, and returning a processing result to a requesting client,
A request receiving step of receiving a request including identification information of a business process to be executed together with data to be processed from the client;
A business process allocation step of allocating a process to a business process module corresponding to the received identification information of the business process, and acquiring a process result;
A generation screen control step of allocating a screen generation process of a processing result to one of a plurality of screen generation modules based on the identification information and a processing result of the business processing module;
A screen generation step of generating screen data of the sorted processing result and outputting the screen data as a response to the requesting client.
JP2002194737A 2002-07-03 2002-07-03 Web application control unit, program, and network system Pending JP2004038559A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002194737A JP2004038559A (en) 2002-07-03 2002-07-03 Web application control unit, program, and network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002194737A JP2004038559A (en) 2002-07-03 2002-07-03 Web application control unit, program, and network system

Publications (1)

Publication Number Publication Date
JP2004038559A true JP2004038559A (en) 2004-02-05

Family

ID=31703356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002194737A Pending JP2004038559A (en) 2002-07-03 2002-07-03 Web application control unit, program, and network system

Country Status (1)

Country Link
JP (1) JP2004038559A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235874A (en) * 2005-02-23 2006-09-07 Japan Research Institute Ltd Information processing system for business
JP2006251951A (en) * 2005-03-09 2006-09-21 Nomura Research Institute Ltd Information processor and processing method
WO2009096045A1 (en) 2008-01-30 2009-08-06 The Bank Of Tokyo-Mitsubishi Ufj, Ltd. Application development support device, program, and recording medium
JP2012064250A (en) * 2012-01-04 2012-03-29 Bank Of Tokyo-Mitsubishi Ufj Ltd Online system, program generation device and screen control program generation device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235874A (en) * 2005-02-23 2006-09-07 Japan Research Institute Ltd Information processing system for business
JP2006251951A (en) * 2005-03-09 2006-09-21 Nomura Research Institute Ltd Information processor and processing method
WO2009096045A1 (en) 2008-01-30 2009-08-06 The Bank Of Tokyo-Mitsubishi Ufj, Ltd. Application development support device, program, and recording medium
US8504981B2 (en) 2008-01-30 2013-08-06 The Bank Of Tokyo-Mitsubishi Ufj, Ltd. Application development support device, program, and recording medium
JP2012064250A (en) * 2012-01-04 2012-03-29 Bank Of Tokyo-Mitsubishi Ufj Ltd Online system, program generation device and screen control program generation device

Similar Documents

Publication Publication Date Title
US8332520B2 (en) Web server for managing session and method thereof
US7769821B2 (en) Systems and methods for enhanced meassage support using a generic client proxy
EP1770960B1 (en) A data processing system and method of mirroring the provision of identifiers
EP1753195A1 (en) Server computer, client device and web service implemented data processing method
JP2010128877A (en) Web system and method of collecting processing record
US7996840B2 (en) Method, system, and apparatus for scheduling pattern based web services
US7096230B2 (en) Computer-implemented method and system to support in developing a process specification for a collaborative process
US7533383B2 (en) Method, system, and apparatus for scheduling pattern based web services
US7289989B2 (en) Pattern based web services
JP2006243985A (en) Message notification system and method, and server used therefor
EP1574980A1 (en) Context objects for accessing message content
US20040193746A1 (en) Service search device, service search method and document processing system
US7426733B2 (en) Automatic program changing method for client program interface
JP2006277644A (en) Data migration support system and data migration support program
JP2004038559A (en) Web application control unit, program, and network system
CN114219451A (en) Workflow design method and system based on visualization engine
US20050125719A1 (en) Tool for displaying JMX monitoring information
JP2001265603A (en) Automatic division software distribution system and method therefor
JP2002189973A (en) Method and system for deputizing authentication/ charging, and storage medium where authentication/ charging deputizing program is stored
JP2001282737A (en) Job load dispersion system
JP4714463B2 (en) Method for inheriting data between user terminal device and Web application
CN112433821B (en) Method and device for building business model, electronic equipment and medium
JP4328447B2 (en) Web page format standardization server that functions as a relay server
JP3842696B2 (en) Screen transition control system, client, web server, screen transition control method, and computer program
US20040254952A1 (en) Method and apparatus for generating a web page

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070111

A131 Notification of reasons for refusal

Effective date: 20070116

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20070315

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070801