JP5716108B2 - オンラインシステム、プログラム生成装置および画面制御プログラム生成装置 - Google Patents

オンラインシステム、プログラム生成装置および画面制御プログラム生成装置 Download PDF

Info

Publication number
JP5716108B2
JP5716108B2 JP2014046389A JP2014046389A JP5716108B2 JP 5716108 B2 JP5716108 B2 JP 5716108B2 JP 2014046389 A JP2014046389 A JP 2014046389A JP 2014046389 A JP2014046389 A JP 2014046389A JP 5716108 B2 JP5716108 B2 JP 5716108B2
Authority
JP
Japan
Prior art keywords
program
screen
web service
variable
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.)
Active
Application number
JP2014046389A
Other languages
English (en)
Other versions
JP2014132489A (ja
Inventor
隆尚 服部
隆尚 服部
素成 千貫
素成 千貫
辰樹 竹内
辰樹 竹内
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.)
MUFG Bank Ltd
Original Assignee
Bank of Tokyo Mitsubishi UFJ Trust Co
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 Bank of Tokyo Mitsubishi UFJ Trust Co filed Critical Bank of Tokyo Mitsubishi UFJ Trust Co
Priority to JP2014046389A priority Critical patent/JP5716108B2/ja
Publication of JP2014132489A publication Critical patent/JP2014132489A/ja
Application granted granted Critical
Publication of JP5716108B2 publication Critical patent/JP5716108B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明はアプリケーション開発支援装置及びプログラムに係り、特に、複数種のツールを用いて行われるアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置、及び、コンピュータを前記アプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムに関する。
最近、ビジネスプロセスをワークフローとして記述可能な規格(言語)としてBPEL(Business Process Execution Language)が普及してきている。BPELに関しては、互いに異なる処理に対応する複数種の部品の中から所望の部品を選択して組み合わせる操作を行うことで所望のワークフローを視覚的に記述可能で、かつ作成されたワークフローからBPELに準拠したプログラムを自動的に生成可能なツールが用意されており、当該ツールによって自動生成されたプログラムをコンピュータによって実行させる実行環境も構築可能とされている。このため、上記ツールを利用することで、所望のウェブサービスを提供するワークフローをコンピュータによって実現させるプログラムの開発を、プログラミング言語に関する知識が必要なコーディング作業を行うことなく容易かつ短時間で行うことができる。
一方、ウェブアプリケーション向けのユーザインタフェースを構築するための規格としてJSF(Java(登録商標) Server Faces) が知られている。このJSFに関しても、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルの中から所望のシンボルを選択・配置する等の操作を行うことで、ユーザインタフェース画面の設計やユーザインタフェース画面の遷移の定義等のユーザインタフェースの構築が可能で、構築されたユーザインタフェースを実現するプログラムを自動的に生成可能なツールが用意されており、このツールを利用することで、所望のユーザインタフェースを実現するプログラムを、コーディング作業を行うことなく容易かつ短時間で得ることができる。このため、ウェブアプリケーションの開発にあたり、当該ウェブアプリケーションのうち、ユーザインタフェースの部分のプログラムをJSFのツールを用いて自動生成すると共に、ウェブサービスを提供する部分のプログラムをBPELのツールを用いて自動生成するようにすれば、一切のコーディング作業が不要となることで開発期間の大幅な短縮を実現できるものと期待される。
しかしながら、JSFの規格は、JSFを用いて自動生成したプログラム(ユーザインタフェースを実現するプログラム)をBPELを用いて自動生成したプログラム(ワークフローを実現するプログラム)と連動させることが考慮されておらず(他のプログラムを呼び出す処理が規格として定義されていない)、一例として、リンク(例えば任意の文書に貼り付けられたハイパーリンクやインターネット・ショートカット等)が選択されることで直接呼び出され、特定のウェブサービスの実行結果を表示する特定のユーザインタフェース画面を含むユーザインタフェースを構築するためには、前記特定のウェブサービスを提供する特定プログラムを起動するプログラムをコーディング作業によって別途作成し、前記特定のユーザインタフェース画面に付加する必要がある。従って、開発対象のウェブアプリケーションのうち、ユーザインタフェースの部分のプログラムをJSFのツールを用いて自動生成すると共に、ウェブサービスを提供する部分のプログラムをBPELのツールを用いて自動生成したとしても、結局はコーディング作業が必要になるために開発期間を大幅に短縮することは困難であった。
上記に関連して特許文献1には、ウェブブラウザを使用することなくウェブサーバと通信できるソケット通信プログラムをクライアント端末に設けると共に、ソケット通信プログラムによってクライアント端末から送られてきた要求に従いデータサーバ上のデータベースとやり取りを行い、その結果をクライアント端末に送り出すためのプログラムをウェブサーバに設けることで、クライアント端末でウェブブザウザを用いることなく結果を表示することを可能とし、データ処理の自動化を実現する技術が開示されている。
また特許文献2には、クライアントとのインタフェースを行う第1の仮想マシンと、各種ビジネスオブジェクトを実行する第2の仮想マシンを有するアプリケーションサーバにおいて、ビジネスオブジェクトの処理に必要なデータの識別名を各ビジネスオブジェクト毎に格納しておき、第1の仮想マシンは、クライアントに任意の画面を表示させて任意のデータ入力を行わせ、フォームデータを含むリクエストを受け取り、受け取ったリクエストに応じたビジネスオブジェクトを呼び出す際に、呼び出すビジネスオブジェクトが必要とする各データの識別名を取得し、フォームデータに含まれる各データのうち識別名が前記取得した識別名と一致するデータのみを第2の仮想マシンへ転送することで、第2の仮想マシン側で必要なデータを抽出する処理のためのコーディングを不要とする技術が開示されている。
また特許文献3には、クライアントからの要求内容に応じた業務処理を予め用意された複数の業務処理モジュールの何れかに振り分け、処理結果を要求元のクライアントに返信するウェブアプリケーション制御装置において、クライアントから業務処理の対象となるデータと共に実行すべき業務処理の識別情報を含む要求を受け付け、受け付けた識別情報に対応する業務処理モジュールに処理を振り分け、処理結果を取得し、識別情報と業務処理モジュールの処理結果に基づいて複数の画面生成モジュールの何れかに処理結果の画面生成処理を振り分け、画面生成モジュールでは、振り分けられた処理結果の画面データを生成し、要求元のクライアントへの応答として出力する技術が開示されている。
特開2003−108558号公報 特開2006−268121号公報 特開2004−38559号公報
上述した特許文献1〜特許文献3に記載の技術は、何れもクライアント端末からの所望のウェブサービスの利用を実現する技術であるが、これらの技術は、特定のウェブサービスの実行結果を表示する特定のユーザインタフェース画面がリンクが直接呼び出される場合について考慮されておらず、上記の特定のユーザインタフェース画面を含むユーザインタフェースを構築する場合にはコーディング作業を行う必要がある。プログラムの開発にあたって多少なりともコーディング作業が必要とされる場合、開発担当者がプログラミング言語に関する知識を有している人に限られると共に、コーディング作業で作成したプログラムに対してはデバッグ作業も必要となるので、コーディング作業を省略できる場合と比較して開発期間が大幅に長期化するという問題がある。
本発明は上記事実を考慮して成されたもので、リンクから直接呼び出され、特定のウェブサービスの実行結果を表示するユーザインタフェース画面を含むユーザインタフェースを有するアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現可能なアプリケーション開発支援装置及びアプリケーション開発支援プログラムを得ることが目的である。
上記目的を達成するために第1の発明に係るアプリケーション開発支援装置は、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルをコンピュータによって表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第1プログラムをコンピュータによって生成させる第1のツール、及び、所望のウェブサービスを提供する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第2プログラムをコンピュータによって生成させる第2のツールを用いて行われる、前記第1プログラム及び前記第2プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置であって、前記ユーザインタフェース画面の構成要素として使用可能で、かつ、前記第2のツールを用いて生成された前記第2プログラムを呼び出して前記所定のウェブサービスを提供する処理をコンピュータによって行わせるための起動シンボルの情報として、特定のユーザインタフェース画面を呼び出すためのアドレス情報を含むリンク情報が埋め込まれたリンクが選択されることで前記リンクから直接呼び出されると共に、前記第2プログラムによって行われた前記所定のウェブサービスを提供する処理の結果を表示する前記特定のユーザインタフェース画面に配置され、稼働時に、配置された前記特定のユーザインタフェース画面が前記リンクから直接呼び出されると、前記第2プログラムを起動させて前記所定のウェブサービスを提供する処理を実行させる処理をコンピュータによって行わせる第3プログラムを付加した無条件起動シンボルの情報を生成するシンボル生成手段を備えたことを特徴としている。
第1の発明において、第1のツールは、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルをコンピュータによって表示画面に表示させると共に、開発者により、複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第1プログラムをコンピュータによって生成させる。なお、第1のツールは、より詳しくは、開発者により、第1の操作に加えて、第1の操作によって設計したユーザインタフェース画面内に配置した個々の情報入力/表示欄を、変数格納領域内に格納領域が設けられている複数の変数のうち対応する変数の格納領域と各々関連付ける第2の操作、及び、設計した複数のユーザインタフェース画面の遷移を規定する第3の操作が行われることで構築対象のユーザインタフェースが規定されると第1プログラムを生成するツールであってもよい。また、第4の発明のように、第1のツールとしては第1の規格に準拠したツールを適用することができ、より詳しくは、例えば第5の発明のように、第1の規格としてはJSFを適用することができる。
また、第1の発明において、第2のツールは、所望のウェブサービスを提供する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第2プログラムをコンピュータによって生成させる。なお、第2のツールとしては第2の規格(第1のツールと異なる規格)に準拠したツールを適用することができ、より詳しくは、例えば第5の発明のように、第2の規格としてはBPELを適用することができる。
ここで、第1の発明に係るアプリケーション開発支援装置は、上記の第1のツール及び第2のツールを用いて行われる、第1プログラム及び第2プログラムを含むアプリケーション・プログラムの開発を支援する装置であり、シンボル生成手段は、ユーザインタフェース画面の構成要素として使用可能で、かつ、第2のツールを用いて生成された第2プログラムを呼び出して所定のウェブサービスを提供する処理をコンピュータによって行わせるための起動シンボルの情報として、特定のユーザインタフェース画面を呼び出すためのアドレス情報(例えばURL(Uniform Resource Locator)等)を含むリンク情報が埋め込まれたリンクが選択されることでリンクから直接呼び出される(他のユーザインタフェース画面の表示を経ずに呼び出される)と共に、第2プログラムによって行われた所定のウェブサービスを提供する処理の結果を表示する特定のユーザインタフェース画面に配置され、稼働時(例えばコンピュータによる第1プログラムの実行時、或いは第1プログラムによって実現されるユーザインタフェースの利用者への提供時)に、配置された特定のユーザインタフェース画面がリンクから直接呼び出されると、第2プログラムを起動させて所定のウェブサービスを提供する処理を実行させる処理をコンピュータによって行わせる第3プログラムを付加した無条件起動シンボルの情報を生成する。
無条件起動シンボルはユーザインタフェース画面の構成要素として使用可能であるので、開発者が第1の操作を行うことで、無条件起動シンボルを設計中の特定のユーザインタフェース画面内に配置することが可能となる。また、無条件起動シンボルを配置したユーザインタフェース画面が稼働時にリンクから直接呼び出されると、無条件起動シンボルに付加されている第3プログラムが実行され、第2プログラムを起動させて所定のウェブサービスを提供する処理を実行させる処理が無条件で行われ、所定のウェブサービスの実行結果が得られることになる。
このように、第1の発明では、稼働時に、配置されたユーザインタフェース画面がリンクから直接呼び出されると、第2プログラムを起動させて所定のウェブサービスを提供する処理を実行させる処理を無条件に行う第3プログラムが付加された無条件起動シンボルの情報がシンボル生成手段によって生成されるので、リンクから直接呼び出され、特定のウェブサービスの実行結果を表示する特定のユーザインタフェース画面を含むユーザインタフェースを有するアプリケーション・プログラムの開発において、前記特定のユーザインタフェース画面から第2プログラムを起動させて所定のウェブサービスを提供する処理を実行させるプログラムを作成するコーディング作業を省略することができる。また、開発者は、第1のツールによって表示画面に表示されている無条件起動シンボルを、特定のウェブサービスの実行結果を表示するユーザインタフェース画面内に配置する第1の操作を行うのみで、当該ユーザインタフェース画面を、リンクから直接呼び出すことが可能に設計することができるので、上記のコーディング作業を行う必要が無くなったことと相俟って、構築対象のユーザインタフェースを規定する作業に要する期間、ひいてはアプリケーション・プログラムの開発期間を短縮することが可能となる。
なお、第1の発明において、無条件起動シンボルは、稼働時に、配置されたユーザインタフェース画面上で可視表示されるシンボルであってもよいが、例えば第2の発明のように、シンボル生成手段は、無条件起動シンボルとして、稼働時に、配置された特定のユーザインタフェース画面上で非可視表示されるように属性情報の設定も行ったシンボルの情報を生成することが好ましい。これにより、無条件起動シンボルを配置したユーザインタフェース画面が繁雑となることを回避することができる。
また、第1の発明において、シンボル生成手段は、例えば第3の発明のように、第1のツールに対して第1の操作が少なくとも行われる前に、ユーザインタフェース画面の構成要素として使用可能なシンボルとして、第2のツールを用いて生成されたn種類の第2プログラムのうちの何れかを呼び出して、n種類の第2プログラムによって実行可能なm(m≧n)種類の処理のうちの互いに異なる処理を行わせるためのm種類の条件起動シンボルの情報を各々生成する条件起動シンボル生成手段と、条件起動シンボル生成手段によって情報が生成されたm種類の条件起動シンボルのうちの特定のシンボルが、稼働時に、配置されたユーザインターフェース画面上で可視表示されている状態で選択された場合に、コンピュータにより、n種類の第2プログラムのうち対応する処理を実行可能な特定の第2プログラムを起動させて対応する処理を実行させる第4プログラムを生成し、生成した第4プログラムを特定のシンボルの情報に付加することを、m種類の条件起動シンボルに対して各々行うプログラム付加手段と、第1のツールに対して第1の操作が行われる際に、プログラム付加手段によって第4プログラムが付加されたm種類の条件起動シンボルの情報の中から選択され、設計中の特定のユーザインタフェース画面内に配置された特定の条件起動シンボルに対して無条件起動シンボルへの変更が指示された場合に、画面内に配置された特定の条件起動シンボルの情報に付加されている第4プログラムを、稼働時に、配置された特定のユーザインタフェース画面がリンクから直接呼び出されると、コンピュータにより、対応する処理を実行可能な特定の第2プログラムを起動させて対応する処理を実行させる処理を行わせる第3プログラムへ変更することで、特定のユーザインタフェース画面内に配置された特定の条件起動シンボルから無条件起動シンボルを生成する変更手段と、で構成することができる。
これにより、開発者が第1のツールを用いて構築対象のユーザインタフェースを規定する作業を行う際には、シンボル生成手段のうちの条件起動シンボル生成手段によって生成された条件起動シンボルも、第1のツールにより、ユーザインタフェース画面の構成要素として使用可能なシンボルとして表示画面に表示され、第1の操作を行うことで、表示されている条件起動シンボルのうちの所望の起動シンボル(m種類の処理のうち実行を所望している処理に対応する条件起動シンボル)を、設計中のユーザインタフェース画面内に配置することが可能となる。また、稼働時に上記のユーザインタフェース画面が表示されている状態で、利用者が上記の条件起動シンボルを選択すると、当該起動シンボルに付加されている第4プログラムが実行され、前記対応する処理を実行可能な特定の第2プログラムを起動させて前記対応する処理が行われることになる。従って、第3発明によれば、開発対象のアプリケーション・プログラムが有するユーザインタフェースが、選択されると第2プログラムを起動させて対応する処理を実行させる条件起動シンボルが画面内に配置されたユーザインタフェース画面を含んでいる場合にもコーディング作業を省略することができる。
また、第1のツールに対して第1の操作を行う際に、開発者が、条件起動シンボル生成手段によって生成されたm種類の条件起動シンボルの中から特定の条件起動シンボルを選択して設計中の特定のユーザインタフェース画面(特定のユーザインタフェース画面を呼び出すためのアドレス情報を含むリンク情報が埋め込まれたリンクが選択されることでリンクから直接呼び出されると共に、第2プログラムによって行われた所定のウェブサービスを提供する処理の結果を表示するユーザインタフェース画面)内に配置し、画面内に配置した特定の条件起動シンボルに対して無条件起動シンボルへの変更を指示する操作を行えば、画面内に配置した特定の条件起動シンボルが無条件起動シンボルに変更されるので、第2プログラムによってm種類の処理のうちの所望の処理を実行させる無条件起動シンボルを生成させることを、簡易な操作によって実現することができる。
第6の発明に係るアプリケーション開発支援プログラムは、コンピュータを、ユーザインタフェース画面の構成要素として使用可能な複数種のシンボルをコンピュータによって表示画面に表示させると共に、開発者により、前記複数種のシンボルのうちの所望のシンボルを画面内の所望の位置に配置することでユーザインタフェース画面を設計する第1の操作が少なくとも行われることで構築対象のユーザインタフェースが規定されると、前記ユーザインタフェースを実現するための第1プログラムをコンピュータによって生成させる第1のツール、及び、所望のウェブサービスを提供する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するための第2プログラムをコンピュータによって生成させる第2のツールを用いて行われる、前記第1プログラム及び前記第2プログラムを含むアプリケーション・プログラムの開発を支援するアプリケーション開発支援装置として機能させるためのアプリケーション開発支援プログラムであって、前記コンピュータを、前記ユーザインタフェース画面の構成要素として使用可能で、かつ、前記第2のツールを用いて生成された前記第2プログラムを呼び出して前記所定のウェブサービスを提供する処理をコンピュータによって行わせるための起動シンボルの情報として、特定のユーザインタフェース画面を呼び出すためのアドレス情報を含むリンク情報が埋め込まれたリンクが選択されることで前記リンクから直接呼び出されると共に、前記第2プログラムによって行われた前記所定のウェブサービスを提供する処理の結果を表示する前記特定のユーザインタフェース画面に配置され、稼働時に、配置された前記特定のユーザインタフェース画面が前記リンクから直接呼び出されると、前記第2プログラムを起動させて前記所定のウェブサービスを提供する処理を実行させる処理をコンピュータによって行わせる第3プログラムを付加した無条件起動シンボルの情報を生成するシンボル生成手段として機能させることを特徴としている。
第6の発明に係るアプリケーション開発支援プログラムは、コンピュータを、上記のシンボル生成手段として機能させるためのプログラムであるので、コンピュータが第6の発明に係るアプリケーション開発支援プログラムを実行することで、コンピュータが第1の発明のアプリケーション開発支援装置として機能することになり、第1の発明と同様に、リンクが選択されることで呼び出され、特定のウェブサービスの実行結果を表示するユーザインタフェース画面を含むユーザインタフェースを有するアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現することができる。
以上説明したように本発明は、ユーザインタフェース画面の構成要素として使用可能でかつ所定のウェブサービスを提供する処理をコンピュータによって行わせるための起動シンボルの情報として、特定のユーザインタフェース画面を呼び出すためのアドレス情報を含むリンク情報が埋め込まれたリンクが選択されることでリンクから直接呼び出されると共に、所定のウェブサービスを提供する処理の結果を表示する特定のユーザインタフェース画面に配置され、稼働時に、配置された特定のユーザインタフェース画面がリンクから直接呼び出されると、所定のウェブサービスを提供する処理を実行させる処理をコンピュータによって行わせる第3プログラムを付加した無条件起動シンボルの情報を生成するようにしたので、リンクが選択されることで呼び出され、特定のウェブサービスの実行結果を表示するユーザインタフェース画面を含むユーザインタフェースを有するアプリケーション・プログラムの開発を、コーディング作業を行うことなく実現できる、という優れた効果を有する。
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図1には本実施形態に係る第1のコンピュータ・システム10が示されている。本実施形態に係る第1のコンピュータ・システム10は、所定のウェブサイトにアクセスした利用者に対して所定のサービス(ウェブサービス)を提供するためのアプリケーション・プログラムを開発する際に使用されるコンピュータ・システムであり、サーバ・コンピュータ12がイントラネット14を介して多数台のクライアント端末16と各々接続されて構成されている。個々のクライアント端末16は、上記のアプリケーション・プログラムを開発する開発者によって操作される端末であり、例えばパーソナル・コンピュータ(PC)等から成り、CPU16A、RAM等から成るメモリ16B、HDD(Hard Disk Drive)等から成る記憶部16C、ネットワークインタフェース(I/F)部16Dを備えている。個々のクライアント端末16には、表示手段としてのディスプレイ18、入力手段としてのキーボード20及びマウス22が各々接続されており、ネットワークI/F部16Dを介してイントラネット14に接続されている。
また、上記のアプリケーション・プログラムは、所定のウェブサイトにおけるユーザインタフェース(UI)の部分を実現するための画面制御プログラム(本発明における第1プログラム)と、利用者に所定のウェブサービスを提供するためのウェブサービス提供プログラム(本発明における第2プログラム)に大別される。クライアント端末16の記憶部16Cには、上記の画面制御プログラムを開発するためのUI構築ツールのプログラムと、上記のウェブサービス提供プログラムを開発するためのウェブサービス作成ツールのプログラムが各々インストールされており、更に、クライアント端末16で後述する条件起動ボタン生成処理を行うための条件起動ボタン生成プログラム及び無条件起動ボタン生成処理を行うための無条件起動ボタン生成プログラムもインストールされている。この条件起動ボタン生成プログラム及び無条件起動ボタン生成プログラムは第6の発明のアプリケーション開発支援プログラムに対応しており、クライアント端末16は、CPU16Aが上記の条件起動ボタン生成プログラム及び無条件起動ボタン生成プログラムを実行することで、本発明に係るアプリケーション開発支援装置として機能する。
なお、UI構築ツールは本発明に係る第1のツールに、ウェブサービス作成ツールは本発明に係る第2のツールに各々対応している。UI構築ツールとしてはJSF(Java(登録商標) Server Faces)の規格に準拠したツールが好適であるが、他の規格に準拠したツールであってもよい。また、ウェブサービス作成ツールとしてはBPEL(Business Process Execution Language)の規格に準拠したツールが好適であるが、他の規格に準拠したツールであってもよい。
一方、サーバ・コンピュータ12は、CPU12A、RAM等から成るメモリ12B、HDD等から成る記憶部12C、ネットワークI/F部12Dを備えており、ネットワークI/F部12Dを介してイントラネット14に接続されている。前述のウェブサービス作成ツールを用いたウェブサービス提供プログラムの開発では、個々のウェブサービス(例えば、後述する「書籍検索」や「書籍購入」等)を単位としてプログラムが開発されるが、開発されたウェブサービス提供プログラムは、他のウェブサイトにおける同一ウェブサービスの提供にも利用可能である。このため、サーバ・コンピュータ12の記憶部12Cには、開発されたウェブサービス提供プログラムを登録するためのウェブサービス・ライブラリが記憶されており、このウェブサービス・ライブラリに登録されたウェブサービス提供プログラムは、互いに異なるクライアント端末16を操作する複数の開発者が各々使用可能とされている。
次に図8を参照し、第1のコンピュータ・システム10によって開発されたアプリケーション・プログラムの実行環境としての第2のコンピュータ・システム30の構成について説明する。第2のコンピュータ・システム30は特定ウェブサイトを運営するためのウェブサイト運営システム32を備えている。ウェブサイト運営システム32は、アプリケーション・サーバ34、ウェブサービス提供サーバ36及びDB(データベース)サーバ38を備え、ウェブサービス提供サーバ36及びDBサーバ38が通信回線を介してアプリケーション・サーバ34に各々接続されて構成されている。
アプリケーション・サーバ34は、CPU34A、RAM等から成るメモリ34B、HDD等から成る記憶部34C、ネットワークI/F部34Dを備えており、記憶部34Cには、先に説明した第1のコンピュータ・システム10を利用して開発されたアプリケーション・プログラムのうち前述の画面制御プログラムがインストールされている。アプリケーション・サーバ34のネットワークI/F部34Dは、多数台のウェブサーバが通信回線を介して相互に接続されて成るコンピュータ・ネットワーク(インターネット)40に接続されており、インターネット40には、CPU42A、RAM等から成るメモリ42B、HDD等から成る記憶部42C、ネットワークI/F部42Dを備え、記憶部34Cにブラウザ(ウェブ閲覧ソフト)のプログラムがインストールされていると共に、表示手段としてのディスプレイ44、入力手段としてのキーボード46及びマウス48が各々接続されたクライアント端末42が多数台接続されている。
また、ウェブサービス提供サーバ36はCPU36A、RAM等から成るメモリ36B、HDD等から成る記憶部36C、ネットワークI/F部36Dを備えており、HDD36Cには、先に説明した第1のコンピュータ・システム10を利用して開発されたアプリケーション・プログラムのうち前述のウェブサービス提供プログラムがインストールされている。
次に本実施形態の作用として、まず、ウェブサービス作成ツールを用いて行われるウェブサービス提供プログラムの開発について説明する。ウェブサービス提供プログラムを開発するために、開発者がクライアント端末16上でウェブサービス作成ツールのプログラムを起動すると、クライアント端末16のディスプレイ18には、例として図2(A)に示すような作成画面が表示される。ウェブサービス作成ツールは、提供対象のウェブサービスを実現する処理を規定するフローチャートが開発者によって作成されると、作成されたフローチャートが表す処理を実行するためのウェブサービス提供プログラムを生成する機能を備えたツールであり、図2(A)に示す作成画面には、開発者がフローチャートを作成するための作業領域と、フローチャートの作成に利用可能で互いに異なる処理を表す複数種の部品(シンボル)が表示されたパレットが設けられている。
上記の作成画面が表示されると、開発者は、マウス22やキーボード20を介し、パレット内に表示されている複数の部品の中から所望の部品を選択して作業領域に配置し、必要に応じて、配置した部品が表す処理の内容を規定する情報を入力すると共に、配置した部品と作業領域に既に配置した部品との接続関係(各部品が表す処理の実行順序)を規定する操作を繰り返すことで、例として図2(B)に示すように、提供対象のウェブサービスを実現する処理を規定するフローチャートを作成する。フローチャートの作成が完了すると、開発者は、作成したフローチャートに対応するプログラムの生成を指示する操作を行う。パレット内に表示されている個々の部品には、個々の部品が表す処理を実現するためのプログラムが付加されており、ウェブサービス作成ツールは、プログラムの生成が指示されると、作成されたフローチャートを構成する個々の部品に付加されているプログラムを、開発者によって入力された処理内容を規定する情報に基づいて修正し、作成されたフローチャートにおける個々の部品の接続関係に応じて並べ替える等の処理を行うことで、作成されたフローチャートが表す処理を実行するためのプログラム(ウェブサービス提供プログラム)を生成する。これにより開発者は、コーディング作業を行うことなく、所望のウェブサービスを提供するウェブサービス提供プログラムを得ることができる。
また、ウェブサービス作成ツールは、生成したウェブサービス提供プログラムを実行する際の入力変数及び出力変数の名称等を記述した変数定義情報も生成する。この変数定義情報は、より詳しくはウェブサービス提供プログラムによって実現されるウェブサービスを単位として生成され、例えば個々のウェブサービスを実現するための処理に共通部分が多い等の理由で、複数種のウェブサービスを実現するフローチャートが作成され、当該フローチャートに基づいて複数種のウェブサービスを実現するウェブサービス提供プログラムが生成された場合、ウェブサービス作成ツールにより、前記複数種のウェブサービスのうちの互いに異なるウェブサービスに対応する複数の変数定義情報が各々生成される。
複数種のウェブサービスを実現するウェブサービス提供プログラムが生成された場合、ウェブサービス提供プログラムの種類数nは提供可能なウェブサービスの種類数mよりも少なくなる(n<m)が、個々のウェブサービス提供プログラムが各々単一のウェブサービスを実現するプログラムである場合は、ウェブサービス提供プログラムの種類数nは提供可能なウェブサービスの種類数mと同数(n=m)となる。なお、上記の変数定義情報は、例えばBPELの規格ではWSDL(Web Service Description Language)と称される。また本実施形態では「個々の変数に一定の名称を用いる」という開発ルールが存在しており、同一の変数を用いるウェブサービスは、当該ウェブサービスの内容に拘わらず、対応する変数定義情報に規定されている前記変数の名称が同一とされている。
上記のようにしてウェブサービス作成ツールによるウェブサービス提供プログラム及び変数定義情報の生成が完了すると、開発者は、生成されたウェブサービス提供プログラム及び変数定義情報をクライアント端末16からサーバ・コンピュータ12へアップロードさせる。サーバ・コンピュータ12へアップロードされたウェブサービス提供プログラム及び変数定義情報はウェブサービス・ライブラリに登録され、他の開発者が使用することが可能となる。
次に、UI構築ツールを用いて画面制御プログラムの開発を行うに先立って開発者が行う準備作業について説明する。UI構築ツールを用いて画面制御プログラムの開発を行う場合、開発者は、これから開発する画面制御プログラムによって実現されるUIを通じて利用者への提供を予定しているウェブサービスを全てリストアップし、リストアップした個々のウェブサービスに対応するウェブサービス提供プログラム及び変数定義情報を、例えばサーバ・コンピュータ12のウェブサービス・ライブラリからダウンロードしたり、必要に応じてウェブサービス作成ツールを起動し、前述のフローチャート作成作業を行った後にウェブサービス作成ツールによってウェブサービス提供プログラム及び変数定義情報を生成させる等によって取得する(メモリ16A又は記憶部16Aに記憶させる)。そして、利用者への提供を予定している全てのウェブサービスについて、対応するウェブサービス提供プログラム及び変数定義情報を取得すると、クライアント端末16上で条件起動ボタン生成プログラムを起動させる。
以下、起動された条件起動ボタン生成プログラムがCPU16Aによって実行されることでクライアント端末16によって行われる条件起動ボタン生成処理について、図3を参照して説明する。条件起動ボタン生成処理では、まずステップ50において、メモリ16A又は記憶部16Aに記憶されている、利用者への提供を予定している個々のウェブサービスに対応する変数定義情報(例えばBPELの規格ではWSDL)を各々参照し、個々の変数定義情報に記述されている入力変数及び出力変数を全て抽出する。例えば利用者への提供を予定しているウェブサービスの種類数がmである場合、m個の変数定義情報から入力変数及び出力変数が各々抽出される。次のステップ52では、ステップ50で抽出した入力変数及び出力変数のうち重複している変数(名称が同一、すなわち同一の変数)を1つに纏め、各変数の格納領域が設けられた変数格納領域(例えばJSFの規格ではマネージドビーン)を生成する。
例として図6(A)に示すように、利用者への提供を予定しているウェブサービスが「書籍検索サービス」及び「書籍購入サービス」であり、「書籍検索サービス」の入力変数が「書籍名」、出力変数が「書籍ID」であり、「書籍購入サービス」の入力変数が「書籍ID」及び「購入者」、出力変数が「結果」である場合、重複している「書籍ID」が1つに纏められることで、「書籍名」「書籍ID」「購入者」及び「結果」の各変数の格納領域が1個ずつ設けられた変数格納領域が生成されることになる。
ステップ54では利用者への提供を予定しているウェブサービスの中から単一のウェブサービスを処理対象として選択し、次のステップ56では、稼働時にUI画面上に可視表示され、選択することで処理対象のウェブサービスをウェブページ上で呼び出すことが可能な条件起動ボタン(の情報)を生成する。詳細は後述するが、UI構築ツールでは、UI画面の構成要素として使用可能な情報入力/表示欄や各種のボタン等のシンボルが作成画面(図5も参照)のパレット内に表示され、開発者により、所望のシンボルを選択して所望の位置に配置する操作が繰り返されることでUI画面の設計が行われる。ステップ56では、稼働時にUI画面上に可視表示され、選択することで処理対象のウェブサービスをウェブページ上で呼び出すことが可能な条件起動ボタンとして、UI構築ツールと同一の規格(例えばJSF)に準拠した条件起動ボタン(の情報)を生成する。これにより、生成した条件起動ボタンはUI構築ツールの作成画面のパレット内に表示することが可能となる。なお、ステップ56は第3の発明の条件起動シンボル生成手段に対応している。
次のステップ58以降の処理は第3の発明のプログラム付加手段に対応しており、まずステップ58では、処理対象のウェブサービスに対応する変数定義情報に記述されてる入力変数及び出力変数の中から単一の変数を選択し、次のステップ60では、ステップ52で生成した変数格納領域をステップ58で選択した変数の名称をキーとして検索することで、ステップ58で選択した変数に対応する格納領域を変数格納領域から抽出する。ステップ62では、ステップ58で選択した変数が入力変数か否か判定する。判定が肯定された場合はステップ64へ移行し、変数格納領域からステップ60で抽出した格納領域に格納されているデータを、ステップ58で選択した変数(入力変数)として処理対象のウェブサービスへ引き渡す代入文(プログラム)を作成する。また、ステップ58で選択した変数が出力変数であれば、ステップ62の判定が否定されてステップ66へ移行し、処理対象のウェブサービスによる処理終了時に処理対象のウェブサービスから引き渡される出力変数のうち、ステップ58で選択した出力変数を、変数格納領域からステップ60で抽出した格納領域内に格納させる代入文(プログラム)を作成する。
次のステップ68では、処理対象のウェブサービスに対応する変数定義情報に記述されてる全ての変数に対して上記の処理を行ったか否か判定する。判定が否定された場合はステップ58に戻り、ステップ68の判定が肯定される迄ステップ58〜ステップ68を繰り返す。これにより、処理対象のウェブサービス(を提供するプログラム)の起動時には、処理対象のウェブサービスにおける入力変数に対応するデータを変数格納領域から処理対象のウェブサービスへ入力変数として引き渡す処理を行い(例として図6(B)に破線で示す右向きの矢印を参照)、処理対象のウェブサービス(を提供するプログラム)の終了時には、処理対象のウェブサービスから引き渡された出力変数を変数格納領域に格納する処理を行う(例として図6(B)に破線で示す左向きの矢印を参照)プログラムが自動的に生成されることになる。
ステップ68の判定が肯定されるとステップ70へ移行し、処理対象のウェブサービスを呼び出す呼出文(プログラム)を作成する。そしてステップ72では、上述した処理で作成した呼出プログラム(ステップ64、66で作成した代入文とステップ70で作成した呼出文を含むプログラム:第3の発明の第4プログラムに相当)を、先のステップ56で生成した処理対象のウェブサービスに対応するボタン(の情報)に付加し、メモリ16B又は記憶部16Cの所定の記憶領域に記憶させる。次のステップ74では、利用者への提供を予定している全てのウェブサービスに対して上記の処理を行ったか否か判定する。判定が否定された場合はステップ54に戻り、ステップ74の判定が肯定される迄ステップ54〜ステップ74を繰り返す。これにより、利用者への提供を予定している全てのウェブサービスについて、上記の呼出プログラムが付加されたボタン(の情報)が各々生成される。そしてステップ74の判定が肯定されると条件起動ボタン生成処理を終了する。
続いて開発者は、クライアント端末16上でUI構築ツールのプログラムを起動する。これにより、クライアント端末16のディスプレイ18には、例として図5に示すような作成画面が表示される。UI構築ツールは、UIを構築するための操作を開発者に行わせ、開発者による操作が完了すると、構築されたUIを実現する画面制御プログラムを生成する機能を備えたツールであり、図5に示す作成画面には、開発者がUI画面(ウェブページ)を作成するためのUI画面作成領域と、UI画面の構成要素として使用可能な情報入力/表示欄や各種のボタン等のシンボルが表示されたパレットと、UI画面作成領域で作成された複数のUI画面の間の遷移を定義するための画面遷移定義領域が各々設けられている。本実施形態では、UI構築ツールの起動に先立って前述の条件起動ボタン生成処理が実行されるので、UI構築ツールの起動時には、条件起動ボタン生成処理によって生成されて所定の記憶領域に記憶されている条件起動ボタンの情報も読み込まれ、例として図5に示すように、条件起動ボタン生成処理によって生成された条件起動ボタン(利用者への提供を予定している個々のウェブサービスを呼び出すためのボタン)もUI画面の作成に使用可能なシンボルの1つとしてパレット内に表示される。
上記のようにして準備作業が完了すると、続いて開発者は、構築対象のUIを規定するための操作を行うことで、ウェブサービスを提供する所定のウェブサイトにおけるUIの構築(画面制御プログラムの開発)を行う。すなわち開発者は、マウス22やキーボード20を介し、パレット内に表示されている複数のシンボルの中から所望のシンボルを選択してUI画面作成領域内の所望の位置に配置し、必要に応じて、UI画面内に表示すべきテキスト情報を入力する操作(第1の操作)を繰り返すことで、所定のウェブサイトを構成する複数のUI画面(ウェブページ)を順に作成(設計)する。なお、個々のUI画面の作成において、作成しているUI画面が、利用者へ特定のウェブサービスを提供する契機となる画面である場合、開発者は、パレット内に表示されているシンボルの中から特定のウェブサービスを呼び出すための条件起動ボタンも選択し、当該ボタンもUI画面内に配置する操作を行う。
ところで、構築対象のUIの中に、特定のウェブサービスの処理結果を表示する画面内容で、かつリンク情報が埋め込まれたリンクが選択されることで当該リンクから直接呼び出される可能性の有る特定のUI画面(以下、この画面を「リンク呼出UI画面」と称する)が含まれている場合、開発者は、リンク呼出UI画面の作成時に、作成中のUI画面内に一旦配置した条件起動ボタンの無条件起動化(無条件起動ボタンへの変更)を指示する操作を行う。
この操作は、例えば先の条件起動ボタン生成処理によって生成されて作成画面のパレット内に表示されている複数の条件起動ボタンのうち、リンク呼出UI画面で処理結果が表示される特定のウェブサービスに対応する特定の条件起動ボタンを選択し、選択した特定の条件起動ボタンを作成中のUI画面内の所望の位置に一旦配置する操作を行った後に、作成中のUI画面内に配置した特定の条件起動ボタンのプロパティ(属性情報)を表示させる操作を行い、次に、表示された特定の条件起動ボタンの属性情報のうち、UI画面が呼び出されると呼出プログラムを無条件に実行させる機能(本実施形態ではこの機能を「SubmitOnLoad機能」と称している)をオンにする操作を行うことによって成される。これにより、クライアント端末16上で無条件起動ボタン生成プログラムが起動され、起動された条件起動ボタン生成プログラムがCPU16Aによって実行されることで、図4に示す無条件起動ボタン生成処理が実行される。
この無条件起動ボタン生成処理では、まずステップ80において、リンク呼出UI画面内に配置された特定の条件起動ボタン(SubmitOnLoad機能のオンが指示された条件起動ボタン)の情報をメモリ16B又は記憶部16Cから読み出し、無条件起動化後のボタンがリンク呼出UI画面上で非可視化されるように、前記読み出したボタンの情報のうちボタンの属性情報(詳しくはボタンの表示色を規定する情報)を変更(透明に)する。またステップ82では、前記読み出したボタンの情報の情報から、先の条件起動ボタン生成処理によって生成された呼出プログラムを抽出する。
ステップ82で抽出した呼出プログラムは、稼働時(開発されたアプリケーション・プログラムの実行時)に、対応する条件起動ボタンが配置されたUI画面がクライアント端末42から呼び出されてクライアント端末42のディスプレイ44に表示され、更に、表示されたUI画面内に可視表示されている前記条件起動ボタンが選択された場合に実行され、対応するウェブサービスの呼び出し等の処理を行うものであるが、次のステップ84では、リンクが選択される等によって無条件起動ボタンが配置されたUI画面(リンク呼出UI画面)が呼び出されると、前記呼出プログラムが無条件で(ボタン選択の操作を経ることなく)実行されるように、ステップ82で抽出した呼出プログラムを変更し、無条件起動ボタン生成処理を終了する。なお、ステップ84の処理は、例えば呼出プログラムのうち、ボタン選択の操作が行われたか否かを判定する判定文(プログラム)を削除する等によって行うことができる。
上記の無条件起動ボタン生成処理が完了すると、作成中のUI画面内に配置されていた条件起動ボタンが無条件起動化され(無条件起動ボタンへ変更され)、先のステップ80における属性情報の変更に伴い、作成中のUI画面内における表示も可視表示から非可視表示に変化する(透明化される)。また、作成中のUI画面内に配置されていた条件起動ボタンが無条件起動ボタンへ変更されたことに伴い、作成中のUI画面は、当該UI画面がリンクから直接呼び出されると、画面内の無条件起動ボタンに付加されている呼出プログラムがアプリケーション・サーバ34で無条件に実行されることで、特定のウェブサービスが呼び出され、特定のウェブサービスに相当する処理が終了すると、特定のウェブサービスの処理結果を表示するUI画面、すなわちリンク呼出UI画面へ変更されることになる。
このように、開発者は、作成中のUI画面内に条件起動ボタンを配置し、配置した条件起動ボタンのプロパティを表示させてSubmitOnLoad機能のオンを指示する、というごく簡単な操作により、コーディング作業を行うことなく、無条件起動ボタンの生成(作成中のUI画面のリンク呼出UI画面への変更)を行うことができる。なお、上述した無条件起動ボタン生成処理を経た呼出プログラムは本発明に係る第3プログラムに対応している。また、上述した無条件起動ボタン生成処理は、先に説明した条件起動ボタン生成処理と共に本発明に係るシンボル生成手段に対応しており、特に無条件起動ボタン生成処理は第3の発明の変更手段に対応している。
また、作成したUI画面が、利用者による情報の入力又は情報の表示を行うための情報入力/表示欄が設けられている画面である場合、開発者は、画面内の個々の情報入力/表示欄を、先のボタン生成処理によって生成された変数格納領域のうち、情報入力/表示欄を介して入力される情報又は情報入力/表示欄に表示する情報に対応する格納領域と関連付ける(UIバインドともいう)操作(第2の操作)を行う。更に、ウェブサイトを構成する全てのUI画面(ウェブページ)を作成すると、開発者は、作成した各UI画面の遷移を画面遷移定義領域内で規定する操作(第3の操作)を行う。
開発者による操作について具体例を挙げて説明すると、図6(B)に示すように、開発対象のウェブサイトを通じて利用者への提供を予定しているウェブサービスのプログラムとして、書籍検索サービス及び書籍購入サービスのプログラムが既に開発されており、上記ウェブサイトのUIとして、利用者が検索対象の書籍名を入力して検索を指示するための書籍検索画面、上記検索によって抽出された書籍IDを利用者が確認し、必要に応じて書籍IDを変更した後、購入者情報を入力して購入を指示するための書籍購入画面、及び、利用者が購入処理の結果を確認するための結果表示画面へ順に遷移するUIを構築する場合、開発者は、書籍検索画面については、書籍名を入力するための情報入力/表示欄及び書籍検索サービスを呼び出すための条件起動ボタンを画面内に各々配置する操作を行うことで書籍検索画面を作成し、当該書籍検索画面内の情報入力/表示欄を、変数格納領域のうち書籍名の格納領域と関連付ける操作を行う。
また開発者は、書籍購入画面については、書籍IDの表示及び入力を行うための情報入力/表示欄、購入者の情報を入力するための情報入力/表示欄及び書籍購入サービスを呼び出すための条件起動ボタンを画面内に各々配置する操作を行うことで書籍購入画面を作成し、当該書籍購入画面内のうち書籍IDの表示及び入力を行うための情報入力/表示欄を、変数格納領域のうち書籍IDの格納領域と関連付けると共に、購入者情報を入力するための情報入力/表示欄を、変数格納領域のうち購入者情報の格納領域と関連付ける操作を行う。また開発者は、結果表示画面については、結果情報を表示するための情報入力/表示欄及び画面の消去を指示するためのボタン(図6(B)に示す「OK」と表記したボタン)を画面内に各々配置する操作を行うことで結果表示画面を作成し、当該結果表示画面内の情報入力/表示欄を、変数格納領域のうち結果情報の格納領域と関連付ける操作を行う。
更に開発者は、書籍検索画面が表示されている状態で当該画面内の条件起動ボタンが選択されると書籍検索画面から書籍購入画面へ遷移し、書籍購入画面が表示されている状態で当該画面内の条件起動ボタンが選択されると書籍購入画面から結果表示画面へ遷移するように、各画面の遷移を規定する操作を行う。以上の操作により図6(B)に示すUIを規定することができる。
なお、利用者への提供を予定している個々のウェブサービスを単位として変数格納領域を設ける従来方式で上記のUIを構築しようとした場合、例として図7に示すように、書籍購入画面内に設けられ書籍IDの表示及び入力を行うための情報入力/表示欄を、書籍検索サービスに対応する変数格納領域内の書籍IDの格納領域、及び、書籍購入サービスに対応する変数格納領域内の書籍IDの格納領域と各々関連付ける必要がある。しかしながら、UI構築ツールが準拠しているJSF等の規格では、個々の情報入力/表示欄と関連付けることが可能な変数格納領域内の格納領域の数が各々1個に制限されており、上記のように書籍IDの表示及び入力のための書籍購入画面内の情報入力/表示欄を複数の格納領域と関連付けることができないので、図6(B)に示すようなUIは構築できない。これに対して本実施形態では、先に説明した条件起動ボタン生成処理において、変数定義情報に重複定義されている変数の格納領域を共通化した変数格納領域を生成しているので、図6(B)に示すように、書籍IDの表示及び入力のための書籍購入画面内の情報入力/表示欄を単一の格納領域と関連付けるのみで図6(B)に示すUIを構築することができ、実現可能なUIの設計の自由度を向上させることができる。
また、上記は条件起動ボタンが配置される通常のUI画面を含むUIの構築についての説明であるが、リンク呼出UI画面についても、ウェブサービスの処理結果を表示するための情報入力/表示欄を設け、設けた情報入力/表示欄をウェブサービスの処理結果が格納される格納領域と関連付ける操作(第2の操作)が少なくとも行われる。また、リンク呼出UI画面には無条件起動ボタンに加え、第1の操作を行うことで条件起動ボタンを更に配置してもよく、リンク呼出UI画面に配置した条件起動ボタンが選択されたことを契機として他のUI画面へ遷移させる場合には、リンク呼出UI画面からの遷移を画面遷移定義領域内で規定する操作(第3の操作)も行われる。
UIを規定する操作が完了すると、開発者はUI構築ツールに対し、前記UIを実現するプログラムの生成を指示する。これによりUI構築ツールは、開発者によって構築されたUIを実現する(クライアント端末42(図8参照)からの要求に応じて、クライアント端末42のディスプレイ44に各UI画面を順に表示させる)画面制御プログラムを生成する。この画面制御プログラムは、個々のUI画面を規定するデータと、利用者により個々のUI画面を介して各種の操作が行われた場合の処理を規定するプログラムを含んで構成されるが、各種のウェブサービスを呼び出すための条件起動ボタンが設けられたUI画面については、先に説明した条件起動ボタン生成処理によって生成されて前記条件起動ボタンに付加されている呼出プログラムが読み出され、読み出された呼出プログラムが、前記条件起動ボタンが利用者によって選択された場合の処理を規定するプログラムとして用いられる(画面制御プログラムに組み込まれる)。また、無条件起動ボタンが設けられたリンク呼出UI画面については、先に説明した無条件起動ボタン生成処理によって変更されて無条件起動ボタンに付加されている呼出プログラムが、リンクからリンク呼出UI画面が呼び出された際に無条件に行う処理を規定するプログラムとして用いられる(画面制御プログラムに組み込まれる)。
以上の操作・処理により、画面制御プログラム及びウェブサービス提供プログラムを含むアプリケーション・プログラムの開発が完了する。このように、本実施形態では、ウェブサービス提供プログラムについては、ウェブサービス作成ツールを利用することでコーディング作業を行うことなく開発することができ、画面制御プログラムについても、事前に条件起動ボタン生成処理を行い、利用者への提供を予定している個々のウェブサービスの変数定義情報に重複定義されている変数の格納領域を共通化した変数格納領域を生成しておくと共に、利用者への提供を予定している個々のウェブサービスを呼び出す呼出プログラムを付加した条件起動ボタンを生成しておくことで、開発者は、UI構築ツールを利用し、UI構築ツールの作成画面のパレット内に表示される前記条件起動ボタンを画面内に配置する操作を含む各種の操作を行うことで、コーディング作業を行うことなく所望のUIの構築(画面制御プログラムの開発)を行うことができる。
また、構築対象のUIの中にリンク呼出UI画面が含まれている場合にも、開発者が、リンク呼出UI画面で処理結果が表示される特定のウェブサービスに対応する特定の条件起動ボタンを選択し、選択した条件起動ボタンを作成中のUI画面内に配置し、作成中のUI画面内に配置した条件起動ボタンを「SubmitOnLoad機能」をオンにする操作を行えば、作成中のUI画面内に配置した条件起動ボタンが無条件起動ボタンに変更され、作成中のUI画面がリンク呼出UI画面になるので、リンク呼出UI画面を含むUIの構築についてもコーディング作業を行うことなく実現することができる。従って、画面制御プログラム及びウェブサービス提供プログラムを含むアプリケーション・プログラムを非常に短い期間で開発することが可能となる。
次に、アプリケーション・プログラムの実行時(ウェブサイトの稼働時)の動作について説明する。アプリケーション・プログラムの実行時には、図8に示すように、開発したアプリケーション・プログラムのうち、画面制御プログラムがアプリケーション・サーバ34の記憶部34Cにインストールされ、ウェブサービス提供プログラムがウェブサービス提供サーバ36の記憶部36Cにインストールされる。
なお、図示は省略するが、アプリケーション・サーバ34では画面制御プログラムを実行するためのプラットフォームとして機能する所定のプログラム(以下、プラットフォーム・プログラムと称する)が実行されており、画面制御プログラムは上記のプラットフォーム上で実行される(例えばUI構築ツールがJSFの規格に準拠している場合、UI構築ツールによって生成された画面制御プログラムはJSFエンジンと称されるプラットフォーム上で実行される)。また、ウェブサービス提供サーバ36ではウェブサービス提供プログラムを実行するためのプラットフォームとして機能する所定のプログラムが実行されており、ウェブサービス提供プログラムは上記のプラットフォーム上で実行される(例えばウェブサービス作成ツールがBPELの規格に準拠している場合、ウェブサービス作成ツールによって生成されたウェブサービス提供プログラムはBPELエンジンと称されるプラットフォーム上で実行される)。
アプリケーション・サーバ34で実行される画面制御プログラムは、クライアント端末42を介して利用者からUI画面の配信が要求される毎に、配信が要求されたUI画面のデータを要求元のクライアント端末42へ送信することで、配信が要求されたUI画面を要求元のクライアント端末42のディスプレイ44に表示させる。また、利用者がキーボード46等を操作することでディスプレイ44に表示されたUI画面内の情報入力/表示欄内に入力された情報は、クライアント端末42のメモリ42B等に一旦記憶された後に、所定のタイミング(例えば次のUI画面への遷移のトリガとなる条件起動ボタンが選択された等のタイミング)でアプリケーション・サーバ34へ転送される。
アプリケーション・サーバ34上で動作しているプラットフォーム・プログラムは、利用者によってUI画面内の情報入力/表示欄内に入力された情報をアプリケーション・サーバ34がクライアント端末42から受信すると、受信した情報を、アプリケーション・サーバ34のメモリ34B上に設けられた変数格納領域のうち、情報が入力された情報入力/表示欄と予め関連付けされた格納領域に格納させる(図6(B)に「バインドによる自動代入」と表記した実線の矢印のうち右向きの矢印に相当する処理)。
また、UI画面内のうち任意のウェブサービスを呼び出すための条件起動ボタンが利用者によって選択された場合には、選択された条件起動ボタンに付加されている呼出プログラムにより、対応するウェブサービスのプログラムがウェブサービス提供サーバ36上で起動されると共に、変数格納領域のうち起動されたプログラムにおける入力変数に対応する格納領域(予め設定された格納領域)内のデータが変数格納領域から読み出され、読み出されたデータが起動されたプログラムへ入力変数として引き渡される(図6(B)に「呼出プログラムによる代入」と表記した破線の矢印のうち右向きの矢印に相当する処理)。これにより、利用者によって選択された条件起動ボタンに対応するウェブサービスを実現するための処理がウェブサービス提供サーバ36上で実行される。なお、ウェブサービスを実現するための処理がDBへのアクセスを含んでいる場合、アプリケーション・サーバ34経由でウェブサービス提供サーバ36からDBサーバ38へDBへのアクセスが指示されることでDBへのアクセスが実現される。
また、ウェブサービス提供サーバ36上で起動されたプログラムによる処理が終了すると、ウェブサービス提供サーバ36からアプリケーション・サーバ34へ出力変数に相当するデータが引き渡され、呼出プログラムにより、引き渡されたデータを変数格納領域のうちの出力変数に対応する格納領域(予め設定された格納領域)内に格納する処理(図6(B)に「呼出プログラムによる代入」と表記した破線の矢印のうち左向きの矢印に相当する処理)がアプリケーション・サーバ34上で行われる。また、上記処理によって新たにデータが格納された格納領域が何れかのUI画面内の情報入力/表示欄と関連付けられている場合には、アプリケーション・サーバ34上で動作しているプラットフォーム・プログラムにより、上記格納領域に新たに格納されたデータをUI画面内の関連付けられた情報入力/表示欄に表示させる処理が行われる(図6(B)に「バインドによる自動代入」と表記した実線の矢印のうち左向きの矢印に相当する処理)。これにより、ウェブサイトを通じて各種のウェブサービスが利用者に提供されることになる。
一例として、図6(B)に示す各UI画面から成るウェブサイトが利用者によってアクセスされた場合、まず利用者が操作しているクライアント端末42のディスプレイ44に書籍検索画面が表示される。また、利用者が書籍検索画面内の書籍名の入力/表示欄内に検索対象の書籍名を入力した後に、「検索」と表記された条件起動ボタン(書籍検索サービスを呼び出すためのボタン)を選択すると、書籍名の入力/表示欄内に入力された書籍名は、プラットフォーム・プログラムによって変数格納領域の書籍名の格納領域に一旦格納された後に、呼出プログラムによって起動された書籍検索サービスのプログラムに入力変数として引き渡される。また、クライアント端末42のディスプレイ44に表示されているUI画面は、「検索」と表記された条件起動ボタンが選択されたことに伴って書籍購入画面に切り替わるが、書籍検索サービスの出力変数としての書籍IDは呼出プログラムによって変数格納領域の書籍IDの格納領域に一旦格納された後に、プラットフォーム・プログラムによって書籍購入画面内の書籍IDの入力/表示欄に表示される。
また利用者は、ディスプレイ44に書籍購入画面が表示されると、当該画面内の書籍IDの入力/表示欄に表示された書籍IDを確認し、必要に応じて書籍IDを上書き入力すると共に、購入者情報の入力/表示欄内に購入者情報を入力した後に、「購入」と表記された条件起動ボタン(書籍購入サービスを呼び出すためのボタン)を選択する。これにより、購入者情報の入力/表示欄内に入力された購入者情報は、プラットフォーム・プログラムによって変数格納領域の購入者情報の格納領域に格納され(利用者によって書籍IDの上書き入力が行われた場合は、上書き入力後の書籍IDも対応する格納領域に格納される)、その後、変数格納領域内に格納されている書籍ID及び購入者情報は、呼出プログラムによって起動された書籍購入サービスのプログラムに入力変数として引き渡される。更に、クライアント端末42のディスプレイ44に表示されているUI画面は、「購入」と表記された条件起動ボタンが選択されたことに伴って結果表示画面に切り替わるが、書籍購入サービスの出力変数としての結果情報は呼出プログラムによって変数格納領域の結果情報の格納領域に一旦格納された後に、プラットフォーム・プログラムによって結果表示画面内の結果情報の情報入力/表示欄に表示される。
次に、リンク呼出UI画面のアドレス情報(URL)を含むリンク情報が埋め込まれているリンクが付加されている任意の文書がクライアント端末42のディスプレイ44に表示されている状態で、上記のリンクが選択されることでリンク呼出UI画面が直接呼び出された場合の動作について説明する。なお、上記の任意の文書は、リンクを付加可能な文書であればよく、例えばテキスト文書やスプレッドシート、プレゼンテーション文書、電子メール文書、ウェブページ等、各種のアプリケーションの何れかによって表示可能な各種文書の何れでもよい。
リンクが選択されることでリンク呼出UI画面が直接呼び出されると、リンク呼出UI画面を描画(生成)する処理が行われ、この処理の中で、まず呼び出されたリンク呼出UI画面内に配置された無条件起動ボタンに付加されている呼出プログラムがアプリケーション・サーバ34で無条件に実行され、対応するウェブサービス(例えば一覧情報を取得するウェブサービス等)のプログラムをウェブサービス提供サーバ36上で起動する処理が行われる(図9のステップ110)。そして、対応するウェブサービスを実現するための処理がウェブサービス提供サーバ36上で実行される(図9のステップ116)。
また、ウェブサービス提供サーバ36上で起動されたプログラムによる処理(例えば一覧取得処理)が終了すると、ウェブサービス提供サーバ36からアプリケーション・サーバ34へ処理結果に相当する情報(出力変数)が引き渡され、呼出プログラムにより、引き渡されたデータを変数格納領域のうちの出力変数に対応する格納領域内に格納する処理(図9のステップ110、図9に「格納」と表記した破線の矢印も参照)が行われる。また、上記処理によって新たにデータが格納された格納領域は、UI構築時に開発者によって行われた第2の操作によってリンク呼出UI画面と関連付けられており、アプリケーション・サーバ34上で動作しているプラットフォーム・プログラムにより、上記格納領域に新たに格納されたデータをリンク呼出UI画面内の関連付けられた情報入力/表示欄に表示させる処理が行われる(図9に「バインドによる自動代入」と表記した実線の矢印も参照)。
そして、ウェブサービスによる処理結果が表示されたリンク呼出UI画面の生成が完了すると、当該リンク呼出UI画面がクライアント端末42へ配信され(図9のステップ114)、クライアント端末42のディスプレイ44に表示されることになる。なお、このときディスプレイ44に表示されるリンク呼出UI画面上では、リンク呼出UI画面に配置されている無条件起動ボタンが、無条件起動ボタン生成処理で変更されたボタンの属性情報に従い、非可視表示(透明なボタンとして表示)される(図9に薄く示した「一覧取得」のボタンも参照)。
なお、上記では本発明に係る第1プログラムに相当する画面制御プログラムと、本発明に係る第2プログラムに相当するウェブサービス提供プログラムが、異なるコンピュータ(アプリケーション・サーバ34及びウェブサービス提供サーバ36)で実行される態様を説明したが、これに限定されるものではなく、第1プログラム及び第2プログラムを同一のコンピュータで実行させるようにしてもよい。
また、上記では条件起動ボタンを一旦生成した後に、生成した条件起動ボタンのうちSubmitOnLoad機能をオンする操作が行われた条件起動ボタンの情報を変更することで、同一のウェブサービスを無条件に(リンク呼出UI画面が呼び出されると)起動する無条件起動ボタンを生成する態様を説明したが、これに限定されるものではなく、条件起動ボタンの生成と独立して無条件起動ボタンの生成を行うようにしてもよい。
また、上記では無条件起動ボタンを、リンク呼出UI画面内に非可視表示される(透明化される)ボタンとして説明したが、これに限定されるものではなく、無条件起動ボタンはリンク呼出UI画面内に可視表示されるものであってもよい。
また、上記ではインターネット40を通じてウェブサイト(アプリケーション・サーバ34)へアクセスした利用者に対して所定のウェブサービスを提供する態様を説明したが、これに限定されるものではなく、インターネット40に代えてイントラネットを用い、当該イントラネットに接続可能な利用者(例えば特定企業の従業員)に所定のウェブサービスを提供する等の態様にも適用可能である。
更に、上記では本発明に係るアプリケーション開発支援プログラムに対応する条件起動ボタン生成プログラム及び無条件起動ボタン生成プログラムがクライアント端末16の記憶部16Cに予め記憶(インストール)されている態様を説明したが、本発明に係るアプリケーション開発支援プログラムは、CD−ROMやDVD−ROM等の記録媒体に記録されている形態で提供することも可能である。
本実施形態においてアプリケーション・プログラムの開発環境としての第1のコンピュータ・システムの概略構成を示すブロック図である。 (A)はウェブサービス作成ツールの作成画面の一例、(B)は当該ツールを用いて作成画面上で作成されたフローの一例を各々示すイメージ図である。 条件起動ボタン生成処理の内容を示すフローチャートである。 無条件起動ボタン生成処理の内容を示すフローチャートである。 UI構築ツールの作成画面の一例を示すイメージ図である。 (A)は変数定義情報からの変数格納領域の生成、(B)は画面内の情報入力/表示欄と格納領域のバインド、稼働時のデータ(変数)の代入を説明する概念図である。 従来方式で図6(B)と同一処理を行う場合の問題点を示す概念図である。 アプリケーション・プログラムの実行環境としての第2のコンピュータ・システムの概略構成を示すブロック図である。 リンクからウェブサービスを利用した場合の処理の流れの一例を示す概念図である。
10 コンピュータ・システム
12 サーバ・コンピュータ
16 クライアント端末
30 コンピュータ・システム
34 アプリケーション・サーバ
36 ウェブサービス提供サーバ
42 クライアント端末

Claims (2)

  1. 入力機器と、
    サービス提供プログラムおよび前記サービス提供プログラムにおける入出力変数定義情報を格納する手段と、
    クライアント端末装置と、
    を備え、
    前記クライアント端末装置は、
    個々の画面作成領域と、
    シンボル表示領域と、
    複数の画面間の遷移関係を規定する画面遷移定義領域と
    を含み、
    前記入力機器を用い、前記シンボル表示領域内に表示されている複数のシンボルの中から任意のシンボルを選択して前記画面作成領域内で画面を作成するとともに、作成した複数の画面を画面遷移定義領域に配置することで前記複数の画面の間の遷移順序を規定することを特徴とし、
    前記複数の画面を通じて提供されるウェブサービスプログラムの入力変数および出力変数の名称を取得し、同一の名称の変数を一つにまとめ、前記変数の格納領域と前記複数の画面が共通して備える変数格納領域との入出力を行なうプログラムを生成することを特徴とする画面制御プログラム生成装置。
  2. 前記同一の名称の変数の中には、ある一つのウェブサービスプログラムにおいては入力変数であり、他の一つのウェブサービスプログラムにおいては出力変数であることを特徴とする請求項に記載の画面制御プログラム生成装置。
JP2014046389A 2014-03-10 2014-03-10 オンラインシステム、プログラム生成装置および画面制御プログラム生成装置 Active JP5716108B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014046389A JP5716108B2 (ja) 2014-03-10 2014-03-10 オンラインシステム、プログラム生成装置および画面制御プログラム生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014046389A JP5716108B2 (ja) 2014-03-10 2014-03-10 オンラインシステム、プログラム生成装置および画面制御プログラム生成装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013088625A Division JP2013164861A (ja) 2013-04-19 2013-04-19 オンラインシステム、プログラム生成装置および画面制御プログラム生成装置

Publications (2)

Publication Number Publication Date
JP2014132489A JP2014132489A (ja) 2014-07-17
JP5716108B2 true JP5716108B2 (ja) 2015-05-13

Family

ID=51411499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014046389A Active JP5716108B2 (ja) 2014-03-10 2014-03-10 オンラインシステム、プログラム生成装置および画面制御プログラム生成装置

Country Status (1)

Country Link
JP (1) JP5716108B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102563127B1 (ko) * 2018-11-26 2023-08-02 에이에스엠엘 네델란즈 비.브이. 반도체 제조 프로세스의 이벤트의 근본 원인을 결정하고 반도체 제조 프로세스를 모니터링하기 위한 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7245742B2 (ja) * 2019-07-25 2023-03-24 東芝三菱電機産業システム株式会社 Scadaウェブhmiサーバ装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03192415A (ja) * 1989-12-22 1991-08-22 Hitachi Ltd 会話処理制御方法及び装置
JPH10154070A (ja) * 1996-11-26 1998-06-09 Toshiba Corp ユーザインタフェース設計装置及び方法
JP2002196926A (ja) * 2000-12-27 2002-07-12 Toshiba Corp プログラム構築システム、プログラム構築方法及び記録媒体
JP2004334464A (ja) * 2003-05-07 2004-11-25 Business Brain Showa Ota Inc ユーザインタフェース対応プログラム生成装置、およびユーザインタフェース対応プログラム生成方法、並びにコンピュータ・プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102563127B1 (ko) * 2018-11-26 2023-08-02 에이에스엠엘 네델란즈 비.브이. 반도체 제조 프로세스의 이벤트의 근본 원인을 결정하고 반도체 제조 프로세스를 모니터링하기 위한 방법
US11796978B2 (en) 2018-11-26 2023-10-24 Asml Netherlands B.V. Method for determining root causes of events of a semiconductor manufacturing process and for monitoring a semiconductor manufacturing process

Also Published As

Publication number Publication date
JP2014132489A (ja) 2014-07-17

Similar Documents

Publication Publication Date Title
JP4185159B1 (ja) アプリケーション開発支援装置及びプログラム
JP5087133B2 (ja) アプリケーション開発支援装置、プログラム及び記録媒体
US8370482B2 (en) Method and system for storing and distributing social and business contact information online
US11635974B2 (en) Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction
JP5128673B2 (ja) アプリケーション開発支援装置、プログラム及び記録媒体
CN108886672A (zh) 消息扩展应用程序商店
JP5069794B2 (ja) アプリケーション開発支援装置、プログラム及び記録媒体
JP2014102816A (ja) 設定支援装置、設定支援システム、及び設定支援方法
RU2628210C2 (ru) Активирование сервисных функций в рабочих приложениях
JP2018116751A (ja) サーバ、その処理方法及びプログラム
KR101713874B1 (ko) 스마트 기기를 이용한 건설현장 관리 시스템 및 방법
JP4714199B2 (ja) アプリケーション開発支援装置及びプログラム
JP5982962B2 (ja) データ処理装置、データ処理システム及びプログラム
JP5716108B2 (ja) オンラインシステム、プログラム生成装置および画面制御プログラム生成装置
JP2013164861A (ja) オンラインシステム、プログラム生成装置および画面制御プログラム生成装置
JP5318977B2 (ja) オンラインシステム、プログラム生成装置および画面制御プログラム生成装置
JP4927041B2 (ja) アプリケーション開発支援装置及びプログラム
JP5900050B2 (ja) 情報処理装置、情報処理システム及びプログラム
JP2006302240A (ja) 文書管理プログラム及び文書管理装置
JP6264399B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP2013015929A (ja) 画像管理装置。
Anderson et al. Arduino 1.0. 4 Core Changes
JP2017228248A (ja) 情報処理装置と、その処理方法及びプログラム
JP2007114870A (ja) オンラインシステム及び異言語使用者間情報共有方法
JP2014002556A (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150316

R150 Certificate of patent or registration of utility model

Ref document number: 5716108

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250