JP2013080404A - クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム - Google Patents

クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム Download PDF

Info

Publication number
JP2013080404A
JP2013080404A JP2011220517A JP2011220517A JP2013080404A JP 2013080404 A JP2013080404 A JP 2013080404A JP 2011220517 A JP2011220517 A JP 2011220517A JP 2011220517 A JP2011220517 A JP 2011220517A JP 2013080404 A JP2013080404 A JP 2013080404A
Authority
JP
Japan
Prior art keywords
computer
message
java
applet
client
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
JP2011220517A
Other languages
English (en)
Other versions
JP5936103B2 (ja
Inventor
Atsushi Noguchi
敦史 野口
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2011220517A priority Critical patent/JP5936103B2/ja
Priority to US13/567,182 priority patent/US9678814B2/en
Publication of JP2013080404A publication Critical patent/JP2013080404A/ja
Application granted granted Critical
Publication of JP5936103B2 publication Critical patent/JP5936103B2/ja
Priority to US15/485,305 priority patent/US9973563B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】クライアントに専用のモジュールが用意されていなくても、サーバからそのクライアントでJava(登録商標)メソッドを呼び出せるようにする。
【解決手段】サーバ装置20が実行可能なJavaメソッドであって端末30にて実行されるアプレット80上で呼び出されるJavaメソッドを含むメッセージを、サーバ装置20のメッセージ送信部42が端末30に送信する。端末30では、メッセージ受信部52が受信したメッセージに応じて、JavaScript(登録商標)60とアプレット80の間でイベントの受け渡しをすることにより、そのメッセージに含まれるJavaメソッドをアプレット80の実行部81が呼び出す。その呼び出しの結果を含むメッセージを、メッセージ送信部53がサーバ装置20に送信する。サーバ装置20のメッセージ受信部43がそのメッセージを受信して、サーバ装置は端末でJavaメソッドを呼び出した結果を取得する。
【選択図】図3

Description

本発明は、クライアントでJava(登録商標)メソッドを呼び出すシステム、コンピュータ、方法及びプログラムに関する。
サーバにおいて発生したイベントを、リアルタイムでウェブブラウザに通知する機能が知られている(例えば、非特許文献1参照)。また、複数の端末のウェブブラウザの表示画面を同期して更新するクライアントプログラムが知られている(例えば、特許文献1参照)。通信ネットワークに接続されたサーバステーションを介してアクセス可能なデータ処理オブジェクトをクライアントステーションからリモートで使用する方法も知られている(例えば、特許文献2参照)。
特開2010−176336号公報 特開2002−207604号公報
須江信洋,田中孝清、「WebSphere Application Server Feature Pack for Web2.0 "06 Web Messaging"」、日本IBMホームページ、2008年5月21日、[平成23年7月28日検索]、インターネット<URL:http://download.boulder.ibm.com/ibmdl/pub/software/dw/jp/websphere/was/was_web20fep_ws/FPWEB20_06WebMessaging.pdf>
あるJava仮想マシン(JVM)から、別のJVMにあるオブジェクトのメソッドを呼び出すためには、JavaのRMI(Remote Method Invocation)の仕組みを使う必要がある。このRMIを利用するためには、Javaメソッドが呼び出される側で、RMIのサービス呼び出しを最初に受け付けるモジュールが予め稼動している必要がある。
また、サーバからクライアントに対して計算処理をさせることができるシステムとして、グリッドコンピューティングが知られている。これは、ネットワーク上にあるコンピュータ同士を結びつけて1つの複合したコンピュータシステムとして機能させるものである。しかしながら、グリッドコンピューティングを利用するためには、専用のクライアントを用意する必要がある。
このため、サーバのJavaプログラムやクライアントのウェブブラウザから、より簡易な方法によって他のクライアントでJavaメソッドを呼び出せるようにすることが望ましい。本発明の目的は、クライアントに専用のモジュールが用意されていなくても、サーバからそのクライアントでJavaメソッドを呼び出せるようにすることである。
上記課題を解決するために、本発明の第1の態様においては、サーバコンピュータとクライアントコンピュータが通信回線を介して接続されたコンピュータシステムであって、前記サーバコンピュータが、自装置が実行可能なJavaメソッドを前記クライアントコンピュータにて実行されるJavaアプレット上で呼び出すためのメッセージを当該クライアントコンピュータに送信するサーバ側メッセージ送信部と、前記サーバ側メッセージ送信部が送信した前記メッセージに応じて前記クライアントコンピュータが前記Javaメソッドを呼び出した結果を含むメッセージを当該クライアントコンピュータから受信するサーバ側メッセージ受信部とを備え、前記クライアントコンピュータが、前記サーバコンピュータから送信された前記メッセージを受信するクライアント側メッセージ受信部と、自装置のウェブブラウザ上でブラウザ用スクリプトを実行するスクリプト実行部と、自装置のJava仮想マシン上で前記Javaアプレットを実行するアプレット実行部と、前記クライアント側メッセージ受信部が受信した前記メッセージに応じて、前記スクリプト実行部が実行する前記ブラウザ用スクリプトと前記アプレット実行部が実行する前記Javaアプレットの間でイベントの受け渡しをすることにより、当該アプレット実行部が前記Javaメソッドを呼び出すように制御するイベント受渡部と、前記アプレット実行部が前記Javaメソッドを呼び出した結果を含むメッセージを前記サーバコンピュータに送信するクライアント側メッセージ送信部とを備える、システムを提供する。
本発明の第2の態様においては、前記サーバコンピュータが実行可能なJavaメソッドを含むJavaオブジェクトを含むメッセージを、前記サーバ側メッセージ送信部が前記クライアントコンピュータに送信する、第1の態様のシステムを提供する。
本発明の第3の態様においては、前記サーバコンピュータが実行可能なJavaメソッドであって前記JavaアプレットがもっているJavaメソッドを呼び出すためのパラメータを含むメッセージを、前記サーバ側メッセージ送信部が前記クライアントコンピュータに送信する、第1の態様のシステムを提供する。
本発明の第4の態様においては、前記クライアントコンピュータを複数台含むコンピュータシステムであって、前記クライアントコンピュータのうちの第1のクライアントコンピュータの前記クライアント側メッセージ送信部が、当該クライアントコンピュータのうちの第2のクライアントコンピュータにて実行されるJavaアプレット上で前記Javaメソッドを呼び出すためのメッセージを、前記サーバコンピュータを介して当該第2のクライアントコンピュータに送信し、前記第2のクライアントコンピュータの前記クライアント側メッセージ受信部が受信した前記メッセージに応じて当該第2のクライアントコンピュータの前記アプレット実行部が前記Javaメソッドを呼び出し、前記Javaメソッドが呼び出された結果を含むメッセージを、前記第2のクライアントコンピュータの前記クライアント側メッセージ送信部が、前記サーバコンピュータを介して前記第1のクライアントコンピュータに送信する、第1の態様乃至第3の態様のいずれかのシステムを提供する。
本発明の第5の態様においては、前記サーバコンピュータにかかっている負荷が予め定めた基準よりも大きい場合に、前記Javaアプレット上で前記Javaメソッドを呼び出すためのメッセージを、前記サーバ側メッセージ送信部が前記クライアントコンピュータに送信する、第1の態様乃至第4の態様のいずれかのシステムを提供する。
本発明の第6の態様においては、前記クライアントコンピュータ用の表示部への前記Javaアプレットによる表示を制御するJavaメソッドを当該Javaアプレット上で呼び出すためのメッセージを、前記サーバ側メッセージ送信部が当該クライアントコンピュータに送信する、第1の態様乃至第5の態様のいずれかのシステムを提供する。
本発明の第7の態様においては、サーバコンピュータとクライアントコンピュータが通信回線を介して接続され、当該サーバコンピュータで発生したイベントを当該クライアントコンピュータに通知する機能を当該サーバコンピュータが有するコンピュータシステムであって、前記サーバコンピュータが、自装置のHTMLファイルであって、ブラウザ用スクリプト及びJavaアプレットを含むHTMLファイルのURLにアクセスしてきた前記クライアントコンピュータに、当該ブラウザ用スクリプト及び当該Javaアプレットを送信するアプリケーション送信部と、自装置が実行可能なJavaメソッドであって前記クライアントコンピュータにて実行される前記Javaアプレット上で呼び出されるJavaメソッドを含むメッセージ、又は当該JavaアプレットがもっているJavaメソッドを呼び出すためのパラメータを含むメッセージを、当該クライアントコンピュータに送信するサーバ側メッセージ送信部と、前記サーバ側メッセージ送信部が送信した前記メッセージに応じて前記クライアントコンピュータが前記Javaメソッドを呼び出した結果を含むメッセージを当該クライアントコンピュータから受信するサーバ側メッセージ受信部とを備え、前記クライアントコンピュータが、前記サーバコンピュータの前記HTMLファイルのURLにアクセスすることにより、当該サーバコンピュータから前記ブラウザ用スクリプト及び前記Javaアプレットを受信するアプリケーション受信部と、前記サーバコンピュータから送信された前記メッセージを受信するクライアント側メッセージ受信部と、前記アプリケーション受信部が受信した前記ブラウザ用スクリプトを自装置のウェブブラウザ上で実行するスクリプト実行部と、前記アプリケーション受信部が受信した前記Javaアプレットを自装置のJava仮想マシン上で実行するアプレット実行部と、前記クライアント側メッセージ受信部が受信した前記メッセージに応じて、前記スクリプト実行部が実行する前記ブラウザ用スクリプトと前記アプレット実行部が実行する前記Javaアプレットの間でイベントの受け渡しをすることにより、当該メッセージに含まれる前記Javaメソッド又は当該Javaアプレットがもっている前記Javaメソッドを当該アプレット実行部が呼び出すように制御するイベント受渡部と、前記アプレット実行部が前記Javaメソッドを呼び出した結果を含むメッセージを前記サーバコンピュータに送信するクライアント側メッセージ送信部とを備える、システムを提供する。
本発明の第8の態様においては、通信回線を介して他のコンピュータと接続されたコンピュータであって、自装置が実行可能なJavaメソッドを前記他のコンピュータにて実行されるJavaアプレット上で呼び出すためのメッセージを当該他のコンピュータに送信するメッセージ送信部と、前記メッセージ送信部が送信した前記メッセージに応じて前記他のコンピュータが前記Javaメソッドを呼び出した結果を含むメッセージを当該他のコンピュータから受信するメッセージ受信部とを備える、コンピュータを提供する。
本発明の第9の態様においては、第1のコンピュータと通信回線を介して接続された第2のコンピュータで当該第1のコンピュータがJavaメソッドを呼び出す方法であって、前記第1のコンピュータが実行可能なJavaメソッドを前記第2のコンピュータにて実行されるJavaアプレット上で呼び出すためのメッセージを、当該第1のコンピュータから当該第2のコンピュータに送信するステップと、前記第1のコンピュータから送信された前記メッセージを前記第2のコンピュータで受信するステップと、前記第2のコンピュータのウェブブラウザ上でブラウザ用スクリプトを実行するステップと、前記第2のコンピュータのJava仮想マシン上で前記Javaアプレットを実行するステップと、受信された前記メッセージに応じて、前記ブラウザ用スクリプトと前記Javaアプレットの間でイベントの受け渡しをすることにより、前記第2のコンピュータで前記Javaメソッドを呼び出すステップと、前記Javaメソッドが呼び出された結果を含むメッセージを前記第2のコンピュータから前記第1のコンピュータに送信するステップと、前記第2のコンピュータから送信された前記メッセージを前記第1のコンピュータで受信するステップとを備える、方法を提供する。
本発明の第10の態様においては、通信回線を介して他のコンピュータと接続されたコンピュータが当該他のコンピュータでJavaメソッドを呼び出すように機能させるプログラムであって、前記コンピュータを、自装置が実行可能なJavaメソッドを前記他のコンピュータにて実行されるJavaアプレット上で呼び出すためのメッセージを当該他のコンピュータに送信するメッセージ送信部と、前記メッセージ送信部が送信した前記メッセージに応じて前記他のコンピュータが前記Javaメソッドを呼び出した結果を含むメッセージを当該他のコンピュータから受信するメッセージ受信部として機能させる、プログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明の実施形態に係るコンピュータシステムの構成を示した図である。 サーバ装置から端末へイベントを送信する場合の処理の一例を示した図である。 本発明の実施形態に係るサーバ装置及び端末の機能構成を示したブロック図である。 サーバ装置と端末の間で送受信されるメッセージの形式の例を示した図である。 四則演算を行うJavaクラスのサンプルソースである。 JavaScriptとアプレットの間でのメッセージの送り方を例示したサンプルソースである。 本発明の実施形態に係るサーバ装置が端末でJavaメソッドを呼び出すときの処理フローの一例を示した図である。 本発明の実施形態に係る第1の端末が第2の端末でJavaメソッドを呼び出すときの処理フローの一例を示した図である。 本発明の実施形態に係るコンピュータのハードウェア構成の一例を示した図である。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係るコンピュータシステム10の構成を示す。本実施形態に係るコンピュータシステム10は、サーバ装置20と、複数の端末30とを備える。サーバ装置20はウェブアプリケーションサーバであり、それぞれの端末30で実行されるウェブブラウザにウェブコンテンツを提供する。サーバ装置20は、一例として、それぞれのウェブブラウザに、HTML(HyperText Markup Language)ファイルであるウェブページを提供する。
複数の端末30のそれぞれは、サーバ装置20とネットワークを介して接続される。それぞれの端末30は、ウェブブラウザを実行する。それぞれのウェブブラウザは、ユーザの操作に応じて、サーバ装置20からウェブコンテンツを取得して実行し、このウェブコンテンツにより提供される情報を表示する。それぞれのウェブブラウザは、一例として、ウェブページをダウンロードして、表示画面にウェブページを表示する。
ウェブコンテンツは、JavaScript(登録商標)アプリケーションとJavaアプレット(以下、単にアプレットという)を含む。JavaScriptアプリケーションは、ウェブブラウザが実行可能なJavaScript言語で記述されたプログラムである。アプレットは、ウェブブラウザのウィンドウに埋め込まれて実行されるJavaプログラムである。それぞれの端末30は、これらのアプリケーションをダウンロードして実行する。これらのアプリケーションは、一例として、HTMLファイルであるウェブページに挿入される。また、これらのアプリケーションは、一例として、ウェブコンテンツの提供者により作成される。本実施形態では、JavaScriptアプリケーションはブラウザ用スクリプトの一例である。
図2は、本実施形態において、サーバ装置20から端末30へイベントを送信する場合の処理の一例を示す。本実施形態に係るコンピュータシステム10は、一例として、図2に示されるような方法により、サーバ装置20から端末30へとイベントを送信する。
即ち、複数のウェブブラウザのそれぞれは、サーバ装置20に対してリクエストを送信する。サーバ装置20は、ウェブブラウザから受信したリクエストに対して直ぐにレスポンスを返すのではなく、一定時間(例えば、30〜60秒間)、HTTP(HyperText Transfer Protocol)接続を維持する。
その一定時間の間にサーバ装置20で何かイベントが発生した場合には、サーバ装置20はそのイベントのメッセージを含めてウェブブラウザにレスポンスを返す。レスポンスを受信すると、ウェブブラウザは直ぐに次のリクエストをサーバ装置20へ送信する。一方、その一定時間の間にサーバ装置20で何もイベントが発生しなかった場合には、サーバ装置20はその一定時間の経過後にHTTP接続を切断する。その後、やはりウェブブラウザはサーバ装置20に再接続する。これにより、サーバ装置20は、サーバ装置20で発生したイベントをタイムラグ無く複数のウェブブラウザのそれぞれに通知することができる。
図2以外の方法でも、ウェブブラウザがHTTPだけでなくTCPレベルでの接続をサーバ装置20との間で確立できる場合には、例えばWebSocketの技術を利用することにより、サーバ装置20からウェブブラウザにタイムラグ無く(リアルタイムで)イベント通知を行うことが可能になる。
こうした機能は、クライアント(各端末30のウェブブラウザ)側ではJavaScriptライブラリとして実装されている。一方、一般に、サーバ(サーバ装置20)側のウェブアプリケーションは、Javaにより実装されるサーブレットが主流である。サーバにはJavaScriptの実行環境がないため、通常、サーバ側の処理がJavaScriptで実装されることはない。このため、サーバ側の計算処理を一般のクライアントに実行させて負荷分散をするためには、サーバ側のアプリケーションの実装言語であるJavaによるオブジェクトを、そのままサーバからクライアントに送信し、クライアントに処理させることが望ましい。
そこで、本実施形態では、端末30(ウェブブラウザ)上でのみ実行可能なプログラムではなく、サーバ装置20上で実行可能なプログラム(Javaクラス又はJavaオブジェクト)をそのまま端末30に送信し、それをサーバ装置20等の外部から呼び出すようにする。即ち、サーバ装置20は、端末30にJavaオブジェクトを送信し、端末30にそのJavaオブジェクトを呼び出すように依頼する。そして端末30は、その呼び出しを実行した結果を含むJavaオブジェクトをサーバ装置20に返信する。これにより、サーバ装置20は、サーバ装置20で実行可能なプログラムを、そのまま端末30に実行させる。
図3は、本実施形態に係るサーバ装置20及び端末30の機能構成を示す。まず、サーバ装置20の機能ブロックについて説明する。サーバ装置20は、アプリケーション記憶部21と、アプリケーション送信部22とを有する。また、サーバ装置20上では、サーブレット40が実行されている。
アプリケーション記憶部21は、サーバ装置20のウェブコンテンツを記憶している。このウェブコンテンツは、端末30にダウンロードされて実行されるJavaScriptアプリケーション60(以下、単にJavaScript60という)とアプレット80を含む。
アプリケーション送信部22は、それぞれの端末30上で動作するウェブブラウザからの要求に応じて、アプリケーション記憶部21に記憶されているJavaScript60とアプレット80をその端末30に送信する。
サーブレット40は、Java言語で記述されたプログラムである。サーバ装置20がサーブレット40を実行することにより、実行部41と、メッセージ送信部42と、メッセージ受信部43とが実現される。
実行部41は、サーブレット40の計算処理等を行う。具体的な処理の例は後述する。また、実行部41は、端末30を指定して、一部のJavaメソッドをその端末30に実行させる機能を有する。そのために、実行部41は、メッセージ送信部42及びメッセージ受信部43を介して端末30とメッセージをやり取りし、端末30に実行させるJavaメソッドをその端末30で呼び出す。
メッセージ送信部42は、サーブレット40で発生したイベントをメッセージ化して、端末30に送信する。特に、メッセージ送信部42は、端末30にて実行されるアプレット80上でJavaメソッドを呼び出すためのメッセージを、その端末30に送信する。本実施形態では、メッセージ送信部42はサーバ側メッセージ送信部の一例である。
メッセージ受信部43は、メッセージ送信部42が送信したメッセージに応じて端末30がJavaメソッドを呼び出した結果を含むメッセージを、その端末30から受信する。本実施形態では、メッセージ受信部43はサーバ側メッセージ受信部の一例である。
次に、端末30の機能ブロックについて説明する。端末30は、ウェブブラウザ50と、Java仮想マシン70(以下、単にJVM70という)とを備える。
ウェブブラウザ50は、アプリケーション受信部51と、メッセージ受信部52と、メッセージ送信部53とを有する。また、ウェブブラウザ50上では、JavaScript60が実行されている。
アプリケーション受信部51は、ウェブブラウザ50とJVM70でそれぞれ実行されるJavaScript60とアプレット80を、サーバ装置20のHTMLファイルのURL(Uniform Resource Locator)にアクセスすることにより、サーバ装置20から受信する。
メッセージ受信部52は、サーバ装置20のメッセージ送信部42から送信されたメッセージを受信する。本実施形態では、メッセージ受信部52はクライアント側メッセージ受信部の一例である。
メッセージ送信部53は、メッセージ受信部52が受信したメッセージに応じてアプレット80の実行部81(後述)がJavaメソッドを呼び出した結果を含むメッセージを、サーバ装置20のメッセージ受信部43に送信する。本実施形態では、メッセージ送信部53はクライアント側メッセージ送信部の一例である。
JavaScript60は、ウェブブラウザ50上で実行されるプログラムである。ウェブブラウザ50がJavaScript60を実行することにより、実行部61と、アプレット呼出部62とが実現される。実行部61は、アプリケーション受信部51が受信したJavaScript60に記述された具体的な処理を実行する。アプレット呼出部62は、サーバ装置20からのイベントをアプレット80に通知するために、メッセージ受信部52が受信したメッセージに応じてアプレット80の実行部81を呼び出す。本実施形態では、実行部61はスクリプト実行部の一例である。
JVM70は、Javaバイトコードを端末30のプラットフォームのネイティブコードに変換して実行するソフトウェアである。JVM70上では、アプレット80が実行されている。
アプレット80は、JVM70上で実行されるJavaプログラムである。JVM70がアプレット80を実行することにより、実行部81と、JavaScript呼出部82とが実現される。実行部81は、アプリケーション受信部51が受信したアプレット80に記述された具体的な処理を実行する。JavaScript呼出部82は、アプレット80上で発生したイベントをサーバ装置20等に送信するために、JavaScript60の実行部61を呼び出す。
このように、ウェブブラウザ50とJVM70は、アプレット呼出部62とJavaScript呼出部82を介してイベントの受け渡しを行う。本実施形態では、アプレット呼出部62とJavaScript呼出部82はイベント受渡部の一例である。
図4は、サーバ装置20と端末30の間で送受信されるメッセージの形式の例を示す。このメッセージは、JavaScriptにおけるオブジェクトの表記法を応用したJSON(JavaScript Object Notation)のデータ形式で作成されている。まず、サーバ装置20から端末30に送信されるメッセージ90について説明する。このメッセージ90は、JSONヘッダ90Aと、Javaオブジェクト90Bとを有する。
JSONヘッダ90Aは、MSGヘッダ91と、送信先ID92と、送信元ID93と、呼び出しメソッド名94とを有する。MSGヘッダ91は、メッセージ90を送るためのヘッダである。送信先ID92は、メッセージ90の送信先である端末30のウェブブラウザを識別するための情報である。送信元ID93は、送信元であるサーバ装置20を識別するための情報である。呼び出しメソッド名94は、Javaオブジェクト90Bにより呼び出されるJavaメソッドの名称である。
Javaオブジェクト90Bは、Javaヘッダ95と、Javaメソッド96と、Javaフィールド97とを有する。Javaヘッダ95は、Javaオブジェクト90Bのヘッダである。Javaメソッド96は、Javaオブジェクト90Bの「手続き」が記載される部分である。Javaフィールド97は、Javaメソッド96を実行するための「データ」(パラメータ)である。
端末30からサーバ装置20に返信されるメッセージ90’もメッセージ90と同様であるが、送信先ID92と送信元ID93の内容はメッセージ90のものとは逆になっている。また、呼び出しメソッド名94の部分が処理結果コード98に変わっている。この処理結果コード98は、Javaオブジェクト90Bの実行が成功した場合には0、エラーであった場合には−1などの値をもつリターンコードである。さらに、メッセージ90’は、Javaフィールド97の部分に処理結果99を含む。処理結果99は、Javaオブジェクト90Bを実行して得られた演算結果等の値である。
なお、サーバ装置20から端末30にJavaオブジェクト90Bを送信することは必須ではない。端末30で呼び出されるJavaメソッドは、その端末30のアプレット80等のJavaプログラムが元からもっているものでもよい。このため、サーバ装置20から端末30に送信されるメッセージは、サーバ装置20が実行可能なJavaメソッドであって端末30にて実行されるアプレット80上で呼び出されるJavaメソッドを(即ち、Javaオブジェクトを)含むメッセージでもよいし、又は、Javaオブジェクトを含まず、アプレット80が既にもっているJavaメソッドを呼び出すためのパラメータのみを含むメッセージでもよい。
ここで、Javaメソッドの具体例について説明する。図5は、四則演算を行うJavaクラスのサンプルソースである。このJavaクラスは、次の(1)〜(3)の機能をもつ。なお、このクラス自体は、アプレットインターフェイスをもたないため、Javaアプレットではない。
(1)パラメータ設定用メソッド(setParams())を呼び出すことで、2個の入力パラメータ用フィールドa,bに値が設定される。
(2)演算用メソッド(add(),subtract(),multiply(),divide()のいずれか)を呼び出すことで、演算結果が結果用フィールドresultに設定される。
(3)結果取得メソッド(getResult())を呼び出すことで、結果用フィールドresultから演算結果が取得される。
本実施形態のコンピュータシステム10では、サーバ装置20が実行可能なJavaメソッドを、端末30にて実行されるアプレット80上で、サーバ装置20が呼び出すことができる。その際、図5に示したような汎用的なJavaクラスが、アプレット80から利用されることにより、端末30で実行される。図5のJavaクラスをサーバ装置20で利用する場合には、上記(1)〜(3)は全てサーバ装置20で実行され、(2)の処理もサーバ装置20のリソース(CPU、メモリ)により実行される。一方、図5のJavaクラスを端末30で利用する場合には、例えば上記(1)はサーバ装置20で行い、上記(2)は端末30のリソースを使って端末30で行い、上記(3)はサーバ装置20で行うことが可能である。
即ち、本実施形態によれば、メインの演算処理である(2)を、サーバ装置20と端末30のどちらでも実行することができる。このため、その時点でのサーバ装置20の負荷状況に応じて、それまでサーバ装置20で実行していたものと同一のプログラム(Javaクラス及びそのインスタンス)を端末30に処理させることが可能である。例えば、サーバ装置20にかかっている負荷が予め定めた基準よりも小さい間はサーバ装置20上でJavaプログラムを実行し、負荷がその基準を超えた場合に、そのプログラムの一部のJavaメソッドをアプレット80上で呼び出すためのメッセージを、端末30に送信してもよい。
なお、図5に示した四則演算を行うJavaクラスは、説明のために挙げた非常に単純な例である。演算処理のロジックやパラメータは、より複雑なものにすることもできる。
次に、アプレット呼出部62とJavaScript呼出部82がそれぞれアプレット80の実行部81とJavaScript60の実行部61を呼び出すときの具体的な方法について例示する。図6は、JavaScript60とアプレット80の間でのメッセージの送り方を例示したサンプルソースである。図6(A)は、アプレットからJavaScriptへのメッセージの送り方の例であり、図6(B)は、JavaScriptからアプレットへのメッセージの送り方の例である。図6(B)で、「ti」は「applet」タグの「name」属性で指定されるアプレットの名前であり、「setStr()」はこのアプレットがもっているメソッドである。
以下では、本実施形態に係るサーバ装置20と端末30の動作について説明する。図7は、サーバ装置20が端末30でJavaメソッドを呼び出すときの処理フローの一例を示す。まず、一の端末30のウェブブラウザ50は、サーバ装置20のHTMLファイルのURLにアクセスする(S11)。このアクセスに応じて、サーバ装置20のアプリケーション送信部22と端末30のアプリケーション受信部51を介して、端末30のウェブブラウザ50はウェブページをダウンロードする(S12)。このウェブページは、JavaScriptアプリケーションとアプレットを含む。
そして、端末30のウェブブラウザ50とJVM70は、ダウンロードされたウェブページに含まれるJavaScriptアプリケーションとアプレットをそれぞれ実行する。これにより、端末30は、JavaScript60とアプレット80を実行することができる。
続いて、ウェブブラウザ50のJavaScript60の実行部61は、サーバ装置20に対してサブスクライブをする(S13)。実行部61は、一例として、イベントを受信したことにより呼び出されるコールバック関数を登録する。これにより、サーバ装置20が何れかの端末30からイベントを受信した場合、又はサーバ装置20でイベントが発生した場合に、サーバ装置20は端末30のJavaScript60を呼び出すことができる。
続いて、ウェブブラウザ50のJavaScript60の実行部61は、そのウェブブラウザ50を識別するためのブラウザ識別情報(ID)の送信をサーバ装置20に要求する(S14)。実行部61は、ステップS13の処理と同時にブラウザ識別情報の要求を行ってもよい。
続いて、サーバ装置20は、固有のブラウザ識別情報を、端末30のウェブブラウザ50に割り当てる。ここでは、その端末30のウェブブラウザ50にID=1が割り当てられるとする。なお、サーバ装置20にも、識別情報としてID=−1が割り当てられているとする。サーバ装置20は、割り当てたブラウザ識別情報ID=1を、ウェブブラウザ50のJavaScript60の実行部61に送信する(S15)。実行部61は、受信したブラウザ識別情報を記憶する。
一方、サーバ装置20上では、サーブレット40が実行されている。ここで、サーブレット40の実行部41が、ID=1のウェブブラウザ50の端末30でJavaメソッドを呼び出すとする(S16)。この呼び出し処理は、例えばサーバ装置20に対するユーザの操作や、サーバ装置20の負荷状況が予め定められた条件を満たしたことなどを契機として、行われるものとする。
すると、サーバ装置20のメッセージ送信部42は、ID=1のウェブブラウザ50を指定して、Javaメソッドを呼び出すイベントを通知する(S17)。即ち、メッセージ送信部42は、ID=1のウェブブラウザ50をもつ端末30に実行させるJavaメソッドを含むJavaオブジェクトを含むメッセージを、その端末30に送信する。例えば、加算のJavaメソッドを端末30に実行させる場合は、図5に示したadd()のコードを図4のJavaメソッド96に含み、加算される値をJavaフィールド97に含むJavaオブジェクト90Bをもつメッセージ90を、メッセージ送信部42が送信する。
ID=1のウェブブラウザ50をもつ端末30のメッセージ受信部52がそのメッセージを受信すると、その端末30のアプレット呼出部62は、そのメッセージに対応するイベントをJavaScript60からアプレット80に受け渡す。即ち、アプレット呼出部62は、その端末30のJVM70上で実行されているアプレット80の実行部81を呼び出す(S18)。
そして、サーバ装置20から送信されたJavaメソッドの呼び出しが、アプレット80上で実行される(S19)。加算のメソッドを呼び出す場合は、端末30のリソースを使って加算処理が実行される。
続いて、JavaScript呼出部82は、Javaメソッドが呼び出されたことに対応するイベントを、アプレット80からJavaScript60に受け渡す。即ち、JavaScript呼出部82は、ウェブブラウザ50上で実行されているJavaScript60の実行部61を呼び出す(S20)。
すると、端末30のメッセージ送信部53は、ID=−1のサーバ装置20を指定して、Javaメソッドが呼び出されたことに対応するイベントを通知する(S21)。即ち、メッセージ送信部53は、Javaメソッドを呼び出したことにより得られた結果を含むJavaオブジェクトを含むメッセージを、サーバ装置20に送信する。例えば、加算のJavaメソッドを端末30に実行させた場合は、加算処理により得られた和を図4の処理結果99に含むJavaオブジェクト90Bをもつメッセージ90’を、メッセージ送信部53が送信する。
そのメッセージをサーバ装置20のメッセージ受信部43が受信して、サーバ装置20は、Javaメソッドを呼び出したことにより得られた結果を取得する(S22)。以上により、サーバ装置20が端末30でJavaメソッドを呼び出すときの動作は終了する。
本実施形態では、サーバ装置20だけでなく端末30も、別の端末30上でJavaメソッドを呼び出すことができる。そこで次に、端末30が別の端末30上でJavaメソッドを呼び出すときの動作について説明する。図8は、第1の端末30が第2の端末30でJavaメソッドを呼び出すときの処理フローの一例を示す。
まず、第1の端末30のウェブブラウザ50が、サーバ装置20との間で図7のステップS11〜S15と同様の処理を行う(S31〜S35)。この部分は上記と同様であるため、説明を省略する。また、第2の端末30のウェブブラウザ50も、サーバ装置20との間でステップS11〜S15と同様の処理を行う。第1の端末30と第2の端末30のウェブブラウザ50には、ブラウザ識別情報として、それぞれID=1とID=2が割り当てられているとする。また、サーバ装置20にも、識別情報としてID=−1が割り当てられているとする。
ここで、第1の端末30のアプレット80の実行部81が、ID=2のウェブブラウザ50の端末30でJavaメソッドを呼び出すとする(S36)。この呼び出し処理は、例えば第1の端末30で実行されているアプレット80に対するユーザの操作や、第1の端末30の負荷状況が予め定められた条件を満たしたことなどを契機として、行われるものとする。
すると、第1の端末30のJavaScript呼出部82は、Javaメソッドを呼び出すイベントを、アプレット80からJavaScript60に受け渡す。即ち、JavaScript呼出部82は、第1の端末30のウェブブラウザ50上で実行されているJavaScript60の実行部61を呼び出す(S37)。
すると、第1の端末30のメッセージ送信部53は、ID=2のウェブブラウザ50を指定して、Javaメソッドを呼び出すイベントをサーバ装置20に通知する(S38)。即ち、メッセージ送信部53は、ID=2のウェブブラウザ50をもつ第2の端末30に実行させるJavaメソッドを含むJavaオブジェクトを含むメッセージを、サーバ装置20に送信する。
サーバ装置20のメッセージ受信部43がそのメッセージを受信すると、サーバ装置20のメッセージ送信部42は、そのメッセージで指定されているID=2のウェブブラウザ50をもつ第2の端末30に、そのメッセージを通知(転送)する(S39)。
ID=2のウェブブラウザ50をもつ第2の端末30のメッセージ受信部52がそのメッセージを受信すると、第2の端末30のアプレット呼出部62は、そのメッセージに対応するイベントをJavaScript60からアプレット80に受け渡す。即ち、アプレット呼出部62は、第2の端末30のJVM70上で実行されているアプレット80の実行部81を呼び出す(S40)。
そして、第1の端末30から送信されたJavaメソッドの呼び出しが、アプレット80上で実行される(S41)。
続いて、第2の端末30のJavaScript呼出部82は、Javaメソッドが呼び出されたことに対応するイベントを、アプレット80からJavaScript60に受け渡す。即ち、JavaScript呼出部82は、第2の端末30のウェブブラウザ50上で実行されているJavaScript60の実行部61を呼び出す(S42)。
すると、第2の端末30のメッセージ送信部53は、ID=1のウェブブラウザ50を指定して、Javaメソッドが呼び出されたことに対応するイベントをサーバ装置20に通知する(S43)。即ち、メッセージ送信部53は、Javaメソッドを呼び出したことにより得られた結果を含むJavaオブジェクトを含むメッセージを、サーバ装置20に送信する。
サーバ装置20のメッセージ受信部43がそのメッセージを受信すると、メッセージ送信部42は、そのメッセージで指定されているID=1のウェブブラウザ50をもつ第1の端末30に、そのメッセージを通知(転送)する(S44)。
ID=1のウェブブラウザ50をもつ第1の端末30のメッセージ受信部52がそのメッセージを受信すると、第1の端末30のアプレット呼出部62は、そのメッセージに対応するイベントをJavaScript60からアプレット80に受け渡す。即ち、アプレット呼出部62は、第1の端末30のJVM70上で実行されているアプレット80の実行部81を呼び出す(S45)。
これにより、第1の端末30のアプレット80の実行部81は、Javaメソッドを呼び出したことにより得られた結果を取得する(S46)。以上により、第1の端末30が第2の端末30でJavaメソッドを呼び出すときの動作は終了する。
本実施形態によれば、端末30で実行されているアプレット等のJavaプログラムに対してリモートから(即ち、サーバ装置20や別の端末30等の外部から)Javaオブジェクトを送信し、そのオブジェクトに含まれるJavaメソッドをリモートから呼び出すことが可能になる。即ち、JavaScriptの実行環境をもたないサーバが、クライアント(ウェブブラウザ)上でのみ実行可能なJavaScriptプログラムではなく、サーバ上で実行可能なJavaプログラムをそのままクライアントに送信し、それをサーバから呼び出して実行させることが可能になる。これにより、例えばサーバが、クライアントのリソースを使ってクライアントに計算させた結果を取得することができる。
一般に、あるJVMが別のJVM上でJavaメソッドを呼び出すためには、JavaのRMIの仕組みを使う必要がある。しかしながら、本実施形態によれば、Javaメソッドが呼び出される側でRMIのサービス呼び出しを最初に受け付けるモジュールが予め稼動していなくても、リモートからJavaメソッドを呼び出すことが可能になる。
なお、図5では四則演算を行うJavaクラスを例示したが、クライアントで呼び出されるJavaメソッドはこれに限らない。クライアントに送信されるJavaオブジェクトには、任意の計算処理を含めることができる。そこで以下では、クライアントで呼び出されるJavaメソッドの別の例について説明する。
まず、本実施形態をソート計算に適用することが考えられる。例えば、ソートのアルゴリズムをJavaメソッド内に実装し、さらにこのメソッドを呼び出すための別のメソッドを実装する。ソート対象のデータは、配列等のデータ形式でJavaオブジェクトに含める。ソート結果のデータは、ソート対象のデータエリアに書き込むようにしてもよいし、別に用意したエリアに書き込んでもよい。こうして得られたJavaオブジェクトを含むメッセージを送受信することにより、サーバがクライアントにソートの計算を実行させることができる。一般に、ソートに要する計算量は、ソート対象のデータの要素数に応じて増大する。このため、本実施形態を適用して、計算処理をクライアントに行わせるメリットがある。
また、本実施形態を分割統治法による計算処理に適用することも考えられる。本実施形態のコンピュータシステム10は、1個のサーバ装置20に対して複数の端末30が接続されている。そこで、例えばソート計算について、ソート対象のデータを複数個に分割し、それぞれのデータについて別々の端末30にクイックソートやマージソートを実行させることができる。それらの結果をサーバ装置20で取得して、全体のソート結果を求めることができる。
また、本実施形態をアプレットの状態制御に適用することも考えられる。一般に、アプレットはクライアントのウェブブラウザ上に表示エリアをもつことができるので、サーバから受信したJavaオブジェクトを処理した結果を、その表示エリアに示すことが可能である。一般に、アプレットを操作するためにはその表示エリアに表示されるボタン等を操作しなければならないが、本実施形態によれば、表示エリアへのアプレットによる表示を制御するコマンドを含むJavaオブジェクトを送受信することにより、クライアントのアプレットをサーバ(又は別のクライアント)から操作することが可能になる。
例えば、ウェブブラウザ上の表示エリアに「Start」、「Stop」、「Pause」等のボタンが配置され、クライアントのユーザがこれらのボタンを操作することにより処理を制御することができるアプレットを考える。そして例えば、ウェブブラウザに表示されるウェブページが、ネットワークを利用したリモート講義で利用されている教材であるとする。この場合、複数の受講生が利用している複数のクライアントを、1人の講師が制御したいときがある。サーバ側の講師が各クライアントのアプレットの状態制御をするためには、「Start」、「Stop」、「Pause」等のメソッドの呼び出しをサーバから行い、その結果がアプレットの表示エリアに出力されるようにする必要がある。本実施形態を適用すれば、このような制御を実現することが可能になる。
最後に、本実施形態に係るコンピュータのハードウェア構成について説明する。図9は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
コンピュータ1900にダウンロードして実行され、コンピュータ1900を端末30として機能させるプログラムは、アプリケーション受信モジュールと、メッセージ受信モジュールと、メッセージ送信モジュールと、JavaScript実行モジュールと、アプレット呼出モジュールと、アプレット実行モジュールと、JavaScript呼出モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、アプリケーション受信部51、メッセージ受信部52、メッセージ送信部53、実行部61、アプレット呼出部62、実行部81及びJavaScript呼出部82としてそれぞれ機能させる。
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるアプリケーション受信部51、メッセージ受信部52、メッセージ送信部53、実行部61、アプレット呼出部62、実行部81及びJavaScript呼出部82として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の端末30が構築される。
また、コンピュータ1900にインストールされ、コンピュータ1900をサーバ装置20として機能させるプログラムは、アプリケーション送信モジュールと、サーブレット実行モジュールと、メッセージ送信モジュールと、メッセージ受信モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、アプリケーション送信部22、実行部41、メッセージ送信部42及びメッセージ受信部43としてそれぞれ機能させる。
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるアプリケーション送信部22、実行部41、メッセージ送信部42及びメッセージ受信部43として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のサーバ装置20が構築される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、若しくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイル又はデータベース等の中から、全部又は必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020及び外部記憶装置等をメモリ、記憶部、又は記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数又は定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、又はサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイル又はデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10…コンピュータシステム、20…サーバ装置、21…アプリケーション記憶部、22…アプリケーション送信部、30…端末、40…サーブレット、41…実行部、42…メッセージ送信部、43…メッセージ受信部、50…ウェブブラウザ、51…アプリケーション受信部、52…メッセージ受信部、53…メッセージ送信部、60…JavaScriptアプリケーション、61…実行部、62…アプレット呼出部、70…Java仮想マシン、80…アプレット、81…実行部、82…JavaScript呼出部、1900…コンピュータ、2000…CPU、2010…ROM、2020…RAM、2030…通信インターフェイス、2040…ハードディスクドライブ、2050…フレキシブルディスク・ドライブ、2060…CD−ROMドライブ、2070…入出力チップ、2075…グラフィック・コントローラ、2080…表示装置、2082…ホスト・コントローラ、2084…入出力コントローラ、2090…フレキシブルディスク、2095…CD−ROM

Claims (10)

  1. サーバコンピュータとクライアントコンピュータが通信回線を介して接続されたコンピュータシステムであって、
    前記サーバコンピュータが、
    自装置が実行可能なJavaメソッドを前記クライアントコンピュータにて実行されるJavaアプレット上で呼び出すためのメッセージを当該クライアントコンピュータに送信するサーバ側メッセージ送信部と、
    前記サーバ側メッセージ送信部が送信した前記メッセージに応じて前記クライアントコンピュータが前記Javaメソッドを呼び出した結果を含むメッセージを当該クライアントコンピュータから受信するサーバ側メッセージ受信部とを備え、
    前記クライアントコンピュータが、
    前記サーバコンピュータから送信された前記メッセージを受信するクライアント側メッセージ受信部と、
    自装置のウェブブラウザ上でブラウザ用スクリプトを実行するスクリプト実行部と、
    自装置のJava仮想マシン上で前記Javaアプレットを実行するアプレット実行部と、
    前記クライアント側メッセージ受信部が受信した前記メッセージに応じて、前記スクリプト実行部が実行する前記ブラウザ用スクリプトと前記アプレット実行部が実行する前記Javaアプレットの間でイベントの受け渡しをすることにより、当該アプレット実行部が前記Javaメソッドを呼び出すように制御するイベント受渡部と、
    前記アプレット実行部が前記Javaメソッドを呼び出した結果を含むメッセージを前記サーバコンピュータに送信するクライアント側メッセージ送信部とを備える、システム。
  2. 前記サーバコンピュータが実行可能なJavaメソッドを含むJavaオブジェクトを含むメッセージを、前記サーバ側メッセージ送信部が前記クライアントコンピュータに送信する、請求項1のシステム。
  3. 前記サーバコンピュータが実行可能なJavaメソッドであって前記JavaアプレットがもっているJavaメソッドを呼び出すためのパラメータを含むメッセージを、前記サーバ側メッセージ送信部が前記クライアントコンピュータに送信する、請求項1のシステム。
  4. 前記クライアントコンピュータを複数台含むコンピュータシステムであって、
    前記クライアントコンピュータのうちの第1のクライアントコンピュータの前記クライアント側メッセージ送信部が、当該クライアントコンピュータのうちの第2のクライアントコンピュータにて実行されるJavaアプレット上で前記Javaメソッドを呼び出すためのメッセージを、前記サーバコンピュータを介して当該第2のクライアントコンピュータに送信し、
    前記第2のクライアントコンピュータの前記クライアント側メッセージ受信部が受信した前記メッセージに応じて当該第2のクライアントコンピュータの前記アプレット実行部が前記Javaメソッドを呼び出し、
    前記Javaメソッドが呼び出された結果を含むメッセージを、前記第2のクライアントコンピュータの前記クライアント側メッセージ送信部が、前記サーバコンピュータを介して前記第1のクライアントコンピュータに送信する、請求項1乃至請求項3のいずれかのシステム。
  5. 前記サーバコンピュータにかかっている負荷が予め定めた基準よりも大きい場合に、前記Javaアプレット上で前記Javaメソッドを呼び出すためのメッセージを、前記サーバ側メッセージ送信部が前記クライアントコンピュータに送信する、請求項1乃至請求項4のいずれかのシステム。
  6. 前記クライアントコンピュータ用の表示部への前記Javaアプレットによる表示を制御するJavaメソッドを当該Javaアプレット上で呼び出すためのメッセージを、前記サーバ側メッセージ送信部が当該クライアントコンピュータに送信する、請求項1乃至請求項5のいずれかのシステム。
  7. サーバコンピュータとクライアントコンピュータが通信回線を介して接続され、当該サーバコンピュータで発生したイベントを当該クライアントコンピュータに通知する機能を当該サーバコンピュータが有するコンピュータシステムであって、
    前記サーバコンピュータが、
    自装置のHTMLファイルであって、ブラウザ用スクリプト及びJavaアプレットを含むHTMLファイルのURLにアクセスしてきた前記クライアントコンピュータに、当該ブラウザ用スクリプト及び当該Javaアプレットを送信するアプリケーション送信部と、
    自装置が実行可能なJavaメソッドであって前記クライアントコンピュータにて実行される前記Javaアプレット上で呼び出されるJavaメソッドを含むメッセージ、又は当該JavaアプレットがもっているJavaメソッドを呼び出すためのパラメータを含むメッセージを、当該クライアントコンピュータに送信するサーバ側メッセージ送信部と、
    前記サーバ側メッセージ送信部が送信した前記メッセージに応じて前記クライアントコンピュータが前記Javaメソッドを呼び出した結果を含むメッセージを当該クライアントコンピュータから受信するサーバ側メッセージ受信部とを備え、
    前記クライアントコンピュータが、
    前記サーバコンピュータの前記HTMLファイルのURLにアクセスすることにより、当該サーバコンピュータから前記ブラウザ用スクリプト及び前記Javaアプレットを受信するアプリケーション受信部と、
    前記サーバコンピュータから送信された前記メッセージを受信するクライアント側メッセージ受信部と、
    前記アプリケーション受信部が受信した前記ブラウザ用スクリプトを自装置のウェブブラウザ上で実行するスクリプト実行部と、
    前記アプリケーション受信部が受信した前記Javaアプレットを自装置のJava仮想マシン上で実行するアプレット実行部と、
    前記クライアント側メッセージ受信部が受信した前記メッセージに応じて、前記スクリプト実行部が実行する前記ブラウザ用スクリプトと前記アプレット実行部が実行する前記Javaアプレットの間でイベントの受け渡しをすることにより、当該メッセージに含まれる前記Javaメソッド又は当該Javaアプレットがもっている前記Javaメソッドを当該アプレット実行部が呼び出すように制御するイベント受渡部と、
    前記アプレット実行部が前記Javaメソッドを呼び出した結果を含むメッセージを前記サーバコンピュータに送信するクライアント側メッセージ送信部とを備える、システム。
  8. 通信回線を介して他のコンピュータと接続されたコンピュータであって、
    自装置が実行可能なJavaメソッドを前記他のコンピュータにて実行されるJavaアプレット上で呼び出すためのメッセージを当該他のコンピュータに送信するメッセージ送信部と、
    前記メッセージ送信部が送信した前記メッセージに応じて前記他のコンピュータが前記Javaメソッドを呼び出した結果を含むメッセージを当該他のコンピュータから受信するメッセージ受信部とを備える、コンピュータ。
  9. 第1のコンピュータと通信回線を介して接続された第2のコンピュータで当該第1のコンピュータがJavaメソッドを呼び出す方法であって、
    前記第1のコンピュータが実行可能なJavaメソッドを前記第2のコンピュータにて実行されるJavaアプレット上で呼び出すためのメッセージを、当該第1のコンピュータから当該第2のコンピュータに送信するステップと、
    前記第1のコンピュータから送信された前記メッセージを前記第2のコンピュータで受信するステップと、
    前記第2のコンピュータのウェブブラウザ上でブラウザ用スクリプトを実行するステップと、
    前記第2のコンピュータのJava仮想マシン上で前記Javaアプレットを実行するステップと、
    受信された前記メッセージに応じて、前記ブラウザ用スクリプトと前記Javaアプレットの間でイベントの受け渡しをすることにより、前記第2のコンピュータで前記Javaメソッドを呼び出すステップと、
    前記Javaメソッドが呼び出された結果を含むメッセージを前記第2のコンピュータから前記第1のコンピュータに送信するステップと、
    前記第2のコンピュータから送信された前記メッセージを前記第1のコンピュータで受信するステップとを備える、方法。
  10. 通信回線を介して他のコンピュータと接続されたコンピュータが当該他のコンピュータでJavaメソッドを呼び出すように機能させるプログラムであって、
    前記コンピュータを、
    自装置が実行可能なJavaメソッドを前記他のコンピュータにて実行されるJavaアプレット上で呼び出すためのメッセージを当該他のコンピュータに送信するメッセージ送信部と、
    前記メッセージ送信部が送信した前記メッセージに応じて前記他のコンピュータが前記Javaメソッドを呼び出した結果を含むメッセージを当該他のコンピュータから受信するメッセージ受信部として機能させる、プログラム。
JP2011220517A 2011-10-04 2011-10-04 クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム Active JP5936103B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011220517A JP5936103B2 (ja) 2011-10-04 2011-10-04 クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム
US13/567,182 US9678814B2 (en) 2011-10-04 2012-08-06 Implementing a java method
US15/485,305 US9973563B2 (en) 2011-10-04 2017-04-12 Implementing a java method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011220517A JP5936103B2 (ja) 2011-10-04 2011-10-04 クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2013080404A true JP2013080404A (ja) 2013-05-02
JP5936103B2 JP5936103B2 (ja) 2016-06-15

Family

ID=47993658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011220517A Active JP5936103B2 (ja) 2011-10-04 2011-10-04 クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム

Country Status (2)

Country Link
US (2) US9678814B2 (ja)
JP (1) JP5936103B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5682996B2 (ja) 2010-02-04 2015-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クライアントプログラム、端末、サーバ装置、サーバプログラム、システムおよび方法
JP5936103B2 (ja) 2011-10-04 2016-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム
US9626450B2 (en) 2012-06-29 2017-04-18 Dell Products L.P. Flash redirection with browser calls caching
US9489471B2 (en) 2012-06-29 2016-11-08 Dell Products L.P. Flash redirection with caching
US9354764B2 (en) * 2012-06-29 2016-05-31 Dell Products L.P. Playback of flash content at a client by redirecting execution of a script by a flash redirection plugin at a server to a flash redirection browser at the client
US20150161282A1 (en) * 2013-12-11 2015-06-11 Yahoo! Inc. Method and System for Smart URL Shortening Service
US10284621B2 (en) 2015-11-09 2019-05-07 International Business Machines Corporation Session management
CN108228359B (zh) * 2016-12-15 2020-11-03 北京京东尚科信息技术有限公司 web程序与R程序集成处理数据的方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092103A (ja) * 2008-10-03 2010-04-22 Bratech:Kk Webページ表示方法、サーバ装置、及びプログラム
JP2010097543A (ja) * 2008-10-20 2010-04-30 Fujitsu Frontech Ltd サービス支援プログラムおよびサービス支援方法

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0589217A (ja) 1991-09-30 1993-04-09 N T T Data Tsushin Kk 共有画面表示制御装置
JPH0749936A (ja) 1993-08-05 1995-02-21 Mitsubishi Electric Corp 共有画面システム
TW298694B (en) 1995-09-22 1997-02-21 Ibm Method for collaboration via partitioning of state variables
US5774670A (en) * 1995-10-06 1998-06-30 Netscape Communications Corporation Persistent client state in a hypertext transfer protocol based client-server system
US6446070B1 (en) * 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6938263B2 (en) * 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US5944781A (en) * 1996-05-30 1999-08-31 Sun Microsystems, Inc. Persistent executable object system and method
US6240444B1 (en) 1996-09-27 2001-05-29 International Business Machines Corporation Internet web page sharing
US5944791A (en) 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
CA2280182C (en) * 1997-02-12 2006-01-17 British Telecommunications Public Limited Company Communicating between stations
US6085224A (en) * 1997-03-11 2000-07-04 Intracept, Inc. Method and system for responding to hidden data and programs in a datastream
US6014702A (en) 1997-06-04 2000-01-11 International Business Machines Corporation Host information access via distributed programmed objects
US6405367B1 (en) 1998-06-05 2002-06-11 Hewlett-Packard Company Apparatus and method for increasing the performance of Java programs running on a server
US6230171B1 (en) 1998-08-29 2001-05-08 International Business Machines Corporation Markup system for shared HTML documents
JP2000112862A (ja) 1998-09-30 2000-04-21 Fujitsu Hokuriku Systems:Kk 協調作業システムおよび記録媒体
JP2000137683A (ja) 1998-10-30 2000-05-16 Toshiba Corp 情報処理装置及び共有データ処理方法
JP3715810B2 (ja) 1998-12-24 2005-11-16 株式会社日立製作所 ドキュメント共有方法およびwwwサーバ計算機
US7216300B2 (en) * 1998-12-30 2007-05-08 Ncr Corp. Method and apparatus for an applet to display multiple windows
JP3437933B2 (ja) 1999-01-21 2003-08-18 インターナショナル・ビジネス・マシーンズ・コーポレーション ブラウザ共有方法及びシステム
US6571389B1 (en) 1999-04-27 2003-05-27 International Business Machines Corporation System and method for improving the manageability and usability of a Java environment
US6480882B1 (en) * 1999-06-25 2002-11-12 Emc Corporation Method for control and communication between computer systems linked through a network
US6854120B1 (en) * 2000-01-14 2005-02-08 International Business Machines Corporation Accessing a ERP application over the internet using strongly typed declarative language files
AU2001239746A1 (en) 2000-02-07 2001-08-14 Matthew Eichner Group-browsing system
AU2001247462A1 (en) 2000-03-15 2001-09-24 Quaadros Technologies, Inc. Method and system for linked communication between client stations
JP2001282561A (ja) 2000-03-30 2001-10-12 Nec Corp 分散オブジェクト管理方法、そのプログラムを記憶した記憶媒体及び分散システム
US7243356B1 (en) 2000-05-09 2007-07-10 Sun Microsystems, Inc. Remote method invocation with secure messaging in a distributed computing environment
WO2001097012A2 (en) * 2000-06-14 2001-12-20 Sap Aktiengesellschaft Communication between client and server computers via http, method, computer program product and system
US6925608B1 (en) * 2000-07-05 2005-08-02 Kendyl A. Roman Graphical user interface for building Boolean queries and viewing search results
US6976059B1 (en) * 2000-07-20 2005-12-13 International Business Machines Corporation System and method to provide applets using a server based virtual machine
JP4412831B2 (ja) 2000-08-21 2010-02-10 富士通株式会社 チャットシステム及びこのシステムで読み取り可能な記録媒体
EP1195677A1 (en) * 2000-10-06 2002-04-10 Abb Research Ltd. Dynamic class loading
EP1197859A1 (en) 2000-10-10 2002-04-17 Canon Kabushiki Kaisha Method and device for remotely using a data-processing object in a communications network
JP2002328886A (ja) 2001-04-27 2002-11-15 Canon Inc 遠隔操作システム、遠隔操作方法、被操作装置、操作端末、プログラムおよび記憶媒体
US7454506B2 (en) * 2000-12-18 2008-11-18 International Business Machines Corporation Method for maintaining state information on a client
US20020083134A1 (en) 2000-12-22 2002-06-27 Bauer Kirk Wayne Method and system of collaborative browsing
US20020138624A1 (en) 2001-03-21 2002-09-26 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Collaborative web browsing
US7225225B2 (en) 2001-03-30 2007-05-29 Sharp Laboratories Of America, Inc. Selective synchronization of web browsers
US7353248B1 (en) * 2001-07-30 2008-04-01 At&T Delaware Intellectual Property, Inc. Application server and method to perform hierarchical configurable data validation
US20030041109A1 (en) 2001-08-09 2003-02-27 Meloni Ryan K. Method and apparatus for distance learning and workgroup collaboration utilizing the world wide web
WO2003038634A1 (fr) 2001-10-30 2003-05-08 International Business Machines Corporation Procede de collaboration entre ordinateurs sur un reseau, systeme et programme informatique
JP2003150440A (ja) 2001-11-13 2003-05-23 Matsushita Electric Ind Co Ltd 複数ユーザインタフェースの同期方法とそのシステム及びプログラム
KR100472202B1 (ko) 2001-12-05 2005-03-08 한국전자통신연구원 아이 알 씨 프로토콜을 이용한 웹 공동 브라우징 시스템및 그 방법
WO2003058398A2 (en) * 2001-12-28 2003-07-17 Postx Corporation System and method for applet caching
US7395536B2 (en) * 2002-11-14 2008-07-01 Sun Microsystems, Inc. System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment
EP1420340A1 (en) * 2002-11-15 2004-05-19 Hewlett-Packard Company Remote object invocation system and method
JP4128443B2 (ja) 2002-12-27 2008-07-30 株式会社野村総合研究所 ウェブブラウザ利用処理システムにおけるデータ領域管理方法
JP2004265063A (ja) 2003-02-28 2004-09-24 Canon Inc 情報処理方法および装置
JP2005018499A (ja) 2003-06-27 2005-01-20 Sendai Foundation For Applied Information Sciences パーソナルエージェントによるグループメイキングサポートシステム
KR100498361B1 (ko) 2003-07-18 2005-07-01 엘지전자 주식회사 이동 통신단말기의 무선 인터넷 동기화 방법
US7594015B2 (en) 2003-07-28 2009-09-22 Sap Ag Grid organization
JP2005056163A (ja) 2003-08-05 2005-03-03 Internatl Business Mach Corp <Ibm> コラボレーション・システムのためのサーバ装置、コラボレーション・システムのためのクライアント装置、コンピュータ装置をコラボレーション・システムのためのサーバ装置として機能させるためのプログラム、およびコンピュータ装置をコラボレーション・システムのためのクライアント装置として機能させるためのプログラム並びにコラボレーション・システム
JP4459841B2 (ja) 2004-03-01 2010-04-28 富士フイルム株式会社 画像編集装置および方法並びにプログラム
CN100341312C (zh) 2004-03-01 2007-10-03 富士胶片株式会社 图像编辑装置及其方法和程序
JP4622539B2 (ja) 2005-01-24 2011-02-02 日本電気株式会社 Webコンテンツ同期システムおよび端末
US8499023B1 (en) * 2005-03-23 2013-07-30 Oracle America, Inc. Servlet-based grid computing environment using grid engines and switches to manage resources
JP2007034687A (ja) 2005-07-27 2007-02-08 Fuji Xerox Co Ltd シンクライアントシステム
JP2007079988A (ja) 2005-09-14 2007-03-29 Nec Corp Wwwブラウザ、htmlページ共有システムおよびhtmlページ共有方法
US8019871B2 (en) 2006-07-27 2011-09-13 Hewlett-Packard Development Company, L.P. Federation of grids using rings of trust
JP5089217B2 (ja) 2007-03-30 2012-12-05 クボタシーアイ株式会社 ポリ乳酸管の加工方法
US20090037890A1 (en) * 2007-08-03 2009-02-05 Smartmicros Usa, Llc Method and system for generating an application
JP2009053957A (ja) 2007-08-27 2009-03-12 Canon Inc 情報処理装置及びその制御方法
US7672938B2 (en) * 2007-10-05 2010-03-02 Microsoft Corporation Creating search enabled web pages
WO2009066233A2 (en) 2007-11-23 2009-05-28 Koninklijke Philips Electronics N.V. Co-browsing (java) scripted html documents
US8849914B2 (en) 2007-12-20 2014-09-30 The Vanguard Group, Inc. System and method for synchronized co-browsing by users in different web sessions
US8887039B2 (en) * 2008-01-02 2014-11-11 Microsoft Corporation Web page based program versioning
US20090254998A1 (en) * 2008-04-07 2009-10-08 Plura Processing, Lp Web-browser based grid computing system
EP2335379A4 (en) * 2008-10-19 2012-05-09 Research In Motion Ltd WEB APPLICATION FRAMEWORK FOR OPTIMUM RENDER PERFORMANCE ON A CUSTOMER BASED ON PARAMETERS DETECTED FROM THE CLIENT
US20120054842A1 (en) * 2009-01-23 2012-03-01 Vanios Consulting S.L. Secure access control system
JP4748819B2 (ja) 2009-01-28 2011-08-17 インターナショナル・ビジネス・マシーンズ・コーポレーション クライアントプログラム、端末、方法、サーバシステムおよびサーバプログラム
JP5128559B2 (ja) 2009-08-27 2013-01-23 株式会社日立製作所 プログラム実行装置、アプリケーションプログラムの実行方法及びプログラム
JP5682996B2 (ja) 2010-02-04 2015-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クライアントプログラム、端末、サーバ装置、サーバプログラム、システムおよび方法
JP5936103B2 (ja) 2011-10-04 2016-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010092103A (ja) * 2008-10-03 2010-04-22 Bratech:Kk Webページ表示方法、サーバ装置、及びプログラム
JP2010097543A (ja) * 2008-10-20 2010-04-30 Fujitsu Frontech Ltd サービス支援プログラムおよびサービス支援方法

Also Published As

Publication number Publication date
US20170223086A1 (en) 2017-08-03
JP5936103B2 (ja) 2016-06-15
US9678814B2 (en) 2017-06-13
US9973563B2 (en) 2018-05-15
US20130086138A1 (en) 2013-04-04

Similar Documents

Publication Publication Date Title
JP5936103B2 (ja) クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム
US10523784B2 (en) Capturing and replaying application sessions using resource files
US10353718B2 (en) Providing access to a remote application via a web client
KR101507629B1 (ko) 기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버
US10158701B2 (en) Method and system for providing a state model of an application program
US9473558B2 (en) Utilization of target browsers
US20210081263A1 (en) System for offline object based storage and mocking of rest responses
US11036522B2 (en) Remote component loader
US10541854B2 (en) Component loading based on user interactions
US9059959B2 (en) Client side management of HTTP sessions
US10725797B2 (en) Service-driven dynamic user interface technology
US10042521B1 (en) Emulation of control resources for use with converted content pages
CN112764746A (zh) 数据处理方法、装置、电子设备及存储介质
US10291743B2 (en) Configuring service endpoints in native client applications
US10558487B2 (en) Dynamic customization of client behavior
JP6875334B2 (ja) サーバ、システム、クライアント装置、ログ情報記憶方法、クライアント情報送信方法及びプログラム
US20160173570A1 (en) Methods, apparatus, systems and computer readable media for use in association with partitioning and/or rendering
CN118013143A (zh) 页面加载方法、装置、电子设备及可读存储介质
JP2015185177A (ja) 表示画面を表示させるサーバ及び方法
JP2015185005A (ja) 表示画面を表示させるサーバ及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160120

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: 20160405

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20160405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160428

R150 Certificate of patent or registration of utility model

Ref document number: 5936103

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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