(57)【要約】【課題】ワークフロー処理を利用して構築された処理システムを、インターネットを含むネットワーク経由で利用するシステムを開発する際の開発工数を削減することが可能な技術を提供する。【解決手段】ワークフロー処理を提供するプログラム及びそのインタフェース定義情報を生成するプログラム生成方法であって、ビジネスプロセス定義を入力して解析し、そのワークフロー処理での案件開始、情報取得及び案件遷移に必要な情報をビジネスプロセス定義から取得するステップと、ワークフロー処理の実行要求を行う際のインタフェースを示すインタフェース定義情報を前記取得した情報を元に生成するステップと、ワークフロー処理機能を提供するプログラムを前記取得した情報と前記生成したインタフェース定義情報を元に生成するステップとを有するものである。【選択図】        図３
2004362185.tif 000002
【特許請求の範囲】
【請求項１】
ワークフロー処理を提供するプログラム及びそのインタフェース定義情報を生成するプログラム生成方法であって、
ビジネスプロセス定義を入力して解析し、そのワークフロー処理での案件開始、情報取得及び案件遷移に必要な情報をビジネスプロセス定義から取得するステップと、ワークフロー処理の実行要求を行う際のインタフェースを示すインタフェース定義情報を前記取得した情報を元に生成するステップと、ワークフロー処理機能を提供するプログラムを前記取得した情報と前記生成したインタフェース定義情報を元に生成するステップとを有することを特徴とするプログラム生成方法。
【請求項２】
案件開始ノードに対応する案件開始処理と、案件遷移ノードに対応する案件遷移処理及び案件遷移で必要な情報を取得する為の情報取得処理の各処理について、それらの処理のインタフェース定義情報を生成することを特徴とする請求項１に記載されたプログラム生成方法。
【請求項３】
案件開始ノードに対応する案件開始処理と、案件遷移ノードに対応する案件遷移処理及び案件遷移で必要な情報を取得する為の情報取得処理の各処理について、それらの処理を実行する処理部分を生成することを特徴とする請求項１または請求項２のいずれかに記載されたプログラム生成方法。
【請求項４】
前記必要な情報をビジネスプロセス定義から取得する際に、ワークフロー処理を構成する各処理の処理名と、各処理における入出力データの名称及びその型を示す情報を、案件の開始または遷移の行われる各ノード毎に取得することを特徴とする請求項１乃至請求項３のいずれか１項に記載されたプログラム生成方法。
【請求項５】
ワークフロー処理を構成する各処理の処理名に入力または出力を識別する為の識別子を付加してインタフェース定義情報のｔｙｐｅｓ部における型定義の名称を生成し、前記各処理の入出力データの名称及びその型を、前記名称を生成した型定義における要素名及び型に設定することにより、インタフェース定義情報における型定義を生成することを特徴とする請求項１乃至請求項４のいずれか１項に記載されたプログラム生成方法。
【請求項６】
インタフェース定義情報における案件遷移処理の型定義に、案件を識別する為の識別子の型定義を追加することを特徴とする請求項５に記載されたプログラム生成方法。
【請求項７】
ワークフロー処理を構成する各処理の処理名に入力または出力を識別する為の識別子を付加してインタフェース定義情報におけるｍｅｓｓａｇｅ部の名称を生成し、当該ｍｅｓｓａｇｅ部の型をインタフェース定義情報のｔｙｐｅｓ部で定義された型定義により定義することを特徴とする請求項１乃至請求項６のいずれか１項に記載されたプログラム生成方法。
【請求項８】
ワークフロー処理を構成する各処理に対応するメソッドとして、インタフェース定義情報のｔｙｐｅｓ部で定義された型定義に対応するクラスをメソッド引数または戻り値とし、当該処理を実行する為のＡＰＩを発行するメソッドを定義することを特徴とする請求項１乃至請求項７のいずれか１項に記載されたプログラム生成方法。
【請求項９】
ワークフロー処理を提供するプログラム及びそのインタフェース定義情報を生成するプログラム生成装置であって、
ビジネスプロセス定義を入力して解析し、そのワークフロー処理での案件開始、情報取得及び案件遷移に必要な情報をビジネスプロセス定義から取得する情報取得部と、ワークフロー処理の実行要求を行う際のインタフェースを示すインタフェース定義情報を前記取得した情報を元に生成するインタフェース定義情報生成部と、ワークフロー処理機能を提供するプログラムを前記取得した情報と前記生成したインタフェース定義情報を元に生成するプログラム生成部とを備えることを特徴とするプログラム生成装置。
【請求項１０】
ワークフロー処理を提供するプログラム及びそのインタフェース定義情報を生成するプログラム生成装置としてコンピュータを機能させる為のプログラムであって、
ビジネスプロセス定義を入力して解析し、そのワークフロー処理での案件開始、情報取得及び案件遷移に必要な情報をビジネスプロセス定義から取得する情報取得部と、ワークフロー処理の実行要求を行う際のインタフェースを示すインタフェース定義情報を前記取得した情報を元に生成するインタフェース定義情報生成部と、ワークフロー処理機能を提供するプログラムを前記取得した情報と前記生成したインタフェース定義情報を元に生成するプログラム生成部としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はワークフローのビジネスプロセス定義から、そのワークフロー処理をＷｅｂサービス（プログラムやオブジェクトの実行により実現される機能）として提供する技術またはそのインタフェース定義情報を生成する技術に関するものである。
【０００２】
【従来の技術】
ワークフローシステムを利用する為には、ワークフローにアクセスする為の手段が必要である。一般的なワークフローシステムでは、専用のクライアントプログラムを用いており、ワークフローにアクセスする為には専用のワークフローアプリケーションプログラムを作成する必要がある（例えば特許文献１参照）。
【０００３】
また、専用のワークフロークライアントプログラムだけではなく、業務固有のワークフロー処理を行う為のワークフローアプリケーションプログラムを開発する必要もある。但し、ワークフローアプリケーションプログラムの開発は工数がかかる為、ワークフローアプリケーションプログラムの開発を容易にする為の仕組みも提案されている（例えば特許文献２参照）。
【０００４】
【特許文献１】
特開２００１−３４６８７号公報
【特許文献２】
特開２００１−１５９９７２号公報
【０００５】
【発明が解決しようとする課題】
ワークフローシステムを利用して構築した業務システムを、広くインターネット等のネットワークから利用できる様にする為には、ワークフロー処理をＷｅｂサービスとして提供する為のワークフローアプリケーションプログラムをＷｅｂサービスサーバ上で開発する必要がある。また専用のワークフロークライアントでは、独自のプロトコルが必要になり、ファイアーウォールを通過できない為、インターネットで利用することができないという問題がある。
【０００６】
更に前記ワークフローアプリケーションプログラムを開発する場合でも、生成したワークフローアプリケーションプログラムに対して、インターネットで公開できる仕組みを更に作り込む必要がある。
【０００７】
本発明の目的は上記問題を解決し、ワークフロー処理を利用して構築された処理システムを、インターネットを含むネットワーク経由で利用するシステムを開発する際の開発工数を削減することが可能な技術を提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、ワークフロー処理を提供するプログラム及びそのインタフェース定義情報を生成するプログラム生成装置であって、ビジネスプロセス定義から、そのワークフロー処理機能を提供するプログラムとそのインタフェース定義情報を生成するものである。
【０００９】
本発明のプログラム生成装置（計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い）では、ビジネスプロセス定義を入力して解析し、そのワークフロー処理での案件開始、情報取得及び案件遷移に必要な情報をビジネスプロセス定義から取得する。
【００１０】
次に、ワークフロー処理の実行要求を行う際のインタフェースを示すインタフェース定義情報（ＷＳＤＬファイル）を前記取得した情報を元に生成した後、ワークフロー処理機能をＷｅｂサービスとしてインターネット等のネットワーク経由で提供するプログラムを前記取得した情報と前記生成したインタフェース定義情報を元に生成する。
【００１１】
その際、案件開始ノードに対応する案件開始処理と、案件遷移ノードに対応する案件遷移処理及び案件遷移で必要な情報を取得する為の情報取得処理等のワークフロー処理を構成する各処理について、それらの各処理に対応する定義情報をインタフェース定義情報中に生成し、前記各処理に対応する処理部分を、ワークフロー処理機能を提供するプログラム中に生成する。
【００１２】
ビジネスプロセス定義を解析して必要な情報を取得する際には、そのワークフロー処理を構成する案件開始処理、案件遷移処理及び情報取得処理等の各処理の処理名と、それらの各処理における入出力データの名称及びその型を示す情報を、案件の開始または遷移の行われる各ノード毎に取得する。
【００１３】
インタフェース定義情報の生成において、インタフェース定義情報のｔｙｐｅｓ部における型定義を行う際には、前記各処理の処理名に入力または出力を識別する為の識別子を付加してｔｙｐｅｓ部における型定義の名称を生成した後、前記各処理の入出力データの名称及びその型を、前記名称を生成した型定義における要素名及び型に設定することにより、インタフェース定義情報における型定義を生成する。また、案件遷移時にはワークフローシステムに対してどの案件を遷移させるかを指定する必要があるので、インタフェース定義情報における案件遷移処理の型定義に、案件を識別する為の識別子の型定義を追加する。
【００１４】
インタフェース定義情報におけるｍｅｓｓａｇｅ部の定義では、前記各処理の処理名に入力または出力を識別する為の識別子を付加してｍｅｓｓａｇｅ部の名称を生成した後、当該ｍｅｓｓａｇｅ部の型を前記ｔｙｐｅｓ部で定義された型定義により定義する。
【００１５】
インタフェース定義情報のｐｏｒｔＴｙｐｅ部の定義では、前記ビジネスプロセス定義で定義されているビジネスプロセスの名称によりｐｏｒｔＴｙｐｅ部の名称を生成した後、前記各処理の処理名によりｐｏｒｔＴｙｐｅ部におけるｏｐｅｒａｔｉｏｎの名称を生成する。
【００１６】
インタフェース定義情報のｂｉｎｄｉｎｇ部の定義では、前記各処理の処理名によりｂｉｎｄｉｎｇ部におけるｏｐｅｒａｔｉｏｎの名称を生成した後、ｂｉｎｄｉｎｇ部の入力及び出力のｅｎｃｏｄｉｎｇについて、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）等の所定の実行環境で指定可能なｅｎｃｏｄｉｎｇを設定する。
【００１７】
インタフェース定義情報のＳｅｒｖｉｃｅ部の定義では、前記ビジネスプロセス定義で定義されているビジネスプロセスの名称にＳｅｒｖｉｃｅ部を識別する為の識別子を付加してＳｅｒｖｉｃｅ部の名称を生成した後、前記Ｓｅｒｖｉｃｅ部のｐｏｒｔ名としてビジネスプロセス定義名称を指定する。
【００１８】
次に、ワークフロー処理機能を提供するプログラムを生成する際には、まず前記各処理の処理名に入力または出力を識別する為の識別子を付加して、ワークフロー処理機能を提供するプログラムにおけるクラスの名称を生成し、インタフェース定義情報のｔｙｐｅｓ部で定義された型定義に対応するクラスを定義する。
【００１９】
そして、ビジネスプロセスの名称によりインタフェースの名称を生成した後、前記各処理に対応するメソッドとして、インタフェース定義情報のｔｙｐｅｓ部で定義された型定義に対応するクラスをメソッド引数または戻り値とし、当該処理を実行する為のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を発行するメソッドを定義する。
【００２０】
前記ビジネスプロセス定義から取得される各処理の処理名や、それらの各処理における入出力データの名称等の情報を、ワークフロー処理装置内で各ワークフロー処理を呼び出す際のＡＰＩに合わせてビジネスプロセス定義中に定義しておけば、前記の様にして定義されたメソッドの実行時にワークフロー処理装置内の所定のワークフロー処理を呼び出すことが可能となるので、ワークフロー処理を利用して構築された各種処理システムの機能をインターネットのＷｅｂサービスとして提供するＷｅｂサービスサーバと、その提供を受けるＷｅｂサービスクライアントから成るシステムや、あるワークフローＷｅｂサービスサーバが他のワークフローＷｅｂサービスサーバと連携するシステム等を開発する際に、前記の様にして生成されたインタフェース定義情報やプログラムを利用することにより、その開発工数を削減することができる。
【００２１】
以上の様に本発明のプログラム生成装置によれば、ワークフロー処理を利用して構築された処理システムを、インターネットを含むネットワーク経由で利用するシステムを開発する際の開発工数を削減することが可能である。
【００２２】
【発明の実施の形態】
以下にワークフロー処理をＷｅｂサービスとして提供するプログラム及びそのインタフェース定義情報を生成する一実施形態のプログラム生成装置について説明する。
【００２３】
図１は本実施形態のプログラム生成装置の概要を示す図である。図１のワークフロー処理装置１００は、ワークフローで使用する情報をＤＢＭＳ１０１に保存することで管理している。ワークフロー処理装置１００では、ビジネスの流れを定義したビジネスプロセス定義１０２に従って、ワークフローの状態を変化させている。
【００２４】
ワークフロー処理装置１００の機能をＷｅｂサービス（プログラムやオブジェクトの実行により実現される機能）として利用する為には、Ｗｅｂサービスクライアント１０３は、Ｗｅｂサービスの提供要求をユーザ側の処理装置から受け付けた後、ネットワーク１０４を介して、Ｗｅｂサービスサーバ１０５を呼び出し、そのＷｅｂサービスアプリケーションプログラム（Ｗｅｂサービスを実現するプログラム若しくはオブジェクトでも良い）の実行によりＷｅｂサービスの提供を受けて、ワークフロー処理を行う為のＷｅｂページ等の表示を要求元のユーザ側処理装置へ行う。
【００２５】
本実施形態のＷｅｂサービスアプリケーションプログラム生成装置１０６では、Ｗｅｂサービスクライアント１０３からのワークフロー処理要求を受け取ってワークフロー処理装置１００のワークフロー処理を実行することにより、ワークフロー処理機能をＷｅｂサービスとして提供するＷｅｂサービスアプリケーションプログラムを、ビジネスプロセス定義１０２を元にしてＷｅｂサービスサーバ１０５に生成する。
【００２６】
また本実施形態のＷｅｂサービスアプリケーションプログラム生成装置１０６では、ワークフロー処理要求をユーザ側処理装置から受け付けるＷｅｂサービスクライアント１０３と、ワークフロー処理機能を提供するＷｅｂサービスサーバ１０５とが相互にアクセスする為のインタフェース定義であるＷＳＤＬファイル１０７を、ビジネスプロセス定義１０２を元にして生成する。
【００２７】
なお、前記のワークフロー処理装置１００、Ｗｅｂサービスクライアント１０３、Ｗｅｂサービスサーバ１０５の各装置は、計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い。
【００２８】
図２は本実施形態のビジネスプロセス定義からのＷｅｂサービスアプリケーションプログラムの生成概要を示す図である。図２の様にビジネスプロセス定義では、業務処理を開始する為の案件開始ノード２００、業務の処理することで案件を次に遷移させる為の案件遷移ノードＡ２０１及び案件遷移ノードＢ２０２や、業務の終了を示す為の案件終了ノード２０３があり、それぞれのノードを矢印で結ぶことにより、業務の流れを定義することができる。通常のワークフローシステムは、この様なビジネスプロセス定義を行う為のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）ツールが標準で付属している。
【００２９】
本実施形態のＷｅｂサービスアプリケーションプログラム生成装置１０６では、ビジネスプロセス定義からＷｅｂサービスアプリケーションプログラム２０４を生成する。その際、Ｗｅｂサービスアプリケーションプログラム２０４の中に、案件開始ノード２００に対応する案件開始処理２０５を生成し、案件遷移ノードＡ２０１等の各ノードに対応する案件遷移処理２０６と案件遷移で必要な情報を取得する為の情報取得処理２０７を生成する。
【００３０】
図３は本実施形態のＷｅｂサービスアプリケーションプログラム生成装置の概略構成を示す図である。図３に示す様に本実施形態のＷｅｂサービスアプリケーションプログラム生成装置３００は、情報取得部３０１と、ＷＳＤＬ生成部３０２と、Ｗｅｂサービスアプリケーション生成部３０３とを有している。
【００３１】
情報取得部３０１は、ビジネスプロセス定義３０４を入力して解析し、そのワークフロー処理での案件開始、情報取得及び案件遷移に必要な情報を取得する処理部である。ＷＳＤＬ生成部３０２は、ワークフロー処理の実行要求を行う際のインタフェースを示すインタフェース定義情報であるＷＳＤＬファイル３０５を前記取得した情報を元に生成するインタフェース定義情報生成部である。
【００３２】
Ｗｅｂサービスアプリケーション生成部３０３は、ワークフロー処理機能を提供するＷｅｂサービスアプリケーションプログラム３０６を前記取得した情報と前記生成したＷＳＤＬファイル３０５を元に生成するプログラム生成部である。
【００３３】
Ｗｅｂサービスアプリケーションプログラム生成装置３００を情報取得部３０１、ＷＳＤＬ生成部３０２及びＷｅｂサービスアプリケーション生成部３０３として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００３４】
図３の情報取得部３０１では、ビジネスプロセス定義３０４を入力情報として、ビジネスプロセス定義３０４を解析して案件開始及び案件遷移処理に必要な情報を取得する。また、案件開始処理及び案件遷移処理の際の入出力情報をユーザから受け付ける処理を行う。
【００３５】
ＷＳＤＬ生成部３０２は、情報取得部３０１で得られた情報を元にＷＳＤＬファイル３０５を生成する。また、ＷＳＤＬファイル３０５を定義する際にデータ型の名称やオペレーションの名称をユーザから受け付ける処理を行う。
【００３６】
Ｗｅｂサービスアプリケーション生成部３０３は、情報取得部３０１で得られた情報とＷＳＤＬ生成部３０２で定義された情報を元に、Ｗｅｂサービスアプリケーションプログラム３０６を生成する。Ｗｅｂサービスアプリケーションプログラム生成装置３００は、最終的にＷＳＤＬファイル３０５とＷｅｂサービスアプリケーションプログラム３０６を出力する。
【００３７】
図４は本実施形態の情報取得部３０１の処理手順を示すフローチャートである。ステップ４００で情報取得部３０１は、ビジネスプロセス定義ファイルを読み込んで、ビジネスプロセス定義情報を解析する。ビジネスプロセス定義ファイルの形式はワークフローシステムによって様々であるが、字句解析及び構文解析を行うことによりビジネスプロセス定義情報の解析を行うことが可能である。例えば、ビジネスプロセス定義がＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式になっている場合、ＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）及びＳＡＸ（Ｓｉｍｐｌｅ  ＡＰＩ  ｆｏｒ  ＸＭＬ）を使用してビジネスプロセス定義の情報を容易に取得することができる。
【００３８】
ステップ４０１では、前記解析したビジネスプロセス定義情報から、ビジネスプロセス定義名及びビジネスプロセス定義バージョン等、案件を開始する際にワークフローシステムのＡＰＩのパラメタとして必要となる情報を取得する。
【００３９】
ステップ４０２では、前記解析したビジネスプロセス定義情報から、案件を開始する際に入力される業務データの情報を取得し、案件開始処理の入力データとして定義する。ここで入力情報をユーザから受け付けて案件開始処理の入力データとして定義するものとしても良い。前記業務データは、ワークフローシステムのＡＰＩのパラメタとして指定されている場合や、業務データベースのテーブルに格納されているものとしている場合がある。
【００４０】
ステップ４０３では、ビジネスプロセス定義３０４に定義されたノードの数だけ繰り返しを行う。
ステップ４０４では、前記解析したビジネスプロセス定義情報からノード情報を取得する。ノード情報は、案件を遷移する際にワークフローシステムのＡＰＩのパラメタとして必要となる情報である。
【００４１】
ステップ４０５では、前記解析したビジネスプロセス定義情報から、案件を遷移させる際に出力される業務データや入力される業務データの情報を取得し、案件遷移処理の入出力データとして定義する。ここで入出力情報をユーザから受け付けて案件遷移処理の入出力データとして定義するものとしても良い。前記出力される業務データは案件を遷移させる際の元となる情報であり、例えば、案件を処理する画面に出力される情報である。
ステップ４０６はノード数の繰り返しの終わりである。
【００４２】
図５は本実施形態の情報取得部３０１で得られた情報を元にｔｙｐｅｓ定義を生成するＷＳＤＬ生成部３０２の処理の処理手順を示すフローチャートである。ステップ５００でＷＳＤＬ生成部３０２は、案件を開始する際に入力される業務データの数と、案件を遷移させる際に必要な業務データとして入出力されるデータの数だけ繰り返しを始める。
【００４３】
ステップ５０１では、そのデータが入力データまたは出力データのどちらであるかに応じて分岐する。ステップ５０２は入力データの場合で、入力データ型の型定義を行う。ステップ５０３は出力データの場合で、出力データ型の型定義を行う。ステップ５０４は定義された型をＸＭＬスキーマで定義されている型にマッピングする。ステップ５０５は業務データ数の繰り返しの終わりである。
【００４４】
図６は本実施形態の情報取得部３０１で得られた情報を元にｍｅｓｓａｇｅ部分、ｐｏｒｔＴｙｐｅ部分及びｂｉｎｄｉｎｇ部分の定義を生成するＷＳＤＬ生成部３０２の処理の処理手順を示すフローチャートである。ステップ６００でＷＳＤＬ生成部３０２は、案件開始処理、案件遷移処理及び情報取得処理の処理数の合計だけ繰り返しを始める。
【００４５】
ステップ６０１では、生成しようとしている処理の種類が、案件開始処理、案件遷移処理または情報取得処理の内のどの処理であるかによって分岐する。
ステップ６０２では、案件開始処理用ＷＳＤＬデータのｍｅｓｓａｇｅ部分、ｐｏｒｔＴｙｐｅ部分及びｂｉｎｄｉｎｇ部分を、情報取得部３０１で得られた情報を元に生成する。
【００４６】
ステップ６０３では、案件遷移処理用ＷＳＤＬデータのｍｅｓｓａｇｅ部分、ｐｏｒｔＴｙｐｅ部分及びｂｉｎｄｉｎｇ部分を、情報取得部３０１で得られた情報を元に生成する。案件遷移時にはワークフローシステムに対してどの案件を遷移させるかを指定する必要があるので、案件の識別子（ＩＤ）をパラメタに追加する。
【００４７】
ステップ６０４では、情報取得処理用ＷＳＤＬデータのｍｅｓｓａｇｅ部分、ｐｏｒｔＴｙｐｅ部分及びｂｉｎｄｉｎｇ部分を、情報取得部３０１で得られた情報を元に生成する。ステップ６０５はステップ６００に対応する繰り返しの終わりである。
ステップ６０６では、ＳＯＡＰ実行環境に合わせてＷＳＤＬファイル３０５のｐｏｒｔ部分とｓｅｒｖｉｃｅ部分を生成する。
【００４８】
図７は本実施形態のＷｅｂサービスアプリケーション生成部３０３の処理手順を示すフローチャートである。ステップ７００でＷｅｂサービスアプリケーション生成部３０３は、Ｗｅｂサービスアプリケーションプログラム３０６のフレームワークを生成する。
【００４９】
ステップ７０１では、案件開始処理数及びビジネスプロセス定義のノードに対する案件遷移処理数と情報取得処理数の合計回数だけ繰り返しを始める。
ステップ７０２では、生成しようとしている処理の種類が、案件開始処理、案件遷移処理または情報取得処理の内のどの処理であるかによって分岐する。
【００５０】
ステップ７０３では、Ｗｅｂサービスアプリケーションプログラム３０６の案件開始処理用の処理部分を生成する。この処理部分では、ワークフローシステムへ案件を開始する為のＡＰＩを発行する実装を生成する。
【００５１】
ステップ７０４では、Ｗｅｂサービスアプリケーションプログラム３０６の案件遷移処理用の処理部分を生成する。この処理部分では、ワークフローシステムへ案件を遷移させる為のＡＰＩを発行する実装を生成する。
【００５２】
ステップ７０５では、Ｗｅｂサービスアプリケーションプログラム３０６の情報取得処理用の処理部分を生成する。この処理部分では、ワークフローシステムから情報を取得するＡＰＩを発行し、取得した値をオブジェクトに設定する実装を生成する。ステップ７０６はステップ７０１に対応する処理数の繰り返しの終わりである。
【００５３】
図８は本実施形態の情報取得部３０１で取得するビジネスプロセス定義情報の具体例を示す図である。本実施形態の情報取得部３０１では、図８の案件開始ノード８００について案件開始処理の情報８０３を取得する。
【００５４】
案件開始処理の情報８０３は、案件開始処理名８０４であるＳｔａｒｔと、案件開始の際に必要となる業務データとしてユーザが定義した次のデータを有しており、定義情報８０５は、入力データの案件タイトルＴｉｔｌｅがｓｔｒｉｎｇ型（文字型）であることを示し、定義情報８０６は、入力データの価格Ｐｒｉｃｅがｉｎｔ型（整数型）であり、定義情報８０７は、入力データの期限Ｌｉｍｉｔがｄａｔｅ型（日付の型）であることを示している。
また情報取得部３０１は、ノードＡ８０１について情報取得処理の情報８０８と案件遷移処理の情報８１３を取得する。
【００５５】
ノードＡ８０１の情報取得処理の情報８０８は、情報取得処理名８０９であるＡ＿ＧｅｔＤａｔａと、情報取得処理の際に必要となる業務データとしてユーザが定義した次のデータとを有しており、定義情報８１０は、出力データの案件タイトルＴｉｔｌｅがｓｔｒｉｎｇ型であることを示し、定義情報８１１は、出力データの価格Ｐｒｉｃｅがｉｎｔ型であり、定義情報８１２は、出力データの期限Ｌｉｍｉｔがｄａｔｅ型であることを示している。
【００５６】
更に、ノードＡ８０１の案件遷移処理の情報８１３は、案件遷移処理名８１４であるＡ＿ＳｅｎｄＮｅｘｔと、案件遷移処理の際に必要となる業務データとしてユーザが定義した次のデータを有しており、定義情報８１５は、入力データの判定Ｊｕｄｇｅがｂｏｏｌｅａｎ型（論理型）であることを示している。
【００５７】
図９は本実施形態のＷＳＤＬファイル３０５のｔｙｐｅｓ部の生成例を示す図である。図９の９０１行目はスキーマの名前空間の定義であり、ここにはユーザが定義した任意の名前空間の宣言を生成している。
【００５８】
以降の行には、案件開始処理や各ノードの情報取得処理及び案件遷移処理についてのパラメタの型定義を生成する。９０２行目から９０８行目までが案件開始処理の入力パラメタの型定義であり、９０９行目から９１６行目までがノードＡにおける情報取得処理の出力パラメタの型定義で、９１７行目から９２３行目までがノードＡにおける案件遷移処理の入力パラメタの型定義である。９２４行目以降では、各ノードにおける情報取得処理及び案件遷移処理の入力パラメタの型定義と出力パラメタの型定義を繰り返し生成する。
【００５９】
ＷＳＤＬ生成部３０２は、案件開始処理のパラメタの型について、案件開始処理の情報８０３で得られた情報を元に次の様に定義する。すなわちＷＳＤＬ生成部３０２は、案件開始処理名８０４のＳｔａｒｔと入力であることを示すＲｅｑｕｅｓｔを下線で繋げることで型の名前を生成して９０２行目の様に定義する。９０４行目では入力データの案件タイトルＴｉｔｌｅの定義情報８０５を元に、ｅｌｅｍｅｎｔ名のＴｉｔｌｅ及びその型ｘｓｄ：ｓｔｒｉｎｇを定義し、９０５行目には入力データの価格Ｐｒｉｃｅの定義情報８０６を元に、ｅｌｅｍｅｎｔ名Ｐｒｉｃｅ及びその型ｘｓｄ：ｉｎｔを定義し、９０６行目には入力データの期限Ｌｉｍｉｔの定義情報８０７を元に、ｅｌｅｍｅｎｔ名Ｌｉｍｉｔ及びその型ｘｓｄ：ｄａｔｅＴｉｍｅを定義する。
【００６０】
ノードＡの情報取得処理のパラメタの型については、情報取得処理の情報８０８で得られた情報を元に次の様に定義する。すなわち、９１０行目では情報取得処理名８０９のＡ＿ＧｅｔＤａｔａと出力であることを示すＲｅｓｐｏｎｓｅを下線で繋げることで型の名前を定義する。９１２行目には出力データの案件タイトルＴｉｔｌｅの定義情報８１０を元に、ｅｌｅｍｅｎｔ名Ｔｉｔｌｅ及びその型ｘｓｄ：ｓｔｒｉｎｇを定義し、９１３行目には出力データの価格Ｐｒｉｃｅの定義情報８１１を元に、ｅｌｅｍｅｎｔ名Ｐｒｉｃｅ及びその型ｘｓｄ：ｉｎｔを定義し、９１４行目には出力データの期限Ｌｉｍｉｔの定義情報８１２を元に、ｅｌｅｍｅｎｔ名Ｌｉｍｉｔ及びその型ｘｓｄ：ｄａｔｅＴｉｍｅを定義する。
【００６１】
ノードＡの案件遷移処理のパラメタの型については、案件遷移処理の情報８１３で得られた情報を元に次の様に定義する。９１８行目では案件遷移処理名８１４のＡ＿ＳｅｎｄＮｅｘｔと入力であることを示すＲｅｑｕｅｓｔを下線で繋げることで型の名前を定義する。案件遷移を行う場合には、入力データとして案件を一意に識別する為のＩｄが必要になる為、９２０行目にはそのＩｄをｉｎｔ型として定義し、９２１行目には入力データのＪｕｄｇｅの定義情報８１５を元に、ｅｌｅｍｅｎｔ名Ｊｕｄｇｅ及びその型ｘｓｄ：ｂｏｏｌｅａｎを定義する。
【００６２】
図１０は本実施形態のＷＳＤＬファイル３０５のｍｅｓｓａｇｅ部の生成例を示す図である。図１０の１０００行目から１００２行目は、案件開始処理の入力メッセージの定義である。
【００６３】
ＷＳＤＬ生成部３０２は、案件開始処理名８０４のＳｔａｒｔと入力であることを示すＲｅｑｕｅｓｔを繋げることで案件開始処理の入力メッセージの名前を１０００行目の様に定義する。１００１行目では、入力メッセージとして、名前をｉｎ０とし、その型の定義が案件開始処理の入力パラメタ型定義Ｓｔａｒｔ＿Ｒｅｑｕｅｓｔ（９０２行目）であるものとして定義する。
【００６４】
１００３行目から１００４行目は、案件開始処理の出力メッセージの定義である。１００３行目で案件開始処理の出力メッセージの名前を案件開始処理名８０４のＳｔａｒｔと出力であることを示すＲｅｓｐｏｎｓｅを繋げることで定義する。案件開始処理では出力メッセージは無いので定義は空になる。
【００６５】
１００５行目から１００６行目は、ノードＡの情報取得処理の入力メッセージ定義である。１００５行目でノードＡの情報取得処理の入力メッセージの名前をノードＡの情報取得処理名８０９のＡ＿ＧｅｔＤａｔａと入力であることを示すＲｅｑｕｅｓｔを繋げることで定義する。情報取得処理では入力メッセージは無いので定義は空になる。
【００６６】
１００７行目から１００９行目は、ノードＡの情報取得処理の出力メッセージ定義である。１００７行目でノードＡの情報取得処理の出力メッセージの名前をノードＡの情報取得処理名８０９のＡ＿ＧｅｔＤａｔａと出力を示すＲｅｓｐｏｎｓｅを繋げることで定義する。１００８行目で出力メッセージとして、名前をｒｅｔｕｒｎとし、その型の定義がノードＡの情報取得処理の出力パラメタ型定義Ａ＿ＧｅｔＤａｔａ＿Ｒｅｓｐｏｎｓｅ（９１０行目）であるものとして定義する。
【００６７】
１０１０行目から１０１２行目は、ノードＡの案件遷移処理の入力メッセージの定義である。１０１０行目で案件遷移処理の入力メッセージの名前をノードＡの案件遷移処理名８１４のＡ＿ＳｅｎｄＮｅｘｔと入力を示すＲｅｑｕｅｓｔを繋げることで定義する。１０１１行目で入力メッセージとして、名前をｉｎ０とし、その型の定義がノードＡの案件遷移処理の入力パラメタ型定義Ａ＿ＳｅｎｄＮｅｘｔ＿Ｒｅｑｕｅｓｔ（９１８行目）であるものとして定義する。
【００６８】
１０１３行目から１０１４行目は、ノードＡの案件遷移処理の出力メッセージ定義である。１０１３行目でノードＡの案件遷移処理の出力メッセージの名前をノードＡの案件遷移処理名８１４のＡ＿ＳｅｎｄＮｅｘｔと出力であることを示すＲｅｓｐｏｎｓｅを繋げることで定義する。案件遷移処理では出力メッセージは無いので定義は空になる。１０１５行目以降は、各ノードの処理に対してメッセージを繰り返し定義する。
【００６９】
図１１は本実施形態のＷＳＤＬファイル３０５のｐｏｒｔＴｙｐｅ部の生成例を示す図である。図１１の１１００行目でＷＳＤＬ生成部３０２は、ｐｏｒｔＴｙｐｅの名前をビジネスプロセス定義名称と同じ名前として定義する。ここでは、ビジネスプロセス定義名称をＡｐｐｌｙＢＰとした。
【００７０】
１１０１行目から１１０４行目では案件開始処理の抽象操作ｏｐｅｒａｔｉｏｎを定義する。１１０１行目で案件開始処理のｏｐｅｒａｔｉｏｎ名を案件開始処理名８０４のＳｔａｒｔと定義する。また入力パラメタｉｎ０が１００１行目で定義されているのでこれをｐａｒａｍｅｔｅｒＯｒｄｅｒに指定する。１１０２行目で入力メッセージの定義としてＳｔａｒｔＲｅｑｕｅｓｔ（１０００行目）を指定する。１１０３行目で出力メッセージの定義としてＳｔａｒｔＲｅｓｐｏｎｓｅ（１００３行目）を指定する。
【００７１】
１１０５行目から１１０８行目ではノードＡの情報取得処理のｏｐｅｒａｔｉｏｎを定義する。１１０５行目でノードＡの情報取得処理のｏｐｅｒａｔｉｏｎ名を情報取得処理名８０９のＡ＿ＧｅｔＤａｔａと定義する。入力パラメタは定義されていないので、ここではｐａｒａｍｅｔｅｒＯｒｄｅｒを指定しない。１１０６行目で入力メッセージの定義としてＡ＿ＧｅｔＤａｔａＲｅｑｕｅｓｔ（１００５行目）を指定する。１１０７行目で出力メッセージの定義としてＡ＿ＧｅｔＤａｔａＲｅｓｐｏｎｓｅ（１００７行目）を指定する。
【００７２】
１１０９行目から１１１２行目ではノードＡの案件遷移処理のｏｐｅｒａｔｉｏｎを定義する。１１０９行目でノードＡの案件遷移処理のｏｐｅｒａｔｉｏｎ名をノードＡの案件遷移処理名８１４のＡ＿ＳｅｎｄＮｅｘｔと定義する。また入力パラメタｉｎ０が１０１１行目で定義されていたので、これをｐａｒａｍｅｔｅｒＯｒｄｅｒに指定する。１１１０行目で入力メッセージの定義としてＡ＿ＳｅｎｄＮｅｘｔＲｅｑｕｅｓｔ（１０１０行目）を指定する。１１１１行目で出力メッセージの定義としてＡ＿ＳｅｎｄＮｅｘｔＲｅｓｐｏｎｓｅ（１０１３行目）を指定する。１１１３行目以降で各ノードの処理についてｏｐｅｒａｔｉｏｎ定義を繰り返す。
【００７３】
図１２は本実施形態のＷＳＤＬファイル３０５のｂｉｎｄｉｎｇ部の生成例を示す図である。図１２の１２０１行目から１２０９行目でＷＳＤＬ生成部３０２は、案件開始処理のｂｉｎｄｉｎｇを定義する。１２０１行目に案件開始処理名８０４のＳｔａｒｔを指定する。１２０２行目から１２０８行目までは入力及び出力のｅｎｃｏｄｉｎｇを指定する。ｅｎｃｏｄｉｎｇにはＳＯＡＰ実行環境で指定可能なｅｎｃｏｄｉｎｇを設定する。
【００７４】
１２１０行目から１２１８行目でノードＡの情報取得処理のｂｉｎｄｉｎｇを定義する。１２１０行目にノードＡの情報取得処理名８０９のＡ＿ＧｅｔＤａｔａを指定する。１２１１行目から１２１７行目までは入力及び出力のｅｎｃｏｄｉｎｇを指定する。ｅｎｃｏｄｉｎｇには案件開始処理と同様にＳＯＡＰ実行環境で指定可能なｅｎｃｏｄｉｎｇを指定する。
【００７５】
１２１９行目から１２２７行目でノードＡの案件遷移処理のｂｉｎｄｉｎｇを定義する。１２１９行目にノードＡの案件遷移処理名８１４のＡ＿ＳｅｎｄＮｅｘｔを指定する。１２２１行目から１２２７行目までは入力及び出力のｅｎｃｏｄｉｎｇを指定する。ｅｎｃｏｄｉｎｇには案件開始処理と同様にＳＯＡＰ実行環境で指定可能なｅｎｃｏｄｉｎｇを設定する。１２２８行目以降では各ノードの処理についてｂｉｎｄｉｎｇ定義を繰り返す。
【００７６】
図１３は本実施形態のＷＳＤＬファイル３０５のｓｅｒｖｉｃｅ部の生成例を示す図である。ＷＳＤＬ生成部３０２は、図１３の１３００行目にｓｅｒｖｉｃｅ名としてビジネスプロセス定義名称ＡｐｐｌｙＢＰにＳｅｒｖｉｃｅという文字列を連結して指定する。１３０１行目にｐｏｒｔ名としてビジネスプロセス定義名称を指定する。
【００７７】
図１４は本実施形態のＷｅｂサービスアプリケーションプログラム３０６のフレームワークの内で、使用するパラメタの型に対応するクラス定義の生成例を示す図である。図１４の１４００行目から１４１３行目は、案件開始処理の入力パラメタの型定義（９０２行目）に対応するクラスであり、Ｗｅｂサービスアプリケーション生成部３０３は、このクラス名を案件開始処理名Ｓｔａｒｔと入力パラメタを示すＲｅｑｕｅｓｔを連結して指定する。
【００７８】
１４１４行目から１４２１行目はノードＡにおける情報取得処理の出力パラメタの型定義（９１０行目）に対応するクラスであり、Ｗｅｂサービスアプリケーション生成部３０３は、このクラス名をノードＡの情報取得処理名Ａ＿ＧｅｔＤａｔａと出力パラメタを示すＲｅｓｐｏｎｓｅを連結して指定する。
【００７９】
１４２２行目から１４２８行目はノードＡにおける案件遷移処理の入力パラメタの型定義（９１８行目）に対応するクラスであり、このクラス名をノードＡの案件遷移処理名Ａ＿ＳｅｎｄＮｅｘｔと入力パラメタを示すＲｅｑｕｅｓｔを連結して指定する。１４２９行目以降には各ノードにおける情報取得処理及び案件遷移処理のパラメタの型定義（９２５行目）に対応するクラスを定義する。
【００８０】
１４０１行目は案件開始処理の入力パラメタの内、案件タイトルＴｉｔｌｅ（９０４行目）に対応する定義になる。１４０２行目は案件開始処理の入力パラメタの内、価格Ｐｒｉｃｅ（９０５行目）に対応する定義になる。１４０３行目は案件開始処理の入力パラメタの内、期限Ｌｉｍｉｔ（９０６行目）に対応する定義になる。
【００８１】
１４０４行目から１４０５行目は案件開始処理の入力パラメタクラスＳｔａｒｔＲｅｑｕｅｓｔのコンストラクタ定義となる。１４０６行目から１４０８行目は案件タイトルＴｉｔｌｅ（９０４行目）の値を取得する為のアクセサ関数の定義である。１４０９行目から１４１１行目は案件タイトルＴｉｔｌｅ（９０４行目）の値を設定する為のアクセサ関数の定義である。
【００８２】
１４１２行目以降はＳｔａｒｔＲｅｑｕｅｓｔクラスのメンバ変数Ｐｒｉｃｅ（１４０２行目）及びメンバ変数Ｌｉｍｉｔ（１４０３行目）に対して、メンバ変数Ｔｉｔｌｅ（１４０１行目）と同様に、設定及び取得を行うアクセサメソッドを定義する。
【００８３】
１４１５行目はノードＡの情報取得処理の出力パラメタの内、案件タイトルＴｉｔｌｅ（９１２行目）に対応する定義になる。１４１６行目はノードＡの情報取得処理の出力パラメタの内、価格Ｐｒｉｃｅ（９１３行目）に対応する定義になる。１４１７行目はノードＡの情報取得処理の出力パラメタの内、期限Ｌｉｍｉｔ（９１４行目）に対応する定義になる。１４１８行目から１４１９行目はノードＡの情報取得処理の出力パラメタクラスＡ＿ＧｅｔＤａｔａＲｅｓｐｏｎｓｅのコンストラクタ定義となる。
【００８４】
１４２０行目以降では、案件開始処理の入力パラメタクラスと同様に、Ａ＿ＧｅｔＤａｔａＲｅｓｐｏｎｓｅの各メンバ変数の設定及び取得の為のアクセサメソッドの定義を繰り返し行う。
【００８５】
１４２３行目はノードＡの案件遷移処理の入力パラメタの内、案件を一意に識別する為のＩｄ（９２０行目）に対応する定義になる。１４２４行目はノードＡの案件遷移処理の入力パラメタの内、ｊｕｄｇｅ（９２１行目）に対応する定義になる。１４２５行目から１４２６行目はノードＡの案件遷移処理の入力パラメタクラスＡ＿ＳｅｎｄＮｅｘｔＲｅｑｕｅｓｔのコンストラクタ定義となる。
【００８６】
１４２７行目以降では、案件開始処理の入力パラメタクラスと同様に、Ａ＿ＳｅｎｄＮｅｘｔＲｅｑｕｅｓｔの各メンバ変数の設定及び取得の為のアクセサメソッドの定義を繰り返し行う。
【００８７】
図１５は本実施形態のＷｅｂサービスアプリケーションプログラム３０６のフレームワークの内で、各処理に対応するインタフェース定義の生成例を示す図である。図１５の１５００行目はビジネスプロセス定義に対応するインタフェース宣言であり、Ｗｅｂサービスアプリケーション生成部３０３は、インタフェース名にビジネスプロセス定義名称ＡｐｐｌｙＢＰを指定する。
【００８８】
Ｗｅｂサービスアプリケーション生成部３０３は、１５０１行目に案件開始処理に対応するＳｔａｒｔのメソッドを定義し、メソッド引数として案件開始処理の入力パラメタクラスＳｔａｒｔＲｅｑｕｅｓｔ（１４００行目）を指定する。
【００８９】
１５０２行目にはノードＡの情報取得処理に対応するＡ＿ＧｅｔＤａｔａのメソッドを定義し、メソッドの戻り値としてノードＡの情報取得処理の出力パラメタクラスＡ＿ＧｅｔＤａｔａＲｅｓｐｏｎｓｅ（１４１４行目）を指定する。
【００９０】
１５０３行目にはノードＡの案件遷移処理に対応するＡ＿ＳｅｎｄＮｅｘｔのメソッドを定義し、メソッドの引数としてノードＡの案件遷移処理の入力パラメタクラスＡ＿ＳｅｎｄＮｅｘｔＲｅｑｕｅｓｔ（１４２２行目）を指定する。１５０４行目以降には各ノードの情報取得処理及び案件遷移処理のメソッドを繰り返し定義する。
【００９１】
図１６は本実施形態のＷｅｂサービスアプリケーションプログラム３０６のフレームワークにおける処理部分の生成例を示す図である。Ｗｅｂサービスアプリケーション生成部３０３は、図１６の１６００行目にＷｅｂサービスアプリケーションプログラム３０６の処理実装クラスを宣言し、クラスにはインタフェース定義（１５００行目）をｉｍｐｌｅｍｅｎｔｓとして宣言する。クラス名にはインタフェース名ＡｐｐｌｙＢＰにＳｏａｐＢｉｎｄｉｎｇＩｍｐｌを連結して指定する。
【００９２】
１６０１行目から１６０４行目までは案件開始処理Ｓｔａｒｔの処理である。１６０５行目から１６１３行目まではノードＡの情報取得処理Ａ＿ＧｅｔＤａｔａの処理である。１６１４行目から１６１７行目まではノードＡの案件遷移処理Ａ＿ＳｅｎｄＮｅｘｔの処理である。
【００９３】
１６０１行目は案件開始処理Ｓｔａｒｔのメソッド宣言である。Ｗｅｂサービスアプリケーション生成部３０３は、入力パラメタとしてＳｔａｒｔＲｅｑｕｅｓｔクラス（１４００行目）を宣言する。１６０２行目はユーザが任意に処理を追加できる部分である。
【００９４】
１６０３行目はワークフローシステムに対して案件を開始する為のＡＰＩを発行する処理である。案件を開始する為のＡＰＩの引数として、第１引数にビジネスプロセス定義名を、第２引数に案件を開始する際の入力すべき業務データを指定する。
【００９５】
１６０５行目はノードＡの情報取得処理Ａ＿ＧｅｔＤａｔａのメソッド宣言である。出力パラメタとしてＡ＿ＧｅｔＤａｔａＲｅｓｐｏｎｓｅクラス（１４１４行目）を宣言する。１６０６行目はユーザが任意に処理を追加できる部分である。
【００９６】
１６０７行目はワークフローシステムからノードＡの情報を取得する為のＡＰＩを発行する処理である。第１引数にノード名Ａを指定する。１６０８行目に返り値のＡ＿ＧｅｔＤａｔａＲｅｓｐｏｎｓｅオブジェクトを宣言する。
【００９７】
１６０９行目では返り値のオブジェクトのメンバ変数である案件タイトルＴｉｔｌｅにワークフローシステムから取得した値を設定する。１６１０行目では返り値のオブジェクトのメンバ変数である価格Ｐｒｉｃｅにワークフローシステムから取得した値を設定する。１６１１行目では返り値のオブジェクトのメンバ変数である期限Ｌｉｍｉｔにワークフローシステムから取得した値を設定する。
【００９８】
１６１２行目ではワークフローシステムから取得した情報を設定したオブジェクトをリターンする。この例では、ワークフローシステムから情報を取得しているが、ユーザロジックでユーザが構築したデータベースから情報を取得した値をＡ＿ＧｅｔＤａｔａＲｅｓｐｏｎｓｅオブジェクトに設定することも可能である。
【００９９】
１６１４行目はノードＡの案件遷移処理Ａ＿ＳｅｎｄＮｅｘｔのメソッド宣言である。第１引数に案件を遷移する際に入力すべき業務データを指定する。１６１５行目はユーザが任意に処理を追加できる部分である。１６１６行目はワークフローシステムに対して案件を遷移する為のＡＰＩを発行している処理である。１６１８行目以降では、各ノードにおける情報取得処理及び案件遷移処理の実装を繰り返し定義する。
【０１００】
図１７は本実施形態のＷｅｂサービスクライアントとＷｅｂサービスアプリケーションプログラム３０６との間の具体的なＳＯＡＰメッセージを示す図である。図１７の１７００行目から１７０９行目までが、Ｓｔａｒｔメソッドを発行した際に、ＷｅｂサービスクライアントからＷｅｂサービスアプリケーションプログラム３０６へ送られるＳＯＡＰメッセージの一例である。
【０１０１】
１７０４行目に案件タイトルＴｉｔｌｅとして「見積もり申請書」を入力している。１７０５行目に価格Ｐｒｉｃｅとして、「５００００」を入力している。１７０６行目に期限Ｌｉｍｉｔとして、「２００３−０４−０７Ｔ１０：００：００Ｚ」を入力している。１７００行目から１７０３行目、また１７０７行目から１７０９行目は付加されるＳＯＡＰメッセージである。
【０１０２】
１７１０行目から１７１９行目までが、Ａ＿ＧｅｔＤａｔａメソッドを発行した際に、Ｗｅｂサービスアプリケーションプログラム３０６からＷｅｂサービスクライアントに返されるＳＯＡＰメッセージの一例である。
【０１０３】
１７１４行目に案件タイトルＴｉｔｌｅとして「見積もり申請書」が出力されている。１７１５行目に価格Ｐｒｉｃｅとして、「５００００」が出力されている。１７１６行目に期限Ｌｉｍｉｔとして、「２００３−０４−０７Ｔ１０：００：００Ｚ」が出力されている。１７１０行目から１７１３行目、また１７１７行目から１７１９行目は付加されるＳＯＡＰメッセージである。
【０１０４】
１７２０行目から１７２７行目までが、Ａ＿ＳｅｎｄＮｅｘｔメソッドを発行した際に、Ｗｅｂサービスアプリケーションプログラム３０６からＷｅｂサービスクライアントに返されるＳＯＡＰメッセージの一例である。１７２４行目に判定Ｊｕｄｇｅとして「Ｔｒｕｅ」が出力されている。１７２０行目から１７２３行目、また１７２５行目から１７２７行目は付加されるＳＯＡＰメッセージである。
【０１０５】
以上説明した様に本実施形態のプログラム生成装置によれば、ビジネスプロセス定義から、そのワークフロー処理機能を提供するプログラムとそのインタフェース定義情報を生成するので、ワークフロー処理を利用して構築された処理システムを、インターネットを含むネットワーク経由で利用するシステムを開発する際の開発工数を削減することが可能である。
【０１０６】
【発明の効果】
本発明によれば、ワークフロー処理を利用して構築された処理システムを、利用するシステムの開発工数を削減することが可能である。
【図面の簡単な説明】
【図１】本実施形態のプログラム生成装置の概要を示す図である。
【図２】本実施形態のビジネスプロセス定義からのＷｅｂサービスアプリケーションプログラムの生成概要を示す図である。
【図３】本実施形態のＷｅｂサービスアプリケーションプログラム生成装置の概略構成を示す図である。
【図４】本実施形態の情報取得部３０１の処理手順を示すフローチャートである。
【図５】本実施形態の情報取得部３０１で得られた情報を元にｔｙｐｅｓ定義を生成するＷＳＤＬ生成部３０２の処理の処理手順を示すフローチャートである。
【図６】本実施形態の情報取得部３０１で得られた情報を元にｍｅｓｓａｇｅ部分、ｐｏｒｔＴｙｐｅ部分及びｂｉｎｄｉｎｇ部分の定義を生成するＷＳＤＬ生成部３０２の処理の処理手順を示すフローチャートである。
【図７】本実施形態のＷｅｂサービスアプリケーション生成部３０３の処理手順を示すフローチャートである。
【図８】本実施形態の情報取得部３０１で取得するビジネスプロセス定義情報の具体例を示す図である。
【図９】本実施形態のＷＳＤＬファイル３０５のｔｙｐｅｓ部の生成例を示す図である。
【図１０】本実施形態のＷＳＤＬファイル３０５のｍｅｓｓａｇｅ部の生成例を示す図である。
【図１１】本実施形態のＷＳＤＬファイル３０５のｐｏｒｔＴｙｐｅ部の生成例を示す図である。
【図１２】本実施形態のＷＳＤＬファイル３０５のｂｉｎｄｉｎｇ部の生成例を示す図である。
【図１３】本実施形態のＷＳＤＬファイル３０５のｓｅｒｖｉｃｅ部の生成例を示す図である。
【図１４】本実施形態のＷｅｂサービスアプリケーションプログラム３０６のフレームワークの内で、使用するパラメタの型に対応するクラス定義の生成例を示す図である。
【図１５】本実施形態のＷｅｂサービスアプリケーションプログラム３０６のフレームワークの内で、各処理に対応するインタフェース定義の生成例を示す図である。
【図１６】本実施形態のＷｅｂサービスアプリケーションプログラム３０６のフレームワークにおける処理部分の生成例を示す図である。
【図１７】本実施形態のＷｅｂサービスクライアントとＷｅｂサービスアプリケーションプログラム３０６との間の具体的なＳＯＡＰメッセージを示す図である。
【符号の説明】
１００…ワークフロー処理装置、１０１…ＤＢＭＳ、１０２…ビジネスプロセス定義、１０３…Ｗｅｂサービスクライアント、１０４…ネットワーク、１０５…Ｗｅｂサービスサーバ、１０６…Ｗｅｂサービスアプリケーションプログラム生成装置、１０７…ＷＳＤＬファイル、２００…案件開始ノード、２０１…案件遷移ノードＡ、２０２…案件遷移ノードＢ、２０３…案件終了ノード、２０４…Ｗｅｂサービスアプリケーションプログラム、２０５…案件開始処理、２０６…案件遷移処理、２０７…情報取得処理、３００…Ｗｅｂサービスアプリケーションプログラム生成装置、３０４…ビジネスプロセス定義、３０５…ＷＳＤＬファイル、３０６…Ｗｅｂサービスアプリケーションプログラム、３０１…情報取得部、３０２…ＷＳＤＬ生成部、３０３…Ｗｅｂサービスアプリケーション生成部、８００…案件開始ノード、８０１…ノードＡ、８０２…ノード、８０３…案件開始処理の情報、８０４…案件開始処理名、８０５〜８０７…定義情報、８０８…情報取得処理の情報、８０９…情報取得処理名、８１０〜８１２…定義情報、８１３…案件遷移処理の情報、８１４…案件遷移処理名、８１５…定義情報。
【図１】
2004362185.tif 000003
【図２】
2004362185.tif 000004
【図３】
2004362185.tif 000005
【図４】
2004362185.tif 000006
【図５】
2004362185.tif 000007
【図６】
2004362185.tif 000008
【図７】
2004362185.tif 000009
【図８】
2004362185.tif 000010
【図９】
2004362185.tif 000011
【図１０】
2004362185.tif 000012
【図１１】
2004362185.tif 000013
【図１２】
2004362185.tif 000014
【図１３】
2004362185.tif 000015
【図１４】
2004362185.tif 000016
【図１５】
2004362185.tif 000017
【図１６】
2004362185.tif 000018
【図１７】
2004362185.tif 000019