JP2014219813A - Information processing device, control method of information processing device and program - Google Patents

Information processing device, control method of information processing device and program Download PDF

Info

Publication number
JP2014219813A
JP2014219813A JP2013097938A JP2013097938A JP2014219813A JP 2014219813 A JP2014219813 A JP 2014219813A JP 2013097938 A JP2013097938 A JP 2013097938A JP 2013097938 A JP2013097938 A JP 2013097938A JP 2014219813 A JP2014219813 A JP 2014219813A
Authority
JP
Japan
Prior art keywords
native
server
data
url
application server
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
JP2013097938A
Other languages
Japanese (ja)
Inventor
佳周 大橋
Yoshichika Ohashi
佳周 大橋
明徳 前田
Akinori Maeda
明徳 前田
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.)
Canon Marketing Japan Inc
Canon IT Solutions Inc
Canon MJ IT Group Holdings Inc
Original Assignee
Canon Marketing Japan Inc
Canon MJ IT Group Holdings Inc
Canon Software Inc
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 Canon Marketing Japan Inc, Canon MJ IT Group Holdings Inc, Canon Software Inc filed Critical Canon Marketing Japan Inc
Priority to JP2013097938A priority Critical patent/JP2014219813A/en
Publication of JP2014219813A publication Critical patent/JP2014219813A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a mechanism of a Web application in which terminal native functions owned by an information processing device operating a Web browser are used, and data generated by the terminal native functions can be stored, when the Web application functions on the Web browser.SOLUTION: An information processing device performs the steps of: accepting a URL by an action request to an application server which is generated by processing associated with an instruction reception object, in response to a user operation to the instruction reception object in screen data displayed in a browser; executing native functions to the URL and generating native data if the URL does not indicate the Web application server on the basis of a schema part showing a type of the URL; and transmitting the data to a storage server so as to be stored in a designated storage location of the storage server, and storing the storage location so as to be displayed as the screen data of the Web application.

Description

本発明は、情報処理装置であって、情報処理装置で動作するブラウザ上のWebアプリケーションから情報処理装置の端末ネイティブ機能(カメラ・録音マイク・GPS・傾きセンサーなど)を利用する技術に関する。   The present invention relates to an information processing apparatus that uses a terminal native function (camera, recording microphone, GPS, tilt sensor, etc.) of an information processing apparatus from a Web application on a browser operating on the information processing apparatus.

近年、パーソナルコンピュータなどの情報処理装置のWebブラウザ上で、Webアプリケーションによる業務処理などの機能を提供する形態が普及してきている。   In recent years, a form of providing functions such as business processing using a Web application on a Web browser of an information processing apparatus such as a personal computer has become widespread.

Webアプリケーションは主に外部の(例えば会社などの組織においては、社内で提供されるアプリケーションではなく社外の)アプリケーションを閲覧したり、提供された機能を利用したりするケースが多い。しかしながらWebアプリケーションが社外から提供される場合に、悪意がある機能が含まれていないことを保証できない。そのためWebブラウザではWebブラウザ上で動作するWebアプリケーションが、例えば情報処理装置のファイルを書き換えたり、情報処理装置のプログラムを実行したりすることができないように制限している場合が多い。   In many cases, the Web application mainly browses an external application (for example, in an organization such as a company, not an application provided inside the company but outside the company) and uses a provided function. However, when a Web application is provided from outside the company, it cannot be guaranteed that no malicious function is included. For this reason, the Web browser is often restricted so that a Web application running on the Web browser cannot rewrite the file of the information processing apparatus or execute the program of the information processing apparatus, for example.

また、近年、Webアプリケーションプログラム開発においては、開発工数を削減し、品質を保つために、ユーザインタフェース画面およびロジックの設計、プログラム自動生成を行うためのプログラム開発支援ツールが提供されている。   In recent years, in web application program development, in order to reduce development man-hours and maintain quality, a program development support tool for designing a user interface screen and logic and automatically generating a program is provided.

しかしながら、近年増加してきたスマートフォンやタブレット端末やノートPCでは、その携帯性による利便性から従来とは異なった活用方法が提案され、カメラ・録音マイク・GPS・傾きセンサーなどの機能(端末ネイティブ機能)を利用するWebアプリケーションを開発するニーズが増加している。しかしながら、前述の通り、プログラム開発支援ツールにおいても、これらの機能を制限の範囲でWebアプリケーションの開発を行なわざるを得ないことがあった。   However, smartphones, tablet devices, and notebook PCs that have been increasing in recent years have proposed different usage methods from the convenience of portability, and include functions such as cameras, recording microphones, GPS, and tilt sensors (terminal native functions). There is an increasing need to develop Web applications that use the Internet. However, as described above, even in the program development support tool, there is a case where development of a Web application is inevitably performed within the limits of these functions.

特許文献1には、マルチメディア情報端末システムにおいて、コマンドを含むURLを用いることでHTTPプロトコルでは不可能な制御を実現するコマンド転送手段として使用する技術が提案されている。   Patent Document 1 proposes a technique used in a multimedia information terminal system as a command transfer unit that realizes control that is impossible with the HTTP protocol by using a URL including a command.

特開2003−058496号公報JP 2003-05896 A

特許文献1におけるマルチメディア情報端末システムでは、情報端末とWebサーバ部との間で情報端末を制御するプロキシサーバ部とを備え、情報端末のブラウザから、特殊処理(Webアプリケーション内の機能とは異なるプロキシサーバ部にあるプログラム)への移行を要求するコマンドを含むURLをプロキシサーバ部が受け取り、プロキシサーバ部はCGIでURLの形式を判断し、特殊処理のプログラムを実行する。   The multimedia information terminal system disclosed in Patent Document 1 includes a proxy server unit that controls the information terminal between the information terminal and the Web server unit, and has special processing (different from the function in the Web application) from the browser of the information terminal. The proxy server unit receives a URL including a command for requesting transition to a program in the proxy server unit), and the proxy server unit determines the format of the URL by CGI and executes a special processing program.

しかしながら、上記特殊処理とは、サーバの処理であって、情報端末が持つ端末ネイティブ機能を動作させるものではない。情報端末のネイティブ機能を実行したり、情報端末で作成したデータを参照したりすることが仮に可能だとしても、運用上はセキュリティの観点から問題である。   However, the special processing is server processing and does not operate the terminal native function of the information terminal. Even if it is possible to execute the native function of the information terminal or refer to the data created by the information terminal, it is problematic from the viewpoint of security.

そこで、本発明の目的は、Webブラウザ上でWebアプリケーションが機能する際に、当該Webブラウザを動作させる情報処理装置(スマートフォンやタブレット端末を含む)が持つ端末ネイティブ機能を利用し、端末ネイティブ機能で作成したデータを格納可能なWebアプリケーションの仕組みを提供することである。   Therefore, an object of the present invention is to use a terminal native function of an information processing apparatus (including a smartphone or a tablet terminal) that operates the Web browser when the Web application functions on the Web browser. It is to provide a Web application mechanism capable of storing created data.

本発明は、Webアプリケーションの実行を制御するWebアプリケーションサーバと、ストレージサーバと、ネットワークを介して接続可能な情報処理装置であって、前記Webアプリケーションサーバに処理を指示するユーザの操作を受け付ける指示受付オブジェクトが選択されることで実行される処理を含む画面データを、Webブラウザに表示する表示制御手段と、前記表示制御手段により表示された画面データにおける前記指示受付オブジェクトに対するユーザの操作に応じて、当該指示受付オブジェクトに関連付けられた処理により生成されるアプリケーションサーバに対するアクションの要求を、前記アプリケーションサーバに引き渡す要求引渡手段と、前記引き渡し手段により前記アプリケーションサーバに引き渡す要求をURLとして受け付け、当該URLの種別を表すスキーマ部分に基づき、当該URLが前記Webアプリケーションサーバあるいは外部のサーバを示すものではない場合には、当該URLに対する前記情報処理装置により実行されるネイティブ機能を実行すると判定する要求引渡監視手段と、前記要求引渡監視手段により前記URLがネイティブ機能を実行するものであると判定された場合には、当該URLによりネイティブ機能対応記憶手段から、対応するネイティブ機能を検索し、当該ネイティブ機能を実行させ、ネイティブデータを生成させるネイティブ機能実行手段と、前記ネイティブ機能の実行により生成された前記ネイティブデータを、前記ストレージサーバのネイティブデータ記憶手段に記憶させるべく当該ストレージサーバに送信し、更に、当該ストレージサーバに記憶させた当該ネイティブデータの格納場所を、前記Webアプリケーションの画面データとして表示するデータを記憶するアプリケーションデータ記憶手段に記憶させるべく、前記アプリケーションサーバに送信するネイティブデータ送信手段と、前記アプリケーションサーバに備えられた、前記要求であるURLに対応する処理をアクション定義として記憶するアクション定義記憶手段から、前記要求引渡手段により引き渡された前記要求に対応するアクション定義を検索し、当該アクション定義に設定された前記アプリケーションデータ記憶手段と検索条件に基づいて、検索した処理結果を表示するための画面データとして受け付ける結果受付手段と、を備えることを特徴とする。   The present invention is an information processing apparatus that is connectable via a network to a web application server that controls execution of a web application, a storage server, and an instruction reception that accepts a user operation that instructs the web application server to perform processing Display data including processing executed when an object is selected is displayed on a web browser, and according to a user operation on the instruction receiving object in the screen data displayed by the display control unit, A request delivery unit that delivers an action request to the application server generated by the processing associated with the instruction receiving object to the application server, and a request to be delivered to the application server by the delivery unit. Accept as RL, and execute the native function executed by the information processing apparatus for the URL if the URL does not indicate the Web application server or an external server based on the schema part representing the type of the URL If the URL is determined to execute the native function by the request delivery monitoring unit and the request delivery monitoring unit to be determined, the corresponding native function is searched from the native function correspondence storage unit by the URL. A native function execution unit for executing the native function and generating native data; and the storage server for storing the native data generated by the execution of the native function in the native data storage unit of the storage server. Native data to be transmitted to the application server in order to store the storage location of the native data stored in the storage server in application data storage means for storing data to be displayed as screen data of the Web application An action definition corresponding to the request delivered by the request delivery means is retrieved from a transmission means and an action definition storage means provided in the application server for storing a process corresponding to the URL as the request as an action definition. And a result receiving means for receiving the retrieved processing result as screen data based on the search condition based on the application data storage means set in the action definition.

本発明により、Webブラウザ上でWebアプリケーションが機能する際に、当該Webブラウザを動作させる情報処理装置(スマートフォンやタブレット端末を含む)が持つ端末ネイティブ機能を利用し、端末ネイティブ機能で作成したデータを格納可能なWebアプリケーションの仕組みを提供することを可能にする。   According to the present invention, when a web application functions on a web browser, data created by the terminal native function is obtained using the terminal native function of an information processing apparatus (including a smartphone or a tablet terminal) that operates the web browser. It is possible to provide a storable Web application mechanism.

本発明に係わるプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバ、ストレージサーバの構成の一例を示すシステム構成図である。1 is a system configuration diagram illustrating an example of a configuration of a program development device, a program development server, a database server, an application client, an application server, and a storage server according to the present invention. 本発明に係わるプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバ、ストレージサーバとして適用可能な各ハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of each hardware constitutions applicable as a program development apparatus, a program development server, a database server, an application client, an application server, and a storage server concerning this invention. 本発明の実施形態のソフトウェア構成を示すブロック図である。It is a block diagram which shows the software structure of embodiment of this invention. 開発者がレイアウト定義指示を行う画面の一例を示す図である。It is a figure which shows an example of the screen which a developer performs a layout definition instruction | indication. 開発者がレイアウト定義指示を行う操作手順の一例を簡単に説明するフローである。It is a flow that briefly explains an example of an operation procedure for a developer to issue a layout definition instruction. レイアウトを定義する際のコンテナやオブジェクトの配置を示す一例である。It is an example which shows arrangement | positioning of the container and object at the time of defining a layout. レイアウト定義のデータ構成の一例を示す図である。It is a figure which shows an example of the data structure of a layout definition. 開発者がアクション定義を行う画面の一例を示す図である。It is a figure which shows an example of the screen which a developer defines action. オブジェクトの属性編集を実施した画面の一例を示す図である。It is a figure which shows an example of the screen which implemented the attribute edit of the object. 本発明の実施形態におけるアクションの実行処理の一例を示すフローチャートである。It is a flowchart which shows an example of the execution process of the action in embodiment of this invention. 本発明の実施形態におけるアクションを実施した画面の一例を示す図である。It is a figure which shows an example of the screen which implemented the action in embodiment of this invention. 遷移先URLと起動する端末ネイティブ機能のデータ構成の一例を示す図である。It is a figure which shows an example of a data structure of the transition destination URL and the terminal native function to start. 本発明の実施形態におけるデータベースのテーブルの一例を示す図である。It is a figure which shows an example of the table of the database in embodiment of this invention.

以下、本発明の実施の形態を、図面を参照して詳細に説明する。まず、第一の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. First, the first embodiment will be described.

図1は、本発明に係わるプログラム開発装置、プログラム開発サーバ、アプリケーションクライアント、アプリケーションサーバの構成の一例を示すシステム構成図である。アプリケーションクライアントは、パーソナルコンピュータなど持ち運ばずに使用する装置(104a)であっても良いし、ノートパソコン、携帯端末(スマートフォンを含む)など持ち運ぶ装置(104b)であっても良い。   FIG. 1 is a system configuration diagram showing an example of the configuration of a program development apparatus, a program development server, an application client, and an application server according to the present invention. The application client may be a device (104a) that is used without being carried, such as a personal computer, or may be a device (104b) that is carried, such as a notebook computer or a portable terminal (including a smartphone).

プログラム開発装置101(情報処理装置)は、開発者の操作に従って画面レイアウトおよびデータベース検索のアクションなどを定義する。プログラム開発装置101単体では、ユーザの入力を受け付け、後述するプログラム開発サーバ102(情報処理装置)に実際のプログラム生成処理をさせてもよいし、プログラム開発装置101単体でプログラム生成まで処理してもよい。   The program development apparatus 101 (information processing apparatus) defines a screen layout, a database search action, and the like according to a developer's operation. The program development apparatus 101 alone accepts user input and may cause the program development server 102 (information processing apparatus) described later to perform actual program generation processing, or the program development apparatus 101 alone may process up to program generation. Good.

プログラム開発サーバ102a〜102bは、プログラム開発装置101により入力された開発者の指示に従って、プログラムを開発する。プログラム開発サーバ102aはLANなどのネットワーク107内に配置されてもよいし、プログラム開発サーバ102bはインターネット上やクラウド上に配置されてもよい。   The program development servers 102a to 102b develop a program in accordance with a developer instruction input by the program development apparatus 101. The program development server 102a may be arranged in a network 107 such as a LAN, and the program development server 102b may be arranged on the Internet or the cloud.

データベースサーバ103a〜103b(検索サーバ)は、開発されたアプリケーションが使用するデータベースを管理するサーバであり、また本発明では開発時にも利用する。例えば、開発者が利用するためにデータベースサーバ103は、プログラム開発装置101と同一の装置で構成されていてもよいし、LANなどのネットワーク107内に配置されてもよい(データベースサーバ103a)し、またインターネット上やクラウド上に配置されてもよい(データベースサーバ103b)。また、プログラム開発装置101が、プログラム開発サーバ102と協調する場合には、プログラム開発サーバ102とデータベースサーバ103が同一の装置内に構成されていてもよい。   The database servers 103a to 103b (search servers) are servers that manage a database used by a developed application, and are also used during development in the present invention. For example, the database server 103 may be configured by the same device as the program development device 101 for use by a developer, or may be arranged in a network 107 such as a LAN (database server 103a). Moreover, you may arrange | position on the internet or a cloud (database server 103b). When the program development apparatus 101 cooperates with the program development server 102, the program development server 102 and the database server 103 may be configured in the same apparatus.

ストレージサーバ106a〜106bは、SOAP方式やREST方式などによりWebサービスを提供するWebサーバであり、また本発明では開発時にも利用する。例えば、開発者が利用するためにストレージサーバ106は、プログラム開発装置101と同一の装置で構成されていてもよいし、LANなどのネットワーク107内に配置されてもよい(ストレージサーバ106a)し、またインターネット上やクラウド上に配置されてもよい(ストレージサーバ106b)。また、プログラム開発装置101が、プログラム開発サーバ102と協調する場合には、プログラム開発サーバ102とストレージサーバ106が同一の装置内に構成されていてもよい。また、ストレージサーバ106とアプリケーションサーバ105が同一の装置内に構成されていてもよい。また、ストレージサーバ106とデータベースサーバ103が同一の装置内に構成されていてもよい。   The storage servers 106a to 106b are Web servers that provide Web services by the SOAP method, the REST method, or the like, and are also used during development in the present invention. For example, for use by a developer, the storage server 106 may be configured by the same device as the program development device 101, or may be arranged in a network 107 such as a LAN (storage server 106a). Further, it may be arranged on the Internet or in the cloud (storage server 106b). When the program development apparatus 101 cooperates with the program development server 102, the program development server 102 and the storage server 106 may be configured in the same apparatus. Further, the storage server 106 and the application server 105 may be configured in the same device. Further, the storage server 106 and the database server 103 may be configured in the same device.

アプリケーションサーバ105a〜105bは、プログラム開発装置101で開発されたアプリケーションを実行する。LANなどのネットワーク107内に配置されてもよい(アプリケーションサーバ105a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションサーバ105b)。また、ネットワーク107、インターネット、クラウド上のデータベースサーバ103と接続して動作可能である。また、アプリケーションサーバ105とストレージサーバ106が同一の装置内に構成されていてもよい。また、アプリケーションサーバ105とデータベースサーバ103が同一の装置内に構成されていてもよい。   The application servers 105a to 105b execute applications developed by the program development apparatus 101. It may be arranged in a network 107 such as a LAN (application server 105a), or may be arranged on the Internet or in the cloud (application server 105b). Further, it can be connected to the database 107 on the network 107, the Internet, or the cloud to operate. Further, the application server 105 and the storage server 106 may be configured in the same device. Further, the application server 105 and the database server 103 may be configured in the same device.

アプリケーションクライアント104a〜104b(クライアント装置)は、アプリケーションサーバ105と協調してプログラム開発装置101で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。LANなどのネットワーク107内に配置されてもよい(アプリケーションクライアント104a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションクライアント104b)。携帯端末などの情報処理装置であってもよい。本実施例においては、タッチパネルでスワイプ(スクロール)することで“次のページ”などを表示することができる携帯端末(情報処理装置)を想定しているが、必ずしもタッチパネルではなくても、マウスなどによりページ単位で“次のページ”を表示するアプリケーションが動作する情報処理装置として想定されればよい。   The application clients 104a to 104b (client devices) are user input terminals that operate application programs developed by the program development device 101 in cooperation with the application server 105. It may be arranged in a network 107 such as a LAN (application client 104a), or may be arranged on the Internet or in the cloud (application client 104b). An information processing apparatus such as a portable terminal may be used. In this embodiment, a portable terminal (information processing apparatus) that can display “next page” or the like by swiping (scrolling) on the touch panel is assumed. Thus, it may be assumed as an information processing apparatus in which an application that displays “next page” in units of pages operates.

図2は、本発明に係わるプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバ、ストレージサーバとして適用可能な各ハードウェア構成の一例を示すブロック図である。   FIG. 2 is a block diagram showing an example of each hardware configuration applicable as a program development apparatus, a program development server, a database server, an application client, an application server, and a storage server according to the present invention.

図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。   In FIG. 2, the CPU 201 comprehensively controls each device connected to the system bus 204.

また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、プログラム開発装置、アプリケーションクライアント、各種サーバの後述する各種機能を実現するためのプログラムが記憶されている。   The ROM 203 or the external memory 211 stores an operating system (OS) that is a control program for the CPU 201, a program development apparatus, an application client, and programs for realizing various functions described below of various servers.

RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。   The RAM 202 functions as a main memory, work area, temporary save area, and the like for the CPU 201.

入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、特に、プログラム開発装置、アプリケーションクライアント、各種サーバでは、キーボード、マウス等のポインティングデバイスが挙げられる。   The input controller 205 controls input from the input unit 209. Examples of the input unit 209 include pointing devices such as a keyboard and a mouse in program development apparatuses, application clients, and various servers.

出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。   The output controller 206 controls the display of the output unit 210. Examples of the output unit 210 include a CRT and a liquid crystal display.

外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。加えて、外部メモリ211には、プログラム開発装置、アプリケーションクライアント、各種サーバの各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフロッピー(登録商標)ディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。   The external memory controller 207 controls access to the external memory 211 that stores a boot program, various applications, font data, user files, edit files, printer drivers, and the like. In addition, the external memory 211 stores various tables and parameters for realizing various functions of the program development device, application client, and various servers. Examples of the external memory 211 include a hard disk (HD), a floppy (registered trademark) disk (FD), a compact flash (registered trademark) connected to a PCMCIA card slot via an adapter, and smart media.

通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。   The communication I / F controller 208 executes communication control processing with an external device via a network.

本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。   A program 212 for realizing the present invention is recorded in the external memory 211 and is executed by the CPU 201 by being loaded into the RAM 202 as necessary.

図3は、本発明の実施形態のソフトウェア構成を示すブロック図である。   FIG. 3 is a block diagram illustrating a software configuration according to the embodiment of this invention.

プログラム開発装置101は、開発画面制御部300、レイアウト定義部301、一括作成部302、アクション定義部303、クエリ定義部304、指示引渡処理生成部305、記憶部306を備えている。   The program development apparatus 101 includes a development screen control unit 300, a layout definition unit 301, a batch creation unit 302, an action definition unit 303, a query definition unit 304, an instruction passing process generation unit 305, and a storage unit 306.

記憶部306は、レイアウト定義記憶部321、アクション定義記憶部322、クエリ定義記憶部323を備えている。   The storage unit 306 includes a layout definition storage unit 321, an action definition storage unit 322, and a query definition storage unit 323.

開発画面制御部300は、プログラム開発装置101に開発者が操作するための画面を表示し、また開発者の操作に応じて、他の機能部(301〜305、311〜315)を機能させる部分である。   The development screen control unit 300 displays a screen for the developer to operate on the program development apparatus 101, and causes other function units (301 to 305, 311 to 315) to function according to the operation of the developer. It is.

レイアウト定義部301は、開発者に後述するテキストボックス、ボタン、グリッドオブジェクトなどのオブジェクト、前記複数のオブジェクトなどを1つの表示グループとするためのコンテナを配置させ、また移動、属性編集をさせる機能部である。また、レイアウト定義部301で定義されたレイアウト定義は、レイアウト定義記憶部321に記憶される。   A layout definition unit 301 is a functional unit that allows a developer to place an object such as a text box, a button, and a grid object, which will be described later, a container for making the plurality of objects into one display group, and to move and edit attributes It is. The layout definition defined by the layout definition unit 301 is stored in the layout definition storage unit 321.

一括作成部302は、データベースのテーブルのデータ項目(カラム)のうち表示したい項目を、前述の表示グループ(グリッドオブジェクトや後述する明細書形式コンテナ)に対して一括で配置する機能部である。   The batch creation unit 302 is a functional unit that collectively arranges items to be displayed among the data items (columns) in the database table with respect to the above-described display group (grid object or description format container described later).

本発明の実施例においては、データ項目(カラム)に対応するオブジェクトの生成を“一括作成”としているが、これはあくまで例である。必ずしも一括である必要はない。例えば、前述のデータ項目(カラム)のうち表示したい項目を配置する際に、当初はデータ項目名(カラム名)を表示するだけでオブジェクトを作成しなくともよい。この場合、実際のオブジェクトの作成は、例えば属性編集において、前述のデータ項目名(カラム名)をユーザが指定する際に、実際のオブジェクトを作成し、ユーザが属性編集しなかったデータ項目名(カラム名)に対しては、レイアウトの保存時にオブジェクトを作成する、など様々な形態が可能である。   In the embodiment of the present invention, the generation of objects corresponding to data items (columns) is “collective creation”, but this is only an example. It does not necessarily have to be a batch. For example, when placing an item to be displayed among the data items (columns) described above, it is not necessary to create an object by simply displaying the data item name (column name) at first. In this case, the actual object is created, for example, when the user specifies the above-mentioned data item name (column name) in attribute editing, the actual object is created, and the data item name (not edited by the user) ( For column names, various forms are possible, such as creating an object when the layout is saved.

一括作成情報受付部311は、対応させるデータベース、データベースを検索するselect文(SQL文)、パラメータとなる条件項目、さらに前述の表示グループなど、レイアウトを自動生成するための情報を受け付ける機能部である。   The batch creation information receiving unit 311 is a functional unit that receives information for automatically generating a layout, such as a database to be associated, a select statement (SQL statement) for searching the database, a condition item that is a parameter, and the display group described above. .

カラム名取得部312(データ項目取得部)は、select文を実行し、その結果を解析する。   The column name acquisition unit 312 (data item acquisition unit) executes a select statement and analyzes the result.

オブジェクト生成部313は、前述のデータ項目名(カラム名)に対応して表示グループに配置するオブジェクトを生成する機能部である。   The object generation unit 313 is a functional unit that generates an object to be arranged in the display group corresponding to the data item name (column name) described above.

オブジェクト配置部314は、前述の生成されたオブジェクトを、表示グループに配置する機能部である。   The object placement unit 314 is a functional unit that places the generated object in a display group.

値設定表示部315は、前述の生成されたオブジェクトに、前記select文を用いてデータベースを実際に検索した結果の値を設定、表示させる機能部である。   The value setting display unit 315 is a functional unit that sets and displays the value of the result of actually searching the database using the select statement for the generated object.

アクション定義部303は、開発者にボタンがクリックなどされた場合の、SQL文によるデータベースの検索処理(アクション)などを定義させる機能部である。また、アクション定義部303で定義されたアクション定義は、アクション定義記憶部322に記憶される。   The action definition unit 303 is a functional unit that allows a developer to define a database search process (action) using an SQL statement when a button is clicked. The action definition defined by the action definition unit 303 is stored in the action definition storage unit 322.

クエリ定義部304は、アクション定義と対応付け、具体的にはselect文などの詳細を開発者に定義させる機能部である。また、クエリ定義部304で定義されたクエリ定義は、クエリ定義記憶部323に記憶される。   The query definition unit 304 is a functional unit that associates an action definition with a developer, and specifically defines details such as a select statement. Further, the query definition defined by the query definition unit 304 is stored in the query definition storage unit 323.

指示引渡処理生成部305は、後述する、指示受付オブジェクトがユーザにクリックされた際などのパラメータ取得部331、要求引渡部332に対応する処理を、アクション定義に従って予め生成しておく機能部である。実際には、指示引渡処理生成部305は、本図のようにプログラム開発装置101に備えられ、アクション定義時に実行され、生成された処理をアクション定義と結びつけて記憶してもよいし、また他の例として、アプリケーションサーバ105に備えられ、アプリケーションクライアント104に表示する画面の生成時に、指示引渡処理生成部305を実行され、前記処理を生成してもよい。いずれの場合も、指示引渡処理生成部305で生成された処理は、前記アクション定義に対応するボタンと関連付けてアプリケーションクライアント104に表示する画面情報に組み込まれる。   The instruction delivery processing generation unit 305 is a functional unit that generates in advance processing corresponding to the parameter acquisition unit 331 and the request delivery unit 332, which will be described later, when the instruction reception object is clicked by the user, according to the action definition. . Actually, the instruction passing process generation unit 305 is provided in the program development apparatus 101 as shown in the figure, and is executed at the time of action definition, and the generated process may be stored in association with the action definition. As an example, the instruction delivery processing generation unit 305 may be executed to generate the processing when generating a screen to be displayed on the application client 104 and provided in the application server 105. In any case, the process generated by the instruction delivery process generation unit 305 is incorporated in the screen information displayed on the application client 104 in association with the button corresponding to the action definition.

また、プログラム開発装置101は、ストレージサーバ106、またはデータベースサーバ103と接続する。あるいは、同一筐体に含む構成であってもよい。さらにプログラム開発装置101が備える機能部の一部または全ては、プログラム開発サーバ102が備え、プログラム開発装置101には、開発者が操作する開発画面が表示され、開発者の操作内容がプログラム開発サーバ102に送られ、さらにプログラム開発サーバ102での処理結果がプログラム開発装置101に戻され、開発者が操作する操作画面に結果として表示するように構成してもよい。この場合には、プログラム開発装置101は、ストレージサーバ106、またはデータベースサーバ103と直接は接続せず、プログラム開発サーバ102が、ストレージサーバ106、またはデータベースサーバ103と接続することにより、検索結果を取得してもよい。   The program development apparatus 101 is connected to the storage server 106 or the database server 103. Or the structure included in the same housing | casing may be sufficient. Furthermore, a part or all of the functional units included in the program development apparatus 101 are included in the program development server 102. The program development apparatus 101 displays a development screen operated by the developer, and the operation contents of the developer are displayed in the program development server. The processing result in the program development server 102 may be sent back to the program development apparatus 101 and displayed as a result on an operation screen operated by the developer. In this case, the program development apparatus 101 does not directly connect to the storage server 106 or the database server 103, and the program development server 102 acquires the search result by connecting to the storage server 106 or the database server 103. May be.

アプリケーションクライアント104は、ブラウザ1001、ブラウザコントローラ1002、端末ネイティブ機能1003(ネイティブ機能と呼ぶこともある)を備えている。   The application client 104 includes a browser 1001, a browser controller 1002, and a terminal native function 1003 (sometimes referred to as a native function).

ブラウザ1001は、パラメータ取得部331、要求引渡部332、結果受付部337、結果設定部338、表示制御部339を備えている。   The browser 1001 includes a parameter acquisition unit 331, a request delivery unit 332, a result reception unit 337, a result setting unit 338, and a display control unit 339.

パラメータ取得部331は、ブラウザ1001のユーザがボタンをクリックするなどによりアプリケーションサーバ105に対する処理を指示した際に、処理に必要なパラメータ値などを取得する機能部である。   The parameter acquisition unit 331 is a functional unit that acquires parameter values and the like necessary for processing when the user of the browser 1001 instructs processing to the application server 105 by clicking a button or the like.

要求引渡部332は、前述のパラメータ取得部331で取得されたパラメータ値などを後述する要求受付部333に引き渡す機能部である。   The request delivery unit 332 is a functional unit that delivers the parameter value acquired by the parameter acquisition unit 331 to the request reception unit 333 described later.

結果受付部337は、アプリケーションサーバ105での処理結果を後述する結果受渡部336から受け付ける機能部である。   The result reception unit 337 is a functional unit that receives a processing result in the application server 105 from a result delivery unit 336 described later.

結果設定部338(当てはめ部)は、前述の結果受付部337で受け付けた処理結果を、アプリケーションクライアント104上のオブジェクトに設定する機能部である。   The result setting unit 338 (fitting unit) is a functional unit that sets the processing result received by the result receiving unit 337 to an object on the application client 104.

表示制御部339は、アプリケーションの特定の画面が生成される場合には、アプリケーションサーバ105において生成された画面を、アプリケーションクライアント104のアプリケーション上に表示する機能部である。また、既に表示されている場合には、前述の結果設定部338の設定を表示に反映する。   The display control unit 339 is a functional unit that displays the screen generated in the application server 105 on the application of the application client 104 when a specific screen of the application is generated. If already displayed, the setting of the result setting unit 338 is reflected on the display.

ブラウザコントローラ1002は、要求引渡監視部341、メッセージ送信部342、メッセージ受信部343、端末ネイティブ機能実行制御部344を備えている。   The browser controller 1002 includes a request delivery monitoring unit 341, a message transmission unit 342, a message reception unit 343, and a terminal native function execution control unit 344.

要求引渡監視部341は、前述の要求引渡部332がパラメータ値などを後述する要求受付部333に引き渡す際に、特定の条件に合致した場合、処理を中断し、別の処理を実行する機能部である。   The request delivery monitoring unit 341 is a functional unit that interrupts the process and executes another process when a specific condition is met when the request delivery unit 332 delivers a parameter value or the like to the request reception unit 333 described later. It is.

メッセージ送信部342は、SOAP方式やREST方式などの方式で、アプリケーションサーバ105、ストレージサーバ106、またはデータベースサーバ103に、URLやSQLなどのメッセージを送信する機能部である。   The message transmission unit 342 is a functional unit that transmits a message such as URL or SQL to the application server 105, the storage server 106, or the database server 103 by a method such as a SOAP method or a REST method.

メッセージ受信部343は、SOAP方式やREST方式などの方式で、アプリケーションサーバ105、ストレージサーバ106、またはデータベースサーバ103から、CSVやXMLなどのデータやメッセージを受信する機能部である。   The message receiving unit 343 is a functional unit that receives data and messages such as CSV and XML from the application server 105, the storage server 106, or the database server 103 by a method such as a SOAP method or a REST method.

端末ネイティブ機能実行制御部は、アプリケーションクライアント104が備える端末ネイティブ機能(カメラ・録音マイク・GPS・傾きセンサーなど)を起動、制御し、端末ネイティブ機能が作成したネイティブデータ(画像・音声・位置・傾きなどのデータ)を操作する機能部である。   The terminal native function execution control unit activates and controls terminal native functions (camera, recording microphone, GPS, tilt sensor, etc.) provided in the application client 104, and native data (image, sound, position, tilt, etc.) created by the terminal native function Etc.) is a functional part that operates data.

端末ネイティブ機能1003は、カメラ部351、録音マイク部352、GPS部353、傾きセンサー部354を備えている。   The terminal native function 1003 includes a camera unit 351, a recording microphone unit 352, a GPS unit 353, and a tilt sensor unit 354.

ブラウザ1001およびブラウザコントローラ1002に含まれる機能部は、図3のように明確に2つのプログラムに分かれていてもよいし、ブラウザコントローラ1002がブラウザ1001に含まれる構成としてもよい。   The functional units included in the browser 1001 and the browser controller 1002 may be clearly divided into two programs as shown in FIG. 3, or the browser controller 1002 may be included in the browser 1001.

アプリケーションサーバ105は、画面生成部330、要求受付部333、アクション定義取得部334、検索実行制御部335、結果受渡部336を備え、またプログラム開発装置101で定義した記憶部306をアプリケーションの実行定義情報として含む。   The application server 105 includes a screen generation unit 330, a request reception unit 333, an action definition acquisition unit 334, a search execution control unit 335, and a result transfer unit 336, and the storage unit 306 defined by the program development apparatus 101 is defined as an application execution definition. Include as information.

画面生成部330は、アプリケーションクライアント104に表示するための画面をレイアウト定義に基づき生成する機能部である。   The screen generation unit 330 is a functional unit that generates a screen to be displayed on the application client 104 based on the layout definition.

要求受付部333は、前述の要求引渡部332からアプリケーションサーバ105の処理に必要なパラメータ値などを受け付ける機能部である。   The request reception unit 333 is a functional unit that receives parameter values and the like necessary for processing of the application server 105 from the request delivery unit 332 described above.

アクション定義取得部334は、アプリケーションサーバ105を動作させるために必要なアクション定義を取得する機能部である。   The action definition acquisition unit 334 is a functional unit that acquires an action definition necessary for operating the application server 105.

検索実行制御部335は、アプリケーションクライアント104から渡されたパラメータ等に基づいてアプリケーションサーバ105を動作させるため機能部である。   The search execution control unit 335 is a functional unit for operating the application server 105 based on parameters or the like passed from the application client 104.

結果受渡部336(送信手段)は、前述の検索実行制御部335の検索結果を、アプリケーションクライアント104の結果受付部337に受け渡す機能部である。   The result delivery unit 336 (transmission unit) is a functional unit that delivers the search result of the search execution control unit 335 to the result reception unit 337 of the application client 104.

アプリケーションクライアント104およびアプリケーションサーバ105に含まれる機能部は、プログラム開発装置101あるいはプログラム開発サーバ102に含まれていてもよい。これにより開発中の動作確認が可能となる。   The functional units included in the application client 104 and the application server 105 may be included in the program development apparatus 101 or the program development server 102. This makes it possible to check the operation under development.

図4は、開発者がレイアウト定義指示を行う画面の一例を示す図であり、プログラム開発装置101上に表示される。開発GUI400のヘッダー401には、開発者が行う作業毎に画面一覧402、レイアウト定義403、一括作成情報404、アクション定義405が表示されている。402〜405は単なる作業状況を示すものであってもよいし、あるいはタブとして選択し処理内容を移行できてもよいが、あくまで一例である。また本例では作業している内容に従い、402〜405のタイトルの前に“*”を表示している。   FIG. 4 is a diagram showing an example of a screen on which a developer gives a layout definition instruction, and is displayed on the program development apparatus 101. In the header 401 of the development GUI 400, a screen list 402, a layout definition 403, batch creation information 404, and an action definition 405 are displayed for each operation performed by the developer. Reference numerals 402 to 405 may indicate mere work statuses, or may be selected as tabs and the processing contents may be transferred, but are merely examples. In this example, “*” is displayed in front of the titles 402 to 405 according to the content of the work.

作成画面一覧406には、作成済みの画面が表示されている。今回の説明では、新規画面作成ボタン407を指示することにより、開発GUI400aの構成に変わる。前記指示は、マウスによるクリック、キーボードによる操作などあるが、以降の説明では区別しない。   The created screen list 406 displays created screens. In this description, by instructing a new screen creation button 407, the configuration of the development GUI 400a is changed. The instructions include mouse clicks and keyboard operations, but are not distinguished in the following description.

例では、新規画面として画面名称411に“エンジンオイルの量”と入力し、過去の整備記録を確認するための画面レイアウトを定義する処理を行う。   In the example, “amount of engine oil” is input to the screen name 411 as a new screen, and a process for defining a screen layout for confirming past maintenance records is performed.

作業領域412には、初期状態で新規画面のベースとなる明細書形式コンテナ413が配置される。   In the work area 412, a specification format container 413 serving as a base of a new screen in the initial state is arranged.

コンテナには、例として1件の情報を1葉で各種データを表示する帳票の作成を主な用途とし、複数の行を挿入可能な“明細書形式コンテナ”と、明細書形式コンテナの中に“行”を追加して、その“行”の中の横方向に複数のオブジェクトなどを並べることが可能な“行形式コンテナ”の2種類を使用可能である。本実施形態の例では、初期状態では前述の通り明細書形式コンテナ413が配置される。ただし、初期状態で何も配置されず開発者が明細書形式コンテナ413か行形式コンテナを自由に配置できるようにしてもよい。   In the container, for example, the main use is to create a form that displays various data with one piece of information as one leaf. Two types of “row format containers” that can add a “row” and arrange a plurality of objects in the horizontal direction in the “row” can be used. In the example of the present embodiment, the specification format container 413 is arranged in the initial state as described above. However, nothing may be arranged in the initial state, and the developer may freely arrange the specification format container 413 or the row format container.

レイアウト部品420には部品ボタンが含まれ、各部品ボタンはコンテナ上に配置できるオブジェクトに対応する。部品ボタンをクリックあるいは、マウスでドラッグアンドドロップすることで、指定のオブジェクトを作業領域412に配置済みの他のコンテナ中に配置可能である。例として明細書形式コンテナ作成ボタン421、行形式コンテナ作成ボタン422、テキスト作成ボタン423、テキストボックス作成ボタン424、グリッド作成ボタン425、ボタン作成ボタン426がある。   The layout component 420 includes a component button, and each component button corresponds to an object that can be placed on the container. A specified object can be placed in another container that has already been placed in the work area 412 by clicking a component button or dragging and dropping it with a mouse. Examples include a specification format container creation button 421, a row format container creation button 422, a text creation button 423, a text box creation button 424, a grid creation button 425, and a button creation button 426.

コマンド430には、他の作業に移行する場合のコマンドが含まれ、例えば一括作成情報ボタン431、属性編集ボタン432、アクション定義ボタン433がある。   The command 430 includes a command for shifting to another work, and includes, for example, a batch creation information button 431, an attribute edit button 432, and an action definition button 433.

図5は、開発者がレイアウト定義指示を行う操作手順の一例を簡単に説明するフローである。また図6は、レイアウトを定義する際のコンテナやオブジェクトの配置を示す一例であり、図5の説明に使用する。ここでの説明は、あくまで一例であり、レイアウト定義を途中で中断することや、コンテナやオブジェクトの種類で、配置できないときの警告などは割愛する。   FIG. 5 is a flow for briefly explaining an example of an operation procedure for a developer to issue a layout definition instruction. FIG. 6 is an example showing the arrangement of containers and objects when defining a layout, and is used in the description of FIG. The explanation here is merely an example, and the layout definition is interrupted in the middle, and a warning when it cannot be arranged due to the type of container or object is omitted.

ステップS501で、図4の新規画面作成ボタン407をマウスクリックすることで、明細書形式コンテナ413が配置され、レイアウト定義作業を開始する。   In step S501, the specification format container 413 is arranged by clicking the new screen creation button 407 in FIG. 4 with the mouse, and layout definition work is started.

次に、開発者は、配置作業の内容として“配置”または“対象の移動”のいずれかを行うかを判断する。現時点では、明細書形式コンテナ413上に何も配置されていないため、新しい対象の“配置”しかできないので、ステップS502で“配置”となり、ステップS503に進む。例えば、行形式コンテナを追加するためには、まず明細書形式コンテナ413をマウスで選択し配置先としてフォーカス(ステップS503)する。更に図4の行形式コンテナ作成ボタン422をマウスクリックすると、図6の明細書形式コンテナ413aの中に階層的に(入れ子状態に)行形式コンテナ601が新規作成、挿入される(ステップS504)。同様の処理を繰り返す(ステップS506で“YES”と判断する)と行形式コンテナ602の下方に行形式コンテナ602が追加される(413b)。   Next, the developer determines whether to perform “placement” or “target movement” as the content of the placement work. Since nothing is arranged on the specification format container 413 at the present time, only the new object “arrangement” can be performed, so that “arrangement” is set in step S502 and the process proceeds to step S503. For example, in order to add a row format container, the specification format container 413 is first selected with the mouse and focused as an arrangement destination (step S503). Further, when the row format container creation button 422 in FIG. 4 is clicked with the mouse, row format containers 601 are newly created and inserted hierarchically (in a nested state) in the specification format container 413a in FIG. 6 (step S504). If the same processing is repeated ("YES" is determined in step S506), the row format container 602 is added below the row format container 602 (413b).

次に行形式コンテナ602をフォーカス(ステップS503)してから、図4の明細書形式コンテナ作成ボタン421あるいは、テキストボックス作成ボタン424などオブジェクトを配置するボタンを選択し、コンテナあるいはオブジェクト611を新規作成、挿入(ステップS504)することができる(413c)。同様にコンテナあるいはオブジェクト612を配置することができる(413d)。行形式コンテナ内での配置は、横方向に可能である。ここでベースになる明細書形式コンテナ413からは3階層目の位置にコンテナ又はオブジェクトが配置される。このように、コンテナは階層的に配置していくことが可能である。   Next, after focusing on the row format container 602 (step S503), a button for placing an object such as the specification format container creation button 421 or the text box creation button 424 in FIG. 4 is selected to create a new container or object 611. Can be inserted (step S504) (413c). Similarly, a container or an object 612 can be arranged (413d). Arrangement within the row format container is possible in the horizontal direction. Here, from the specification format container 413 as a base, a container or an object is arranged at the position of the third hierarchy. In this way, containers can be arranged hierarchically.

次に明細書形式コンテナ413dを選択して行形式コンテナ作成ボタン422をマウスクリックすると、行形式コンテナ603が新規作成、挿入される(413e)。   Next, when the specification format container 413d is selected and the row format container creation button 422 is clicked with the mouse, the row format container 603 is newly created and inserted (413e).

更に配置作業を継続する(ステップS506で“YES”と判断する)が、今度は、対象の移動を実施する(ステップS502で“対象の移動”と判断)。   Further, the arrangement work is continued (determined as “YES” in step S506), but this time, the object is moved (determined as “move object” in step S502).

対象の移動は、例えば行形式コンテナ603をドラッグし、行形式コンテナ601と行形式コンテナ602の間に移動してドロップする(ステップS505、図6の621の移動)。この時、行形式コンテナ602内に配置されているコンテナまたはオブジェクト611は、行形式コンテナ602の入れ子として定義されているため、行形式コンテナ602に伴って移動する。   For the movement of the object, for example, the row format container 603 is dragged, moved between the row format container 601 and the row format container 602 and dropped (step S505, movement of 621 in FIG. 6). At this time, since the container or object 611 arranged in the row format container 602 is defined as the nesting of the row format container 602, it moves with the row format container 602.

同様にドラッグアンドドロップにより、コンテナまたはオブジェクト611と612を入れ替えることも可能である(図4の422の移動)。   Similarly, containers or objects 611 and 612 can be exchanged by drag and drop (movement of 422 in FIG. 4).

以上の説明では、外側にあるコンテナを選択して、内側に他のコンテナ(あるいはオブジェクト)を最後の行、最右の位置に追加したが、例えば、明細書形式コンテナ413dの行形式コンテナ601と行形式コンテナ602の間を選択し、行形式コンテナ作成ボタン422をクリックすると、行形式コンテナ603が新規作成、挿入されるようにしてもよい。上記の説明はあくまで一例である。   In the above description, the outer container is selected, and the other container (or object) is added to the last line and the rightmost position. For example, the line format container 601 of the specification format container 413d When a row format container 602 is selected and a row format container creation button 422 is clicked, a row format container 603 may be newly created and inserted. The above description is merely an example.

以上でレイアウト定義作業について説明したが、本例で示したコンテナ、あるいはグリッドオブジェクトを内部に複数の項目を表示できるという意味で、“表示グループ”と呼び、レイアウトの一括作成の例として使用する。階層的には、如何に深い位置にあっても同様に対応可能である。   The layout definition work has been described above. The container or grid object shown in this example is called a “display group” in the sense that a plurality of items can be displayed inside, and is used as an example of batch layout creation. Hierarchically, it is possible to cope in the same way no matter how deep the position is.

図7は、オブジェクトの属性編集を実施した画面レイアウトの一例を示す図である。   FIG. 7 is a diagram illustrating an example of a screen layout in which object attribute editing is performed.

以上により、プログラム開発装置101における開発者によるレイアウト定義、レイアウト定義の作成を行う操作、およびプログラム開発装置101またはプログラム開発サーバ102が、レイアウト定義を作成する処理動作の実施形態の一例の説明を完了する。   This completes the description of an example of the embodiment of the layout definition by the developer in the program development apparatus 101, the operation of creating the layout definition, and the processing operation in which the program development apparatus 101 or the program development server 102 creates the layout definition. To do.

図8は、開発者がアクション定義を行う画面の一例を示す図である。アクション定義には、引き続きプログラム開発装置101を用いる。本例では、開発GUI400のアクション定義405により、アクションを定義するものとして説明する。   FIG. 8 is a diagram illustrating an example of a screen on which a developer defines an action. The program development apparatus 101 is continuously used for action definition. In this example, the action is defined by the action definition 405 of the development GUI 400.

前述の通り、実際の開発作業(アクション定義操作)を進めるにあたり、プログラム開発装置101単体で動作可能であってもよい。   As described above, when the actual development work (action definition operation) proceeds, the program development apparatus 101 may be operable alone.

アクション定義領域801bには、アクション定義の対象となっているオブジェクトIDと、そのラベルが表示されている。この実施例では、図7で定義したオブジェクト“Topへ”ボタンが表示されている(オブジェクトID“TopButton”)。   In the action definition area 801b, an object ID that is a target of action definition and its label are displayed. In this embodiment, the object “To Top” button defined in FIG. 7 is displayed (object ID “TopButton”).

アクション定義領域801aには、オブジェクトIDテキストボックス802aとキャプションテキストボックス803aが表示され、オブジェクトのID・表示する文言(または画像ファイル)を設定できる。アクション定義領域801b、801c、801dも同様である。   An object ID text box 802a and a caption text box 803a are displayed in the action definition area 801a, and an object ID and a displayed word (or image file) can be set. The same applies to the action definition areas 801b, 801c, and 801d.

また、実施例のように、キャプションテキストボックス803dを“空白”に設定することで、オブジェクトを非表示にすることもできるが、表示有無のチェックボックスを設置し、オブジェクトの表示・非表示を切り替える方式にしてもよい。   Further, as in the embodiment, the object can be hidden by setting the caption text box 803d to “blank”, but a check box for displaying / not displaying is provided, and the object is displayed / hidden. A method may be used.

アクション定義領域801aの初期画面では、アクション種別セレクトボックス804a(選択肢:DBクエリ、遷移先URLの2種類)とアクション内容テキストボックス805aが1組表示されている。アクション定義領域801b、801c、801dも同様である。   On the initial screen of the action definition area 801a, an action type select box 804a (option: DB query, two types of transition destination URL) and an action content text box 805a are displayed. The same applies to the action definition areas 801b, 801c, and 801d.

アクション種別セレクトボックス804aに“DBクエリ”を選択した場合には、アクション内容にSQLを記入することで、formオブジェクトがsubmitされた時、buttonオブジェクトがクリックされた時に、DBに対して前述のSQLが発行される。   When “DB query” is selected in the action type select box 804a, the above SQL is added to the DB when the form object is submitted or the button object is clicked by entering SQL in the action content. publish.

アクション種別セレクトボックス804aに“遷移先URL”を選択した場合には、アクション内容にURLを記入することで、formオブジェクトがsubmitされた時、buttonオブジェクトがクリックされた時に、前述のURLにHTTPリクエストを発行する。   When “transition destination URL” is selected in the action type select box 804a, by entering the URL in the action content, when the form object is submitted, or when the button object is clicked, an HTTP request is sent to the aforementioned URL. Issue.

また、これらのアクションは、formオブジェクトがsubmitされた時、buttonオブジェクトがクリックされた時だけでなく、ラジオボタン、セレクトボックス、リンク、画像などのオブジェクトのクリック、オンフォーカス、オンマウスオーバー、オンマウスアウトなどのイベントをトリガーとして設定してもよい。   These actions include not only when the form object is submitted, but when the button object is clicked, as well as clicking on objects such as radio buttons, select boxes, links, and images, on focus, on mouse over, on mouse out, etc. The event may be set as a trigger.

なお、1つのアクション定義領域には、複数のアクション定義を設定することが可能であり、そのためには、前述のアクション定義用の行を追加する必要がある。例えば、画面下方のアクション追加ボタン912をクリックして行を追加してもよいし、1つの行に入力を開始したタイミングや終了したタイミングなど、何らかのイベントにより、予め空白の1行を追加するようにしてもよい。   It is possible to set a plurality of action definitions in one action definition area. For this purpose, it is necessary to add the above-described line for action definition. For example, a line may be added by clicking the action addition button 912 at the bottom of the screen, or a blank line may be added in advance by some event such as the timing of starting input or the timing of ending input on one line. It may be.

1つのアクション定義領域に、複数のアクション定義を設定できるということは、ブラウザ1001でのアクションにより、データベースに対して複数のクエリを発行したり、クエリを発行後に遷移先URLに画面を遷移させたりすることが可能である。   The fact that multiple action definitions can be set in one action definition area means that a plurality of queries are issued to the database by the action in the browser 1001, or the screen is transitioned to the transition destination URL after the query is issued. Is possible.

また、前述のSQL・URLには、アクション内容テキストボックス805aとパラメータテキストボックス806bの“$car_id”のように、変数を用いて記述することができ、実際にアプリケーションクライアント104で実行された時の値が入り、SQL・URLが動的に作成される。   Further, in the above-mentioned SQL / URL, it is possible to describe using a variable, such as “$ car_id” in the action content text box 805a and the parameter text box 806b, and when it is actually executed by the application client 104, A value is entered, and an SQL / URL is dynamically created.

図8の例では、パラメータテキストボックス806aの記載は1つとなっているが、例えば“,”や空白区切りで複数指定できるようにしてもよい。パラメータテキストボックス806a自体を複数用意してもよい。さらに、パラメータテキストボックス806aを用意しなくても、例えばアクション内容テキストボックスで指定した順番に応じて、必ず1番目の条件項目は“param1”、2番目の条件項目は“param2”が受け取るよう対応付けられていてもよい。
また、アクション定義による動作定義は、あくまで一例であり、同様のWebアプリケーションを、開発支援ツールを用いずに、独自に開発してもよい。例えば、サーブレットやJSPにおいて、開発者が明示的にデータベースの検索や画面の当てはめ処理を実装してもよい。
In the example of FIG. 8, the parameter text box 806a is described as one, but a plurality of parameters may be designated by, for example, “,” or space separation. A plurality of parameter text boxes 806a themselves may be prepared. Further, even if the parameter text box 806a is not prepared, for example, according to the order specified in the action content text box, the first condition item is always received as “param1”, and the second condition item is received as “param2”. It may be attached.
Further, the action definition based on the action definition is merely an example, and a similar Web application may be independently developed without using a development support tool. For example, in a servlet or JSP, a developer may explicitly implement database search or screen fitting processing.

図9は、レイアウト定義記憶部321におけるレイアウト定義のデータ構成の一例を示す図である。   FIG. 9 is a diagram illustrating an example of the data configuration of the layout definition in the layout definition storage unit 321.

テーブル900は、開発者により定義されたレイアウトを含む例である。   The table 900 is an example including a layout defined by the developer.

画面ID901は、新規画面作成ボタン407がクリックされたときに開発中のアプリケーション中で画面に一意的に対応付けられる番号であり、現在作成している画面には“UI001”が対応付けられている。表示グループ902には例として、明細書形式コンテナまたはグリッドオブジェクトなどが登録される。説明の現時点では、“contenaA”が登録されている。   The screen ID 901 is a number uniquely associated with the screen in the application under development when the new screen creation button 407 is clicked, and “UI001” is associated with the currently created screen. . As an example, a description format container or a grid object is registered in the display group 902. At the present time of description, “contenaA” is registered.

行/列903は、表示グループ(ここでは明細書形式コンテナまたはグリッドオブジェクト)に配置される行形式コンテナ、または列オブジェクトである。行形式コンテナも表示グループの1種であり、表示グループ902に登録する情報として扱ってもよいが、本構成例としては、別の項目として指定する。   The row / column 903 is a row format container or column object arranged in a display group (here, a description format container or a grid object). The row format container is also a type of display group, and may be handled as information registered in the display group 902, but is specified as another item in this configuration example.

また、オブジェクト情報として種類905としてオブジェクトの種類、ID906としてオブジェクトID、キャプション907としてオブジェクトに表示する文言(または画像ファイル)を登録する。   In addition, as the object information, the type of the object as the type 905, the object ID as the ID 906, and the text (or image file) displayed on the object as the caption 907 are registered.

図8での説明と同様に、アクション種別セレクトボックス804aとアクション内容テキストボックス805aの組み合わせを複数指定することが可能である。   Similar to the description in FIG. 8, a plurality of combinations of the action type select box 804a and the action content text box 805a can be designated.

また、アクション定義については、アクション定義記憶部322に登録、記憶される。また、クエリ定義については、クエリ定義記憶部323に記憶される。   The action definition is registered and stored in the action definition storage unit 322. The query definition is stored in the query definition storage unit 323.

以上により、レイアウト定義およびブラウザ画面でのアクションにより、DBクエリ(SQL)と画面遷移の定義を混在させることが可能であることの説明を完了する。   As described above, the description that the DB query (SQL) and the definition of the screen transition can be mixed by the layout definition and the action on the browser screen is completed.

図10は、本発明の実施形態におけるアクションの実行処理の一例を示すフローチャートである。図11は、本発明の実施形態におけるアクションを実行した画面の一例を示す図である。図12は、遷移先URLと起動する端末ネイティブ機能のデータ構成の一例を示す図である。図13は、本発明の実施形態におけるデータベースのテーブルの一例を示す図である。   FIG. 10 is a flowchart showing an example of action execution processing in the embodiment of the present invention. FIG. 11 is a diagram showing an example of a screen on which an action is executed in the embodiment of the present invention. FIG. 12 is a diagram illustrating an example of a data configuration of a transition destination URL and a terminal native function to be activated. FIG. 13 is a diagram showing an example of a database table in the embodiment of the present invention.

すなわち、図11のWebページ(画面データ)1101aのカメラアイコン1135をクリックし、図12のデータ構成に従ってカメラ機能が起動し、カメラで撮影した画像1132bを含むWebページ1101bが描画されるまでのフローチャートが図10である。
図10のフローチャートを説明する。
That is, a flowchart from when the camera icon 1135 of the Web page (screen data) 1101a in FIG. 11 is clicked, the camera function is activated in accordance with the data configuration in FIG. 12, and the Web page 1101b including the image 1132b captured by the camera is rendered. Is shown in FIG.
The flowchart of FIG. 10 will be described.

ステップS100においては、アプリケーションクライアント104のブラウザ1001に表示されたWebアプリケーション画面のボタンやリンクをユーザがクリックする。   In step S100, the user clicks a button or link on the Web application screen displayed on the browser 1001 of the application client 104.

ステップS101においては、ブラウザ1001からブラウザコントローラ1002に向けて、遷移先URLを通知する。   In step S101, the browser 1001 notifies the browser controller 1002 of the transition destination URL.

ステップS102においては、ブラウザコントローラ1002が、ブラウザ1001から遷移先URLを受け付ける。   In step S102, the browser controller 1002 receives a transition destination URL from the browser 1001.

ステップS103においては、遷移先URLのスキーマ部分が、端末ネイティブ機能を指すURLか、アプリケーションサーバ105のURLかを判定する。具体例としては、“native://hostname/maintain/TopForm”の場合はアプリケーションサーバのURLと判定しステップS104に進み(図7の701b、図8の805b、図9の909b)、“native://camera”の場合は端末ネイティブURLと判定し、ステップS109に進む。(図7の701c、図8の805c、図9の909c)なお、アプリケーションサーバのURLとは本システム構成図(図1)で示すアプリケーションサーバ外のサーバのURLであってもよい。   In step S103, it is determined whether the schema part of the transition destination URL is the URL indicating the terminal native function or the URL of the application server 105. As a specific example, in the case of “native: // hostname / maintain / TopForm”, it is determined as the URL of the application server and the process proceeds to step S104 (701b in FIG. 7, 805b in FIG. 8, 909b in FIG. 9), and “native: In the case of “// camera”, the terminal native URL is determined, and the process proceeds to step S109. (701c in FIG. 7, 805c in FIG. 8, 909c in FIG. 9) The URL of the application server may be the URL of a server outside the application server shown in the system configuration diagram (FIG. 1).

ここでは、遷移先URLが、アプリケーションサーバ105のURLとして、ステップS104に進む。   Here, the transition destination URL is the URL of the application server 105, and the process advances to step S104.

ステップS104においては、アプリケーションサーバ105が、アプリケーションクライアント104から送信されたURLを受信する。   In step S <b> 104, the application server 105 receives the URL transmitted from the application client 104.

ステップS105においては、アプリケーションサーバ105が、受信したURLに対応するプログラムを実行し、Webページを作成する。このステップS105では、ストレージサーバとデータベースサーバにアクセスが不要なWebページを例とする。   In step S105, the application server 105 executes a program corresponding to the received URL and creates a Web page. In this step S105, a Web page that does not require access to the storage server and the database server is taken as an example.

ステップS106においては、アプリケーションサーバ105が、作成したWebページをアプリケーションクライアント104に送信する。   In step S <b> 106, the application server 105 transmits the created web page to the application client 104.

ステップS107においては、アプリケーションクライアント104のブラウザ1001が、アプリケーションサーバ105から送信されたWebページを受信する。   In step S107, the browser 1001 of the application client 104 receives the Web page transmitted from the application server 105.

ステップS108においては、ブラウザ1001が、受信したWebページを表示する。   In step S108, the browser 1001 displays the received web page.

また、ステップS103の遷移先URLが、端末ネイティブ機能(カメラ・録音マイク・GPS・傾きセンサーなど)を指すURL1201の場合、ステップS109に進む。(この実施例では、図11のカメラアイコン1135がクリックされたとする。)   If the transition destination URL in step S103 is a URL 1201 indicating a terminal native function (camera, recording microphone, GPS, tilt sensor, etc.), the process proceeds to step S109. (In this embodiment, it is assumed that the camera icon 1135 in FIG. 11 is clicked.)

ステップS109においては、ブラウザコントローラ1002が、URLに対応する端末ネイティブ機能1202に記載された端末ネイティブ機能を起動する。(ネイティブ機能実行制御部。この実施例では、図8の遷移先URL805cに対応する図12の端末ネイティブ機能1202aのカメラを起動し、実行させる。)   In step S109, the browser controller 1002 activates the terminal native function described in the terminal native function 1202 corresponding to the URL. (Native function execution control unit. In this embodiment, the camera of the terminal native function 1202a in FIG. 12 corresponding to the transition destination URL 805c in FIG. 8 is activated and executed.)

ステップS110においては、起動された端末ネイティブ機能がネイティブデータ(画像・音声・位置・傾きなどのデータ)を作成する。(この実施例では、画像データ)   In step S110, the activated terminal native function creates native data (data such as image / sound / position / tilt). (In this embodiment, image data)

ステップS111においては、ブラウザコントローラ1002が、作成したネイティブデータをストレージサーバ106へ送信する。その時、ブラウザコントローラ1002は、ネイティブデータの格納場所を指定する。   In step S <b> 111, the browser controller 1002 transmits the created native data to the storage server 106. At that time, the browser controller 1002 specifies the storage location of the native data.

ステップS112においては、ストレージサーバ106が、ブラウザコントローラ1002から送信されたネイティブデータを受信する。   In step S112, the storage server 106 receives the native data transmitted from the browser controller 1002.

ステップS113においては、ストレージサーバ106が、受信したネイティブデータをストレージに格納する。   In step S113, the storage server 106 stores the received native data in the storage.

ステップS114においては、ブラウザコントローラ1002が、ネイティブデータ格納場所のURLをデータベースサーバ103に通知する。   In step S114, the browser controller 1002 notifies the database server 103 of the URL of the native data storage location.

ステップS115においては、ブラウザ1001が、ブラウザコントローラ1002から通知されたネイティブデータ格納場所のURLを受け付ける。   In step S115, the browser 1001 receives the URL of the native data storage location notified from the browser controller 1002.

ステップS116においては、データベースサーバ103が、ネイティブデータ格納場所のURLを図13の整備記録テーブル1300(アプリケーションデータ記憶部)の対応する整備記録レコードのカラム1316(エンジンオイル画像URL)に保存する。これにより、カラム1316の値は、データ例1316a“null”からデータ例1316b“http://storage/238/engine_oil.jpg”へ更新される。   In step S116, the database server 103 stores the URL of the native data storage location in the corresponding maintenance record record column 1316 (engine oil image URL) of the maintenance record table 1300 (application data storage unit) in FIG. As a result, the value of the column 1316 is updated from the data example 1316a “null” to the data example 1316b “http: //storage/238/engine_oil.jpg”.

ステップS120においては、ブラウザコントローラ1002が、ブラウザ1001に存在するリロードボタン701d(画面には非表示のボタン(更新指示オブジェクト))を仮想的にクリックすることで、Webページの更新を指示する。   In step S120, the browser controller 1002 instructs to update the Web page by virtually clicking a reload button 701d (a button not displayed on the screen (update instruction object)) present in the browser 1001.

なお、例えばAjaxなどにより、Webページ画面全体でなく、必要な部分のみを非同期に更新する方法でもよい。その場合には、ブラウザ1001からアプリケーションサーバ105、ストレージサーバ106、データベースサーバ103への要求および結果応答を行ってもよい。   Note that, for example, by using Ajax or the like, not only the entire Web page screen but also a necessary part may be updated asynchronously. In that case, a request and a result response from the browser 1001 to the application server 105, storage server 106, and database server 103 may be performed.

ステップS121においては、ブラウザ1001が、リロードボタン701dをクリックされたことで、Webページ更新指示を受け付ける。   In step S121, the browser 1001 receives the Web page update instruction when the reload button 701d is clicked.

また、リロードボタン701dのクリックによる、ブラウザ1001に表示されている画面と同じ画面のリクエストではなく、“確認画面へ進む“ボタンのクリックなどによる、異なる画面のリクエストであってもよい。   Further, a request for a different screen such as a click on a “go to confirmation screen” button may be used instead of a request for the same screen as that displayed on the browser 1001 by clicking the reload button 701d.

ステップS122においては、ブラウザ1001が、アプリケーションサーバ105にWebページの更新を要求する。その際、ステップS103と同様に、遷移先URLによる分岐判断を行ってもよいが、ブラウザコントローラ1002が、現在表示されているWebページの更新であることを考慮しているのであれば、分岐判断は不要である。   In step S122, the browser 1001 requests the application server 105 to update the web page. At that time, as in step S103, branch determination based on the transition destination URL may be performed. However, if the browser controller 1002 considers that the currently displayed web page is being updated, branch determination is performed. Is unnecessary.

また、ステップS120〜ステップS122においては、リロードボタン701dのクリックによる、ブラウザ1001に表示されている画面と同じ画面のリクエストではなく、“確認画面へ進む“ボタンのクリックなどによる、異なる画面のリクエストであってもよい。   In step S120 to step S122, a request for a different screen such as a click on the “go to confirmation screen” button is not performed by a click on the reload button 701d but a request for the same screen as that displayed on the browser 1001. There may be.

ステップS123においては、アプリケーションサーバ105が、ブラウザ1001から送信されたWebページの更新要求を受信する。   In step S123, the application server 105 receives a web page update request transmitted from the browser 1001.

ステップS124においては、アプリケーションサーバ105が、Webページを表示するために必要なデータ(この実施例では、整備記録情報)を取得するために、データベースサーバ103に対し、検索クエリ805aを送信する。   In step S124, the application server 105 transmits a search query 805a to the database server 103 in order to acquire data necessary for displaying the Web page (in this embodiment, maintenance record information).

ステップS125においては、データベースサーバ103が、アプリケーションサーバ105から送信された検索クエリ805aを受信する。   In step S125, the database server 103 receives the search query 805a transmitted from the application server 105.

ステップS126においては、データベースサーバ103が、検索クエリ805aを実行する。   In step S126, the database server 103 executes the search query 805a.

ステップS127においては、データベースサーバ103が、検索クエリ805aの実行結果をアプリケーションサーバ105に送信する。   In step S127, the database server 103 transmits the execution result of the search query 805a to the application server 105.

ステップS128においては、アプリケーションサーバ105が、検索クエリ805aの実行結果を受信する。   In step S128, the application server 105 receives the execution result of the search query 805a.

ステップS130においては、アプリケーションサーバ105が、受信した検索クエリ805aの実行結果にネイティブデータ格納場所(この実施例では、エンジンオイル画像URL1316)の値が有るか無いかにより分岐する。   In step S130, the application server 105 branches depending on whether the execution result of the received search query 805a has a value of the native data storage location (in this example, the engine oil image URL 1316).

ここでは、ネイティブデータ格納場所の値が有るとして、ステップS131に進む。   Here, assuming that there is a value of the native data storage location, the process proceeds to step S131.

ステップS131においては、アプリケーションサーバ105が、ネイティブデータ格納場所の値に従い、S113で格納したネイティブデータをストレージサーバ106に要求する。   In step S131, the application server 105 requests the storage server 106 for the native data stored in S113 according to the value of the native data storage location.

ステップS132においては、ストレージサーバ106が、アプリケーションサーバ105から受信したネイティブデータ要求を受信する。   In step S132, the storage server 106 receives the native data request received from the application server 105.

ステップS133においては、ストレージサーバ106が、ネイティブデータ格納場所に格納してあったネイティブデータを取得し、アプリケーションサーバ105に送信する。   In step S <b> 133, the storage server 106 acquires native data stored in the native data storage location and transmits it to the application server 105.

ステップS134においては、アプリケーションサーバ105が、ストレージサーバ106から送信されたネイティブデータ(この実施例では、図11のエンジンオイル画像1132b)を受信する。   In step S134, the application server 105 receives the native data transmitted from the storage server 106 (in this embodiment, the engine oil image 1132b in FIG. 11).

ステップS135においては、アプリケーションサーバ105が、Webページを作成する。(この実施例では、図7の明細書形式コンテナ413と検索クエリ805aの実行結果の値に従ってWebページを作成する。)これにより、ステップS134で受信したネイティブデータ(エンジンオイル画像)が、図11の1132bに表示される。   In step S135, the application server 105 creates a Web page. (In this embodiment, a Web page is created according to the execution result values of the specification format container 413 and the search query 805a in FIG. 7.) As a result, the native data (engine oil image) received in step S134 is obtained as shown in FIG. 1132b.

また、ステップS135においては、ステップS130で、アプリケーションサーバ105が受信した検索クエリ805aの実行結果の値によって、画面に表示するオブジェクトの内容(例えば、図9の910aのテキストボックス、図9の910bの画像表示項目。処理結果表示オブジェクトと呼ぶこともある)が動的に変化する。(この実施例では、図13の1315“engine_oil”というカラム名が図9の910b“$engine_oil”で関連付けられているため、図13の1315aの
“3.55”という値が図11の1134bに表示される。)
In step S135, the contents of the object to be displayed on the screen (for example, the text box of 910a in FIG. 9, the text of 910b in FIG. 9) according to the execution result value of the search query 805a received by the application server 105 in step S130. Image display items (sometimes called processing result display objects) dynamically change. (In this embodiment, the column name 1315 “engine_oil” in FIG. 13 is associated with 910b “$ engine_oil” in FIG. 9, so the value “3.55” in 1315a in FIG. Is displayed.)

ステップS136においては、アプリケーションサーバ105が、Webページをアプリケーションクライアント104に送信する。   In step S <b> 136, the application server 105 transmits the Web page to the application client 104.

ステップS140においては、アプリケーションクライアント104のブラウザ1001が、アプリケーションサーバ105から送信されたWebページを受信する。   In step S140, the browser 1001 of the application client 104 receives the Web page transmitted from the application server 105.

ステップS141においては、ブラウザ1001が、受信したWebページを表示する。   In step S141, the browser 1001 displays the received web page.

また、ステップS135〜ステップS141においては、アプリケーションサーバ105側でWebページを作成するのではなく、レイアウト定義記憶部321に含まれるレイアウト定義から対応する画面を生成してブラウザ1001に送信してレイアウトのみを表示させ、結果受渡部336から検索結果をブラウザ1001の結果受付部337に渡すことで検索結果を描画する形式でもよい。   In steps S135 to S141, instead of creating a Web page on the application server 105 side, a corresponding screen is generated from the layout definition included in the layout definition storage unit 321 and transmitted to the browser 1001 to display only the layout. May be displayed, and the search result may be rendered by passing the search result from the result transfer unit 336 to the result reception unit 337 of the browser 1001.

ここまでの処理で、ネイティブデータ(この実施例では、アプリケーションクライアント104のカメラ機能で撮影した画像)が埋め込まれたWebページ1101bが、ブラウザ1001に表示されたことになる。
以上で、図10のフローチャートの説明を完了する。
With the processing so far, the web page 1101b in which native data (in this embodiment, an image captured by the camera function of the application client 104) is embedded is displayed on the browser 1001.
Above, description of the flowchart of FIG. 10 is completed.

以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。   Although one embodiment has been described above, the present invention can take an embodiment as, for example, a system, apparatus, method, program, or recording medium, and specifically includes a plurality of devices. The present invention may be applied to a system including a single device.

また、本発明におけるプログラムは、本発明に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体はコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各装置の処理方法ごとのプログラムであってもよい。   The program according to the present invention is a program that can be executed by a computer according to the processing method of the flowchart shown in the present invention. The storage medium according to the present invention stores a program that can be executed by a computer. The program in the present invention may be a program for each processing method of each device.

以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。   As described above, a recording medium that records a program that implements the functions of the above-described embodiments is supplied to a system or apparatus, and a computer (or CPU or MPU) of the system or apparatus stores the program stored in the recording medium. It goes without saying that the object of the present invention can also be achieved by executing the reading.

この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。   In this case, the program itself read from the recording medium realizes the novel function of the present invention, and the recording medium storing the program constitutes the present invention.

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。   As a recording medium for supplying the program, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, DVD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, silicon A disk, solid state drive, or the like can be used.

また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) operating on the computer based on an instruction of the program is actually It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the processing and the processing is included.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Furthermore, after the program read from the recording medium is written to the memory provided in the function expansion board inserted into the computer or the function expansion unit connected to the computer, the function expansion board is based on the instructions of the program code. It goes without saying that the case where the CPU or the like provided in the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。   Further, the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device. Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or apparatus. In this case, by reading a recording medium storing a program for achieving the present invention into the system or apparatus, the system or apparatus can enjoy the effects of the present invention.

上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。   The form of the program may be in the form of object code, program code executed by an interpreter, script data supplied to an OS (operating system), and the like.

さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。   Furthermore, by downloading and reading a program for achieving the present invention from a server, database, etc. on a network using a communication program, the system or apparatus can enjoy the effects of the present invention.

なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。   In addition, all the structures which combined each embodiment mentioned above and its modification are also included in this invention.

101 プログラム開発装置
102 プログラム開発サーバ
103 データベースサーバ
104 アプリケーションクライアント
105 アプリケーションサーバ
106 ストレージサーバ
107 ネットワーク
300 開発画面制御部
301 レイアウト定義部
302 一括作成部
303 アクション定義部
304 クエリ定義部
305 指示引渡処理生成部
306 記憶部
311 一括作成情報受付部
312 カラム名取得部
313 オブジェクト生成部
314 オブジェクト配置部
315 値設定表示部
321 レイアウト定義記憶部
322 アクション定義記憶部
323 クエリ定義記憶部
330 画面生成部
331 パラメータ取得部
332 要求引渡部
333 要求受付部
334 アクション定義取得部
335 検索実行制御部
336 結果受渡部
337 結果受付部
338 結果設定部
339 表示制御部
341 要求引渡監視部
342 メッセージ送信部
343 メッセージ受信部
344 端末ネイティブ機能実行制御部
351 カメラ部
352 録音マイク部
353 GPS部
354 傾きセンサー部
1001 ブラウザ
1002 ブラウザコントローラ
1003 端末ネイティブ機能
101 Program Development Device 102 Program Development Server 103 Database Server 104 Application Client 105 Application Server 106 Storage Server 107 Network 300 Development Screen Control Unit 301 Layout Definition Unit 302 Batch Creation Unit 303 Action Definition Unit 304 Query Definition Unit 305 Instruction Delivery Processing Generation Unit 306 Storage unit 311 Batch creation information reception unit 312 Column name acquisition unit 313 Object generation unit 314 Object placement unit 315 Value setting display unit 321 Layout definition storage unit 322 Action definition storage unit 323 Query definition storage unit 330 Screen generation unit 331 Parameter acquisition unit 332 Request delivery unit 333 Request reception unit 334 Action definition acquisition unit 335 Search execution control unit 336 Result delivery unit 337 Result reception unit 33 Results setting unit 339 display control unit 341 requests the delivery monitoring unit 342 a message transmitting unit 343 a message receiving unit 344 terminal native function execution controller 351 camera unit 352 Microphone unit 353 GPS unit 354 tilt sensor 1001 Browser 1002 Browser controller 1003 terminal native functionality

Claims (5)

Webアプリケーションの実行を制御するWebアプリケーションサーバと、ストレージサーバと、ネットワークを介して接続可能な情報処理装置であって、
前記Webアプリケーションサーバに処理を指示するユーザの操作を受け付ける指示受付オブジェクトが選択されることで実行される処理を含む画面データを、Webブラウザに表示する表示制御手段と、
前記表示制御手段により表示された画面データにおける前記指示受付オブジェクトに対するユーザの操作に応じて、当該指示受付オブジェクトに関連付けられた処理により生成されるアプリケーションサーバに対するアクションの要求を、前記アプリケーションサーバに引き渡す要求引渡手段と、
前記引き渡し手段により前記アプリケーションサーバに引き渡す要求をURLとして受け付け、当該URLの種別を表すスキーマ部分に基づき、当該URLが前記Webアプリケーションサーバあるいは外部のサーバを示すものではない場合には、当該URLに対する前記情報処理装置により実行されるネイティブ機能を実行すると判定する要求引渡監視手段と、
前記要求引渡監視手段により前記URLがネイティブ機能を実行するものであると判定された場合には、当該URLによりネイティブ機能対応記憶手段から、対応するネイティブ機能を検索し、当該ネイティブ機能を実行させ、ネイティブデータを生成させるネイティブ機能実行手段と、
前記ネイティブ機能の実行により生成された前記ネイティブデータを、前記ストレージサーバのネイティブデータ記憶手段に記憶させるべく当該ストレージサーバに送信し、更に、当該ストレージサーバに記憶させた当該ネイティブデータの格納場所を、前記Webアプリケーションの画面データとして表示するデータを記憶するアプリケーションデータ記憶手段に記憶させるべく、前記アプリケーションサーバに送信するネイティブデータ送信手段と、
前記アプリケーションサーバに備えられた、前記要求であるURLに対応する処理をアクション定義として記憶するアクション定義記憶手段から、前記要求引渡手段により引き渡された前記要求に対応するアクション定義を検索し、当該アクション定義に設定された前記アプリケーションデータ記憶手段と検索条件に基づいて、検索した処理結果を表示するための画面データとして受け付ける結果受付手段と、
を備えることを特徴とする情報処理装置。
An information processing apparatus that can be connected to a web application server that controls execution of a web application, a storage server, and a network,
Display control means for displaying, on a web browser, screen data including processing executed by selecting an instruction receiving object that accepts a user operation for instructing the web application server to perform processing;
A request for handing over an action request for the application server generated by the process associated with the instruction receiving object to the application server in response to a user operation on the instruction receiving object in the screen data displayed by the display control means Delivery means;
A request to be delivered to the application server by the delivery means is received as a URL, and when the URL does not indicate the Web application server or an external server based on a schema portion representing the type of the URL, Request delivery monitoring means for determining to execute a native function executed by the information processing apparatus;
If the request delivery monitoring means determines that the URL is to execute a native function, the corresponding native function is searched from the native function corresponding storage means by the URL, and the native function is executed. Native function execution means for generating native data;
The native data generated by the execution of the native function is transmitted to the storage server to be stored in the native data storage unit of the storage server, and the storage location of the native data stored in the storage server is Native data transmission means for transmitting to the application server to store in an application data storage means for storing data to be displayed as screen data of the Web application;
An action definition corresponding to the request delivered by the request delivery means is retrieved from an action definition storage means provided in the application server for storing a process corresponding to the URL as the request as an action definition, and the action Based on the application data storage means set in the definition and the search condition, a result receiving means for receiving the searched processing result as screen data;
An information processing apparatus comprising:
前記Webブラウザに表示される画面データを更新すべく、当該Webブラウザの更新指示オブジェクトに関連付けられた処理を実行させ、更にその処理に基づいて前記要求引渡手段を実行させる更新指示手段と、
を更に備えることを特徴とする請求項1に記載の情報処理装置。
Update instruction means for executing processing associated with the update instruction object of the web browser and updating the request delivery means based on the processing in order to update the screen data displayed on the web browser;
The information processing apparatus according to claim 1, further comprising:
前記アプリケーションデータ記憶手段に前記ネイティブデータの格納場所が含まれる場合には、前記アプリケーションサーバが、当該ネイティブデータの格納場所に基づき取得した当該ネイティブデータが、前記画面データに含まれるものであって、
前記表示制御手段は、前記アプリケーションサーバから結果受付手段により受け付けた処理結果が、処理結果表示オブジェクトに配置された画面データを表示することを特徴とする請求項1または請求項2に記載の情報処理装置。
When the storage location of the native data is included in the application data storage unit, the native data acquired by the application server based on the storage location of the native data is included in the screen data,
3. The information processing according to claim 1, wherein the display control unit displays the screen data arranged in the processing result display object as the processing result received by the result receiving unit from the application server. apparatus.
Webアプリケーションの実行を制御するWebアプリケーションサーバと、ストレージサーバと、ネットワークを介して接続可能な情報処理装置の制御方法であって、
前記Webアプリケーションサーバに処理を指示するユーザの操作を受け付ける指示受付オブジェクトが選択されることで実行される処理を含む画面データを、Webブラウザに表示する表示制御ステップと、
前記表示制御ステップにより表示された画面データにおける前記指示受付オブジェクトに対するユーザの操作に応じて、当該指示受付オブジェクトに関連付けられた処理により生成されるアプリケーションサーバに対するアクションの要求を、前記アプリケーションサーバに引き渡す要求引渡ステップと、
前記引き渡しステップにより前記アプリケーションサーバに引き渡す要求をURLとして受け付け、当該URLの種別を表すスキーマ部分に基づき、当該URLが前記Webアプリケーションサーバあるいは外部のサーバを示すものではない場合には、当該URLに対する前記情報処理装置により実行されるネイティブ機能を実行すると判定する要求引渡監視ステップと、
前記要求引渡監視ステップにより前記URLがネイティブ機能を実行するものであると判定された場合には、当該URLによりネイティブ機能対応記憶手段から、対応するネイティブ機能を検索し、当該ネイティブ機能を実行させ、ネイティブデータを生成させるネイティブ機能実行ステップと、
前記ネイティブ機能の実行により生成された前記ネイティブデータを、前記ストレージサーバのネイティブデータ記憶手段に記憶させるべく当該ストレージサーバに送信し、更に、当該ストレージサーバに記憶させた当該ネイティブデータの格納場所を、前記Webアプリケーションの画面データとして表示するデータを記憶するアプリケーションデータ記憶手段に記憶させるべく、前記アプリケーションサーバに送信するネイティブデータ送信ステップと、
前記アプリケーションサーバに備えられた、前記要求であるURLに対応する処理をアクション定義として記憶するアクション定義記憶手段から、前記要求引渡ステップにより引き渡された前記要求に対応するアクション定義を検索し、当該アクション定義に設定された前記アプリケーションデータ記憶手段と検索条件に基づいて、検索した処理結果を表示するための画面データとして受け付ける結果受付ステップと、
を含むことを特徴とする情報処理装置の制御方法。
A method of controlling an information processing apparatus connectable to a web application server that controls execution of a web application, a storage server, and a network,
A display control step of displaying, on a web browser, screen data including processing executed by selecting an instruction receiving object that accepts a user operation that instructs the web application server to perform processing;
A request to deliver to the application server an action request for the application server generated by the process associated with the instruction receiving object in response to a user operation on the instruction receiving object in the screen data displayed by the display control step A delivery step;
A request to be delivered to the application server by the delivery step is accepted as a URL, and if the URL does not indicate the Web application server or an external server based on a schema portion representing the type of the URL, the URL for the URL A request delivery monitoring step for determining to execute a native function executed by the information processing apparatus;
If it is determined in the request delivery monitoring step that the URL executes a native function, the corresponding native function is searched from the native function corresponding storage unit using the URL, and the native function is executed. Native function execution step for generating native data,
The native data generated by the execution of the native function is transmitted to the storage server to be stored in the native data storage unit of the storage server, and the storage location of the native data stored in the storage server is A native data transmission step of transmitting to the application server to store in an application data storage means for storing data to be displayed as screen data of the Web application;
An action definition corresponding to the request delivered by the request delivery step is retrieved from action definition storage means provided in the application server, which stores a process corresponding to the URL that is the request as an action definition, and the action Based on the application data storage means set in the definition and the search condition, a result receiving step for accepting as screen data for displaying the searched processing result;
A method for controlling an information processing apparatus, comprising:
コンピュータを、Webアプリケーションの実行を制御するWebアプリケーションサーバと、ストレージサーバと、ネットワークを介して接続可能な情報処理装置として実行させるプログラムであって、
前記情報処理装置を
前記Webアプリケーションサーバに処理を指示するユーザの操作を受け付ける指示受付オブジェクトが選択されることで実行される処理を含む画面データを、Webブラウザに表示する表示制御手段、
前記表示制御手段により表示された画面データにおける前記指示受付オブジェクトに対するユーザの操作に応じて、当該指示受付オブジェクトに関連付けられた処理により生成されるアプリケーションサーバに対するアクションの要求を、前記アプリケーションサーバに引き渡す要求引渡手段、
前記引き渡し手段により前記アプリケーションサーバに引き渡す要求をURLとして受け付け、当該URLの種別を表すスキーマ部分に基づき、当該URLが前記Webアプリケーションサーバあるいは外部のサーバを示すものではない場合には、当該URLに対する前記情報処理装置により実行されるネイティブ機能を実行すると判定する要求引渡監視手段、
前記要求引渡監視手段により前記URLがネイティブ機能を実行するものであると判定された場合には、当該URLによりネイティブ機能対応記憶手段から、対応するネイティブ機能を検索し、当該ネイティブ機能を実行させ、ネイティブデータを生成させるネイティブ機能実行手段、
前記ネイティブ機能の実行により生成された前記ネイティブデータを、前記ストレージサーバのネイティブデータ記憶手段に記憶させるべく当該ストレージサーバに送信し、更に、当該ストレージサーバに記憶させた当該ネイティブデータの格納場所を、前記Webアプリケーションの画面データとして表示するデータを記憶するアプリケーションデータ記憶手段に記憶させるべく、前記アプリケーションサーバに送信するネイティブデータ送信手段、
前記アプリケーションサーバに備えられた、前記要求であるURLに対応する処理をアクション定義として記憶するアクション定義記憶手段から、前記要求引渡手段により引き渡された前記要求に対応するアクション定義を検索し、当該アクション定義に設定された前記アプリケーションデータ記憶手段と検索条件に基づいて、検索した処理結果を表示するための画面データとして受け付ける結果受付手段として機能させることを特徴とするプログラム。
A program that causes a computer to be executed as an information processing apparatus that can be connected to a web application server that controls execution of a web application, a storage server, and a network,
Display control means for displaying, on a Web browser, screen data including processing executed by selecting an instruction receiving object that receives an operation of a user who instructs the Web application server to process the information processing apparatus;
A request for handing over an action request for the application server generated by the process associated with the instruction receiving object to the application server in response to a user operation on the instruction receiving object in the screen data displayed by the display control means Delivery means,
A request to be delivered to the application server by the delivery means is received as a URL, and when the URL does not indicate the Web application server or an external server based on a schema portion representing the type of the URL, Request delivery monitoring means for determining to execute a native function executed by the information processing apparatus;
If the request delivery monitoring means determines that the URL is to execute a native function, the corresponding native function is searched from the native function corresponding storage means by the URL, and the native function is executed. Native function execution means for generating native data,
The native data generated by the execution of the native function is transmitted to the storage server to be stored in the native data storage unit of the storage server, and the storage location of the native data stored in the storage server is Native data transmission means for transmitting to the application server to be stored in an application data storage means for storing data to be displayed as screen data of the Web application;
An action definition corresponding to the request delivered by the request delivery means is retrieved from an action definition storage means provided in the application server for storing a process corresponding to the URL as the request as an action definition, and the action A program that functions as a result receiving unit that receives screen data for displaying a searched processing result based on the application data storage unit and a search condition set in a definition.
JP2013097938A 2013-05-07 2013-05-07 Information processing device, control method of information processing device and program Pending JP2014219813A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013097938A JP2014219813A (en) 2013-05-07 2013-05-07 Information processing device, control method of information processing device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013097938A JP2014219813A (en) 2013-05-07 2013-05-07 Information processing device, control method of information processing device and program

Publications (1)

Publication Number Publication Date
JP2014219813A true JP2014219813A (en) 2014-11-20

Family

ID=51938203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013097938A Pending JP2014219813A (en) 2013-05-07 2013-05-07 Information processing device, control method of information processing device and program

Country Status (1)

Country Link
JP (1) JP2014219813A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019008825A (en) * 2018-09-12 2019-01-17 株式会社三菱Ufj銀行 Application generation support system and application generation support program
CN111858041A (en) * 2020-07-10 2020-10-30 中国联合网络通信集团有限公司 Data processing method and server

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019008825A (en) * 2018-09-12 2019-01-17 株式会社三菱Ufj銀行 Application generation support system and application generation support program
CN111858041A (en) * 2020-07-10 2020-10-30 中国联合网络通信集团有限公司 Data processing method and server
CN111858041B (en) * 2020-07-10 2023-06-30 中国联合网络通信集团有限公司 Data processing method and server

Similar Documents

Publication Publication Date Title
US10430130B2 (en) Information processing system, information processing method
US20100042678A1 (en) Method and apparatus for providing/receiving user interface using user interface directory
EP3021238A1 (en) Information processing apparatus, information processing system, and information processing method
JP5903783B2 (en) Server apparatus and information processing apparatus
JP2014219813A (en) Information processing device, control method of information processing device and program
JP2013131107A (en) Information process system, information processing unit, information processing method, and computer program
JP2016174229A (en) Information processing system, information processing device, information processing method and program
KR101966548B1 (en) Sensor meta data generating system for multi heterogeneous sensor network platform
US20140324948A1 (en) Information processing apparatus and control method thereof
JP6128503B1 (en) Program, server and system for providing services related to electronic manuals
JP6536309B2 (en) INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
JP6358049B2 (en) Local storage synchronization method, local storage synchronization apparatus, and local storage synchronization program
US11108872B2 (en) System and method using the same, information processing apparatus and method using the same, and storage medium
JP5322244B2 (en) Server apparatus, server apparatus control method, program, and storage medium
JP5472220B2 (en) Information processing apparatus, information processing method, and computer program
JP2017041151A (en) Information processing system, information processing device, information processing method, and information processing program
JP6544868B2 (en) Program, server and system for providing service related to electronic manual
JP2018005311A (en) Information processing device, information processing system, method for controlling the same, and program
JP6831689B2 (en) Terminal equipment, server equipment, accounting information processing methods, and programs
JP6303445B2 (en) Electronic form system, form retrieval apparatus, control method, and program
JP6674084B2 (en) Server device, its control method, and program, and information processing system, its control method, and program
JP6281264B2 (en) Information processing apparatus, information processing method, and information processing program
JP6609906B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP5776736B2 (en) Server apparatus, server apparatus control method, program, and storage medium
KR101414862B1 (en) Method and apparatus for web service supporting movability of web object

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150410