JP2020170530A - Information processing apparatus, processing method thereof, and program - Google Patents

Information processing apparatus, processing method thereof, and program Download PDF

Info

Publication number
JP2020170530A
JP2020170530A JP2020111080A JP2020111080A JP2020170530A JP 2020170530 A JP2020170530 A JP 2020170530A JP 2020111080 A JP2020111080 A JP 2020111080A JP 2020111080 A JP2020111080 A JP 2020111080A JP 2020170530 A JP2020170530 A JP 2020170530A
Authority
JP
Japan
Prior art keywords
input
web service
output
output definition
definition information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020111080A
Other languages
Japanese (ja)
Other versions
JP2020170530A5 (en
JP7004930B2 (en
Inventor
知子 石田
Tomoko Ishida
知子 石田
剛 高塚
Takeshi Takatsuka
剛 高塚
文洋 柴本
Fumihiro Shibamoto
文洋 柴本
勲 上田
Isao Ueda
勲 上田
鈴木 智子
Tomoko Suzuki
智子 鈴木
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
Original Assignee
Canon Marketing Japan Inc
Canon IT Solutions 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 IT Solutions Inc filed Critical Canon Marketing Japan Inc
Publication of JP2020170530A publication Critical patent/JP2020170530A/en
Publication of JP2020170530A5 publication Critical patent/JP2020170530A5/ja
Application granted granted Critical
Publication of JP7004930B2 publication Critical patent/JP7004930B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide an information processing apparatus for easily generating Web service definition information by using input-output definition information of a Web application, a processing method thereof, and a program.SOLUTION: A program developing device is an information processing apparatus for generating a program used as a Web application, and manages input definition information input via a Web application screen and output definition information which defines an item to be output to the screen, as input-output definition information. The information processing apparatus receives a generation instruction of a program to be used as Web service, and generates definition information of an interface required for using the Web service and a program to be used as the Web service, in accordance with the received generation instruction, by using the managed input definition information and output definition information.SELECTED DRAWING: Figure 3

Description

本発明は、プログラムを生成するための情報処理装置と、その処理方法及びプログラムに関する。 The present invention relates to an information processing apparatus for generating a program, a processing method thereof, and a program.

従来から、入出力定義やデータモデル定義などを設定し、Webアプリケーションのプログラムを生成するWebアプリケーション開発ツールが存在する。 Conventionally, there is a Web application development tool that sets an input / output definition, a data model definition, and the like and generates a Web application program.

そのWebアプリケーション開発ツールによって生成されたWebアプリケーションのビジネスロジックを外部アプリケーションから利用させるために、当該WebアプリケーションをWebサービス化したいという要望があった。また、当該Webアプリケーションのビジネスロジックと当該Webアプリケーション開発ツール以外で作成した画面レイアウトとを組み合わせてシステムを構築するために、当該WebアプリケーションをWebサービス化したいという要望もあった。 In order to use the business logic of the Web application generated by the Web application development tool from an external application, there has been a request to convert the Web application into a Web service. There is also a request to convert the Web application into a Web service in order to construct a system by combining the business logic of the Web application and a screen layout created by a tool other than the Web application development tool.

なお、Webサービスとして公開するためには、Webサービス定義情報(Webサービスの利用に必要なインタフェースの定義情報。例えば、WSDL(Web Services Description Language)で記述されたファイル。以下、WSDLファイルと記す。)を生成する必要があり、WSDLの記載方法に不慣れな開発者にとっては、WSDLファイルを生成することが難しかった。 In order to publish as a Web service, Web service definition information (definition information of an interface required for using a Web service. For example, a file described in WSDL (Web Services Description Language). Hereinafter, a WSDL file will be described. ) Needed to be generated, and it was difficult for a developer who is unfamiliar with the method of describing WSDL to generate a WSDL file.

特許文献1には、Webコンテンツの編集作業により生成されたXMLファイルを用いて、WSDLファイルを生成する仕組みが示されている。また、特許文献2には、Webアプリケーションのプログラムを自動生成するツールにおいて、GUIレイアウト画面と呼ばれるレイアウトエディタを用いて、Webアプリケーションの画面の入力項目(検索条件テキストボックスや検索ボタン等)及び出力項目(検索結果等)の配置レイアウト及び属性を定義し、その入出力定義情報に基づいてWebアプリケーションのプログラムを生成する仕組みが示されている。 Patent Document 1 describes a mechanism for generating a WSDL file using an XML file generated by editing Web contents. Further, in Patent Document 2, in a tool for automatically generating a program of a Web application, an input item (search condition text box, search button, etc.) and an output item of the screen of the Web application are used by using a layout editor called a GUI layout screen. A mechanism is shown in which the layout and attributes of (search results, etc.) are defined and a Web application program is generated based on the input / output definition information.

特開2004−272871号公報Japanese Unexamined Patent Publication No. 2004-272871 特開2015−99590号公報Japanese Unexamined Patent Publication No. 2015-99590

しかし、特許文献1の仕組みは、Webコンテンツを用いてWSDLファイルを生成するのみである。よって、特許文献1の仕組みでは、Webアプリケーション開発ツールによって生成されたWebアプリケーションをWebサービス化したい場合、Webアプリケーション用の入出力定義情報を用いてWSDLファイルを生成することができないという問題がある。つまり、Webアプリケーション用の入出力定義情報とは別に、Webサービス用の入出力定義情報を新たに設定し、WSDLファイルを生成しなければならないため、開発作業が繁雑という問題がある。 However, the mechanism of Patent Document 1 is only to generate a WSDL file using Web contents. Therefore, in the mechanism of Patent Document 1, when it is desired to convert a Web application generated by a Web application development tool into a Web service, there is a problem that a WSDL file cannot be generated using the input / output definition information for the Web application. That is, there is a problem that the development work is complicated because the input / output definition information for the Web service must be newly set and the WSDL file must be generated separately from the input / output definition information for the Web application.

また、特許文献2の仕組みは、Webアプリケーションの画面の入出力定義情報を用いて、Webアプリケーションとして用いられるプログラムを生成する仕組みである。よって、特許文献2の仕組みでは、Webアプリケーションの画面の入出力定義情報を用いたとしても、Webサービス定義情報を生成することができないという問題がある。 Further, the mechanism of Patent Document 2 is a mechanism for generating a program used as a Web application by using the input / output definition information of the screen of the Web application. Therefore, in the mechanism of Patent Document 2, there is a problem that the Web service definition information cannot be generated even if the input / output definition information of the screen of the Web application is used.

また、通常、入出力定義情報には複数の定義項目が存在するため、Webサービスの開発者がそれらを誤りなく設定しなければならないため設定ミスが生じやすく、Webアプリケーションとの整合性も取りづらいため、Webサービスの開発及び管理が大変という問題もある。 In addition, since there are usually multiple definition items in the input / output definition information, the developer of the Web service must set them without error, so setting mistakes are likely to occur and it is difficult to maintain consistency with the Web application. Therefore, there is also a problem that it is difficult to develop and manage Web services.

また、WebアプリケーションとWebサービスとの両方から同じビジネスロジックを使用する場合、入出力定義情報も同じとなるケースが多く、Webアプリケーションの画面の入出力定義情報を用いて、Webサービス定義情報を生成することにより、Webアプリケーションを容易にWebサービス化したいという課題もある。 In addition, when the same business logic is used from both the Web application and the Web service, the input / output definition information is often the same, and the Web service definition information is generated using the input / output definition information on the screen of the Web application. By doing so, there is also a problem that a Web application can be easily converted into a Web service.

そこで、本発明の目的は、Webアプリケーションの入出力定義情報を用いて、Webサービス定義情報を容易に生成する仕組みを提供することである。 Therefore, an object of the present invention is to provide a mechanism for easily generating Web service definition information by using input / output definition information of a Web application.

Webアプリケーションとして用いられるプログラムを生成する情報処理装置であって、前記Webアプリケーションの画面を介して入力される入力定義情報と、前記画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する入出力定義管理手段と、Webサービスとして用いられるプログラムの生成指示を受け付ける指示受付手段と、前記指示受付手段により受け付けた生成指示に従って、前記入出力定義管理手段により管理されている入力定義情報と出力定義情報とを用いて、前記Webサービスの利用に必要なインタフェースの定義情報及び当該Webサービスとして用いられるプログラムを生成するプログラム生成手段とを備えることを特徴とする情報処理装置。 An information processing device that generates a program used as a Web application, and inputs / output definition information that defines input definition information that is input via the screen of the Web application and output definition information that defines items to be output to the screen. The input / output definition management means managed as, the instruction receiving means for receiving the generation instruction of the program used as the Web service, and the input definition managed by the input / output definition management means according to the generation instruction received by the instruction receiving means. An information processing apparatus including, using information and output definition information, definition information of an interface necessary for using the Web service and a program generation means for generating a program used as the Web service.

本発明によれば、Webアプリケーションの入出力定義情報を用いて、Webサービスの定義情報を容易に生成する仕組みを提供することができる。 According to the present invention, it is possible to provide a mechanism for easily generating definition information of a Web service by using input / output definition information of a Web application.

本発明に係るプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバの構成の一例を示すシステム構成図である。It is a system configuration diagram which shows an example of the configuration of the program development apparatus, the program development server, the database server, the application client, and the application server which concerns on this invention. 本発明に係るプログラム開発装置、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバとして適用可能な各ハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of each hardware configuration which can be applied as a program development apparatus, a program development server, a database server, an application client, and an application server which concerns on this invention. 本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。This is an example of a block diagram showing a software configuration according to an embodiment of the present invention. 本発明に係るプログラム開発装置の構成図である。It is a block diagram of the program development apparatus which concerns on this invention. 第1の実施形態に係るWebアプリケーション/Webサービス生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the Web application / Web service generation which concerns on 1st Embodiment. 第1の実施形態に係るソースコード生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the source code generation which concerns on 1st Embodiment. 第1の実施形態に係るWebサービスソースコード生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the Web service source code generation which concerns on 1st Embodiment. 第1の実施形態に係るWSDL生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the WSDL generation which concerns on 1st Embodiment. 第1の実施形態に係るgetDataリクエスト生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the getData request generation which concerns on 1st Embodiment. 第1の実施形態に係るgetDataリクエストWSDL1000の一例を示す図である。It is a figure which shows an example of the getData request WSDL1000 which concerns on 1st Embodiment. 第1の実施形態に係るgetDataレスポンス生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the getData response generation which concerns on 1st Embodiment. 第1の実施形態に係るgetDataレスポンスWSDL1200の一例を示す図である。It is a figure which shows an example of the getData response WSDL1200 which concerns on 1st Embodiment. 第1の実施形態に係るBPリクエスト生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the BP request generation which concerns on 1st Embodiment. 第1の実施形態に係るBPリクエストWSDL1400の一例を示す図である。It is a figure which shows an example of the BP request WSDL1400 which concerns on 1st Embodiment. 第1の実施形態に係るBPレスポンス生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the BP response generation which concerns on 1st Embodiment. 第1の実施形態に係るBPレスポンスWSDL1600の一例を示す図である。It is a figure which shows an example of BP response WSDL1600 which concerns on 1st Embodiment. 第1の実施形態に係るWebアプリケーション用の入出力定義画面(入出力)1700の一例を示す図である。It is a figure which shows an example of the input / output definition screen (input / output) 1700 for the Web application which concerns on 1st Embodiment. 第1の実施形態に係るWebサービス用の入出力定義画面(項目一覧)1800の一例を示す図である。It is a figure which shows an example of the input / output definition screen (item list) 1800 for the Web service which concerns on 1st Embodiment. 第1の実施形態に係るWebサービス用の入出力定義画面(入出力)1900の一例を示す図である。It is a figure which shows an example of the input / output definition screen (input / output) 1900 for the Web service which concerns on 1st Embodiment. 第1の実施形態に係るデータモデル定義画面の一例を示す図である。It is a figure which shows an example of the data model definition screen which concerns on 1st Embodiment. 第1の実施形態に係るWebサービス利用のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the Web service use which concerns on 1st Embodiment. 第1の実施形態に係るWebサービスを利用する外部アプリケーションのINPUT画面2200の一例を示す図である。It is a figure which shows an example of the INPUT screen 2200 of the external application which uses the Web service which concerns on 1st Embodiment. 第1の実施形態に係るWebサービスサーバに送信するリクエスト2300の一例を示す図である。It is a figure which shows an example of the request 2300 which sends to the Web service server which concerns on 1st Embodiment. 第1の実施形態に係るWebサービスサーバから送信されるレスポンス2400の一例を示す図である。It is a figure which shows an example of the response 2400 transmitted from the Web service server which concerns on 1st Embodiment. 第1の実施形態に係るWebサービスを利用する外部アプリケーションのOUTPUT画面2500の一例を示す図である。It is a figure which shows an example of the OUTPUT screen 2500 of the external application which uses the Web service which concerns on 1st Embodiment. 第1の実施形態に係る商品マスタテーブル2600の一例を示す図である。It is a figure which shows an example of the product master table 2600 which concerns on 1st Embodiment. 第1の実施形態に係る入出力定義画面の一例を示す図である。It is a figure which shows an example of the input / output definition screen which concerns on 1st Embodiment. 第1の実施形態に係るWebサービスインタフェースコードの一例を示す図である。It is a figure which shows an example of the Web service interface code which concerns on 1st Embodiment. 第1の実施形態に係る入出力定義作成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the input / output definition creation which concerns on 1st Embodiment. 第1の実施形態に係る入出力定義編集のフローチャートの一例を示す図である。It is a figure which shows an example of the flow chart of the input / output definition edit which concerns on 1st Embodiment. 第1の実施形態に係る確認メッセージの一例を示す図である。It is a figure which shows an example of the confirmation message which concerns on 1st Embodiment. 第1の実施形態に係るWebアプリケーション用の入出力定義画面(項目一覧)3200の一例を示す図である。It is a figure which shows an example of the input / output definition screen (item list) 3200 for the Web application which concerns on 1st Embodiment. 第2の実施形態に係るソースコード生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the source code generation which concerns on 2nd Embodiment. 第2の実施形態に係るWebアプリケーション用の入出力定義画面(入出力)3300の一例を示す図である。It is a figure which shows an example of the input / output definition screen (input / output) 3300 for the Web application which concerns on 2nd Embodiment. 第3の実施形態に係るソースコード生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the source code generation which concerns on 3rd Embodiment. 第3の実施形態に係るWebアプリケーション用の入出力定義画面(入出力)3500の一例を示す図である。It is a figure which shows an example of the input / output definition screen (input / output) 3500 for the Web application which concerns on 3rd Embodiment. 第4の実施形態に係るソースコード生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the source code generation which concerns on 4th Embodiment. 第4の実施形態に係るWebアプリケーション用の入出力定義画面(項目一覧)3800の一例を示す図である。It is a figure which shows an example of the input / output definition screen (item list) 3800 for the Web application which concerns on 4th Embodiment. 第5の実施形態に係るソースコード生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the source code generation which concerns on 5th Embodiment. 第5の実施形態に係るソースコード生成時の確認メッセージの一例を示す図である。It is a figure which shows an example of the confirmation message at the time of source code generation which concerns on 5th Embodiment. 第6の実施形態に係る入出力定義編集のフローチャートの一例を示す図である。It is a figure which shows an example of the flow chart of the input / output definition edit which concerns on 6th Embodiment. 第6の実施形態に係る入出力定義編集時の確認メッセージの一例を示す図である。It is a figure which shows an example of the confirmation message at the time of the input / output definition edit which concerns on 6th Embodiment. 第1〜6の実施形態に係る定義ファイル一覧画面の一例を示す図である。It is a figure which shows an example of the definition file list screen which concerns on 1st to 6th Embodiment.

以下、本発明の実施の形態を、図面を参照して詳細に説明するが、本発明の特徴の一例を表している箇所は、図33〜図35、図36、図37である。
〔第1の実施形態〕
図1は、本発明に係わるプログラム開発装置(開発者がWebアプリケーション生成のために使用する情報処理装置)、プログラム開発サーバ、データベースサーバ、アプリケーションクライアント(クライアント装置)、アプリケーションサーバの構成の一例を示すシステム(情報処理システム)構成図である。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings, and examples of the features of the present invention are shown in FIGS. 33 to 35, 36, and 37.
[First Embodiment]
FIG. 1 shows an example of the configuration of a program development device (information processing device used by a developer to generate a Web application), a program development server, a database server, an application client (client device), and an application server according to the present invention. It is a system (information processing system) block diagram.

プログラム開発装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。プログラム開発装置101単体では、開発者の入力受付を行い、後述するプログラム開発サーバ102に実際のプログラム生成処理、アプリケーション生成処理をさせてもよいし、プログラム開発装置101単体でプログラム生成、アプリケーション生成まで処理してもよい。 The program development device 101 defines a screen layout, a database search instruction, and the like according to the operation of the developer. The program development device 101 alone may accept input from the developer and cause the program development server 102, which will be described later, to perform actual program generation processing and application generation processing, or the program development device 101 alone may perform program generation and application generation. It may be processed.

なお、この実施形態においては、プログラム開発装置101で生成するアプリケーションはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用したアプリケーションでなくてもよい。 In this embodiment, the application generated by the program development device 101 is a Web application, but the application is not limited to this, and an application or embedded software that operates in an information processing device such as a mobile phone, a smartphone, or a tablet. , It does not have to be an application that uses communication by Web technology.

プログラム開発サーバ102a〜102b(情報処理装置)は、プログラム開発装置101により入力された開発者の指示に従って、プログラムを開発する。プログラム開発サーバ102aはLANなどのネットワーク106内に配置されてもよいし、プログラム開発サーバ102bはインターネット上やクラウド上に配置されてもよい。 The program development server 102a-102b (information processing device) develops a program according to the developer's instruction input by the program development device 101. The program development server 102a may be arranged in a network 106 such as a LAN, and the program development server 102b may be arranged on the Internet or the cloud.

データベースサーバ103a〜103b(情報処理装置)は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ103は、プログラム開発装置101と同一の装置で構成されていてもよいし、LANなどのネットワーク106内に配置されてもよい(データベースサーバ103a)。またインターネット上やクラウド上に配置されてもよい(データベースサーバ103b)。また、プログラム開発装置101が、プログラム開発サーバ102と協調する場合には、プログラム開発サーバ102とデータベースサーバ103が同一の装置内に構成されていてもよい。 The database servers 103a to 103b (information processing apparatus) are databases used by the developed application, and in the present invention, they may be used for checking the operation during development. For example, the database server 103 may be configured by the same device as the program development device 101 for use by the developer, or may be arranged in a network 106 such as a LAN (database server 103a). It may also be located on the Internet or in the cloud (database server 103b). Further, when the program development device 101 cooperates with the program development server 102, the program development server 102 and the database server 103 may be configured in the same device.

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

アプリケーションクライアント104a〜104b(情報処理装置)は、アプリケーションサーバ105と協調してプログラム開発装置101で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。LANなどのネットワーク106内に配置されてもよい(アプリケーションクライアント104a)し、またインターネット上やクラウド上に配置されてもよい(アプリケーションクライアント104b)。携帯端末などの情報処理装置であってもよい。
The application clients 104a to 104b (information processing devices) are user input terminals that operate the application program developed by the program development device 101 in cooperation with the application server 105. It may be arranged in a network 106 such as a LAN (application client 104a), or may be arranged on the Internet or the cloud (application client 104b). It may be an information processing device such as a mobile terminal.

図2は、本発明に係わるプログラム開発装置101、プログラム開発サーバ102、データベースサーバ103、アプリケーションクライアント104、アプリケーションサーバ105として適用可能な各ハードウェア構成の一例を示すブロック図である。
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
FIG. 2 is a block diagram showing an example of each hardware configuration applicable as the program development device 101, the program development server 102, the database server 103, the application client 104, and the application server 105 according to the present invention.
In FIG. 2, the CPU 201 comprehensively controls each device connected to the system bus 204.

また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。 Further, the ROM 203 or the external memory 211 stores an operating system (OS) which is a control program of the CPU 201, and a program for realizing various functions described later of the information processing device such as each server, client, and device.

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

入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイスが挙げられる。 The input controller 205 controls the input from the input unit 209. Examples of the input unit 209 include pointing devices such as a keyboard and a mouse in the information processing device.

出力コントローラ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としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。 The external memory controller 207 controls access to the external memory 211 that stores the boot program, various applications, font data, user files, edit files, printer drivers, and the like. In addition, various tables and parameters for realizing various functions of each server, client, device, etc. are stored. Examples of the external memory 211 include a hard disk (HD), a flexible disk (FD), a compact flash (registered trademark) connected to a PCMCIA card slot via an adapter, smart media, and the like.

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

本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
The 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 needed.

図3は、本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
プログラム開発装置101は、以下の機能部を備える。
FIG. 3 is an example of a block diagram showing a software configuration according to an embodiment of the present invention.
The program development device 101 includes the following functional units.

入出力定義管理部301は、プログラムへ引数として入力される項目を定義する入力定義情報と、プログラムから処理結果として出力する項目を定義する出力定義情報とを入出力定義情報として管理する機能部である。 The input / output definition management unit 301 is a functional unit that manages input definition information that defines items input as arguments to the program and output definition information that defines items that are output as processing results from the program as input / output definition information. is there.

入出力定義管理部301は、Webアプリケーションの画面を介して入力される項目を定義する入力定義情報と、画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する機能部である。 The input / output definition management unit 301 is a functional unit that manages input definition information that defines items input via the screen of the Web application and output definition information that defines items to be output to the screen as input / output definition information. is there.

実行形態設定部302は、プログラムが実行される形態を設定する機能部である。 The execution form setting unit 302 is a functional unit that sets a form in which the program is executed.

選択受付部313は、プログラムをWebサービスとして用いるかの選択を受け付ける機能部である。 The selection reception unit 313 is a function unit that accepts selection of whether to use the program as a Web service.

プログラム生成制御部303は、実行形態設定部302により設定された実行形態に従って、入出力定義管理部301により管理されている入出力定義情報を用いて、Webアプリケーションとして用いられるプログラムを生成するかWebサービスとして用いられるプログラムを生成するかを制御する機能部である。 The program generation control unit 303 generates a program to be used as a Web application by using the input / output definition information managed by the input / output definition management unit 301 according to the execution mode set by the execution mode setting unit 302. It is a functional part that controls whether to generate a program used as a service.

プログラム生成制御部303は、入出力定義管理部301により管理されている入出力定義情報を用いて、選択受付部313により受け付けた選択に従って、Webアプリケーションとして用いられるプログラム及び当該Webアプリケーションの処理結果を表示するための画面を出力するプログラムを生成するか又はWebサービスの利用に必要なインタフェースの定義情報及び当該Webサービスとして用いられるプログラムを生成するかを制御する機能部である。 The program generation control unit 303 uses the input / output definition information managed by the input / output definition management unit 301 to display the program used as the Web application and the processing result of the Web application according to the selection received by the selection reception unit 313. It is a functional unit that controls whether to generate a program that outputs a screen for display or to generate interface definition information necessary for using a Web service and a program used as the Web service.

設定受付部304は、入出力定義管理部301により管理されている入出力定義情報の設定を受け付ける機能部である。 The setting receiving unit 304 is a functional unit that receives the settings of the input / output definition information managed by the input / output definition management unit 301.

設定受付部304により設定を受け付けた入力定義情報は、Webサービスを利用するユーザによって画面から入力される値を表す文字列を含む。 The input definition information for which the setting is received by the setting reception unit 304 includes a character string representing a value input from the screen by a user who uses the Web service.

設定受付部304により設定を受け付けた出力定義情報は、Webサービスを利用した結果、取得される値を表す文字列を含む。 The output definition information for which the setting has been received by the setting reception unit 304 includes a character string representing a value acquired as a result of using the Web service.

記憶部305は、Webアプリケーションに用いられるプログラムおよびWebサービスに用いられるプログラムを生成するルールを記憶する機能部である。 The storage unit 305 is a functional unit that stores a rule for generating a program used for a Web application and a program used for a Web service.

記憶部305は、Webアプリケーションとして用いられるプログラム及びWebサービスとして用いられるプログラムを生成するルールを記憶する機能部である。 The storage unit 305 is a functional unit that stores rules for generating a program used as a Web application and a program used as a Web service.

プログラム生成制御部303は、実行形態設定部302により設定された実行形態がWebサービスである場合に、設定受付部304により設定を受け付けた入力定義情報に含まれるWebサービスを利用するユーザによって画面から入力される値を表す文字列、及び設定受付部304により設定を受け付けた出力定義情報に含まれるWebサービスを利用した結果、取得される値を表す文字列のうち少なくとも一方と、記憶部305に記憶されているルールを用いて、Webサービスの利用に必要なインタフェースとなるメッセージを生成し、当該メッセージを含むXMLファイルを生成する機能部である。 When the execution mode set by the execution form setting unit 302 is a Web service, the program generation control unit 303 is displayed on the screen by a user who uses the Web service included in the input definition information received by the setting reception unit 304. At least one of the character strings representing the input value and the character string representing the value acquired as a result of using the Web service included in the output definition information set by the setting reception unit 304, and the storage unit 305 It is a functional unit that uses the stored rules to generate a message that serves as an interface necessary for using the Web service, and generates an XML file containing the message.

プログラム生成制御部303は、選択受付部313により受け付けた選択に従って、設定受付部304により設定を受け付けた入力定義情報に含まれるWebサービスを利用するユーザによって画面から入力される値を表す文字列、及び設定受付部304により設定を受け付けた出力定義情報に含まれるWebサービスを利用した結果、取得される値を表す文字列のうち少なくとも一方と、記憶部305に記憶されているルールを用いて、Webサービスの利用に必要なインタフェースの定義情報を生成する機能部である。 The program generation control unit 303 is a character string representing a value input from the screen by a user who uses the Web service included in the input definition information for which the setting is received by the setting reception unit 304 according to the selection received by the selection reception unit 313. And, as a result of using the Web service included in the output definition information for which the setting is received by the setting reception unit 304, at least one of the character strings representing the acquired value and the rule stored in the storage unit 305 are used. It is a functional part that generates the definition information of the interface necessary for using the Web service.

プログラム生成制御部303は、入出力定義管理部301により管理されている入力定義情報と出力定義情報のうち、Webサービスに必要な情報を用いて、Webサービスとして用いられるプログラムを生成する機能部である。 The program generation control unit 303 is a functional unit that generates a program used as a Web service by using the information required for the Web service among the input definition information and the output definition information managed by the input / output definition management unit 301. is there.

プログラム生成制御部303は、入出力定義管理部301により管理されている入力定義情報と出力定義情報のうち、Webサービスに必要な情報を用いて、Webサービスの利用に必要なインタフェースの定義情報を生成する機能部である。 The program generation control unit 303 uses the information required for the Web service among the input definition information and the output definition information managed by the input / output definition management unit 301 to provide the definition information of the interface required for using the Web service. It is a functional part to be generated.

入出力定義生成部306は、入出力定義管理部301により管理されている入出力定義情報に基づき、新たな入出力定義情報を生成する機能部である。 The input / output definition generation unit 306 is a functional unit that generates new input / output definition information based on the input / output definition information managed by the input / output definition management unit 301.

対応付管理部307は、入出力定義生成部306により生成された入出力定義情報と、当該入出力定義情報の生成の基となった入出力定義情報とを関連付けて管理する機能部である。 The corresponding management unit 307 is a functional unit that associates and manages the input / output definition information generated by the input / output definition generation unit 306 with the input / output definition information that is the basis for generating the input / output definition information.

設定変更受付部308は、入出力定義管理部301により管理されている入出力定義情報の設定の変更を受け付ける機能部である。、
通知部309は、設定変更受付部308により設定の変更を受け付けた入出力定義情報が対応付管理部307により他の入出力定義情報と対応付けて管理されている場合、ユーザに通知する機能部である。
The setting change reception unit 308 is a functional unit that receives changes in the settings of the input / output definition information managed by the input / output definition management unit 301. ,
The notification unit 309 notifies the user when the input / output definition information for which the setting change has been received by the setting change reception unit 308 is managed in association with other input / output definition information by the correspondence management unit 307. Is.

指示受付部310は、Webサービスに用いられるプログラムの生成指示を受け付ける機能部である。、
指示受付部310は、Webサービスとして用いられるプログラムの生成指示を受け付ける機能部である。、
プログラム生成部311は、指示受付部310により受け付けた生成指示に従って、入出力定義管理部301により管理されている入力定義情報と出力定義情報とを用いて、Webサービスとして用いられるプログラムを生成する機能部である。
The instruction receiving unit 310 is a functional unit that receives an instruction to generate a program used for a Web service. ,
The instruction receiving unit 310 is a functional unit that receives an instruction to generate a program used as a Web service. ,
The program generation unit 311 has a function of generating a program used as a Web service by using the input definition information and the output definition information managed by the input / output definition management unit 301 according to the generation instruction received by the instruction reception unit 310. It is a department.

プログラム生成部311は、指示受付部310により受け付けた生成指示に従って、入出力定義管理部301により管理されている入力定義情報と出力定義情報とを用いて、Webサービスの利用に必要なインタフェースの定義情報及び当該Webサービスとして用いられるプログラムを生成する機能部である。 The program generation unit 311 defines an interface necessary for using the Web service by using the input definition information and the output definition information managed by the input / output definition management unit 301 according to the generation instruction received by the instruction reception unit 310. It is a functional unit that generates information and a program used as the Web service.

判定部312は、入出力定義管理部301により管理されている入力定義情報と出力定義情報とを用いて、Webサービスとして用いられるプログラムを生成するか否かを判定する機能部である。
プログラム生成部311は、判定部312により、Webサービスとして用いられるプログラムを生成すると判定した場合は、Webアプリケーションとして用いられるプログラムとWebサービスとして用いられるプログラムとを生成し、Webサービスとして用いられるプログラムを生成しないと判定した場合は、Webアプリケーションとして用いられるプログラムを生成する機能部である。
The determination unit 312 is a function unit that determines whether or not to generate a program used as a Web service by using the input definition information and the output definition information managed by the input / output definition management unit 301.
When the determination unit 312 determines that the program generation unit 311 generates a program used as a Web service, the program generation unit 311 generates a program used as a Web application and a program used as a Web service, and generates a program used as a Web service. If it is determined not to generate, it is a functional unit that generates a program used as a Web application.

図4は、プログラム開発装置101の構成図である。プログラム開発装置101は、Webアプリケーションを開発する開発者が定義した定義ファイルをもとにWebアプリケーションを自動生成することを目的とした装置である。プログラム開発装置101は、リポジトリ定義部400、アプリケーション生成部410、Webアプリケーションコード生成部420、Webサービスコード生成部430、ソースコードコンパイル部440により構成される。 FIG. 4 is a configuration diagram of the program development device 101. The program development device 101 is a device for the purpose of automatically generating a Web application based on a definition file defined by a developer who develops a Web application. The program development device 101 is composed of a repository definition unit 400, an application generation unit 410, a Web application code generation unit 420, a Web service code generation unit 430, and a source code compilation unit 440.

リポジトリ定義部400は、データベース定義401、アプリケーション定義402、データモデル定義403、入出力定義404、ビジネスプロセス定義405、Webサービス入出力定義406(以下、Webサービス用の入出力定義406と記す)を備える。これらのファイルは、Webアプリケーション開発ツールを介して開発者によって入力され、作成される。 The repository definition unit 400 includes a database definition 401, an application definition 402, a data model definition 403, an input / output definition 404, a business process definition 405, and a Web service input / output definition 406 (hereinafter referred to as an input / output definition 406 for a Web service). Be prepared. These files are input and created by the developer via the Web application development tool.

すなわち、リポジトリ定義部400は、プログラムへ引数として入力される項目を定義する入力定義情報と、プログラムから処理結果として出力する項目を定義する出力定義情報とを入出力定義情報として管理する手段の一例である。 That is, the repository definition unit 400 is an example of means for managing input definition information that defines items input as arguments to the program and output definition information that defines items output as processing results from the program as input / output definition information. Is.

なお、この入力定義情報は、生成されたWebアプリケーションの画面を介して当該Webアプリケーションのユーザが入力する入力項目を定義した情報であり、出力定義情報は、生成されたWebアプリケーションの画面として出力する出力項目を定義した情報である、と言い換えることができる。 Note that this input definition information is information that defines input items input by the user of the Web application via the screen of the generated Web application, and the output definition information is output as the screen of the generated Web application. In other words, it is the information that defines the output items.

よって、リポジトリ定義部400は、生成されたプログラムの実行によって表示されるWebアプリケーションの画面を介して入力される項目を定義する入力定義情報と、画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する手段の一例である。 Therefore, the repository definition unit 400 sets the input definition information that defines the items input via the screen of the Web application displayed by executing the generated program and the output definition information that defines the items to be output to the screen. This is an example of means for managing input / output definition information.

そのため、Webアプリケーションの画面における入出力定義情報を、Webサービスとして用いられるプログラムにおける入出力定義情報として利用することができる。 Therefore, the input / output definition information on the screen of the Web application can be used as the input / output definition information in the program used as the Web service.

これにより、Webアプリケーションの開発フェーズにおいてよくある、画面項目の追加・変更・削除は、Webアプリケーション開発ツールのレイアウトエディタ等を介して、Webアプリケーション画面の入出力項目を直感的に追加・変更・削除することで、Webアプリケーションとして用いられるプログラムだけでなく、Webサービスとして用いられるプログラムにも反映されるため、Webサービスとして用いられるプログラムを容易に生成することができる。 As a result, when adding / changing / deleting screen items, which is common in the development phase of a Web application, the input / output items of the Web application screen can be intuitively added / changed / deleted via the layout editor of the Web application development tool. By doing so, it is reflected not only in the program used as the Web application but also in the program used as the Web service, so that the program used as the Web service can be easily generated.

また、Webアプリケーションの開発においては、Webアプリケーション画面を介してエンドユーザによって入力された値のクライアント端末におけるバリデーションチェック処理(例:JavaScript(登録商標))、その入力値をサーバが受信した際のバリデーションチェック処理(例:サーバサイドJava(登録商標))のように、2回チェック処理を行わなくてはならないケースが多い。
Further, in the development of a Web application, validation check processing (example: Javascript®) on the client terminal of the value input by the end user via the Web application screen, and validation when the server receives the input value. In many cases, the check process must be performed twice, as in the check process (eg, server-side Java (registered trademark)).

次に、Webアプリケーションコード生成部420について説明する。リポジトリ定義解析部421は、リポジトリ定義部400からデータベース定義401、アプリケーション定義402、データモデル定義403、入出力定義404、ビジネスプロセス定義405を読み込み解析する。Webアプリケーションコード生成部422は、外部メモリ211に記憶されているコード生成ルールと、リポジトリ定義解析部421によって解析された内容とを用いて、ソースコードコンパイル部440を介し、Webアプリケーションモジュール454を生成する。すなわち、Webアプリケーションコード生成部422は、Webアプリケーションとして用いられるプログラムを生成するルールを記憶する手段の一例である。 Next, the Web application code generation unit 420 will be described. The repository definition analysis unit 421 reads and analyzes the database definition 401, application definition 402, data model definition 403, input / output definition 404, and business process definition 405 from the repository definition unit 400. The Web application code generation unit 422 generates the Web application module 454 via the source code compilation unit 440 by using the code generation rule stored in the external memory 211 and the contents analyzed by the repository definition analysis unit 421. To do. That is, the Web application code generation unit 422 is an example of a means for storing a rule for generating a program used as a Web application.

次に、Webサービスコード生成部430について説明する。Webサービス入出力定義解析部431は、リポジトリ定義部400からデータベース定義401、アプリケーション定義402、データモデル定義403、ビジネスプロセス定義405、Webサービス用の入出力定義406を読み込み解析する。Webサービスインタフェースコード生成部432は、外部メモリ211に記憶されているコード生成ルールと、Webサービス入出力定義解析部431によって解析された内容とを用いて、ソースコードコンパイル部440を介し、Webアプリケーションモジュール454を生成する。また、WSDL生成部433は、Webサービス入出力定義解析部431によって解析された内容を用いて、Webサービスモジュール451を生成する。
すなわち、Webサービスコード生成部430は、Webサービスとして用いられるプログラムを生成するルールを記憶する手段の一例である。
Next, the Web service code generation unit 430 will be described. The Web service input / output definition analysis unit 431 reads and analyzes the database definition 401, application definition 402, data model definition 403, business process definition 405, and input / output definition 406 for the Web service from the repository definition unit 400. The Web service interface code generation unit 432 uses the code generation rules stored in the external memory 211 and the contents analyzed by the Web service input / output definition analysis unit 431 via the source code compilation unit 440 to form a Web application. Generate module 454. Further, the WSDL generation unit 433 generates the Web service module 451 using the contents analyzed by the Web service input / output definition analysis unit 431.
That is, the Web service code generation unit 430 is an example of a means for storing a rule for generating a program used as a Web service.

図5は、Webアプリケーション/Webサービス生成のフローチャートの一例を示す図である。なお、以下のフローチャートの各ステップは、各装置のCPU201が実行する。
ステップS501において、プログラム開発装置101は、ユーザによるWebアプリケーション/Webサービス生成指示を受け付けると、外部メモリ211に記憶されているリポジトリ定義部400のアプリケーション定義402をRAM202に読み込む。すなわち、ステップS501は、Webサービスとして用いられるプログラムの生成指示を受け付ける処理の一例を示すステップである。
FIG. 5 is a diagram showing an example of a flowchart for generating a Web application / Web service. The CPU 201 of each device executes each step in the following flowchart.
In step S501, when the program development device 101 receives the Web application / Web service generation instruction by the user, the program development device 101 reads the application definition 402 of the repository definition unit 400 stored in the external memory 211 into the RAM 202. That is, step S501 is a step showing an example of a process of receiving a program generation instruction used as a Web service.

ステップS502において、プログラム開発装置101は、外部メモリ211に記憶されているリポジトリ定義部400のデータモデル定義403をRAM202に読み込む。 In step S502, the program development device 101 reads the data model definition 403 of the repository definition unit 400 stored in the external memory 211 into the RAM 202.

ステップS503において、プログラム開発装置101は、外部メモリ211に記憶されているリポジトリ定義部400の入出力定義404をRAM202に読み込む。 In step S503, the program development device 101 reads the input / output definition 404 of the repository definition unit 400 stored in the external memory 211 into the RAM 202.

ステップS504において、プログラム開発装置101は、外部メモリ211に記憶されているリポジトリ定義部400のビジネスプロセス定義405をRAM202に読み込む。 In step S504, the program development device 101 reads the business process definition 405 of the repository definition unit 400 stored in the external memory 211 into the RAM 202.

ステップS505において、プログラム開発装置101は、外部メモリ211に記憶されているリポジトリ定義部400のデータベース定義401をRAM202に読み込む。 In step S505, the program development device 101 reads the database definition 401 of the repository definition unit 400 stored in the external memory 211 into the RAM 202.

ステップS506において、プログラム開発装置101は、RAM202に読み込んだリポジトリ定義部400の各定義・各ファイルから情報を取得し、ソースコードを生成する。 In step S506, the program development device 101 acquires information from each definition / file of the repository definition unit 400 read into the RAM 202, and generates a source code.

なお、生成されたソースコードにはプログラミング言語が記載されたファイルに加え、HTML、JSP、JavaScript(登録商標)等のWebアプリケーションやWebサービスの提供に利用されるファイルも含まれる。ソースコード生成処理については、図6にて詳細を説明する。 The generated source code includes not only a file in which a programming language is described, but also a file used for providing a Web application or Web service such as HTML, JSP, or Javascript (registered trademark). The source code generation process will be described in detail with reference to FIG.

ステップS507において、プログラム開発装置101は、ステップS506にて生成したソースコードをアプリケーションサーバ105に配置(デプロイ)する。これにより、アプリケーションサーバ105上でWebアプリケーション又はWebサービスが動作するようになる。 In step S507, the program development device 101 arranges (deploys) the source code generated in step S506 on the application server 105. As a result, the Web application or Web service operates on the application server 105.

以上で、図5の説明を終了する。
This is the end of the description of FIG.

図6は、ソースコード生成のフローチャートの一例を示す図である。
ステップS601において、プログラム開発装置101は、RAM202から、Webアプリケーション又はWebサービスの生成を指示されたアプリケーション定義402に対応付けられている入出力定義404又はWebサービス用の入出力定義406を取得し、取得した入出力定義404又はWebサービス用の入出力定義406について、それぞれステップS602〜ステップS604を繰り返す。
FIG. 6 is a diagram showing an example of a flow chart for generating source code.
In step S601, the program development device 101 acquires the input / output definition 404 or the input / output definition 406 for the Web service associated with the application definition 402 instructed to generate the Web application or the Web service from the RAM 202. Steps S602 to S604 are repeated for the acquired input / output definition 404 or the input / output definition 406 for the Web service, respectively.

ステップS602において、プログラム開発装置101は、取得した入出力定義404又はWebサービス用の入出力定義406の実行形態(図17の入出力タイプ1701の値、又は図19の入出力タイプ1901の値)を判定し、入出力タイプ1701のように値が“IO”の場合はWebアプリケーション用の入出力定義404であると捉えてステップS603に進み、入出力タイプ1901のように値が“WEB SERVICE”の場合はWebサービス用の入出力定義406であると捉えてステップS604に進む。 In step S602, the program development device 101 executes the acquired input / output definition 404 or the input / output definition 406 for the Web service (the value of the input / output type 1701 in FIG. 17 or the value of the input / output type 1901 in FIG. 19). If the value is "IO" as in the input / output type 1701, it is regarded as the input / output definition 404 for the Web application, and the process proceeds to step S603, and the value is "WEB SERVICE" as in the input / output type 1901. In the case of, it is regarded as the input / output definition 406 for the Web service, and the process proceeds to step S604.

すなわち、入出力タイプ1701は、プログラムが実行される形態を設定する手段の一例である。また、プログラムをWebサービスとして用いるかの選択を受け付ける手段の一例である。 That is, the input / output type 1701 is an example of means for setting the form in which the program is executed. It is also an example of a means for accepting the selection of whether to use the program as a Web service.

また、ステップS602は、設定された実行形態に従って、入出力定義情報を用いて、Webアプリケーションに用いられるプログラムを生成するかWebサービスに用いられるプログラムを生成するかを制御する処理の一例を示すステップである。 Further, step S602 is a step showing an example of a process of controlling whether to generate a program used for a Web application or a program used for a Web service by using the input / output definition information according to the set execution mode. Is.

また、ステップS602は、入出力定義情報を用いて、受け付けた選択に従って、Webアプリケーションとして用いられるプログラム及び当該Webアプリケーションの処理結果を表示するための画面を出力するプログラムを生成するか又はWebサービスの利用に必要なインタフェースの定義情報及び当該Webサービスとして用いられるプログラムを生成するかを制御する処理の一例を示すステップである。 Further, in step S602, the input / output definition information is used to generate a program used as a Web application and a program to output a screen for displaying the processing result of the Web application according to the received selection, or the Web service. This is a step showing an example of processing for controlling whether to generate the definition information of the interface required for use and the program used as the Web service.

また、図17〜図19の入出力定義画面は、入出力定義情報の設定を受け付ける手段の一例である。 The input / output definition screens of FIGS. 17 to 19 are examples of means for accepting settings of input / output definition information.

ステップS603において、プログラム開発装置101は、入出力定義404を用いて、Webアプリケーション用の入出力定義ソースコードを生成する。具体的には、入出力定義404から、入出力項目(図32の項目タイプ3201=IO(入出力)又はI(入力)の項目)、画面表示に必要なパラメータ(図32の初期値3202)、検索対象(図17の対象データモデル1702)、検索条件(図17の対象条件1703)を取得し解析し、図28の2801、2802のようなWebアプリケーション用の入出力定義ソースコードを生成する。 In step S603, the program development device 101 uses the input / output definition 404 to generate the input / output definition source code for the Web application. Specifically, from the input / output definition 404, input / output items (item type 3201 in FIG. 32 = IO (input / output) or I (input) item), parameters required for screen display (initial value 3202 in FIG. 32). , Search target (target data model 1702 in FIG. 17), search condition (target condition 1703 in FIG. 17) are acquired and analyzed, and input / output definition source codes for Web applications such as 2801 and 2802 in FIG. 28 are generated. ..

なお、2801のメソッドの戻り値を、入出力定義コード名3203+“Disp”とする。また、入出力項目(図32の項目タイプ3201=IO(入出力)又はI(入力)の項目)は、2801のparamList及び2802のformに含まれることになる。よって、入出力定義404の項目タイプ3201の各設定は、ActionFormクラスのgetter/setterメソッド、JSPファイル内の対応する画面項目のIDやNAMEなどに反映されて、Webアプリケーション用の入出力定義ソースコードが生成される。 The return value of the method of 2801 is set to the input / output definition code name 3203 + "Disp". Further, the input / output items (item type 3201 = IO (input / output) or I (input) item in FIG. 32) will be included in the paramList of 2801 and the form of 2802. Therefore, each setting of the item type 3201 of the input / output definition 404 is reflected in the getter / setter method of the ActionForm class, the ID and NAME of the corresponding screen item in the JSP file, and the input / output definition source code for the Web application. Is generated.

なお、図32は、Webアプリケーション用の入出力定義画面(項目一覧)3200の一例を示す図であり、ユーザによって表示タブ「入出力(図32の3204)」が押下されると、図17のWebサービス用の入出力定義画面(入出力)1700を表示する。 Note that FIG. 32 is a diagram showing an example of the input / output definition screen (item list) 3200 for the Web application, and when the display tab “input / output (3204 of FIG. 32)” is pressed by the user, FIG. The input / output definition screen (input / output) 1700 for the Web service is displayed.

ステップS604において、プログラム開発装置101は、Webサービス用の入出力定義406を用いて、Webサービス用の入出力定義ソースコードを生成する。すなわち、ステップS604は、受け付けたプログラム生成指示に従って、入力定義情報と出力定義情報とを用いて、Webサービスとして用いられるプログラムを生成する処理の一例を示すステップである。この処理については、後述する図7にて詳細を説明する。 In step S604, the program development device 101 generates the input / output definition source code for the Web service by using the input / output definition 406 for the Web service. That is, step S604 is a step showing an example of a process of generating a program used as a Web service by using the input definition information and the output definition information according to the received program generation instruction. This process will be described in detail with reference to FIG. 7, which will be described later.

以上により、設定した入出力定義情報を用いて、WebアプリケーションやWebサービスなど開発者が所望する形態に応じたプログラムファイルを容易に生成することができるようになる。特に、アプリケーションかWebサービスを容易に切り替えさせ、所望の形態のプログラムファイルを生成することができるようになる。 As described above, it becomes possible to easily generate a program file according to a form desired by a developer such as a Web application or a Web service by using the set input / output definition information. In particular, it becomes possible to easily switch between an application or a Web service and generate a program file having a desired form.

以上で、図6の説明を終了する。
This is the end of the description of FIG.

図7は、Webサービスソースコード生成のフローチャートの一例を示す図である。
ステップS701において、プログラム開発装置101は、Webサービス用の入出力定義406を解析する。具体的には、入出力定義404から、入出力項目(図18の項目タイプ1801=IO(入出力)又はI(入力)の項目)、画面表示に必要なパラメータ(図18の初期値1802)、検索対象(図19の対象データモデル1902)、検索条件(図19の対象条件1903)を取得し解析する。
FIG. 7 is a diagram showing an example of a flowchart for generating Web service source code.
In step S701, the program development device 101 analyzes the input / output definition 406 for the Web service. Specifically, from the input / output definition 404, input / output items (item type 1801 in FIG. 18 = IO (input / output) or I (input) item), parameters required for screen display (initial value 1802 in FIG. 18). , The search target (target data model 1902 in FIG. 19) and the search condition (target condition 1903 in FIG. 19) are acquired and analyzed.

なお、図18は、Webサービス用の入出力定義画面(項目一覧)1800の一例を示す図であり、ユーザによって表示タブ「入出力(図18の1804)」が押下されると、図19のWebサービス用の入出力定義画面(入出力)1900を表示する。 Note that FIG. 18 is a diagram showing an example of the input / output definition screen (item list) 1800 for the Web service, and when the display tab “input / output (1804 in FIG. 18)” is pressed by the user, FIG. The input / output definition screen (input / output) 1900 for the Web service is displayed.

なお、図17と図19、図18と図32の画面構成は同じであり、図29で後述するが、入出力定義404は、既存の入出力定義をコピーして作成することができる。よって、Webサービス用の入出力定義406には、画面表示上の装飾等(例えば、ラジオボタンやセレクトボックス等、どのような画面部品を用いて表示するか等)、Webサービスに不要な設定も含まれる。そのため、ステップS701では、Webサービス用の入出力定義406の解析を行う際に、Webサービスに不要な設定を除き、解析を行う。これにより、解析処理をより短い時間で行うことができるようになる。 The screen configurations of FIGS. 17 and 19 and 18 and 32 are the same, and as will be described later in FIG. 29, the input / output definition 404 can be created by copying an existing input / output definition. Therefore, the input / output definition 406 for the Web service includes settings unnecessary for the Web service, such as decorations on the screen display (for example, what kind of screen parts are used for display such as radio buttons and select boxes). Is done. Therefore, in step S701, when the input / output definition 406 for the Web service is analyzed, the analysis is performed except for the settings unnecessary for the Web service. This makes it possible to perform the analysis process in a shorter time.

すなわち、ステップS701は、入力定義情報と出力定義情報のうち、Webサービスに必要な情報を用いて、Webサービスとして用いられるプログラムを生成する処理の一例を示すステップである。また、ステップS701は、入力定義情報と出力定義情報のうち、Webサービスに必要な情報を用いて、Webサービスの利用に必要なインタフェースの定義情報を生成する処理の一例を示すステップである。 That is, step S701 is a step showing an example of a process of generating a program used as a Web service by using the information necessary for the Web service among the input definition information and the output definition information. Further, step S701 is a step showing an example of a process of generating interface definition information necessary for using the Web service by using the information necessary for the Web service among the input definition information and the output definition information.

ステップS702において、プログラム開発装置101は、取得した入出力定義404の情報を基にして、図28の2803のようなデータ取得のWebサービスインタフェースコードを生成する。具体的には、図18の入出力定義コード名1803を用いて、戻り値を“WSIo”+ 入出力定義コード名1803 +“GetDataResult”とし、メソッド名を 入出力定義コード名1803+“_getData”として出力し、パラメータ(初期値1802及び対象条件1903に含まれる In step S702, the program development device 101 generates a data acquisition Web service interface code as shown in 2803 of FIG. 28 based on the acquired information of the input / output definition 404. Specifically, using the input / output definition code name 1803 of FIG. 18, the return value is "WSIO" + input / output definition code name 1803 + "GetDataResult", and the method name is input / output definition code name 1803 + "_getData". Output and included in the parameters (initial value 1802 and target condition 1903)

の個数分だけ)を引数とする。 (Only for the number of) is taken as an argument.

なお、このメソッドは、アプリケーションサーバ105から、getDataのWebサービスが呼び出されたときに実行される(図21のステップS2102〜ステップS2104)。 This method is executed when the getData Web service is called from the application server 105 (steps S2102 to S2104 in FIG. 21).

また、アクション項目(図27の2701)にBP(ビジネスプロセス)定義(加工式2703の“ In addition, the action item (2701 in FIG. 27) has a BP (business process) definition (working formula 2703 "".

数字”を含む文字列)がある場合は、図28の2804のようなビジネスプロセスを呼び出すWebサービスインタフェースコードを生成する。具体的には、図18の入出力定義コード名1803を用いて、戻り値を“WSIoActionResult”、メソッド名を 入出力定義コード名1803 +“_exec”+ アクションのコード名(加工式2703から If there is a character string including a number), a Web service interface code that calls a business process as shown in 2804 in FIG. 28 is generated. Specifically, the input / output definition code name 1803 in FIG. 18 is used to return. The value is "WSIOActionResult", the method name is input / output definition code name 1803 + "_exec" + action code name (from processing formula 2703)

を除いた文字列)として出力し、パラメータを引数とする。 Output as a character string excluding) and take parameters as arguments.

なお、このメソッドは、アプリケーションサーバ105から、BP(ビジネスプロセス)のWebサービスが呼び出されたときに実行される(図21のステップS2102〜ステップS2104)。 This method is executed when the BP (business process) Web service is called from the application server 105 (steps S2102 to S2104 in FIG. 21).

ステップS703において、プログラム開発装置101は、ステップS701にて解析したWebサービス用の入出力定義406を用いて、WSDL生成(図8)を行う。この処理については、図8にて詳細を説明する。 In step S703, the program development device 101 generates the WSDL (FIG. 8) using the input / output definition 406 for the Web service analyzed in step S701. This process will be described in detail with reference to FIG.

すなわち、ステップS702及びステップS703は、設定された実行形態がWebサービスである場合に、設定を受け付けた入力定義情報に含まれるWebサービスを利用するユーザによって画面から入力される値を表す文字列及び設定を受け付けた出力定義情報に含まれるWebサービスを利用した結果、取得される値を表す文字列のうち少なくとも一方と、記憶されているルールを用いて、Webサービスの利用に必要なインタフェースとなるメッセージを生成し、当該メッセージを含むXMLファイルを生成する処理の一例を示すステップである。 That is, in steps S702 and S703, when the set execution mode is a Web service, a character string representing a value input from the screen by a user who uses the Web service included in the input definition information that has received the setting and As a result of using the Web service included in the output definition information that has received the settings, at least one of the character strings representing the acquired values and the stored rules will be used to provide the interface required to use the Web service. This is a step showing an example of a process of generating a message and generating an XML file containing the message.

また、ステップS702及びステップS703は、受け付けた選択に従って、設定を受け付けた入力定義情報に含まれるWebサービスを利用するユーザによって画面から入力される値を表す文字列及び設定を受け付けた出力定義情報に含まれるWebサービスを利用した結果、取得される値を表す文字列のうち少なくとも一方と、記憶されているルールを用いて、Webサービスの利用に必要なインタフェースの定義情報を生成する処理の一例を示すステップである。 Further, in step S702 and step S703, according to the accepted selection, the character string representing the value input from the screen by the user who uses the Web service included in the input definition information for which the setting is accepted and the output definition information for which the setting is accepted are used. An example of processing to generate definition information of the interface required to use the Web service by using at least one of the character strings representing the value acquired as a result of using the included Web service and the stored rules. This is the step shown.

以上で、図7の説明を終了する。
This is the end of the description of FIG.

図8は、WSDL生成のフローチャートの一例を示す図である。
ステップS801において、プログラム開発装置101は、getDataリクエスト生成(図9)を行う。この処理については、図9にて詳細を説明する。
FIG. 8 is a diagram showing an example of a flowchart for generating the WSDL.
In step S801, the program development device 101 generates a getData request (FIG. 9). This process will be described in detail with reference to FIG.

ステップS802において、getDataレスポンス生成(図11)を行う。この処理については、図11にて詳細を説明する。 In step S802, getData response generation (FIG. 11) is performed. This process will be described in detail with reference to FIG.

なお、getDataリクエスト/getDataレスポンスは対になっており、主に画面情報を取得するために利用される。 The getData request / getData response are paired and are mainly used for acquiring screen information.

ステップS803において、BPリクエスト生成(図13)を行う。この処理については、図13にて詳細を説明する。 In step S803, BP request generation (FIG. 13) is performed. This process will be described in detail with reference to FIG.

ステップS804において、BPレスポンス生成(図15)を行う。この処理については、図15にて詳細を説明する。 In step S804, BP response generation (FIG. 15) is performed. This process will be described in detail with reference to FIG.

なお、BPリクエスト/BPレスポンスは対になっており、それぞれアクション実行とアクション結果取得のために利用される。 The BP request / BP response are paired and are used for executing the action and acquiring the action result, respectively.

以上で、図8の説明を終了する。
This is the end of the description of FIG.

図9は、getDataリクエスト生成のフローチャートの一例を示す図である。
ステップS901において、プログラム開発装置101は、入出力定義404に対象条件1903の設定があるか否かを判定し、ある場合はステップS902に進み、ない場合は図9の処理を終了する。
FIG. 9 is a diagram showing an example of a flowchart for generating a getData request.
In step S901, the program development device 101 determines whether or not the target condition 1903 is set in the input / output definition 404, proceeds to step S902 if there is, and ends the process of FIG. 9 if not.

ステップS902において、プログラム開発装置101は、WSDLにデータ取得処理のリクエストの記述を出力する(図10の1001)。具体的には、入出力定義コード名1803を用いて、 operation name= 入出力定義コード名1803+“_getData”、message= 入出力定義コード名1803+“_getDataRequest” のように出力する。これにより、「IO002_WSDL_getData」という検索処理がWebサービスとして公開され、外部アプリケーションから利用することができるようになる。 In step S902, the program development device 101 outputs the description of the request for the data acquisition process to the WSDL (1001 in FIG. 10). Specifically, the input / output definition code name 1803 is used to output such as operation name = input / output definition code name 1803 + “_getData”, message = input / output definition code name 1803 + “_getDataRequest”. As a result, the search process "IO002_WSDL_getData" is published as a Web service and can be used from an external application.

ステップS903において、プログラム開発装置101は、入出力定義404にパラメータがあるか否かを判定し、ある場合はステップS904に進み、ない場合は図9の処理を終了する。具体的には、対象条件1903又は初期値1802に“ In step S903, the program development device 101 determines whether or not there is a parameter in the input / output definition 404, proceeds to step S904 if there is, and ends the process of FIG. 9 if not. Specifically, the target condition 1903 or the initial value 1802 is set to "

数字”を含む文字列が含まれる場合は、図10の1002の記述を出力し、ステップS904に進む。1002の記述は、具体的には、入出力定義コード名1803を用いて、 element=“ns:”+ 入出力定義コード名1803 +“_getData” とする。これにより、検索処理「IO002_WSDL_getData」を呼び出す際に、パラメータを送ることができるようになる。 When a character string including a "number" is included, the description of 1002 in FIG. 10 is output and the process proceeds to step S904. Specifically, the description of 1002 uses the input / output definition code name 1803 and element = ". ns: "+ I / O definition code name 1803 +" _getData ". This makes it possible to send parameters when calling the search process" IO002_WSDL_getData ".

ステップS904において、WSDLに図10の1003のような記述をパラメータ数だけ出力する。具体的に、1003の記述は、パラメータの通し番号N( In step S904, the description as shown in 1003 of FIG. 10 is output to the WSDL for the number of parameters. Specifically, the description of 1003 is a parameter serial number N (

数字の数字部)を用いて、 name=“param”+N とする。 Use the number part of the number) to set name = "param" + N.

以上で、図9の説明を終了する。
This is the end of the description of FIG.

図10は、getDataリクエストWSDL1000の一例を示す図である。図10は、入出力定義404に対象条件1903の設定があり、かつ入出力定義404にパラメータがある場合のリクエストWSDLの一例である。
図11は、getDataレスポンス生成のフローチャートの一例を示す図である。
FIG. 10 is a diagram showing an example of getData request WSDL1000. FIG. 10 is an example of the request WSDL when the target condition 1903 is set in the input / output definition 404 and the input / output definition 404 has a parameter.
FIG. 11 is a diagram showing an example of a flowchart for generating a getData response.

ステップS1101において、プログラム開発装置101は、ステップS901と同様、入出力定義404に対象条件1903の設定があるか否かを判定し、ある場合はステップS1102に進み、ない場合は図11の処理を終了する。 In step S1101, the program development device 101 determines whether or not the target condition 1903 is set in the input / output definition 404, as in step S901, proceeds to step S1102 if there is a setting, and if not, proceeds to the process of FIG. finish.

ステップS1102において、プログラム開発装置101は、WSDLにデータ取得処理のレスポンスの記述を出力する(図12の1201)。具体的には、入出力定義コード名1803を用いて、 operation name= 入出力定義コード名1803+“_getData”、 message= 入出力定義コード名1803+“_getDataResponse” のように出力する。これにより、Webサービスとして公開された検索処理「IO002_WSDL_getData」の戻り値を公開することができるようになる。 In step S1102, the program development device 101 outputs the description of the response of the data acquisition process to the WSDL (1201 in FIG. 12). Specifically, the input / output definition code name 1803 is used to output such as operation name = input / output definition code name 1803 + “_getData”, message = input / output definition code name 1803 + “_getDataRespones”. As a result, the return value of the search process "IO002_WSDL_getData" published as a Web service can be published.

ステップS1103において、プログラム開発装置101は、Webサービス用の入出力定義406から、入出力項目(図18の項目タイプ1801=IO(入出力)又はO(出力)の項目)を取得し、WSDLに項目定義を出力する(図12の1202)。具体的には、入出力定義画面(入出力)1900の対象データモデル1902に設定されたデータモデルの項目コード2001(図20)を用いて、 name=項目コード2001 とし、データタイプ2002(図20)に従ってデータの型名を決定し、 type=“xs:”+型名 とする。図12の1202の記述から、検索処理の結果として、String型の「item_key」と、String型の「item_value」という項目が出力されることがわかる。これにより、Webサービスの実行結果の戻り値に含まれる項目IDと型情報を公開できるようになる。 In step S1103, the program development device 101 acquires an input / output item (item type 1801 = IO (input / output) or O (output) item in FIG. 18) from the input / output definition 406 for the Web service, and converts it into the WSDL. The item definition is output (1202 in FIG. 12). Specifically, using the item code 2001 (FIG. 20) of the data model set in the target data model 1902 of the input / output definition screen (input / output) 1900, name = item code 2001 is set, and the data type 2002 (FIG. 20). ), And set type = "xs:" + type name. From the description of 1202 in FIG. 12, it can be seen that as a result of the search process, the items "item_key" of the String type and "item_value" of the String type are output. As a result, the item ID and type information included in the return value of the execution result of the Web service can be disclosed.

なお、図20は、Webアプリケーション開発ツールによって生成されたWebアプリケーション及びWebサービスが利用するデータモデル定義画面の一例を示す図である。この画面で定義する各項目はWebアプリケーション及びWebサービスが接続するデータベースのテーブルのカラム名と一致する。 Note that FIG. 20 is a diagram showing an example of a data model definition screen used by a Web application and a Web service generated by the Web application development tool. Each item defined on this screen matches the column name of the table of the database to which the Web application and Web service are connected.

以上で、図11の説明を終了する。
This is the end of the description of FIG.

図12は、getDataレスポンスWSDL1200の一例を示す図である。図12は、入出力定義404に対象条件1903の設定があり、かつ出力項目が存在する場合のレスポンスWSDLの一例である。
図13は、BP(ビジネスプロセス)リクエスト生成のフローチャートの一例を示す図である。
FIG. 12 is a diagram showing an example of getData response WSDL1200. FIG. 12 is an example of the response WSDL when the target condition 1903 is set in the input / output definition 404 and the output item exists.
FIG. 13 is a diagram showing an example of a flowchart for generating a BP (business process) request.

ステップS1301において、プログラム開発装置101は、図27の項目タイプ2701の定義を取得し、項目タイプ2701=「A:アクション」の項目にビジネスプロセス(図27の加工式2703)の定義があるか否か判定する。ある場合はステップS1302に進み、ない場合は図13の処理を終了する。 In step S1301, the program development apparatus 101 acquires the definition of the item type 2701 of FIG. 27, and whether or not the item of the item type 2701 = "A: action" has the definition of the business process (machining formula 2703 of FIG. 27). Is determined. If there is, the process proceeds to step S1302, and if not, the process of FIG. 13 is terminated.

ステップS1302において、プログラム開発装置101は、WSDLにビジネスプロセス定義を出力する(図14の1401)。具体的には、入出力定義コード名1803とアクションの項目コード名2702を用いて、operation name= 入出力定義コード名1803 +“_exec”+ アクションの項目コード名2702 +message= 入出力定義コード名1803 +“_exec”+ アクションの項目コード名2702 +“Request” とする。これにより、「IO002_WSDL_execINSERT」という登録処理がWebサービスとして公開され、外部アプリケーションから利用することができるようになる。 In step S1302, the program development device 101 outputs the business process definition to the WSDL (1401 in FIG. 14). Specifically, using the input / output definition code name 1803 and the action item code name 2702, operation name = input / output definition code name 1803 + "_exec" + action item code name 2702 + message = input / output definition code name 1803. + "_Exec" + action item code name 2702 + "Request". As a result, the registration process "IO002_WSDL_execINSERT" is published as a Web service and can be used from an external application.

ステップS1303において、プログラム開発装置101は、Webサービス用の入出力定義406に、入出力項目(図18の項目タイプ1801=IO(入出力)又はI(入力)の項目)の有無を判定する。ある場合はステップS1304に進み、ない場合は図13の処理を終了する。 In step S1303, the program development device 101 determines whether or not there is an input / output item (item type 1801 = IO (input / output) or I (input) item in FIG. 18) in the input / output definition 406 for the Web service. If there is, the process proceeds to step S1304, and if not, the process of FIG. 13 ends.

ステップS1304において、プログラム開発装置101は、WSDLにビジネスプロセスへのパラメータを出力する(図14の1402)。具体的には、入出力定義コード名1803とアクションの項目コード名2702を用いて、element=入出力定義コード名1803 +“_exec”+ アクションの項目コード名2702 とする。これにより、登録処理「IO002_WSDL_execINSERT」の呼出し時に、外部アプリケーションからパラメータを与えることができるようになる。 In step S1304, the program development device 101 outputs the parameters to the business process to the WSDL (1402 in FIG. 14). Specifically, using the input / output definition code name 1803 and the action item code name 2702, element = input / output definition code name 1803 + "_exec" + action item code name 2702. As a result, parameters can be given from an external application when the registration process "IO002_WSDL_execINSERT" is called.

ステップS1305において、プログラム開発装置101は、Webサービス用の入出力定義406から、入出力項目(図18の項目タイプ1801=IO(入出力)又はI(入力)の項目)を取得し、WSDLに項目定義を出力する(図14の1403)。具体的には、入出力定義画面(入出力)1900の対象データモデル1902に設定されたデータモデルの項目コード2001(図20)を用いて、 name=項目コード2001 とし、データタイプ2002(図20)に従ってデータの型名を決定し、 type=“xs:”+型名 とする。図14の1403の記述から、登録処理のパラメータは、String型の「item_key」、String型の「item_param」、String型の「item_value」であるということがわかる。これにより、Webサービスの実行時のパラメータを公開できるようになる。 In step S1305, the program development device 101 acquires an input / output item (item type 1801 = IO (input / output) or I (input) item in FIG. 18) from the input / output definition 406 for the Web service and inputs it to the WSDL. The item definition is output (1403 in FIG. 14). Specifically, using the item code 2001 (FIG. 20) of the data model set in the target data model 1902 of the input / output definition screen (input / output) 1900, name = item code 2001 is set, and the data type 2002 (FIG. 20). ), And set type = "xs:" + type name. From the description of 1403 in FIG. 14, it can be seen that the parameters of the registration process are the String type "item_key", the String type "item_param", and the String type "item_value". This makes it possible to publish the run-time parameters of the Web service.

以上で、図13の説明を終了する。
This is the end of the description of FIG.

図14は、BPリクエストWSDL1400の一例を示す図である。図14は、入出力定義404にビジネスプロセスが定義されたアクション項目があり、かつ入出力項目にIO又はI項目が存在する場合のBPリクエストWSDLの一例である。
図15は、BPレスポンス生成のフローチャートの一例を示す図である。
FIG. 14 is a diagram showing an example of BP request WSDL1400. FIG. 14 is an example of a BP request WSDL when there is an action item in which the business process is defined in the input / output definition 404 and an IO or I item exists in the input / output item.
FIG. 15 is a diagram showing an example of a flowchart for generating a BP response.

ステップS1501において、プログラム開発装置101は、図27の項目タイプ2701の定義を取得し、項目タイプ2701=「A:アクション」の項目にビジネスプロセス(図27の加工式2703)の定義があるか否か判定する。ある場合はステップS1502に進み、ない場合は図15の処理を終了する。 In step S1501, the program development apparatus 101 acquires the definition of the item type 2701 of FIG. 27, and whether or not the item of the item type 2701 = "A: action" has the definition of the business process (machining formula 2703 of FIG. 27). Is determined. If there is, the process proceeds to step S1502, and if not, the process of FIG. 15 ends.

ステップS1502において、プログラム開発装置101は、WSDLにビジネスプロセス定義を出力する(図16の1601)。具体的には、入出力定義コード名1803とアクションの項目コード名2702を用いて、operation name= 入出力定義コード名1803 +“_exec”+アクションの項目コード名2702 +message= 入出力定義コード名1803 +“_exec”+ アクションの項目コード名2702 +“Response” とする。これにより、登録処理「IO002_WSDL_execINSERT」を外部アプリケーションから利用した時の戻り値を公開できるようになる。 In step S1502, the program development device 101 outputs the business process definition to the WSDL (1601 in FIG. 16). Specifically, using the input / output definition code name 1803 and the action item code name 2702, operation name = input / output definition code name 1803 + "_exec" + action item code name 2702 + message = input / output definition code name 1803. + “_exec” + Action item code name 2702 + “Response”. As a result, the return value when the registration process "IO002_WSDL_execINSERT" is used from an external application can be disclosed.

ステップS1503において、プログラム開発装置101は、図27の次入出力2704の定義を取得し、WSDLに次画面情報を出力する(図16の1602)。具体的には、nextIoの値が空の場合は、画面遷移を行わずに自画面に遷移することを表すものとする。これにより、登録処理「IO002_WSDL_execINSERT」を利用した後に遷移する入出力を公開できるようになる。 In step S1503, the program development device 101 acquires the definition of the next input / output 2704 of FIG. 27 and outputs the next screen information to the WSDL (1602 of FIG. 16). Specifically, when the value of nextIo is empty, it means that the screen transitions to the own screen without performing the screen transition. As a result, the input / output that transitions after using the registration process "IO002_WSDL_execINSERT" can be disclosed.

ステップS1504において、プログラム開発装置101は、図27の次入出力パラメータ2705の定義を取得し、次入出力パラメータ2705に設定されている変数の数だけ、WSDLに次入出力パラメータ定義を出力する(図16の1603)。これにより、登録処理「IO002_WSDL_execINSERT」を利用した結果、次の画面へどのような引数が渡されるかを公開できるようになる。 In step S1504, the program development device 101 acquires the definition of the next input / output parameter 2705 of FIG. 27, and outputs the next input / output parameter definition to WSDL for the number of variables set in the next input / output parameter 2705 (. 1603) in FIG. As a result, as a result of using the registration process "IO002_WSDL_execINSERT", it becomes possible to disclose what kind of argument is passed to the next screen.

以上で、図15の説明を終了する。
This is the end of the description of FIG.

以上の図9〜図15の処理によってWSDLファイルを生成することにより、プログラムへ引数として入力される項目を定義する入力定義情報やプログラムから処理結果として出力する項目を定義する出力定義情報を管理する必要があるWebアプリケーション開発ツールにおいて、それらの入出力定義情報を用いたWSDLファイルを生成することができないという問題を解決することができる。
つまり、Webアプリケーションの入出力定義情報を用いて、Webサービス定義情報を容易に生成することができるようになる。
By generating the WSDL file by the above processes of FIGS. 9 to 15, the input definition information that defines the items input as arguments to the program and the output definition information that defines the items to be output as the processing result from the program are managed. It is possible to solve the problem that the WSDL file using the input / output definition information cannot be generated in the necessary Web application development tool.
That is, the Web service definition information can be easily generated by using the input / output definition information of the Web application.

図16は、BPレスポンスWSDL1600の一例を示す図である。図16は、入出力定義404にビジネスプロセスが定義されたアクション項目があり、かつ次入出力パラメータ2705が設定されている場合のBPレスポンスWSDLの一例である。 FIG. 16 is a diagram showing an example of the BP response WSDL1600. FIG. 16 is an example of the BP response WSDL when there is an action item in which the business process is defined in the input / output definition 404 and the next input / output parameter 2705 is set.

図21は、外部アプリケーションを実行している外部アプリケーションクライアントが、図5の処理により生成されたWebサービスを利用するフローチャートの一例を示す図である。図22は、Webサービスを利用する外部アプリケーションのINPUT画面2200の一例を示す図である。図25は、Webサービスを利用する外部アプリケーションのOUTPUT画面2500の一例を示す図である。 FIG. 21 is a diagram showing an example of a flowchart in which an external application client executing an external application uses the Web service generated by the process of FIG. FIG. 22 is a diagram showing an example of the INPUT screen 2200 of an external application that uses the Web service. FIG. 25 is a diagram showing an example of the OUTPUT screen 2500 of an external application that uses the Web service.

ステップS2101において、外部アプリケーションクライアントは、外部アプリケーションのユーザによる検索条件(図22の商品コード2201)の入力を受け付け、検索ボタン2202の押下による処理実行指示を受け付ける。 In step S2101, the external application client accepts the input of the search condition (product code 2201 in FIG. 22) by the user of the external application, and receives the process execution instruction by pressing the search button 2202.

ステップS2102において、外部アプリケーションクライアントは、外部アプリケーションサーバにリクエストを送信する。 In step S2102, the external application client sends a request to the external application server.

ステップS2103において、外部アプリケーションサーバは、リクエストを受信する。 In step S2103, the external application server receives the request.

ステップS2104において、外部アプリケーションサーバは、Webサービスサーバ(図1のアプリケーションサーバ105。つまり、図5の処理により生成されたWebサービスをデプロイしたサーバ。)にて公開されているgetData処理(図10の1001)を利用すべく、Webサービスサーバに図23のようなリクエストを送信する。具体的には、ステップS2101にて入力を受け付けた検索条件(商品コード2201)の値を用いたパラメータ2301を含むリクエストを送信する。 In step S2104, the external application server is a getData process (FIG. 10) published on the Web service server (application server 105 in FIG. 1, that is, a server in which the Web service generated by the process in FIG. 5 is deployed). In order to use 1001), a request as shown in FIG. 23 is transmitted to the Web service server. Specifically, a request including the parameter 2301 using the value of the search condition (product code 2201) for which the input was accepted in step S2101 is transmitted.

ステップS2105において、Webサービスサーバは、リクエストを受信する。 In step S2105, the Web service server receives the request.

ステップS2106において、Webサービスサーバは、受信したリクエストに含まれるパラメータを用いて、図20のデータモデル定義2000で定義されるテーブルを検索する。具体的には、Webサービスのプログラムに含まれる、Webサービス用の入出力定義画面(入出力)1900の対象データモデル1902と対象条件1903を用いて、検索処理を行う。 In step S2106, the Web service server searches the table defined in the data model definition 2000 of FIG. 20 using the parameters included in the received request. Specifically, the search process is performed using the target data model 1902 and the target condition 1903 of the input / output definition screen (input / output) 1900 for the Web service included in the Web service program.

なお、検索対象となるテーブルのカラムは、Webサービスのプログラムに含まれる、データモデル定義2000(図20)に定義されている項目コード2001であり、テーブル(商品マスタテーブル2600)には図26のようなデータが記憶されているものとする。ここでは、対象条件1903に従って、ITEM_KEY=“C101”という検索条件で商品マスタテーブル2600を検索することにより、検索結果としてレコード2603を取得したとする。 The column of the table to be searched is the item code 2001 defined in the data model definition 2000 (FIG. 20) included in the Web service program, and the table (product master table 2600) has the item code 2001 shown in FIG. It is assumed that such data is stored. Here, it is assumed that the record 2603 is acquired as the search result by searching the product master table 2600 under the search condition ITEM_KEY = "C101" according to the target condition 1903.

ステップS2107において、Webサービスサーバは、外部アプリケーションサーバへ図24のようなレスポンス2400を送信する。具体的には、レスポンス2400には、ステップS2106の検索処理にて取得した検索結果である、item_key2401とitem_value2402の値が含まれる。 In step S2107, the Web service server transmits the response 2400 as shown in FIG. 24 to the external application server. Specifically, the response 2400 includes the values of item_key2401 and item_value2402, which are the search results acquired in the search process of step S2106.

ステップS2108において、外部アプリケーションサーバは、レスポンス2400を受信する。 In step S2108, the external application server receives response 2400.

ステップS2109において、外部アプリケーションサーバは、受信したレスポンスを用いて、Webサービスの利用結果を表示する画面情報(例えば、HTML等)を生成し、外部アプリケーションクライアントへ画面情報を送信する。具体的には、画面情報には、レスポンス2400に含まれる検索結果が含まれる。 In step S2109, the external application server uses the received response to generate screen information (for example, HTML) for displaying the usage result of the Web service, and transmits the screen information to the external application client. Specifically, the screen information includes the search result included in the response 2400.

ステップS2110において、外部アプリケーションクライアントは、画面情報を受信する。 In step S2110, the external application client receives the screen information.

ステップS2111において、外部アプリケーションクライアントは、画面情報を用いて、Webサービスの利用結果を表示する。具体的には、Webサービスの利用した結果、取得できたitem_value2402の値を外部アプリケーションのOUTPUT画面2500(図25)の商品名2501に表示する。 In step S2111, the external application client displays the usage result of the Web service by using the screen information. Specifically, the value of item_value2402 obtained as a result of using the Web service is displayed on the product name 2501 of the OUTPUT screen 2500 (FIG. 25) of the external application.

また、外部アプリケーションクライアントは、図25の登録ボタン2502の押下を受け付けることにより、外部アプリケーションサーバにリクエストを送信し、外部アプリケーションサーバはWebサービスサーバにて公開されているexecINSERT処理(図14の1401)を利用すべく、Webサービスサーバにリクエストを送信する。この処理は、図21のフローチャートと同様の流れである。 In addition, the external application client sends a request to the external application server by accepting the press of the registration button 2502 in FIG. 25, and the external application server performs the execute process published on the Web service server (1401 in FIG. 14). Send a request to the Web service server to use. This process is the same as the flow chart of FIG.

以上により、外部アプリケーションを実行している外部アプリケーションクライアントが、図5の処理により生成されたWebサービスを利用することができる。 As described above, the external application client executing the external application can use the Web service generated by the process of FIG.

以上で、図21の説明を終了する。
This is the end of the description of FIG.

図29は、入出力定義作成のフローチャートの一例を示す図である。この処理は、図17や図19のような入出力定義404を作成する処理である。
ステップS2901において、プログラム開発装置101は、入出力定義作成の指示を受け付け、その指示のタイプを判定する(不図示)。新規に作成する場合はステップS2902に進み、既存の入出力定義をコピーして作成する場合はステップS2903に進む。
FIG. 29 is a diagram showing an example of a flowchart for creating input / output definitions. This process is a process for creating the input / output definition 404 as shown in FIGS. 17 and 19.
In step S2901, the program development device 101 receives an instruction for creating an input / output definition and determines the type of the instruction (not shown). To create a new one, the process proceeds to step S2902, and to copy and create an existing input / output definition, the process proceeds to step S2903.

ステップS2902において、プログラム開発装置101は、入出力定義404を新規に作成する。ここでは、図17のような入出力タイプ=“IO”の入出力定義404が作成されたとする。 In step S2902, the program development device 101 newly creates the input / output definition 404. Here, it is assumed that the input / output definition 404 of the input / output type = "IO" as shown in FIG. 17 is created.

ステップS2903において、プログラム開発装置101は、コピー元となる既存の入出力定義404の指示を受け付ける。ここでは、Webアプリケーション用の入出力定義404が選択されたとする。Webアプリケーション用の入出力定義404とは、図17のように入出力タイプ=“IO”の入出力定義404である。 In step S2903, the program development device 101 receives the instruction of the existing input / output definition 404 that is the copy source. Here, it is assumed that the input / output definition 404 for the Web application is selected. The input / output definition 404 for the Web application is the input / output definition 404 of the input / output type = “IO” as shown in FIG.

ステップS2904において、プログラム開発装置101は、コピー元として指示された既存の入出力定義404の内容をコピーして、新規の入出力定義404を作成する。すなわち、ステップS2904は、入出力定義情報に基づき、新たな入出力定義情報を生成する処理の一例を示すステップである。 In step S2904, the program development device 101 copies the contents of the existing input / output definition 404 instructed as the copy source to create a new input / output definition 404. That is, step S2904 is a step showing an example of a process of generating new input / output definition information based on the input / output definition information.

ステップS2905において、プログラム開発装置101は、ステップS2903にて指示を受け付けたコピー元の入出力定義404と、ステップS2904にて作成したコピー先の入出力定義404とを関連付けて、外部メモリ211に記憶する。すなわち、ステップS2905は、生成された入出力定義情報と、当該入出力定義情報の生成の基となった入出力定義情報とを関連付けて管理する処理の一例を示すステップである。 In step S2905, the program development device 101 associates the copy source input / output definition 404 for which the instruction was received in step S2903 with the copy destination input / output definition 404 created in step S2904, and stores them in the external memory 211. To do. That is, step S2905 is a step showing an example of a process of associating and managing the generated input / output definition information with the input / output definition information that is the basis for generating the input / output definition information.

ステップS2906において、プログラム開発装置101は、S2902又はS2904にて作成した入出力定義404の設定について、ユーザによる入力を受け付ける。ここでは、Webサービス用の入出力定義406に設定が変更されたとする。Webサービス用の入出力定義406とは、図19のように入出力タイプ1901=“WEB SERVICE”の入出力定義404である。 In step S2906, the program development device 101 receives input by the user regarding the setting of the input / output definition 404 created in S2902 or S2904. Here, it is assumed that the setting is changed to the input / output definition 406 for the Web service. The input / output definition 406 for the Web service is the input / output definition 404 of the input / output type 1901 = “WEB SERVICE” as shown in FIG.

ステップS2907において、プログラム開発装置101は、ユーザによる入出力定義404の記憶指示を受け付ける。 In step S2907, the program development device 101 receives a storage instruction of the input / output definition 404 by the user.

ステップS2908において、プログラム開発装置101は、入出力定義404の設定を外部メモリ211に記憶する。 In step S2908, the program development device 101 stores the settings of the input / output definition 404 in the external memory 211.

以上で、図29の説明を終了する。
This is the end of the description of FIG. 29.

図30は、入出力定義編集のフローチャートの一例を示す図である。この処理は、図29にて作成した入出力定義404の設定を編集する処理である。
ステップS3001において、プログラム開発装置101は、入出力定義404の編集を受け付ける。具体的には、図17〜図19の各項目の値について、ユーザの編集を受け付ける。すなわち、ステップS3001は、入出力定義情報の設定の変更を受け付ける処理の一例を示すステップである。
FIG. 30 is a diagram showing an example of a flowchart of input / output definition editing. This process is a process of editing the settings of the input / output definition 404 created in FIG. 29.
In step S3001, the program development device 101 accepts editing of the input / output definition 404. Specifically, the user edits the values of each item in FIGS. 17 to 19. That is, step S3001 is a step showing an example of a process of accepting a change in the setting of the input / output definition information.

ステップS3002において、プログラム開発装置101は、ステップS3001にて編集を受け付けた入出力定義404の実行形態(入出力タイプ)の値を判定する。入出力タイプ=“IO”(Webアプリケーション用の入出力定義404を意味する)の場合はステップS3003に進み、入出力タイプ=“WEB SERVICE”(Webサービス用の入出力定義406を意味する)の場合はステップS3004に進む。 In step S3002, the program development device 101 determines the value of the execution mode (input / output type) of the input / output definition 404 for which editing was accepted in step S3001. When the input / output type = "IO" (meaning the input / output definition 404 for the Web application), the process proceeds to step S3003, and the input / output type = "WEB SERVICE" (meaning the input / output definition 406 for the Web service). In the case, the process proceeds to step S3004.

ステップS3003において、プログラム開発装置101は、ステップS3001にて編集を受け付けた入出力定義404に、コピー元又はコピー先として入出力タイプ=“WEB SERVICE”の入出力定義406との関連付けがあるか否かを判定する。ある場合はステップS3005に進み、ない場合は図30の処理を終了する。 In step S3003, the program development apparatus 101 indicates whether or not the input / output definition 404 whose editing is accepted in step S3001 is associated with the input / output definition 406 of the input / output type = "WEB SERVICE" as the copy source or copy destination. Is determined. If there is, the process proceeds to step S3005, and if not, the process of FIG. 30 ends.

ステップS3004において、プログラム開発装置101は、ステップS3001にて編集を受け付けた入出力定義406に、コピー元又はコピー先として入出力タイプ=“IO”の入出力定義404が関連付けられているかを判定する。関連付けがある場合はステップS3006に進み、関連付けがない場合は図30の処理を終了する。 In step S3004, the program development device 101 determines whether the input / output definition 406 whose editing is accepted in step S3001 is associated with the input / output definition 404 of the input / output type = "IO" as the copy source or copy destination. .. If there is an association, the process proceeds to step S3006, and if there is no association, the process of FIG. 30 ends.

ステップS3005において、プログラム開発装置101は、確認メッセージ3111(図31)又は確認メッセージ3112(図31)を表示し、ステップS3003にて関連付けられていると判定されたWebサービス用の入出力定義406を更新するか否かの指示を受け付ける。「OK」の場合はステップS3007に進み、「キャンセル」の場合は図30の処理を終了する。 In step S3005, the program development device 101 displays the confirmation message 3111 (FIG. 31) or the confirmation message 3112 (FIG. 31), and sets the input / output definition 406 for the Web service determined to be associated in step S3003. Accepts instructions on whether to update. In the case of "OK", the process proceeds to step S3007, and in the case of "Cancel", the process of FIG. 30 ends.

ステップS3006において、プログラム開発装置101は、確認メッセージ3121(図31)又は確認メッセージ3122(図31)を表示し、ステップS3004にて関連付けられていると判定されたWebアプリケーション用の入出力定義404を更新するか否かの指示を受け付ける。「OK」の場合はステップS3008に進み、「キャンセル」の場合は図30の処理を終了する。 In step S3006, the program development device 101 displays the confirmation message 3121 (FIG. 31) or the confirmation message 3122 (FIG. 31), and sets the input / output definition 404 for the Web application determined to be associated in step S3004. Accepts instructions on whether to update. If "OK", the process proceeds to step S3008, and if "Cancel", the process of FIG. 30 ends.

すなわち、ステップS3005及びステップS3006は、設定の変更を受け付けた入出力定義情報が他の入出力定義情報と対応づけて管理されている場合、ユーザに通知する処理の一例を示すステップである。 That is, steps S3005 and S3006 are steps showing an example of a process of notifying the user when the input / output definition information that has received the setting change is managed in association with other input / output definition information.

ステップS3007において、プログラム開発装置101は、ステップS3003にて関連付けられていると判定されたWebサービス用の入出力定義406の設定を、ステップS3001にて受け付けた編集内容で更新し、外部メモリ211に記憶する。 In step S3007, the program development device 101 updates the setting of the input / output definition 406 for the Web service determined to be associated in step S3003 with the edited content received in step S3001, and updates the setting to the external memory 211. Remember.

ステップS3008において、プログラム開発装置101は、ステップS3004にて関連付けられていると判定されたWebアプリケーション用の入出力定義404の設定を、ステップS3001にて受け付けた編集内容で更新し、外部メモリ211に記憶する。 In step S3008, the program development device 101 updates the setting of the input / output definition 404 for the Web application determined to be associated in step S3004 with the editing content received in step S3001 and stores it in the external memory 211. Remember.

以上により、Webアプリケーション用の入出力定義404をコピーしてWebサービス用の入出力定義406を作成した場合、その一方の編集内容をもう一方に反映させることができる。
以上により、Webアプリケーション開発ツールにおいて、Webサービスとして用いられるプログラムを容易に生成する仕組みを提供することができる。
As described above, when the input / output definition 404 for the Web application is copied to create the input / output definition 406 for the Web service, the edited contents of one of them can be reflected in the other.
As described above, it is possible to provide a mechanism for easily generating a program used as a Web service in the Web application development tool.

また、Webアプリケーション開発ツールに慣れ親しんでいた開発者にとって、これまでのWebアプリケーション開発と同様にレイアウトエディタ等を介してWebアプリケーション画面の入出力項目を直感的に追加・変更・削除した後、Webアプリケーション用の入出力定義404をコピーしてWebサービス用の入出力定義406を作成することで、Webサービスとして用いられるプログラムを容易に生成することができるため、Webサービスの開発又はWSDLの記載方法に不慣れな開発者にとってはメリットが大きい。
In addition, for developers who are familiar with Web application development tools, after intuitively adding / changing / deleting input / output items on the Web application screen via a layout editor, etc., as in the case of Web application development so far, the Web application By copying the input / output definition 404 for Web service and creating the input / output definition 406 for Web service, a program used as Web service can be easily generated. Therefore, it can be used for Web service development or WSDL description method. Great benefits for inexperienced developers.

〔第2の実施形態〕
第1の実施形態は、入出力定義情報の実行形態に従って、Webアプリケーションの入出力定義情報又はWebサービスの入出力定義情報を生成することによって、Webアプリケーション開発ツールにおいて、Webサービスとして用いられるプログラムを容易に生成する仕組みであり、第2の実施形態は、Webアプリケーションの入出力定義情報を用いて、Webサービス定義情報を生成することによって、Webアプリケーションの入出力定義情報を用いて、Webサービス定義情報を生成する仕組みである。
[Second Embodiment]
In the first embodiment, a program used as a Web service in a Web application development tool is generated by generating input / output definition information of a Web application or input / output definition information of a Web service according to an execution mode of the input / output definition information. It is a mechanism to be easily generated, and in the second embodiment, the Web service definition information is generated by using the input / output definition information of the Web application, and the input / output definition information of the Web application is used to define the Web service. It is a mechanism to generate information.

図33〜図34を用いて、第2の実施形態を説明する。なお、第2の実施形態では、第1の実施形態における図6のフローチャートを図33に置き換え、第1の実施形態のステップと同じ処理については、同じステップ番号を付与し説明を省略する。
図33は、第2の実施形態に係るソースコード生成のフローチャートの一例を示す図である。図34は、第2の実施形態に係るWebアプリケーション用の入出力定義画面(入出力)3400の一例を示す図である。
The second embodiment will be described with reference to FIGS. 33 to 34. In the second embodiment, the flowchart of FIG. 6 in the first embodiment is replaced with FIG. 33, and the same process as the step in the first embodiment is assigned the same step number and the description thereof will be omitted.
FIG. 33 is a diagram showing an example of a flowchart of source code generation according to the second embodiment. FIG. 34 is a diagram showing an example of the input / output definition screen (input / output) 3400 for the Web application according to the second embodiment.

ステップS3301において、プログラム開発装置101は、この入出力定義404を用いて、Webアプリケーション用の入出力定義ソースコードを生成したことを示すフラグをONにし、外部メモリ211に記憶する。 In step S3301, the program development device 101 uses the input / output definition 404 to turn on the flag indicating that the input / output definition source code for the Web application has been generated, and stores the input / output definition source code in the external memory 211.

ステップS3302において、プログラム開発装置101は、この入出力定義404を用いて、Webサービス用の入出力定義ソースコードを生成するか否かを判定する。すなわち、ステップS3302は、入力定義情報と出力定義情報とを用いて、Webサービスとして用いられるプログラムを生成するか否かを判定する処理の一例を示すステップである。また、ステップS3302は、Webサービスとして用いられるプログラムを生成すると判定した場合は、Webアプリケーションとして用いられるプログラムとWebサービスとして用いられるプログラムとを生成し、Webサービスとして用いられるプログラムを生成しないと判定した場合は、Webアプリケーションとして用いられるプログラムを生成する処理の一例を示すステップである。 In step S3302, the program development device 101 uses the input / output definition 404 to determine whether or not to generate the input / output definition source code for the Web service. That is, step S3302 is a step showing an example of a process of determining whether or not to generate a program used as a Web service by using the input definition information and the output definition information. Further, in step S3302, when it is determined that the program used as the Web service is generated, it is determined that the program used as the Web application and the program used as the Web service are generated, and the program used as the Web service is not generated. In this case, it is a step showing an example of a process of generating a program used as a Web application.

生成する場合はステップS604に進み、生成しない場合は図33の処理を終了する。なお、この判定は、図34のWebサービスを生成するチェックボックス3402がONであれば、生成すると判定する。 If it is generated, the process proceeds to step S604, and if it is not generated, the process of FIG. 33 ends. It should be noted that this determination is determined to be generated if the check box 3402 for generating the Web service in FIG. 34 is ON.

また、チェックボックス3402は、入出力タイプ3401=“IO”(Webアプリケーション用の入出力定義404)の場合のみ表示するようにして、Webアプリケーション用の入出力定義404を用いて、Webサービス定義情報を生成できるようにしてもよい。また、入出力タイプ3401=“IO”以外の場合であっても、入出力定義404を用いてWebサービス定義情報を生成できるものがあれば、チェックボックスを表示するようにしてもよい。 Further, the check box 3402 is displayed only when the input / output type 3401 = "IO" (input / output definition 404 for the Web application), and the input / output definition 404 for the Web application is used to display the Web service definition information. May be able to generate. Further, even if the input / output type is other than 3401 = "IO", a check box may be displayed if there is one that can generate Web service definition information using the input / output definition 404.

なお、本実施形態においては、チェックボックス3402=ONの場合、Webサービス用の入出力定義406を生成することなく、入出力定義404を用いてWebサービス用の入出力定義ソースコードを生成するとしたが、これに限定するものではなく、入出力定義404をコピーしてWebサービス用の入出力定義406を生成し、Webサービス用の入出力定義ソースコードを生成するとしてもよい。これにより、図29のステップS2903〜ステップS2906のように、コピー元となる既存の入出力定義404の指示を受け付け、入出力タイプ=“WEB SERVICE”に変更するといった手間を省くことができる。 In the present embodiment, when the check box 3402 = ON, the input / output definition source code for the Web service is generated using the input / output definition 404 without generating the input / output definition 406 for the Web service. However, the present invention is not limited to this, and the input / output definition 404 may be copied to generate the input / output definition 406 for the Web service, and the input / output definition source code for the Web service may be generated. As a result, as in steps S2903 to S2906 of FIG. 29, it is possible to save the trouble of accepting the instruction of the existing input / output definition 404 as the copy source and changing the input / output type = "WEB SERVICE".

ステップS3303において、プログラム開発装置101は、この入出力定義404を用いて、Webサービス用の入出力定義ソースコードを生成したことを示すフラグをONにし、外部メモリ211に記憶する。 In step S3303, the program development device 101 uses the input / output definition 404 to turn on the flag indicating that the input / output definition source code for the Web service has been generated, and stores the input / output definition source code in the external memory 211.

以上で、図33の説明を終了する。 This is the end of the description of FIG. 33.

以上により、Webアプリケーションの入出力定義情報を用いて、Webサービス定義情報を生成する仕組みを提供することができる。つまり、Webアプリケーションの画面の入出力定義情報を用いて、Webサービス定義情報を生成することができないという問題を解決することができる。つまり、Webアプリケーションの画面の入出力定義情報を用いて、Webサービス定義情報又はWebサービスとして用いられるプログラムを生成することにより、Webアプリケーションを容易にWebサービス化したいという課題を解決することができる。 From the above, it is possible to provide a mechanism for generating Web service definition information by using the input / output definition information of the Web application. That is, it is possible to solve the problem that the Web service definition information cannot be generated by using the input / output definition information on the screen of the Web application. That is, by using the input / output definition information on the screen of the Web application to generate the Web service definition information or the program used as the Web service, it is possible to solve the problem of easily converting the Web application into a Web service.

また、Webアプリケーションの開発フェーズにおいてよくある、画面項目の追加・変更・削除は、Webアプリケーション開発ツールのレイアウトエディタ等を介して、Webアプリケーション画面の入出力項目を直感的に追加・変更・削除することで、Webアプリケーションとして用いられるプログラムだけでなく、Webサービスとして用いられるプログラムにも反映されるため、Webサービスとして用いられるプログラムを容易に生成することができる。
In addition, when adding / changing / deleting screen items, which is common in the development phase of a Web application, the input / output items of the Web application screen are intuitively added / changed / deleted via the layout editor of the Web application development tool. As a result, it is reflected not only in the program used as the Web application but also in the program used as the Web service, so that the program used as the Web service can be easily generated.

〔第3の実施形態〕
第2の実施形態は、Webアプリケーションの入出力定義情報を用いて、Webサービス定義情報を生成することによって、Webアプリケーションの入出力定義情報を用いて、Webサービス定義情報を生成する仕組みであり、第3の実施形態は、入出力定義情報から、Webアプリケーションの入出力定義情報又はWebサービス定義情報を生成することによって、Webアプリケーションの入出力定義情報を用いて、Webサービス定義情報を生成する仕組みである。
[Third Embodiment]
The second embodiment is a mechanism for generating Web service definition information using the input / output definition information of the Web application by generating the Web service definition information using the input / output definition information of the Web application. The third embodiment is a mechanism for generating Web service definition information using the input / output definition information of the Web application by generating the input / output definition information or the Web service definition information of the Web application from the input / output definition information. Is.

図35〜図36を用いて、第3の実施形態を説明する。なお、第3の実施形態では、第2の実施形態における図33のフローチャートを図35に置き換え、第2の実施形態のステップと同じ処理については、同じステップ番号を付与し説明を省略する。
図35は、第3の実施形態に係るソースコード生成のフローチャートの一例を示す図である。図36は、第3の実施形態に係るWebアプリケーション用の入出力定義画面(入出力)3600の一例を示す図である。
A third embodiment will be described with reference to FIGS. 35 to 36. In the third embodiment, the flowchart of FIG. 33 in the second embodiment is replaced with FIG. 35, and the same step numbers are assigned to the same processes as the steps in the second embodiment, and the description thereof will be omitted.
FIG. 35 is a diagram showing an example of a flowchart of source code generation according to the third embodiment. FIG. 36 is a diagram showing an example of the input / output definition screen (input / output) 3600 for the Web application according to the third embodiment.

ステップS3501において、プログラム開発装置101は、既存の入出力定義404に対するユーザの指示を受け付ける。具体的には、図36のWebアプリケーション用の入出力定義名3601の部分で右クリック等の操作を受け付ける。 In step S3501, the program development device 101 receives a user's instruction for the existing input / output definition 404. Specifically, an operation such as right-clicking is accepted at the part of the input / output definition name 3601 for the Web application in FIG.

ステップS3502において、プログラム開発装置101は、コンテキストメニュー3602を表示し、ユーザによる選択を受け付けて判定する。
「Webアプリケーションソースコードを生成する」3603が選択された場合はステップS603に進み、「Webサービスソースコードを生成する」3604が選択された場合はステップS604に進む。
In step S3502, the program development device 101 displays the context menu 3602 and accepts and determines the user's selection.
If "Generate Web application source code" 3603 is selected, the process proceeds to step S603, and if "Generate Web service source code" 3604 is selected, the process proceeds to step S604.

以上で、図36の説明を終了する。 This is the end of the description of FIG. 36.

以上により、Webアプリケーションの入出力定義情報を用いて、Webサービス定義情報を容易に生成する仕組みを提供することができる。つまり、Webアプリケーションの画面の入出力定義情報を用いてWebサービス定義情報又はWebサービスとして用いられるプログラムを生成することにより、Webアプリケーションを容易にWebサービス化したいという課題を解決することができる。
From the above, it is possible to provide a mechanism for easily generating Web service definition information by using the input / output definition information of the Web application. That is, the problem of easily converting the Web application into a Web service can be solved by generating the Web service definition information or the program used as the Web service by using the input / output definition information of the screen of the Web application.

〔第4の実施形態〕
第4の実施形態は、1つの入出力定義情報を、Webアプリケーション用とWebサービス用のように複数の目的のために用いることによって、Webアプリケーションの入出力定義情報を用いて、Webサービス定義情報を生成する仕組みである。
図37〜図38を用いて、第4の実施形態を説明する。なお、第4の実施形態では、第2の実施形態における図33のフローチャートを図37に置き換え、第1の実施形態及び第2の実施形態のステップと同じ処理については、同じステップ番号を付与し説明を省略する。
[Fourth Embodiment]
In the fourth embodiment, the input / output definition information of the Web application is used by using one input / output definition information for a plurality of purposes such as for the Web application and the Web service, and the Web service definition information is used. Is a mechanism to generate.
A fourth embodiment will be described with reference to FIGS. 37 to 38. In the fourth embodiment, the flowchart of FIG. 33 in the second embodiment is replaced with FIG. 37, and the same step numbers are assigned to the same processes as the steps of the first embodiment and the second embodiment. The explanation is omitted.

図37は、第4の実施形態に係るソースコード生成のフローチャートの一例を示す図である。図38は、第4の実施形態に係るWebアプリケーション用の入出力定義画面(項目一覧)3800の一例を示す図である。第4の実施形態では、図38の3801のように、Webサービスに利用する項目にはチェックを入れ、Webサービスに利用せずWebアプリケーションにのみ利用する項目にはチェックを入れないようにする。 FIG. 37 is a diagram showing an example of a flowchart of source code generation according to the fourth embodiment. FIG. 38 is a diagram showing an example of the input / output definition screen (item list) 3800 for the Web application according to the fourth embodiment. In the fourth embodiment, as shown in 3801 of FIG. 38, the items used for the Web service are checked, and the items used only for the Web application without being used for the Web service are not checked.

ステップS3701において、プログラム開発装置101は、ステップS601にて取得した入出力定義404に、Webサービスとして利用する項目があるか否かを判定する。Webサービスとして利用する項目がある場合は、ステップS604(図37)に進み、ステップS701(図7)にてWebサービスに利用する項目(図38の3801)を特定し、ステップS702(図7)にてその特定した項目を用いてWebサービスのインターフェースコードを生成する。Webサービスとして利用する項目がない場合は、ステップS601(図37)に進み、次の入出力定義404を取得する。 In step S3701, the program development device 101 determines whether or not the input / output definition 404 acquired in step S601 has an item to be used as a Web service. If there is an item to be used as a Web service, the process proceeds to step S604 (FIG. 37), the item to be used for the Web service (3801 in FIG. 38) is specified in step S701 (FIG. 7), and step S702 (FIG. 7). The interface code of the Web service is generated using the specified item in. If there is no item to be used as a Web service, the process proceeds to step S601 (FIG. 37) to acquire the next input / output definition 404.

すなわち、ステップS3701は、入出力定義情報のうち、Webサービスとして用いられるプログラムの生成時に用いる入出力定義であると判定した入出力定義情報を用いて、Webサービスとして用いられるプログラムを生成する処理の一例を示すステップである。 That is, step S3701 is a process of generating a program used as a Web service by using the input / output definition information determined to be the input / output definition used at the time of generating the program used as the Web service among the input / output definition information. This is a step showing an example.

以上で、図37、図38の説明を終了する。 This is the end of the description of FIGS. 37 and 38.

以上により、Webアプリケーションの入出力定義情報を用いて、Webサービス定義情報を容易に生成する仕組みを提供することができる。つまり、Webアプリケーションの画面の入出力定義情報を用いてWebサービス定義情報又はWebサービスとして用いられるプログラムを生成することにより、Webアプリケーションを容易にWebサービス化したいという課題を解決することができる。 As described above, it is possible to provide a mechanism for easily generating Web service definition information by using the input / output definition information of the Web application. That is, the problem of easily converting the Web application into a Web service can be solved by generating the Web service definition information or the program used as the Web service by using the input / output definition information on the screen of the Web application.

また、1つの入出力定義情報を、Webアプリケーション用とWebサービス用のように複数の目的のために用いることができるようになるため、Webアプリケーション用の入出力定義情報に項目を追加した場合、対応するWebサービス用の入出力定義情報にも同じ項目を追加しなければならない、といったWebアプリケーションの定義情報とWebサービスの定義情報の管理の煩雑さを解消することができる。よって、Webサービスの開発及び管理が大変という問題を解決することができる。
In addition, since one input / output definition information can be used for multiple purposes such as for a Web application and a Web service, when an item is added to the input / output definition information for a Web application, It is possible to eliminate the complexity of managing the definition information of the Web application and the definition information of the Web service, such that the same item must be added to the input / output definition information for the corresponding Web service. Therefore, it is possible to solve the problem that the development and management of the Web service is difficult.

〔第5の実施形態〕
第1の実施形態は、入出力定義情報の実行形態に従って、Webアプリケーションの入出力定義情報又はWebサービス定義情報を生成することによって、Webアプリケーション開発ツールにおいて、Webサービス定義情報を容易に生成する仕組みであり、第5の実施形態は、複数の入出力定義情報をまとめたリポジトリ(以下、プロジェクトと記す)の実行形態に従って、Webアプリケーションとして用いられるプログラムを生成するか、Webサービスとして用いられるプログラムを生成するかを制御することにより、Webサービスとして用いられるプログラムを容易に生成する仕組みである。
図39〜図40を用いて、第5の実施形態を説明する。なお、第5の実施形態では、第2の実施形態における図33のフローチャートを図39に置き換え、第1の実施形態及び第2の実施形態のステップと同じ処理については、同じステップ番号を付与し説明を省略する。
[Fifth Embodiment]
The first embodiment is a mechanism for easily generating Web service definition information in a Web application development tool by generating input / output definition information or Web service definition information of a Web application according to an execution mode of input / output definition information. In the fifth embodiment, a program used as a Web application is generated or a program used as a Web service is generated according to an execution form of a repository (hereinafter referred to as a project) in which a plurality of input / output definition information is collected. It is a mechanism to easily generate a program used as a Web service by controlling whether to generate it.
A fifth embodiment will be described with reference to FIGS. 39 to 40. In the fifth embodiment, the flowchart of FIG. 33 in the second embodiment is replaced with FIG. 39, and the same step numbers are assigned to the same processes as the steps of the first embodiment and the second embodiment. The explanation is omitted.

図39は、第5の実施形態に係るソースコード生成のフローチャートの一例を示す図である。図40は、第5の実施形態に係るソースコード生成時の確認メッセージの一例を示す図である。
ステップS3901において、プログラム開発装置101は、ソースコード生成の指示を受け付ける。具体的には、WebアプリケーションとWebサービスのどちらのソースコードを生成するかの選択(図40の4001)及びソースコード生成ボタン(図40の4002)の押下を受け付け、「Webアプリケーション」が選択された場合はステップS3902に進み、「Webサービス」が選択された場合はステップS3903に進む。
FIG. 39 is a diagram showing an example of a flowchart for generating source code according to the fifth embodiment. FIG. 40 is a diagram showing an example of a confirmation message at the time of generating the source code according to the fifth embodiment.
In step S3901, the program development device 101 receives an instruction to generate a source code. Specifically, the selection of whether to generate the source code of the Web application or the Web service (4001 in FIG. 40) and the pressing of the source code generation button (4002 in FIG. 40) are accepted, and "Web application" is selected. If so, the process proceeds to step S3902, and if "Web service" is selected, the process proceeds to step S3903.

ステップS3902において、プログラム開発装置101は、RAM202から入出力定義404を取得し、取得した入出力定義404について、それぞれステップS603及びステップS3301を繰り返すことにより、入出力定義404を用いてWebアプリケーション用入出力定義のソースコードを生成する。 In step S3902, the program development device 101 acquires the input / output definition 404 from the RAM 202, and repeats step S603 and step S3301 for the acquired input / output definition 404, respectively, thereby using the input / output definition 404 for the Web application. Generate the source code of the output definition.

ステップS3903において、プログラム開発装置101は、RAM202から入出力定義404を取得し、取得した入出力定義404について、それぞれステップS604及びステップS3303を繰り返すことにより、Webサービス用入出力定義のソースコードを生成する。 In step S3903, the program development device 101 acquires the input / output definition 404 from the RAM 202, and generates the source code of the input / output definition for the Web service by repeating steps S604 and S3303 for the acquired input / output definition 404, respectively. To do.

なお、本実施形態においては、図40の4001でWebアプリケーションとWebサービスのどちらのソースコードを生成するかの選択と受け付けるとしたが、これに限定するものではなく、例えば、WebアプリケーションとWebサービスの両方のソースコードを生成するという選択肢があってもよい。この場合、ステップS3902及びステップS3903の両方の処理を実行することより、WebアプリケーションとWebサービスの両方のソースコードを生成する。 In the present embodiment, 4001 of FIG. 40 indicates that the source code of the Web application or the Web service is to be generated and accepted, but the present invention is not limited to this, and for example, the Web application and the Web service. You may have the option of generating both source code. In this case, the source code of both the Web application and the Web service is generated by executing both the processes of step S3902 and step S3903.

以上で、図39、図40の説明を終了する。
以上により、プロジェクトの実行形態に従って、Webアプリケーションとして用いられるプログラムを生成するか、Webサービスとして用いられるプログラムを生成するかを制御することにより、Webサービスとして用いられるプログラムを容易に生成することができる。
This is the end of the description of FIGS. 39 and 40.
From the above, the program used as the Web service can be easily generated by controlling whether to generate the program used as the Web application or the program used as the Web service according to the execution form of the project. ..

つまり、第1の実施形態のような個々の入出力定義情報の実行形態に従って、Webアプリケーションの入出力定義情報又はWebサービス定義情報を生成する方法と比べて、第5の実施形態は、プロジェクトの実行形態に従って、プロジェクト全体の入出力定義情報を用いてWebアプリケーションの入出力定義情報又はWebサービス定義情報を一括して生成することが可能であるため、入出力定義情報の管理の煩雑さを解消することができる。
よって、入出力定義情報には複数の定義項目が存在するため、Webサービスの開発者がそれらを誤りなく設定しなければならないため設定ミスが生じやすく、Webアプリケーションとの整合性も取りづらいため、Webサービスの開発及び管理が大変という問題を解決することができる。
That is, the fifth embodiment is a project, as compared with the method of generating the input / output definition information or the Web service definition information of the Web application according to the execution form of the individual input / output definition information as in the first embodiment. Since it is possible to collectively generate the input / output definition information or the Web service definition information of the Web application using the input / output definition information of the entire project according to the execution mode, the complexity of managing the input / output definition information is eliminated. can do.
Therefore, since there are multiple definition items in the input / output definition information, the developer of the Web service must set them without error, so setting mistakes are likely to occur and it is difficult to maintain consistency with the Web application. It is possible to solve the problem that the development and management of Web services are difficult.

〔第6の実施形態〕
第1の実施形態(特に、図30及び図31)は、Webアプリケーション用の入出力定義404をコピーしてWebサービス用の入出力定義406を作成した場合、その一方の編集内容をもう一方に反映させることによって、Webアプリケーション開発ツールにおいて、Webサービス定義情報を容易に生成する仕組みであり、第6の実施形態は、Webアプリケーション用の入出力定義404又はWebサービス用の入出力定義406を編集した場合に、同じプロジェクト内の他の入出力定義にその編集内容を反映させることにより、Webサービスとして用いられるプログラムを容易に生成する仕組みである。
[Sixth Embodiment]
In the first embodiment (particularly, FIGS. 30 and 31), when the input / output definition 404 for the Web application is copied to create the input / output definition 406 for the Web service, the edited content of one of them is changed to the other. By reflecting this, the Web application development tool can easily generate Web service definition information. In the sixth embodiment, the input / output definition 404 for the Web application or the input / output definition 406 for the Web service is edited. In that case, by reflecting the edited contents in other input / output definitions in the same project, it is a mechanism to easily generate a program used as a Web service.

図41〜図42を用いて、第6の実施形態を説明する。
図41は、第6の実施形態に係る入出力定義編集のフローチャートの一例を示す図である。図42は、第6の実施形態に係る入出力定義編集時の確認メッセージの一例を示す図である。
A sixth embodiment will be described with reference to FIGS. 41 to 42.
FIG. 41 is a diagram showing an example of a flowchart of input / output definition editing according to the sixth embodiment. FIG. 42 is a diagram showing an example of a confirmation message at the time of editing the input / output definition according to the sixth embodiment.

ステップS4101において、プログラム開発装置101は、入出力定義404の編集を受け付ける。具体的には、図38の各項目の値について、ユーザの編集を受け付ける。すなわち、ステップS4101は、入出力定義情報の設定の変更を受け付ける処理の一例を示すステップである。 In step S4101, the program development device 101 accepts editing of the input / output definition 404. Specifically, the user edits the value of each item in FIG. 38. That is, step S4101 is a step showing an example of a process of accepting a change in the setting of the input / output definition information.

ステップS4102において、プログラム開発装置101は、ステップS4101にて受け付けた編集内容が「Webサービスとして利用する」チェックボックス3801の値変更か否かを判定し、OFFからONに変更された場合はステップS4103に進み、ONからOFFに変更された場合はステップS4104に進み、変更されなかった場合は図41の入出力定義編集を終了する。 In step S4102, the program development device 101 determines whether or not the edited content received in step S4101 is a value change of the "use as Web service" check box 3801, and if it is changed from OFF to ON, step S4103. If it is changed from ON to OFF, the process proceeds to step S4104, and if it is not changed, the input / output definition editing of FIG. 41 is finished.

ステップS4103において、プログラム開発装置101は、ステップS4102にて「Webサービスとして利用する」チェックボックス3801の値をOFFからONに変更された入出力項目が同プロジェクト内の他の入出力定義404に「Webサービスとして利用する」チェックボックス3801=OFFとして存在するか否かを判定し、存在する場合はステップS4105に進み、存在しない場合は図41の入出力定義編集を終了する。 In step S4103, the program development device 101 changes the value of the "Use as Web service" check box 3801 from OFF to ON in step S4102, and the input / output item is changed to another input / output definition 404 in the same project. It is determined whether or not it exists with the "Use as Web service" check box 3801 = OFF, and if it exists, the process proceeds to step S4105, and if it does not exist, the input / output definition editing of FIG. 41 ends.

例えば、図38の項目コード=“ITEM_KEY”の入出力項目の「Webサービスとして利用する」チェックボックス3801の値をOFFからONに変更された場合、同プロジェクト内の他の入出力定義404に項目コード=“ITEM_KEY”&「Webサービスとして利用する」チェックボックス3801=“OFF”の入力項目が存在するか否かを判定する。 For example, when the value of the "Use as Web service" check box 3801 of the input / output item of the item code = "ITEM_KEY" in FIG. 38 is changed from OFF to ON, the item is changed to another input / output definition 404 in the same project. It is determined whether or not there is an input item of code = "ITEM_KEY" & "use as Web service" check box 3801 = "OFF".

ステップS4104において、プログラム開発装置101は、ステップS4104にて「Webサービスとして利用する」チェックボックス3801の値をONからOFFに変更された入出力項目が同プロジェクト内の他の入出力定義404に「Webサービスとして利用する」チェックボックス3801=ONとして存在するか否かを判定し、存在する場合はステップS4106に進み、存在しない場合は図41の入出力定義編集を終了する。 In step S4104, the program development device 101 changes the value of the "Use as Web service" check box 3801 from ON to OFF in step S4104, and the input / output item is changed to another input / output definition 404 in the same project. It is determined whether or not it exists as the "Use as Web service" check box 3801 = ON, and if it exists, the process proceeds to step S4106, and if it does not exist, the input / output definition editing of FIG. 41 ends.

例えば、図38の項目コード=“ITEM_VALUE”の入出力項目の「Webサービスとして利用する」チェックボックス3801の値をONからOFFに変更された場合、同プロジェクト内の他の入出力定義404に項目コード=“ITEM_VALUE”&「Webサービスとして利用する」チェックボックス3801=“ON”の入力項目が存在するか否かを判定する。 For example, when the value of the "Use as Web service" check box 3801 of the input / output item of the item code = "ITEM_VALUE" in FIG. 38 is changed from ON to OFF, the item is set in another input / output definition 404 in the same project. It is determined whether or not the input item of the code = "ITEM_VALUE" & "Use as Web service" check box 3801 = "ON" exists.

ステップS4105において、プログラム開発装置101は、確認メッセージ4200(図42)を表示し、ステップS4103にて存在すると判定された他の入出力定義404を更新するか否かの指示を受け付ける。「OK」の場合はステップS4107に進み、「キャンセル」の場合は図30の処理を終了する。 In step S4105, the program development apparatus 101 displays a confirmation message 4200 (FIG. 42) and receives an instruction as to whether or not to update another input / output definition 404 determined to exist in step S4103. If "OK", the process proceeds to step S4107, and if "Cancel", the process of FIG. 30 ends.

ステップS4106において、プログラム開発装置101は、確認メッセージ4200(図42)を表示し、ステップS4104にて存在すると判定された他の入出力定義404を更新するか否かの指示を受け付ける。「OK」の場合はステップS4108に進み、「キャンセル」の場合は図30の処理を終了する。 In step S4106, the program development device 101 displays a confirmation message 4200 (FIG. 42) and receives an instruction as to whether or not to update another input / output definition 404 determined to exist in step S4104. If "OK", the process proceeds to step S4108, and if "Cancel", the process of FIG. 30 ends.

すなわち、ステップS4105及びステップS4106は、設定の変更を受け付けた入出力定義情報の入出力定義が他の入出力定義情報に存在する場合、ユーザに通知する処理の一例を示すステップである。 That is, steps S4105 and S4106 are steps showing an example of a process of notifying the user when the input / output definition of the input / output definition information for which the setting change has been accepted exists in other input / output definition information.

ステップS4107において、プログラム開発装置101は、ステップS4103にて存在すると判定された他の入出力定義404の入出力定義を、ステップS4101にて受け付けた編集内容で更新し、外部メモリ211に記憶する。 In step S4107, the program development device 101 updates the input / output definitions of the other input / output definitions 404 determined to exist in step S4103 with the edited contents received in step S4101, and stores them in the external memory 211.

ステップS4108において、プログラム開発装置101は、ステップS4104にて存在すると判定された他の入出力定義404の入出力定義をステップS4101にて受け付けた編集内容で更新し、外部メモリ211に記憶する。 In step S4108, the program development device 101 updates the input / output definitions of the other input / output definitions 404 determined to exist in step S4104 with the edited contents received in step S4101, and stores them in the external memory 211.

以上で、図41の説明を終了する。 This is the end of the description of FIG. 41.

なお、本実施形態においては、入出力項目の編集内容の例として「Webサービスとして利用する」チェックボックス3801の値変更を挙げたが、これに限定するものではなく、入出力項目の他の項目値の変更であってもよい。 In the present embodiment, the value change of the "Use as Web service" check box 3801 is given as an example of the edited contents of the input / output items, but the value is not limited to this, and other items of the input / output items are not limited to this. The value may be changed.

以上により、Webアプリケーション用の入出力定義404のWebサービスに係る設定を編集した場合、他の入出力定義404に対して、その編集内容を容易に反映させることができる。
つまり、Webアプリケーションの要件変更に伴い、Webアプリケーションの画面項目の編集する(例えば、Webアプリケーションの画面における既存の入出力項目を新たにWebサービスとしても利用したい)場合、Webアプリケーションの「登録画面」の入出力定義だけでなく、「更新画面」「検索画面」「検索結果画面」など他の画面の入出力定義に対してもWebサービスの入出力定義として利用できるよう反映させなければならず、編集作業が繁雑であるという問題を解決することができる。
As described above, when the setting related to the Web service of the input / output definition 404 for the Web application is edited, the edited content can be easily reflected in the other input / output definition 404.
In other words, when editing the screen items of the Web application (for example, you want to use the existing input / output items on the screen of the Web application as a new Web service) due to the change of the requirements of the Web application, the "registration screen" of the Web application. Not only the input / output definition of, but also the input / output definition of other screens such as "update screen", "search screen", and "search result screen" must be reflected so that it can be used as the input / output definition of the Web service. It can solve the problem that the editing work is complicated.

また、Webアプリケーションの画面において新たな入出力項目を追加し、その入出力項目をWebサービスとしても利用したい場合も、同様の問題を解決することができる。 Further, when a new input / output item is added on the screen of the Web application and the input / output item is to be used as a Web service, the same problem can be solved.

よって、Webアプリケーション用の入出力定義情報に項目を追加した場合、対応するWebサービス用の入出力定義情報にも同じ項目を追加しなければならない、といったWebアプリケーションの定義情報とWebサービスの定義情報の管理の煩雑さを解消することができる。よって、Webサービスの開発及び管理が大変という問題を解決することができる。 Therefore, when an item is added to the input / output definition information for a Web application, the same item must be added to the input / output definition information for the corresponding Web service. Web application definition information and Web service definition information It is possible to eliminate the complexity of management. Therefore, it is possible to solve the problem that the development and management of the Web service is difficult.

以上により、Webアプリケーション開発ツールにおいて、Webサービスとして用いられるプログラムを容易に生成することができる。また、Webアプリケーションの入出力定義情報を用いて、Webサービス定義情報を容易に生成することができる。つまり、Webアプリケーションの画面の入出力定義情報を用いて、Webサービス定義情報又はWebサービスとして用いられるプログラムを生成することにより、Webアプリケーションを容易にWebサービス化したいという課題を解決することができる。
As described above, the program used as the Web service can be easily generated in the Web application development tool. Further, the Web service definition information can be easily generated by using the input / output definition information of the Web application. That is, by using the input / output definition information on the screen of the Web application to generate the Web service definition information or the program used as the Web service, it is possible to solve the problem of easily converting the Web application into a Web service.

図43は、第1〜6の実施形態に係る定義ファイル一覧画面の一例を示す図である。
定義ファイル一覧4310は、第1の実施形態に係る定義ファイル一覧画面である。第1の実施形態では、Webアプリケーション用の入出力定義404をコピーしてWebサービス用の入出力定義406を作成するため、入出力定義ファイルを4311のようにWebアプリケーション用の場合は“A”、Webサービス用の場合は“S”と表示する。
FIG. 43 is a diagram showing an example of the definition file list screen according to the first to sixth embodiments.
The definition file list 4310 is a definition file list screen according to the first embodiment. In the first embodiment, since the input / output definition 404 for the Web application is copied to create the input / output definition 406 for the Web service, the input / output definition file is "A" for the Web application such as 4311. , For Web services, it is displayed as "S".

定義ファイル一覧4320は、第2〜6の実施形態に係る定義ファイル一覧画面である。第2〜6の実施形態では、Webアプリケーション用の入出力定義404をWebサービス用の入出力定義406として利用するため、入出力定義ファイルを4321のようにWebアプリケーション用の場合は“A”、Webアプリケーション・Webサービスで共用する場合は“AS”と表示する。 The definition file list 4320 is a definition file list screen according to the second to sixth embodiments. In the second to sixth embodiments, since the input / output definition 404 for the Web application is used as the input / output definition 406 for the Web service, the input / output definition file is "A" for the Web application such as 4321. When shared by a Web application / Web service, "AS" is displayed.

これにより、第1〜6の実施形態において、入出力定義を「Webアプリケーション用」、「Webサービス用」及び「Webアプリケーション・Webサービス共用」で容易に識別することができるため、Webアプリケーション又はWebサービスの開発者による入出力定義の設定ミスや設定不整合による、Webサービスの開発及び管理が大変という問題を解決することができる。
以上で、図43の説明を終了する。
As a result, in the first to sixth embodiments, the input / output definitions can be easily identified by "for Web application", "for Web service", and "Web application / Web service sharing", so that the Web application or Web can be easily identified. It is possible to solve the problem that it is difficult to develop and manage the Web service due to the setting error or setting inconsistency of the input / output definition by the service developer.
This is the end of the description of FIG. 43.

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

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

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。 Recording media for supplying programs include, for example, flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, DVD-ROMs, magnetic tapes, non-volatile memory cards, ROMs, EEPROMs, and silicon. A disk or the like can be used.

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

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

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

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

さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。 Further, by downloading and reading a program for achieving the present invention from a server, database, or the like on the network by a communication program, the system or device can enjoy the effect of the present invention. It should be noted that all the configurations in which the above-described embodiments and modifications thereof are combined are also included in the present invention.

101 プログラム開発装置
102 プログラム開発サーバ
103 データベースサーバ
104 アプリケーションクライアント
105 アプリケーションサーバ
106 ネットワーク
101 Program development device 102 Program development server 103 Database server 104 Application client 105 Application server 106 Network

Claims (9)

Webアプリケーションとして用いられるプログラムを生成する情報処理装置であって、
前記Webアプリケーションの画面を介して入力される入力定義情報と、前記画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する入出力定義管理手段と、
Webサービスとして用いられるプログラムの生成指示を受け付ける指示受付手段と、
前記指示受付手段により受け付けた生成指示に従って、前記入出力定義管理手段により管理されている入力定義情報と出力定義情報とを用いて、前記Webサービスの利用に必要なインタフェースの定義情報及び当該Webサービスとして用いられるプログラムを生成するプログラム生成手段と
を備えることを特徴とする情報処理装置。
An information processing device that generates programs used as Web applications.
Input / output definition management means that manages input definition information input via the screen of the Web application and output definition information that defines items to be output to the screen as input / output definition information.
An instruction receiving means for receiving a program generation instruction used as a Web service,
According to the generation instruction received by the instruction receiving means, the interface definition information necessary for using the Web service and the Web service are used by using the input definition information and the output definition information managed by the information processing definition management means. An information processing apparatus including a program generating means for generating a program used as an interface.
前記プログラム生成手段は、
前記入出力定義管理手段により管理されている入力定義情報と出力定義情報のうち、前記Webサービスに必要な情報を用いて、前記Webサービスに用いられるプログラムを生成すること
を特徴とする請求項1に記載の情報処理装置。
The program generation means
Claim 1 is characterized in that a program used for the Web service is generated by using the information necessary for the Web service among the input definition information and the output definition information managed by the information processing definition management means. The information processing device described in.
前記入出力定義管理手段により管理されている入力定義情報と出力定義情報とを用いて、前記Webサービスに用いられるプログラムを生成するか否かを判定する判定手段を更に備え、
前記プログラム生成手段は、
前記判定手段により、前記Webサービスに用いられるプログラムを生成すると判定した場合は、前記Webアプリケーションに用いられるプログラムと前記Webサービスに用いられるプログラムとを生成し、前記Webサービスに用いられるプログラムを生成しないと判定した場合は、前記Webアプリケーションに用いられるプログラムを生成すること
を特徴とする請求項1または2に記載の情報処理装置。
Further provided with a determination means for determining whether or not to generate a program used for the Web service by using the input definition information and the output definition information managed by the input / output definition management means.
The program generation means
When it is determined by the determination means that the program used for the Web service is to be generated, the program used for the Web application and the program used for the Web service are generated, and the program used for the Web service is not generated. The information processing apparatus according to claim 1 or 2, wherein if it is determined, a program used for the Web application is generated.
前記入出力定義管理手段により管理されている入出力定義情報の設定を受け付ける設定受付手段を更に備え、
前記設定受付手段により設定を受け付けた入力定義情報は、前記Webサービスを利用するユーザによって画面から入力される値を表す文字列を含み、
前記設定受付手段により設定を受け付けた出力定義情報は、前記Webサービスを利用した結果、取得される値を表す文字列を含むこと
を特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
Further provided with a setting receiving means for receiving the setting of the input / output definition information managed by the input / output definition management means.
The input definition information for which the setting has been accepted by the setting receiving means includes a character string representing a value input from the screen by the user who uses the Web service.
The output definition information for which a setting has been received by the setting receiving means includes a character string representing a value acquired as a result of using the Web service, according to any one of claims 1 to 3. Information processing device.
前記Webサービスに用いられるプログラムを生成するルールを記憶する記憶手段を更に備え、
前記プログラム生成手段は、
前記設定受付手段により設定を受け付けた入力定義情報に含まれる前記Webサービスを利用するユーザによって画面から入力される値を表す文字列、および前記設定受付手段により設定を受け付けた出力定義情報に含まれる前記Webサービスを利用した結果、取得される値を表す文字列のうち少なくとも一方と、前記記憶手段に記憶されているルールを用いて、前記Webサービスの利用に必要なインタフェースとなるメッセージを生成し、当該メッセージを含むXMLファイルを生成すること
を特徴とする請求項4に記載の情報処理装置。
A storage means for storing a rule for generating a program used for the Web service is further provided.
The program generation means
It is included in the character string representing the value input from the screen by the user who uses the Web service included in the input definition information for which the setting is accepted by the setting receiving means, and in the output definition information for which the setting is accepted by the setting receiving means. Using at least one of the character strings representing the values acquired as a result of using the Web service and the rules stored in the storage means, a message serving as an interface necessary for using the Web service is generated. The information processing apparatus according to claim 4, wherein an XML file including the message is generated.
前記入出力定義管理手段により管理されている入出力定義情報に基づき、新たな入出力定義情報を生成する入出力定義生成手段と、
前記入出力定義生成手段により生成された入出力定義情報と、当該入出力定義情報の生成の基となった入出力定義情報とを関連付けて管理する対応付管理手段と、
前記入出力定義管理手段により管理されている入出力定義情報の設定の変更を受け付ける設定変更受付手段と、
前記設定変更受付手段により設定の変更を受け付けた入出力定義情報が前記対応付管理手段により他の入出力定義情報と対応付けて管理されている場合、ユーザに通知する通知手段と
を備えることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
An input / output definition generation means that generates new input / output definition information based on the input / output definition information managed by the input / output definition management means, and
Corresponding management means that manages the input / output definition information generated by the input / output definition generation means in association with the input / output definition information that is the basis for generating the input / output definition information.
A setting change receiving means that accepts a change in the setting of the input / output definition information managed by the input / output definition management means, and a setting change receiving means.
When the input / output definition information for which the setting change has been received by the setting change receiving means is managed in association with other input / output definition information by the corresponding management means, it is provided with a notification means for notifying the user. The information processing apparatus according to any one of claims 1 to 5, which is characterized.
前記入出力定義管理手段は、
管理する入出力定義情報について、前記Webサービスに用いられるプログラムの生成時に用いる入出力定義情報か否かのフラグを持ち、
前記プログラム生成手段は、
前記入出力定義管理手段により管理されている入出力定義情報のうち、前記フラグに従って、前記Webサービスに用いられるプログラムの生成時に用いる入出力定義であると判定した入出力定義情報を用いて、前記Webサービスに用いられるプログラムを生成すること
を特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
The input / output definition management means
The input / output definition information to be managed has a flag as to whether or not it is the input / output definition information used when generating the program used for the Web service.
The program generation means
Among the input / output definition information managed by the input / output definition management means, the input / output definition information determined to be the input / output definition used at the time of generating the program used for the Web service according to the flag is used. The information processing apparatus according to any one of claims 1 to 5, wherein a program used for a Web service is generated.
Webアプリケーションとして用いられるプログラムを生成する情報処理装置における処理方法であって、
前記情報処理装置が、
前記Webアプリケーションの画面を介して入力される入力定義情報と、前記画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する入出力定義管理ステップと、
Webサービスとして用いられるプログラムの生成指示を受け付ける指示受付ステップと、
前記指示受付ステップにより受け付けた生成指示に従って、前記入出力定義管理ステップにより管理されている入力定義情報と出力定義情報とを用いて、前記Webサービスの利用に必要なインタフェースの定義情報及び当該Webサービスとして用いられるプログラムを生成するプログラム生成ステップと
を実行することを特徴とする処理方法。
A processing method in an information processing device that generates a program used as a Web application.
The information processing device
An input / output definition management step that manages input definition information input via the screen of the Web application and output definition information that defines items to be output to the screen as input / output definition information.
An instruction reception step that accepts instructions for generating a program used as a Web service,
According to the generation instruction received by the instruction receiving step, the interface definition information necessary for using the Web service and the Web service are used by using the input definition information and the output definition information managed by the input / output definition management step. A processing method characterized by executing a program generation step for generating a program used as.
Webアプリケーションとして用いられるプログラムを生成する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
前記Webアプリケーションの画面を介して入力される入力定義情報と、前記画面に出力する項目を定義する出力定義情報とを入出力定義情報として管理する入出力定義管理手段と、
Webサービスとして用いられるプログラムの生成指示を受け付ける指示受付手段と、
前記指示受付手段により受け付けた生成指示に従って、前記入出力定義管理手段により管理されている入力定義情報と出力定義情報とを用いて、前記Webサービスの利用に必要なインタフェースの定義情報及び当該Webサービスとして用いられるプログラムを生成するプログラム生成手段
として機能させることを特徴とするプログラム。
A program that can be executed by an information processing device that generates a program used as a Web application.
The information processing device
Input / output definition management means that manages input definition information input via the screen of the Web application and output definition information that defines items to be output to the screen as input / output definition information.
An instruction receiving means for receiving a program generation instruction used as a Web service,
According to the generation instruction received by the instruction receiving means, the interface definition information necessary for using the Web service and the Web service are used by using the input definition information and the output definition information managed by the input / output definition management means. A program characterized in that it functions as a program generation means for generating a program used as a.
JP2020111080A 2016-03-09 2020-06-29 Information processing equipment and its processing method and program Active JP7004930B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2016046334 2016-03-09
JP2016046334 2016-03-09
JP2016129680 2016-06-30
JP2016129680 2016-06-30

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017244110A Division JP6730633B2 (en) 2016-03-09 2017-12-20 Information processing apparatus, processing method thereof, and program

Publications (3)

Publication Number Publication Date
JP2020170530A true JP2020170530A (en) 2020-10-15
JP2020170530A5 JP2020170530A5 (en) 2020-11-26
JP7004930B2 JP7004930B2 (en) 2022-01-21

Family

ID=60995591

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2017045391A Active JP6264487B2 (en) 2016-03-09 2017-03-09 Information processing apparatus, processing method thereof, and program
JP2017244110A Active JP6730633B2 (en) 2016-03-09 2017-12-20 Information processing apparatus, processing method thereof, and program
JP2020111080A Active JP7004930B2 (en) 2016-03-09 2020-06-29 Information processing equipment and its processing method and program

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2017045391A Active JP6264487B2 (en) 2016-03-09 2017-03-09 Information processing apparatus, processing method thereof, and program
JP2017244110A Active JP6730633B2 (en) 2016-03-09 2017-12-20 Information processing apparatus, processing method thereof, and program

Country Status (1)

Country Link
JP (3) JP6264487B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022101740A (en) * 2020-12-25 2022-07-07 キヤノンマーケティングジャパン株式会社 Information processing apparatus, information processing method, and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006163855A (en) * 2004-12-08 2006-06-22 Hitachi Software Eng Co Ltd Web application development support device, and development support method
US20080082987A1 (en) * 2006-08-18 2008-04-03 International Business Machines Corporation Method and System for Integrating the Existing Web-Based Syswtem
JP2008134906A (en) * 2006-11-29 2008-06-12 Hitachi Ltd Business process definition generation method, device and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7992127B2 (en) * 2004-12-23 2011-08-02 International Business Machines Corporation Method and system of encapsulating web site transactions for computer-aided generation of web services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006163855A (en) * 2004-12-08 2006-06-22 Hitachi Software Eng Co Ltd Web application development support device, and development support method
US20080082987A1 (en) * 2006-08-18 2008-04-03 International Business Machines Corporation Method and System for Integrating the Existing Web-Based Syswtem
JP2008134906A (en) * 2006-11-29 2008-06-12 Hitachi Ltd Business process definition generation method, device and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022101740A (en) * 2020-12-25 2022-07-07 キヤノンマーケティングジャパン株式会社 Information processing apparatus, information processing method, and program
JP7381900B2 (en) 2020-12-25 2023-11-16 キヤノンマーケティングジャパン株式会社 Information processing system, its control method and program

Also Published As

Publication number Publication date
JP2018010614A (en) 2018-01-18
JP7004930B2 (en) 2022-01-21
JP6264487B2 (en) 2018-01-24
JP2018067345A (en) 2018-04-26
JP6730633B2 (en) 2020-07-29

Similar Documents

Publication Publication Date Title
US20180101371A1 (en) Deployment manager
US20210208854A1 (en) System and method for enhancing component based development models with auto-wiring
US9003433B2 (en) Off-premise and codeless process-centric business mashup to integrate BPEL based processes and web 2.0 widgets
JP6332533B2 (en) Information processing apparatus, processing method thereof, and program
JP6002302B2 (en) Web application generation system, Web application generation system control method, Web application generation system program, Web application generation device, Web application generation device control method, and Web application generation device program
JP7004930B2 (en) Information processing equipment and its processing method and program
Ghielmini et al. Virtual Factory Manager for semantic data handling
JP7014960B2 (en) Information processing equipment, servers, their processing methods and programs
JP6730632B2 (en) Information processing apparatus, processing method thereof, and program
KR102397494B1 (en) Low code web development and operating system, and service method using of it
JP6697168B2 (en) Information processing apparatus, processing method thereof, and program
CN112418796B (en) Sub-process task node activation method and device, electronic equipment and storage medium
JP6264399B2 (en) Information processing apparatus, processing method thereof, and program
JP6256535B2 (en) Information processing apparatus, processing method thereof, and program
US20200310787A1 (en) Code management system and code management method
JP7060788B2 (en) Information processing equipment, information processing equipment control methods, and computer programs
JP2006236375A (en) Web application development method, development support system, and program about development method
JP4894534B2 (en) Generator service providing system, design information reuse and storage method, and generator service program
WO2023162260A1 (en) Environment construction assistance device, system, and method, and computer-readable medium
KR102382703B1 (en) Multi-Channel Integration Platform Authoring Device and Method Thereby
JP6652724B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP2019012469A (en) Server, processing method thereof, and program
Hodel Integration with Third-Party Tools
JP5629355B1 (en) Source program generation device and source program generation program
CN115145555A (en) Data processing method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211015

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211213