JP4201206B2 - CGI program creation method, recording medium recording program according to the method, and CGI program creation device - Google Patents
CGI program creation method, recording medium recording program according to the method, and CGI program creation device Download PDFInfo
- Publication number
- JP4201206B2 JP4201206B2 JP2005254203A JP2005254203A JP4201206B2 JP 4201206 B2 JP4201206 B2 JP 4201206B2 JP 2005254203 A JP2005254203 A JP 2005254203A JP 2005254203 A JP2005254203 A JP 2005254203A JP 4201206 B2 JP4201206 B2 JP 4201206B2
- Authority
- JP
- Japan
- Prior art keywords
- cgi
- html
- program
- source
- cgi program
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
本発明は、WWWサーバ上で動作するCGIプログラム作成方法に関する。 The present invention relates to a method for creating a CGI program that operates on a WWW server.
近年、WWW(World Wide Web)上での情報交換の需要は高まるばかりである。WWW上での基本的な情報のやりとりは、WWWサーバからWWWブラウザと呼ばれるクライアントに“ホームページ”と呼ばれるドキュメントを転送することにより行われる。ホームページとは、HTML(HyperText Markup Language)と呼ばれる言語で記述されたテキストファイルである。以下、HTMLにしたがって記述されたテキストデータを「HTML」と呼ぶものとする。WWWブラウザは、受け取ったHTMLを解析し、グラフィカルなページをディスプレイ上に出力する。 In recent years, the demand for information exchange on the WWW (World Wide Web) has been increasing. Basic information exchange on the WWW is performed by transferring a document called “homepage” from a WWW server to a client called a WWW browser. The home page is a text file described in a language called HTML (HyperText Markup Language). Hereinafter, text data described in accordance with HTML is referred to as “HTML”. The WWW browser analyzes the received HTML and outputs a graphical page on the display.
また、ユーザは、WWWブラウザに対して文字列などの入力を行うこともできる。この場合、WWWサーバ側は、WWWブラウザから入力された文字列などを受け取り、その入力データに応じてデータベース検索などの処理をし、その処理の結果を示すHTMLをWWWブラウザに返す、というような処理が要求される。このような要求の実現方法として、CGI(Common Gateway Interface)を利用することが多い。 The user can also input a character string or the like to the WWW browser. In this case, the WWW server side receives a character string or the like input from the WWW browser, performs processing such as database search according to the input data, and returns HTML indicating the result of the processing to the WWW browser. Processing is required. As a method for realizing such a requirement, CGI (Common Gateway Interface) is often used.
CGIは、WWWサーバのあるサーバマシン上のリソースとのインタフェースであり、WWWサーバとサーバマシン上のアプリケーションとの間での情報のやりとりの方法を規定している。CGIを利用してWWWサーバと情報をやりとりするアプリケーションプログラムを、CGIプログラムという。CGIプログラムは汎用的なプログラミング言語で作成することができる。上に述べたCGIプログラムについては、例えば、非特許文献1:William E.Weinman著 笹木望監訳 1997/1 インプレス発行「CGIブック」に詳しく記述されている。 CGI is an interface with a resource on a server machine having a WWW server, and defines a method for exchanging information between the WWW server and an application on the server machine. An application program that uses CGI to exchange information with a WWW server is referred to as a CGI program. A CGI program can be created in a general-purpose programming language. The CGI program described above is described in detail in, for example, Non-Patent Document 1: William E. Weinman, translated by Nozomi Kashiwagi, 1997/1 Impress's “CGI Book”.
図1に、公知例としてCGIプログラムを用いたクライアントとサーバとのやり取りを表す構成図を示す。WWWブラウザ101から、CGIプログラム実行要求とユーザによりブラウザ101に入力された情報102(規定されたフォーマットの文字列にまとめられている)とを受け取ったWWWサーバ103は、CGIプログラム104を起動する。CGIプログラム104は、WWWサーバ103から渡された情報105(ユーザ入力情報102と同じ)を元に処理を行い、HTML106を出力する。WWWサーバ103は、出力のHTML106を受け取り、WWWブラウザにHTML107(HTML106と同じ)を送信する。
FIG. 1 is a block diagram showing an exchange between a client and a server using a CGI program as a known example. The
CGIプログラムは通常、以下の(1)〜(3)のような処理を行う。
(1)WWWサーバから受け取った文字列の解析
WWWブラウザは、ユーザが入力した情報などを、制御コードを付加するなどして1つの文字列にまとめて、WWWサーバに送信する。WWWサーバはその文字列をそのままCGIプログラムに渡すため、CGIプログラムでは、制御コードを除去するなどしてその文字列を解析し、ユーザが入力した情報に変換する。
(2)ユーザの入力に応じた処理
文字列を解析した結果ユーザの入力情報内容が明らかになるので、それに応じた処理を行う。例えば、ユーザが“Tom”という個人名を入力した場合、Tomに関する情報をデータベースから検索するなどの処理を行う。
(3)HTML出力
上記(2)の処理に応じたHTMLを出力する。例えば、上記の例でTomの個人情報を検索して得た場合に、その個人情報を見やすいように配置したHTMLとして出力するなどである。
The CGI program normally performs the following processes (1) to (3).
(1) Analysis of character string received from WWW server The WWW browser collects information input by the user into a single character string by adding a control code or the like, and transmits it to the WWW server. Since the WWW server passes the character string to the CGI program as it is, the CGI program analyzes the character string by removing the control code or the like, and converts it into information input by the user.
(2) Processing according to user input As a result of analyzing the character string, the contents of the input information of the user are clarified. For example, when the user inputs the personal name “Tom”, processing such as searching for information on Tom from the database is performed.
(3) HTML output An HTML corresponding to the process (2) is output. For example, when Tom's personal information is retrieved in the above example, it is output as HTML arranged so that the personal information can be easily seen.
一般に、HTMLの出力部分は、CGIプログラムを記述するプログラミング言語の標準出力構文内に埋められた構造になる。図2に、COBOLによるCGIプログラムのHTML出力部分のコード例201を示す。このコード例201において、“IDENTIFICATION DIVISION”の行およびその次の“PROGRAM−ID”の行は、見出し部である。次の“ENVIRONMENT DIVISION”の行は環境部であり、その次の“DATA DIVISION”行からの何行かはデータ部であり、“PROCEDURE DIVISION”行からこのプログラムの“END”の前までが構成部(手続き部)である。構成部の中のDISPLAY文が標準出力を行う文で、HTMLを出力するのに用いている。これら各部はCOBOLの仕様で記述されている。 In general, the output portion of HTML has a structure embedded in the standard output syntax of a programming language describing a CGI program. FIG. 2 shows a code example 201 of the HTML output portion of the CGI program by COBOL. In this code example 201, the line “IDENTIFICATION DIVISION” and the next line “PROGRAM-ID” are headings. The next “ENVIRONMENT DIVISION” line is the environment part, the next several lines from the “DATA DIVISION” line are the data part, and the part from “PROCEDURE DIVISION” line to the part before “END” of this program (Procedure Department). The DISPLAY statement in the composition part is a statement for standard output, and is used to output HTML. Each of these parts is described in the COBOL specification.
このコード例201の手続き部の中段では、IF文で変数Iが“4”より大きいか否かを判別し、この条件に応じて出力を変化させている。具体的には、変数Iの大きさに応じて、出力する文字列の内容とその文字の大きさを変化させている。このように、CGIプログラムでは、条件によって出力するHTMLを変化させることもできる。 In the middle part of the procedure part of this code example 201, it is determined whether or not the variable I is larger than “4” by the IF statement, and the output is changed according to this condition. Specifically, the content of the character string to be output and the size of the character are changed according to the size of the variable I. Thus, in the CGI program, the HTML to be output can be changed depending on the conditions.
以上説明したCGIプログラムには以下の(1)〜(3)のような問題点がある。
(1)CGIプログラムコードとして、図2のコード例201のように、HTMLを標準出力する構文を何行にもわたって記述しなければならない。これはCGIプログラム作成者にとって非常にわずらわしい作業である。
(2)出力するHTMLを変更したい場合、HTMLを出力する構文がCGIプログラムコード内に分散することも多いため、HTMLのWWWブラウザによる出力のイメージを把握することが難しい。
(3)HTMLを出力する部分を修正したい場合、あるいはHTMLを出力する以外の部分を修正したい場合のどちらにおいても、同じCGIプログラムコードの修正が必要になることから、CGIプログラムコードにバグが入り込みやすくなり、保守が難しくなる。
The CGI program described above has the following problems (1) to (3).
(1) As the CGI program code, the syntax for standard output of HTML must be described over many lines, as in code example 201 of FIG. This is a very cumbersome task for the CGI program creator.
(2) When it is desired to change the HTML to be output, the syntax for outputting HTML is often dispersed in the CGI program code, so it is difficult to grasp the image output by the HTML WWW browser.
(3) If you want to modify the part that outputs HTML or modify the part other than outputting HTML, the same CGI program code must be modified, so a bug enters the CGI program code. Easy to maintain and difficult to maintain.
このため、CGIプログラム作成において、入力文字列の受付・解析およびその結果を元に出力の制御などの処理を行う部分と、CGIプログラムが出力するHTMLの部分とを、別々に作成・保守できる環境が望ましい。 For this reason, in creating a CGI program, an environment that can separately create and maintain a part that performs processing such as input character string reception / analysis and output control based on the result, and an HTML part that the CGI program outputs Is desirable.
このような環境を実現する公知技術として、図3の方法が、非特許文献2:富士通PowerCOBOL97 COBOL 「CGIサブルーチン 1.0 使用手引書」(電子マニュアル)で提案されている。この方法では、入力文字列の受付・解析および処理などのHTMLの出力以外の処理を行うCGIプログラムのソース301と、出力用のHTML302とを、別々に作成する。HTML作成には、作成した画面のイメージをHTMLに変換する公知のHTML作成用エディタ303を使用し、HTML作成労力を軽減することができる。CGIプログラムのソース301をコンパイルして生成されたCGIプログラム304は、実行時にHTML302を読み込んで出力する。この方法だと、入力文字列の受付・解析およびその結果を元に出力の制御などの処理を行うCGIプログラムのソースと出力用のHTMLとを別々に生成・保守することができ、上記の問題を解決することが出来る。
しかし、上記図3の方法には以下のような問題点がある。すなわち、CGIプログラムが動作する度に
(1)CGIプログラムがHTMLを読み込み
(2)読み込んだHTMLを出力し、WWWサーバ経由でWWWブラウザに表示する
という処理を行うため、通常のCGIプログラムと比較して、(1)のHTML読み込みの分実行速度が遅くなるという問題点が挙げられる。一般的にCGIプログラムはWWWブラウザからの要求毎に実行・終了するものであり、実行要求が頻繁に発生するようなアプリケーションの場合には、HTMLの読み込み処理が要求毎に行われることになるため、クライアントへのレスポンスが遅くなるという問題点がある。
However, the method of FIG. 3 has the following problems. That is, every time the CGI program is run, (1) the CGI program reads the HTML, (2) outputs the read HTML, and displays it on the WWW browser via the WWW server. Thus, there is a problem that the execution speed of the HTML reading of (1) becomes slow. In general, the CGI program is executed and terminated for each request from the WWW browser, and in the case of an application in which execution requests are frequently generated, the HTML reading process is performed for each request. There is a problem that the response to the client becomes slow.
そのため、入力文字列の受付・解析およびその結果を元に出力の制御などの処理を行うCGIプログラムのソースと出力用のHTMLとを別個に生成・保守でき、かつ、生成されるCGIプログラムの実行性能が通常のCGIプログラムと同等になるようなCGIプログラム作成環境が望まれる。 Therefore, it is possible to separately generate and maintain a CGI program source and an HTML for output that perform processing such as reception / analysis of an input character string and output control based on the result, and execution of the generated CGI program A CGI program creation environment whose performance is equivalent to that of a normal CGI program is desired.
本発明の目的は、入力文字列の受付・解析およびその結果を元に出力の制御などの処理を行うCGIプログラムのソースと出力用のHTMLとを別個に生成・保守でき、かつ、生成されるCGIプログラムの実行性能が通常のCGIプログラムと同等になるようなCGIプログラム作成方法を実現することにある。 It is an object of the present invention to separately generate and maintain a CGI program source and an HTML for output, which perform processing such as reception / analysis of an input character string and output control based on the result, and are generated. The object is to realize a CGI program creation method in which the execution performance of a CGI program is equivalent to that of a normal CGI program.
上記目的を達成するため、請求項1に係る発明は、WWWサーバ上で動作するCGIプログラムを作成するCGIプログラム作成装置におけるCGIプログラム作成方法において、CGIプログラム作成装置が備えるHTML入力手段が、表示画面を決定するためのHTML言語で記述されたテキストファイル(以下、「HTML」と呼ぶ)を入力するステップと、CGIプログラム作成装置が備える変換手段が、該HTMLを、該HTMLと同イメージの表示画面を出力する処理を行うCGIソースに、変換するステップと、CGIプログラム作成装置が備えるCGIプログラム生成手段が、該変換したCGIソースと、上記変換したCGIソースに含まれるプログラムを呼び出す文を含み上記HTMLと同イメージの表示画面を出力する処理以外の処理を行う別作成のCGIソースとを、コンパイル及びリンクして一体化させて、一つの実行形式のCGIプログラムを生成するステップとを備えたことを特徴とする。
In order to achieve the above object, the invention according to
請求項2に係る発明は、WWWサーバ上で動作するCGIプログラムを作成するCGIプログラム作成装置におけるCGIプログラム作成方法において、CGIプログラム作成装置が備えるHTML入力手段が、表示画面を決定するためのHTML言語で記述されたテキストファイル(以下、「HTML」と呼ぶ)であって変数および制御情報を表す拡張タグが挿入されているHTMLを入力するステップと、CGIプログラム作成装置が備える変換手段が、該HTMLを、該HTMLに基づくイメージの表示画面を出力する処理および上記拡張タグに応じたプログラムシーケンスを実行する処理を行うCGIソースに、変換するステップと、CGIプログラム作成装置が備えるCGIプログラム生成手段が、該変換したCGIソースと、該変換したCGIソースに含まれるプログラムを呼び出す文を含む別作成のCGIソースとを、コンパイル及びリンクして一体化させて、一つの実行形式のCGIプログラムを生成するステップとを備えたことを特徴とする。 The invention according to claim 2 is the CGI program creation method in the CGI program creation device for creating the CGI program that operates on the WWW server, wherein the HTML input means provided in the CGI program creation device determines the display screen. A step of inputting an HTML that is a text file described in a language (hereinafter referred to as “HTML”) and in which an expansion tag representing a variable and control information is inserted; and a conversion means included in the CGI program creation device includes: the into HTML, CGI source machine executes the program sequence in accordance with the process and the expansion tag outputs a display screen image based on the HTML, and converting, the CGI program generating means provided in the CGI program creating device The converted CGI source ; Compiling and linking a separately created CGI source including a statement for calling a program included in the converted CGI source to generate a single executable CGI program. And
請求項3に係る発明は、WWWサーバ上で動作するCGIプログラムを作成するプログラムを格納した記録媒体であって、コンピュータに、表示画面を決定するためのHTML言語で記述されたテキストファイル(以下、「HTML」と呼ぶ)を入力する機能と、該HTMLを、該HTMLと同イメージの表示画面を出力する処理を行うCGIソースに、変換する機能と、該変換したCGIソースと、上記変換したCGIソースに含まれるプログラムを呼び出す文を含み上記HTMLと同イメージの表示画面を出力する処理以外の処理を行う別作成のCGIソースとを、コンパイル及びリンクして一体化させて、一つの実行形式のCGIプログラムを生成する機能とを実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
請求項4に係る発明は、WWWサーバ上で動作するCGIプログラムを作成するプログラムを格納した記録媒体であって、コンピュータに、表示画面を決定するためのHTML言語で記述されたテキストファイル(以下、「HTML」と呼ぶ)であって変数および制御情報を表す拡張タグが挿入されているHTMLを入力する機能と、該HTMLを、該HTMLに基づくイメージの表示画面を出力する処理および上記拡張タグに応じたプログラムシーケンスを実行する処理を行うCGIソースに、変換する機能と、該変換したCGIソースと、該変換したCGIソースに含まれるプログラムを呼び出す文を含む別作成のCGIソースとを、コンパイル及びリンクして一体化させて、一つの実行形式のCGIプログラムを生成する機能とを実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
請求項5に係る発明は、WWWサーバ上で動作するCGIプログラムを作成するCGIプログラム作成装置であって、表示画面を決定するためのHTML言語で記述されたテキストファイル(以下、「HTML」と呼ぶ)を入力するHTML入力手段と、該HTMLを、該HTMLと同イメージの表示画面を出力する処理を行うCGIソースに、変換する変換手段と、該変換したCGIソースと、上記変換したCGIソースに含まれるプログラムを呼び出す文を含み上記HTMLと同イメージの表示画面を出力する処理以外の処理を行う別作成のCGIソースとを、コンパイル及びリンクして一体化させて、一つの実行形式のCGIプログラムを生成するCGIプログラム生成手段とを備えたことを特徴とする。
請求項6に係る発明は、WWWサーバ上で動作するCGIプログラムを作成するCGIプログラム作成装置であって、表示画面を決定するためのHTML言語で記述されたテキストファイル(以下、「HTML」と呼ぶ)であって変数および制御情報を表す拡張タグが挿入されているHTMLを入力するHTML入力手段と、該HTMLを、該HTMLに基づくイメージの表示画面を出力する処理および上記拡張タグに応じたプログラムシーケンスを実行する処理を行うCGIソースに、変換する変換手段と、該変換したCGIソースと、該変換したCGIソースに含まれるプログラムを呼び出す文を含む別作成のCGIソースとを、コンパイル及びリンクして一体化させて、一つの実行形式のCGIプログラムを生成するCGIプログラム生成手段とを備えたことを特徴とする。
Invention provides a recording medium storing a program for creating a CGI program operating on W WW server, the computer, written text file in HTML language to determine the display screen (hereinafter according to claim 3 , “HTML”), a function for converting the HTML into a CGI source that performs processing to output a display screen of the same image as the HTML, the converted CGI source, and the above conversion Compile, link, and integrate the HTML and another CGI source that includes a statement that calls a program included in the CGI source and performs processing other than the processing that outputs the display screen of the same image into one execution format A computer-readable recording recording a program for realizing a function for generating a CGI program It is a medium.
Invention provides a recording medium storing a program for creating a CGI program operating on W WW server, the computer, written text file in HTML language to determine the display screen (hereinafter according to claim 4 A function of inputting HTML in which an extension tag representing variable and control information is inserted, a process of outputting the HTML to a display screen of an image based on the HTML, and the extension tag and the CGI source function of converting performing the execution process of the program sequence in response to a CGI source and said conversion, and another creation CGI sources, including a statement that calls a program included in the CGI source that the conversion, compiled And link and integrate to create a CGI program of one executable format It is a computer-readable recording medium which recorded the program for making it run.
The invention according to claim 5 is a CGI program creation device for creating a CGI program that operates on a WWW server, and is a text file (hereinafter referred to as “HTML”) written in an HTML language for determining a display screen. ) To the CGI source that performs processing to output a display screen of the same image as the HTML, the converting means that converts the HTML, the converted CGI source, and the converted CGI source A CGI program in one execution format by compiling and linking and integrating the HTML and another CGI source that performs processing other than the processing for outputting the display screen of the same image including a statement for calling the included program And a CGI program generating means for generating.
The invention according to claim 6 is a CGI program creation device for creating a CGI program that operates on a WWW server, and is a text file (hereinafter referred to as “HTML”) described in an HTML language for determining a display screen. HTML input means for inputting HTML in which expansion tags representing variables and control information are inserted, processing for outputting an HTML display screen based on the HTML, and a program corresponding to the expansion tags Compile and link the conversion means for conversion to the CGI source that performs processing to execute the sequence, the converted CGI source, and the CGI source created separately including a statement that calls the program included in the converted CGI source. CGI program that generates a single executable CGI program Characterized in that a forming means.
本発明によれば、CGIプログラム作成工程において、入力文字列の受付・解析および処理を行うCGIプログラムのソースと出力用のHTMLとを分離するとともに、これらを1つのソースプログラムとして一体化することにより、それぞれの作成効率・保守性の向上を図ることができ、さらに生成されたCGIプログラムの性能の向上を実現することができる。 According to the present invention, in the CGI program creation step, the source of the CGI program for receiving, analyzing, and processing the input character string is separated from the HTML for output, and these are integrated as one source program. The creation efficiency and maintainability of each can be improved, and the performance of the generated CGI program can be improved.
以下、図面を用いて、本発明の実施の形態を説明する。ここでは、本発明の好適用例として、プログラミング言語COBOLを使用したプログラム開発環境を取り上げて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. Here, a program development environment using the programming language COBOL will be described as a preferred example of the present invention.
図4に、本発明の実施の形態の構成図を示す。図4において、入力文字列の受付・解析およびその結果を元に出力の制御などを行うCGIプログラムのソース401と出力用のHTML402とをあらかじめ作成するところまでは上述の図3の公知の手法と同じである。HTML402は、画面イメージからHTMLに変換するような公知のHTML作成用エディタ403を使用して作成することができる。トランスレータ404は、HTML402をHTML出力用CGIプログラムソース405に変換する。このトランスレータ404により、プログラムソース405は、入力文字列の受付・解析およびその結果を元に出力の制御などを行うCGIプログラム401から呼び出されるサブプログラムとして生成される。ユーザが入力文字列の受付・解析および処理を行うプログラム401に、トランスレータ404によって変換されたサブプログラム405を呼び出す構文を加えることにより、これらのプログラムは論理的に一つのプログラム406となる。このように、HTMLが自動的にプログラミング言語に変換されてCGIプログラム内に埋め込まれて、図2の通常のCGIプログラム201と同様に動作するソース406が生成される。そのため、このCGIプログラムソース406をコンパイルした実行形式のCGIプログラムは、407に示すように、プログラム実行中にファイル読み込みを行う必要はなく、通常のCGIプログラムと同等の実行性能を出すことができる。
FIG. 4 shows a configuration diagram of the embodiment of the present invention. In FIG. 4, up to the point where the
図5に、トランスレータ404の動作を示す。このトランスレータは、
1.HTMLのファイル名を元にしたプログラム名の作成
2.HTMLを読み込み、出力構文に変換
という処理を行う。
FIG. 5 shows the operation of the
1. 1. Create a program name based on the HTML file name HTML is read and converted to output syntax.
まず、ステップ501で見出し部(IDENTIFICATION DIVISION)をファイル出力する。COBOLでは見出し部にプログラム名(PROGRAM−ID)を記述しなければならない。ここでは、プログラム名としてHTMLのファイル名を使用するものとする。入力文字列の受付・解析およびその結果を元に出力の制御などを行うCGIプログラムは、このプログラム名によって、このCGIプログラム(トランスレータによりHTMLを変換したプログラム)を呼び出すことになる。次に、環境部・データ部・構成部などの必要な構文をファイル出力する(ステップ502)。その後、HTMLを行単位で読み取り、それを出力するDISPLAY文(COBOLの標準出力構文)に変換し、ファイルに出力する。この処理を、HTMLファイルの最後尾に辿りつくまで繰り返し行う(ステップ503)。最後に、プログラム終了の構文をファイルに出力する(ステップ504)。以上により、HTMLファイルから、そのHTMLを出力するプログラムソースが得られたことになる。
First, in
図6から図9を参照して、本実施の形態の動作例を説明する。この例は、図6の601および602の2つのHTMLを、ユーザからの入力に応じて表示しわける動作例である。 An example of the operation of the present embodiment will be described with reference to FIGS. This example is an operation example in which the two HTMLs 601 and 602 in FIG. 6 are displayed according to the input from the user.
まず、図6のCGIプログラムの出力イメージ601と602を公知のHTML作成用エディタで作成する。CGIプログラムは、ユーザからの入力に応じて出力イメージ601と602のどちらかを表示するという処理を、内部に持つFLGというフラグ変数の値を参照して行うものとする。例えば、ユーザに性別を問い合せ、男性だった場合にはFLG=1、女性であったらFLG=2というように設定される。出力イメージ601はCGIプログラム内でFLG=1の場合に出力され、出力イメージ602はFLGが1以外の場合に出力される。
First,
図7は、図6の出力イメージ601および602を表示するHTMLである。図6の画面イメージを公知のHTML作成用エディタで作成し、図7のHTMLに変換することも出来る。WWWブラウザがHTML701を解釈した結果、出力イメージ601が表示される。また、WWWブラウザがHTML702を解釈した結果、出力イメージ602が表示される。
FIG. 7 is an HTML that displays the
図8に、HTMLがトランスレータによって変換されたCGIプログラムの結果の例を示す。801はHTML701がトランスレータによって変換されたCOBOLソースの結果の例であり、802はHTML702がトランスレータによって変換されたCOBOLソースの結果の例である。図5のステップ501の処理により、HTML701のファイル名(MALE.html)からプログラム名が生成されている(803)。また、ステップ503の処理により、HTML701の内容が、COBOLの標準出力構文であるDISPLAY文に変換されている(804)。トランスレータにより、HTML702がCOBOLソース802に変換される際にも同様の処理が行われる。
FIG. 8 shows an example of the result of a CGI program in which HTML is converted by a translator.
図9に、図8のプログラムを呼び出すCGIプログラムソースの例を示す。COBOLソース901では、フラグFLGが1の場合には、HTML701を出力するサブプログラムMALE801を呼び出す(902)。サブプログラム名MALEは、HTMLファイル701の名称から決定されたプログラム名である。また、COBOLソース901では、フラグFLGが1以外の場合には、HTML702を出力するサブプログラムFEMALE802を呼び出す(903)。801、802および901の3つのCGIソースは論理的に一つのCGIプログラムであり、一つの実行形式ファイルにコンパイルすることができる。
FIG. 9 shows an example of a CGI program source that calls the program of FIG. If the flag FLG is 1, the
次に、本発明の第2の実施の形態を説明する。前出の例では、出力を動的に変更するために2つのHTMLを用意している。一方、HTMLに変数や制御構造を示すHTMLの仕様にない拡張タグを挿入することによって、一つのHTMLで動的な出力の変更に対応するような手法が考案されている。このHTMLに拡張タグを挿入する手法については、例えば参考文献:大澤文孝著 1997/4 SOFTBANK発行「Webアプリケーション構築ガイド」に記述されている。本発明の第2の実施の形態として、このような、拡張タグを挿入したHTML(以下、拡張HTMLと呼ぶ)を使用した場合の動作例を示す。発明の構成図は図4と同じであるが、402に示すHTMLが拡張されている点と、404のトランスレータがこれに対応して拡張されている点が異なる。
Next, a second embodiment of the present invention will be described. In the above example, two HTMLs are prepared to dynamically change the output. On the other hand, a technique has been devised in which an extension tag not included in the HTML specification indicating a variable or a control structure is inserted into the HTML to cope with a dynamic output change in one HTML. The method of inserting an extension tag into this HTML is described in, for example, “Web application construction guide” published by Reference Literature: Fumitaka Osawa 1997/4 SOFTBANK. As a second embodiment of the present invention, an operation example in the case of using such HTML in which an extension tag is inserted (hereinafter referred to as extension HTML) will be described. The configuration diagram of the invention is the same as in FIG. 4 except that the HTML shown in 402 is extended and the
HTMLに挿入する拡張タグとしては、変数を示すものや、
・IF〜ELSE〜ENDIF(分岐構造)
・REPEAT〜ENDREPEAT(くり返し構造)
のように、基本的な制御構造を表現するものを用意するのが一般的である。
Extension tags to be inserted into HTML include variables,
・ IF ~ ELSE ~ ENDIF (Branch structure)
・ REPEAT-ENDREPEAT (repeated structure)
In general, a device that expresses a basic control structure is prepared.
図10は、図6の出力イメージを得るための拡張HTMLの例である。$%IF%$、$%ELSE%$、$%END−IF%$という、条件分岐の制御構造を表すタグがHTMLに挿入されている(1001)。このHTMLは、他のプログラムによって処理されたときに、FLGの値が1である場合には図6の601のように“male”というタイトルで“I‘m a man”という文字列を出力するHTMLとして機能し、FLGの値が1でない場合には図6の602と同様に“female”というタイトルで“I‘m a woman”という文字列を出力するHTMLとして機能する。FLGの値は、入力文字列の受付・解析およびその結果を元に出力の制御などを行うCGIプログラム側で決定される。 FIG. 10 is an example of extended HTML for obtaining the output image of FIG. Tags representing control structures for conditional branches, such as $% IF% $, $% ELSE% $, and $% END-IF% $, are inserted into HTML (1001). When this HTML is processed by another program, if the value of FLG is 1, a character string “I'm a man” is output with the title “male” as indicated by 601 in FIG. When the value of FLG is not 1, it functions as HTML that outputs the character string “I'm a woman” with the title “female” as in the case of 602 in FIG. The value of FLG is determined on the CGI program side that receives and analyzes an input character string and controls output based on the result.
図11に、図10を拡張HTML用に拡張したトランスレータによって変換したCGIプログラムを示す。拡張したトランスレータでは、図10のHTMLに挿入されている拡張タグ内で使用されているフラグFLG1002を引数として受け取るようにプログラムを生成する(1101)。また、トランスレータは、図10の1001の制御構造を、図11の1102のように変換する。
FIG. 11 shows a CGI program converted by a translator obtained by extending FIG. 10 for extended HTML. In the extended translator, a program is generated to receive the
図12に、図11のプログラムを呼び出すCGIプログラムソースの例を示す。FLGを引数として図11のプログラムを呼び出している(1201)。 FIG. 12 shows an example of a CGI program source that calls the program of FIG. The program in FIG. 11 is called with FLG as an argument (1201).
図11と図12の2つのCGIソースは論理的に一つのプログラムであり、一つの実行形式ファイルにコンパイルすることができる。 The two CGI sources in FIGS. 11 and 12 are logically one program and can be compiled into one executable file.
図13に、拡張HTML用のトランスレータの処理方式を示す。「HTMLを一行読み取る」ところまでは図5の第1の実施の形態と同じである。HTMLを読み取ったのち、その読み取った一行が拡張タグか否かを判別する。拡張タグでないときは、図5と同様にDISPLAY分を出力すればよい。拡張タグを検出した場合は、拡張タグの示す変数の処理や、制御構造をCGIプログラムに変換する。例えば、拡張タグ$%IF%$を検出したときには、IF文を出力し(ステップ1301)、拡張タグ$%IF%$を検出するまで、HTMLを一行読み取って(ステップ1303)、%$ELSE$%ならELSEを出力し、そうでなければ読み取ったHTMLを出力するDISPLAY文を出力する処理(ステップ1304)を繰り返す。他の拡張タグの場合も同様である。このように、変数や制御構造を含むようにタグを拡張したHTMLに対しても、そのタグに対応するCGIプログラムソースを生成する方法を定義することでCGIプログラムソースに変換することが可能である。 FIG. 13 shows the processing method of the translator for extended HTML. The steps up to “reading one line of HTML” are the same as those in the first embodiment of FIG. After reading the HTML, it is determined whether or not the read line is an extension tag. If it is not an expansion tag, it is sufficient to output DISPLAY as in FIG. When an extension tag is detected, the variable processing indicated by the extension tag and the control structure are converted into a CGI program. For example, when an extension tag $% IF% $ is detected, an IF statement is output (step 1301), and one line of HTML is read (step 1303) until the extension tag $% IF% $ is detected, and% $ ELSE $ If%, ELSE is output. Otherwise, the process of outputting a DISPLAY statement that outputs the read HTML is repeated (step 1304). The same applies to other extension tags. As described above, it is possible to convert a CGI program source by defining a method for generating a CGI program source corresponding to the tag even for HTML in which the tag is expanded to include a variable or a control structure. .
以上のようにして、本発明の目的を達成するための機能を実現するプログラムを作成することが出来る。また、プログラムを各種媒体に格納するための公知技術を使用して、これらのプログラムを格納した媒体を作成することが出来る。 As described above, it is possible to create a program that realizes functions for achieving the object of the present invention. Moreover, the medium which stored these programs can be created using the well-known technique for storing a program in various media.
なお、ここでは特にCOBOL言語でCGIプログラムを作成する例を示したが、HTMLや拡張HTMLを他言語のソースに変換するトランスレータを用意することにより、C言語やC++言語などの他の汎用プログラミング言語に対しても本発明の適用は可能である。 Although an example of creating a CGI program in the COBOL language is shown here, other general-purpose programming languages such as C language and C ++ language can be prepared by preparing a translator for converting HTML or extended HTML into another language source. The present invention can also be applied to.
101…WWWブラウザ、102…ユーザ入力情報、103…WWWサーバ、104…CGIプログラム、105…ユーザ入力情報、106…HTMLファイル、107…HTMLファイル、201…HTML出力コード、301…入力解析・処理用ソースファイル、302…HTMLファイル、303…HTML作成用エディタ、304…CGIプログラム、401…入力解析・制御用ソースファイル、402…HTMLファイル、403…HTML作成用エディタ、404…トランスレータ、405…HTML出力用ソースファイル、406…CGIプログラムソース、407…CGIプログラム実行時の構成、501…見出し部ファイル出力部、502…環境部・データ部・構成部ファイル出力部、503…HTML変換・ファイル出力部、504…プログラム終わり見出しファイル出力部、601…WWWブラウザ出力イメージ、602…WWWブラウザ出力イメージ、701…HTMLコード、702…HTMLコード、801…HTMLを出力するCGIプログラムソース、802…HTMLを出力するCGIプログラムソース、803…プログラム名、804…CGIプログラムソース中のHTML出力部分、901…入力解析・制御用ソース、902…HTMLより変換されたCGIプログラム呼び出し部、903…HTMLより変換されたCGIプログラム呼び出し部、1001…制御を表す拡張タグ例、1002…変数を表す拡張タグ例、1101…変数を表す拡張タグの変換例、1102…制御を表す拡張タグの変換例、1201…拡張HTMLより変換されたCGIプログラム呼び出し部、1301…制御を表す拡張タグ変換部の動作例。
DESCRIPTION OF
Claims (6)
CGIプログラム作成装置が備えるHTML入力手段が、表示画面を決定するためのHTML言語で記述されたテキストファイル(以下、「HTML」と呼ぶ)を入力するステップと、
CGIプログラム作成装置が備える変換手段が、該HTMLを、該HTMLと同イメージの表示画面を出力する処理を行うCGIソースに、変換するステップと、
CGIプログラム作成装置が備えるCGIプログラム生成手段が、該変換したCGIソースと、上記変換したCGIソースに含まれるプログラムを呼び出す文を含み上記HTMLと同イメージの表示画面を出力する処理以外の処理を行う別作成のCGIソースとを、コンパイル及びリンクして一体化させて、一つの実行形式のCGIプログラムを生成するステップと
を備えたことを特徴とするCGIプログラム作成方法。 In a CGI program creation method in a CGI program creation device for creating a CGI program operating on a WWW server,
An HTML input means provided in the CGI program creating device inputs a text file (hereinafter referred to as “HTML”) described in an HTML language for determining a display screen;
A conversion means provided in the CGI program creating device converts the HTML into a CGI source that performs a process of outputting a display screen of the same image as the HTML;
The CGI program generation means provided in the CGI program creation device performs processes other than the process of outputting the converted CGI source and the display screen of the same image as the HTML including the statement for calling the program included in the converted CGI source. A CGI program creation method comprising: compiling and linking another separately created CGI source to create a single executable CGI program.
CGIプログラム作成装置が備えるHTML入力手段が、表示画面を決定するためのHTML言語で記述されたテキストファイル(以下、「HTML」と呼ぶ)であって変数および制御情報を表す拡張タグが挿入されているHTMLを入力するステップと、
CGIプログラム作成装置が備える変換手段が、該HTMLを、該HTMLに基づくイメージの表示画面を出力する処理および上記拡張タグに応じたプログラムシーケンスを実行する処理を行うCGIソースに、変換するステップと、
CGIプログラム作成装置が備えるCGIプログラム生成手段が、該変換したCGIソースと、該変換したCGIソースに含まれるプログラムを呼び出す文を含む別作成のCGIソースとを、コンパイル及びリンクして一体化させて、一つの実行形式のCGIプログラムを生成するステップと
を備えたことを特徴とするCGIプログラム作成方法。 In a CGI program creation method in a CGI program creation device for creating a CGI program operating on a WWW server,
The HTML input means provided in the CGI program creation device is a text file (hereinafter referred to as “HTML”) described in the HTML language for determining the display screen, and an extension tag representing variables and control information is inserted. Inputting the HTML to be
A conversion means provided in the CGI program creation device converts the HTML into a CGI source that performs a process of outputting an image display screen based on the HTML and a process of executing a program sequence according to the extension tag;
The CGI program generation means included in the CGI program creating device, and CGI source and said conversion, and another creation CGI sources, including a statement that calls a program included in the CGI source that the conversion be integrated compile and link And a step of generating a CGI program of one execution format.
コンピュータに、
表示画面を決定するためのHTML言語で記述されたテキストファイル(以下、「HTML」と呼ぶ)を入力する機能と、
該HTMLを、該HTMLと同イメージの表示画面を出力する処理を行うCGIソースに、変換する機能と、
該変換したCGIソースと、上記変換したCGIソースに含まれるプログラムを呼び出す文を含み上記HTMLと同イメージの表示画面を出力する処理以外の処理を行う別作成のCGIソースとを、コンパイル及びリンクして一体化させて、一つの実行形式のCGIプログラムを生成する機能と
を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 A recording medium storing a program for creating a CGI program operating on W WW server,
On the computer,
A function of inputting a text file (hereinafter referred to as “HTML”) described in an HTML language for determining a display screen;
A function of converting the HTML into a CGI source that performs processing to output a display screen of the same image as the HTML;
And CGI source and said conversion, and another creation CGI source for performing processing other than the processing for outputting the display screen of the HTML the same image comprises a statement that calls a program that is included in the CGI source that the conversion, and compile and link And a computer-readable recording medium on which a program for realizing a CGI program of one execution format is recorded.
コンピュータに、
表示画面を決定するためのHTML言語で記述されたテキストファイル(以下、「HTML」と呼ぶ)であって変数および制御情報を表す拡張タグが挿入されているHTMLを入力する機能と、
該HTMLを、該HTMLに基づくイメージの表示画面を出力する処理および上記拡張タグに応じたプログラムシーケンスを実行する処理を行うCGIソースに、変換する機能と、
該変換したCGIソースと、該変換したCGIソースに含まれるプログラムを呼び出す文を含む別作成のCGIソースとを、コンパイル及びリンクして一体化させて、一つの実行形式のCGIプログラムを生成する機能と
を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 A recording medium storing a program for creating a CGI program operating on W WW server,
On the computer,
A text file (hereinafter referred to as “HTML”) described in an HTML language for determining a display screen, and a function for inputting HTML in which expansion tags representing variables and control information are inserted;
A function of converting the HTML into a CGI source that performs a process of outputting a display screen of an image based on the HTML and a process of executing a program sequence according to the extension tag;
A function for compiling and linking the converted CGI source and a separately created CGI source including a statement for calling a program included in the converted CGI source to generate a single executable CGI program A computer-readable recording medium on which a program for realizing and is recorded.
表示画面を決定するためのHTML言語で記述されたテキストファイル(以下、「HTML」と呼ぶ)を入力するHTML入力手段と、 HTML input means for inputting a text file (hereinafter referred to as “HTML”) described in an HTML language for determining a display screen;
該HTMLを、該HTMLと同イメージの表示画面を出力する処理を行うCGIソースに、変換する変換手段と、 Conversion means for converting the HTML into a CGI source that performs processing to output a display screen of the same image as the HTML;
該変換したCGIソースと、上記変換したCGIソースに含まれるプログラムを呼び出す文を含み上記HTMLと同イメージの表示画面を出力する処理以外の処理を行う別作成のCGIソースとを、コンパイル及びリンクして一体化させて、一つの実行形式のCGIプログラムを生成するCGIプログラム生成手段と Compile and link the converted CGI source and another CGI source that includes a statement that calls a program included in the converted CGI source and performs a process other than the process of outputting the display screen of the same image as the HTML. And CGI program generating means for generating a CGI program in one execution format
を備えたことを特徴とするCGIプログラム作成装置。 A CGI program creation device comprising:
表示画面を決定するためのHTML言語で記述されたテキストファイル(以下、「HTML」と呼ぶ)であって変数および制御情報を表す拡張タグが挿入されているHTMLを入力するHTML入力手段と、 HTML input means for inputting HTML, which is a text file (hereinafter referred to as “HTML”) described in an HTML language for determining a display screen, and in which an expansion tag representing variable and control information is inserted;
該HTMLを、該HTMLに基づくイメージの表示画面を出力する処理および上記拡張タグに応じたプログラムシーケンスを実行する処理を行うCGIソースに、変換する変換手段と、 Conversion means for converting the HTML into a CGI source that performs processing for outputting a display screen of an image based on the HTML and processing for executing a program sequence according to the extension tag;
該変換したCGIソースと、該変換したCGIソースに含まれるプログラムを呼び出す文を含む別作成のCGIソースとを、コンパイル及びリンクして一体化させて、一つの実行形式のCGIプログラムを生成するCGIプログラム生成手段と CGI for generating a single executable CGI program by compiling and linking the converted CGI source and a separately created CGI source including a statement for calling a program included in the converted CGI source. Program generation means and
を備えたことを特徴とするCGIプログラム作成装置。 A CGI program creation device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005254203A JP4201206B2 (en) | 2005-09-01 | 2005-09-01 | CGI program creation method, recording medium recording program according to the method, and CGI program creation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005254203A JP4201206B2 (en) | 2005-09-01 | 2005-09-01 | CGI program creation method, recording medium recording program according to the method, and CGI program creation device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05611898A Division JP3731628B2 (en) | 1998-02-20 | 1998-02-20 | CGI program creation method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006040303A JP2006040303A (en) | 2006-02-09 |
JP4201206B2 true JP4201206B2 (en) | 2008-12-24 |
Family
ID=35905151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005254203A Expired - Lifetime JP4201206B2 (en) | 2005-09-01 | 2005-09-01 | CGI program creation method, recording medium recording program according to the method, and CGI program creation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4201206B2 (en) |
-
2005
- 2005-09-01 JP JP2005254203A patent/JP4201206B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2006040303A (en) | 2006-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100661393B1 (en) | Web site management system and method applying web programming environment | |
JP5225399B2 (en) | Systems and methods for desktop application migration | |
JP3857663B2 (en) | Structured document editing apparatus, structured document editing method and program | |
US8086618B2 (en) | Configuration rule translation mapper | |
CN111831384B (en) | Language switching method, device, equipment and storage medium | |
JP2005196291A (en) | User interface application development program and development device | |
CN108170409B (en) | Development method and system of WEB front-end control | |
JP2004341671A (en) | Information processing system, control method, control program and recording medium | |
US20070028164A1 (en) | Computer readable storage medium and document processing method | |
US8701086B2 (en) | Simplifying analysis of software code used in software systems | |
CN111078217A (en) | Brain graph generation method, apparatus and computer-readable storage medium | |
JP5267342B2 (en) | Mashup program, mashup device, and mashup method | |
JP2005332146A (en) | Device, program and method for generating dynamic content creation program | |
JP2009289206A (en) | Program for rewriting uniform resource locator information | |
KR20110041836A (en) | Xsl/xml-based web application development system and method using this system | |
JP3731628B2 (en) | CGI program creation method | |
JP4201206B2 (en) | CGI program creation method, recording medium recording program according to the method, and CGI program creation device | |
JP4686117B2 (en) | Source code conversion apparatus, source code conversion method, and program | |
JP7260150B2 (en) | WEBSITE DESIGN SUPPORT DEVICE, WEBSITE DESIGN SUPPORT METHOD, AND PROGRAM | |
JP7148804B2 (en) | SOURCE FILE GENERATION PROGRAM, SOURCE FILE GENERATION METHOD, AND INFORMATION PROCESSING DEVICE | |
JP5476867B2 (en) | Mashup program, mashup device, and mashup method | |
JPH11353189A (en) | Method and device for implementing tag-based display language using procedure instruction language | |
Poore | Codebraid: Live Code in Pandoc Markdown. | |
JP4207992B2 (en) | Structured document processing system and structured document processing method | |
JP2007279795A (en) | System for deciding whether or not screen to be displayed by program satisfy specification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080710 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080908 |
|
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: 20081002 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081002 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111017 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121017 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121017 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131017 Year of fee payment: 5 |
|
EXPY | Cancellation because of completion of term |