JP7503685B1 - Embedding program, screen display program, and screen display method - Google Patents
Embedding program, screen display program, and screen display method Download PDFInfo
- Publication number
- JP7503685B1 JP7503685B1 JP2023072879A JP2023072879A JP7503685B1 JP 7503685 B1 JP7503685 B1 JP 7503685B1 JP 2023072879 A JP2023072879 A JP 2023072879A JP 2023072879 A JP2023072879 A JP 2023072879A JP 7503685 B1 JP7503685 B1 JP 7503685B1
- Authority
- JP
- Japan
- Prior art keywords
- program
- parent
- embedded
- information
- screen
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 102
- 230000008569 process Effects 0.000 claims description 60
- 238000012545 processing Methods 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 11
- 238000012986 modification Methods 0.000 abstract description 13
- 230000004048 modification Effects 0.000 abstract description 13
- 230000006870 function Effects 0.000 description 19
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000011423 initialization method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
【課題】既存のウェブアプリケーションプログラムのソースコードに対する改修を減らしつつ、既存のウェブアプリケーションプログラムとの間で、画面の動き等に連動させた情報連携を実現可能にする。【解決手段】埋込プログラム20は、親画面11をブラウザ30に表示するウェブアプリケーションプログラムである親プログラム10から呼び出される、親プログラム10とは異なるウェブアプリケーションプログラムである。埋込プログラム20は、ブラウザ30に対して発生した指定イベントを検知する。埋込プログラム20は、指定イベントが検知されると、親プログラム10と埋込プログラム20との間で情報を連携させる。【選択図】図1[Problem] To realize information sharing linked to screen movements, etc., between existing web application programs while reducing modifications to the source code of existing web application programs. [Solution] An embedded program 20 is a web application program that is called from a parent program 10, which is a web application program that displays a parent screen 11 on a browser 30, and is different from the parent program 10. The embedded program 20 detects a specified event that has occurred on the browser 30. When a specified event is detected, the embedded program 20 links information between the parent program 10 and the embedded program 20. [Selected Figure] Figure 1
Description
本開示は、ウェブアプリケーションプログラム間の情報を連携する技術に関する。 This disclosure relates to technology for linking information between web application programs.
既存のウェブアプリケーションプログラムに対して機能を追加したい場合がある。この場合には、既存のウェブアプリケーションプログラムのソースコードに対して改修を加えればよい。しかし、既存のウェブアプリケーションプログラムのソースコードの改修が困難な場合がある。例えば、既存のウェブアプリケーションプログラムが他社の製品であるような場合には、既存のウェブアプリケーションプログラムの詳細な仕様が把握できないため改修が困難な場合がある。また、既存のウェブアプリケーションプログラムがクラウドシステムである場合には、自由な改修が認められておらず、改修が困難な場合がある。
既存のウェブアプリケーションプログラムのソースコードの改修が困難な場合には、追加機能を実現したウェブアプリケーションプログラムを別途作成して、既存のウェブアプリケーションプログラムとの間で情報連携させるという方法が考えられる。
There are cases where functions need to be added to an existing web application program. In this case, modifications can be made to the source code of the existing web application program. However, modifying the source code of an existing web application program can be difficult. For example, if the existing web application program is a product of another company, modifications can be difficult because the detailed specifications of the existing web application program cannot be understood. Also, if the existing web application program is a cloud system, free modifications are not permitted, and modifications can be difficult.
When it is difficult to modify the source code of an existing web application program, a possible method is to create a separate web application program that realizes the additional functions and link information between the separate web application program and the existing web application program.
ウェブアプリケーションプログラム間で情報を連携する方式としては、APIを用いて情報転送する方式と、CSVといった形式のファイルを入出力する方式と、インラインフレームを用いた方式とがある。APIは、Application Programming Interfaceの略である。CSVは、Comma-Separated
Valuesの略である。特許文献1には、インラインフレームを用いた技術が記載されている。
There are three methods for linking information between web application programs: using an API to transfer information, inputting and outputting files in a format such as CSV, and using an inline frame. API stands for Application Programming Interface. CSV stands for Comma-Separated Markup Language (CML).
It is an abbreviation for Values.
APIを用いて情報転送する方式と、CSVといった形式のファイルを入出力する方式とでは、ウェブアプリケーションプログラムで表示する画面の動きに連動した処理の実現は困難である。そのため、画面の動きに連動させて、ウェブアプリケーションプログラム間での双方向に情報連携させること、又は、リアルタイムに情報連携させることを実現するには不向きであった。 The method of transferring information using an API and the method of inputting and outputting files in formats such as CSV make it difficult to realize processing linked to screen movements displayed by web application programs. As a result, these methods are not suitable for realizing two-way information sharing between web application programs linked to screen movements, or for real-time information sharing.
インラインフレームを用いた方式では、画面の動きに連動した処理を実現することが可能である。しかし、インラインフレームを用いた方式では、連携先と連携元とのプログラムの構造を互いに考慮し、連携先と連携元とが密に結合した実装が必要になる。 The method using inline frames makes it possible to realize processing linked to screen movement. However, the method using inline frames requires that the program structures of both the source and destination programs be taken into consideration, and that the implementation is tightly coupled between the source and destination programs.
本開示は、既存のウェブアプリケーションプログラムのソースコードに対する改修を減らしつつ、既存のウェブアプリケーションプログラムとの間で、画面の動き等に連動させた情報の連携を実現可能にすることを目的とする。 The purpose of this disclosure is to make it possible to realize information linking with screen movements, etc., between existing web application programs while reducing the need to modify the source code of the existing web application programs.
本開示に係る埋込プログラムは、
親画面をブラウザに表示するウェブアプリケーションプログラムである親プログラムから呼び出される、前記親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラムであり、
前記ブラウザに対して発生した指定イベントを検知するイベント検知処理と、
前記イベント検知処理によって前記指定イベントが検知されると、前記親プログラムと前記埋込プログラムとの間で情報を連携させる情報連携処理と
をコンピュータに実行させる。
The embedding program according to the present disclosure comprises:
an embedded program which is a web application program different from a parent program that displays a parent screen on a browser and is called from the parent program,
an event detection process for detecting a specified event occurring in the browser;
When the designated event is detected by the event detection process, the computer is caused to execute an information linking process for linking information between the parent program and the embedded program.
本開示では、埋込プログラムは親プログラムから呼び出され実行される。これにより、ブラウザから見た場合に埋込プログラムは、親プログラムとともに1つのウェブ画面を構成するプログラムになる。そのため、埋込プログラムが親画面を表示したブラウザにおける指定イベントを検出し、親プログラムと埋込プログラムとの間で情報を連携させることが可能になる。その結果、親プログラムには、埋込プログラムを呼び出す処理だけを記述するだけで情報の連携が可能になる。 In this disclosure, the embedded program is called and executed by the parent program. As a result, when viewed from the browser, the embedded program becomes a program that, together with the parent program, constitutes one web screen. This makes it possible for the embedded program to detect a specified event in the browser that displays the parent screen, and to link information between the parent program and the embedded program. As a result, information linkage becomes possible simply by writing in the parent program the process for calling the embedded program.
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係る画面表示システム100の構成を説明する。
画面表示システム100は、第1サーバ101と、第2サーバ102と、ユーザ端末103とを備える。第1サーバ101と、第2サーバ102と、ユーザ端末103とは、インターネット等のネットワーク109を介して接続されている。
***Configuration Description***
The configuration of a
The
第1サーバ101には、ウェブアプリケーションプログラムである親プログラム10が記憶されている。第2サーバ102には、親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラム20が記憶されている。
The
ユーザ端末103は、ウェブ閲覧用のブラウザ30を備える。ユーザ端末103は、ブラウザ30を介して第1サーバ101にアクセスして、親プログラム10を取得して実行する。これにより、図2に示すように、ユーザ端末103が備えるブラウザ30に、親プログラム10によって親画面11が描画される。また、親プログラム10によって、第2サーバ102に記憶された埋込プログラム20が呼び出され、実行される。これにより、図2に示すように、親画面11の一部として、埋込画面21が描画される。
The
図3を参照して、実施の形態1に係る第1サーバ101と第2サーバ102とユーザ端末103とのハードウェア構成を説明する。
第1サーバ101と第2サーバ102とユーザ端末103とは、コンピュータである。
第1サーバ101と第2サーバ102とユーザ端末103とは、プロセッサ201と、メモリ202と、ストレージ203と、通信インタフェース204とのハードウェアを備える。プロセッサ201は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
With reference to FIG. 3, the hardware configurations of the
The
The
プロセッサ201は、プロセッシングを行うICである。ICはIntegrated
Circuitの略である。プロセッサ201は、具体例としては、CPU、DSP、GPUである。CPUは、Central Processing Unitの略である。DSPは、Digital Signal Processorの略である。GPUは、Graphics Processing Unitの略である。
The
The
メモリ202は、情報を一時的に記憶する記憶装置である。メモリ202は、具体例としては、SRAM、DRAMである。SRAMは、Static Random Access Memoryの略である。DRAMは、Dynamic Random Access Memoryの略である。
ストレージ203は、情報を保管する記憶装置である。ストレージ203は、具体例としては、HDDである。HDDは、Hard Disk Driveの略である。また、ストレージ203は、SD(登録商標)メモリカード、CompactFlash(登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、Blu-ray(登録商標)ディスク、DVDといった可搬記録媒体であってもよい。SDは、Secure Digitalの略である。DVDは、Digital Versatile Diskの略である。
通信インタフェース204は、外部の装置と通信するためのインタフェースである。通信インタフェース204は、具体例としては、Ethernet(登録商標)、USB、HDMI(登録商標)のポートである。USBは、Universal Serial Busの略である。HDMIは、High-Definition Multimedia Interfaceの略である。
The
***動作の説明***
図4から図7を参照して、実施の形態1に係る画面表示システム100の動作を説明する。
実施の形態1に係る画面表示システム100の動作手順は、実施の形態1に係る画面表示方法に相当する。また、実施の形態1に係る画面表示システム100の動作を実現する親プログラム及び埋込プログラムは、実施の形態1に係る画面表示プログラムに相当する。
*** Operation Description ***
The operation of the
The operation procedure of the
図4を参照して、実施の形態1に係る画面表示システム100の動作概要を説明する。
(ステップS1:親描画処理)
ユーザ端末103は、ブラウザ30を介して第1サーバ101にアクセスして、親プログラム10を取得し実行する。これにより、ブラウザ30において親プログラム10が起動する。親プログラム10は、親画面11をブラウザ30に描画する。また、親プログラム10は、埋込プログラム20を呼び出す呼出し処理を実行する。
An outline of the operation of the
(Step S1: Parent drawing process)
The
(ステップS2:埋込描画処理)
ブラウザ30においてステップS1で呼び出された埋込プログラム20が起動する。埋込プログラム20は、親画面11の一部として、埋込画面21を描画する。また、埋込プログラム20は、ブラウザ30の指定イベントをフックする。
指定イベントとは、後述するようにアプリケーション情報又は初期情報に設定されていて、親画面11または埋込画面21における利用者からのキー操作やマウス操作等によるイベントを示す。指定イベントをフックするとは、指定イベントの発生を埋込プログラム20に通知するように指定することであり、詳細は後述する。
(Step S2: Embedded drawing process)
The embedded
The designated event is set in the application information or initial information as described later, and indicates an event caused by a user's key operation, mouse operation, or the like on the
ステップS1からステップS2の処理が実行されることにより、図2に示すように、親画面11の一部として、埋込画面21が描画されたウェブ画面が表示される。このウェブ画面に対してユーザにより操作が行われる。例えば、ウェブ画面上をカーソルが動かされる、ブラウザ30のサイズが変更される、親画面11におけるテキストボックスに入力される、埋込画面21におけるボタンが押下されるといった操作がされる。
By executing the processes from step S1 to step S2, as shown in FIG. 2, a web screen on which the embedded
(ステップS3:イベント検知処理)
埋込プログラム20は、ブラウザ30に対して発生した指定イベントを検知する。埋込プログラム20は、指定イベントが検知された場合には、処理をステップS4に進める。一方、埋込プログラム20は、指定イベントが検知されなかった場合には、処理をステップS3に戻す。
(Step S3: Event detection process)
The embedded
(ステップS4:情報連携処理)
埋込プログラム20は、親プログラム10と埋込プログラム20との間で情報を連携させる。
具体例として、埋込プログラム20は、親プログラム10で管理される情報を取得して、取得した情報を用いて指定イベントに応じた処理を実行する。埋込プログラム20は、取得した情報に基づき埋込画面21に表示する情報を更新する処理を実行することが考えられる。他の具体例として、埋込プログラム20は、埋込プログラム20で管理される情報を親プログラム10に渡して親画面11に設定する。
ここで親プログラム10と埋込プログラム20との間での情報の連携とは、具体例として示した親プログラム10で管理される情報を埋込プログラム20に渡すことを含み、親画面11あるいは埋込画面21でのユーザの画面操作に応じた入力値又は表示値に関する情報、親プログラム10あるいは埋込プログラム20での処理の実行結果に基づく表示値に関する情報等を親プログラム10と埋込プログラム20との間で受け渡すことを示す。
(Step S4: Information linkage processing)
The embedding
As a specific example, the embedded
Here, the information linkage between the
ウェブ画面に対してユーザにより操作が行われ、ステップS3からステップS4の処理が繰り返し実行される。これにより、親プログラム10と埋込プログラム20との間で情報が連携されながら、処理が実行される。
The user operates the web screen, and the processes from step S3 to step S4 are executed repeatedly. This allows the
図5及び図6を参照して、実施の形態1に係る画面表示システム100の詳細な動作を説明する。
まずブラウザ30において親プログラム10が動作する。ステップS11からステップS13の処理は、図4のステップS1の処理に対応する。
The detailed operation of the
First, the
なお具体例として親プログラム10は、HTMLで構成され、埋込プログラム20は、javascriptで構成されているものとする。HTMLは、HyperText Markup Languageの略である。
第1サーバ101にアクセスすることにより、親プログラム10を構成するHTMLプログラムがブラウザ30に読み込まれる(ステップS11)。これにより、ブラウザ30において親プログラム10が起動する。親プログラム10は、親画面11をブラウザ30に表示する。
親プログラム10は、埋込プログラム20を呼び出す(ステップS12)。具体的には、HTMLプログラムには、埋込プログラム20を構成するエンジンjsファイルを指定したscriptタグが記載されている。このscriptタグが実行されることにより、第2サーバ102から埋込プログラム20のエンジンjsファイルが読み込まれる。
ブラウザ30はエンジンjsを起動する(ステップS13)。ここでは、エンジンjsには、末尾に実行命令が記述されているとする。そのため、ブラウザ30は、読み込まれたエンジンjsを起動する。
As a specific example, the
By accessing the
The
The
エンジンjsを実行したことにより、動作の主体が埋込プログラム20に移る。ステップS21からステップS29の処理は、図4のステップS2の処理に対応する。
By executing the engine js, the subject of operation is transferred to the embedding
エンジンjsが実行する処理に関する情報を持っていないため、埋込プログラム20は、実行する処理について第2サーバ102に問合せする(ステップS21)。すると、第2サーバ102は、初期に実行されるstartup.jsonファイルを読み込み、startup.jsonファイルをアプリケーション情報としてブラウザ30に送信する(ステップS22)。startup.jsonファイルには、実行モジュールの情報と、初期化メソッドとが示されている。
埋込プログラム20は、アプリケーション情報であるstartup.jsonファイルに示された実行モジュールの初期化メソッドの実行を第2サーバ102に指示する(ステップS23)。第2サーバ102は、実行モジュールの初期化メソッドを呼び出す(ステップS24)。すると、実行モジュールの初期化メソッドが実行され、デザインファイルと、親画面11の一部として埋込画面21が描画されたウェブ画面を初期に表示する情報とがブラウザ30に返される(ステップS25)。
ここでアプリケーション情報とはアプリケーションの動作に必要な情報を定義した情報を示す。またデザインファイルとは埋込画面21のデザイン情報を定義したファイルを示す。javascriptを用いて描画できる領域をCanvasと言うが、デザインファイルは、Canvasに描画される画面デザインの情報を定義したファイルで、具体的にはボタンの座標、大きさ、表示する文字列といった情報が含まれている。
埋込プログラム20は、デザインファイルに基づき、親プログラム10にCanvasタグを埋め込む(ステップS26)。これにより、親画面11の一部として、Canvasタグで示された埋込画面21が描画される(ステップS27)。埋込プログラム20は、ブラウザ30の指定イベントをフックする(ステップS28)。指定イベントは、アプリケーション情報又は初期情報に設定されている。指定イベントは、親画面11におけるテキストボックスに入力される、埋込画面21におけるボタンが押下されるといったイベントである。
埋込プログラム20は、アプリケーション情報とデザイン情報と初期情報とのいずれかに示された画面部品jsファイル及び個別イベントjsファイルとを第2サーバ102から読み込む(ステップS29)。画面部品jsファイルは、埋込画面21を変化させるためのプログラムである。個別イベントjsファイルは、親プログラム10と埋込プログラム20との間で情報連携を行うためのプログラムである。
Since the engine js does not have information about the process to be executed, the embedded
The embedded
Here, application information refers to information that defines information necessary for the operation of an application. Also, a design file refers to a file that defines design information for the embedded
The embedding
The embedded
以上の処理により、図2に示すように、親画面11の一部として、埋込画面21が描画されたウェブ画面が表示される。表現を変えると、親画面11内のCanvasの領域に、埋込画面21が描画されたウェブ画面が表示される。このウェブ画面に対してユーザにより操作が行われる。例えば、カーソルの移動、キーボードによるキー入力、画面サイズ変更、タイマーの作動等が行われる。そして、ユーザによる操作が行われる際、ステップS31以降の処理が実行される。
ステップS31からステップS32の処理は、図4のステップS3の処理に対応する。ステップS41からステップS47の処理は、図4のステップS4の処理に対応する。
Through the above processing, as shown in Fig. 2, a web screen on which the embedded
The processes from step S31 to step S32 correspond to the process of step S3 in Fig. 4. The processes from step S41 to step S47 correspond to the process of step S4 in Fig. 4.
埋込プログラム20は、ブラウザ30に対して発生したイベントを検知する(ステップS31)。
上述したとおり、javascriptを用いて描画できる領域であるCanvasでは、通常であればCanvas上をマウスが動いたか否か程度の操作しか検知できない。埋込プログラム20が埋込画面21を作りこむことでCanvas上のボタンに対するマウス操作又はキーボード操作もブラウザ30で発生したイベントとして検知が可能となる。
埋込プログラム20は、検知されたイベントが埋込画面21の再描画が必要なイベントである場合には、画面部品jsファイルの描画処理を呼び出して実行する(ステップS32)。これにより、イベントに応じて埋込画面21が再描画される。埋込画面21の再描画が必要なイベントとは、例えば、埋込画面21のボタンにカーソルが合わせられた、ブラウザ30の画面サイズが変更されたといったイベントである。例えば、埋込画面21のボタンにカーソルが合わせられた場合には、埋込プログラム20はボタンの色を変化させる。また、ブラウザ30の画面サイズが変更された場合には、埋込プログラム20は埋込画面21のサイズを変化させる。
埋込プログラム20は、検知されたイベントが指定イベントである場合には、処理をステップS41に進める。
The embedded
As described above, the Canvas, which is an area where drawing can be done using Javascript, can usually only detect operations such as whether or not the mouse has moved on the Canvas. By creating the embedded
If the detected event is an event that requires redrawing of the embedded
If the detected event is a specified event, the embedding
埋込プログラム20は、検知された指定イベントに対応するシグナルを発生させる(ステップS41)。シグナルは、埋込プログラム20におけるイベントである。埋込プログラム20は、シグナルに対応するイベントメソッドがあるか否かを判定する(ステップS42)。イベントメソッドがあった場合には、埋込プログラム20は、イベントメソッドの実行を第2サーバ102に指示する(ステップS43)。一方、イベントメソッドがなかった場合には、埋込プログラム20は、処理をステップS31に戻す。
イベントメソッドの実行が指示されると、第2サーバ102は、実行モジュールの該当するイベントメソッドを呼び出す(ステップS44)。すると、実行モジュールの該当するイベントメソッドが実行される(ステップS45)。そして、埋込プログラム20は、イベントメソッドの実行結果に応じて、親画面11に値を設定する、又は、埋込画面21を再描画するといった処理を行う(ステップS46)。なお、イベントメソッドによっては、ステップS46の処理はスキップされる。
そして、処理がステップS31に戻される。
シグナルとは指定イベントが検知されたとき、その指定イベントが検知されたという情報を示す。シグナルに対応するイベントメゾットとは、指定イベントに応じた第2サーバ102での処理内容を定義したものである。シグナルに対応するイベントメゾットがあるか否かの情報は、第2サーバ102および埋込プログラム20で連携されているものとする。
The embedding
When execution of the event method is instructed, the
Then, the process returns to step S31.
A signal indicates, when a designated event is detected, information that the designated event has been detected. An event method corresponding to a signal defines the processing content in the
図7及び図8を参照して、実施の形態1に係る埋込プログラム20を用いて親プログラム10に機能追加する方法を説明する。図7及び図8では、比較のため、インラインフレームを用いた方式で親プログラム10に機能追加した場合についても示されている。
A method for adding a function to a
図7では、親画面11のテキストボックスに入力された情報を埋込プログラム20に受け渡す機能を追加する例が示されている。
実施の形態1における方法でこの機能を追加する場合には、親プログラム10側には、埋込プログラム20を呼び出すscriptタグを追加する。埋込プログラム20側には、親画面11のテキストボックスに情報が入力されたことを指定イベントとして設定し、指定イベントが検知された場合に情報を取得する処理を記述する。
これに対して、インラインフレームを用いた方式でこの機能を追加する場合には、親プログラム10側には、親画面11のテキストボックスに情報が入力された場合に、入力された情報をpostMessageするように記述する。postMessageは、ブラウザ内のウインドウ間通信である。埋込プログラム20側には、メッセージ待機イベント(onMessage)を受け取った場合に、メッセージの送信元のURLが親プログラム10であれば、情報を取得するよう記述にする。URLは、Uniform Resource Locatorの略である。
FIG. 7 shows an example in which a function for transferring information entered in a text box on the
When adding this function using the method in the first embodiment, a script tag for calling the embedded
On the other hand, when this function is added using an inline frame, the
図8では、埋込画面21のボタンが押下された場合に埋込プログラム20内の情報を親画面11のテキストボックスに設定する機能を追加する例が示されている。
実施の形態1における方法でこの機能を追加する場合には、親プログラム10側には、埋込プログラム20を呼び出すscriptタグを追加する。埋込プログラム20側には、埋込画面21のボタンが押下されたことを指定イベントとして設定し、指定イベントが検知された場合に埋込プログラム20内の情報を親画面11のテキストボックスに設定する処理を記述する。なお、親画面11と埋込画面21とは同一のウェブ画面であるため、特別な処理はいらず、単に埋込プログラム20内の情報を親画面11のテキストボックスに設定すればよい。
これに対して、インラインフレームを用いた方式でこの機能を追加する場合には、親プログラム10側には、メッセージ待機イベント(onMessage)を受け取った場合に、メッセージの送信元のURLが埋込プログラム20であれば、情報を取得して親画面11のテキストボックスに設定する処理を記述する。埋込プログラム20には、埋込画面21のボタンが押下された場合に、入力された情報をpostMessageするように記述する。
FIG. 8 shows an example in which a function is added for setting information in the embedded
When adding this function using the method in the first embodiment, a script tag that calls the embedded
On the other hand, when adding this function using an inline frame, the
***実施の形態1の効果***
以上のように、実施の形態1に係る画面表示システム100では、埋込プログラム20は親プログラム10から呼び出され実行される。これにより、ブラウザ30から見た場合に埋込プログラム20は、親プログラム10とともに1つのウェブ画面を構成するプログラムになる。そのため、埋込プログラム20が親画面11を表示したブラウザ30における指定イベントを検出し、親プログラム10と埋込プログラム20との間で情報を連携させることが可能になる。その結果、親プログラム10には、埋込プログラム20を呼び出す処理だけを記述するだけで情報の連携が可能になる。
***Advantages of First Embodiment***
As described above, in the
図7及び図8を参照して説明したように、親プログラム10側には、原則として埋込プログラム20を呼び出すscriptタグを追加するだけでよい。そのため、親プログラム10が他社の製品であり、親プログラム10の仕様が分からないような場合であっても、親プログラム10に対する作業を容易に行うことができる。また、親プログラム10がクラウドシステムである場合にも、scriptタグの追加だけを許可すれば、親プログラム10に対する作業を容易に行うことができる。
これに対して、インラインフレームを用いた方式では、連携先と連携元とのプログラムの構造を互いに考慮し、連携先と連携元とが密に結合した実装が必要になる。つまり、親プログラム10側についても仕様を把握した上で改修を行う必要がある。そのため、親プログラム10が他社の製品であり、親プログラム10の仕様が分からないような場合には、親プログラム10に対する作業は困難である。また、親プログラム10がクラウドシステムである場合には、作業を許可することが難しく、親プログラム10に対する作業は困難である。
7 and 8, in principle, all that is required is to add a script tag that calls the embedded
In contrast, the method using an inline frame requires that the structures of the programs of the link destination and the link source be taken into consideration, and that the link destination and the link source be tightly coupled in implementation. In other words, it is necessary to understand the specifications of the
このような特徴を利用することで、他社の製品であるウェブアプリケーションプログラムに対して、任意の機能を追加することができる。また、古くなり、サポートが切れてしまっているようなウェブアプリケーションプログラムに対して、任意の機能を追加することができる。また、ベースとなる機能を作り込んだウェブアプリケーションプログラムをクラウドシステムとして実装しておき、提供先毎に埋込プログラム20を作り込んで連携させることで、クラウドシステムをカスタマイズすることができる。
By utilizing these features, any function can be added to a web application program that is a product of another company. Also, any function can be added to an old web application program that is no longer supported. Also, by implementing a web application program with basic functions as a cloud system and creating and linking embedded
実施の形態1に係る画面表示システム100では、上述した通り、親プログラム10にはscriptタグを追加するだけでよい。そのため、埋込プログラム20により機能追加した場合であっても、親プログラム10についてのテストは埋込プログラム20と関連する部分だけで十分である。そのため、機能追加におけるテスト工数を抑えることが可能である。
As described above, in the
また、インラインフレームを用いた方式では、同一生成元ポリシーの制限があり、第1サーバ101と第2サーバ102とが同一ドメインでない場合には、情報の取得及び情報の操作に制限がかけられる。
しかし、実施の形態1に係る画面表示システム100では、ブラウザ30から見た場合に埋込プログラム20は、親プログラム10とともに1つのウェブ画面を構成するプログラムになる。そのため、情報の取得及び情報の操作に対して、インラインフレームを用いた方式のような制限はない。
Furthermore, in the method using an inline frame, there is a restriction of the same origin policy, and if the
However, in the
また、インラインフレームを用いた方式では、連携する情報が他のウェブアプリケーションプログラムによって傍受されるリスクがある。具体的には、図7の例で、親プログラム10が親画面11のテキストボックスに情報が入力された場合に、入力された情報をpostMessageする。このとき、親画面11に表示されたどのウインドウからでも、postMessageされた情報を取得できる。そのため、悪意のあるウインドウが表示されてしまうと、情報を取得されてしまう恐れがある。
しかし、実施の形態1に係る画面表示システム100では、他のウインドウから情報を取得される恐れはない。
Furthermore, in the method using an inline frame, there is a risk that linked information may be intercepted by other web application programs. Specifically, in the example of Fig. 7, when information is entered into a text box on the
However, in the
***他の構成***
<変形例1>
実施の形態1では、親画面11の一部として埋込画面21が描画された。しかし、埋込画面21は、描画されなくてもよい。この場合には、埋込プログラム20は、親画面11に情報を表示せず、親プログラム10の情報を用いた処理を行うプログラムである。例えば、埋込プログラム20は、親プログラム10に入力された情報を編集等して記録するようなプログラムである。
***Other configurations***
<
In the first embodiment, the embedded
<変形例2>
実施の形態1では、親プログラム10を実行するブラウザ30を備えたユーザ端末103と、埋込プログラム20を記憶する第2サーバ102とが別の装置であった。しかし、図9に示すように、親プログラム10を実行するブラウザ30を備えたユーザ端末103に埋込プログラム20が記憶されていてもよい。
この場合には、埋込プログラム20は、ユーザ端末103に接続されたデバイス104の情報を取得することが可能である。デバイス104は、具体例としては、ICカードリーダと、カメラといったものである。例えば、埋込プログラム20は、デバイス104の情報を取得し、その情報を親画面11に設定することができる。これにより、親プログラム10と、ローカルデバイスであるデバイス104とで情報を連携させた処理を行うようにすることも可能である。
<Modification 2>
In the first embodiment, the
In this case, the embedded
<変形例3>
実施の形態1では、埋込プログラム20は1つだけであった。しかし、親プログラム10は、複数の埋込プログラム20を呼び出してもよい。これにより、親プログラム10に対して複数の機能を追加することが可能である。また、複数の埋込プログラム20のうち、どの埋込プログラム20と親プログラム10を情報連携させるかを親画面11で選択できるようにしてもよい。これにより、ユーザが追加する機能を選択することが可能になる。
<Modification 3>
In the first embodiment, there is only one embedded
以下、本開示の諸態様を付記としてまとめて記載する。
(付記1)
親画面をブラウザに表示するウェブアプリケーションプログラムである親プログラムから呼び出される、前記親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラムであり、
前記ブラウザに対して発生した指定イベントを検知するイベント検知処理と、
前記イベント検知処理によって前記指定イベントが検知されると、前記親プログラムと前記埋込プログラムとの間で情報を連携させる情報連携処理と
をコンピュータに実行させる埋込プログラム。
(付記2)
前記情報連携処理では、前記親プログラムで管理される情報を取得して、取得した情報を用いて前記指定イベントに応じた処理を実行する
付記1に記載の埋込プログラム。
(付記3)
前記埋込プログラムは、さらに、
前記親画面の一部として埋込画面を描画する埋込描画処理
をコンピュータに実行させ、
前記情報連携処理では、取得された情報に基づき前記埋込画面を更新する処理を実行する
付記2に記載の埋込プログラム。
(付記4)
前記情報連携処理では、前記埋込プログラムで管理される情報を前記親画面に設定する
付記1から3までのいずれか1項に記載の埋込プログラム。
(付記5)
前記情報連携処理では、前記埋込プログラムが配置されたコンピュータに接続された機器から取得された情報を前記親画面に設定する
付記4に記載の埋込プログラム。
(付記6)
前記埋込プログラムは、前記親プログラムとは異なるコンピュータに配置された
付記1から5までのいずれか1項に記載の埋込プログラム。
(付記7)
ウェブアプリケーションプログラムである親プログラムと、前記親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラムとを有する画面表示プログラムであり、
前記親プログラムは、
親画面をブラウザに表示する親描画処理と、
前記埋込プログラムを呼び出す呼出し処理と
をコンピュータに実行させ、
前記埋込プログラムは、
前記ブラウザに対して発生した指定イベントを検知するイベント検知処理と、
前記イベント検知処理によって前記指定イベントが検知されると、前記親プログラムと前記埋込プログラムとの間で情報を連携させる情報連携処理と
をコンピュータに実行させる画面表示プログラム。
(付記8)
ウェブアプリケーションプログラムである親プログラムが、親画面をブラウザに表示し、
前記親プログラムが、前記親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラムを呼出し、
前記埋込プログラムが、前記ブラウザに対して発生した指定イベントを検知し、
前記埋込プログラムが、前記指定イベントが検知されると、前記親プログラムと前記埋込プログラムとの間で情報を連携させる画面表示方法。
Various aspects of the present disclosure are summarized below as appendices.
(Appendix 1)
an embedded program which is a web application program different from a parent program that displays a parent screen on a browser and is called from the parent program,
an event detection process for detecting a specified event occurring in the browser;
an embedded program that causes a computer to execute an information linking process for linking information between the parent program and the embedded program when the specified event is detected by the event detection process;
(Appendix 2)
2. The embedded program according to
(Appendix 3)
The embedding program further comprises:
causing a computer to execute an inlaid drawing process for drawing the inlaid screen as a part of the parent screen;
The embedding program according to claim 2, wherein in the information linking process, a process of updating the embedded screen based on the acquired information is executed.
(Appendix 4)
4. The embedding program according to
(Appendix 5)
The embedding program according to claim 4, wherein in the information linking process, information obtained from a device connected to a computer on which the embedding program is installed is set on the parent screen.
(Appendix 6)
6. The embedding program of
(Appendix 7)
a screen display program having a parent program which is a web application program and an embedded program which is a web application program different from the parent program,
The parent program is
A parent drawing process that displays the parent screen in the browser;
and a calling process for calling the embedding program.
The embedding program comprises:
an event detection process for detecting a specified event occurring in the browser;
a display program for causing a computer to execute, when the designated event is detected by the event detection process, an information linking process for linking information between the parent program and the embedded program;
(Appendix 8)
The parent program, which is a web application program, displays the parent screen in the browser,
the parent program calls an embedded program that is a web application program different from the parent program;
The embedded program detects a specified event that has occurred in the browser;
The screen display method, wherein the embedded program links information between the parent program and the embedded program when the specified event is detected.
以上、本開示の実施の形態及び変形例について説明した。これらの実施の形態及び変形例のうち、いくつかを組み合わせて実施してもよい。また、いずれか1つ又はいくつかを部分的に実施してもよい。なお、本開示は、以上の実施の形態及び変形例に限定されるものではなく、必要に応じて種々の変更が可能である。 The above describes the embodiments and modifications of the present disclosure. Some of these embodiments and modifications may be combined and implemented. Also, one or some of them may be implemented partially. Note that the present disclosure is not limited to the above embodiments and modifications, and various modifications are possible as necessary.
100 画面表示システム、101 第1サーバ、102 第2サーバ、103 ユーザ端末、104 デバイス、10 親プログラム、11 親画面、20 埋込プログラム、21 埋込画面、30 ブラウザ、201 プロセッサ、202 メモリ、203 ストレージ、204 通信インタフェース。 100 Screen display system, 101 First server, 102 Second server, 103 User terminal, 104 Device, 10 Parent program, 11 Parent screen, 20 Embedded program, 21 Embedded screen, 30 Browser, 201 Processor, 202 Memory, 203 Storage, 204 Communication interface.
Claims (9)
前記ブラウザに対して発生した指定イベントを検知するイベント検知処理と、
前記イベント検知処理によって前記指定イベントが検知されると、前記指定イベントに対応するイベントメソッドの実行を前記第2サーバに指示し、前記イベントメソッドが実行されて得られた実行結果に応じて、前記親プログラムと前記埋込プログラムとの間で情報を連携させる情報連携処理と
をコンピュータに実行させる埋込プログラム。 an embedded program that is a web application program different from a parent program disposed in a first server and that displays a parent screen on a browser, the embedded program being called from the parent program, the embedded program being a web application program different from the parent program , the embedded program being disposed in a second server different from the first server ;
an event detection process for detecting a specified event occurring in the browser;
When the specified event is detected by the event detection process, the embedded program instructs the second server to execute an event method corresponding to the specified event, and, depending on the execution result obtained by executing the event method, causes a computer to execute information linkage processing that links information between the parent program and the embedded program.
請求項1に記載の埋込プログラム。 2 . The embedded program according to claim 1 , wherein the information linking process acquires information managed by the parent program, and executes a process corresponding to the specified event using the acquired information.
前記親画面の一部として埋込画面を描画する埋込描画処理
をコンピュータに実行させ、
前記情報連携処理では、取得された情報に基づき前記埋込画面を更新する処理を実行する
請求項2に記載の埋込プログラム。 The embedding program further comprises:
causing a computer to execute an inlaid drawing process for drawing the inlaid screen as a part of the parent screen;
The embedding program according to claim 2 , wherein the information linking process executes a process of updating the embedded screen based on the acquired information.
請求項4に記載の埋込プログラム。 5. The embedding program according to claim 4, wherein in the information linking process, information acquired from a device connected to a computer on which the embedding program is installed is set in the parent screen.
前記親プログラムは、
親画面をブラウザに表示する親描画処理と、
前記埋込プログラムを呼び出す呼出し処理と
をコンピュータに実行させ、
前記埋込プログラムは、
前記ブラウザに対して発生した指定イベントを検知するイベント検知処理と、
前記イベント検知処理によって前記指定イベントが検知されると、前記指定イベントに対応するイベントメソッドの実行を前記第2サーバに指示し、前記イベントメソッドが実行されて得られた実行結果に応じて、前記親プログラムと前記埋込プログラムとの間で情報を連携させる情報連携処理と
をコンピュータに実行させる画面表示プログラム。 a screen display program having a parent program which is a web application program and is arranged on a first server ; and an embedded program which is a web application program different from the parent program and is arranged on a second server different from the first server ;
The parent program is
A parent drawing process that displays the parent screen in the browser;
and a calling process for calling the embedding program.
The embedding program comprises:
an event detection process for detecting a specified event occurring in the browser;
a screen display program that, when the specified event is detected by the event detection process, instructs the second server to execute an event method corresponding to the specified event, and causes a computer to execute information linkage processing that links information between the parent program and the embedded program depending on the execution result obtained by executing the event method .
前記親プログラムは、さらに、The parent program further comprises:
前記情報連携処理において前記複数の埋込プログラムのうちいずれの埋込プログラムとの間で情報を連携させるかの選択を受け付ける選択処理A selection process for accepting a selection of which embedding program among the plurality of embedding programs information is to be linked with in the information linking process.
をコンピュータに実行させる請求項6に記載の画面表示プログラム。7. The screen display program according to claim 6, which causes a computer to execute the steps of:
前記親プログラムが、前記親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラムであって、前記第1サーバとは異なる第2サーバに配置された埋込プログラムを呼出し、
前記埋込プログラムが、前記ブラウザに対して発生した指定イベントを検知し、
前記埋込プログラムが、前記指定イベントが検知されると、前記指定イベントに対応するイベントメソッドの実行を前記第2サーバに指示し、前記イベントメソッドが実行されて得られた実行結果に応じて、前記親プログラムと前記埋込プログラムとの間で情報を連携させる画面表示方法。 a parent program which is a web application program and is located on a first server, the parent program displaying a parent screen on a browser;
The parent program calls an embedded program that is a web application program different from the parent program and that is located on a second server different from the first server ;
The embedded program detects a specified event that has occurred in the browser;
A screen display method in which, when the specified event is detected, the embedded program instructs the second server to execute an event method corresponding to the specified event, and links information between the parent program and the embedded program depending on the execution result obtained by executing the event method .
前記親プログラムは、前記複数の埋込プログラムのうちいずれの埋込プログラムとの間で情報を連携させるかの選択を受け付け、the parent program accepts a selection of one of the plurality of embedding programs with which information is to be linked;
前記複数の埋込プログラムのうち選択された埋込プログラムが、前記指定イベントを検知し、a selected embedding program from among the plurality of embedding programs detects the specified event;
前記複数の埋込プログラムのうち選択された埋込プログラムが、前記指定イベントが検知されると、前記指定イベントに対応するイベントメソッドの実行を前記第2サーバに指示し、前記イベントメソッドが実行されて得られた実行結果に応じて、前記親プログラムと前記埋込プログラムとの間で情報を連携させるWhen the designated event is detected, an embedded program selected from the plurality of embedded programs instructs the second server to execute an event method corresponding to the designated event, and links information between the parent program and the embedded program according to an execution result obtained by executing the event method.
請求項8に記載の画面表示方法。The screen display method according to claim 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023072879A JP7503685B1 (en) | 2023-04-27 | 2023-04-27 | Embedding program, screen display program, and screen display method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023072879A JP7503685B1 (en) | 2023-04-27 | 2023-04-27 | Embedding program, screen display program, and screen display method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP7503685B1 true JP7503685B1 (en) | 2024-06-20 |
Family
ID=91483492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023072879A Active JP7503685B1 (en) | 2023-04-27 | 2023-04-27 | Embedding program, screen display program, and screen display method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7503685B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003050765A (en) | 2001-05-31 | 2003-02-21 | Recruit Co Ltd | System and method for providing information, and program |
JP2013535059A (en) | 2010-06-16 | 2013-09-09 | ブライトタグ インコーポレイテッド | Unified data collection and distribution |
WO2019035368A1 (en) | 2017-08-16 | 2019-02-21 | 株式会社ジグザグ | Method and program for supporting provision of ec to overseas and device using same |
-
2023
- 2023-04-27 JP JP2023072879A patent/JP7503685B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003050765A (en) | 2001-05-31 | 2003-02-21 | Recruit Co Ltd | System and method for providing information, and program |
JP2013535059A (en) | 2010-06-16 | 2013-09-09 | ブライトタグ インコーポレイテッド | Unified data collection and distribution |
WO2019035368A1 (en) | 2017-08-16 | 2019-02-21 | 株式会社ジグザグ | Method and program for supporting provision of ec to overseas and device using same |
Non-Patent Citations (4)
Title |
---|
[初心者] HTMLのcanvasとJavaScriptでお絵かきアプリを作る[ベース作り編] | Web白熱教室,[オンライン],2018年09月14日,[検索日 2024.01.10] インターネット: <URL: https://tsuyopon.xyz/2018/09/14/how-to-create-drawing-app-part1> |
Canvasのマウスとタッチのイベントを表示するプログラム,[オンライン],2020年01月07日,[検索日 2024.01.10], インターネット:<URL: https://sekika.github.io/2020/01/07/CanvasEvent> |
Github sekika/sekika.github.io/js/canvasevent.js,[オンライン],2020年01月07日,[検索日 2024.01.10], インターネット: <URL: https://github.com/sekika/sekika.github.io/blob/4fd1a5964d6dbf764cc4deb2510ac04f0f4e9b71/js/canvasevent.js> |
フルトン スティーブ Steve Fulton,HTML5 Canvas 初版 HTML5 Canvas,第1版,株式会社オライリー・ジャパン オライリー ティム,2012年01月20日,p1-3,6,8,15,63-65 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5430743B2 (en) | Method and apparatus for providing a scraped web page within a graphical user interface | |
US20210303108A1 (en) | System and method for on-screen graphical user interface encapsulation and reproduction | |
US8352875B2 (en) | System and method for integrating a plurality of software applications | |
US20170329862A1 (en) | Infinite Scrolling | |
CN104995601B (en) | It is switched to the machine Web page application program and is switched away from from the machine Web page application program | |
JP2016522481A (en) | Client-side page processing | |
US9122762B2 (en) | Method and system to maintain a web page | |
JP2011003182A (en) | Keyword display method and system thereof | |
KR20120016333A (en) | Pre-caching method for web application and device using the same | |
JP4846832B2 (en) | Web page display method, computer system, and program | |
JP7503685B1 (en) | Embedding program, screen display program, and screen display method | |
JP7351948B2 (en) | Screen control device, screen control method, and screen control program | |
US20230350532A1 (en) | System and method for on-screen graphical user interface encapsulation and application history reproduction | |
CN116991694B (en) | Webpage operation acquisition method | |
CN118041995B (en) | Method and device for realizing universal main stream media authorization homepage | |
CN117348960A (en) | Webpage content export method, device, equipment and medium | |
CN116932126A (en) | Application embedding method, device, terminal, medium and program product | |
CN117850934A (en) | Device for enhancing webpage version cloud computer toolbar based on chrome browser extension | |
CN118227283A (en) | Matlab software calling method, device and storage medium | |
JP5733063B2 (en) | Server apparatus and WEB page providing method | |
US20190042546A1 (en) | Unified graphical user interface views through frame break out | |
CN114895901A (en) | Page processing method and device, storage medium and electronic equipment | |
CN116361582A (en) | Data processing method, device, electronic equipment and storage medium | |
CN115760087A (en) | Method, device, equipment and storage medium for generating multi-format electronic certificate | |
Moroney | Foundations of Atlas: Rapid Ajax Development with ASP. NET 2.0 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240123 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240311 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240325 |
|
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: 20240604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240610 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7503685 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |