JP2011096112A - Framework and information processor - Google Patents
Framework and information processor Download PDFInfo
- Publication number
- JP2011096112A JP2011096112A JP2009251069A JP2009251069A JP2011096112A JP 2011096112 A JP2011096112 A JP 2011096112A JP 2009251069 A JP2009251069 A JP 2009251069A JP 2009251069 A JP2009251069 A JP 2009251069A JP 2011096112 A JP2011096112 A JP 2011096112A
- Authority
- JP
- Japan
- Prior art keywords
- data
- client
- data conversion
- format
- exception
- 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
Abstract
Description
本発明は、アプリケーション・ソフトウェアを開発する際に頻繁に必要とされる汎用的な機能をまとめて提供するフレームワーク及び情報処理装置に関する。 The present invention relates to a framework and an information processing apparatus that collectively provide general-purpose functions that are frequently required when developing application software.
Webアプリケーションの開発において、ユーザによって操作される画面の操作性を向上させるため、クライアントアプリケーションの実装にリッチクライアント技術が利用される場合がある。 In developing a Web application, in order to improve the operability of a screen operated by a user, a rich client technique may be used to implement a client application.
リッチクライアント技術には、例えば、ブラウザ上で動作するAjax(Asynchronous JavaScript(登録商標)+XML)、ブラウザへのプラグインで実現されるFlash(登録商標)、クライアントのコンピュータにインストールされるWindows(登録商標)アプリケーションなど様々な種別がある。リッチクライアント技術では、サーバ側がJava(登録商標)言語(Java EE)で生成される場合が多い。 Rich client technology includes, for example, Ajax (Asynchronous JavaScript (registered trademark) + XML) that runs on the browser, Flash (registered trademark) that is implemented by a plug-in to the browser, and Windows (registered trademark) that is installed on the client computer. ) There are various types such as applications. In rich client technology, the server side is often generated in Java (registered trademark) language (Java EE).
そして、近年のエンタープライズシステムにおいて、サーバアプリケーションは、Java EE(Java Platform、Enterprise Edition)によって実装されることが多い。 In recent enterprise systems, server applications are often implemented by Java EE (Java Platform, Enterprise Edition).
なお、クライアントにリッチクライアント技術が利用されているWebアプリケーションは、RIA(Rich Internet Application)と呼ばれるが、RIAのクライアントとサーバとの間を繋ぐためのOSS(Open Source Software)又は製品のライブラリ(通信ライブラリ)が多数リリースされている。RIAは、一般的に、このようなライブラリを用いて開発される。 Web applications that use rich client technology for clients are called RIA (Rich Internet Application), but OSS (Open Source Software) or product libraries (communications) are used to connect RIA clients and servers. Many libraries) have been released. RIA is generally developed using such a library.
例えば、AjaxではOSSのDWRが利用され、WindowsアプリケーションではOSSのApache Axis(登録商標)が利用され、FlashではBlazeDSが利用される。 For example, OSS DWR is used for Ajax, Apache Axis (registered trademark) for OSS is used for Windows applications, and BlazeDS is used for Flash.
データ形式変換に関する技術として、特許文献1(特開2006−268121号公報)と、特許文献2(特開2006−146677号公報)がある。 As technologies related to data format conversion, there are Patent Document 1 (Japanese Patent Laid-Open No. 2006-268121) and Patent Document 2 (Japanese Patent Laid-Open No. 2006-146777).
特許文献1には、少なくともクライアントとのインタフェース層とビジネスロジックを実行する層とに分離されたWebアプリケーションシステムにおいて、プレゼンテーションレイヤがビジネスロジックを呼び出す際に、このビジネスロジックが必要とするデータのみを抽出して渡すようにし、あるいはビジネスレイヤによる応答の中にマッピングクラスのインスタンスが含まれている場合でも、プレゼンテーションレイヤ側に渡すことを可能とすることが、記載されている。
特許文献2には、データを入力する入力画面を有するアプリケーションの開発支援システム及び該システムを用いたデータフォーマット生成方法であって、前記入力画面から入力された入力データを処理する業務プログラムが対象とする業務データのフォーマットから前記入力画面が利用するための入力データのフォーマットを生成し、さらに該入力データから前記業務データを生成するためのフォーマット変換定義を生成するデータフォーマット変換定義モジュールと、該データフォーマット変換定義モジュールで生成された入力データフォーマットにおけるデータを入力するための入力画面を定義する入力画面定義モジュールと、該入力画面定義モジュールで定義された入力画面定義及び前記データフォーマット変換定義モジュールで生成されたフォーマット変換定義を入力して、前記入力画面定義を一意に特定するIDを有する入力画面識別ID付きフォーマット変換定義を生成するフォーマット変換関連定義モジュールとを有することが、記載されている。
多くのリッチクライアント技術では、サーバ側がJava言語で生成される。 In many rich client technologies, the server side is generated in Java language.
しかしながら、クライアントとサーバとの間の通信プロトコル及び送受信されるデータの形式は、リッチクライアント技術ごとに異なる。例えば、クライアントとサーバとの間の通信に使用されるライブラリが異なれば、送受信可能なデータの形式も異なる。 However, the communication protocol between the client and the server and the format of data transmitted / received differ for each rich client technology. For example, if the library used for communication between the client and the server is different, the format of data that can be transmitted and received is also different.
このため、サーバのアプリケーションを例えばJava EEという統一したプラットフォームで開発する場合であっても、それぞれのクライアントの種別に対応するアプリケーションをサーバ側に実装させる必要があり、サーバ側のアプリケーションについてそれぞれのリッチクライアント技術に依存した開発を行う必要がある。 For this reason, even when server applications are developed on a unified platform such as Java EE, for example, it is necessary to implement the application corresponding to each client type on the server side. Development needs to depend on client technology.
したがって、以下のような問題が発生する。 Therefore, the following problems occur.
第1に、新たなリッチクライアント技術を採用してシステムを開発する場合に、その新たなリッチクライアント技術を使ったサーバアプリケーションの開発方法を開発者が学習する必要があり、開発労力及び時間が過大となる。 First, when a system is developed using a new rich client technology, the developer needs to learn how to develop a server application using the new rich client technology, resulting in excessive development effort and time. It becomes.
第2に、同じ仕様のRIAであっても、採用するリッチクライアント技術が異なると、サーバ側のアプリケーションを別々に開発する必要があり、開発労力及び時間が過大となる。 Secondly, even if the RIA has the same specifications, if the rich client technology to be adopted is different, it is necessary to separately develop the application on the server side, and the development effort and time become excessive.
第3に、あるリッチクライアント技術によって開発されたRIAに対して、クライアントのバリエーションを追加すると、サーバアプリケーションの作り直しが必要になり、開発労力及び時間が過大となる。 Third, if client variations are added to an RIA developed with a rich client technology, it will be necessary to recreate the server application, resulting in excessive development effort and time.
上記の特許文献1,2は、フレームワークにおいて、複数のクライアント実装技術に対応する形式の受信データを統一した共通形式のデータに自動的に変換し、クライアント実装技術の違いを吸収する技術ではない。
The
本発明は、以上のような実情に鑑みてなされたもので、クライアント実装技術の差を吸収して、アプリケーションの開発効率を向上させることを目的とする。 The present invention has been made in view of the above circumstances, and an object of the present invention is to absorb differences in client mounting technologies and improve application development efficiency.
本発明の第1の態様に係るフレームワークは、コンピュータを、クライアントのクライアント実装技術に依存するデータと、前記データのデータ形式を指定するデータ形式情報と、前記クライアント実装技術を表すクライアント実装技術識別子とを含み第1の記憶装置に記憶されている受信データに基づいて、前記クライアント実装技術を特定するクライアント特定手段、第2の記憶装置に記憶されており前記クライアント実装技術と受信データ変換依頼先とを関係付けている関係データと、前記クライアント特定手段によって特定された前記クライアント実装技術とに基づいて、前記クライアント実装技術に対応する前記受信データ変換依頼先を決定する受信データ変換管理手段、前記受信データ変換管理手段によって決定された前記受信データ変換依頼先に該当する場合に、前記受信データのデータ形式情報に基づいて、前記受信データに含まれている前記クライアント実装技術に対応する形式のデータを、アプリケーションで用いられている共通形式のデータに変換し、前記共通形式のデータを第3の記憶装置に記憶する受信データ変換手段として機能させる。 The framework according to the first aspect of the present invention provides a computer, data dependent on client implementation technology of a client, data format information specifying the data format of the data, and client implementation technology identifier representing the client implementation technology Client specifying means for specifying the client mounting technology based on the received data stored in the first storage device, and the client mounting technology and the received data conversion request destination stored in the second storage device Receiving data conversion management means for determining the received data conversion request destination corresponding to the client mounting technology based on the relation data relating to the client mounting technology and the client mounting technology specified by the client specifying means, The reception determined by the reception data conversion management means Data corresponding to the client implementation technology included in the received data based on the data format information of the received data, the common format used in the application And the data in the common format is stored in a third storage device to function as received data conversion means.
なお、上記の態様はフレームワーク、すなわちプログラムとして表現されている。しかしながら、これに限らず、上記の態様は、情報処理装置、情報処理方法、コンピュータ読み取り可能な記憶媒体などで表現されるとしてもよい。 In addition, said aspect is expressed as a framework, ie, a program. However, the present invention is not limited to this, and the above aspect may be expressed by an information processing apparatus, an information processing method, a computer-readable storage medium, or the like.
本発明においては、クライアント実装技術の差を吸収して、アプリケーションの開発効率を向上させることができる。 In the present invention, application development efficiency can be improved by absorbing differences in client mounting technology.
以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下の各図において同一又はほぼ同一の要素には同一の符号を付して説明を省略するか又は簡単に説明し、異なる部分についてのみ詳しく説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following drawings, the same or substantially the same elements are denoted by the same reference numerals, the description thereof will be omitted or briefly described, and only different portions will be described in detail.
(第1の実施の形態)
本実施の形態においては、例えばリッチクライアント技術などのようなクライアント実装技術(例えばアプリケーション実装技術でもよい)の違いを吸収するサーバ側のフレームワークについて説明する。
(First embodiment)
In the present embodiment, a server-side framework that absorbs differences in client mounting technology (for example, application mounting technology) such as rich client technology will be described.
なお、本実施の形態においては、クライアントマシンからサーバマシンへリクエストが送信され、このリクエストに応じてサーバマシンで処理が実行される場合を例に説明する。本実施の形態において、リクエストにはデータが含まれているとする。しかしながら、クライアントマシンからサーバマシンへ、リクエストではない他の各種データ又は情報が送信され、サーバマシンに受信されたデータ又は情報に応じてサーバマシンによって処理が実行される場合でも同様である。 In the present embodiment, an example will be described in which a request is transmitted from a client machine to a server machine, and processing is executed in the server machine in response to the request. In the present embodiment, it is assumed that the request includes data. However, the same applies to the case where various other data or information that is not a request is transmitted from the client machine to the server machine, and processing is executed by the server machine in accordance with the data or information received by the server machine.
図1は、本実施の形態に係る情報処理システムの一例を示すブロック図である。 FIG. 1 is a block diagram illustrating an example of an information processing system according to the present embodiment.
情報処理システム1は、1台以上のクライアントマシン(クライアント側の情報処理装置)2と、サーバマシン(サーバ側の情報処理装置)3を具備する。クライアントマシン2とサーバマシン3とは、ネットワーク経由で接続される。
The
クライアントマシン2は、クライアントアプリケーション4A、クライアントフレームワーク5A、クライアント側の通信ライブラリ6A、記憶装置7を具備する。クライアントアプリケーション4A、クライアントフレームワーク5A、クライアント側の通信ライブラリ6Aは、記憶装置7をアクセスしつつ、各種の処理を実行する。
The
サーバマシン3は、サーバアプリケーション8、サーバフレームワーク9、サーバ側の通信ライブラリ10A、記憶装置11を具備する。サーバアプリケーション8、サーバフレームワーク9、サーバ側の通信ライブラリ10Aは、記憶装置11をアクセスしつつ、各種の処理を実行する。
The server machine 3 includes a
サーバフレームワーク9は、リッチクライアント技術ごとに異なるクライアント・サーバ間のデータ形式の違いを吸収する処理を実行し、リッチクライアント技術に依存しない共通データ形式のデータを生成する。これにより、リッチクライアント技術に依存しないサーバアプリケーション8を開発することができる。
The
以下に、情報処理システム1の各構成要素について説明する。
Below, each component of the
本実施の形態に係るRIAにおいて、サーバアプリケーション8は、業務処理(実体的な処理)を実行し、クライアントアプリケーション4Aは、この業務処理への入力又は処理結果の出力を実行する。
In the RIA according to the present embodiment, the
サーバアプリケーション8とサーバ側の通信ライブラリ10Aとの間にサーバフレームワーク9を備えることにより、サーバアプリケーション8において、クライアント実装技術に依存したコードを排除可能である。
By providing the
クライアントアプリケーション4Aは、第1のクライアント実装技術に基づいて生成されたアプリケーションである。
The
クライアント側の通信ライブラリ6A及びサーバ側の通信ライブラリ10Aは、第1のクライアント実装技術に対応したクライアントマシン2とサーバマシン3との間のデータ送受信を行うためのライブラリである。クライアント側の通信ライブラリ6A及びサーバ側の通信ライブラリ10Aとして、例えば、AjaxのDWR、WindowsアプリケーションのApache Axis、FlashのBlazeDSなどが用いられる。
The communication library 6A on the client side and the
クライアントアプリケーション4A、クライアントフレームワーク5A、クライアント側通信ライブラリ6Aは、第1のクライアント実装技術に対応する。
The
クライアントアプリケーション4B、クライアントフレームワーク5B、クライアント側通信ライブラリ6Bは、第2のクライアント実装技術に対応する。
The client application 4B, the client framework 5B, and the client
本実施の形態においては、第1のクライアント実装技術に基づいてリクエストが発行される場合を例として説明するが、他のクライアント実装技術に基づいてリクエストが発行される場合についても同様である。 In this embodiment, a case where a request is issued based on the first client mounting technology will be described as an example, but the same applies to a case where a request is issued based on another client mounting technology.
例えば、クライアント実装技術の種別としては、Ajax、Windowsアプリケーション、Flash、Flexなどがある。 For example, types of client implementation technologies include Ajax, Windows application, Flash, and Flex.
クライアントフレームワーク5Aは、クライアントマシン2で動作するフレームワークである。クライアントフレームワーク5Aは、クライアントアプリケーション4Aに必要とされる汎用的な機能を提供する。
The client framework 5 </ b> A is a framework that operates on the
クライアントフレームワーク5Aは、クライアントアプリケーション4Aがサーバマシン3にリクエストを送信する際に実行される。クライアントフレームワーク5Aは、クライアントマシン2からサーバマシン3に送信されるリクエストに、クライアント実行技術識別子と、データ形式情報を付加する。
The
クライアント実装技術識別子は、リクエストを発行したクライアント実装技術(例えば、Ajax、Windows、Flexなど)を特定するための情報である。 The client implementation technology identifier is information for specifying the client implementation technology (for example, Ajax, Windows, Flex, etc.) that issued the request.
データ形式情報は、例えば、文字列、リスト、表などのような各種データの形式を表す情報である。 The data format information is information representing various data formats such as character strings, lists, tables, and the like.
サーバフレームワーク9は、サーバマシン3で動作するフレームワークである。サーバフレームワーク9は、サーバアプリケーション8に必要とされる汎用的な機能を提供する。本実施の形態において、サーバフレームワーク9は、1以上のクライアントマシンのいずれか(本実施の形態ではクライアントマシン2)から送信された例えば、Ajax、Windowsアプリケーション、Flexなどのように形式の異なるリクエストを受信し、リクエストのデータを、クライアント実装技術に依存しない形式のデータに変換し、共通受信データ格納部121に格納する。
The
本実施の形態において、共通受信データ格納部121は、共通形式の受信データを含むオブジェクトである。例えば、変換後の共通形式の受信データは、記憶装置11に記憶される。
In the present embodiment, the common reception
サーバアプリケーション8は、共通受信データ格納部121に格納された共通形式の受信データを用いて業務処理を実行する。サーバアプリケーション8からクライアントマシンに返却されるデータは、クライアント実装技術に依存しない共通返信データ格納部122に格納される。
The
本実施の形態において、共通返信データ格納部122は、共通形式の返信データを含むオブジェクトである。例えば、サーバアプリケーション8によって生成された共通返信データは、記憶装置11に記憶される。
In the present embodiment, the common reply
サーバフレームワーク9は、この共通返信データ格納部122に格納されたデータを、リクエストを発行したクライアント実装技術に対応する形式に変換し、返信先のクライアントマシン2に返信する。
The
サーバアプリケーション8で例外処理が発生した場合(例えば、異常が発生した場合)、例外データは共通例外データ格納部123に格納される。 When exception processing occurs in the server application 8 (for example, when an abnormality occurs), exception data is stored in the common exception data storage unit 123.
本実施の形態において、共通例外データ格納部123は、共通形式の例外データを含むオブジェクトである。例えば、サーバアプリケーション8によって生成された共通例外データは、記憶装置11に記憶される。
In the present embodiment, the common exception data storage unit 123 is an object including exception data in a common format. For example, the common exception data generated by the
サーバフレームワーク9は、この共通例外データ格納部123に格納されたデータを、リクエストを発行したクライアント実装技術に対応する形式に変換し、返信先のクライアントマシン2に返信する。
The
サーバアプリケーション8で扱われるデータは、クライアント実装技術に依存しない形式で共通受信データ格納部121、共通返信データ格納部122、共通例外データ格納部123に格納される。このため、サーバアプリケーション8は、クライアント実装技術に依存せず、各種のクライアント実装技術に対して共通に適用される。
Data handled by the
本実施の形態に係るサーバフレームワーク9において、第1のクライアント実装技術に対しては、関係データ(クライアント技術変換部対応定義)131A、受信データ変換部132A、返信データ変換部133A、例外データ変換部134Aの組み合わせである第1の変換部14Aが適用される。
In the
第2のクライアント実装技術に対しては、関係データ131B、受信データ変換部132B、返信データ変換部133B、例外データ変換部134Bの組み合わせである第2の変換部14Bが適用される。
For the second client mounting technology, the second conversion unit 14B, which is a combination of the
新規のクライアント実装技術にサーバフレームワーク9を対応させる場合には、新規の関係データ、受信データ変換部、返信データ変換部、例外データ変換部の組み合わせである新規の変換部を追加する。既存のクライアント実装技術が変更された場合には、この変更されたクライアント実装技術に対応する変換後の変換部が備えられる。
When the
このように、本実施の形態においては、クライアント実装技術の種別に応じて、関係データ、受信データ変換部、返信データ変換部、例外データ変換部がサーバフレームワーク9に備えられる。
As described above, in the present embodiment, the
サーバフレームワーク9は、クライアント実装技術の種別に応じて、関係データ及びデータ変換に用いられるデータ変換部を切り換える機構を備える。これにより、サーバフレームワーク9は、今後のクライアント実装技術の追加に柔軟に対応可能となる。
The
サーバフレームワーク9は、共通リクエスト処理部15、クライアント特定部16、受信データ変換管理部171、受信データインタフェース181、関係データ131A,131B、受信データ変換部132A,132B、共通受信データ格納部121を具備する。
The
また、サーバフレームワーク9は、共通返信データ格納部122、返信データ変換管理部172、返信データ変換インタフェース182、返信データ変換部133A,133Bを具備する。
The
さらに、サーバフレームワーク9は、共通例外データ格納部123、例外データ変換管理部173、例外データ変換インタフェース183、例外データ変換部134A,134Bを具備する。
Further, the
共通リクエスト処理部15は、クライアントマシン2とサーバマシン3との間で送受信されるすべてのリクエスト及びデータを処理する。
The common
サーバ側通信ライブラリ10Aによってクライアントマシン2からのリクエストが受信されると、サーバ側通信ライブラリ10Aは、処理を共通リクエスト処理部15に委譲する。
When the request from the
本実施の形態に係るサーバマシン3は、それぞれ、第1及び第2のクライアント実装技術に対応するサーバ側通信ライブラリ10A,10Bを備える。なお、サーバマシン3は、他のクライアント実装技術に対応するサーバ側通信ライブラリをさらに備えているとしてもよい。
The server machine 3 according to the present embodiment includes server-
共通リクエスト処理部15は、クライアント特定部16を用いて、リクエストから、このリクエストを発信したクライアント実装技術を特定するクライアント実装技術識別子を取得する。
The common
共通リクエスト処理部15は、クライアント実装技術識別子と受信されたリクエストとを、受信データ変換管理部171に渡し、共通受信データ格納部121の生成処理を依頼する。
The common
すると、受信データ変換管理部171は、受信されたリクエストを、受信データ変換インタフェース181経由で、受信データ変換部132Aに渡す。
Then, the reception data
受信データ変換部132Aでは、受信されたリクエストに基づいて、共通受信データ格納部121が生成される。
In the reception
共通リクエスト処理部15は、生成された共通受信データ格納部121をサーバアプリケーション8に渡して業務処理の実行を依頼する。
The common
また、共通リクエスト処理部15は、サーバアプリケーション8の処理結果として生成され返却された共通返信データ格納部122とクライアント実装技術識別子を、返信データ変換管理部172に渡し、共通返信データ格納部122に格納されている共通形式のデータを返信先のクライアント実装技術に対応するデータ形式に変換する返信データの生成処理を依頼する。
In addition, the common
すると、返信データ変換管理部172は、共通返信データ格納部122を、返信データ変換インタフェース182経由で、返信データ変換部133Aに渡す。
Then, the reply data
返信データ変換部133Aでは、共通返信データ格納部122に格納されている共通形式の返信データが変換され、返信先のクライアント実装技術に対応するデータ形式の返信データが生成される。
In the reply
共通リクエスト処理部15は、変換された返信データを、サーバ側の通信ライブラリ10Aに返却する。
The common
さらに、共通リクエスト処理部15は、サーバアプリケーション8の処理中に例外処理が発生した場合に、発生した例外データを格納した共通例外データ格納部123とクライアント実装技術識別子を例外データ変換管理部173に渡し、共通例外データ格納部123に格納されている共通形式のデータを返信先のクライアント実装技術に対応するデータ形式に変換する例外データの生成処理を依頼する。
Furthermore, when an exception process occurs during the processing of the
すると、例外データ変換管理部173は、共通例外データ格納部123を、例外データ変換インタフェース183経由で、例外データ変換部134Aに渡す。
Then, the exception data
例外データ変換部134Aでは、共通例外データ格納部123に格納されている共通形式の例外データが変換され、返信先のクライアント実装技術に対応するデータ形式の例外データが生成される。
The exception
共通リクエスト処理部15は、この変換された例外データを、サーバ側の通信ライブラリ10Aに返却する。
The common
クライアント特定部16は、クライアントフレームワーク5Aによってリクエストに付加されたクライアント実装技術識別子を抽出し、クライアント実装技術の種別を特定する。
The
受信データ変換管理部171は、リクエストに含まれるデータを変換して共通受信データ格納部121へ格納する処理を受け付ける。
The reception data
受信データ変換管理部171は、関係データ131Aとクライアント特定部16によって抽出されたクライアント実装技術識別子とに基づいて、このクライアント実装技術識別子に対応する受信データ変換部132Aを特定し、受信データ変換インタフェース181を経由して、この特定された受信データ変換部132Aに変換処理を依頼する。
The reception data
受信データ変換インタフェース181は、各種の受信データ変換部132A,132Bに共通したインタフェースを受信データ変換管理部171に提供する。
The reception
受信データ変換管理部171は、受信データ変換インタフェース181を用いることにより、複数の受信データ変換部のうちの選択された受信データ変換部132Aに処理実行を依頼可能となる。
By using the reception
受信データ変換部132Aは、クライアントフレームワーク5Aによってリクエストに付加されたデータ形式情報に基づいて、クライアント実装技術に依存しない共通形式のデータを生成し、この共通形式のデータを共通受信データ格納部121に格納する。
Based on the data format information added to the request by the
共通受信データ格納部121は、クライアント実装技術に依存しない共通形式の受信データが格納される入れ物である。本実施の形態において、共通受信データ格納部121はオブジェクトであり、記憶装置11に記憶される。
The common reception
共通返信データ格納部122は、サーバアプリケーション8から返信先のクライアントマシン2に返信されるデータを格納する入れ物である。本実施の形態において、共通返信データ格納部122はオブジェクトであり、記憶装置11に記憶される。
The common reply
返信データ変換管理部172は、サーバアプリケーション8によって生成され返却される共通返信データ格納部122のデータを、返却先のクライアント実装技術に対応する形式に変換する処理を受け付ける。
The reply data
返信データ変換管理部172は、関係データ131Aとクライアント特定部16によって特定されたクライアント実装技術識別子とに基づいて、このクライアント実装技術識別子に対応する返信データ変換部133Aを特定し、返信データ変換インタフェース182を経由して、この特定された返信データ変換部133Aに変換処理を依頼する。
The reply data
返信データ変換インタフェース182は、各種のクライアント実装技術識別子に対応する返信データ変換部133A,133Bに共通したインタフェースを、返信データ変換管理部172に提供する。
The reply
返信データ変換管理部172は、返信データ変換インタフェース182を用いることにより、複数の返信データ変換部のうちの選択された返信データ変換部133Aに処理実行を依頼可能となる。
By using the reply
返信データ変換部133Aは、共通返信データ格納部122のデータを、リクエストを発信したクライアント実装技術に依存する形式に変換する。
The reply
共通例外データ格納部123は、サーバアプリケーション8で発生された例外データを格納する入れ物である。本実施の形態において、共通例外データ格納部123はオブジェクトであり、記憶装置11に記憶される。
The common exception data storage unit 123 is a container for storing exception data generated by the
例外データ変換管理部173は、サーバアプリケーション8によって発生された例外データを、返信先のクライアント実装技術に対応するデータ形式に変換する処理を受け付ける。
The exception data
例外データ変換管理部173は、関係データ131Aとクライアント特定部16によって特定されたクライアント実装技術識別子とに基づいて、このクライアント実装技術識別子に対応する例外データ変換部134Aを特定し、例外データ変換インタフェース134Aを経由して、この特定された例外データ変換部134Aに変換処理を依頼する。
The exception data
例外データ変換インタフェース183は、各種のクライアント実装技術識別子に対応する例外データ変換部134A,134Bに共通したインタフェースを、例外データ変換管理部173に提供する。
The exception
例外データ変換管理部173は、例外データ変換インタフェース183を用いることにより、複数の例外データ変換部のうちの選択された例外データ変換部134Aに処理実行を依頼可能となる。
By using the exception
例外データ変換部134Aは、共通例外データ格納部123のデータを、リクエストを発信したクライアント実装技術に依存する形式に変換する。
The exception
関係データ131Aは、第1のクライアント実装技術識別子に対応する受信データ変換部132A、返信データ変換部133A、例外データ変換部134Aが定義されているデータである。
The
関係データ131Bは、第2のクライアント実装技術識別子に対応する受信データ変換部132B、返信データ変換部133B、例外データ変換部134Bが定義されているデータである。
The
これらの関係データ131A,131Bは、記憶装置11内であり、サーバフレームワーク9によって参照可能なパス上に配置される。
These
例えば、関係データ131Aのファイル名には、第1のクライアント実装技術識別子が含まれる。新規のクライアント実装技術が追加された場合には、新規のクライアント実装技術識別子をファイル名に含む関係データがパス上に配置される。これにより、新規のクライアント実装技術識別子から、この新規のクライアント実装技術識別子に対応する関係データを検索することが可能であり、さらに、新規のクライアント実装技術に対応する受信データ変換管理部、返信データ変換管理部、例外データ変換管理部を特定可能である。
For example, the file name of the
本実施の形態に係るサーバフレームワーク9は、第1のクライアント実装技術を示すクライアント実装技術識別子を含むリクエスト(各種のデータ又は情報を含む)を受信すると、クライアント特定部16によってリクエストを発行した第1のクライアント実装技術(リッチクライアント技術)を特定する。
When the
受信データ変換管理部171は、特定された第1のクライアント実装技術に対応する関係データ131Aに基づいて、第1のクライアント実装技術に対応する受信データ変換部132Aを生成する。
The reception data
受信データ変換部132Aは、リクエストを、クライアント実装技術に依存しない共通データ形式に変換し、共通データ形式のデータを共通受信データ格納部121に格納する。
The reception
サーバアプリケーション8は、共通受信データ格納部121に格納された受信データに基づいて処理を実行する。
The
サーバアプリケーション8の処理が正常に実行された場合、サーバアプリケーション8は、共通返信データ格納部122を生成し、この共通返信データ格納部122に共通形式の返信データを格納する。
When the processing of the
返信データ変換管理部122は、関係データ131Aに基づいて、第1のクライアント実装技術に対応する返信データ変換部133Aを生成する。
The reply data
返信データ変換部133Aは、共通返信データ格納部122に格納されている共通形式の返信データを、第1のクライアント実装技術に対応するデータ形式の返信データに変換する。
The reply
そして、サーバフレームワーク9は、サーバ側通信ライブラリ10Aを用いて、第1のクライアント実装技術に対応するデータ形式の返信データを、リクエストを発信したクライアントマシン2に送信する。
Then, the
一方、サーバアプリケーション8の処理が正常終了しなかった場合、サーバアプリケーション8は、共通例外データ格納部123を生成し、この共通例外データ格納部123に共通形式の例外データを格納する。
On the other hand, if the processing of the
例外データ変換管理部173は、関係データ131Aに基づいて、第1のクライアント実装技術に対応する例外データ変換部134Aを生成する。
The exception data
例外データ変換部134Aは、共通例外データ格納部123に格納されている共通形式の例外データを、第1のクライアント実装技術に対応するデータ形式の例外データに変換する。
The exception
そして、サーバフレームワーク9は、サーバ側通信ライブラリ10Aを用いて、第1のクライアント実装技術に対応するデータ形式の例外データを、クライアントマシン2に送信する。
Then, the
図2は、本実施の形態において、クライアント実装技術識別子とデータ形式情報とが付加されたリクエストが、クライアントフレームワーク5Aによって生成される状態の一例を示す図である。
FIG. 2 is a diagram illustrating an example of a state where a request to which a client implementation technology identifier and data format information are added is generated by the
この図2は、クライアント実装技術がAjaxの場合を例として図示しているが、他のクライアント実装技術であってもよい。 Although FIG. 2 shows an example in which the client mounting technology is Ajax, other client mounting technology may be used.
例えば、クライアントアプリケーション4Aは、文字列データ「○○会社」、リストデータ[AAA部品,BBB部品,CCC部品]、項目[コード,商品名,在庫数]に関する表データ[A001,XXXテレビ,100],[A002,YYYテレビ,200]を含むリクエストを、サーバマシン3に送信するとする。
For example, the
この場合、まず、クライアントフレームワーク5Aは、クライアントアプリケーション4Aから送信対象のデータ19を取得する。
In this case, first, the
次に、クライアントフレームワーク5Aは、この送信対象のデータ19に対して、クライアント実装技術「Ajax」に対応するクライアント実装技術識別子「ajax」を付加し、さらに、送信対象のデータ19に対して、文字列を表すデータ形式情報「String」を文字列データ「○○会社」に付加し、リストを表すデータ形式情報「List」をリストデータ[AAA部品,BBB部品,CCC部品]に付加し、表であることを示すデータ形式情報「table」を表データ[A001,XXXテレビ,100],[A002,YYYテレビ,200]に付加し、リクエスト20を生成する。
Next, the
クライアントフレームワーク5Aによって、送信対象データ19に対してクライアント実装技術識別子「ajax」とデータ形式情報「String」「List」「table」とが付加されたリクエスト20は、サーバマシン3へ送信される。
The
図3は、関係データ131A,131B,131Cを記憶する記憶装置11の一例を示す図である。この図3については、クライアント実装技術「Ajax」に対応する関係データ131Aについて説明するが、他のクライアント実装技術に対応する関係データ131B,131Cも同様の特徴を持つ。
FIG. 3 is a diagram illustrating an example of the
関係データ131Aのファイル名には、第1のクライアント実装技術「Ajax」のクライアント実装技術識別子「ajax」が含まれる。そして、この関係データ131Aは、このクライアント実装技術識別子「ajax」を含むリクエストに対して適用されるべき受信データ変換部132A「AjaxRequestConverter」、返信データ変換部133A「AjaxResponseConverter」、例外データ変換部134A「AjaxExceptionConverter」を特定している。
The file name of the
受信データ変換管理部171は、リクエストに含まれていたクライアント実装技術識別子「ajax」をファイル名に含む関係データ131Aを検索し、検索された関係データ131Aで特定されている受信データ変換部132Aを認識する。
The reception data
返信データ変換管理部172は、返信先のクライアントアプリケーション4Aのクライアント実装技術識別子「ajax」をファイル名に含む関係データ131Aを検索し、検索された関係データ131Aで特定されている送信データ変換部133Aを認識する。
The reply data
例外データ変換管理部173は、返信先のクライアントアプリケーション4Aに対応するクライアント実装技術識別子「ajax」をファイル名に含む関係データ131Aを検索し、検索された関係データ131Aで特定されている例外データ変換部134Aを認識する。
The exception data
図4は、本実施の形態に係るサーバフレームワーク9による受信データの変換の一例を示す図である。
FIG. 4 is a diagram illustrating an example of conversion of received data by the
サーバ側通信ライブラリ10Aは、例えば、上記図2に示すような、クライアント実装技術識別子「ajax」とデータ形式情報「String」「List」「table」とが付加されたリクエスト20(受信データ)を受信する。
For example, the server-
次に、サーバ側通信ライブラリ10Aは、リクエスト20を、対応する例えばJavaの形式のデータ21に変換する。サーバ側通信ライブラリ10Aは、リクエスト20の内容を、そのまま対応するJavaのデータ形式にマッピングする。
Next, the server-
そして、サーバフレームワーク9の受信データ変換部132Aは、リクエスト20からJava形式に変換されたデータ21を、Javaのサーバアプリケーション8で扱いやすい共通形式のデータ22に変換する。
Then, the reception
図5は、クライアント実装技術「Ajax」に対応する通信ライブラリ10AとしてDWRを用いた場合に、サーバ側で利用可能なデータの形式の一例を示す図である。
FIG. 5 is a diagram illustrating an example of a data format that can be used on the server side when the DWR is used as the
DWRを利用したAjaxでは、リスト、表などのような複雑なデータを、JavaのList型、Map型を使用して、送受信することができる。 With Ajax using DWR, complex data such as lists and tables can be sent and received using Java's List and Map types.
図6は、クライアント実装技術「Windowsアプリケーション」に対応する通信ライブラリ10BとしてApach Axisを用いた場合に、サーバ側で利用可能なデータの形式の一例を示す図である。
FIG. 6 is a diagram showing an example of a data format that can be used on the server side when Apache Axis is used as the
Apach Axis を利用したWindowsアプリケーションにおいても、リスト、表などのような複雑なデータを、JavaのList型、Map型を使用して、送受信することができる。 Even in Windows applications using Apach Axis, complex data such as lists and tables can be sent and received using Java List and Map types.
以下に、情報処理システム1の動作について説明する。
The operation of the
図7は、本実施の形態に係るクライアントマシン2におけるリクエスト送信処理の一例を示すシーケンス図である。
FIG. 7 is a sequence diagram illustrating an example of a request transmission process in the
この図7は、クライアントマシン2からサーバマシン3へデータが送信されるまでの処理を示している。
FIG. 7 shows processing until data is transmitted from the
クライアントアプリケーション4Aは、クライアントフレームワーク5Aに対して、リクエスト送信処理(S1)を依頼する。
The
クライアントフレームワーク5Aは、リクエストに対してクライアント実装技術を特定する識別子を付加する(S2)。
The
クライアントフレームワーク5Aは、サーバマシン3に送信するデータ19を例えば画面から取得する(S3)。
The
クライアントフレームワーク5Aは、送信対象データ19に含まれるそれぞれのデータに対して、データ形式情報を付加する(S4)。
The
クライアントフレームワーク5Aは、クライアント実装技術識別子、送信対象データ19、データ形式情報をまとめたリクエスト20を、クライアント側通信ライブラリ6Aを利用してサーバマシン3に送信するためのクライアント送信処理(S5)を実行する。
The
クライアントマシン2とサーバマシン3との間では、クライアント実装技術に対応するクライアント側通信ライブラリ6Aとサーバ側通信ライブラリ10Aとを用いて、ネットワークを経由したリクエスト20の通信(S6)が行われる。
Between the
図8は、本実施の形態に係るサーバマシン3によってリクエストが受信・変換される処理の一例を示すシーケンス図である。 FIG. 8 is a sequence diagram illustrating an example of a process in which a request is received and converted by the server machine 3 according to the present embodiment.
サーバ側通信ライブラリ10Aは、受信したリクエストに対する処理を共通リクエスト処理部に委譲する(T1)。
The server
共通リクエスト処理部15は、クライアント特定部16に対して、リクエストを送信したクライアント実装技術を特定するクライアント実装技術識別子の取得を依頼する(T2)。
The common
クライアント特定部16は、リクエストに付加されたクライアント実装技術識別子を、リクエストから抽出し(T3)、クライアント実装技術識別子を共通リクエスト処理部15に返す。
The
共通リクエスト処理部15は、リクエストに含まれている受信データとクライアント実装技術識別子とを、受信データ変換管理部171に渡し、受信データ変換処理を依頼する(T4)。
The common
受信データ変換管理部171は、クライアント実装技術識別子をキーワードとして、参照可能なパス上から関係データ(クライアント技術対応定義部)131Aを検索する(T5)。
The reception data
受信データ変換管理部171は、検索された関係データ131Aにおいて特定されている受信データ変換部132Aの名称を取得する(T6)。
The reception data
受信データ変換管理部171は、取得した受信データ変換部132Aの名称に基づいて受信データ変換部132Aを生成する。例えば、受信データ変換部132Aの名称に基づいて、受信データ変換オブジェクトが生成される(T7)。
The reception data
受信データ変換管理部171は、受信データ変換インタフェース181へ受信データ変換を依頼する(T8)。
The reception data
受信データ変換インタフェース181は、受信データ変換部132Aへ受信データ変換を依頼する(T9)。
The reception
受信データ変換部132Aは、受信データを取得し、この受信データをクライアント実装技術に依存しない共通形式のデータに変換する。データ変換の際に、受信データ変換部132Aは、クライアントフレームワーク5Aによって付加されたデータ形式情報を参照する(T10)。
The reception
受信データ変換部132Aは、データ形式を変換した受信データを格納する入れ物として、共通受信データ格納部121を生成する(T11)。
The reception
受信データ変換部132Aは、共通受信データ格納部121に、データ形式を変換した受信データを格納する(T12)。
The reception
共通リクエスト処理部15は、共通受信データ格納部121をサーバアプリケーション8に渡して、サーバアプリケーション8を実行させる(T13)。
The common
サーバアプリケーション8は、共通受信データ格納部121から受信データを取得する(T14)。
The
サーバアプリケーション8は、エンタープライズシステムの業務処理を実行する(T15)。
The
図9は、本実施の形態に係るサーバマシン3からクライアントマシン2に返信される返信データに対する処理(レスポンス処理)の一例を示すシーケンス図である。
FIG. 9 is a sequence diagram illustrating an example of processing (response processing) for reply data returned from the server machine 3 to the
サーバアプリケーション8は、エンタープライズシステムの業務処理を実行する(U1)。
The
サーバアプリケーション8は、業務処理の結果を格納する共通返信データ格納部122を生成する(U2)。
The
サーバアプリケーション8は、共通返信データ格納部122に、業務処理の結果を格納する(U3)。
The
サーバアプリケーション8の処理結果が格納された共通返信データ格納部122は、サーバアプリケーション8から共通リクエスト処理部15に渡される(U4)。
The common reply
共通リクエスト処理部15は、クライアント特定部16に対して、クライアント実装技術識別子の取得を依頼する(U5)。クライアント特定部16は、受信されたリクエストに付加されていたクライアント実装技術識別子を、共通リクエスト処理部15に返す。
The common
共通リクエスト処理部15は、共通返信データ格納部122とクライアント実装技術識別子とを、返信データ変換管理部172に渡し、返信データ変換処理を依頼する(U6)。
The common
返信データ変換管理部172は、クライアント実装技術識別子を検索のキーワードとして用いて、参照可能なパス上から、関係データ(クライアント技術対応定義部)131Aを検索する(U7)。
The reply data
返信データ変換管理部172は、関係データ131Aにおいて定義されている返信データ変換部133Aの名称を取得する(U8)。
The reply
返信データ変換管理部172は、取得された名称の返信データ変換部133Aを生成する(U9)。
The reply data
返信データ変換管理部172は、返信データの変換を依頼するために、返信データ変換インタフェース182に、共通返信データ格納部122を渡す(U10)。
The reply data
返信データ変換インタフェース182は、返信データ変換部133Aに共通返信データ格納部122を渡し(U11)、返信データ変換部133Aに返信データ変換を依頼する。
The reply
返信データ変換部133Aは、共通返信データ格納部122から、変換対象の返信データを取得する(U12)。
The reply
返信データ変換部133Aは、返信データを、リクエストを発信したクライアント実装技術に返信可能な形式に変換する(U13)。
The reply
返信可能な形式に変換された返信データは、返信データ変換部133Aから、返信データ変換インタフェース182、返信データ変換管理部172経由で、共通リクエスト処理部15に返却され、さらに、共通リクエスト処理部15からサーバ側通信ライブラリ10Aに渡される(U14)。
The reply data converted into a replyable format is returned from the reply
サーバ側の通信ライブラリ10Aは、返信先のクライアント実装技術に対応するクライアント側通信ライブラリ6Aに、返信データを返却する(U15)。
The server-
図10は、本実施の形態に係るサーバマシン3からクライアントマシン2に送信される例外データに対する処理の一例を示すシーケンス図である。
FIG. 10 is a sequence diagram showing an example of processing for exception data transmitted from the server machine 3 to the
サーバアプリケーション8は、エンタープライズシステムの業務処理を実行する。ここで、例外イベントが発生する(V1)
サーバアプリケーション8は、例外データが格納された共通例外データ格納部123を生成する(V2)。
The
The
共通例外データ格納部123は、サーバアプリケーション8から共通リクエスト処理部15に渡される(V3)。
The common exception data storage unit 123 is transferred from the
共通例外データ格納部123を受け取った共通リクエスト処理部15は、例外データに対する処理を開始する。共通例外データ格納部123は、例えばJavaの例外クラスが該当する。
The common
共通リクエスト処理部15は、クライアント特定部16に対して、クライアント実装技術識別子の取得を依頼する(V4)。クライアント特定部16は、受信されたリクエストに付加されていたクライアント実装技術識別子を、共通リクエスト処理部15に返す。
The common
共通リクエスト処理部15は、共通例外データ格納部123とクライアント実装技術識別子とを、例外データ変換管理部173に渡し、例外データ変換処理を依頼する(V5)。
The common
例外データ変換管理部173は、クライアント実装技術識別子を検索のキーワードとして用いて、参照可能なパス上から関係データ(クライアント技術対応定義部)131Aを検索する(V6)。
The exception data
例外データ変換管理部173は、関係データ131Aにおいて定義されている例外データ変換部134Aの名称を取得する(V7)。
The exception data
例外データ変換管理部173は、取得された名称の例外データ変換部134Aを生成する(V8)。
The exception data
例外データ変換管理部173は、例外データの変換を依頼するために、例外データ変換インタフェース183に、共通例外データ格納部123を渡す(V9)。
The exception data
例外データ変換インタフェース183は、例外データ変換部134Aに共通例外データ格納部123を渡し(V10)、例外データ変換部134Aに例外データの変換を依頼する。
The exception
例外データ変換部134Aは、変換対象の例外データを、共通例外データ格納部123から取得する(V11)。
The exception
例外データ変換部134Aは、例外データを、例外返信先のクライアント実装技術で取り扱い可能な形式に変換する(V12)。リクエストを発信したクライアント実装技術で取り扱い可能な例外データには、例えば、例外クラス名、例外メッセージ、例外のスタックトレース情報が含まれる。
The exception
リクエストを発信したクライアント実装技術で取り扱い可能な形式に変換された例外データは、例外データ変換部134Aから、例外データ変換インタフェース183、例外データ変換管理部173経由で、共通リクエスト処理部15に返却され、さらに、共通リクエスト処理部15からサーバ側通信ライブラリ10Aに渡される(U13)。
The exception data converted into a format that can be handled by the client implementation technology that sent the request is returned to the common
サーバ側の通信ライブラリ10Aは、リクエストを発信したクライアント実装技術に対応するクライアント側通信ライブラリ6Aに、例外データを返却する(U14)。
The server-
以下に、サーバマシン3における従来のソフトウェア構成と本実施の形態に係るソフトウェア構成との相違点について説明する。 Hereinafter, differences between the conventional software configuration in the server machine 3 and the software configuration according to the present embodiment will be described.
図11は、従来のサーバマシン3側のソフトウェア構成の一例を示すブロック図である。 FIG. 11 is a block diagram showing an example of a software configuration on the conventional server machine 3 side.
従来のサーバマシン3側においては、オペレーティングシステム23、ミドルウェア24、第1のクライアント実装技術「Ajax」に対応するアプリケーション8A、第2のクライアント実装技術「Windowsアプリケーション」に対応するアプリケーション8Bが動作する。
On the conventional server machine 3 side, an
この図11に示すように、従来においては、複数のクライアント実装技術「Ajax」「Windowsアプリケーション」に対してたとえ同じ業務処理を実行させる場合であっても、クライアント実装技術「Ajax」「Windowsアプリケーション」ごとにアプリケーション8A,8Bを備える必要がある。
As shown in FIG. 11, conventionally, even when a plurality of client implementation technologies “Ajax” and “Windows application” are caused to execute the same business process, the client implementation technologies “Ajax” and “Windows application” are used. It is necessary to provide the
図12は、本実施の形態に係るサーバマシン3側のソフトウェア構成の一例を示すブロック図である。 FIG. 12 is a block diagram showing an example of the software configuration on the server machine 3 side according to the present embodiment.
サーバマシン3側では、オペレーティングシステム23、ミドルウェア24、サーバフレームワーク9、サーバアプリケーション8が動作する。
On the server machine 3 side, an
本実施の形態においては、第1のクライアント実装技術「Ajax」から送信されたリクエスト、第2のクライアント実装技術「Windowsアプリケーション」から送信されたリクエストは、まずサーバフレームワーク9で処理される。
In the present embodiment, a request transmitted from the first client implementation technology “Ajax” and a request transmitted from the second client implementation technology “Windows application” are first processed by the
サーバフレームワーク9は、受信されたリクエストを共通形式のデータに変換し、サーバアプリケーション8に渡す。
The
さらに、本実施の形態において、サーバフレームワーク9は、サーバアプリケーション8から共通形式の返信データ又は例外データを受け付け、この共通形式の返信データ又は例外データを返信先のクライアント実装技術に対応した形式に変換し、変換後のデータを返信先のクライアント実装技術に返す。
Further, in the present embodiment, the
このように、本実施の形態に係るサーバフレームワーク9は、クライアント実装技術の相違を柔軟に吸収する。
Thus, the
図13は、本実施の形態に係るサーバマシン3のハードウェア構成の一例を示すブロック図である。なお、クライアントマシン2のハードウェア構成についても、この図13のサーバマシン3と同様の構成を用いることができる。
FIG. 13 is a block diagram illustrating an example of a hardware configuration of the server machine 3 according to the present embodiment. The hardware configuration of the
サーバマシン3は、情報処理装置であり、例えば、少なくとも一つのプロセッサ25、記憶装置11、バス26、通信装置27を備えている。
The server machine 3 is an information processing apparatus, and includes, for example, at least one processor 25, a
通信装置27は、クライアントマシン2からのリクエストその他各種のデータを受信し、記憶装置11に記憶する。
The
プロセッサ25は、記憶装置11に記憶されている各種のプログラム(例えば、オペレーティングシステム23、ミドルウェア24、サーバフレームワーク9、サーバアプリケーション8)とリクエスト又はデータに基づいて各種の処理を実行し、実行結果データを記憶装置11に記憶する。
The processor 25 executes various processes based on various programs (for example, the
通信装置11は、クライアントマシン2に、記憶装置11に記憶されている実行結果データを送信する。
The
記憶装置11は、例えば、キャッシュメモリ、主記憶装置、2次記憶装置などを含む。
The
なお、クライアントマシン2とサーバマシン3とのうちの少なくとも一方は、複数の情報処理装置が連携して動作することにより実現されるとしてもよい。
Note that at least one of the
以上説明した本実施の形態においては、クライアント実装技術に依存しないサーバアプリケーション8を用いることができる。本実施の形態においては、業務処理の核となる処理を行うサーバアプリケーション8を一つ生成するのみで、様々なクライアント実装技術に対応させることができる。
In the present embodiment described above, the
本実施の形態においては、異なる複数のクライアント実装技術に対して共通のサーバアプリケーション8を開発すればよいため、RIAの開発工程及び開発労力を削減することができる。
In the present embodiment, it is only necessary to develop a
本実施の形態に係る情報処理システム1におけるアプリケーション開発においては、リッチクライアント技術の学習工程を削減させることができ、リッチクライアント技術の追加又は変更に対する開発工程を削減させることができる。
In application development in the
例えば、新たなリッチクライアント技術を採用する場合に、そのリッチクライアント技術を使ったサーバアプリケーション8の開発方法を開発者が新たに学習する必要はなく、開発労力及び時間を削減することができる。
For example, when a new rich client technology is adopted, it is not necessary for the developer to newly learn how to develop the
例えば、クライアントマシン2側で採用されるリッチクライアント技術が異なる場合であってもサーバマシン3側を別々に開発する必要がなく、開発労力及び時間を削減することができる。
For example, even if the rich client technology adopted on the
例えば、あるリッチクライアント技術によって開発されたRIAに対して、さらにクライアント実装技術のバリエーションを追加しても、サーバアプリケーション8を作り直す必要がなく、開発労力及び時間を削減することができる。
For example, even if a variation of the client mounting technology is further added to the RIA developed by a certain rich client technology, it is not necessary to recreate the
本実施の形態に係る情報処理システム1におけるソフトウェア開発においては、適用可能なクライアント実装技術(リッチクライアント技術)を増やす場合に、その追加されるクライアント実装技術に対応する受信データ変換部、返信データ変換部、例外データ変換部、関係データのセットを備えればよく、サーバアプリケーション8を変更・追加する必要はない。これにより、サーバフレームワーク9の拡張性、保守性を向上させることができる。
In software development in the
(第2の実施の形態)
本実施の形態に係る情報処理システムにおいては、クライアントとサーバとの間で通信されるリクエストを一意に特定するための情報(例えばトークン)を管理する。
(Second Embodiment)
In the information processing system according to the present embodiment, information (for example, a token) for uniquely specifying a request communicated between the client and the server is managed.
図14は、本実施の形態に係る情報処理システムの一例を示すブロック図である。この図14では、トークンの管理の説明に必要な構成要素のみを図示しており、他の構成要素については省略している。 FIG. 14 is a block diagram illustrating an example of an information processing system according to the present embodiment. In FIG. 14, only the components necessary for the description of token management are shown, and the other components are omitted.
本実施の形態に係る情報処理システム28では、少なくとも一つのクライアントマシンから一つのサーバマシン30へ複数のリクエストが送信され、サーバマシン30によって複数のリクエストが処理される。
In the information processing system 28 according to the present embodiment, a plurality of requests are transmitted from at least one client machine to one
なお、この図14では、複数のクライアントマシン291〜29nからサーバマシン30に複数のリクエストが発信されているが、一つのクライアントマシンからサーバマシン30に複数のリクエストが発信される場合についても同様である。
In FIG. 14, a plurality of requests are transmitted from the plurality of
クライアントマシン291〜29nとサーバマシン30とのうちの少なくとも一方は、複数の情報処理装置が連携して動作することにより実現されるとしてもよい。
At least one of the
クライアントフレームワーク311〜31nは、主に、リクエストの送信前及びリクエストに対する返信データ又は例外データの受信後に動作する。このクライアントフレームワーク311〜31nは、クライアントとサーバとの間の通信(リクエスト)を一意に特定するトークンとログ情報とを関係付けて記憶装置321〜32nに記憶する。
The
サーバフレームワーク33及びサーバアプリケーション34は、上記第1の実施の形態に係るサーバフレームワーク9及びサーバアプリケーション8と同様の機能を具備し、リクエストを解析し、返信データ(レスポンス)を生成する。
The
サーバフレームワーク33及びサーバアプリケーション34は、さらに、リクエストに付加されたトークンとログ情報とを関係付けて記憶装置11に記憶する。
The
このように、本実施の形態においては、クライアントフレームワーク311〜31nとサーバフレームワーク33との間で送受信されるリクエスト及びデータに、このリクエスト及びデータに対する処理を追跡可能とするための情報が付加される。
As described above, in this embodiment, information for enabling processing of requests and data to be traced is added to requests and data transmitted and received between the
これにより、アプリケーション開発時及びアプリケーション運用時において問題が発生した場合に、クライアントマシン291〜29nに記憶されているログ情報とサーバマシン30に記憶されているログ情報とをつき合わせえて処理を特定し、発生した問題の解析を行うことができ、解析効率を向上させることができる。
Thus, when a problem occurs during application development and application operation, the processing is specified by combining the log information stored in the
上記各実施の形態において説明した各構成要素は、自由に組み合わせることができ、自由に分割することができる。例えば、本実施の形態に係る記憶装置11は、複数の記憶装置に分割し、各種のリクエスト及び処理結果などのデータは、複数の記憶装置のいずれかに記憶されるとしてもよい。各処理部の間のデータのやり取りは、記憶装置を介して行われるとしてもよい。
The components described in the above embodiments can be freely combined and can be freely divided. For example, the
本発明は、上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で、種々に変形することが可能である。さらに、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。 The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention when it is practiced. Further, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effect described in the column of the effect of the invention Can be obtained as an invention.
本発明は、クライアントマシンからサーバマシンにリクエスト又はデータを送信し、サーバマシンにおいてこのリクエスト又はデータに基づいて処理を実行する情報処理システムの技術分野に有効である。 The present invention is effective in the technical field of an information processing system that transmits a request or data from a client machine to a server machine, and executes processing based on the request or data in the server machine.
1,28…情報処理システム、2,291〜29n…クライアントマシン、3,30…サーバマシン、4A,4B…クライアントアプリケーション、5A,5B,311〜31n…クライアントフレームワーク、6A,6B…クライアント側通信ライブラリ、7,11,321〜32n…記憶装置、8,34…サーバアプリケーション、9,33…サーバフレームワーク、10A,10B…サーバ側通信ライブラリ、121…共通受信データ格納部、122…共通返信データ格納部、123…共通例外データ格納部、131A,131B…関係データ、132A,132B…受信データ変換部、133A,133B…返信データ変換部、134A,134B…例外データ変換部、14A…第1の変換部、14B…第2の変換部、15…共通リクエスト処理部、16…クライアント特定部、171…受信データ変換管理部、172…返信データ変換管理部、173…例外データ変換管理部、181…受信データ変換インタフェース、182…返信データ変換インタフェース、183…例外データ変換インタフェース、20…リクエスト、22…共通形式のデータ。
DESCRIPTION OF
Claims (7)
「クライアントのクライアント実装技術に依存するデータと、前記データのデータ形式を指定するデータ形式情報と、前記クライアント実装技術を表すクライアント実装技術識別子とを含み第1の記憶装置に記憶されている受信データ」に基づいて、前記クライアント実装技術を特定するクライアント特定手段、
「第2の記憶装置に記憶されており前記クライアント実装技術と受信データ変換依頼先とを関係付けている関係データ」と、前記クライアント特定手段によって特定された前記クライアント実装技術とに基づいて、前記クライアント実装技術に対応する前記受信データ変換依頼先を決定する受信データ変換管理手段、
前記受信データ変換管理手段によって決定された前記受信データ変換依頼先に該当する場合に、前記受信データのデータ形式情報に基づいて、前記受信データに含まれている前記クライアント実装技術に対応する形式のデータを、アプリケーションで用いられている共通形式のデータに変換し、前記共通形式のデータを第3の記憶装置に記憶する受信データ変換手段
として機能させるためのフレームワーク。 Computer
“Received data stored in the first storage device including data dependent on the client implementation technology of the client, data format information specifying the data format of the data, and a client implementation technology identifier representing the client implementation technology ”Based on the client identifying means for identifying the client implementation technology,
Based on “related data stored in the second storage device and relating the client mounting technology to the received data conversion request destination” and the client mounting technology specified by the client specifying means, Received data conversion management means for determining the received data conversion request destination corresponding to the client mounting technology;
When it corresponds to the received data conversion request destination determined by the received data conversion management means, based on the data format information of the received data, the format corresponding to the client mounting technology included in the received data A framework for converting data to data in a common format used in an application and functioning as received data conversion means for storing the data in the common format in a third storage device.
前記コンピュータを、さらに、
複数の受信データ変換先に対する共通のインタフェースを、前記受信データ変換管理手段に対して提供する受信データ変換インタフェースとして機能させるためのフレームワーク。 The framework of claim 1,
Said computer further
A framework for causing a common interface for a plurality of reception data conversion destinations to function as a reception data conversion interface provided to the reception data conversion management means.
前記関係データは、さらに、前記クライアント実装技術と返信データ変換依頼先とを関係付けており、
前記コンピュータを、さらに、
前記アプリケーションによって共通形式の返信データが生成された場合に、前記第2の記憶装置に記憶されている前記関係データと、前記クライアント特定手段によって特定された前記クライアント実装技術とに基づいて、前記クライアント実装技術に対応する前記返信データ変換依頼先を決定する返信データ変換管理手段、
前記返信データ変換管理手段によって決定された前記返信データ変換依頼先に該当する場合に、第4の記憶装置に記憶されている前記共通形式の返信データを、前記クライアント実装技術に対応する形式の返信データに変換し、前記クライアント実装技術に対応する形式の返信データを第5の記憶装置に記憶する返信データ変換手段
として機能させるためのフレームワーク。 In the framework of claim 1 or claim 2,
The relationship data further relates the client implementation technology and a reply data conversion request destination,
Said computer further
When the reply data in the common format is generated by the application, the client is based on the relation data stored in the second storage device and the client mounting technology specified by the client specifying means. Reply data conversion management means for determining the reply data conversion request destination corresponding to the mounting technology;
When the reply data conversion request destination determined by the reply data conversion management means is applicable, the reply data in the common format stored in the fourth storage device is returned in a format corresponding to the client mounting technology. A framework for converting data into data and functioning as reply data conversion means for storing reply data in a format corresponding to the client mounting technology in a fifth storage device.
前記コンピュータを、さらに、
複数の返信データ変換依頼先に対する共通のインタフェースを、前記返信データ変換管理手段に対して提供する返信データ変換インタフェースとして機能させるためのフレームワーク。 The framework of claim 3,
Said computer further
A framework for causing a common interface for a plurality of reply data conversion request destinations to function as a reply data conversion interface provided to the reply data conversion management means.
前記関係データは、さらに、前記クライアント実装技術と例外データ変換依頼先とを関係付けており、
前記コンピュータを、さらに、
前記アプリケーションにおいて例外処理が発生した場合に、前記第2の記憶装置に記憶されている前記関係データと、前記クライアント特定手段によって特定された前記クライアント実装技術とに基づいて、前記クライアント実装技術に対応する前記例外データ変換依頼先を決定する例外データ変換管理手段、
前記例外データ変換管理手段によって決定された前記例外データ変換依頼先に該当する場合に、第6の記憶装置に記憶されている前記アプリケーションの共通形式の例外データを、前記クライアント実装技術に対応する形式の例外データに変換し、前記クライアント実装技術に対応する形式の例外データを第7の記憶装置に記憶する例外データ変換手段
として機能させるためのフレームワーク。 The framework according to any one of claims 1 to 4,
The relationship data further relates the client implementation technology and the exception data conversion request destination,
Said computer further
Corresponding to the client mounting technology based on the relation data stored in the second storage device and the client mounting technology specified by the client specifying means when exception processing occurs in the application Exception data conversion management means for determining the exception data conversion request destination
When the exception data conversion request is determined by the exception data conversion management means, the exception data in the common format of the application stored in the sixth storage device is converted into a format corresponding to the client mounting technology. A framework for functioning as exception data conversion means for converting exception data in a format corresponding to the client mounting technology into a seventh storage device.
前記コンピュータを、さらに、
複数の例外データ変換依頼先に対する共通のインタフェースを、前記例外データ変換管理手段に対して提供する例外データ変換インタフェースとして機能させるためのフレームワーク。 The framework of claim 5,
Said computer further
A framework for causing a common interface for a plurality of exception data conversion request destinations to function as an exception data conversion interface provided to the exception data conversion management means.
第2の記憶装置に記憶されており前記クライアント実装技術と受信データ変換依頼先とを関係付けている関係データと、前記クライアント特定手段によって特定された前記クライアント実装技術とに基づいて、前記クライアント実装技術に対応する前記受信データ変換依頼先を決定する受信データ変換管理手段と、
前記受信データ変換管理手段によって決定された前記受信データ変換依頼先に該当する場合に、前記受信データのデータ形式情報に基づいて、前記受信データに含まれている前記クライアント実装技術に対応する形式のデータを、アプリケーションで用いられている共通形式のデータに変換し、前記共通形式のデータを第3の記憶装置に記憶する受信データ変換手段と
を具備する情報処理装置。 The received data stored in the first storage device includes data dependent on the client mounting technology of the client, data format information specifying the data format of the data, and a client mounting technology identifier representing the client mounting technology. Client identifying means for identifying the client implementation technology based on:
The client implementation based on the relation data stored in the second storage device and relating the client implementation technique and the received data conversion request destination and the client implementation technique specified by the client specifying means Received data conversion management means for determining the received data conversion request destination corresponding to the technology;
When it corresponds to the received data conversion request destination determined by the received data conversion management means, based on the data format information of the received data, the format corresponding to the client mounting technology included in the received data An information processing apparatus comprising: received data conversion means for converting data into common format data used in an application and storing the common format data in a third storage device.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009251069A JP2011096112A (en) | 2009-10-30 | 2009-10-30 | Framework and information processor |
CN2010105264794A CN102053828A (en) | 2009-10-30 | 2010-10-28 | Information processing device, information processing system and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009251069A JP2011096112A (en) | 2009-10-30 | 2009-10-30 | Framework and information processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011096112A true JP2011096112A (en) | 2011-05-12 |
Family
ID=43958186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009251069A Pending JP2011096112A (en) | 2009-10-30 | 2009-10-30 | Framework and information processor |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2011096112A (en) |
CN (1) | CN102053828A (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216788B (en) * | 2014-09-04 | 2018-09-07 | 百度在线网络技术(北京)有限公司 | The implementation method and device of function treatment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002091860A (en) * | 2000-09-19 | 2002-03-29 | Toshiba Corp | Computer readable recording medium recorded with program, and computer system |
JP2002342078A (en) * | 2001-05-17 | 2002-11-29 | Hitachi Ltd | Program development system and method |
JP2004110156A (en) * | 2002-09-13 | 2004-04-08 | Toshiba Solutions Corp | Program for application server system and method of delivering data to business component |
JP2004246401A (en) * | 2003-02-10 | 2004-09-02 | Toshiba Solutions Corp | Web application server system and computer program |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006026686A1 (en) * | 2004-08-31 | 2006-03-09 | Ascential Software Corporation | User interfaces for data integration systems |
-
2009
- 2009-10-30 JP JP2009251069A patent/JP2011096112A/en active Pending
-
2010
- 2010-10-28 CN CN2010105264794A patent/CN102053828A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002091860A (en) * | 2000-09-19 | 2002-03-29 | Toshiba Corp | Computer readable recording medium recorded with program, and computer system |
JP2002342078A (en) * | 2001-05-17 | 2002-11-29 | Hitachi Ltd | Program development system and method |
JP2004110156A (en) * | 2002-09-13 | 2004-04-08 | Toshiba Solutions Corp | Program for application server system and method of delivering data to business component |
JP2004246401A (en) * | 2003-02-10 | 2004-09-02 | Toshiba Solutions Corp | Web application server system and computer program |
Also Published As
Publication number | Publication date |
---|---|
CN102053828A (en) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11647009B2 (en) | Access request conversion method and apparatus | |
US10558671B2 (en) | Modified representational state transfer (REST) application programming interface (API) including a customized GraphQL framework | |
US20110004676A1 (en) | Virtual appliance deploying system | |
US8640149B2 (en) | Method and apparatus for dynamic web service composition and invocation | |
KR100739715B1 (en) | Method and apparatus for performing an agreement of web services policy | |
CN101098248B (en) | Method and system for implementing universal network management based on configuration describing document | |
WO2019163793A1 (en) | Api adapter, api adapter creation method, and program | |
US8489631B2 (en) | Distributing a query | |
US10924527B2 (en) | Dynamic workflow-based composite web service system and method | |
US11063946B2 (en) | Feedback framework | |
CN102255969A (en) | Representational-state-transfer-based web service security model | |
JP4852906B2 (en) | Cooperation processing system and apparatus | |
CN103532737A (en) | Method, device and system for processing various types of alarms | |
Ziyaeva et al. | Content-based intelligent routing and message processing in enterprise service bus | |
US20070266139A1 (en) | Methods, systems and computer program products for invariant representation of computer network information technology (it) managed resources | |
US9164781B2 (en) | Client bundle resource creation | |
JP5348413B2 (en) | Application server, object management method, and object management program | |
JP2011096112A (en) | Framework and information processor | |
JP2014238699A (en) | Document management server, document management method and computer program | |
US8700954B2 (en) | Common trouble case data generating method and non-transitory computer-readable medium storing common trouble case data generating program | |
JP2011065236A (en) | Service retrieval device, service provision device, service retrieval system and service retrieval method | |
Oussalah et al. | An algorithm for web services composition and adaptation based on interface description | |
Zhang et al. | Web service generation through program slicing | |
CN114745376B (en) | ZooKeeper cluster operation and maintenance method and device, electronic equipment and storage medium | |
CN117909100A (en) | Data processing method and server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Effective date: 20110706 Free format text: JAPANESE INTERMEDIATE CODE: A971007 |
|
A131 | Notification of reasons for refusal |
Effective date: 20110726 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110926 |
|
A02 | Decision of refusal |
Effective date: 20120321 Free format text: JAPANESE INTERMEDIATE CODE: A02 |