JP2006053832A - フレームワーク間連携プログラム及び方法 - Google Patents

フレームワーク間連携プログラム及び方法 Download PDF

Info

Publication number
JP2006053832A
JP2006053832A JP2004236145A JP2004236145A JP2006053832A JP 2006053832 A JP2006053832 A JP 2006053832A JP 2004236145 A JP2004236145 A JP 2004236145A JP 2004236145 A JP2004236145 A JP 2004236145A JP 2006053832 A JP2006053832 A JP 2006053832A
Authority
JP
Japan
Prior art keywords
identifier
file
name
computer
framework
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.)
Granted
Application number
JP2004236145A
Other languages
English (en)
Other versions
JP4669245B2 (ja
Inventor
Junichi Takizawa
淳一 瀧澤
Katsuto Yoshida
勝人 吉田
Takayuki Mizuno
貴之 水野
Katsutoshi Watanabe
克俊 渡辺
Yohei Sato
洋平 佐藤
Kaoru Wakamatsu
薫 若松
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2004236145A priority Critical patent/JP4669245B2/ja
Publication of JP2006053832A publication Critical patent/JP2006053832A/ja
Application granted granted Critical
Publication of JP4669245B2 publication Critical patent/JP4669245B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】ビジネスロジックを構築する第1アプリケーションフレームワークとWeb画面の遷移を定義する第2アプリケーションフレームワークとの間でのスムーズな連携を可能にする。
【解決手段】2つのフレームワークを連携して機能させるために第1コンピュータに、第1のフレームワークが第1データ用フィールドに対して用いる第1識別名と、第2のフレームワークが第1識別名に対応して用いる第2識別名との対応関係を示す第1対応表を第1コンピュータの記憶手段に記憶させ(S12)、第2のフレームワークが第1ファイルをWebブラウザで閲覧可能な第2ファイルに変換する際に第2識別名に対応して用いる第3識別名と、第1識別名との対応関係を示す第2対応表を第1コンピュータの記憶手段に記憶させ(S13)、第1のフレームワークが提供する機能と、第2対応表とを第2ファイルとともに、第1コンピュータの送信手段に送信させる(S14〜16)。
【選択図】 図3

Description

本発明は、第1フレームワークと第2フレームワークとの間でのスムーズな連携を可能にするプログラム及び方法に関する。
例えば、JSF(JavaServer Facesの略)とオブジェクトワークス(登録商標)という2つのアプリケーションフレームワークが存在する。
JSFとは、ビジネスロジックとプレゼンテーションデザインの分離を目的とした、Webアプリケーションのインターフェースのためのフレームワークである。従来のJSPでは、Webアプリケーションのインターフェースとインターフェース処理のロジックが同じレベルで記述され、ビジネスロジックとプレゼンテーションデザインを完全に分離するには至っていなかった点を改善している。
また、オブジェクトワークスは、株式会社野村総合研究所が提供するフレームワークであって、バックエンド接続、サーバサイドの機能が充実しており、大規模開発に向いている(例えば、特許文献1参照)。
このような異なる特徴を有する2以上のフレームワークをうまく連携させて使用することができれば、ソフトウェアシステムを効率よく開発することができる。
なお、フレームワークとは、複数のソフトウェアが複合して構成するある程度大規模なソフトウェアシステムを意味するものとする。
特開2002−287962号公報
第1フレームワークと第2フレームワークという異なるフレームワークが存在する場合、第1フレームワークと第2フレームワークとでは、データフィールドを特定するための識別子に関して、異なるルールを持っている場合がある。このため、第1フレームワークで使用している識別子が、第2フレームワークでは使用できないことがある。
例えば、オブジェクトワークスというフレームワークとJSFというフレームワークが存在する。そして、オブジェクトワークスにおいては同一のDSB nameを複数使用することが可能であるが、JSFにおいては同一のidを複数使用することはできない。ここで、”DSB”とは、データ・ストア・ビーン(data store bean)を意味する。
例えば、オブジェクトワークスにおいては、自宅の電話番号、携帯電話の電話番号及び勤務先の電話番号という3種類の電話番号の全てに対して"tel_no"という共通のDSB nameを使用することができる。一方、JSFにおいては、3種類の電話番号の全てに対して同一のidを使用することはできないので、3種類の電話番号の各々に対して"tel_no_0", "tel_no_1", "tel_no_2"というような異なるidを使用しなければならない。
また、第1パーソナルコンピュータ(PC)と第2PCとの間で所定のプロトコルに従って通信する場合に、送信側で使用される識別子と受信側で使用される識別子とが同一ではない場合もある。
例えば、サーバサイドからクライアントサイドへ送信するために、JSFタグライブラリを用いて記述されたJSPファイルをHTMLファイルへ変換した場合、JSPファイルで使用されている"id"とHTMLファイルで使用されている"name"とは、似て非なるものとなる。
例えば、JSPファイル中の
"id = kaiin_name"
という記述に基づいて、JSPファイルを変換して得られるHTMLファイル中では
"name = form1:kaiin_name"
という記述が生成される。このとき、"kaiin_name"の前に"form1:"が付加されている。
そして、第1フレームワークが単独で使用される場合は、サーバサイドに存在する第1フレームワークが提供する機能が、クライアントサイドに送信されて、クライアントサイドで有効に働くにもかかわらず、前記の如く、第1フレームワークと第2フレームワークとを連携させて使用するために、オブジェクトワークスでのDSB nameとJSPでのidとHTMLでのnameとが一致しないので、第1フレームワークが提供する機能が、クライアントサイドで有効に働かないということが生じうる。
例えば、第1フレームワークが提供するデータ型チェック機能がサーバサイドからクライアントサードへ送信され、クライアントサイドで入力されたデータのデータ型等がクライアントサイドでチェックされる場合に、前記のようにオブジェクトワークスでのDSB nameとHTMLでのnameとが一致しないことに起因してデータ型チェック機能が、有効に働かないということが生じうる。
そこで、本発明は、サーバサイドに存在する第1アプリケーションフレームワークによって提供される機能であって、クライアントサイドにおいて実行される機能が、クライアントサイドにおいて有効に働くことを可能とするプログラム及び方法を提供することを目的とする。
本発明の第1の特徴は、フレームワーク間連携のために、主としてビジネスロジックを構築する第1アプリケーションフレームワークと、主としてWeb画面の遷移を定義する第2アプリケーションフレームワークとを連携して機能させるために第1コンピュータに、(1)第1アプリケーションフレームワークが第1データ用フィールドに対して用いる第1識別名と、第2アプリケーションフレームワークが第1識別名に対応して用いる第2識別名との対応関係を示す第1対応表を第1コンピュータの記憶手段に記憶させる手順、(2)第2アプリケーションフレームワークが第1ファイルをWebブラウザで閲覧可能な第2ファイルに変換する際に第2識別名に対応して用いる第3識別名と、第1識別名との対応関係を示す第2対応表を第1コンピュータの記憶手段に記憶させる手順、(3)第1アプリケーションフレームワークが提供する機能と、第2対応表とを第2ファイルとともに、第1コンピュータの送信手段に送信させる手順を実行させることにある。
また、本発明の第2の特徴は、(1)第3識別名に対応付けられたデータを、第1コンピュータの受信手段に受信させる手順、(2)第2対応表を用いて、第3識別名に対応付けられたデータを、第2識別名に対応付けて第1コンピュータの記憶手段に記憶させる手順、(3)第1対応表を用いて、第2識別名に対応付けられたデータを、第1識別名に対応付けて第1コンピュータの記憶手段に記憶させる手順を、さらに実行させることにある。
さらに、第2アプリケーションフレームワークがJavaServer Facesであり、第1コンピュータがクライアント・サーバ・システムにおけるサーバであり、第1識別名がData Store Beanのnameであり、第2識別名がJavaServer Pagesのidであり、第3識別名がHTMLのnameであり、第1ファイルがJavaServer Pagesファイルであり、第2ファイルがHTMLファイルであることが好ましい。
本発明の第1の特徴によれば、第1アプリケーションフレームワーク用の第1識別名と、第2アプリケーションフレームワークによるファイル変換によって第2識別名から変換された第3識別名との対応関係が、第2対応表から明らかであるから、送信先において第3識別名に対応するデータとして入力されたデータを、第1アプリケーションフレームワークが処理可能な第1識別名に対応するデータとして認識することができる。これによって、送信先においても、第1アプリケーションフレームワークが提供する機能を有効に利用することができる。
また、本発明の第2の特徴によれば、送信先において第3識別名に対応するデータとして入力されたデータを、第2対応表に基づいて、第1アプリケーションフレームワークが処理可能な第1識別名に対応するデータとして認識することができる。これによって、第1コンピュータにおいても、第3識別名に対応するデータを適切に処理することが可能となる。
以下に図面に基づいて、本発明を実施するための最良の形態を説明する。なお、以下の説明は、単なる例示に過ぎず、本発明の技術的範囲は以下の説明に限定されるものではない。
図1は、実施例1におけるサーバの構成を示すブロック図である。同図に示すように、サーバ30は、中央処理装置(CPU)31と、メモリ32と、送受信装置33と、ファイル装置35a,35bとを備え、それら各装置がバス37を介してデータをやり取りすることができる。
送受信装置33には、ネットワークインターフェースカード(NIC)が含まれる。この送受信装置33を用いてリクエストメッセージの受信、レスポンスメッセージの送信などを行う。
ファイル装置35には、ハードディスクドライブが含まれる。図1に示すように、ファイル装置35aには、第1フレームワーク351、第2フレームワーク352、JSPファイル353、JSPエンジン354、サーブレットエンジン355、メッセージ送受信プログラム356及びデータ定義357が記憶されている。また、ファイル装置35bには、連携プログラム358、Server Id・DSB対応表359が記憶されている。
図1に示すように、連携プログラム358は、UIコンポーネントツリーを走査するUIコンポーネントツリー走査部361と、HTMLのnameとDSB nameとの対応表を作成するHTML・DSB対応表作成部362と、かかる対応表をHTMLファイルに埋め込む対応表埋込部363とを備える。これら各部については後述する。
なお、後述するように、例えば、第1フレームワークとはオブジェクトワークスであり、第2フレームワークとはJSFである。
なお、ファイル装置35aにフレームワーク等が、ファイル装置35bに連携プログラム等が記憶されているとしたが、これは説明の都合上そのようにしただけである。ファイル装置35aのフレームワーク等の一部が、ファイル装置35bに記憶されていても良い。また、ファイル装置35bの連携プログラム等の一部が、ファイル装置35aに記憶されていても良い。さらに、ファイル装置35aのフレームワーク等の全てと、ファイル装置35bの連携プログラム等の全てとが物理的に一つのファイル装置に記憶されていても良い。メインメモリ32は、連携プログラムのワークエリアとして使用される。
図2は、実施例1におけるデータストア定義(アプリケーションのデータ定義)の内容を示す。同図に示すように、”kaiin_no”, ”kaiin_name”, ”kaiin_addr”, ”birth_day”, ”tel_no”などのDSBカラム名やそれぞれのデータ型、日本語名、必須か否かなどが定義されている。
図3は、実施例1における全体的な処理の流れを示すフローチャートである。ステップS11からステップS16はサーバサイドにおける処理、ステップS21からステップS23はクライアントサイドにおける処理、ステップS31からステップS38はサーバサイドにおける処理を示す。図3に示すように、
ステップS11で、開発者が作成したJSPがコンパイルされServletとして実行され始める、
ステップS12で、JSFタグのidとオブジェクトワークスのDSBカラム名とに関する第1テーブルが作成され、
ステップS13で、JSFによって変換されたHTMLタグのnameとDSBカラム名とに関する第2テーブルが作成され、
ステップS14で、第1テーブルをメモリに保存するか、もしくは画面にhidden項目として埋め込み、
ステップS15で、第2テーブルがJavaScriptとして画面に埋め込まれ、
ステップS16で、レスポンスメッセージがクライアントサイドに送られ、
ステップS21で、アプリケーション利用者がクライアントサイドで入力を行い、
ステップS22で、クライアント側入力チェックが行われ、この際、JavaScriptとして埋め込まれた第2テーブルを用いてnameがDSBカラム名に変換され、
ステップS23で、アプリケーション利用者がリクエストメッセージを送信し、
ステップS31で、サーバがリクエストメッセージを受信し、
ステップS32で、第1フレームワークであるオブジェクトワークスの処理がある程度進んだ時点で、オブジェクトワークスから第2フレームワークであるJSFに処理が委譲され、
ステップS33で、JSFの処理によってリクエストデータと画面部品が結び付けられ、
ステップS34で、JSFの処理が終了し、
ステップS35で、オブジェクトワークスに処理を戻す際に第1テーブルを用いてDSBにデータがマッピングされ、
ステップS36で、ビジネスロジック(BL)が実行され、
ステップS37で、画面遷移が決定され、
ステップS38で、次画面のJSPが読み込まれる。各ステップの詳細は、後述する。
(ア)クライアントサイドでの処理 ステップS11〜S16
<JSPをHTMLに変換する処理の概要>
図4にJSPファイルがHTMLファイルに変換される処理の流れを示す。JSPファイルからHTMLファイルへの変換は、JSPエンジン、サーブレットエンジンという、アプリケーションサーバの機能が行う。
図4に示すように、まずJSPファイル41がJSPエンジンに読み込まれ、JSPエンジンによってサーブレット43が中間生成物として作成される(ステップS42)。JSPサーブレット43は、サーブレットエンジンによって実行される(ステップS44)。
また、JSPタグライブラリは、記述されたタグと対応付けたプログラムが動く仕組みになっている。例えば、JSPタグライブラリによって、タグAに対して対応付けられたプログラムAが動く。
JSPファイルの中に書かれたスクリプトや、JSPタグライブラリと関連付けられたクラスは、JSPサーブレットの一つの処理として実行される。そして、HTMLファイル45が作成される。HTMLファイル45はレスポンスメッセージとしてクライアントサイドに送信される。クライアントサイドで、HTMLファイル45はWebブラウザによって解釈され、例えば図4に示すような登録画面46がクライアントPCの表示手段の表示画面に表示される。
図4に示すように、登録画面46は、氏名入力フィールド、住所入力フィールド、生年月日入力フィールド、及び電話番号入力用の第1、第2、第3のフィールド並びに「登録」ボタンから構成されている。次に、JSPサーブレットの実行のフェーズでどのように処理が行われるかの詳細を示す。
<第1,第2のテーブル作成処理の詳細>
JSPファイルがHTMLファイルに変換される過程において、後述するように、第1のテーブル及び第2のテーブルが作成される(第2フェーズ〜第5フェーズ)。
図5に実施例1におけるJSPファイルの一例を示す。同図に示すように、本実施例において用いるJSPファイル50の構造は、オブジェクトワークスヘッダ部分51とJSFタグ部分52とオブジェクトワークスフッタ部分54とを含む。JSFタグ部分52内にオブジェクトワークスデータ埋め込み部分53が存在する。
図6に実施例1におけるJSPファイルの一例とそれに対応するHTMLファイルの一例を示す。同図に示すように、JSPファイル50は、JSPサーブレット61を経て、HTMLファイル62に変換される。JSPファイル50中のエリアA11がHTMLファイル中のエリアA31に対応し、JSPファイル中のエリアA12がHTMLファイル中のエリアA32に対応し、JSPファイル中のエリアA13がHTMLファイル中のエリアA33に対応し、JSPファイル中のエリアA14がHTMLファイル中のエリアA34に対応する。
<オブジェクトワークスヘッダ部分について>
図5に示すオブジェクトワークスヘッダ部分51では、オブジェクトワークスのクライアントサイドの機能(入力チェック等)やオブジェクトワークスのデータを埋め込むように記述されたJSPファイルがインクルードされる。かかるインクルードによって、プログラムコードやJavaScriptが動的に埋め込まれる。図5の例では、COMMONHDR.jspがインクルードされる。
<JSFタグ部分>
図6に示す例では、<h:inputText...>などのJSFタグ部分(エリアA13に対応)が<input type="text">などのHTMLタグ部分(エリアA33に対応)に変換されていく。このような変換は、外部のJavaプログラムを呼び出して実行される(JSPタグライブラリの仕様)。そして、変換中に、各画面部品に対応する種類(例えば、テキストフィールド、ボタン、セレクトボックス)と状態(例えば、テキストが「入力されている/されていない」、ボタンが「押されている/押されていない」、セレクトボックスが「選択されている/選択されていない」)などを持つUIコンポーネントと呼ばれるオブジェクトが生成され、木構造のUIコンポーネントツリー(UI Component Tree)としてメモリ上に格納される。
図7に、実施例1におけるUIコンポーネントツリーの一例を示す。なお、同図はUIコンポーネントツリーの概要を示しているに過ぎない。また、同図には示していないが、各コンポーネントはHTMLとしてレスポンスメッセージが返された時にクライアントサイドで使用されるid属性及びname属性の各値が決定されていて、各コンポーネントが各属性値を保持している。
例えば、開発者が記述したJSPが、
氏名 <h:inputText id="kaiin_name" onBlur='blurEventHandler(this)' ><BR>
であるなら、
クライアントサイドに送られるHTMLは、
氏名 <input type="text" id="form1:kaiin_name" name="form1:kaiin_name"
onBlur='blurEventHandler(this)' ><BR>
となり、
”form1:kaiin_name”というid属性値とname属性値がメモリに保持される。
<オブジェクトワークスのデータ埋め込み部分>
オブジェクトワークスのデータ埋め込み部分には、次のリクエストメッセージに引き継ぎたい情報を埋め込む。例えば、DSBの値などが埋め込まれる。例えば、
kaiin_name=”野村太郎”
kaiin_age=”27”
が埋め込まれる。
<オブジェクトワークスフッタ部分>
前記の如く、メモリ上には既にクライアント側に送られるID("form1:kaiin_name"等)を保持したUIコンポーネントツリーが作成されている。オブジェクトワークスフッタ部分では、このUIコンポーネントツリーを走査することで、第1マッピングテーブル及び第2マッピングテーブルを作成する。
<作成された木構造からマッピングテーブルを作成する>
前記の如くJSFタグ部のHTML変換の際にJSFによって自動的に作成されたUIコンポーネントツリーの各コンポーネントを、JSPに記述したJavaプログラムによって、再帰的に順次たどり、メモリ上にテーブルを作成していく。
図8に、実施例1におけるUIコンポーネントツリーの各コンポーネントを再帰的に順次たどる様子を示す。同図に示す例では、まず第1コンポーネントc1を、次に第2コンポーネントc2を、次に第3コンポーネントc3を、次に第4コンポーネントc4を、次に第5コンポーネントc5を、次に第6コンポーネントc6を、次に第7コンポーネントc7を、次に第8コンポーネントc8を、次に第9コンポーネントc9を、順次たどる。
JSFが持つ関数を用いて各コンポーネントを再帰的に順次たどることができる。具体的には、
(1)対象となるUIコンポーネントの子ノードを探索し、
(2)探索された子ノードについてテーブルを作成し、
(3)探索された子ノードを対象として(1)から(2)を行い、
(4)子ノードがなくなったら次の子ノードを対象に(1)から(3)を行い、
(5)すべてのノードがなくなるまで(1)〜(4)を繰り返す。
<第1のマッピングテーブルの内容>
図9に、実施例1における第1マッピングテーブル及び第2マッピングテーブルの一例をそれぞれ示す。第1マッピングテーブルT1は、開発者がJSPに記したid(第1マッピングテーブルT1に示す”Server Id”)とDSB(第1マッピングテーブルT1に示す”DSB name”)を、ネーミングルールを元に対応付けたテーブルである。
開発者が名づけたIDと、オブジェクトワークスのDSBカラム名とが所定の関係を有する場合も、そのIDとDSBカラム名とは対応づけられて第1マッピングテーブルに記入される。
前記の如く、図2に示したデータストア定義(アプリケーションのデータ定義)の例では、”kaiin_no”, ”kaiin_name”, ”kaiin_addr”, ”birth_day”, ”tel_no”などのDSBカラム名やそれらに対応するデータ型などが定義されている。
図5に示すJSPファイルの例では、”kaiin_no”, ”kaiin_name”, ”kaiin_addr”, ”birth_day”, ”tel_no__0” , ”tel_no__1” , ”tel_no__2”などのIDが定義されている。
そして、"kaiin_name", "kaiin_addr", "birth_day"などのServer Idに対しては、同じ名前のDSB nameが存在するので、
"kaiin_name"というServer Id と"kaiin_name"というDSB name、
"kaiin_addr"というServer Idと"kaiin_addr"というDSB name、
"birth_day"というServer Idと"birth_day"というDSB name、
がそれぞれ第1のマッピングテーブルにおいて対応づけられている。
また、"tel_no__0", "tel_no__1", "tel_no__2"などのServer Idに対しては、末尾の"__(アンダースコア又はアンダーライン)数字"を取り除いたDSB nameが存在するので、
"tel_no__0"というServer Idと"tel_no"というDSB name、
"tel_no__1"というServer Idと"tel_no"というDSB name、
"tel_no__2"というServer Idと"tel_no"というDSB name、
がそれぞれ第1のマッピングテーブルにおいて対応づけられている。
<第2のマッピングテーブルの内容>
図9に示すように、第2マッピングテーブルT2は、JSFが自動的に変換して付けたHTMLのnameとDSB nameとを対応付けたテーブルである。第1マッピングテーブルT1、第2マッピングテーブルT2ともにサーバサイドのメモリ上に生成される。
JSFはServer Idに基づいてHTMLのnameを決定する。例えば、図5のJSFタグ部分52に関しては、
“kaiin_name”というServer Idから“form1:kaiin_name”というHTMLのnameを、
“kaiin_addr”というServer Idから“form1:kaiin_addr”というHTMLのnameを、
“birth_day”というServer Idから“form1:birth_day”というHTMLのnameを、
"tel_no__0"というServer Idから"form1:tel_no__0"というHTMLのnameを、
"tel_no__1"というServer Idから"form1:tel_no__1"というHTMLのnameを、
"tel_no__2"というServer Idから"form1:tel_no__2"というHTMLのnameを、
それぞれ決定する。
そして、かかるServer IdとHTMLのnameとの対応関係、及び第1マッピングテーブルT1のServer IdとDSB nameとの対応関係に基づいて、HTMLのnameとDSB nameとの対応関係が決定される。
具体的には、図9に示すように
“form1:kaiin_name”というHTMLのnameと“kaiin_name”というDSB name、
“form1:kaiin_addr”というHTMLのnameと”kaiin_addr”というDSB name、
“form1:birth_day”というHTMLのnameと”birth_day”というDSB name、
"form1:tel_no__0"というHTMLのnameと”tel_no"というDSB name、
"form1:tel_no__1"というHTMLのnameと”tel_no"というDSB name、
"form1:tel_no__2"というHTMLのnameと”tel_no"というDSB name、
がそれぞれ第2マッピングテーブルT2において対応づけられている。
<第1マッピングテーブルの利用>
第1マッピングテーブルT1は、Hidden項目としてHTMLファイル中に、またはメモリに保持される。次回のリクエストメッセージ受信時に、画面が遷移しなければ、第1マッピングテーブルは、UIコンポーネントツリーに代入された値をDSBに代入する際に再び利用される。
<第2マッピングテーブルの利用>
第2マッピングテーブルT2は、JavaScriptとしてHTMLファイルに埋め込まれて、レスポンスメッセージとしてクライアントサイドに送信される。第1フレームワークが提供し、クライアントサイドで実行される機能として、チェック機能、フォーマット機能などがある。これらの機能がクライアントサイドで実行される際に、第2マッピングテーブルT2は利用される。埋め込まれるJavaScriptの例を以下に記す。

<Script>
<!--
var map = new Object();
map["form1:kaiin_name"] = "kaiin_name";
map["form1:kaiin_addr"] = "kaiin_addr";
map["form1:birth_day"] = "birth_day";
map["form1:tel_no__0"] = "tel_no";
map["form1:tel_no__1"] = "tel_no";
map["form1:tel_no__2"] = "tel_no";
//-->
</Script>

このようなJavaScriptによって、"form1:kaiin_name"というname属性を有するHTMLファイルのフィールドに入力されたデータが、"kaiin_name"というname属性を有するDSBにマッピングされて、第1フレームワークが提供するチェック機能等が実行される。これらデータ入力、データマッピング及びチェック機能等の実行は、全てクライアントサイドで行われる。
JSPファイルに書かれた全ての処理が終了すると、レスポンスメッセージがクライアントサイドに送信される。
(イ)クライアントサイドでの処理 ステップS20〜S23
図10に、実施例1においてクライアントサイドでチェック処理が行われる場合の処理の流れを示す。図10のステップS21〜23は、図3のステップS21〜23に対応している。
図10に示すように、クライアントPCがレスポンスメッセージを受信したら、レスポンスメッセージに含まれるHTMLファイルがWebブラウザによって解釈され、液晶ディスプレイ、CRTなどの表示装置の画面にHTMLファイルの内容が表示され(ステップS20)、
クライアントサイドのユーザがデータフィールドにデータを入力したら(ステップS21)、
入力されたデータのデータ型等に関するチェック処理が実行され(ステップS22)、
ユーザによって送信ボタンなどがクリックされたら、リクエストメッセージがサーバサイドへ送信される(ステップS23)。
<サーバサイドからレスポンスメッセージが戻り、ブラウザに表示:ステップS20>
図11は、実施例1において、レスポンスメッセージを受信したクライアントサイドのWebブラウザによって表示装置の表示画面に表示される画面と、メモリに展開されているJavaScript等とを示す概念図である。同図に示す例では、entry.jspというJSPファイルを変換して得られるHTMLファイルに基づいて「登録画面」1101が表示される。また、ブラウザが「登録画面」1101を表示する際に、例えば図6のエリアA31のJavaScriptがクライアントPC(パーソナルコンピュータ)のメモリ1103上に展開される。この際、onLoad属性に書かれたJavaScriptが実行されるが、本実施例ではonLoad属性は使用しないため、「登録画面」1101が表示される際にはメモリ上に格納されるのみとなる。図11に示すように、「登録画面」1101は、氏名入力フィールド、住所入力フィールド、生年月日入力フィールド、第1電話番号入力フィールド、第2電話番号入力フィールド、第3電話番号入力フィールド、及び登録ボタンから構成されている。
<データ入力:ステップS21>
図12に、実施例1において、クライアント側でユーザが入力フィールドにデータを入力している途中の登録画面の状態を示す。入力フィールドに書き込みがなされている最中は、チェック処理やフォーマット処理などは実行されない。
<チェック処理:ステップS22>
onBlur属性にJavaScriptの関数名(例えば、blurEventHandler(this)と記述する。)が書かれている場合は、入力フィールドからフォーカスがはずれた時に、メモリに格納されている関数が呼び出される。
図13は、入力フィールドからフォーカスが外れた場合に、関数が呼び出されることを示す概念図である。同図に示す例では、入力フィールドからフォーカスがはずれた際に、クライアントPCのメモリに格納されているチェック処理機能やフォーマット処理機能が呼び出される。
例えば、チェック処理が呼び出された場合、HTMLファイルの各フィールドのname属性が、どのDSB nameに対応するかが、HTMLファイルにJavaScriptとして埋め込まれている第2マッピングテーブルT2に基づいて判断され、
HTMLファイルの各フィールドに入力されたデータが、対応するDSB nameのデータとして、第1フレームワークが提供するチェック機能に渡され、値の不正がチェックされる。
図14は、実施例1において、HTMLのname属性を引数にして関数を呼び出す場合に、HTMLのname属性をDSBの名前に変換することを説明するための概念図である。同図に示す例では、入力フィールドからフォーカスがはずれた際に、name属性を引数にして所定の関数を呼び出す。
次に、第2マッピングテーブルT2に対応する図6のエリアA34に示したJavaScriptを利用して、例えばname属性が"form1:birth_day"であるフィールドに入力されたデータを、nameが"birth_day"であるDSB用のデータとして扱う。
そして、図6のエリアA31に示したJavaScriptにより提供されるチェック機能(日付形式YYMMDDを満たしているか調べるものとする)によって、データが不正か否かをチェックする。
このように、HTMLファイルのname属性とDSB nameとが一致しない場合であっても、HTMLファイルのデータフィールドに入力されたデータは、第2マッピングテーブルT2に基づいて、所定のDSBに渡され、クライアントサイドにおいて第1フレームワークが提供するチェック機能等によって適切に処理される。
なお、フォーカスがはずれてチェック機能の実行が開始される場合について説明したが、submitボタンが押された場合にチェック機能等が実行されるとしても良い。例えば、onSubmit属性にJavaScriptの関数名(例えば、submitEventHandler(this)と記述する。)が書かれている場合は、submitボタンが押されるとメモリに格納されている関数が呼び出される。関数の呼び出し方が異なるが、その他の点はonBlur属性の場合と同様であるため説明を省略する。
<リクエストの送信:ステップS23>
ユーザがsubmitボタンなどを押下することにより、サーバサイドへリクエストメッセージが送信される。
(ウ) サーバサイド ステップS31〜S38
図15は、実施例1において、リクエストメッセージを受信してからサーバサイドで行われる処理の流れを示す。図15(a)は処理の流れの概要を示し、図15(b)は処理の流れの詳細を示す。図15(a)及び(b)に示すように、
ステップS1501で、第1のオブジェクトワークス処理が実行され、
ステップS1502で、コネクタが呼び出され、
ステップS1503で、第1のコネクタ処理が実行され、
ステップS1504で、JSF呼び出し処理が実行され、
ステップS1505で、JSFの処理が実行され、
ステップS1506で、第2のコネクタ処理が実行され、
ステップS1507で、第2のオブジェクトワークス処理が実行され、
ステップS1508で、JSPへディスパッチされ、
ステップS1509で、サーバサイド(下り)の処理が実行される。
図3で示した処理フローのステップS32以降が、図15で示した処理フローのJSF呼び出し処理S1504以降に相当する。以下、図15にしたがって説明する。
<第1のオブジェクトワークス処理:S1501>
まず、リクエストメッセージを受け付ける。リクエストデータには以下のものが入っている。
・オブジェクトワークス用のデータ、コントロールを行うために必要な情報
・JSF用のデータ、コントロールを行うために必要な情報
(UIコンポーネントツリーの状態、構造を含む)
リクエストデータは、常にname=valueというデータ形式で送られてくる。例えば、kaiin_name=野村太郎などである。
オブジェクトワークス用のデータとは、オブジェクトワークスのDSBカラム名をname属性に持つデータのことであり、JSFの保持しているUIコンポーネントツリーとは関連の無いデータのことである。例えば、図6に示した例であれば、エリアA32に示した
<INPUT type='hidden' name='_DSBCONTENT' value = 'E80AA7C4090AA84C7 85015E3079DF7645FBB1046E8568B73346A9052811A67F4CD2A35856E9F544D9BB6E73901C99C4EF9B5D0C872D2CCCB71EDD13150EA547F2B9EAD9D199D85BADE3E1E9CB22D80B2681EF07E9361FBE89761CA96922931667ACA84963D62C992A1DCF896A3FF596693E31255D7185D8B6D9E9A0AD4E679C4B38AE85A67DDA579EB2D7B4ACE104F5F347B6D46B588DD341A067DC43DA39D0614AFAFFDD88BC3C363ACCBFF415367954124BAAF083F1381B524F09EE88A18A66E02ED8E4C5B084'>
などである。DSBなど、オブジェクトワークスで引き継ぐ情報を変換(シリアライズ)したものである。
また、オブジェクトワークス用のコントロールを行うために必要な情報とは、例えば、図6に示した例であれば、エリアA35に示した
<INPUT TYPE='hidden' name='_WindowName' value=''>
<INPUT TYPE='hidden' name='_ReturnPageInfo' value='null'>
などである。
JSF用のデータとは、JSFによってServer Idから変更されたHTML name(例えば、form1:kaiin_name)が持つデータのことであり、前回のレスポンスメッセージの一部として、クライアントサイドへ返したUIコンポーネントツリーの部品と関連付けられる。
また、JSF用のコントロールを行うために必要な情報とは、例えば、
<input type="hidden" name="com.sun.faces.VIEW" value="rO0ABXNyACBjb20uc3 VuLmZhY2VzLnV0aWwuVHJlZVN0cnVjdHVyZRRmG0QclWAgAgAETAAIY2hpbGRyZW50ABVMamF2YS91dGlsL0FycmF5TGlzdDtMAAljbGFzc05hbWV0ABJMamF2YS9sYW5nL1N0cmluZztMAAZmYWNldHN0ABNMamF2YS91dGlsL0hhc2hNYXA7TAACaWRxAH4AAnhwc3IAE2phdmEudXRpbC5BcnJheUxpc3R4gdIdmcdhnQMAAUkABHNpemV4cAAAAAF3BAAAAApzcQB+AABzcQB+AAUAAAAGdwQAAAAKc3EAfgAAcHQAKGphdmF4LmZhY2VzLmNvbXBvbmVudC5odG1sLkh0bWxJbnB1dFRleHRwdAALa2FpaW5fbm9fXzBz
<中略>
4AGgAAAAJ1cQB+ABoAAAAddXEAfgAaAAAABnVxAH4AGgAAAAhzcQB+AB4/QAAAAAAADHcIAAAAEAAAAAB4cHQAEXRlc3Q6QUNUX2RvU2VhcmNocQB+ABZxAH4AInEAfgAjdAASamF2YXguZmFjZXMuQnV0dG9ucHNyACZqYXZheC5mYWNlcy5jb21wb25lbnQuU3RhdGVIb2xkZXJTYXZlclnKsz2TnM1NAgACTAAJY2xhc3NOYW1lcQB+AAJMAApzYXZlZFN0YXRldAASTGphdmEvbGFuZy9PYmplY3Q7eHB0AChjb20uc3VuLmZhY2VzLnV0aWwuQ29uc3RhbnRNZXRob2RCaW5kaW5ndAABMHBxAH4AI3EAfgAidAASSlNG44K/44Kw44Gn6YCB5L+hcHBwcQB+ACNxAH4AI3BwcHBwcHBwcHBwcHBwcHBxAH4AI3EAfgAjcHBwcHQABnN1Ym1pdHVxAH4AGgAAAAA=" />
<input type="hidden" name="test" value="test" />
などである。これはJSFの画面情報をシリアライズしたものである。
前記のような所定のデータや情報を受信し、サーバサイドの機能(ブラウザの不正操作対応等)を実行する。HttpSessionもしくはhidden項目にDSBがある場合はそのDSBを取得し、ない場合はDSBを作成して、メモリに格納する。そして、オブジェクトワークス用のリクエストデータをメモリ上のDSBに格納する。
<第1のコネクタの処理:ステップS1503>
第1フレームワークであるオブジェクトワークスのデータを、第2フレームワークであるJSFで使用するなら、JSF用のデータにマッピングする。ただし、本実施例ではJSFでオブジェクトワークスのデータを使用しないこととするため、マッピングしない。
<JSFの処理:ステップS1504〜1505>
JSFを呼び出して(S1504)、JSFの処理を実行する(S1505)。JSFの処理とは以下のようなものである。
1. 前回のレスポンスで保存したUIコンポーネントツリーを取り出す。ない場合はこの後の処理は何もしないで処理を抜ける。
2. リクエストメッセージに含まれているデータの各々を、UIコンポーネントツリーの所定のノードに当てはめる。
3. UIコンポーネントに入れられた値の入力チェック、型変換を行う(コンポーネントにチェック機能、フォーマット機能が登録されていた場合)。
4. Java Beanと呼ばれるデータ領域に値を格納する。
5. BL(ビジネスロジック)を呼び出す。
6. 画面遷移を決定し、次の画面へディスパッチする。
7. 上記の処理の途中で、値が変更されたといった、イベントと呼ばれる前もって設定しておいた事象が発生するとそれに応じた処理が行われる。
BL呼び出し、次画面へのディスパッチなどの上記5,6の処理はオブジェクトワークスで行うため、本実施例では実行しないで処理を抜ける。
このようにして、JSFによる入力チェックや型変換を終えた値が、UIコンポーネントツリーに格納される。
<第2のコネクタ処理:ステップS1506>
図16は、実施例1において、JSFによってUIコンポーネントに格納されたデータを、DSBにマッピングする処理の概要を示す。このデータマッピングのために使用する第1テーブルT1は、前回のレスポンスメッセージ送信時に生成されているため、ここでは参照するだけでよい。図16に示すように、Javaプログラムは、name属性を用いて、UIコンポーネントに格納されたデータを、メモリ上に展開されているDSBに値をセットする。また、Javaプログラムは、名前の変換を行う。名前変換(又は名前解決)及びDSBへの値のセット(又はデータマッピング)については、以下に詳述する。
図17は、実施例1において、第2マッピングテーブルT2を作成した時と同様に、各コンポーネントを再帰的に走査して、データマッピングすることを示す概念図である。各コンポーネント毎に以下の処理を行う。
(1)名前変換(又は名前解決)
(1−1)走査中に対象となったUIコンポーネントのIdと、メモリ上の第2テーブルT2のServerIdとを比較する。
(1−2)第2テーブルT2内に、UIコンポーネントのIdと一致するServerIdが存在した場合は、第2テーブルT2内においてそのServerIdに対応付けられているDSB nameをDSBの名前とみなして、次の処理に移る。
(1−3)第2テーブルT2内に、UIコンポーネントのIdと一致するServerIdが存在しない場合には処理を抜ける。
(2)データマッピング
名前変換処理で、第2テーブルT2内に、UIコンポーネントのIdと一致するServerIdが存在した場合には、UIコンポーネントの値をDSBにセットする。
従って、UIコンポーネントの種類に応じて、アルゴリズムを変更しDSBに値をセットしていく。
すべてのコンポーネントに対して、名前変換及びデータマッピングの処理が終わったら第2のコネクタ処理S1506を抜ける。
<第2のオブジェクトワークス処理:ステップS1507〜1509>
BL(ビジネスロジック)が呼び出され、第2のオブジェクトワークス処理を実行する(S1507)。レスポンスがJSFによってコミットされていた場合は、第2のオブジェクトワークス処理は行わない。
BLや、バックエンドの処理(図11〜13に例示した登録処理など)は、第2のコネクタ処理S1506によってDSBにセットされた値に基づいて実行される。
BLの戻り値と画面遷移定義に基づいて、画面を遷移する/しない、さらに画面を遷移する場合はどの画面に遷移するかを決定し、JSPにディスパッチする(S1508)。つまり、次のJSPを読み込む。そして、図3のステップS11以降のサーバサイドの処理(下り)へ移行する。
実施例1におけるサーバの構成を示すブロック図である。 実施例1におけるデータストア定義(アプリケーションのデータ定義)の内容を示す図である。 実施例1における全体的な処理の流れを示すフローチャートである。 実施例1において、JSPファイルがHTMLファイルに変換される処理の流れを示す図である。 実施例1におけるJSPファイルの一例を示す図である。 実施例1におけるJSPファイルの一例とそれに対応するHTMLファイルの一例を示す図である。 実施例1におけるUIコンポーネントツリーの一例を示す図である。 実施例1におけるUIコンポーネントツリーの各コンポーネントを再帰的に順次たどる様子を示す図である。 実施例1における第1マッピングテーブル及び第2マッピングテーブルの一例をそれぞれ示す図である。 実施例1において、クライアントサイドでチェック処理が行われる場合の処理の流れを示す図である。 実施例1において、レスポンスメッセージを受信したクライアントサイドのWebブラウザによって表示装置の表示画面に表示される画面と、メモリに展開されているJavaScript等とを示す概念図である。 実施例1において、クライアント側でユーザが入力フィールドにデータを入力している途中の登録画面の状態を示す図である。 入力フィールドからフォーカスが外れた場合に、関数が呼び出されることを示す概念図である。 実施例1において、HTMLのname属性を引数にして関数を呼び出す場合に、HTMLのname属性をDSBの名前に変換することを説明するための概念図である。 実施例1において、リクエストメッセージを受信してからサーバサイドで行われる処理の流れを示すフローチャートであって、(a)は処理の流れの概要を示し、(b)は処理の流れの詳細を示す。 実施例1において、JSFによってUIコンポーネントに格納されたデータを、DSBにマッピングする処理の概要を示す図である。 実施例1において、第2マッピングテーブルT2を作成した時と同様に、各コンポーネントを再帰的に走査して、データマッピングすることを示す概念図である。
符号の説明
30…サーバ装置、 31…中央処理装置、
32…メインメモリ、 33…送受信装置、
35…ファイル装置、 37…バス、

Claims (6)

  1. 主としてビジネスロジックを構築する第1アプリケーションフレームワークと、主としてWeb画面の遷移を定義する第2アプリケーションフレームワークとを連携して機能させるために第1コンピュータに、
    前記第1アプリケーションフレームワークが第1データ用フィールドに対して用いる第1識別名と、前記第2アプリケーションフレームワークが前記第1識別名に対応して用いる第2識別名との対応関係を示す第1対応表を前記第1コンピュータの記憶手段に記憶させる手順、
    前記第2アプリケーションフレームワークが第1ファイルをWebブラウザで閲覧可能な第2ファイルに変換する際に前記第2識別名に対応して用いる第3識別名と、前記第1識別名との対応関係を示す第2対応表を前記第1コンピュータの記憶手段に記憶させる手順、
    前記第1アプリケーションフレームワークが提供する機能と、前記第2対応表とを前記第2ファイルとともに、前記第1コンピュータの送信手段に送信させる手順を実行させるためのフレームワーク間連携プログラム。
  2. 前記第3識別名に対応付けられたデータを、前記第1コンピュータの受信手段に受信させる手順、
    前記第2対応表を用いて、前記第3識別名に対応付けられたデータを、前記第2識別名に対応付けて前記第1コンピュータの記憶手段に記憶させる手順、
    前記第1対応表を用いて、前記第2識別名に対応付けられたデータを、前記第1識別名に対応付けて前記第1コンピュータの記憶手段に記憶させる手順を、さらに実行させる請求項1記載のフレームワーク間連携プログラム。
  3. 前記第2アプリケーションフレームワークがJavaServer Facesであり、前記第1コンピュータがクライアント・サーバ・システムにおけるサーバであり、前記第1識別名がData Store Beanのnameであり、前記第2識別名がJavaServer Pagesのidであり、前記第3識別名がHTMLのnameであり、前記第1ファイルがJavaServer Pagesファイルであり、前記第2ファイルがHTMLファイルである請求項1又は2記載のフレームワーク間連携プログラム。
  4. 主としてビジネスロジックを構築する第1アプリケーションフレームワークと、主としてWeb画面の遷移を定義する第2アプリケーションフレームワークとを連携して機能させるために第1コンピュータに、
    前記第1アプリケーションフレームワークが第1データ用フィールドに対して用いる第1識別名と、前記第2アプリケーションフレームワークが前記第1識別名に対応して用いる第2識別名との対応関係を示す第1対応表を前記第1コンピュータの記憶手段に記憶させる手順、
    前記第2アプリケーションフレームワークが第1ファイルをWebブラウザで閲覧可能な第2ファイルに変換する際に前記第2識別名に対応して用いる第3識別名と、前記第1識別名とを対応付ける第2対応表を前記第1コンピュータの記憶手段に記憶させる手順、
    前記第1アプリケーションフレームワークが提供する機能と、前記第2対応表とを前記第2ファイルとともに、前記第1コンピュータの送信手段に送信させる手順を含むフレームワーク間連携方法。
  5. 前記第3識別名に対応付けられたデータを、前記第1コンピュータの受信手段に受信させる手順、
    前記第2対応表を用いて、前記第3識別名に対応付けられたデータを、前記第2識別名に対応付けて前記第1コンピュータの記憶手段に記憶させる手順、
    前記第1対応表を用いて、前記第2識別名に対応付けられたデータを、前記第1識別名に対応付けて前記第1コンピュータの記憶手段に記憶させる手順を、さらに含む請求項4記載のフレームワーク間連携方法。
  6. 前記第2アプリケーションフレームワークがJavaServer Facesであり、前記第1コンピュータがクライアント・サーバ・システムにおけるサーバであり、前記第1識別名がData Store Beanのnameであり、前記第2識別名がJavaServer Pagesのidであり、前記第3識別名がHTMLのnameであり、前記第1ファイルがJavaServer Pagesファイルであり、前記第2ファイルがHTMLファイルである請求項4又は5記載のフレームワーク間連携方法。
JP2004236145A 2004-08-13 2004-08-13 フレームワーク間連携プログラム、フレームワーク間連携方法、フレームワーク間連携装置、およびフレームワーク間連携システム Expired - Fee Related JP4669245B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004236145A JP4669245B2 (ja) 2004-08-13 2004-08-13 フレームワーク間連携プログラム、フレームワーク間連携方法、フレームワーク間連携装置、およびフレームワーク間連携システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004236145A JP4669245B2 (ja) 2004-08-13 2004-08-13 フレームワーク間連携プログラム、フレームワーク間連携方法、フレームワーク間連携装置、およびフレームワーク間連携システム

Publications (2)

Publication Number Publication Date
JP2006053832A true JP2006053832A (ja) 2006-02-23
JP4669245B2 JP4669245B2 (ja) 2011-04-13

Family

ID=36031262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004236145A Expired - Fee Related JP4669245B2 (ja) 2004-08-13 2004-08-13 フレームワーク間連携プログラム、フレームワーク間連携方法、フレームワーク間連携装置、およびフレームワーク間連携システム

Country Status (1)

Country Link
JP (1) JP4669245B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009096045A1 (ja) * 2008-01-30 2009-08-06 The Bank Of Tokyo-Mitsubishi Ufj, Ltd. アプリケーション開発支援装置、プログラム及び記録媒体
WO2010050601A1 (ja) * 2008-10-31 2010-05-06 株式会社 東芝 フレームワークプログラム及びクライアント装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002132485A (ja) * 2000-10-26 2002-05-10 Hitachi Ltd オンライン画面変換方法
JP2002163158A (ja) * 2000-11-28 2002-06-07 Nissay Information Technology Co Ltd 通信システム及び通信方法
WO2003005624A2 (en) * 2001-07-05 2003-01-16 Computer Associates International, Inc. System and method for transforming business process policy data
JP2003050799A (ja) * 2001-08-08 2003-02-21 Seiko Epson Corp データベース検索方法、データベース検索システム、検索管理用プログラム及びその記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002132485A (ja) * 2000-10-26 2002-05-10 Hitachi Ltd オンライン画面変換方法
JP2002163158A (ja) * 2000-11-28 2002-06-07 Nissay Information Technology Co Ltd 通信システム及び通信方法
WO2003005624A2 (en) * 2001-07-05 2003-01-16 Computer Associates International, Inc. System and method for transforming business process policy data
JP2003050799A (ja) * 2001-08-08 2003-02-21 Seiko Epson Corp データベース検索方法、データベース検索システム、検索管理用プログラム及びその記録媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009096045A1 (ja) * 2008-01-30 2009-08-06 The Bank Of Tokyo-Mitsubishi Ufj, Ltd. アプリケーション開発支援装置、プログラム及び記録媒体
US8504981B2 (en) 2008-01-30 2013-08-06 The Bank Of Tokyo-Mitsubishi Ufj, Ltd. Application development support device, program, and recording medium
WO2010050601A1 (ja) * 2008-10-31 2010-05-06 株式会社 東芝 フレームワークプログラム及びクライアント装置
JP2010108370A (ja) * 2008-10-31 2010-05-13 Toshiba Corp フレームワークプログラム及びクライアント装置

Also Published As

Publication number Publication date
JP4669245B2 (ja) 2011-04-13

Similar Documents

Publication Publication Date Title
US8260844B2 (en) Information messaging and collaboration system
EP1330739B1 (en) Accessing data stored at an intermediary from a service
US9167051B2 (en) Transforming condition-independent output into condition-dependent output
US9524283B2 (en) Techniques to remotely access form information and generate a form
TWI314415B (en) System and method for building wireless applications with intelligent mapping between user interface and data components
US6868454B1 (en) Distributed-object development system and computer-readable recording medium recorded with program for making computer execute distributed-object development
US6889260B1 (en) Method and system for transferring information
JP5026415B2 (ja) データセントリックワークフロー
TW576982B (en) Programmatic management of software resources in a content framework environment
US8543972B2 (en) Gateway data distribution engine
US7707152B1 (en) Exposing rich internet application content to search engines
US20070078942A1 (en) Developing applications online
JP2005505055A (ja) モバイルウェブクライアントに対する方法、装置及びシステム
US8745639B2 (en) Controller and method to build a combined web page using data retrieved from multiple APIS
US20070204216A1 (en) System and method for creating layouts using a layout editor
US20060020692A1 (en) System and method for locating web services
US7613696B2 (en) Configuring search results using a layout editor
JP2008293152A (ja) Webシステムの連携方法および装置
CN101876895A (zh) 网格计算环境下应用软件的封装集成方法
JP2006190008A (ja) データ連携装置及びデータ連携方法
CN104461893B (zh) 数据处理方法与数据处理装置
JP4669245B2 (ja) フレームワーク間連携プログラム、フレームワーク間連携方法、フレームワーク間連携装置、およびフレームワーク間連携システム
JP2004326740A (ja) Webページ生成装置、組み込み装置、Webページ生成システム、Webページ生成の制御方法、Webページ生成プログラム及び記録媒体
US20240036888A1 (en) Information Processing Device, Information Processing System, and User Interface Providing Method
JP2006268164A (ja) 画面情報生成方法、画面情報生成装置および画面情報生成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101129

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110111

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110114

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

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4669245

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees