JP2002091860A - プログラムを記録したコンピュータ読み取り可能な記録媒体及び計算機システム - Google Patents

プログラムを記録したコンピュータ読み取り可能な記録媒体及び計算機システム

Info

Publication number
JP2002091860A
JP2002091860A JP2000283383A JP2000283383A JP2002091860A JP 2002091860 A JP2002091860 A JP 2002091860A JP 2000283383 A JP2000283383 A JP 2000283383A JP 2000283383 A JP2000283383 A JP 2000283383A JP 2002091860 A JP2002091860 A JP 2002091860A
Authority
JP
Japan
Prior art keywords
data
client
client type
type
computer
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
JP2000283383A
Other languages
English (en)
Inventor
Masaaki Miki
正章 三木
Takashi Nishimura
貴司 西村
Noriaki Koyama
徳章 小山
Fumio Yamaguchi
文雄 山口
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000283383A priority Critical patent/JP2002091860A/ja
Publication of JP2002091860A publication Critical patent/JP2002091860A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】クライアント種別に応じたサーバアプリケーシ
ョンの重複をなくす。 【解決手段】本発明では、クライアント2の種別に応じ
た形式でこのクライアント2から受信した受信データに
含まれているクライアント種別情報に基づいてクライア
ント種別を判別するクライアント種別判別機能8と、ク
ライアント種別判別機能8によって判別されたクライア
ント種別に基づいて、受信したデータの内容を予め定め
られているデータ構造10にしたがって記憶するデータ
変換機能9とをコンピュータに実現させるためのプログ
ラムをコンピュータ読み取り可能な記録媒体に記憶して
いる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、多種類のクライア
ントとサーバとの間でデータを送受信するためのプログ
ラムを記録したコンピュータ読み取り可能な記録媒体、
及び計算機システムに関する。
【0002】
【従来の技術】例えば会計システム、人事給与システ
ム、販売・流通システムなどのビジネスシステム、各種
アプリケーションをサーバに配置してサービスを提供す
るアプリケーション・サービス・プロバイダ(ASP)
や企業・個人のホームページサービス、携帯電話におけ
るWebコンテンツ提供サービスなどを提供する計算機
システムでは、一般的にサーバにデータやビジネスアプ
リケーションが集中して置かれる。そして、クライアン
トは、サーバにアクセスし、サーバアプリケーションを
実行し、データベース(DB)などの情報蓄積装置から
データを得るというサービスを受ける。
【0003】クライアントとサーバとの間でやりとりさ
れるデータの最も主流となる形式は文字や数字等のテキ
ストデータである。これらのデータは、基本的に全ての
クライアントとサーバで扱うことが可能である。
【0004】一方、計算機システムのなかには、クライ
アントとサーバとの間で画像/動画像/音声等のマルチ
メディアデータを送受信するような場合がある。特に、
ホームページサービスを提供するシステム、携帯電話に
おけるコンテンツ提供サービスシステムにおいてマルチ
メディアデータが送受信される。
【0005】しかし、通常のパーソナルコンピュータ
(以下、「PC」という)に加え、携帯電話や携帯PC
などのようにクライアント種別は多種にわたり、画面の
大きさ、スピーカの有無、処理能力など、クライアント
の機能によってはこれらのデータを表示/再生できない
場合がある。
【0006】このような場合に対応して考え出された技
術に、データ変換装置(特開平11−134264号公
報)や、情報交換装置を有する分散ネットワークコンピ
ューティングシステム(特開平11−296455号公
報)がある。これらの技術では、接続されたクライアン
トのクライアント種別を判別し、クライアントの機能に
応じて、画像/音声データをクライアントが表示/出力
可能な形式へと変換したり、画像や音声が出力できない
クライアントに対して代わりにテキストデータを送信し
たり、逆に、携帯電話のように音声データを扱えるクラ
イアントに対してテキストデータを音声データに変換し
てサーバからクライアントに送信したりすることが可能
である。
【0007】また、クライアントとサーバ間の通信イン
フラも多岐にわたる。有線LANで結合されている場合
もあるが、電話公衆網、携帯電話では無線LAN経由で
クライアントとサーバ間でのデータの送受信が行われる
場合もある。
【0008】一般的に、電話公衆網や無線LANは、有
線LANと比較して伝送能力が低い。伝送能力が低い通
信インフラを経由してデータを送受信する場合、伝送能
力の高い送受信を想定したデータがクライアントに供給
されると多大な遅れが生じ、ユーザが十分なサービスを
受けられない場合がある。
【0009】このような場合に対応して考えられた技術
に、上記の情報交換装置を有する分散ネットワークコン
ピューティングシステム(特開平11−296455号
公報)がある。この技術では、通信インフラに応じて、
送受信するデータを一部削減/圧縮し、伝送能力が低い
通信インフラを通じてサーバがクライアントに快適なサ
ービスを提供する手段を提示している。
【0010】
【発明が解決しようとする課題】上記各技術は、サーバ
から送信されるデータをクライアントの機能/性能、通
信インフラの性能に応じて変換し、提供する技術であ
る。この技術によって、情報量は減少する場合がある
が、通常は表示不可能なデータの内容をクライアントに
提供可能であり、快適にサービスを提供できるようにな
る。
【0011】しかしながら、PC/携帯電話/PDAな
どのようにクライアントハードウェアではなく、クライ
アントアプリケーションに注目すると、伝票金額/商品
在庫などのデータをサーバと送受信するためのビジネス
アプリケーション、PC上で動作するブラウザ、携帯電
話/PDAに搭載されているインターネット接続ソフト
などのように、クライアントアプリケーションも多岐に
わたる。
【0012】これらクライアントアプリケーションで
は、種別が異なると扱うデータの形式も異なるのが現状
である。したがって、クライアントアプリケーションが
同一内容のサーバサービスを受ける場合でも、それぞれ
のクライアントアプリケーションに対応したサーバアプ
リケーションを用意しなくてはならない。
【0013】例えば、販売管理アプリケーションでは、
オフィス内などに設置されているPCからサーバにアク
セスし商品の在庫や原価を確認することもあれば、客先
で携帯電話から商品在庫を確認する場合もある。また、
同じオフィスのPCでも、ビジネスアプリケーションか
ら商品の情報にアクセスする場合もあれば、アプリケー
ションをインストールする手間がいらない等の理由から
ブラウザを使って商品の情報を見たいという要望もあ
る。
【0014】このように、同一のサービス内容を提供す
る場合でも、クライアントアプリケーションの種類に応
じ、それぞれに対応したサーバアプリケーションを実装
することは、生産性の観点から効率的ではない。
【0015】また、サービスの内容に変更が生じた場
合、それぞれのクライアント種別に対応するサーバアプ
リケーションの全てを変更しなければならず、保守・運
用の観点からも効率的ではない。
【0016】さらに、人事・会計システム等のビジネス
アプリケーションのようにデータ解釈/データ保持が可
能で特定のGUI(グラフィカル・ユーザ・インタフェ
ース)等のインタフェースを持つクライアントアプリケ
ーションもあれば、ブラウザに代表されるように基本的
にサーバから送られてきた情報をそのまま表示するだけ
の機能しか持たないクライアントアプリケーションも存
在する。同じ人事情報を提供するサービスでも、データ
処理機能/GUIを有するクライアントにはデータのみ
を送ればよいのに対し、ブラウザのようなタイプのクラ
イアントには画面構成やユーザインタフェースを含んだ
データを送り返す必要がある。
【0017】このように、サービスの内容は同一である
が、各クライアントアプリケーションのデータ処理機能
やユーザインタフェース機能などに応じて、提供するサ
ービスに画面構成やユーザインタフェース情報の付加が
必要な場合もある。
【0018】画面についての情報の有無に応じ、サーバ
アプリケーションを複数実装することも可能であるが、
提供する情報が同一内容のサービスに対して複数のサー
バアプリケーションを実装することは、生産性の効率を
低下させる要因となる。また、サービスの内容に変更が
生じた場合、それぞれのクライアントに対応するサーバ
アプリケーションの全てを変更しなければならず、保守
・運用の効率が低下する。
【0019】本発明は、以上のような実情に鑑みてなさ
れたもので、サーバにアクセスするクライアントアプリ
ケーションで扱われているデータ形式が異なる場合で
も、またクライアントのデータ処理機能やユーザインタ
フェース機能の有無に関わらず、同一内容のサービスを
提供するサーバアプリケーションを一つにまとめること
を可能にするプログラムを記録したコンピュータ読み取
り可能な記録媒体、及び計算機システムを提供すること
を目的とする。
【0020】
【課題を解決するための手段】本発明を実現するにあた
って講じた具体的手段について以下に説明する。
【0021】第1の発明は、コンピュータに、クライア
ントの種別に応じた形式でこのクライアントから受信し
た受信データに含まれているクライアント種別情報に基
づいて、クライアント種別を判別するクライアント種別
判別機能と、クライアント種別判別機能によって判別さ
れたクライアント種別に応じた形式の受信データの内容
を予め定められているデータ構造にしたがって記憶する
データ変換機能とを実現させるためのプログラムを記録
したコンピュータ読み取り可能な記録媒体である。
【0022】なお、この第1の発明におけるクライアン
ト種別判別機能とデータ変換機能はミドルウェアとして
提供してもよい。
【0023】また、クライアントは、ハードウェアでも
よく、アプリケーションなどのソフトウェアでもよい。
【0024】この第1の発明においては、クライアント
からの受信データが所定のデータ構造(共通データ構
造)に変換されて記憶されるため、サーバアプリケーシ
ョンは種別の異なるクライアントからデータを受信する
場合であってもこの共通データ構造のデータをアクセス
すればよい。
【0025】したがって、多種多様なクライアント種別
毎に、同一内容のサービスを提供するサーバアプリケー
ションを備えるのではなく、同一内容のサービスに一つ
のサーバアプリケーションで対応することができる。こ
れにより、アプリケーションの開発・保守・運用の効率
を向上させることができる。
【0026】第2の発明は、第1の発明と同様のプログ
ラムを記録したコンピュータ読み取り可能な記録媒体で
あるが、新規のクライアント種別を判別するための機能
をクライアント種別判別機能に追加する種別判別追加機
能と、新規のクライアント種別に応じた形式の受信デー
タの内容を共通データ構造にしたがって記憶するデータ
変換機能を追加するデータ変換追加機能とをコンピュー
タに実現させるためのプログラムを記録している。
【0027】なお、この第2の発明における種別判別追
加機能とデータ変換追加機能をミドルウェアの要素とし
てもよい。
【0028】これにより、サーバが新規のクライアント
種別に応じた形式のデータを受信することになる場合で
あっても、サーバアプリケーションを修正する必要がな
い。
【0029】したがって、既存のシステムを多種多様な
クライアントに対応させることができ、アプリケーショ
ンの開発・保守・運用の効率を向上させることができ
る。
【0030】第3の発明は、第1の発明と同様のプログ
ラムを記録したコンピュータ読み取り可能な記録媒体で
あるが、データ変換機能は、クライアント種別判別機能
によって判別されたクライアント種別に基づいて、共通
データ構造にしたがって記憶されているデータをクライ
アント種別に応じた形式に変換してクライアントへの送
信データとする。
【0031】これにより、サーバから多種多様のクライ
アントに対して適切な形式のデータを送信することがで
きる。すなわち、多種多様なクライアント種別につい
て、同一内容のサービスを一つのサーバアプリケーショ
ンで対応することができ、アプリケーションの開発・保
守・運用の効率を向上させることができる。
【0032】第4の発明は、第3の発明と同様のプログ
ラムを記録したコンピュータ読み取り可能な記録媒体で
あるが、新規のクライアント種別を判別するための機能
をクライアント種別判別機能に追加する種別判別追加機
能と、新規のクライアント種別に応じた形式の受信デー
タの内容を共通データ構造にしたがって記憶し、共通デ
ータ構造にしたがって記憶されているデータを新規のク
ライアント種別に応じた形式に変換してクライアントへ
の送信データとするデータ変換機能を追加するデータ変
換追加機能とをコンピュータに実現させるためのプログ
ラムを記録している。
【0033】これにより、サーバが新規のクライアント
種別に応じた形式のデータを受信あるいは送信すること
になる場合であっても、サーバアプリケーションを修正
する必要がない。
【0034】したがって、既存のシステムを多種多様な
クライアントに対応させることができ、アプリケーショ
ンの開発・保守。運用の効率を向上させることができ
る。
【0035】第5の発明は、第3又は第4の発明と同様
のプログラムを記録したコンピュータ読み取り可能な記
録媒体であるが、クライアント種別判別機能によって判
別されたクライアント種別が画面を表示するための情報
を必要とする場合に、このクライアント種別に応じた画
面構成情報と共通データ構造にしたがって記憶されてい
るデータとに基づいて画面表示データを作成し、この画
面表示データをクライアントへの送信データとする画面
表示データ作成機能をコンピュータに実現させるための
プログラムを記憶している。
【0036】なお、この第5の発明における画面表示デ
ータ作成機能をミドルウェアの要素としてもよい。
【0037】したがって、クライアントが画面を表示す
るためのデータを必要とするか否か、あるいはクライア
ントが画面を表示するために必要とするデータの種別に
関係なく、同一内容のサービスを提供するために複数の
サーバアプリケーションを用意する必要がなく、一つの
サーバアプリケーションによって対応することができ
る。これにより、アプリケーションの開発・保守・運用
の効率を向上させることができる。
【0038】第6の発明は、第5の発明と同様のプログ
ラムを記録したコンピュータ読み取り可能な記録媒体で
あるが、新規のクライアント種別に応じた画面構成情報
を追加する画面構成情報追加機能をコンピュータに実現
させるためのプログラムを記録している。
【0039】なお、この第2の発明における画面構成情
報追加機能をミドルウェアの要素としてもよい。
【0040】これにより、サーバが新規のクライアント
種別に対してデータを送信する場合であっても、サーバ
アプリケーションを修正する必要がない。
【0041】したがって、既存のシステムを多種多様な
クライアントに対応させることができ、アプリケーショ
ンの開発・保守・運用の効率を向上させることができ
る。
【0042】第7の発明は、第1から第6までの発明と
同様のプログラムを記録したコンピュータ読み取り可能
な記録媒体であるが、クライアントから送信されるデー
タに、クライアント種別情報を付加するクライアント種
別付加機能をコンピュータに実現させるためのプログラ
ムを記録している。
【0043】これにより、例えば、サーバに送信される
データにクライアント種別を自動的に付加しないクライ
アントであっても、上記第1から第6までの発明と同様
の作用効果を実現できる。
【0044】第8の発明は、クライアントとサーバとの
間でデータを送受信する計算機システムに関する。この
第8の発明は、クライアントの種別に応じた形式でクラ
イアントから受信した受信データに含まれているクライ
アント種別情報に基づいてクライアント種別を判別する
クライアント種別判別手段と、クライアント種別判別手
段によって判別されたクライアント種別に応じた形式の
受信データの内容を共通データ構造にしたがって記憶す
るデータ変換手段と、共通データ構造にしたがって記憶
されているデータをアクセスしつつ、処理を実行するサ
ーバアプリケーションとを具備した計算機システムであ
る。
【0045】第9の発明は、第8の発明と同様の計算機
システムであるが、新規のクライアント種別を判別する
ための機能をクライアント種別判別手段に追加する種別
判別追加手段と、新規のクライアント種別に応じた形式
の受信データの内容を共通データ構造にしたがって記憶
するデータ変換手段を追加するデータ変換追加手段とを
付加している。
【0046】第10の発明は、第8の発明と同様の計算
機システムであるが、データ変換手段は、クライアント
種別判別手段によって判別されたクライアント種別に基
づいて、共通データ構造にしたがって記憶されているデ
ータをクライアント種別に応じた形式に変換してクライ
アントへの送信データとする。
【0047】上記第8から第10までの発明は、上記第
1から第3までの発明で説明したプログラムを記録した
コンピュータ読み取り可能な記録媒体で実現される機能
を備えた計算機システムである。
【0048】このような計算機システムを利用すること
によって、上述したプログラムを記録したコンピュータ
読み取り可能な記録媒体がコンピュータに読み込まれ、
プログラムが動作する場合と同様の作用効果を実現でき
る。
【0049】
【発明の実施の形態】本発明は、サーバアプリケーショ
ンが利用するデータを共通データ構造とそれにアクセス
するための共通API(Application Programming Inte
rface)として提供する。この共通データ構造に各クラ
イアントからのデータを格納するために、クライアント
判別部と各クライアント種別に対応するデータ変換部と
を用いる。
【0050】クライアントからサーバへのデータの流れ
では、クライアントからのリクエストをサーバ送受信部
が受け、クライアント判別部がクライアント種別を判別
し、このクライアント種別に対応した変換モジュールで
あるデータ変換部が起動される。データ変換部は、クラ
イアント種別毎に用意され、クライアント種別特有のデ
ータ構造から共通データ構造へとデータ変換を行う。
【0051】これにより、サーバアプリケーションは、
共通データ構造のみをクライアントと送受信するデータ
として扱うことになり、クライアントのデータ形式によ
らずにサーバアプリケーションを一つにまとめることが
可能となる。
【0052】また、本発明では、データ処理機能やイン
タフェース機能を持たないクライアントに対してサーバ
アプリケーションからサービスを提供する場合に、画面
表示データ作成部によって作成された画面表示データを
提供する。すなわち、サーバからクライアントへのデー
タの流れでは、サーバアプリケーションから共通データ
構造を介してデータ変換部にデータを渡し、データ変換
部が共通データ構造からクライアント種別に応じたデー
タ形式にデータを変換してクライアントアプリケーショ
ンに送信する。クライアントからサーバにデータが受信
された時点で、クライアント判別部においてクライアン
ト種別が判別されているため、このクライアント種別に
したがって自動的に対応するデータ変換部が起動され
る。
【0053】また、画面を表示するための情報が必要な
クライアント種別の場合には、データ変換部が画面表示
データ作成部を起動し、画面表示データ作成部が画面構
成情報を参照し、データに加えて画面構成やユーザイン
タフェース情報を含む画面表示データをサーバからクラ
イアントに送信するデータとする。
【0054】このため、クライアントのデータ処理機能
やユーザインタフェース機能の有無に関わらず、サーバ
アプリケーションを一つにまとめることが可能となる。
【0055】(第1の実施の形態)本実施の形態におい
ては、ある高級プログラミング言語A(以下、「言語
A」という)でプログラミングされ、データ処理機能や
特定のGUIを持つクライアントからサーバにデータが
送信される場合について説明する。
【0056】図1は、本実施の形態に係る計算機システ
ムの概略構成を例示するブロック図である。
【0057】計算機システム1は、主にクライアント
2、サーバ3、クライアント2とサーバ3を接続するネ
ットワーク4から構成されている。
【0058】クライアント2は、例えば一般会計システ
ムや販売管理システムなどのような特定の用途向けに言
語Aで作成されたクライアントアプリケーション5と、
クライアントデータをネットワーク4上に載せる電文形
式に変換し、サーバとの間でデータを送受信するクライ
アント送受信部6(言語A用)とを備えている。
【0059】サーバ3は、クライアント2とのデータの
送受信を担当するサーバ送受信部7、クライアント種別
を判別するクライアント種別判別部8、クライアント種
別に応じたデータ形式からサーバアプリケーション共通
のデータ構造に変換するデータ変換部9、クライアント
から受信したデータを格納し、またサーバから送信する
データを格納する共通データ構造10とそれにアクセス
するための共通API11、そしてサービス毎に作成さ
れたサーバアプリケーションを備えている。なお、サー
バアプリケーションの一例としてサーバアプリケーショ
ン13があり、データベース12をアクセスする。
【0060】ネットワーク4は、有線/無線さまざまな
ネットワークが考えられる。クライアントとサーバとの
間で通信が可能となるあらゆるネットワークを利用でき
る。
【0061】上記のような構成を持つ計算機システム1
において、クライアント2がサーバ3のサービスを受け
る場合の流れを説明する。
【0062】ここでは、ユーザが、クライアントアプリ
ケーション5を通じて、サーバ3のあるサービスを受け
る場合を想定する。
【0063】ユーザは、クライアントアプリケーション
5のGUI等を操作して、サーバ3にサービスを要求す
る。例えば、販売管理システムでは、このサービス要求
は、商品の在庫情報の要求の場合がある。これらの要求
と要求に必要な情報がクライアント送受信部6に渡され
る(a1)。
【0064】クライアント送受信部6は、クライアント
アプリケーション5のデータをネットワーク4のプロト
コルに従ってデータ変換し、クライアント種別情報を付
加した後、サーバ3へ向けて送信する(a2)。商品の
在庫情報を要求する場合であれば、在庫数確認の要求と
在庫を確認する商品名が送られることになる。
【0065】サーバ3では、クライアント2からの要求
(受信データ)をサーバ送受信部7で受け(a3)、受
信処理を行う。受信されたデータは、クライアント種別
判別部8に渡され(a4)、クライアント種別判別部8
においてクライアント2で付加されたクライアント種別
情報6を参照し、クライアント種別を判別する。クライ
アント種別を判別したら、クライアント種別判別部8は
データ変換部9における言語Aによるクライアントに対
応したデータ変換部9を起動し、受信したデータを渡す
(a5)。
【0066】データ変換部9は、受信データを共通デー
タ構造10へと変換・格納し(a6)、サーバアプリケ
ーション13へと処理を移す(a7)。
【0067】サーバアプリケーション13は、共通デー
タ構造10に共通API11を通じてアクセスし(a
8)、共通データ構造10に格納されたデータを使用し
て指定されたサービスに対応した処理を行う。先の例と
同じく、商品の在庫情報が要求された場合には、サーバ
アプリケーション13は、共通データ構造10から共通
API11を通じて商品名を獲得し、その商品名をキー
にデータベース12を検索し、該当商品の在庫数を獲得
する(a9)。
【0068】そして、サーバアプリケーション13は、
クライアント2に送信するために、商品の在庫数を共通
API11を通じて共通データ構造10へと格納する。
このように、サーバアプリケーション13は、各サービ
スに対応した処理を行い、クライアント2へ送信するデ
ータを、共通API11を通じて共通データ構造10に
格納し(a10)、データ変換部9へと処理を移行する
(a11)。
【0069】データ変換部9は、共通データ構造10の
データをアクセスし(a12)、このデータをネットワ
ーク4のプロトコルとクライアント2の形式にしたがっ
て送信するデータに変換する。変換したデータはサーバ
送受信部7に渡され(a13)、サーバ送受信部7がク
ライアント2に向けてデータを送信する(a14)。
【0070】再びクライアント2では、クライアント送
受信部6がサーバ3から送られてきた電文を受信し(a
15)、電文データをクライアントアプリケーション5
内で扱えるデータ形式に変換し、クライアントアプリケ
ーション5に渡す(a16)。
【0071】クライアントアプリケーション5は、渡さ
れたデータの処理を行い、画面に表示する。例えば、商
品の在庫情報を得た場合には、サーバ送受信部7が電文
を解読し、商品の在庫数をクライアントアプリケーショ
ン5が扱えるデータへと変換する。クライアントアプリ
ケーション5は、所定のGUIの位置に、その商品の在
庫数を表示することになる。
【0072】このようにして、ユーザは、サーバ3のサ
ービスを利用する。
【0073】上記のような計算機システム1の各構成要
素で実行される処理を詳細に説明する。
【0074】図2は、クライアントアプリケーション5
の処理の流れを例示する図である。ただし、クライアン
ト2のクライアントアプリケーション5は、用途に応じ
て自由に開発可能であり、必ずしも全てのクライアント
アプリケーションがこの処理の流れにしたがう必要はな
い。
【0075】ユーザインタフェースステップ51では、
主に、ユーザからのアクション待ち、ユーザへの情報表
示の処理を行う。ユーザからのアクションを待っている
場合は、ループが回っている(5a)。ユーザからアク
ションがあった場合、その内容を処理するために、次の
イベントハンドラステップ52に処理を移す(5b)。
また、イベントハンドラステップ52から情報が上がっ
てきた場合(5c)、ユーザインタフェースステップ5
1はユーザに情報を表示する。例えば、ユーザが商品名
を入力している間はループが回っており(5a)、商品
名を入力し終わり在庫数検索キーを押下した場合、イベ
ントハンドラステップ15へ処理が移り(5b)、サー
バ3から在庫数が返ってくる(5c)。
【0076】イベントハンドラステップ52では、ユー
ザからのアクションに対応した処理を行う。処理の中
で、サーバ3へのアクセスが必要ならばクライアント送
受信部6に処理を移す(5d)。サーバ3へのアクセス
が必要ない場合はこのステップ52内で処理を行ってユ
ーザインタフェースステップ51に処理を移す(5
c)。サーバ3から応答が返ってきた場合は(5e)、
処理を行った後にユーザインタフェースステップ51に
処理を移す(5c)。例えば、商品在庫数を問い合わせ
る要求に対する処理は、サーバ3へのアクセスが必要な
ためクライアント送受信部6に処理を移し(5d)、サ
ーバ3からの応答を受け(5e)、ユーザインタフェー
スステップ51に処理結果を返すことになる(5c)。
各商品の注文数と原価から合計値を求めるような処理
は、サーバ3へのアクセスが必要ないため、ユーザイン
タフェースステップ51から処理が移った後に(5
b)、イベントハンドラステップ52内で処理を行って
ユーザインタフェースステップ51に処理を返す(5
c)。
【0077】図3は、クライアント送受信部6の処理の
流れを例示する図である。上述したようにクライアント
送受信部6は、サーバ3との間でデータを送受信し、ク
ライアント2のデータと電文データのデータ変換を担当
する。このクライアント送受信部6(言語A用)は、プ
ログラミング言語Aによるクライアント2に対し共通で
使用できる。
【0078】送信データ作成ステップ61では、クライ
アントアプリケーション5からデータを受け取り(6
a)、そのデータを言語A内のデータ形式からネットワ
ーク電文に合わせてデータ変換を行う。例えば、クライ
アントアプリケーション5のデータ形式が表形式のデー
タであるならば、図4(a)の左から右への変換が行わ
れる。キーと値の組み合せ(key=valueのような組み合
せ:以下Hash型とする)のデータの場合は、図4(b)
の左から右への変換が行われる。
【0079】データ変換後、送信データはエンコードス
テップ62に送られる(6b)。
【0080】エンコードステップ62では、送信データ
の暗号化を行う。クライアント2の処理能力などの理由
から送信データを暗号化しない場合など、このステップ
を省略する場合もある。暗号化されたデータは送信ステ
ップ63に送られる(6c)。
【0081】送信ステップ63では、クライアント種別
情報などのようなクライアント情報やセッションIDな
どのヘッダ情報を送信データに付加する。その後、サー
バ3へデータを送信する(6d)。
【0082】受信ステップ64では、サーバ3からのデ
ータを受信する(6e)。受信したデータは、デコード
ステップ65に渡される(6f)。
【0083】デコードステップ65では、受信データを
復号する。クライアント2の処理能力などの理由により
受信データが暗号化されていないような場合、このステ
ップは省略される。復号化されたデータは、受信データ
変換ステップ66に送られる(6g)。
【0084】受信データ変換ステップ66では、デコー
ドステップ65から受け取った受信データを、言語A内
のデータ形式にデータ変換を行う。例えば、受信データ
が表形式のデータならば、図4(a)の右から左への変
換が行われる。key=valueのようなHash形式のデータの
場合は、図4(b)の右から左への変換が行われる。デ
ータ変換後、受信データはクライアントアプリケーショ
ン5に送られる(6h)。また、同時にヘッダ情報とし
て送られてきたサーバ情報やセッションIDなどを確保
しておく。
【0085】図5は、サーバ送受信部7の処理の流れを
例示する図である。上述したようにサーバ送受信部7
は、クライアント2との間でデータを送受信する。
【0086】受信ステップ71では、クライアント2か
ら送られてきたデータを受信し(7a)、クライアント
種別判別部8に受信データを送る(7b)。
【0087】送信ステップ72では、クライアント2に
送信するデータがデータ変換部9から送られてくると
(7c)、このデータをクライアント2に送信する(7
d)。
【0088】図6は、クライアント種別判別部8の処理
の流れを例示する図である。上述したように、クライア
ント種別判別部8はクライアント種別を判別する。
【0089】種別判別ステップ81では、サーバ送受信
部7から受信データが送られると(8a)、ヘッダ部の
データやクライアント送受信部6で付加されたクライア
ント種別情報を見てクライアント種別を判別する。例え
ば、クライアント/サーバ間の通信プロトコルがHTTPの
場合、ヘッダ部に付加されるUSER-AGENTタグの情報を見
てクライアント種別を判別する。クライアント2がブラ
ウザや携帯端末の場合もUSER-AGENTタグを見れば容易に
クライアント種別を判別することが可能である。プログ
ラミング言語などによりユーザが開発可能なクライアン
トの場合、USER-AGENTタグに情報が入っていない場合が
ある。このような場合は、クライアント送受信部6で付
加したクライアント種別情報を見てクライアント種別を
判別する。種別を判別したら変換部起動ステップ82に
進む(8b)。
【0090】変換部起動ステップ82では、種別判別ス
テップ81で判別したクライアント種別に対応するデー
タ変換部を起動し、受信データをこのデータ変換部に渡
す(8c)。ここでは、データ変換部9が起動されたと
する。
【0091】図7は、データ変換部9の処理の流れを例
示する図である。上述したようにデータ変換部9は共通
データ構造10と送受信データとの間でデータ変換を行
う。一般的にデータ変換部はクライアント種別毎に用意
する必要がある。
【0092】データ種類判別ステップ91では、クライ
アント種別判別部8から送られてきた受信データを受け
(9a)、そのデータの形式を判別する。例えば、表形
式のデータなのかHash形式のデータなのかなどを判別す
る。その後、データ格納ステップ92に移行する(9
b)。
【0093】データ格納ステップ92では、データ種類
判別ステップ91から渡された受信データを共通データ
構造10へと変換・格納する。すなわち、データ格納ス
テップ92はデータ種類判別ステップ91で判別したデ
ータ種類に対応したデータを共通データ構造10に格納
する(9c)。例えば、表形式データの場合、図8
(a)の右から左の変換が行われる。またHash形式の場
合、図8(b)の右から左への変換が行われることにな
る。データ変換は、データが存在する限り継続される
(9d)。全てのデータを共通データ構造10に格納し
たら、サーバアプリケーション13へ処理を移す(9
e)。
【0094】一方、データ種類判別ステップ93では、
サーバアプリケーション13がクライアント2に送りた
い送信データのデータ形式を判別する。サーバアプリケ
ーション13からデータ種類判別ステップ93に処理が
移ると(9f)、共通データ構造10からデータを取得
し(9g)、データ形式を判別する。判別を終えたら、
取得したデータとともに送信データ作成ステップ94に
処理を移す(9h)。
【0095】送信データ作成ステップ94では、データ
種類判別ステップ93から送られてきたデータを送信デ
ータに変換し、データ種類判別ステップ93で判別した
データ種類に対応した送信データを作成する。例えば、
表形式データの場合、図8(a)の左から右の変換が行
われる。またHash形式のデータの場合、図8(b)の左
から右への変換が行われることになる。データ変換はデ
ータが存在する限り継続される(9i)。全てのデータ
を変換し、送信データが完成したら、サーバ送受信部7
へ処理を移す(9j)。
【0096】この例では、データ形式に表形式のデータ
やHash形式のデータなどテキスト中心のデータを送受信
する場合を述べているが、画像・音声等マルチメディア
データを扱うことも可能である。
【0097】次に、共通データ構造10と共通API1
1について説明する。共通データ構造10とはクライア
ント/サーバ間で送受信するデータを表現可能な汎用的
なデータ構造であり、共通API11はこの共通データ
構造10にアクセスするための汎用的なアクセス手段で
ある。
【0098】例えば、データを格納する場合、表形式な
ら「SetValue(列指定,行指定,格納するデータ)」などの
ような命令が利用される。図9の例では、「SetValue
(“NAME”,1,”味噌”)」あるいは「SetValue(2,1,”味
噌”)」となる。データを取得したい場合は、「GetValu
e(列指定,行指定)」などのような命令が利用され、図9
の例では、「GetValue(“NAME”,1)」あるいは「GetVal
ue(2,1)」で取得する。
【0099】Hash形式のデータを格納する場合は、例え
ば「SetValue(key指定,格納するデータ)」などのような
命令が利用される。図9の例では、「SetValue(“名
前”,”山田太郎”)」となる。データを取得する場合
は、「GetValue(key列指定)」となり、図9の例では、
「GetValue(“名前”)」で取得する。
【0100】この例では、共通データ構造10で扱って
いるデータはテキストであるが、テキストに限定される
ものではなく、画像、音声等のマルチメディアデータで
あってもよい。
【0101】図10は、サーバアプリケーション13の
処理の流れを例示する図である。ただし、このサーバア
プリケーション13は、サービスに応じ自由に開発され
る部分であり、全てのサーバアプリケーションがこの処
理の流れにしたがう必要はない。このサーバアプリケー
ション13は、クライアント種別が異なっていても共同
利用される。
【0102】データ取得ステップ131では、データ変
換部9から処理が移されると(13a)、サービスに必
要なデータを共通API11を通じて共通データ構造1
0から取得し(13b)、サービス処理ステップ132
に処理を移す(13c)。
【0103】サービス処理ステップ132では、サービ
スに必要な処理を行う。場合によっては、データベース
12へのアクセスが必要な場合もある(13d)。必要
な処理を行ったら、クライアント2に送信するデータを
格納するため、データ格納ステップ133に処理を移す
(13e)。
【0104】データ格納ステップ133では、クライア
ント2に送信したいデータを、共通API11を通じて
共通データ構造10に格納する(13f)。その後、デ
ータ変換部9に処理を移す(13g)。
【0105】例えば、商品の在庫数を取得するサービス
の場合、データ取得ステップ131で共通データ構造1
0から商品名を取得し(13b)、サービス処理ステッ
プ132でデータベース12より該当する商品の在庫数
を取得する(13d)。そして、データ格納ステップ1
33で共通データ構造10に商品の在庫数を格納する
(13f)。
【0106】以上のような本実施の形態に係る計算機シ
ステム1においては、多種多様のクライアントからサー
バに対してサービスが要求される場合であっても、同一
内容のサービスを提供するためのサーバアプリケーショ
ンは一つでよい。すなわち、クライアントアプリケーシ
ョンで扱われているデータ形式が異なる場合でも、サー
ビスを提供するサーバアプリケーションを一つにまとめ
ることができる。
【0107】したがって、サーバアプリケーションの開
発効率を向上させることができる。また、このサービス
の内容を変更する場合であっても、このサービスを提供
するサーバアプリケーションは一つであるため変更作業
が容易であり、サーバアプリケーションの保守・運用効
率も向上させることができる。
【0108】なお、本実施の形態においては、クライア
ント送受信部6の送信ステップ63においてデータにク
ライアント種別情報が付加されているが、クライアント
種別情報はクライアント2のどの段階で付加されてもよ
い。例えば、クライアント送受信部6の送信データ作成
ステップ61でデータにクライアント種別情報が付加さ
れてもよい。また、クライアントアプリケーション5が
データにクライアント種別情報を付加してもよい (第2の実施の形態)本実施の形態においては、ブラウ
ザからサーバにデータが送信される場合について説明す
る。すなわち、ここでは、ブラウザのようにそれ自体に
アプリケーション特定のデータ処理機能やGUIを持っ
ていないいわゆるHTMLクライアントからサーバへ接続す
る場合を例に説明する。
【0109】図11は、本実施の形態に係る計算機シス
テムの概略構成を例示するブロック図であり、上記第1
の実施の形態における図1の計算機システム1と同一の
部分については同一の符号を付してその説明を省略する
かあるいは簡単に説明し、ここでは異なる部分について
のみ詳しく説明する。
【0110】本実施の形態に係る計算機システム14
は、上記第1の実施の形態に係る計算機システム1と比
較して以下のような点で異なる。
【0111】(a)画面構成情報15をアクセスする画
面表示データ作成部16がサーバ17に追加されてい
る。
【0112】(b)クライアント18がブラウザ19で
あり、クライアント18の処理の流れが異なる。
【0113】(c)サーバ17のデータ変換部20が異
なる(ブラウザ用のデータ変換部が起動される)。
【0114】上記第1の実施の形態ではクライアント2
がクライアントアプリケーション5とクライアント送受
信部6とから構成されているが、本実施の形態において
はクライアント18がブラウザ19である。
【0115】したがって、クライアント2とクライアン
ト18とではクライアント種別が異なっているが、上記
(a),(c)によりクライアント種別の違いを吸収す
ることができ、サーバアプリケーション13を変更する
必要がない。
【0116】上記のような構成を持つ計算機システム1
4において、ユーザがブラウザ19を通じてサーバ17
のサービスを受ける場合の処理の流れを説明する。
【0117】ユーザは、ブラウザ19に表示されたGU
Iを操作して必要なデータをサーバ17に送信し(b
1)、サーバ17から提供されるサービスを受ける。例
えば、上記第1の実施の形態の場合と同様に、ある商品
の在庫数をサーバ17に問い合わせる場合などが考えら
れる。HTMLのFORM文の場合、ブラウザ19に表示された
エリアに商品名を入力し、submitボタンを押すことによ
り、GET or POSTメソッドでサーバ17に商品名が送ら
れる。
【0118】サーバ17では、サーバ送受信部7がデー
タを受け(b2),受信データをクライアント種別判別
部8に送る(b3)。クライアント種別判別部8は、ク
ライアント18のクライアント種別がブラウザであるこ
とを判別し、ブラウザ用のデータ変換部20を起動する
(b4)。データ変換部20は、ブラウザ19からGET
メソッドやPOSTメソッドで送られてきたデータを共通デ
ータ構造10に格納し(b5)、処理をサーバアプリケ
ーション13に移す(b6)。サーバアプリケーション
13では、共通API11を通じて共通データ構造10
からデータを取得し(b7)、取得したデータに基づく
サービスに応じた処理を行う。必要があればデータベー
ス12へアクセスする(b8)。そして、サーバアプリ
ケーション13は、サービス終了後にクライアント18
に送信するデータを共通API11を通じて共通データ
構造10へ格納し(b9)、データ変換部20へ処理を
移す(b10)。
【0119】データ変換部20は、クライアント18が
ブラウザ19であるため、そのまま画面表示データ作成
部16へ処理を移す(b11)。画面表示データ作成部
16は、クライアント毎に用意されている画面構成情報
15を参照しながら(b12)、共通データ構造10か
らデータを取得し(b13)、この取得したデータに基
づいてブラウザ19へ送信する画面表示データ(GUI
データ)を作成する。そして、画面表示データ作成部1
6は、作成した画面表示データをサーバ送受信部7に送
り(b14)、サーバ送受信部7がこの画面表示データ
をブラウザ18へと送信する(b15)。
【0120】サーバ17からのデータをブラウザ19が
受信すると(b16)、ブラウザ19はそのデータをそ
のまま表示し、ユーザはブラウザ19に表示されたGU
Iを通じてサーバ17のサービスを受ける。
【0121】このようにして、ブラウザ19を通じてユ
ーザはサービスを受けるが、サービスを提供するサーバ
アプリケーション13のインタフェースは、上記第1の
実施の形態におけるクライアント2の場合と同一であ
り、サーバアプリケーション13を用いてクライアント
種別の異なるクライアントにサービスを提供することが
可能となる。
【0122】上記のような計算機システム14の構成要
素で実行される処理を以下に詳細に説明する。
【0123】図12は、ブラウザ19の処理の流れを例
示する図である。ただし、この処理の流れは、代表的な
ブラウザの処理の流れを示したものであり、ブラウザの
種類によっては処理が異なる場合もある。
【0124】ユーザインタフェースステップ191で
は、ユーザからのアクションを受け付ける。アクション
待ちのときはループしている(19a)。ユーザからア
クションが来た場合は、送受信ステップ192へ処理を
移す(19b)。また、ユーザインタフェースステップ
191は、サーバ17からのデータがGUIとともに送
受信ステップ192を経由して帰ってきた場合(19
c)、そのデータを解釈してユーザに情報を表示する。
基本的に、サーバ17から送られてくる画面表示データ
は、HTMLなどで記述され、GUIとデータとを含む形で
送られてくる。ブラウザ19自体がデータを解釈し、そ
れを表示するためのGUIを用意することはない。
【0125】送受信ステップ192は、データをネット
ワーク4のプロトコルにしたがった形にエンコードし、
サーバ17へ送信する(19d)。また、サーバ17か
らデータを受信し(19e)、ユーザインタフェースス
テップ191に送る(19c)。
【0126】HTMLのFormでデータを送る場合、GETとPOS
Tの2つのメソッドが存在するが、いずれも「key=valu
e」の形でデータが送られる。このため、サーバ17
は、通常、共通データ構造10にデータを格納する場
合、Hash形式で格納する。HTMLのFormで表形式のデータ
を送りたい場合は、「key=value」のkeyの部分にある規
則をもたせてネーミングすることによって、サーバ17
の共通データ構造10に表形式データとして格納すると
いう方法がある。例えば図13に示すように、inputタ
グのname部分を、「DATE.0001」「NAME.0002」などとす
ることにより、サーバ17でDATE列の1行目のデータ、
NAME列の2行目のデータと扱うことができるようになっ
ている。
【0127】サーバ17に処理が移った場合のサーバ送
受信部7とクライアント種別判別部8の処理は、上記第
1の実施の形態の場合と同様である。クライアント種別
判別部8が、クライアント種別をブラウザと判定し、ブ
ラウザ用のデータ変換部20を起動する。
【0128】図14は、ブラウザ用のデータ変換部20
の処理の流れを例示する図である。
【0129】データ種類判別ステップ201では、クラ
イアント種別判別部8からの受信データを受け(20
a)、データ形式を判定する。ブラウザ19から送られ
てくるデータは、「key=value」のHash形式のデータで
ある。例えば、GETなどの場合URLの後部分が「?key=val
ue1&key2=value2・・・」などのようになっている。このた
め、通常、ブラウザ19から送られてくるデータはHash
形式と判別される。しかし、図13に示すように、key
にあたる部分を特定の規則にしたがった方法でネーミン
グすることにより、表形式のデータとして扱うことも可
能である。この例では、「CTX-TYPE=TABLE」というデー
タ種別判別のためのデータを入れ込んでいるためデータ
形式を表形式と判定できる。データ形式を判定した後、
データ格納ステップ202に移行する(20b)。
【0130】データ格納ステップ202では、データ種
類判別ステップ201から渡された受信データを共通デ
ータ構造10へと変換・格納する。データ種類判別ステ
ップ201で判別したデータ種類に対応したデータを共
通データ構造10へと格納する(20c)。例えば、デ
ータの種類を判別するためのデータが埋め込まれていな
かった場合は、Hash形式のデータとして格納される。図
13のように表形式と判別した場合は、各データのkey
の部分を解析しデータを格納する。「NAME.0001=味噌」
の場合は、NAME列の1行目に「味噌」を格納し、「NUM.
0001=10」の場合は、NUM列の1行目に「10」を格納す
る。データ変換は、データが存在する限り継続される
(20d)。全てのデータを共通データ構造10に格納
したら、サーバアプリケーション13に処理を移す(2
0e)。
【0131】画面表示データ作成部起動ステップ203
では、サーバアプリケーション13から処理が移ると
(20f)、サーバアプリケーション13に対応した画
面表示データ作成部16を起動し、処理を画面表示デー
タ作成部16へ移す(20g)。ここでは、送信データ
の作成などは行わず、画面表示データ作成部16にまか
せる。
【0132】図15は、画面表示データ作成部16の処
理の流れを例示する図である。
【0133】画面表示データ作成部16は、サーバアプ
リケーション13毎に用意される。そして、画面構成情
報15がクライアント毎に用意される。サーバアプリケ
ーション13がユーザに送り返すデータ(情報/サービ
ス)は、サーバアプリケーション毎に決まっている。画
面表示データ作成部16は、そのデータを、クライアン
ト毎にどのような形で提供するか、どのような画面構成
/GUIを用意するかなどを画面構成情報15を参照し
て決定する。
【0134】ここでは、画面表示データ作成部16と画
面構成情報15とを分けているが、画面構成情報15を
画面表示データ作成部15に含めてもよい。この場合、
画面表示データ作成部16は、1つのサーバアプリケー
ションに対し、クライアント種別分用意されることにな
る。
【0135】データ読み込みステップ161では、デー
タ変換部20から処理を受け(16a)、共通データ構
造10からデータを取り出す(16b)。その後、画面
構成情報読み込みステップ162に処理を移す(16
c)。
【0136】画面構成情報読み込みステップ162で
は、クライアントに応じた画面構成情報15を取得する
(16d)。画面構成情報15には、共通データのデー
タをどのように配置したらよいか、どのようなGUIを
用意するかが記されている。例えば、クライアントがブ
ラウザ19の場合、データを6列で表示するが、クライ
アントが携帯電話等の画面のように制約が多い場合、デ
ータを2列で表示するかあるいは何ページかに分割す
る。画面構成情報15を取得したら画面表示データ作成
ステップ163に処理を移す(16e)。
【0137】画面表示データ作成ステップ163では、
データ読み込みステップ161で取得したデータと、画
面構成情報読み込みステップ162で取得した画面構成
情報15とを参照し、クライアント18に送信する画面
表示データを作成する。そして、作成した画面表示デー
タを送信データとしてサーバ送受信部7へ送る(16
f)。
【0138】以上のような本実施の形態に係る計算機シ
ステム14においては、クライアントが画面を表示する
ためのデータを必要とするブラウザ19や携帯端末など
によって構成されていても、同一内容のサービスを提供
するサーバアプリケーション13は一つでよい。したが
って、同一内容のサービスを提供するサーバアプリケー
ションを一つにまとめることができ、サーバアプリケー
ションの開発効率を向上させることができる。
【0139】また、このサービスの内容を変更する場合
であっても、このサービスを提供するサーバアプリケー
ションは一つであるため、サーバアプリケーションの保
守・運用効率を向上させることができる。
【0140】(第3の実施の形態)本実施の形態におい
ては、複数のクライアントのクライアント種別が多種多
様な場合について説明する。
【0141】図16は、本実施の形態に係る計算機シス
テムの概略構成を例示するブロック図であり、上記図1
及び図11と同一の部分については同一の符号を付して
その説明を省略するかあるいは簡単に説明し、ここでは
異なる部分について詳しく説明する。
【0142】計算機システム21には、言語Aによるク
ライアント2がネットワーク4に接続されていたが、こ
れに加えてWebブラウザクライアント18、携帯端末
用ブラウザ22を含む携帯端末23がネットワーク4に
接続され、各クライアント2、18、23からサーバ1
7のサービスにアクセス可能となったとする。
【0143】この場合、アクセスするクライアントのク
ライアント種別が増えたにもかかわらず、同一内容のサ
ービスを提供するサーバアプリケーションは一つでよ
い。
【0144】サーバ17の通信ミドルウェア24では、
クライアント種別毎にデータ変換部9、20、25を用
意すること、クライアント2、18、23とサーバアプ
リケーション13間のデータ交換を共通データ構造10
とそれにアクセスする共通API11を通じて行うこと
とすることにより、クライアント種別の違いを吸収して
いる。
【0145】これにより、サーバアプリケーション13
をクライアント種別毎に設ける必要はなく、各クライア
ント2、18、23に対応するように修正する必要もな
い。
【0146】また、ブラウザ19や携帯端末用ブラウザ
22は、一般的にデータ処理機能やGUIを提供する機
能を持っておらず、サーバ17から送られてきた情報を
そのまま画面に表示する。したがって、ブラウザ19や
携帯端末用ブラウザ22に対してはサーバ17から画面
の情報を含んだサービスを提供する必要がある。
【0147】通信ミドルウェア24では、画面表示デー
タ作成部16と画面構成情報15を用意することによ
り、これを可能としている。これにより、データ処理機
能やGUIを提供する機能を持っていないクライアント
18、23に対してもサービスを提供することができ
る。
【0148】以下に、上記本実施の形態に係る計算機シ
ステム21の動作について説明する。
【0149】ユーザは、この計算機システム21の各ク
ライアントを操作して、サーバ17のサービスを受ける
ことができる。ユーザが受けられるサービスの内容は、
クライアントのクライアント種別に関係なく同一であ
る。しかし、提供されるサービスあるいはデータの形態
や見た目や量などは、クライアント毎に異なる可能性が
ある。
【0150】ユーザは言語Aによるクライアント2を操
作して、サーバ17のサービスを受けることができる。
例えば、自社で扱っているPCの卸値が知りたいとす
る。ユーザは、言語Aによるクライアント2のGUIを
操作して販売管理システムを選択し、自社で扱っている
PCの情報を得るため、サーバ17にアクセスする。ユ
ーザの操作を受け付けるのが、言語Aによるクライアン
トアプリケーション5である。クライアントアプリケー
ション5からPCの卸値を得るために必要なデータがク
ライアント送受信部6へ送られ(21a)、クライアン
ト送受信部6が送信データを作成し、ネットワーク4を
通じてサーバのサービスへとアクセスする(21b)。
【0151】ユーザは、同じくブラウザ19を操作して
サーバ17のサービスを受けることも可能である。例え
ば、ユーザはブラウザ19やブラウザ19に表示されて
いるGUIを操作してPCの卸値を要求する。この場
合、ユーザの操作を受け付けたブラウザ19が送信デー
タを作成し、サーバ17へとアクセスする(21c)。
【0152】ユーザは、携帯端末23を操作して同様の
サービスを受けることも可能である。例えば、携帯端末
23に表示されている画面にしたがってPCの卸値を要
求する場合、ユーザの操作を受け付けた携帯端末用ブラ
ウザ22が送信データを作成し、サーバ17へとアクセ
スする(21d)。
【0153】サーバ送受信部7はクライアントからのデ
ータを受け(21e)、受信データをクライアント種別
判別部8へと送る(21e)。クライアント種別判別部
8では、受信データのヘッダ部分や特定のタグの情報を
見てクライアント種別を判別し、それぞれクライアント
種別に対応したデータ変換部を起動する(21f)。ク
ライアント種別毎に用意されているデータ変換部9、2
0、25における処理の内容はほぼ同じであり、受信デ
ータを解析し、共通データ構造10に格納する(21
g)。データの格納が終わったら、サーバアプリケーシ
ョン13へ処理を移す(21h)。サーバアプリケーシ
ョン13では、共通API11を通じて共通データ構造
10にアクセスし、処理に必要なデータを獲得する(2
1i)。そして、必要に応じデータベース12へアクセ
スする(21j)。そして、処理の結果、クライアント
に返す情報サービスを共通API11を通じて共通デー
タ構造10へと格納し(21k)、データ変換部7へと
処理を戻す(21l)。例えば、PCの卸値を得る場合
では、共通データ構造10からPCの機種名等を獲得し
(21i)、データベース12へアクセスしてデータベ
ース12より各PCの卸値を取得し(21j)、共通デ
ータ構造10へと格納した後(21k)、データ変換部
に処理を移動する(21l)。
【0154】サーバアプリケーション13での処理が終
了した後のデータ変換部9、20、25では、それぞれ
クライアント2、18、23へ送信するデータが作成さ
れる。言語A対応のデータ変換部9は、共通データ構造
10より送信するデータを獲得し(21m)、送信デー
タを作成後、サーバ送受信部7へと送信データを送る
(21n)。しかし、ブラウザ用のデータ変換部20や
携帯端末用のデータ変換部25は、クライアントに提供
する情報に加えて画面を構成する情報なども送らなけれ
ばならない。このため、これらのデータ変換部20、2
5は、画面表示データ作成部16へと処理を移す(21
o)。
【0155】画面表示データ作成部16では、サーバア
プリケーション毎、クライアント種別毎に、クライアン
ト側で画面を構成する情報を含む画面表示データを作成
する。具体的には、画面表示データ作成部16は、画面
構成情報15へとアクセスし、サーバ17が提供するサ
ービスとクライアント種別に対応した画面構成情報15
を持ってくる(21p)。また、画面表示データ作成部
16は、クライアントへ送信するサービス結果/データ
を共通データ構造10より獲得する(21q)。画面構
成情報15を参照しながら、適切な位置にサービス結果
であるデータを配置し、ボタンや入力エリアなどのGU
I情報も付加する。例えば、通常PCなどで使われてい
るブラウザ19は、表示エリアを大きく取れる(調整す
ることができる)。このため、各PCの卸値を1ページ
に全て表示するような画面構成にすることができる。ま
た、横スクロールも可能なため、データを横長の方向に
並べて表示するような画面構成をとることも可能であ
る。一方、携帯端末用ブラウザ22の場合、画面の表示
エリアが限定されているのが普通である。また、横スク
ロールができない場合も多い。このため、データを縦に
並べて表示するように画面を構成してもよく、あるいは
一定のデータ量でページを区切り、複数のページに分け
て表示する画面を構成してもよい。こうして完成した画
面表示データをサーバ送受信部7へと送る(21r)。
サーバ送受信部7は、言語A用データ変換部9や、画面
表示データ作成部16から送られてきた画面表示データ
をクライアントへと送り出す(21s)。
【0156】クライアントでは、サーバ17より返って
きたサービス内容(受信データ)を処理し、ユーザへと
提供する。
【0157】言語Aによるクライアント2の場合は、ク
ライアント送受信部6がサーバ17からのデータを受信
し(21t)、受信したデータをクライアントアプリケ
ーション5が利用できる形に変換した後、クライアント
アプリケーション5へと送信する(21u)。クライア
ントアプリケーション5は、そのデータを、GUIの適
切な位置に表示、ユーザはその情報を見てサービスを受
ける。
【0158】例えば、サーバ17より卸値データを受け
付け、それを言語Aで利用できるデータ形式に変換し、
クライアントアプリケーション5に提供するのが、クラ
イアント送受信部6である。また、受け取ったデータを
画面に配置し、GUIを表示するのがクライアントアプ
リケーション5である。この言語Aによるクライアント
2の場合、受け取ったデータをどのように表示する/提
供するかは、クライアント2で決定する。受け取った卸
値を表形式で表示してもよいし、タグを用いて1画面毎
に表示してもよい。
【0159】一方、Webブラウザクライアント18や
携帯端末23の場合は、サーバ17からデータを受信し
た後は(21v、21w)、そのデータをそのまま表示
することになる。ユーザは、表示された内容を見てサー
ビスを受ける。
【0160】本実施の形態に係る計算機システム21の
各構成要素の処理の流れは、上記第1及び第2の実施の
形態の場合と同様である。また、ブラウザ19と携帯端
末用ブラウザ22、及びそれぞれのデータ変換部20、
25の処理の流れは同様である。上記第1の実施の形態
と上記第2の実施の形態との構成を組み合わせたものが
本実施の形態であり、このように容易に組み合わせるこ
とが可能であるため、計算機システム21に他のクライ
アントが追加されたような場合に容易に対応できる。
【0161】図17は、新規のクライアント種別に応じ
た処理を可能にするために、種別判別追加部26と、デ
ータ変換追加部27と、画面構成情報追加部28とを通
信ミドルウェア24に付加した場合を例示するブロック
図である。
【0162】種別判別追加部26は、新規のクライアン
ト種別を判別するための機能をクライアント種別判別部
8に追加する。
【0163】データ変換追加部27は、新規のクライア
ント種別で採用されている形式の受信データの内容を共
通データ構造10にしたがって記憶し、共通データ構造
10にしたがって記憶されているデータを新規のクライ
アント種別で採用されている形式に変換するデータ変換
部29を追加する画面構成情報追加部28は、新規のク
ライアント種別に応じた画面構成情報を追加する。
【0164】なお、この図17では省略しているが、新
規のサーバアプリケーションに対応する画面表示データ
作成部を追加する部分を備え、画面構成情報追加部28
はこの新規の画面表示データ作成部についての画面構成
情報を追加する機能も備えるとしてもよい。
【0165】なお、上記各実施の形態に係る計算機シス
テム1、14、21においては、同様の作用・機能を実
現可能であれば各構成要素の配置を変更させてもよく、
また各構成要素を自由に組み合わせてもよい。
【0166】また、上記各実施の形態に係る計算機シス
テム1、14、21の各機能、各要素は、コンピュータ
に実行させることのできるプログラムとして、例えば磁
気ディスク(フロッピー(登録商標)ディスク、ハード
ディスク等)、光ディスク(CD−ROM、DVD
等)、半導体メモリなどの記録媒体に書き込んで適用し
てもよく、通信媒体により伝送して、計算機、計算機シ
ステムに適用することも可能である。
【0167】上記各機能を実現するコンピュータは、記
録媒体に記録されたプログラムを読み込み、プログラム
によって動作が制御されることにより、上述した処理を
実行する。
【0168】
【発明の効果】以上詳記したように本発明においては、
クライアントからのデータを共通のデータ構造に変換し
て保存し、この共通のデータ構造のデータをサーバアプ
リケーションがアクセスすることになる。
【0169】したがって、クライアント種別に応じて同
様の処理を実行するサーバアプリケーションを用意する
必要がなく、サーバアプリケーションを統合できる。
【0170】また、共通のデータ構造のデータとクライ
アント種別に応じた画面構成情報とに基づいて、そのク
ライアント種別に応じた画面表示データが作成される。
【0171】したがって、クライアント種別が画面を構
成するための情報を必要とするものであり、また各クラ
イアント種別でその画面の構成を切り替える場合であっ
ても、クライアント種別に応じてサーバアプリケーショ
ンを用意する必要がなく、サーバアプリケーションを統
合できる。
【0172】これにより、サーバアプリケーションの開
発を効率化でき、サーバアプリケーションの保守・運用
も効率化できる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る計算機システ
ムの概略構成を例示するブロック図。
【図2】同実施の形態に係る計算機システムにおけるク
ライアントアプリケーションの処理の流れを例示する
図。
【図3】同実施の形態に係る計算機システムにおけるク
ライアント送受信部の処理の流れを例示する図。
【図4】同実施の形態に係る計算機システムにおけるク
ライアント送受信部のデータ変換例を示す図。
【図5】同実施の形態に係る計算機システムにおけるサ
ーバ送受信部の処理の流れを例示する図。
【図6】同実施の形態に係る計算機システムにおけるク
ライアント種別判別部の処理の流れを例示する図。
【図7】同実施の形態に係る計算機システムにおけるデ
ータ変換部の処理の流れを例示する図。
【図8】同実施の形態に係る計算機システムにおけるデ
ータ変換部のデータ変換例を示す図。
【図9】同実施の形態に係る計算機システムにおける共
通データ構造を例示する図。
【図10】同実施の形態に係る計算機システムにおける
サーバアプリケーションの処理の流れを例示する図。
【図11】本発明の第2の実施の形態に係る計算機シス
テムの概略構成を例示するブロック図。
【図12】同実施の形態に係る計算機システムにおける
ブラウザの処理の流れを例示する図。
【図13】同実施の形態に係る計算機システムにおける
ブラウザのデータ変換例を示す図。
【図14】同実施の形態に係る計算機システムにおける
データ変換部の処理の流れを例示する図。
【図15】同実施の形態に係る計算機システムにおける
画面表示データ作成部の処理の流れを例示する図。
【図16】本発明の第3の実施の形態に係る計算機シス
テムの概略構成を例示するブロック図。
【図17】同実施の形態に係る計算機システムにおける
通信ミドルウェアの概略構成を例示するブロック図。
【符号の説明】
1、14、21…計算機システム 2、18、23…クライアント 3、17…サーバ 4…ネットワーク 5…クライアントアプリケーション 6…クライアント送受信部 7…サーバ送受信部 8…クライアント種別判別部 9、20、25、29…データ変換部 10…共通データ構造 11…共通API 12…データベース 13…サーバアプリケーション 15…画面構成情報 16…画面表示データ作成部 22…携帯端末用ブラウザ 24…通信ミドルウェア 26…種別判別追加部 27…データ変換追加部 28…画面構成情報追加部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小山 徳章 東京都港区芝浦一丁目1番1号 株式会社 東芝本社事務所内 (72)発明者 山口 文雄 東京都港区芝浦一丁目1番1号 株式会社 東芝本社事務所内 Fターム(参考) 5B075 NR02 PQ02 5B082 GA02

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータに、 クライアントの種別に応じた形式でこのクライアントか
    ら受信した受信データに含まれているクライアント種別
    情報に基づいて、クライアント種別を判別するクライア
    ント種別判別機能と、 前記クライアント種別判別機能によって判別されたクラ
    イアント種別に応じた形式の受信データの内容を予め定
    められているデータ構造にしたがって記憶するデータ変
    換機能とを実現させるためのプログラムを記録したコン
    ピュータ読み取り可能な記録媒体。
  2. 【請求項2】 請求項1記載のプログラムを記録したコ
    ンピュータ読み取り可能な記録媒体において、 コンピュータに、 新規のクライアント種別を判別するための機能を前記ク
    ライアント種別判別機能に追加する種別判別追加機能
    と、 前記新規のクライアント種別に応じた形式の受信データ
    の内容を前記データ構造にしたがって記憶するデータ変
    換機能を追加するデータ変換追加機能とを実現させるた
    めのプログラムを記録したコンピュータ読み取り可能な
    記録媒体。
  3. 【請求項3】 請求項1記載のプログラムを記録したコ
    ンピュータ読み取り可能な記録媒体において、 前記データ変換機能は、前記クライアント種別判別機能
    によって判別されたクライアント種別に基づいて、前記
    データ構造にしたがって記憶されているデータを前記ク
    ライアント種別に応じた形式に変換して前記クライアン
    トへの送信データとすることを特徴とするプログラムを
    記録したコンピュータ読み取り可能な記録媒体。
  4. 【請求項4】 請求項3記載のプログラムを記録したコ
    ンピュータ読み取り可能な記録媒体において、 コンピュータに、 新規のクライアント種別を判別するための機能を前記ク
    ライアント種別判別機能に追加する種別判別追加機能
    と、 前記新規のクライアント種別に応じた形式の受信データ
    の内容を前記データ構造にしたがって記憶し、前記デー
    タ構造にしたがって記憶されているデータを前記新規の
    クライアント種別に応じた形式に変換して前記クライア
    ントへの送信データとするデータ変換機能を追加するデ
    ータ変換追加機能とを実現させるためのプログラムを記
    録したコンピュータ読み取り可能な記録媒体。
  5. 【請求項5】 請求項3又は請求項4記載のプログラム
    を記録したコンピュータ読み取り可能な記録媒体におい
    て、 コンピュータに、 前記クライアント種別判別機能によって判別されたクラ
    イアント種別が画面を表示するための情報を必要とする
    場合に、このクライアント種別に応じた画面構成情報と
    前記データ構造にしたがって記憶されているデータとに
    基づいて画面表示データを作成し、この画面表示データ
    を前記クライアントへの送信データとする画面表示デー
    タ作成機能を実現させるためのプログラムを記憶したコ
    ンピュータ読み取り可能な記録媒体。
  6. 【請求項6】 請求項5記載のプログラムを記録したコ
    ンピュータ読み取り可能な記録媒体において、 コンピュータに、 新規のクライアント種別に応じた画面構成情報を追加す
    る画面構成情報追加機能を実現させるためのプログラム
    を記録したコンピュータ読み取り可能な記録媒体。
  7. 【請求項7】 請求項1乃至請求項6のいずれか1項に
    記載したプログラムを記録したコンピュータ読み取り可
    能な記録媒体において、 コンピュータに、 クライアントから送信されるデータに、クライアント種
    別情報を付加するクライアント種別付加機能を実現させ
    るためのプログラムを記録したコンピュータ読み取り可
    能な記録媒体。
  8. 【請求項8】 クライアントとサーバとの間でデータを
    送受信する計算機システムにおいて、 前記クライアントの種別に応じた形式で前記クライアン
    トから受信した受信データに含まれているクライアント
    種別情報に基づいてクライアント種別を判別するクライ
    アント種別判別手段と、 前記クライアント種別判別手段によって判別されたクラ
    イアント種別に応じた形式の受信データの内容を予め定
    められているデータ構造にしたがって記憶するデータ変
    換手段と、 前記データ構造にしたがって記憶されているデータをア
    クセスしつつ、処理を実行するサーバアプリケーション
    とを具備したことを特徴とする計算機システム。
  9. 【請求項9】 請求項8記載の計算機システムにおい
    て、 新規のクライアント種別を判別するための機能を前記ク
    ライアント種別判別手段に追加する種別判別追加手段
    と、 前記新規のクライアント種別に応じた形式の受信データ
    の内容を前記データ構造にしたがって記憶するデータ変
    換手段を追加するデータ変換追加手段とを付加したこと
    を特徴とする計算機システム。
  10. 【請求項10】 請求項8記載の計算機システムにおい
    て、 前記データ変換手段は、前記クライアント種別判別手段
    によって判別されたクライアント種別に基づいて、前記
    データ構造にしたがって記憶されているデータを前記ク
    ライアント種別に応じた形式に変換して前記クライアン
    トへの送信データとすることを特徴とする計算機システ
    ム。
JP2000283383A 2000-09-19 2000-09-19 プログラムを記録したコンピュータ読み取り可能な記録媒体及び計算機システム Pending JP2002091860A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000283383A JP2002091860A (ja) 2000-09-19 2000-09-19 プログラムを記録したコンピュータ読み取り可能な記録媒体及び計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000283383A JP2002091860A (ja) 2000-09-19 2000-09-19 プログラムを記録したコンピュータ読み取り可能な記録媒体及び計算機システム

Publications (1)

Publication Number Publication Date
JP2002091860A true JP2002091860A (ja) 2002-03-29

Family

ID=18767751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000283383A Pending JP2002091860A (ja) 2000-09-19 2000-09-19 プログラムを記録したコンピュータ読み取り可能な記録媒体及び計算機システム

Country Status (1)

Country Link
JP (1) JP2002091860A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236323A (ja) * 2005-01-25 2006-09-07 Sony Corp アプリケーション提供システム、サーバ、クライアントおよびアプリケーション提供方法
JP2007179495A (ja) * 2005-12-28 2007-07-12 Nippon Digital Kenkyusho:Kk 帳表作成方法、帳表作成装置、帳表作成システム、および帳表作成プログラム
JP2007306405A (ja) * 2006-05-12 2007-11-22 Ricoh Co Ltd 画像形成システム、グループウェアサーバ、画像形成方法、データベース管理プログラム及び記憶媒体
JP2009258963A (ja) * 2008-04-16 2009-11-05 Yahoo Japan Corp ネットワーク端末に表示するページを生成する方法、装置及びプログラム
JP2010238070A (ja) * 2009-03-31 2010-10-21 Deippusu:Kk 通信システム、提供装置およびプログラム
CN102053828A (zh) * 2009-10-30 2011-05-11 株式会社东芝 信息处理装置、信息处理系统以及信息处理方法
JP2013145436A (ja) * 2012-01-13 2013-07-25 Nec Biglobe Ltd Api用制御装置、api用制御方法およびプログラム
WO2020026456A1 (ja) * 2018-07-31 2020-02-06 Quadrac株式会社 サーバ装置及びシステム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236323A (ja) * 2005-01-25 2006-09-07 Sony Corp アプリケーション提供システム、サーバ、クライアントおよびアプリケーション提供方法
JP2007179495A (ja) * 2005-12-28 2007-07-12 Nippon Digital Kenkyusho:Kk 帳表作成方法、帳表作成装置、帳表作成システム、および帳表作成プログラム
JP2007306405A (ja) * 2006-05-12 2007-11-22 Ricoh Co Ltd 画像形成システム、グループウェアサーバ、画像形成方法、データベース管理プログラム及び記憶媒体
JP2009258963A (ja) * 2008-04-16 2009-11-05 Yahoo Japan Corp ネットワーク端末に表示するページを生成する方法、装置及びプログラム
JP2010238070A (ja) * 2009-03-31 2010-10-21 Deippusu:Kk 通信システム、提供装置およびプログラム
CN102053828A (zh) * 2009-10-30 2011-05-11 株式会社东芝 信息处理装置、信息处理系统以及信息处理方法
JP2011096112A (ja) * 2009-10-30 2011-05-12 Toshiba Corp フレームワーク及び情報処理装置
JP2013145436A (ja) * 2012-01-13 2013-07-25 Nec Biglobe Ltd Api用制御装置、api用制御方法およびプログラム
WO2020026456A1 (ja) * 2018-07-31 2020-02-06 Quadrac株式会社 サーバ装置及びシステム
WO2020026335A1 (ja) * 2018-07-31 2020-02-06 Quadrac株式会社 サーバ装置及びシステム

Similar Documents

Publication Publication Date Title
US8572564B2 (en) Configuring and constructing applications in a mainframe-based computing environment
US8200775B2 (en) Enhanced syndication
JP4495137B2 (ja) 電気通信クライアントサービス要求をサポートするためのサービスブローカー統合層
US8239830B2 (en) System for portal architecture
US6330566B1 (en) Apparatus and method for optimizing client-state data storage
US6802042B2 (en) Method and apparatus for providing calculated and solution-oriented personalized summary-reports to a user through a single user-interface
EP1117050A1 (en) Individual data representation
US20030120593A1 (en) Method and system for delivering multiple services electronically to customers via a centralized portal architecture
US20070192706A1 (en) Service gateway for providing a scalable and loosely coupled service oriented architecture
US20090100321A1 (en) Universal contextual actions menu across windows applications
US9116705B2 (en) Mainframe-based browser
US20090099982A1 (en) Self-modification of a mainframe-based business rules engine construction tool
US8364625B2 (en) Mainframe-based business rules engine construction tool
US9497260B2 (en) Communication between two web applications
CN101103612A (zh) 普适设备对网络服务的动态可扩展轻量级接入
CN101021862A (zh) 用于集中内容管理的方法和系统
US20090300106A1 (en) Mobile book-marking and transaction system and method
CN102098211A (zh) 客户端和服务器动态协助的业务聚合方法、服务器和客户端
JP2002091860A (ja) プログラムを記録したコンピュータ読み取り可能な記録媒体及び計算機システム
US8583697B2 (en) System and method of processing content
US8321535B2 (en) Web services integration systems and methods
JP2002351781A (ja) 画面表示用ページレイアウトを利用したコンテンツ生成装置
KR101170322B1 (ko) 웹을 기반으로 하는 개인 컴퓨터를 이용한 클라우드 컴퓨팅 서비스 제공 방법 및 장치
JP2019144977A (ja) 個人化動画提供方法、個人化動画配信サーバー
JP2019201296A (ja) 個人化動画提供方法、個人化動画データ