JP2004362185A - プログラム生成方法及び実施装置並びに処理プログラム - Google Patents
プログラム生成方法及び実施装置並びに処理プログラム Download PDFInfo
- Publication number
- JP2004362185A JP2004362185A JP2003158770A JP2003158770A JP2004362185A JP 2004362185 A JP2004362185 A JP 2004362185A JP 2003158770 A JP2003158770 A JP 2003158770A JP 2003158770 A JP2003158770 A JP 2003158770A JP 2004362185 A JP2004362185 A JP 2004362185A
- Authority
- JP
- Japan
- Prior art keywords
- information
- definition
- workflow
- program
- name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【解決手段】ワークフロー処理を提供するプログラム及びそのインタフェース定義情報を生成するプログラム生成方法であって、ビジネスプロセス定義を入力して解析し、そのワークフロー処理での案件開始、情報取得及び案件遷移に必要な情報をビジネスプロセス定義から取得するステップと、ワークフロー処理の実行要求を行う際のインタフェースを示すインタフェース定義情報を前記取得した情報を元に生成するステップと、ワークフロー処理機能を提供するプログラムを前記取得した情報と前記生成したインタフェース定義情報を元に生成するステップとを有するものである。
【選択図】 図3
Description
【発明の属する技術分野】
本発明はワークフローのビジネスプロセス定義から、そのワークフロー処理をWebサービス(プログラムやオブジェクトの実行により実現される機能)として提供する技術またはそのインタフェース定義情報を生成する技術に関するものである。
【0002】
【従来の技術】
ワークフローシステムを利用する為には、ワークフローにアクセスする為の手段が必要である。一般的なワークフローシステムでは、専用のクライアントプログラムを用いており、ワークフローにアクセスする為には専用のワークフローアプリケーションプログラムを作成する必要がある(例えば特許文献1参照)。
【0003】
また、専用のワークフロークライアントプログラムだけではなく、業務固有のワークフロー処理を行う為のワークフローアプリケーションプログラムを開発する必要もある。但し、ワークフローアプリケーションプログラムの開発は工数がかかる為、ワークフローアプリケーションプログラムの開発を容易にする為の仕組みも提案されている(例えば特許文献2参照)。
【0004】
【特許文献1】
特開2001−34687号公報
【特許文献2】
特開2001−159972号公報
【0005】
【発明が解決しようとする課題】
ワークフローシステムを利用して構築した業務システムを、広くインターネット等のネットワークから利用できる様にする為には、ワークフロー処理をWebサービスとして提供する為のワークフローアプリケーションプログラムをWebサービスサーバ上で開発する必要がある。また専用のワークフロークライアントでは、独自のプロトコルが必要になり、ファイアーウォールを通過できない為、インターネットで利用することができないという問題がある。
【0006】
更に前記ワークフローアプリケーションプログラムを開発する場合でも、生成したワークフローアプリケーションプログラムに対して、インターネットで公開できる仕組みを更に作り込む必要がある。
【0007】
本発明の目的は上記問題を解決し、ワークフロー処理を利用して構築された処理システムを、インターネットを含むネットワーク経由で利用するシステムを開発する際の開発工数を削減することが可能な技術を提供することにある。
【0008】
【課題を解決するための手段】
本発明は、ワークフロー処理を提供するプログラム及びそのインタフェース定義情報を生成するプログラム生成装置であって、ビジネスプロセス定義から、そのワークフロー処理機能を提供するプログラムとそのインタフェース定義情報を生成するものである。
【0009】
本発明のプログラム生成装置(計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い)では、ビジネスプロセス定義を入力して解析し、そのワークフロー処理での案件開始、情報取得及び案件遷移に必要な情報をビジネスプロセス定義から取得する。
【0010】
次に、ワークフロー処理の実行要求を行う際のインタフェースを示すインタフェース定義情報(WSDLファイル)を前記取得した情報を元に生成した後、ワークフロー処理機能をWebサービスとしてインターネット等のネットワーク経由で提供するプログラムを前記取得した情報と前記生成したインタフェース定義情報を元に生成する。
【0011】
その際、案件開始ノードに対応する案件開始処理と、案件遷移ノードに対応する案件遷移処理及び案件遷移で必要な情報を取得する為の情報取得処理等のワークフロー処理を構成する各処理について、それらの各処理に対応する定義情報をインタフェース定義情報中に生成し、前記各処理に対応する処理部分を、ワークフロー処理機能を提供するプログラム中に生成する。
【0012】
ビジネスプロセス定義を解析して必要な情報を取得する際には、そのワークフロー処理を構成する案件開始処理、案件遷移処理及び情報取得処理等の各処理の処理名と、それらの各処理における入出力データの名称及びその型を示す情報を、案件の開始または遷移の行われる各ノード毎に取得する。
【0013】
インタフェース定義情報の生成において、インタフェース定義情報のtypes部における型定義を行う際には、前記各処理の処理名に入力または出力を識別する為の識別子を付加してtypes部における型定義の名称を生成した後、前記各処理の入出力データの名称及びその型を、前記名称を生成した型定義における要素名及び型に設定することにより、インタフェース定義情報における型定義を生成する。また、案件遷移時にはワークフローシステムに対してどの案件を遷移させるかを指定する必要があるので、インタフェース定義情報における案件遷移処理の型定義に、案件を識別する為の識別子の型定義を追加する。
【0014】
インタフェース定義情報におけるmessage部の定義では、前記各処理の処理名に入力または出力を識別する為の識別子を付加してmessage部の名称を生成した後、当該message部の型を前記types部で定義された型定義により定義する。
【0015】
インタフェース定義情報のportType部の定義では、前記ビジネスプロセス定義で定義されているビジネスプロセスの名称によりportType部の名称を生成した後、前記各処理の処理名によりportType部におけるoperationの名称を生成する。
【0016】
インタフェース定義情報のbinding部の定義では、前記各処理の処理名によりbinding部におけるoperationの名称を生成した後、binding部の入力及び出力のencodingについて、SOAP(Simple Object Access Protocol)等の所定の実行環境で指定可能なencodingを設定する。
【0017】
インタフェース定義情報のService部の定義では、前記ビジネスプロセス定義で定義されているビジネスプロセスの名称にService部を識別する為の識別子を付加してService部の名称を生成した後、前記Service部のport名としてビジネスプロセス定義名称を指定する。
【0018】
次に、ワークフロー処理機能を提供するプログラムを生成する際には、まず前記各処理の処理名に入力または出力を識別する為の識別子を付加して、ワークフロー処理機能を提供するプログラムにおけるクラスの名称を生成し、インタフェース定義情報のtypes部で定義された型定義に対応するクラスを定義する。
【0019】
そして、ビジネスプロセスの名称によりインタフェースの名称を生成した後、前記各処理に対応するメソッドとして、インタフェース定義情報のtypes部で定義された型定義に対応するクラスをメソッド引数または戻り値とし、当該処理を実行する為のAPI(Application Programming Interface)を発行するメソッドを定義する。
【0020】
前記ビジネスプロセス定義から取得される各処理の処理名や、それらの各処理における入出力データの名称等の情報を、ワークフロー処理装置内で各ワークフロー処理を呼び出す際のAPIに合わせてビジネスプロセス定義中に定義しておけば、前記の様にして定義されたメソッドの実行時にワークフロー処理装置内の所定のワークフロー処理を呼び出すことが可能となるので、ワークフロー処理を利用して構築された各種処理システムの機能をインターネットのWebサービスとして提供するWebサービスサーバと、その提供を受けるWebサービスクライアントから成るシステムや、あるワークフローWebサービスサーバが他のワークフローWebサービスサーバと連携するシステム等を開発する際に、前記の様にして生成されたインタフェース定義情報やプログラムを利用することにより、その開発工数を削減することができる。
【0021】
以上の様に本発明のプログラム生成装置によれば、ワークフロー処理を利用して構築された処理システムを、インターネットを含むネットワーク経由で利用するシステムを開発する際の開発工数を削減することが可能である。
【0022】
【発明の実施の形態】
以下にワークフロー処理をWebサービスとして提供するプログラム及びそのインタフェース定義情報を生成する一実施形態のプログラム生成装置について説明する。
【0023】
図1は本実施形態のプログラム生成装置の概要を示す図である。図1のワークフロー処理装置100は、ワークフローで使用する情報をDBMS101に保存することで管理している。ワークフロー処理装置100では、ビジネスの流れを定義したビジネスプロセス定義102に従って、ワークフローの状態を変化させている。
【0024】
ワークフロー処理装置100の機能をWebサービス(プログラムやオブジェクトの実行により実現される機能)として利用する為には、Webサービスクライアント103は、Webサービスの提供要求をユーザ側の処理装置から受け付けた後、ネットワーク104を介して、Webサービスサーバ105を呼び出し、そのWebサービスアプリケーションプログラム(Webサービスを実現するプログラム若しくはオブジェクトでも良い)の実行によりWebサービスの提供を受けて、ワークフロー処理を行う為のWebページ等の表示を要求元のユーザ側処理装置へ行う。
【0025】
本実施形態のWebサービスアプリケーションプログラム生成装置106では、Webサービスクライアント103からのワークフロー処理要求を受け取ってワークフロー処理装置100のワークフロー処理を実行することにより、ワークフロー処理機能をWebサービスとして提供するWebサービスアプリケーションプログラムを、ビジネスプロセス定義102を元にしてWebサービスサーバ105に生成する。
【0026】
また本実施形態のWebサービスアプリケーションプログラム生成装置106では、ワークフロー処理要求をユーザ側処理装置から受け付けるWebサービスクライアント103と、ワークフロー処理機能を提供するWebサービスサーバ105とが相互にアクセスする為のインタフェース定義であるWSDLファイル107を、ビジネスプロセス定義102を元にして生成する。
【0027】
なお、前記のワークフロー処理装置100、Webサービスクライアント103、Webサービスサーバ105の各装置は、計算機や情報処理装置、またはその様な処理を実施するプログラムやオブジェクトでも良い。
【0028】
図2は本実施形態のビジネスプロセス定義からのWebサービスアプリケーションプログラムの生成概要を示す図である。図2の様にビジネスプロセス定義では、業務処理を開始する為の案件開始ノード200、業務の処理することで案件を次に遷移させる為の案件遷移ノードA201及び案件遷移ノードB202や、業務の終了を示す為の案件終了ノード203があり、それぞれのノードを矢印で結ぶことにより、業務の流れを定義することができる。通常のワークフローシステムは、この様なビジネスプロセス定義を行う為のGUI(Graphical User Interface)ツールが標準で付属している。
【0029】
本実施形態のWebサービスアプリケーションプログラム生成装置106では、ビジネスプロセス定義からWebサービスアプリケーションプログラム204を生成する。その際、Webサービスアプリケーションプログラム204の中に、案件開始ノード200に対応する案件開始処理205を生成し、案件遷移ノードA201等の各ノードに対応する案件遷移処理206と案件遷移で必要な情報を取得する為の情報取得処理207を生成する。
【0030】
図3は本実施形態のWebサービスアプリケーションプログラム生成装置の概略構成を示す図である。図3に示す様に本実施形態のWebサービスアプリケーションプログラム生成装置300は、情報取得部301と、WSDL生成部302と、Webサービスアプリケーション生成部303とを有している。
【0031】
情報取得部301は、ビジネスプロセス定義304を入力して解析し、そのワークフロー処理での案件開始、情報取得及び案件遷移に必要な情報を取得する処理部である。WSDL生成部302は、ワークフロー処理の実行要求を行う際のインタフェースを示すインタフェース定義情報であるWSDLファイル305を前記取得した情報を元に生成するインタフェース定義情報生成部である。
【0032】
Webサービスアプリケーション生成部303は、ワークフロー処理機能を提供するWebサービスアプリケーションプログラム306を前記取得した情報と前記生成したWSDLファイル305を元に生成するプログラム生成部である。
【0033】
Webサービスアプリケーションプログラム生成装置300を情報取得部301、WSDL生成部302及びWebサービスアプリケーション生成部303として機能させる為のプログラムは、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はCD−ROM以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【0034】
図3の情報取得部301では、ビジネスプロセス定義304を入力情報として、ビジネスプロセス定義304を解析して案件開始及び案件遷移処理に必要な情報を取得する。また、案件開始処理及び案件遷移処理の際の入出力情報をユーザから受け付ける処理を行う。
【0035】
WSDL生成部302は、情報取得部301で得られた情報を元にWSDLファイル305を生成する。また、WSDLファイル305を定義する際にデータ型の名称やオペレーションの名称をユーザから受け付ける処理を行う。
【0036】
Webサービスアプリケーション生成部303は、情報取得部301で得られた情報とWSDL生成部302で定義された情報を元に、Webサービスアプリケーションプログラム306を生成する。Webサービスアプリケーションプログラム生成装置300は、最終的にWSDLファイル305とWebサービスアプリケーションプログラム306を出力する。
【0037】
図4は本実施形態の情報取得部301の処理手順を示すフローチャートである。ステップ400で情報取得部301は、ビジネスプロセス定義ファイルを読み込んで、ビジネスプロセス定義情報を解析する。ビジネスプロセス定義ファイルの形式はワークフローシステムによって様々であるが、字句解析及び構文解析を行うことによりビジネスプロセス定義情報の解析を行うことが可能である。例えば、ビジネスプロセス定義がXML(eXtensible Markup Language)形式になっている場合、DOM(Document Object Model)及びSAX(Simple API for XML)を使用してビジネスプロセス定義の情報を容易に取得することができる。
【0038】
ステップ401では、前記解析したビジネスプロセス定義情報から、ビジネスプロセス定義名及びビジネスプロセス定義バージョン等、案件を開始する際にワークフローシステムのAPIのパラメタとして必要となる情報を取得する。
【0039】
ステップ402では、前記解析したビジネスプロセス定義情報から、案件を開始する際に入力される業務データの情報を取得し、案件開始処理の入力データとして定義する。ここで入力情報をユーザから受け付けて案件開始処理の入力データとして定義するものとしても良い。前記業務データは、ワークフローシステムのAPIのパラメタとして指定されている場合や、業務データベースのテーブルに格納されているものとしている場合がある。
【0040】
ステップ403では、ビジネスプロセス定義304に定義されたノードの数だけ繰り返しを行う。
ステップ404では、前記解析したビジネスプロセス定義情報からノード情報を取得する。ノード情報は、案件を遷移する際にワークフローシステムのAPIのパラメタとして必要となる情報である。
【0041】
ステップ405では、前記解析したビジネスプロセス定義情報から、案件を遷移させる際に出力される業務データや入力される業務データの情報を取得し、案件遷移処理の入出力データとして定義する。ここで入出力情報をユーザから受け付けて案件遷移処理の入出力データとして定義するものとしても良い。前記出力される業務データは案件を遷移させる際の元となる情報であり、例えば、案件を処理する画面に出力される情報である。
ステップ406はノード数の繰り返しの終わりである。
【0042】
図5は本実施形態の情報取得部301で得られた情報を元にtypes定義を生成するWSDL生成部302の処理の処理手順を示すフローチャートである。ステップ500でWSDL生成部302は、案件を開始する際に入力される業務データの数と、案件を遷移させる際に必要な業務データとして入出力されるデータの数だけ繰り返しを始める。
【0043】
ステップ501では、そのデータが入力データまたは出力データのどちらであるかに応じて分岐する。ステップ502は入力データの場合で、入力データ型の型定義を行う。ステップ503は出力データの場合で、出力データ型の型定義を行う。ステップ504は定義された型をXMLスキーマで定義されている型にマッピングする。ステップ505は業務データ数の繰り返しの終わりである。
【0044】
図6は本実施形態の情報取得部301で得られた情報を元にmessage部分、portType部分及びbinding部分の定義を生成するWSDL生成部302の処理の処理手順を示すフローチャートである。ステップ600でWSDL生成部302は、案件開始処理、案件遷移処理及び情報取得処理の処理数の合計だけ繰り返しを始める。
【0045】
ステップ601では、生成しようとしている処理の種類が、案件開始処理、案件遷移処理または情報取得処理の内のどの処理であるかによって分岐する。
ステップ602では、案件開始処理用WSDLデータのmessage部分、portType部分及びbinding部分を、情報取得部301で得られた情報を元に生成する。
【0046】
ステップ603では、案件遷移処理用WSDLデータのmessage部分、portType部分及びbinding部分を、情報取得部301で得られた情報を元に生成する。案件遷移時にはワークフローシステムに対してどの案件を遷移させるかを指定する必要があるので、案件の識別子(ID)をパラメタに追加する。
【0047】
ステップ604では、情報取得処理用WSDLデータのmessage部分、portType部分及びbinding部分を、情報取得部301で得られた情報を元に生成する。ステップ605はステップ600に対応する繰り返しの終わりである。
ステップ606では、SOAP実行環境に合わせてWSDLファイル305のport部分とservice部分を生成する。
【0048】
図7は本実施形態のWebサービスアプリケーション生成部303の処理手順を示すフローチャートである。ステップ700でWebサービスアプリケーション生成部303は、Webサービスアプリケーションプログラム306のフレームワークを生成する。
【0049】
ステップ701では、案件開始処理数及びビジネスプロセス定義のノードに対する案件遷移処理数と情報取得処理数の合計回数だけ繰り返しを始める。
ステップ702では、生成しようとしている処理の種類が、案件開始処理、案件遷移処理または情報取得処理の内のどの処理であるかによって分岐する。
【0050】
ステップ703では、Webサービスアプリケーションプログラム306の案件開始処理用の処理部分を生成する。この処理部分では、ワークフローシステムへ案件を開始する為のAPIを発行する実装を生成する。
【0051】
ステップ704では、Webサービスアプリケーションプログラム306の案件遷移処理用の処理部分を生成する。この処理部分では、ワークフローシステムへ案件を遷移させる為のAPIを発行する実装を生成する。
【0052】
ステップ705では、Webサービスアプリケーションプログラム306の情報取得処理用の処理部分を生成する。この処理部分では、ワークフローシステムから情報を取得するAPIを発行し、取得した値をオブジェクトに設定する実装を生成する。ステップ706はステップ701に対応する処理数の繰り返しの終わりである。
【0053】
図8は本実施形態の情報取得部301で取得するビジネスプロセス定義情報の具体例を示す図である。本実施形態の情報取得部301では、図8の案件開始ノード800について案件開始処理の情報803を取得する。
【0054】
案件開始処理の情報803は、案件開始処理名804であるStartと、案件開始の際に必要となる業務データとしてユーザが定義した次のデータを有しており、定義情報805は、入力データの案件タイトルTitleがstring型(文字型)であることを示し、定義情報806は、入力データの価格Priceがint型(整数型)であり、定義情報807は、入力データの期限Limitがdate型(日付の型)であることを示している。
また情報取得部301は、ノードA801について情報取得処理の情報808と案件遷移処理の情報813を取得する。
【0055】
ノードA801の情報取得処理の情報808は、情報取得処理名809であるA_GetDataと、情報取得処理の際に必要となる業務データとしてユーザが定義した次のデータとを有しており、定義情報810は、出力データの案件タイトルTitleがstring型であることを示し、定義情報811は、出力データの価格Priceがint型であり、定義情報812は、出力データの期限Limitがdate型であることを示している。
【0056】
更に、ノードA801の案件遷移処理の情報813は、案件遷移処理名814であるA_SendNextと、案件遷移処理の際に必要となる業務データとしてユーザが定義した次のデータを有しており、定義情報815は、入力データの判定Judgeがboolean型(論理型)であることを示している。
【0057】
図9は本実施形態のWSDLファイル305のtypes部の生成例を示す図である。図9の901行目はスキーマの名前空間の定義であり、ここにはユーザが定義した任意の名前空間の宣言を生成している。
【0058】
以降の行には、案件開始処理や各ノードの情報取得処理及び案件遷移処理についてのパラメタの型定義を生成する。902行目から908行目までが案件開始処理の入力パラメタの型定義であり、909行目から916行目までがノードAにおける情報取得処理の出力パラメタの型定義で、917行目から923行目までがノードAにおける案件遷移処理の入力パラメタの型定義である。924行目以降では、各ノードにおける情報取得処理及び案件遷移処理の入力パラメタの型定義と出力パラメタの型定義を繰り返し生成する。
【0059】
WSDL生成部302は、案件開始処理のパラメタの型について、案件開始処理の情報803で得られた情報を元に次の様に定義する。すなわちWSDL生成部302は、案件開始処理名804のStartと入力であることを示すRequestを下線で繋げることで型の名前を生成して902行目の様に定義する。904行目では入力データの案件タイトルTitleの定義情報805を元に、element名のTitle及びその型xsd:stringを定義し、905行目には入力データの価格Priceの定義情報806を元に、element名Price及びその型xsd:intを定義し、906行目には入力データの期限Limitの定義情報807を元に、element名Limit及びその型xsd:dateTimeを定義する。
【0060】
ノードAの情報取得処理のパラメタの型については、情報取得処理の情報808で得られた情報を元に次の様に定義する。すなわち、910行目では情報取得処理名809のA_GetDataと出力であることを示すResponseを下線で繋げることで型の名前を定義する。912行目には出力データの案件タイトルTitleの定義情報810を元に、element名Title及びその型xsd:stringを定義し、913行目には出力データの価格Priceの定義情報811を元に、element名Price及びその型xsd:intを定義し、914行目には出力データの期限Limitの定義情報812を元に、element名Limit及びその型xsd:dateTimeを定義する。
【0061】
ノードAの案件遷移処理のパラメタの型については、案件遷移処理の情報813で得られた情報を元に次の様に定義する。918行目では案件遷移処理名814のA_SendNextと入力であることを示すRequestを下線で繋げることで型の名前を定義する。案件遷移を行う場合には、入力データとして案件を一意に識別する為のIdが必要になる為、920行目にはそのIdをint型として定義し、921行目には入力データのJudgeの定義情報815を元に、element名Judge及びその型xsd:booleanを定義する。
【0062】
図10は本実施形態のWSDLファイル305のmessage部の生成例を示す図である。図10の1000行目から1002行目は、案件開始処理の入力メッセージの定義である。
【0063】
WSDL生成部302は、案件開始処理名804のStartと入力であることを示すRequestを繋げることで案件開始処理の入力メッセージの名前を1000行目の様に定義する。1001行目では、入力メッセージとして、名前をin0とし、その型の定義が案件開始処理の入力パラメタ型定義Start_Request(902行目)であるものとして定義する。
【0064】
1003行目から1004行目は、案件開始処理の出力メッセージの定義である。1003行目で案件開始処理の出力メッセージの名前を案件開始処理名804のStartと出力であることを示すResponseを繋げることで定義する。案件開始処理では出力メッセージは無いので定義は空になる。
【0065】
1005行目から1006行目は、ノードAの情報取得処理の入力メッセージ定義である。1005行目でノードAの情報取得処理の入力メッセージの名前をノードAの情報取得処理名809のA_GetDataと入力であることを示すRequestを繋げることで定義する。情報取得処理では入力メッセージは無いので定義は空になる。
【0066】
1007行目から1009行目は、ノードAの情報取得処理の出力メッセージ定義である。1007行目でノードAの情報取得処理の出力メッセージの名前をノードAの情報取得処理名809のA_GetDataと出力を示すResponseを繋げることで定義する。1008行目で出力メッセージとして、名前をreturnとし、その型の定義がノードAの情報取得処理の出力パラメタ型定義A_GetData_Response(910行目)であるものとして定義する。
【0067】
1010行目から1012行目は、ノードAの案件遷移処理の入力メッセージの定義である。1010行目で案件遷移処理の入力メッセージの名前をノードAの案件遷移処理名814のA_SendNextと入力を示すRequestを繋げることで定義する。1011行目で入力メッセージとして、名前をin0とし、その型の定義がノードAの案件遷移処理の入力パラメタ型定義A_SendNext_Request(918行目)であるものとして定義する。
【0068】
1013行目から1014行目は、ノードAの案件遷移処理の出力メッセージ定義である。1013行目でノードAの案件遷移処理の出力メッセージの名前をノードAの案件遷移処理名814のA_SendNextと出力であることを示すResponseを繋げることで定義する。案件遷移処理では出力メッセージは無いので定義は空になる。1015行目以降は、各ノードの処理に対してメッセージを繰り返し定義する。
【0069】
図11は本実施形態のWSDLファイル305のportType部の生成例を示す図である。図11の1100行目でWSDL生成部302は、portTypeの名前をビジネスプロセス定義名称と同じ名前として定義する。ここでは、ビジネスプロセス定義名称をApplyBPとした。
【0070】
1101行目から1104行目では案件開始処理の抽象操作operationを定義する。1101行目で案件開始処理のoperation名を案件開始処理名804のStartと定義する。また入力パラメタin0が1001行目で定義されているのでこれをparameterOrderに指定する。1102行目で入力メッセージの定義としてStartRequest(1000行目)を指定する。1103行目で出力メッセージの定義としてStartResponse(1003行目)を指定する。
【0071】
1105行目から1108行目ではノードAの情報取得処理のoperationを定義する。1105行目でノードAの情報取得処理のoperation名を情報取得処理名809のA_GetDataと定義する。入力パラメタは定義されていないので、ここではparameterOrderを指定しない。1106行目で入力メッセージの定義としてA_GetDataRequest(1005行目)を指定する。1107行目で出力メッセージの定義としてA_GetDataResponse(1007行目)を指定する。
【0072】
1109行目から1112行目ではノードAの案件遷移処理のoperationを定義する。1109行目でノードAの案件遷移処理のoperation名をノードAの案件遷移処理名814のA_SendNextと定義する。また入力パラメタin0が1011行目で定義されていたので、これをparameterOrderに指定する。1110行目で入力メッセージの定義としてA_SendNextRequest(1010行目)を指定する。1111行目で出力メッセージの定義としてA_SendNextResponse(1013行目)を指定する。1113行目以降で各ノードの処理についてoperation定義を繰り返す。
【0073】
図12は本実施形態のWSDLファイル305のbinding部の生成例を示す図である。図12の1201行目から1209行目でWSDL生成部302は、案件開始処理のbindingを定義する。1201行目に案件開始処理名804のStartを指定する。1202行目から1208行目までは入力及び出力のencodingを指定する。encodingにはSOAP実行環境で指定可能なencodingを設定する。
【0074】
1210行目から1218行目でノードAの情報取得処理のbindingを定義する。1210行目にノードAの情報取得処理名809のA_GetDataを指定する。1211行目から1217行目までは入力及び出力のencodingを指定する。encodingには案件開始処理と同様にSOAP実行環境で指定可能なencodingを指定する。
【0075】
1219行目から1227行目でノードAの案件遷移処理のbindingを定義する。1219行目にノードAの案件遷移処理名814のA_SendNextを指定する。1221行目から1227行目までは入力及び出力のencodingを指定する。encodingには案件開始処理と同様にSOAP実行環境で指定可能なencodingを設定する。1228行目以降では各ノードの処理についてbinding定義を繰り返す。
【0076】
図13は本実施形態のWSDLファイル305のservice部の生成例を示す図である。WSDL生成部302は、図13の1300行目にservice名としてビジネスプロセス定義名称ApplyBPにServiceという文字列を連結して指定する。1301行目にport名としてビジネスプロセス定義名称を指定する。
【0077】
図14は本実施形態のWebサービスアプリケーションプログラム306のフレームワークの内で、使用するパラメタの型に対応するクラス定義の生成例を示す図である。図14の1400行目から1413行目は、案件開始処理の入力パラメタの型定義(902行目)に対応するクラスであり、Webサービスアプリケーション生成部303は、このクラス名を案件開始処理名Startと入力パラメタを示すRequestを連結して指定する。
【0078】
1414行目から1421行目はノードAにおける情報取得処理の出力パラメタの型定義(910行目)に対応するクラスであり、Webサービスアプリケーション生成部303は、このクラス名をノードAの情報取得処理名A_GetDataと出力パラメタを示すResponseを連結して指定する。
【0079】
1422行目から1428行目はノードAにおける案件遷移処理の入力パラメタの型定義(918行目)に対応するクラスであり、このクラス名をノードAの案件遷移処理名A_SendNextと入力パラメタを示すRequestを連結して指定する。1429行目以降には各ノードにおける情報取得処理及び案件遷移処理のパラメタの型定義(925行目)に対応するクラスを定義する。
【0080】
1401行目は案件開始処理の入力パラメタの内、案件タイトルTitle(904行目)に対応する定義になる。1402行目は案件開始処理の入力パラメタの内、価格Price(905行目)に対応する定義になる。1403行目は案件開始処理の入力パラメタの内、期限Limit(906行目)に対応する定義になる。
【0081】
1404行目から1405行目は案件開始処理の入力パラメタクラスStartRequestのコンストラクタ定義となる。1406行目から1408行目は案件タイトルTitle(904行目)の値を取得する為のアクセサ関数の定義である。1409行目から1411行目は案件タイトルTitle(904行目)の値を設定する為のアクセサ関数の定義である。
【0082】
1412行目以降はStartRequestクラスのメンバ変数Price(1402行目)及びメンバ変数Limit(1403行目)に対して、メンバ変数Title(1401行目)と同様に、設定及び取得を行うアクセサメソッドを定義する。
【0083】
1415行目はノードAの情報取得処理の出力パラメタの内、案件タイトルTitle(912行目)に対応する定義になる。1416行目はノードAの情報取得処理の出力パラメタの内、価格Price(913行目)に対応する定義になる。1417行目はノードAの情報取得処理の出力パラメタの内、期限Limit(914行目)に対応する定義になる。1418行目から1419行目はノードAの情報取得処理の出力パラメタクラスA_GetDataResponseのコンストラクタ定義となる。
【0084】
1420行目以降では、案件開始処理の入力パラメタクラスと同様に、A_GetDataResponseの各メンバ変数の設定及び取得の為のアクセサメソッドの定義を繰り返し行う。
【0085】
1423行目はノードAの案件遷移処理の入力パラメタの内、案件を一意に識別する為のId(920行目)に対応する定義になる。1424行目はノードAの案件遷移処理の入力パラメタの内、judge(921行目)に対応する定義になる。1425行目から1426行目はノードAの案件遷移処理の入力パラメタクラスA_SendNextRequestのコンストラクタ定義となる。
【0086】
1427行目以降では、案件開始処理の入力パラメタクラスと同様に、A_SendNextRequestの各メンバ変数の設定及び取得の為のアクセサメソッドの定義を繰り返し行う。
【0087】
図15は本実施形態のWebサービスアプリケーションプログラム306のフレームワークの内で、各処理に対応するインタフェース定義の生成例を示す図である。図15の1500行目はビジネスプロセス定義に対応するインタフェース宣言であり、Webサービスアプリケーション生成部303は、インタフェース名にビジネスプロセス定義名称ApplyBPを指定する。
【0088】
Webサービスアプリケーション生成部303は、1501行目に案件開始処理に対応するStartのメソッドを定義し、メソッド引数として案件開始処理の入力パラメタクラスStartRequest(1400行目)を指定する。
【0089】
1502行目にはノードAの情報取得処理に対応するA_GetDataのメソッドを定義し、メソッドの戻り値としてノードAの情報取得処理の出力パラメタクラスA_GetDataResponse(1414行目)を指定する。
【0090】
1503行目にはノードAの案件遷移処理に対応するA_SendNextのメソッドを定義し、メソッドの引数としてノードAの案件遷移処理の入力パラメタクラスA_SendNextRequest(1422行目)を指定する。1504行目以降には各ノードの情報取得処理及び案件遷移処理のメソッドを繰り返し定義する。
【0091】
図16は本実施形態のWebサービスアプリケーションプログラム306のフレームワークにおける処理部分の生成例を示す図である。Webサービスアプリケーション生成部303は、図16の1600行目にWebサービスアプリケーションプログラム306の処理実装クラスを宣言し、クラスにはインタフェース定義(1500行目)をimplementsとして宣言する。クラス名にはインタフェース名ApplyBPにSoapBindingImplを連結して指定する。
【0092】
1601行目から1604行目までは案件開始処理Startの処理である。1605行目から1613行目まではノードAの情報取得処理A_GetDataの処理である。1614行目から1617行目まではノードAの案件遷移処理A_SendNextの処理である。
【0093】
1601行目は案件開始処理Startのメソッド宣言である。Webサービスアプリケーション生成部303は、入力パラメタとしてStartRequestクラス(1400行目)を宣言する。1602行目はユーザが任意に処理を追加できる部分である。
【0094】
1603行目はワークフローシステムに対して案件を開始する為のAPIを発行する処理である。案件を開始する為のAPIの引数として、第1引数にビジネスプロセス定義名を、第2引数に案件を開始する際の入力すべき業務データを指定する。
【0095】
1605行目はノードAの情報取得処理A_GetDataのメソッド宣言である。出力パラメタとしてA_GetDataResponseクラス(1414行目)を宣言する。1606行目はユーザが任意に処理を追加できる部分である。
【0096】
1607行目はワークフローシステムからノードAの情報を取得する為のAPIを発行する処理である。第1引数にノード名Aを指定する。1608行目に返り値のA_GetDataResponseオブジェクトを宣言する。
【0097】
1609行目では返り値のオブジェクトのメンバ変数である案件タイトルTitleにワークフローシステムから取得した値を設定する。1610行目では返り値のオブジェクトのメンバ変数である価格Priceにワークフローシステムから取得した値を設定する。1611行目では返り値のオブジェクトのメンバ変数である期限Limitにワークフローシステムから取得した値を設定する。
【0098】
1612行目ではワークフローシステムから取得した情報を設定したオブジェクトをリターンする。この例では、ワークフローシステムから情報を取得しているが、ユーザロジックでユーザが構築したデータベースから情報を取得した値をA_GetDataResponseオブジェクトに設定することも可能である。
【0099】
1614行目はノードAの案件遷移処理A_SendNextのメソッド宣言である。第1引数に案件を遷移する際に入力すべき業務データを指定する。1615行目はユーザが任意に処理を追加できる部分である。1616行目はワークフローシステムに対して案件を遷移する為のAPIを発行している処理である。1618行目以降では、各ノードにおける情報取得処理及び案件遷移処理の実装を繰り返し定義する。
【0100】
図17は本実施形態のWebサービスクライアントとWebサービスアプリケーションプログラム306との間の具体的なSOAPメッセージを示す図である。図17の1700行目から1709行目までが、Startメソッドを発行した際に、WebサービスクライアントからWebサービスアプリケーションプログラム306へ送られるSOAPメッセージの一例である。
【0101】
1704行目に案件タイトルTitleとして「見積もり申請書」を入力している。1705行目に価格Priceとして、「50000」を入力している。1706行目に期限Limitとして、「2003−04−07T10:00:00Z」を入力している。1700行目から1703行目、また1707行目から1709行目は付加されるSOAPメッセージである。
【0102】
1710行目から1719行目までが、A_GetDataメソッドを発行した際に、Webサービスアプリケーションプログラム306からWebサービスクライアントに返されるSOAPメッセージの一例である。
【0103】
1714行目に案件タイトルTitleとして「見積もり申請書」が出力されている。1715行目に価格Priceとして、「50000」が出力されている。1716行目に期限Limitとして、「2003−04−07T10:00:00Z」が出力されている。1710行目から1713行目、また1717行目から1719行目は付加されるSOAPメッセージである。
【0104】
1720行目から1727行目までが、A_SendNextメソッドを発行した際に、Webサービスアプリケーションプログラム306からWebサービスクライアントに返されるSOAPメッセージの一例である。1724行目に判定Judgeとして「True」が出力されている。1720行目から1723行目、また1725行目から1727行目は付加されるSOAPメッセージである。
【0105】
以上説明した様に本実施形態のプログラム生成装置によれば、ビジネスプロセス定義から、そのワークフロー処理機能を提供するプログラムとそのインタフェース定義情報を生成するので、ワークフロー処理を利用して構築された処理システムを、インターネットを含むネットワーク経由で利用するシステムを開発する際の開発工数を削減することが可能である。
【0106】
【発明の効果】
本発明によれば、ワークフロー処理を利用して構築された処理システムを、利用するシステムの開発工数を削減することが可能である。
【図面の簡単な説明】
【図1】本実施形態のプログラム生成装置の概要を示す図である。
【図2】本実施形態のビジネスプロセス定義からのWebサービスアプリケーションプログラムの生成概要を示す図である。
【図3】本実施形態のWebサービスアプリケーションプログラム生成装置の概略構成を示す図である。
【図4】本実施形態の情報取得部301の処理手順を示すフローチャートである。
【図5】本実施形態の情報取得部301で得られた情報を元にtypes定義を生成するWSDL生成部302の処理の処理手順を示すフローチャートである。
【図6】本実施形態の情報取得部301で得られた情報を元にmessage部分、portType部分及びbinding部分の定義を生成するWSDL生成部302の処理の処理手順を示すフローチャートである。
【図7】本実施形態のWebサービスアプリケーション生成部303の処理手順を示すフローチャートである。
【図8】本実施形態の情報取得部301で取得するビジネスプロセス定義情報の具体例を示す図である。
【図9】本実施形態のWSDLファイル305のtypes部の生成例を示す図である。
【図10】本実施形態のWSDLファイル305のmessage部の生成例を示す図である。
【図11】本実施形態のWSDLファイル305のportType部の生成例を示す図である。
【図12】本実施形態のWSDLファイル305のbinding部の生成例を示す図である。
【図13】本実施形態のWSDLファイル305のservice部の生成例を示す図である。
【図14】本実施形態のWebサービスアプリケーションプログラム306のフレームワークの内で、使用するパラメタの型に対応するクラス定義の生成例を示す図である。
【図15】本実施形態のWebサービスアプリケーションプログラム306のフレームワークの内で、各処理に対応するインタフェース定義の生成例を示す図である。
【図16】本実施形態のWebサービスアプリケーションプログラム306のフレームワークにおける処理部分の生成例を示す図である。
【図17】本実施形態のWebサービスクライアントとWebサービスアプリケーションプログラム306との間の具体的なSOAPメッセージを示す図である。
【符号の説明】
100…ワークフロー処理装置、101…DBMS、102…ビジネスプロセス定義、103…Webサービスクライアント、104…ネットワーク、105…Webサービスサーバ、106…Webサービスアプリケーションプログラム生成装置、107…WSDLファイル、200…案件開始ノード、201…案件遷移ノードA、202…案件遷移ノードB、203…案件終了ノード、204…Webサービスアプリケーションプログラム、205…案件開始処理、206…案件遷移処理、207…情報取得処理、300…Webサービスアプリケーションプログラム生成装置、304…ビジネスプロセス定義、305…WSDLファイル、306…Webサービスアプリケーションプログラム、301…情報取得部、302…WSDL生成部、303…Webサービスアプリケーション生成部、800…案件開始ノード、801…ノードA、802…ノード、803…案件開始処理の情報、804…案件開始処理名、805〜807…定義情報、808…情報取得処理の情報、809…情報取得処理名、810〜812…定義情報、813…案件遷移処理の情報、814…案件遷移処理名、815…定義情報。
Claims (10)
- ワークフロー処理を提供するプログラム及びそのインタフェース定義情報を生成するプログラム生成方法であって、
ビジネスプロセス定義を入力して解析し、そのワークフロー処理での案件開始、情報取得及び案件遷移に必要な情報をビジネスプロセス定義から取得するステップと、ワークフロー処理の実行要求を行う際のインタフェースを示すインタフェース定義情報を前記取得した情報を元に生成するステップと、ワークフロー処理機能を提供するプログラムを前記取得した情報と前記生成したインタフェース定義情報を元に生成するステップとを有することを特徴とするプログラム生成方法。 - 案件開始ノードに対応する案件開始処理と、案件遷移ノードに対応する案件遷移処理及び案件遷移で必要な情報を取得する為の情報取得処理の各処理について、それらの処理のインタフェース定義情報を生成することを特徴とする請求項1に記載されたプログラム生成方法。
- 案件開始ノードに対応する案件開始処理と、案件遷移ノードに対応する案件遷移処理及び案件遷移で必要な情報を取得する為の情報取得処理の各処理について、それらの処理を実行する処理部分を生成することを特徴とする請求項1または請求項2のいずれかに記載されたプログラム生成方法。
- 前記必要な情報をビジネスプロセス定義から取得する際に、ワークフロー処理を構成する各処理の処理名と、各処理における入出力データの名称及びその型を示す情報を、案件の開始または遷移の行われる各ノード毎に取得することを特徴とする請求項1乃至請求項3のいずれか1項に記載されたプログラム生成方法。
- ワークフロー処理を構成する各処理の処理名に入力または出力を識別する為の識別子を付加してインタフェース定義情報のtypes部における型定義の名称を生成し、前記各処理の入出力データの名称及びその型を、前記名称を生成した型定義における要素名及び型に設定することにより、インタフェース定義情報における型定義を生成することを特徴とする請求項1乃至請求項4のいずれか1項に記載されたプログラム生成方法。
- インタフェース定義情報における案件遷移処理の型定義に、案件を識別する為の識別子の型定義を追加することを特徴とする請求項5に記載されたプログラム生成方法。
- ワークフロー処理を構成する各処理の処理名に入力または出力を識別する為の識別子を付加してインタフェース定義情報におけるmessage部の名称を生成し、当該message部の型をインタフェース定義情報のtypes部で定義された型定義により定義することを特徴とする請求項1乃至請求項6のいずれか1項に記載されたプログラム生成方法。
- ワークフロー処理を構成する各処理に対応するメソッドとして、インタフェース定義情報のtypes部で定義された型定義に対応するクラスをメソッド引数または戻り値とし、当該処理を実行する為のAPIを発行するメソッドを定義することを特徴とする請求項1乃至請求項7のいずれか1項に記載されたプログラム生成方法。
- ワークフロー処理を提供するプログラム及びそのインタフェース定義情報を生成するプログラム生成装置であって、
ビジネスプロセス定義を入力して解析し、そのワークフロー処理での案件開始、情報取得及び案件遷移に必要な情報をビジネスプロセス定義から取得する情報取得部と、ワークフロー処理の実行要求を行う際のインタフェースを示すインタフェース定義情報を前記取得した情報を元に生成するインタフェース定義情報生成部と、ワークフロー処理機能を提供するプログラムを前記取得した情報と前記生成したインタフェース定義情報を元に生成するプログラム生成部とを備えることを特徴とするプログラム生成装置。 - ワークフロー処理を提供するプログラム及びそのインタフェース定義情報を生成するプログラム生成装置としてコンピュータを機能させる為のプログラムであって、
ビジネスプロセス定義を入力して解析し、そのワークフロー処理での案件開始、情報取得及び案件遷移に必要な情報をビジネスプロセス定義から取得する情報取得部と、ワークフロー処理の実行要求を行う際のインタフェースを示すインタフェース定義情報を前記取得した情報を元に生成するインタフェース定義情報生成部と、ワークフロー処理機能を提供するプログラムを前記取得した情報と前記生成したインタフェース定義情報を元に生成するプログラム生成部としてコンピュータを機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003158770A JP2004362185A (ja) | 2003-06-04 | 2003-06-04 | プログラム生成方法及び実施装置並びに処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003158770A JP2004362185A (ja) | 2003-06-04 | 2003-06-04 | プログラム生成方法及び実施装置並びに処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004362185A true JP2004362185A (ja) | 2004-12-24 |
Family
ID=34052014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003158770A Pending JP2004362185A (ja) | 2003-06-04 | 2003-06-04 | プログラム生成方法及び実施装置並びに処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004362185A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010039928A (ja) * | 2008-08-07 | 2010-02-18 | Nippon Telegr & Teleph Corp <Ntt> | マッピング定義データ生成装置、マッピング定義データ生成方法、プログラム |
WO2011096314A1 (ja) * | 2010-02-05 | 2011-08-11 | 日本電気株式会社 | Webサービス構築管理方法、装置、及びプログラム |
JP2016066355A (ja) * | 2014-09-17 | 2016-04-28 | キヤノンマーケティングジャパン株式会社 | Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム |
JP2018010631A (ja) * | 2016-06-30 | 2018-01-18 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、その処理方法及びプログラム |
JP2018106747A (ja) * | 2016-06-30 | 2018-07-05 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、サーバ、その処理方法及びプログラム |
-
2003
- 2003-06-04 JP JP2003158770A patent/JP2004362185A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010039928A (ja) * | 2008-08-07 | 2010-02-18 | Nippon Telegr & Teleph Corp <Ntt> | マッピング定義データ生成装置、マッピング定義データ生成方法、プログラム |
WO2011096314A1 (ja) * | 2010-02-05 | 2011-08-11 | 日本電気株式会社 | Webサービス構築管理方法、装置、及びプログラム |
JP2016066355A (ja) * | 2014-09-17 | 2016-04-28 | キヤノンマーケティングジャパン株式会社 | Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム |
JP2018010631A (ja) * | 2016-06-30 | 2018-01-18 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、その処理方法及びプログラム |
JP2018106747A (ja) * | 2016-06-30 | 2018-07-05 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、サーバ、その処理方法及びプログラム |
JP7014960B2 (ja) | 2016-06-30 | 2022-02-02 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、サーバ、その処理方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pautasso | Composing restful services with jopera | |
Maximilien et al. | A domain-specific language for web apis and services mashups | |
US8065655B1 (en) | System and method for the autogeneration of ontologies | |
EP1873701A1 (en) | Systems and methods for providing a mockup data generator | |
US20050050141A1 (en) | Method and apparatus for generating service oriented state data and meta-data using meta information modeling | |
US20040003119A1 (en) | Editing files of remote systems using an integrated development environment | |
US20030115548A1 (en) | Generating class library to represent messages described in a structured language schema | |
US20040003091A1 (en) | Accessing a remote iSeries or AS/400 computer system from an integrated development environment | |
US10666744B2 (en) | Managing discovery and selection of service interface specifications | |
US20100312542A1 (en) | Method and System for an Interface Certification and Design Tool | |
KR20050000352A (ko) | 공통 쿼리 런타임 시스템 및 애플리케이션 프로그래밍인터페이스 | |
MX2007015887A (es) | Flujos de trabajos centricos de datos. | |
CN108399086B (zh) | 一种微件管理方法、服务器和计算机可读存储介质 | |
US20150161235A1 (en) | Database content publisher | |
US20040268312A1 (en) | Application development support, component invocation monitoring, and data processing | |
WO2012100750A1 (en) | Business mashup | |
JPH10254689A (ja) | クライアント・サーバシステムのアプリケーション構成設計支援方式 | |
US6785880B1 (en) | Tooling framework system and method for code generation | |
US20060224633A1 (en) | Common Import and Discovery Framework | |
JP2004362185A (ja) | プログラム生成方法及び実施装置並びに処理プログラム | |
US6829758B1 (en) | Interface markup language and method for making application code | |
Nikraz et al. | A methodology for the development of multi-agent systems using the JADE platform | |
Fujima | Building a meme media platform with a JavaScript MVC framework and HTML5 | |
Grundy et al. | Deployed software component testing using dynamic validation agents | |
Meseth et al. | XML-based DEVS modeling and interpretation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050824 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080229 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080729 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080926 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090324 |