JP2010026695A - Business process execution method, business process execution device and business process execution program - Google Patents

Business process execution method, business process execution device and business process execution program Download PDF

Info

Publication number
JP2010026695A
JP2010026695A JP2008185935A JP2008185935A JP2010026695A JP 2010026695 A JP2010026695 A JP 2010026695A JP 2008185935 A JP2008185935 A JP 2008185935A JP 2008185935 A JP2008185935 A JP 2008185935A JP 2010026695 A JP2010026695 A JP 2010026695A
Authority
JP
Japan
Prior art keywords
business process
execution
activity
business
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.)
Pending
Application number
JP2008185935A
Other languages
Japanese (ja)
Inventor
Katsu Iwashita
克 岩下
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008185935A priority Critical patent/JP2010026695A/en
Publication of JP2010026695A publication Critical patent/JP2010026695A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce usage of resources in executing a business process. <P>SOLUTION: A computer system includes: a service execution device; and a business process execution device which executes a business process obtained by combining services. The business process is divided into regions including at least one activity. The business process execution device stores process division information including the association between the regions and activity, and business execution state information including the execution information of the business process.When accepting the execution of the business process, the business process extracts an activity to be executed and the region based on the process execution state information and the process division information, and executes the activity included in the region extracted based on the execution information corresponding to the extracted region. When the execution of all the activity included in the extracted region is completed, the business process stores the execution information corresponding to the region into the process execution state information. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、ビジネスプロセス実行時に消費されるリソースを低減する技術に関する。   The present invention relates to a technique for reducing resources consumed when executing a business process.

近年、企業の統廃合及び市場競争の激化といった企業をとりまくビジネス環境の激しい変化に対し、短期間で柔軟に対応可能なシステムが求められている。そこで、SOA(Service Oriented Architecture)の考え方に基づいたシステムが注目を集めている。SOAとは、業務において独立した機能を有するソフトウェアをサービスと呼ばれる単位で構築し、サービスの名前及び入出力メッセージの形式が定義されたサービスのインターフェース情報を公開することによって、当該サービスの機能を提供するソフトウェア構築手法の一つである。ここでは、SOAに基づいて構築されたシステムを、SOAシステムと呼ぶこととする。   In recent years, there has been a demand for a system that can flexibly respond in a short period of time to drastic changes in the business environment surrounding a company, such as the consolidation of companies and intensifying market competition. Thus, a system based on the concept of SOA (Service Oriented Architecture) has attracted attention. The SOA provides software functions that have independent functions in the business in units called services, and provides service functions by publishing service interface information in which service names and input / output message formats are defined. It is one of the software construction techniques. Here, a system constructed based on the SOA is referred to as an SOA system.

SOAシステムでは、可能な限り既存のサービスを再利用し、また、必要に応じて新たなサービスを開発し、これらのサービスを組み合わせて新たな機能を提供することによって、業務の変化に柔軟に対応することができる。以上のように複数のサービスを組み合わせることによって提供される新たなサービスは、ビジネスプロセスと呼ばれる。   In the SOA system, we can flexibly respond to business changes by reusing existing services as much as possible, developing new services as needed, and combining these services to provide new functions. can do. A new service provided by combining a plurality of services as described above is called a business process.

ビジネスプロセスは、BPEL(Business Process Execution Language)などのビジネスプロセス記述言語を用いて、複数のサービスを組み合わせて新たな機能を提供する。ビジネスプロセスは、自身もサービスとなりうる。したがって、ビジネスプロセスを組み合わせて新たなビジネスプロセスを構成することも可能である。   The business process provides a new function by combining a plurality of services using a business process description language such as BPEL (Business Process Execution Language). A business process can itself be a service. Therefore, a new business process can be configured by combining business processes.

ビジネスプロセスは、独立した機能を有するサービスを組み合わせて機能を提供するため、機能の変更が必要になった際には、サービスの組み合わせを変更するだけで対応することが可能であり、ビジネスの変化に柔軟に対応することができる。ビジネスプロセスには、サービス呼び出しの他、分岐処理及びフォーマット編集処理などのフロー制御を記述することが可能である。このようなビジネスプロセスを構成する要素をアクティビティと呼ぶ。また、ビジネスプロセスにおいて、各アクティビティで使用されるメッセージインスタンスを格納するための領域を変数と呼ぶ。変数は、サービス呼び出しの入出力メッセージの格納及び分岐処理の分岐条件などに用いることができる。   Since business processes provide functions by combining services with independent functions, when changes in functions become necessary, it is possible to respond by simply changing the combination of services. Can respond flexibly. In the business process, it is possible to describe flow control such as branch processing and format editing processing in addition to service call. Elements that constitute such a business process are called activities. In the business process, an area for storing a message instance used in each activity is called a variable. The variable can be used for storing an input / output message of a service call and a branch condition of a branch process.

ビジネスプロセスの記述方式としては、前述したBPELなどのビジネスプロセス定義言語が用いられる。ビジネスプロセス及びサービスの実装方式としては、各種のコンポーネントモデルなどが用いられる。また、ビジネスプロセス及びサービスの実行基盤プログラムとしては、実装されたコンポーネントを実行する各種プログラムが用いられる。ここでは、サービスの実行基盤プログラムをサービス実行基盤プログラムと呼ぶ。   As a business process description method, the business process definition language such as BPEL described above is used. Various component models are used as business process and service implementation methods. Various programs for executing the implemented components are used as business process and service execution platform programs. Here, the service execution platform program is referred to as a service execution platform program.

業務フローが記述されたビジネスプロセスを実行すると、非常に長い時間を要する場合がある。例えば、人手を介した作業を含む場合などは、数日から数週間に渡る場合もある。ビジネスプロセスの実行は、一般的にインスタンスをメモリ上に配備して実行するが、ビジネスプロセスにおいて人手作業の完了を待機するなど、待ち状態になっている間もメモリ上に配備しておくことは非効率的である。そこで、待ち状態となったビジネスプロセスの実行時情報をデータベース(DB)などに永続化して実行を一時的に中断し、人手作業が完了した時点で、ビジネスプロセスを活性化して処理を継続することによって、メモリの利用効率を向上させる手法が一般的に用いられている。ここで、永続化とは、ビジネスプロセスのフロー定義、フローに含まれる各アクティビティの実行状態、変数の定義情報及び変数の値といった、ビジネスプロセスの実行時情報をDBなどに格納することである。また、活性化とは、DBに永続化した情報を取得し、メモリ上に展開することである。   When a business process in which a business flow is described is executed, it may take a very long time. For example, when work involving human intervention is involved, it may take several days to several weeks. Business process execution is generally executed by deploying an instance in memory, but it is not possible to deploy it in memory while it is in a wait state, such as waiting for completion of a manual operation in a business process. Inefficient. Therefore, the execution time information of the waiting business process is made permanent in a database (DB) and the execution is temporarily interrupted, and when the manual work is completed, the business process is activated and processing is continued. Therefore, a technique for improving the memory utilization efficiency is generally used. Here, the persistence means storing business process runtime information such as a business process flow definition, an execution state of each activity included in the flow, variable definition information, and variable values in a DB or the like. In addition, activation refers to acquiring information that is made permanent in the DB and deploying it on the memory.

特許文献1には、ビジネスプロセス実行時に必要なメモリ量を削減するために、ビジネスプロセスの実行時に必要に応じて変数をメモリ上に作成し、不要になった時点で変数をメモリ上から削除することによって、メモリ上に必要以上の変数がロードされないようにする技術が開示されている。
特開2006−31500号公報
In Patent Document 1, in order to reduce the amount of memory required when executing a business process, a variable is created on the memory as needed when executing the business process, and the variable is deleted from the memory when it is no longer needed. Thus, a technique for preventing the load of more variables than necessary on the memory is disclosed.
JP 2006-31500 A

ビジネスプロセスが長大化すると、ビジネスプロセスの実行時間も長時間に渡る傾向がり、ビジネスプロセスが永続化及び活性化される頻度が増加する。また、ビジネスプロセスを構成する業務ステップ数及びビジネスプロセスが利用する変数の数が増加することから、ビジネスプロセスを永続化又は活性化する際に操作される情報量も増加する。   When a business process becomes longer, the execution time of the business process tends to be longer, and the frequency with which the business process is made permanent and activated increases. Further, since the number of business steps constituting the business process and the number of variables used by the business process increase, the amount of information manipulated when the business process is made permanent or activated also increases.

従来の技術では、ビジネスプロセス全体を一括して活性化又は永続化するため、ビジネスプロセスを活性化した際に実行されない業務ステップの定義情報及び実行状態、活性化時に利用されない変数定義及び値なども常に活性化又は永続化されていた。このように、実行されないアクティビティ及び利用されない変数情報を活性化することは、メモリなどのリソースを不要に消費してしまうため、メモリの効率的な利用を妨げていた。   In the conventional technology, since the entire business process is activated or made permanent, the definition information and execution state of business steps that are not executed when the business process is activated, variable definitions and values that are not used at the time of activation, etc. It was always activated or permanent. As described above, activating an activity that is not executed and variable information that is not used consumes resources such as a memory unnecessarily, which hinders efficient use of the memory.

また、特許文献1に開示された技術は、ビジネスプロセスで定義された変数が必要になった時点で変数をメモリ上に作成し、不要になった時点で変数をメモリから破棄することによって、メモリ利用効率を向上させている。しかし、変数を必要に応じて生成するため、新たな変数が必要になるたびにDBから情報を読み込んで、メモリ領域を割り当てる必要があるため、実行性能が悪化するおそれがある。また、ビジネスプロセスのフロー定義を解析していないため、フロー定義に基づいた効率的なリソースの利用が実現されていない。   Further, the technique disclosed in Patent Document 1 creates a variable on a memory when a variable defined in a business process becomes necessary, and discards the variable from the memory when the variable becomes unnecessary. Improve usage efficiency. However, since the variables are generated as needed, it is necessary to read the information from the DB and allocate a memory area every time a new variable is needed, which may deteriorate the execution performance. In addition, since the flow definition of the business process is not analyzed, the efficient use of resources based on the flow definition is not realized.

本発明は、ビジネスプロセスの実行性能を向上させ、ビジネスプロセスの実行に必要なリソース量を削減することを目的とする。   An object of the present invention is to improve the execution performance of a business process and reduce the amount of resources necessary for executing the business process.

本発明の代表的な一形態では、サービスを提供するサービス実行装置と、前記サービスを組み合わせて業務処理が定義されたビジネスプロセスを実行するビジネスプロセス実行装置と、を備える計算機システムにおけるビジネスプロセス実行方法であって、前記ビジネスプロセス実行装置は、前記サービス実行装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備え、前記ビジネスプロセスは、前記ビジネスプロセスを構成するアクティビティに基づいて、少なくとも一つのアクティビティを含む領域に分割され、前記メモリは、前記ビジネスプロセスの実行経過を含む実行情報を格納するプロセス実行状態情報、及び前記領域と前記アクティビティとの対応を含むプロセス分割情報を記憶し、前記方法は、前記ビジネスプロセスの実行を受け付けた場合には、前記プロセス実行状態情報及び前記プロセス分割情報に基づいて、実行されるアクティビティを特定し、前記特定されたアクティビティを含む領域を抽出し、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報から取得し、前記取得された実行情報に基づいて、前記抽出された領域に含まれるアクティビティを実行し、前記抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報に格納する。   In a typical embodiment of the present invention, a business process execution method in a computer system comprising: a service execution device that provides a service; and a business process execution device that executes a business process in which business processing is defined by combining the services. The business process execution device includes an interface connected to the service execution device, a processor connected to the interface, and a memory connected to the processor, and the business process is the business process Is divided into areas including at least one activity, and the memory stores process execution state information for storing execution information including execution progress of the business process, and correspondence between the area and the activity The Process division information, and when the method accepts execution of the business process, the method identifies an activity to be executed based on the process execution state information and the process division information, and the identified An area including an activity is extracted, execution information corresponding to the extracted area is acquired from the process execution state information, and an activity included in the extracted area is executed based on the acquired execution information. When execution of all activities included in the extracted area is completed, execution information corresponding to the extracted area is stored in the process execution state information.

本発明の一形態によれば、ビジネスプロセスを分割して実行することによって、ビジネスプロセスの実行単位を縮小し、ビジネスプロセス実行時に必要なリソース量を削減することができる。   According to an aspect of the present invention, by dividing and executing a business process, the execution unit of the business process can be reduced, and the amount of resources required when executing the business process can be reduced.

以下、本発明の実施の形態を、図面を参照しながら詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本発明の実施の形態のSOAシステムの構成の一例を示す図である。   FIG. 1 is a diagram showing an example of the configuration of the SOA system according to the embodiment of this invention.

本発明の実施の形態のSOAシステムは、ビジネスプロセス実行計算機201、ビジネスプロセス開発用計算機300、サービス実行計算機(501、502)、及びクライアント用計算機701を含む。ビジネスプロセス実行計算機201、ビジネスプロセス開発用計算機300、サービス実行計算機(501、502)、及びクライアント用計算機701は、互いにネットワークによって接続される。   The SOA system according to the embodiment of this invention includes a business process execution computer 201, a business process development computer 300, service execution computers (501, 502), and a client computer 701. The business process execution computer 201, the business process development computer 300, the service execution computers (501, 502), and the client computer 701 are connected to each other via a network.

ビジネスプロセス実行計算機201は、ビジネスプロセスを実行する。ビジネスプロセス実行計算機201は、パーソナルコンピュータ(以下、パソコンと呼ぶ)などの汎用の計算機である。ビジネスプロセス実行計算機201の構成の詳細については、図3にて後述する。   The business process execution computer 201 executes a business process. The business process execution computer 201 is a general-purpose computer such as a personal computer (hereinafter referred to as a personal computer). Details of the configuration of the business process execution computer 201 will be described later with reference to FIG.

ビジネスプロセス実行計算機201は、ビジネスプロセス実行部221、ロード領域判定部222、プロセス分割結果格納テーブル230、変数参照関係格納テーブル240、プロセス実行状態格納テーブル250、及び変数状態格納テーブル260を含む。本発明の実施の形態では、ビジネスプロセス実行部221及びロード領域判定部222はソフトウェアとして実現されているが、これに限定されるものではなく、専用の半導体回路などによって実現されてもよい。   The business process execution computer 201 includes a business process execution unit 221, a load area determination unit 222, a process division result storage table 230, a variable reference relationship storage table 240, a process execution state storage table 250, and a variable state storage table 260. In the embodiment of the present invention, the business process execution unit 221 and the load region determination unit 222 are realized as software, but are not limited thereto, and may be realized by a dedicated semiconductor circuit or the like.

ビジネスプロセス実行部221は、プロセス実行状態格納テーブル250及び変数状態格納テーブル260などを利用してビジネスプロセスの実行を制御する。ビジネスプロセス実行部221は、汎用のビジネスプロセス実行プログラムなどを利用して実現可能であるため、詳細の説明を省略する。なお、本発明の実施の形態におけるビジネスプロセス実行部221は、汎用のビジネスプロセス実行プログラムの機能に加え、ビジネスプロセスを活性化するタイミングで、ロード領域判定部222に処理を要求する機能を有する。   The business process execution unit 221 controls the execution of the business process using the process execution state storage table 250, the variable state storage table 260, and the like. Since the business process execution unit 221 can be realized by using a general-purpose business process execution program, a detailed description thereof is omitted. Note that the business process execution unit 221 according to the embodiment of the present invention has a function of requesting processing to the load region determination unit 222 at the timing of activating a business process, in addition to the function of a general-purpose business process execution program.

プロセス実行状態格納テーブル250は、ビジネスプロセスの実行状況を格納する。プロセス実行状態格納テーブル250の詳細については、図4にて後述する。変数状態格納テーブル260は、ビジネスプロセス実行時に設定される変数を格納する。変数状態格納テーブル260の詳細については、図5にて後述する。   The process execution state storage table 250 stores the execution status of business processes. Details of the process execution state storage table 250 will be described later with reference to FIG. The variable state storage table 260 stores variables that are set when the business process is executed. Details of the variable state storage table 260 will be described later with reference to FIG.

ロード領域判定部222は、ビジネスプロセス実行部221からの要求に基づいて、プロセス分割結果格納テーブル230及び変数参照関係格納テーブル240からビジネスプロセスの実行に必要な情報を取得し、結果をビジネスプロセス実行部221に応答する。   Based on the request from the business process execution unit 221, the load area determination unit 222 acquires information necessary for executing the business process from the process division result storage table 230 and the variable reference relation storage table 240, and executes the business process execution result. Responds to unit 221.

プロセス分割結果格納テーブル230は、分割されたビジネスプロセスを領域ごとに格納する。プロセス分割結果格納テーブル230の詳細については、図6にて後述する。変数参照関係格納テーブル240は、分割されたビジネスプロセスの領域ごとに使用される変数を格納する。変数参照関係格納テーブル240の詳細については、図7にて後述する。   The process division result storage table 230 stores the divided business processes for each area. Details of the process division result storage table 230 will be described later with reference to FIG. The variable reference relationship storage table 240 stores variables used for each divided business process area. Details of the variable reference relationship storage table 240 will be described later with reference to FIG.

ビジネスプロセス開発用計算機300は、ビジネスプロセス開発者800がビジネスプロセスを定義するための計算機である。ビジネスプロセス開発用計算機300は、ビジネスプロセス実行計算機201と同様に、パソコンなどの汎用の計算機である。ビジネスプロセス開発用計算機300の構成の詳細については、図2にて後述する。   The business process development computer 300 is a computer for the business process developer 800 to define a business process. Similar to the business process execution computer 201, the business process development computer 300 is a general-purpose computer such as a personal computer. Details of the configuration of the business process development computer 300 will be described later with reference to FIG.

ビジネスプロセス開発用計算機300は、ビジネスプロセス開発部310、フロー定義解析部320、及び変数参照関係解析部330を含む。本発明の実施の形態では、ビジネスプロセス開発部310、フロー定義解析部320、及び変数参照関係解析部330はソフトウェアとして実現されているが、専用の半導体回路などによって実現されてもよい。   The business process development computer 300 includes a business process development unit 310, a flow definition analysis unit 320, and a variable reference relationship analysis unit 330. In the embodiment of the present invention, the business process development unit 310, the flow definition analysis unit 320, and the variable reference relationship analysis unit 330 are realized as software, but may be realized by a dedicated semiconductor circuit or the like.

ビジネスプロセス開発部310は、ビジネスプロセス開発者800がビジネスプロセスを定義するためのアプリケーションである。ビジネスプロセス開発部310は、GUI(Graphical User Interface)ツールであることが多いが、これに限定されるものではない。ビジネスプロセス開発部310は、汎用のビジネスプロセス開発用プログラムなどによって実現可能であるため、詳細の説明は省略する。   The business process development unit 310 is an application for the business process developer 800 to define a business process. The business process development unit 310 is often a GUI (Graphical User Interface) tool, but is not limited thereto. Since the business process development unit 310 can be realized by a general-purpose business process development program or the like, detailed description thereof is omitted.

ビジネスプロセス開発者800によって定義されたビジネスプロセスは、BPELなどのプロセス定義記述言語によって記述される。ビジネスプロセスの定義情報は、XML(eXtensible Markup Language)などの形式で記述されるが、これに限定されるものではない。ビジネスプロセスの定義例については、図8にて後述する。   The business process defined by the business process developer 800 is described in a process definition description language such as BPEL. The business process definition information is described in a format such as XML (extensible Markup Language), but is not limited thereto. A definition example of the business process will be described later with reference to FIG.

本発明の実施の形態では、ビジネスプロセス開発部310は、汎用のビジネスプロセス開発用プログラムなどに加え、ビジネスプロセス永続化ポイント提示部311及びビジネスプロセス永続化ポイント指定部312を含む。   In the embodiment of the present invention, the business process development unit 310 includes a business process persistence point presentation unit 311 and a business process persistence point designation unit 312 in addition to a general-purpose business process development program.

ビジネスプロセス永続化ポイント提示部311は、後述するフロー定義解析部320によるビジネスプロセスの解析結果に基づいて抽出されたビジネスプロセスの永続化ポイントをビジネスプロセス開発者800に提示する。また、ビジネスプロセス永続化ポイント指定部312は、ビジネスプロセス開発者800から、ビジネスプロセスを永続化するポイントの入力を受け付ける。   The business process persistence point presentation unit 311 presents to the business process developer 800 the business process persistence points extracted based on the analysis result of the business process by the flow definition analysis unit 320 described later. Further, the business process persistence point designating unit 312 receives an input of a point for perpetuating the business process from the business process developer 800.

フロー定義解析部320は、ビジネスプロセス開発者800が開発したビジネスプロセスのフローを後述のアルゴリズムに従って解析し、ビジネスプロセスの永続化ポイントを抽出する。さらにフロー定義解析部320は、抽出された永続化ポイントに基づいてビジネスプロセスを分割し、その結果をプロセス分割結果格納テーブル230に格納する。   The flow definition analysis unit 320 analyzes the flow of the business process developed by the business process developer 800 in accordance with an algorithm described later, and extracts business process persistence points. Furthermore, the flow definition analysis unit 320 divides the business process based on the extracted permanent points, and stores the result in the process division result storage table 230.

なお、フロー定義解析部320は、抽出したビジネスプロセスの永続化ポイントを、ビジネスプロセス永続化ポイント提示部311を用いて、ビジネスプロセス開発者800に提示してもよい。ビジネスプロセス開発者800は、ビジネスプロセス永続化ポイント指定部312を用いて、提示されたビジネスプロセスの永続化ポイントを削除したり、新たな永続化ポイントを指定するなどの編集処理を行うことができる。ビジネスプロセス開発者800に解析結果を提示した場合には、フロー定義解析部320は、ビジネスプロセス開発者800によって指定された永続化ポイントに基づいてビジネスプロセスを分割し、その結果をプロセス分割結果格納テーブル230に格納する。   The flow definition analysis unit 320 may present the extracted business process persistence points to the business process developer 800 using the business process persistence point presentation unit 311. The business process developer 800 can perform an editing process such as deleting a persistence point of the presented business process or designating a new persistence point using the business process persistence point designating unit 312. . When the analysis result is presented to the business process developer 800, the flow definition analysis unit 320 divides the business process based on the persistence point specified by the business process developer 800 and stores the result as a process division result. Store in table 230.

変数参照関係解析部330は、フロー定義解析部320による分割結果に対して後述のアルゴリズムを適用することによって、分割された各領域から参照される変数を抽出し、結果を変数参照関係格納テーブル240に格納する。   The variable reference relationship analysis unit 330 extracts a variable referred to from each divided area by applying an algorithm described later to the division result by the flow definition analysis unit 320, and the result is stored in the variable reference relationship storage table 240. To store.

なお、本発明の実施の形態では、ビジネスプロセス実行計算機201のみがプロセス分割結果格納テーブル230及び変数参照関係格納テーブル240を保持しているが、ビジネスプロセス開発用計算機300が同等の情報を保持していてもよい。また、ビジネスプロセス実行計算機201がビジネスプロセス開発用計算機300に保持されているテーブルを参照する構成としてもよい。さらに、本発明の実施の形態ではビジネスプロセス実行計算機201とビジネスプロセス開発用計算機300を異なる計算機としているが、これに限定されることはなく、単一の計算機で実現することも可能である。   In the embodiment of the present invention, only the business process execution computer 201 holds the process division result storage table 230 and the variable reference relation storage table 240, but the business process development computer 300 holds equivalent information. It may be. Alternatively, the business process execution computer 201 may refer to a table held in the business process development computer 300. Furthermore, in the embodiment of the present invention, the business process execution computer 201 and the business process development computer 300 are different computers, but the present invention is not limited to this, and can be realized by a single computer.

クライアント用計算機701は、ビジネスプロセス実行計算機201にビジネスプロセスの実行を要求するための計算機である。クライアント用計算機701は、パソコンなどの汎用の計算機である。クライアント用計算機701は、サービス呼び出しプログラム710を含む。   The client computer 701 is a computer for requesting the business process execution computer 201 to execute a business process. The client computer 701 is a general-purpose computer such as a personal computer. The client computer 701 includes a service call program 710.

クライアント用計算機701は、クライアント820からの要求を受け付け、サービス呼び出しプログラム710を実行し、ビジネスプロセス実行計算機201のビジネスプロセス実行部221にサービスの実行要求を送信することによって、サービスを利用する。サービス呼び出しプログラム710は、各種のプログラム言語によって実現可能であり、詳細な説明は省略する。本発明の実施の形態では、サービス呼び出しプログラム710はソフトウェアとして実現されているが、半導体回路などの専用ハードウェアとして実装してもよい。   The client computer 701 uses a service by receiving a request from the client 820, executing the service call program 710, and transmitting a service execution request to the business process execution unit 221 of the business process execution computer 201. The service call program 710 can be realized by various program languages, and detailed description thereof is omitted. In the embodiment of the present invention, the service call program 710 is realized as software, but may be implemented as dedicated hardware such as a semiconductor circuit.

サービス実行計算機501及び502は、ビジネスプロセスによって呼び出されるサービスが実行される計算機である。サービス実行計算機501及び502は、パソコンなどの汎用の計算機である。サービス実行計算機501及び502は、サービスを実行するためのサーバプログラムであるサービス実行基盤プログラム510を含む。   Service execution computers 501 and 502 are computers on which a service called by a business process is executed. The service execution computers 501 and 502 are general-purpose computers such as personal computers. The service execution computers 501 and 502 include a service execution base program 510 that is a server program for executing a service.

サービスは、各種のコンポーネントモデルによって実装可能である。また、サービス実行基盤プログラム510は、実装されたコンポーネントを実行する各種プログラムによって実現可能であるため、その実現方式の詳細な説明は省略する。なお、本発明の実施の形態では、サービス及びサービス実行基盤プログラム510はソフトウェアとして実現されているが、半導体回路などの専用のハードウェアとして実現してもよい。   Services can be implemented by various component models. Further, since the service execution platform program 510 can be realized by various programs that execute the mounted components, a detailed description of the implementation method is omitted. In the embodiment of the present invention, the service and service execution platform program 510 is realized as software, but may be realized as dedicated hardware such as a semiconductor circuit.

図2は、本発明の実施の形態のビジネスプロセス開発用計算機300の構成の一例を示す図である。   FIG. 2 is a diagram illustrating an example of the configuration of the business process development computer 300 according to the embodiment of this invention.

ビジネスプロセス開発用計算機300は、CPU900、ネットワークインタフェース910、グラフィックインタフェース920、ユーザ入力インターフェース930、主記憶装置940、及び二次記憶装置950を備える。CPU900、ネットワークインタフェース910、グラフィックインタフェース920、ユーザ入力インターフェース930、主記憶装置940、及び二次記憶装置950は、システムバス960によって接続される。   The business process development computer 300 includes a CPU 900, a network interface 910, a graphic interface 920, a user input interface 930, a main storage device 940, and a secondary storage device 950. The CPU 900, network interface 910, graphic interface 920, user input interface 930, main storage device 940, and secondary storage device 950 are connected by a system bus 960.

CPU900は、主記憶装置940に記憶されたプログラムを処理することによって、各種業務処理を実行する。ネットワークインタフェース910は、CPU900の指示に従って、ネットワーク1000介して接続されている他の計算機などと通信する。   The CPU 900 executes various business processes by processing a program stored in the main storage device 940. The network interface 910 communicates with other computers connected via the network 1000 in accordance with instructions from the CPU 900.

ユーザ入力インターフェース930は、マウス又はキーボードなどの入力装置から、利用者の入力を受け付ける。グラフィックインタフェース920は、ディスプレイなどの画像表示装置921に表示する画像の処理を行う。   The user input interface 930 receives user input from an input device such as a mouse or a keyboard. The graphic interface 920 performs processing of an image displayed on the image display device 921 such as a display.

主記憶装置940は、CPU900によって処理されるプログラム及び当該プログラムの処理に必要なデータを記憶する。主記憶装置940に記憶されるプログラムは、ビジネスプロセス開発部310、フロー定義解析部320、変数参照関係解析部330、OS(Operating System)970である。主記憶装置940は、揮発性記憶媒体である。   The main storage device 940 stores a program processed by the CPU 900 and data necessary for the processing of the program. The programs stored in the main storage device 940 are a business process development unit 310, a flow definition analysis unit 320, a variable reference relationship analysis unit 330, and an OS (Operating System) 970. The main storage device 940 is a volatile storage medium.

二次記憶装置950は、CPU900からの指示に基づいて、データを入出力する。二次記憶装置950は、ハードディスクなどの磁気記憶装置、又はCD、DVDドライブなどの光学記憶装置などの不揮発性記憶媒体であるが、これらに限定されるものではない。   The secondary storage device 950 inputs and outputs data based on instructions from the CPU 900. The secondary storage device 950 is a non-volatile storage medium such as a magnetic storage device such as a hard disk or an optical storage device such as a CD or a DVD drive, but is not limited thereto.

ビジネスプロセス実行計算機201、サービス実行計算機(501、502)、及びクライアント用計算機701のハードウェア構成は、図2に示したビジネスプロセス開発用計算機300と同様である。ビジネスプロセス開発用計算機300と相違する点は、主記憶装置940に記憶されるプログラム及びデータの内容である。   The hardware configurations of the business process execution computer 201, the service execution computers (501, 502), and the client computer 701 are the same as those of the business process development computer 300 shown in FIG. The difference from the business process development computer 300 is the contents of programs and data stored in the main storage device 940.

図3は、本発明の実施の形態のビジネスプロセス実行計算機201の構成の一例を示す図である。   FIG. 3 is a diagram illustrating an example of the configuration of the business process execution computer 201 according to the embodiment of this invention.

ビジネスプロセス実行計算機201のハードウェア構成は、前述したように、ビジネスプロセス開発用計算機300と同様である。   The hardware configuration of the business process execution computer 201 is the same as that of the business process development computer 300 as described above.

ビジネスプロセス実行計算機201の主記憶装置940には、OS970、ビジネスプロセス実行部221、ロード領域判定部222、プロセス分割結果格納テーブル230、及び変数参照関係格納テーブル240が記憶される。なお、プロセス分割結果格納テーブル230及び変数参照関係格納テーブル240は、ビジネスプロセス実行部221又はロード領域判定部222に包含されてもよい。また、二次記憶装置950に格納されていてもよい。   The main memory 940 of the business process execution computer 201 stores an OS 970, a business process execution unit 221, a load area determination unit 222, a process division result storage table 230, and a variable reference relationship storage table 240. The process division result storage table 230 and the variable reference relationship storage table 240 may be included in the business process execution unit 221 or the load region determination unit 222. Further, it may be stored in the secondary storage device 950.

サービス実行計算機(501、502)の主記憶装置940には、OS970、サービス実行基盤プログラム510、及びサービス実行基盤プログラムに配備されているサービスが記憶される。また、クライアント用計算機701の主記憶装置940には、OS970及びサービス呼び出しプログラム710が記憶される。   The main storage 940 of the service execution computer (501, 502) stores the OS 970, the service execution infrastructure program 510, and the services deployed in the service execution infrastructure program. The main storage 940 of the client computer 701 stores an OS 970 and a service call program 710.

図4は、本発明の実施の形態のプロセス実行状態格納テーブル250の構成の一例を示す図である。   FIG. 4 is a diagram illustrating an example of a configuration of the process execution state storage table 250 according to the embodiment of this invention.

プロセス実行状態格納テーブル250は、ビジネスプロセス(BP)名251、アクティビティ名252、状態253、開始時刻254、及び終了時刻255を含む。プロセス実行状態格納テーブル250は、ビジネスプロセス実行部221によってレコードが格納及び更新される。プロセス実行状態格納テーブル250の各レコードは、実行されたビジネスプロセスについてアクティビティごとに格納される。   The process execution state storage table 250 includes a business process (BP) name 251, an activity name 252, a state 253, a start time 254, and an end time 255. Records are stored and updated in the process execution state storage table 250 by the business process execution unit 221. Each record of the process execution state storage table 250 is stored for each activity for the executed business process.

ビジネスプロセス名251は、ビジネスプロセスの名称である。アクティビティ名252は、ビジネスプロセスに属するアクティビティの名称である。なお、ビジネスプロセス名251及びアクティビティ名252は、それぞれを一意に特定できる情報であればよく、名称に限定されるものではなく、識別コードなどであってもよい。   The business process name 251 is the name of the business process. The activity name 252 is the name of an activity belonging to the business process. The business process name 251 and the activity name 252 may be information that can uniquely identify each, and are not limited to names, and may be identification codes.

また、同一のビジネスプロセス定義によって複数のビジネスプロセスが実行される場合には、実行されたビジネスプロセスを識別する情報がさらに追加される。   In addition, when a plurality of business processes are executed by the same business process definition, information for identifying the executed business process is further added.

状態253は、アクティビティの実行状態である。状態253には、例えば、実行が完了している場合には「完了」、実行されていない場合には「未実行」と記録される。開始時刻254は、ビジネスプロセスの実行時にアクティビティが開始された時刻である。終了時刻255は、アクティビティの実行終了時刻である。   The state 253 is an activity execution state. In the state 253, for example, “completed” is recorded when the execution is completed, and “unexecuted” is recorded when the execution is not performed. The start time 254 is the time when the activity is started when the business process is executed. The end time 255 is an activity execution end time.

図5は、本発明の実施の形態の変数状態格納テーブル260の構成の一例を示す図である。   FIG. 5 is a diagram illustrating an example of a configuration of the variable state storage table 260 according to the embodiment of this invention.

変数状態格納テーブル260は、ビジネスプロセス(BP)名261、変数名262及び変数値263を含む。変数状態格納テーブル260は、ビジネスプロセス実行部221によって格納及び更新される。変数状態格納テーブル260は、実行されたビジネスプロセスについて、当該ビジネスプロセスで使用される変数ごとにレコードが格納される。   The variable state storage table 260 includes a business process (BP) name 261, a variable name 262, and a variable value 263. The variable state storage table 260 is stored and updated by the business process execution unit 221. The variable state storage table 260 stores a record for each variable used in the business process for the executed business process.

ビジネスプロセス名261は、ビジネスプロセスの名称である。変数名262は、ビジネスプロセスで使用される変数の名称である。変数値263は、変数名262によって特定される変数に格納される値である。なお、ビジネスプロセス名261及び変数名262はそれぞれを一意に特定できる情報であればよく、名称に限定されるものではない。   The business process name 261 is the name of the business process. The variable name 262 is a name of a variable used in the business process. The variable value 263 is a value stored in the variable specified by the variable name 262. The business process name 261 and the variable name 262 may be information that can uniquely identify each, and are not limited to names.

また、同一のビジネスプロセス定義によって複数のビジネスプロセスが実行される場合には、プロセス実行状態格納テーブル250と同様に、実行されたビジネスプロセスを識別する情報がさらに追加される。   Further, when a plurality of business processes are executed with the same business process definition, information for identifying the executed business process is further added as in the process execution state storage table 250.

図6は、本発明の実施の形態のプロセス分割結果格納テーブル230の構成の一例を示す図である。   FIG. 6 is a diagram illustrating an example of the configuration of the process division result storage table 230 according to the embodiment of this invention.

プロセス分割結果格納テーブル230は、ビジネスプロセス(BP)名231、領域名232、及びアクティビティ名233を含む。プロセス分割結果格納テーブル230は、フロー定義解析部320によって格納される。プロセス分割結果格納テーブル230は、ビジネスプロセスを構成するアクティビティごとにレコードが格納され、フロー定義解析部320による解析結果に基づいて領域が設定される。   The process division result storage table 230 includes a business process (BP) name 231, an area name 232, and an activity name 233. The process division result storage table 230 is stored by the flow definition analysis unit 320. In the process division result storage table 230, a record is stored for each activity constituting the business process, and an area is set based on an analysis result by the flow definition analysis unit 320.

ビジネスプロセス名231は、ビジネスプロセスの名称である。領域名232は、ビジネスプロセスを構成する領域の名称である。アクティビティ名233は、ビジネスプロセスを構成するアクティビティである。なお、ビジネスプロセス名、領域名、及びアクティビティ名はそれぞれを一意に特定できる情報であればよく、名称に限定されるものではない。   The business process name 231 is the name of the business process. The area name 232 is the name of an area constituting the business process. The activity name 233 is an activity that constitutes a business process. The business process name, the area name, and the activity name may be information that can uniquely identify each, and are not limited to names.

図7は、本発明の実施の形態の変数参照関係格納テーブル240の構成の一例を示す図である。   FIG. 7 is a diagram illustrating an example of the configuration of the variable reference relationship storage table 240 according to the embodiment of this invention.

変数参照関係格納テーブル240は、領域名241及び変数名242を含む。変数参照関係格納テーブル240は、変数参照関係解析部330によって格納される。変数参照関係格納テーブル240の各レコードは、各領域で使用される変数ごとに格納される。   The variable reference relationship storage table 240 includes an area name 241 and a variable name 242. The variable reference relationship storage table 240 is stored by the variable reference relationship analysis unit 330. Each record of the variable reference relationship storage table 240 is stored for each variable used in each area.

領域名241は、ビジネスプロセスを構成する領域の名称である。変数名242は、ビジネスプロセスに属する変数の名称である。なお、領域名241及び変数名242はそれぞれを一意に特定できる情報であればよく、名称に限定されるものではない。   The area name 241 is the name of an area constituting the business process. The variable name 242 is a name of a variable belonging to the business process. Note that the area name 241 and the variable name 242 may be information that can uniquely identify each, and are not limited to names.

図8は、本発明の実施の形態のビジネスプロセスの定義(XML形式)の一例を示す図である。   FIG. 8 is a diagram illustrating an example of a business process definition (XML format) according to the embodiment of this invention.

図8に示すビジネスプロセスBP−A1700は、XML形式のBPELによって記述されている。図8に示すビジネスプロセスでは、<variable>タグにサービスを呼び出す際に送受信されるメッセージを格納する変数の宣言が記述され、<sequence>タグには、サービスを呼び出すアクティビティの記述、サービスを呼び出す際に送信されるメッセージを格納する変数の指定、サービスの実行によって受信したメッセージを格納する変数の指定など、ビジネスプロセスを構成するアクティビティと、そのアクティビティで利用される変数などの関連情報が記述されている。   A business process BP-A 1700 shown in FIG. 8 is described in XML format BPEL. In the business process shown in FIG. 8, the <variable> tag describes the declaration of the variable that stores the message that is sent and received when calling the service, and the <sequence> tag describes the activity that calls the service and the service. Describes the activities that make up the business process and related information such as variables used in the activity, such as the specification of the variable that stores the message sent to the service and the specification of the variable that stores the message received by executing the service. Yes.

ビジネスプロセスは、図8に示すようなXML形式で記述することも可能であるが、図15に示すように、フローチャート形式で表現することも可能である。   The business process can be described in an XML format as shown in FIG. 8, but can also be expressed in a flowchart format as shown in FIG.

図15は、本発明の実施の形態のビジネスプロセスの定義(フローチャート形式)の一例を示す図である。   FIG. 15 is a diagram illustrating an example of a business process definition (flow chart format) according to the embodiment of this invention.

本発明の実施の形態では、ビジネスプロセス開発者800がビジネスプロセス開発用計算機300を利用してビジネスプロセスを定義する。   In the embodiment of the present invention, a business process developer 800 uses a business process development computer 300 to define a business process.

図15に示すフローチャート形式のビジネスプロセスの定義は、図8に示したXML形式のビジネスプロセスの定義に対応している。したがって、汎用のビジネスプロセス開発プログラムなどを利用して、図8に示すXML形式のビジネスプロセスの定義と図15に示すビジネスプロセスの定義を相互に変換することが可能である。   The business process definition in the flowchart format shown in FIG. 15 corresponds to the business process definition in the XML format shown in FIG. Therefore, it is possible to mutually convert the business process definition in the XML format shown in FIG. 8 and the business process definition shown in FIG. 15 using a general-purpose business process development program or the like.

ここで、図8及び図15に示したビジネスプロセスの振る舞いについて、図8及び図15を参照しながら説明する。   Here, the behavior of the business process shown in FIGS. 8 and 15 will be described with reference to FIGS.

ビジネスプロセスBP−A1700は、まず、外部からのリクエストを受信するアクティビティ(受付アクティビティ)であるreceive−A1アクティビティが定義されている。receive−A1アクティビティでは、受信したリクエストを変数in−A1に格納する。   In the business process BP-A 1700, first, a receive-A1 activity that is an activity (acceptance activity) for receiving a request from the outside is defined. In the receive-A1 activity, the received request is stored in the variable in-A1.

続いて、invoke−A1アクティビティにおいて、変数in−A1を入力として外部サービスを呼び出し、結果を変数var−A1に格納する。invokeアクティビティは、外部(例えば、サービス実行計算機501)で提供されているサービスを呼び出すアクティビティである。   Subsequently, in the invoke-A1 activity, an external service is called with the variable in-A1 as an input, and the result is stored in the variable var-A1. The invoke activity is an activity for calling a service provided externally (for example, the service execution computer 501).

次に、dt−A1アクティビティ(assignアクティビティ)において、変数var−A1の値を変換して変数out−A1に設定し、reply−A1アクティビティ(replyアクティビティ)において変換結果を外部に出力している。   Next, in the dt-A1 activity (assign activity), the value of the variable var-A1 is converted and set to the variable out-A1, and the conversion result is output to the outside in the reply-A1 activity (reply activity).

さらに、ビジネスプロセスBP−A1700には、再び外部からのリクエストを受信し、受信した内容を変数in−A2に格納するアクティビティreceive−A2が定義されている。その後、変数var−A1及び変数in−A2に基づいて変数var−A2を生成するdt−A2アクティビティが定義されている。   Further, the business process BP-A1700 defines an activity receive-A2 that receives an external request again and stores the received content in a variable in-A2. Thereafter, a dt-A2 activity for generating the variable var-A2 based on the variable var-A1 and the variable in-A2 is defined.

続いて、ビジネスプロセスBP−A1700には、生成された変数var−A2の値を入力として外部サービスを呼び出すinvoke−A2アクティビティが定義されている。invoke−A2アクティビティでは、呼び出した外部サービスからの応答を変数out−A2に格納し、reply−A2アクティビティによって外部に結果を出力する。   Subsequently, in the business process BP-A1700, an invoke-A2 activity that calls an external service with the value of the generated variable var-A2 as an input is defined. In the invoke-A2 activity, the response from the called external service is stored in the variable out-A2, and the result is output to the outside by the reply-A2 activity.

以降、本発明の実施の形態のビジネスプロセスの開発及び実行手順の詳細について説明する。まず、ビジネスプロセス開発者800によってビジネスプロセスが開発(定義)された際に、ビジネスプロセスを解析する手順について説明し、その後、解析結果に基づいてビジネスプロセスを実行する手順について説明する。なお、ビジネスプロセス開発者800によって定義されたビジネスプロセスを図8及び図15に示したBP−A1700として各手順について説明する。   The details of the business process development and execution procedure according to the embodiment of the present invention will be described below. First, a procedure for analyzing a business process when a business process is developed (defined) by the business process developer 800 will be described, and then a procedure for executing the business process based on the analysis result will be described. Note that each procedure will be described assuming that the business process defined by the business process developer 800 is BP-A 1700 shown in FIGS. 8 and 15.

以下、本発明の実施の形態におけるビジネスプロセスを解析する手順について説明する。なお、図16には、図8及び図15に示したビジネスプロセス定義を、図9に示す手順によって解析した結果を示し、適宜参照しながらビジネスプロセスを解析する手順について説明する。   Hereinafter, the procedure for analyzing the business process in the embodiment of the present invention will be described. FIG. 16 shows the result of analyzing the business process definition shown in FIGS. 8 and 15 according to the procedure shown in FIG. 9, and the procedure for analyzing the business process will be described with reference to it as appropriate.

図9は、本発明の実施の形態におけるビジネスプロセスを解析する手順を示すフローチャートである。   FIG. 9 is a flowchart showing a procedure for analyzing a business process in the embodiment of the present invention.

ビジネスプロセス開発者800は、ビジネスプロセス開発用計算機300で実行されるビジネスプロセス開発部310によってビジネスプロセスを定義すると、開発されたビジネスプロセス定義情報を入力情報として、フロー定義解析部320を実行する。   When the business process developer 800 defines a business process by the business process development unit 310 executed by the business process development computer 300, the business process developer 800 executes the flow definition analysis unit 320 using the developed business process definition information as input information.

ビジネスプロセス開発用計算機300のCPU900は、フロー定義解析部320によって、入力されたビジネスプロセスを解析し、ビジネスプロセスが永続化されるポイント(以下、「永続化ポイント」と呼ぶ)をすべて抽出する。そして、ビジネスプロセス永続化ポイント提示部311によって、抽出された永続化ポイントをビジネスプロセス開発者800に提示する(ステップ1103)。なお、フロー定義解析処理(ステップ1103)の詳細については、図10にて後述する。   The CPU 900 of the business process development computer 300 uses the flow definition analysis unit 320 to analyze the input business process and extract all points at which the business process is made permanent (hereinafter referred to as “permanent points”). Then, the business process persistence point presentation unit 311 presents the extracted persistence points to the business process developer 800 (step 1103). Details of the flow definition analysis process (step 1103) will be described later with reference to FIG.

ここで、永続化とは、前述したように、ビジネスプロセスが長時間待ち状態になる場合などにビジネスプロセスの実行情報をDBなどに格納することである。永続化ポイントとは、永続化される可能性の高いポイント(タイミング)である。   Here, the persistence is to store business process execution information in a DB or the like when the business process is in a waiting state for a long time, as described above. The persistence point is a point (timing) that is likely to be persisted.

ビジネスプロセスが長時間待ち状態となる場合とは、例えば、ビジネスプロセスが外部からの入力を受け付ける場合、すなわち、受付アクティビティにおいて外部からの入力を待機している場合である。したがって、受付アクティビティの直前をビジネスプロセスが永続化される可能性が高い永続化ポイントと判定することができる。   The case where the business process is in a waiting state for a long time is, for example, a case where the business process accepts an input from the outside, that is, a case where the business process waits for an input from outside. Therefore, it is possible to determine that the business process is likely to be persisted immediately before the reception activity as a persistence point.

ここで、入力されたビジネスプロセスを解析し、永続化ポイントを抽出する永続化ポイント抽出処理について説明する。なお、本発明の実施の形態では、ビジネスプロセスに含まれる受付アクティビティの直前を永続化ポイントとして判定しているが、これに限定されることはなく、その他のポイントを永続化ポイントとして判定してもよい。   Here, a persistence point extraction process for analyzing an input business process and extracting a persistence point will be described. In the embodiment of the present invention, the immediately preceding reception activity included in the business process is determined as the persistence point. However, the present invention is not limited to this, and other points are determined as the persistence points. Also good.

図10は、本発明の実施の形態のビジネスプロセスを分割する永続化ポイントを抽出する永続化ポイント抽出処理の手順を示すフローチャートである。   FIG. 10 is a flowchart showing the procedure of the persistence point extraction process for extracting the persistence points for dividing the business process according to the embodiment of this invention.

永続化ポイント抽出処理は、前述したように、フロー定義解析部320によって実行される。   The permanent point extraction processing is executed by the flow definition analysis unit 320 as described above.

ビジネスプロセス開発用計算機300のCPU900は、まず、ビジネスプロセス開発者800によって定義されたビジネスプロセスの最初に定義されているアクティビティをSに設定する(ステップ11031)。アクティビティSは、直前が永続化ポイントに設定されるか否かを判定する対象のアクティビティである。   The CPU 900 of the business process development computer 300 first sets the activity defined at the beginning of the business process defined by the business process developer 800 to S (step 11031). The activity S is a target activity for determining whether or not the immediately preceding point is set as a permanent point.

次に、ビジネスプロセス開発用計算機300のCPU900は、アクティビティSが受付アクティビティであるか否かを判定する(ステップ11032)。アクティビティSが受付アクティビティでない場合には(ステップ11032の結果が「No」)、アクティビティSは永続化ポイントの候補ではないため、永続化ポイントの判定処理を終了し、ステップ11035の処理を実行する。   Next, the CPU 900 of the business process development computer 300 determines whether or not the activity S is a reception activity (step 11032). If the activity S is not a reception activity (the result of step 11032 is “No”), the activity S is not a candidate for a permanent point, so the permanent point determination process is terminated and the process of step 11035 is executed.

ビジネスプロセス開発用計算機300のCPU900は、アクティビティSが受付アクティビティであった場合には(ステップ11032の結果が「Yes」)、アクティビティSが永続化ポイントの候補となりうるため、さらに、アクティビティSがビジネスプロセスの最初のアクティビティであるか否かを判定する(ステップ11033)。アクティビティSがビジネスプロセスの最初のアクティビティである場合には(ステップ11033の結果が「Yes」)、永続化ポイントがビジネスプロセスの最初に設定されることはないため、アクティビティSが永続化ポイントになることはない。この場合には、永続化ポイントの判定処理を終了し、ステップ11035の処理を実行する。   If the activity S is a received activity (the result of step 11032 is “Yes”), the CPU 900 of the business process development computer 300 can further be a candidate for a persistence point. It is determined whether it is the first activity of the process (step 11033). If the activity S is the first activity of the business process (the result of step 11033 is “Yes”), the persistence point is never set at the beginning of the business process, so the activity S becomes the persistence point. There is nothing. In this case, the permanent point determination process is terminated, and the process of step 11035 is executed.

ビジネスプロセス開発用計算機300のCPU900は、アクティビティSがビジネスプロセスの最初のアクティビティでない場合には(ステップ11033の結果が「No」)、アクティビティSの直前を永続化ポイントに設定する(ステップ11034)。   If the activity S is not the first activity of the business process (the result of step 11033 is “No”), the CPU 900 of the business process development computer 300 sets the point immediately before the activity S as the persistence point (step 11034).

続いて、ビジネスプロセス開発用計算機300のCPU900は、アクティビティSがビジネスプロセスの最後のアクティビティであるか否かを判定する(ステップ11035)。アクティビティSが最後のアクティビティであった場合には(ステップ11035の結果が「Yes」)、本処理を終了する。   Subsequently, the CPU 900 of the business process development computer 300 determines whether or not the activity S is the last activity of the business process (step 11035). If the activity S is the last activity (the result of step 11035 is “Yes”), this processing is terminated.

ビジネスプロセス開発用計算機300のCPU900は、アクティビティSが最後のアクティビティでない場合には(ステップ11035の結果が「No」)、アクティビティSの次に処理されるアクティビティを新たにアクティビティSに設定し(ステップ11036)、ステップ11032の処理に戻る。   If the activity S is not the last activity (the result of step 11035 is “No”), the CPU 900 of the business process development computer 300 sets the activity to be processed next to the activity S as the activity S (step 11036), and returns to the processing of step 11032.

以上の手順によって、ビジネスプロセス定義に含まれる受付アクティビティのうち、ビジネスプロセスの先頭に定義されたアクティビティ以外の受付アクティビティをすべて抽出し、抽出された受付アクティビティの直前を永続化ポイントとして設定することが可能となる。図15に示すビジネスプロセス定義例BP−A1700に図10に示した手順を適用した場合、BP−A1700にはreceive−A1及びreceive−A2の二つの受付アクティビティが定義されているが、receive−A1アクティビティはBP−A1700の最初のアクティビティであるため、receive−A2の直前にのみ永続化ポイント1720が1つ抽出される(図16参照)。   With the above procedure, all the received activities other than the activity defined at the head of the business process can be extracted from the received activities included in the business process definition, and the point immediately before the extracted received activity can be set as the persistence point. It becomes possible. When the procedure shown in FIG. 10 is applied to the business process definition example BP-A1700 shown in FIG. 15, two reception activities of receive-A1 and receive-A2 are defined in BP-A1700, but receive-A1. Since the activity is the first activity of BP-A 1700, one persistence point 1720 is extracted only immediately before receive-A2 (see FIG. 16).

ここで、図9のフローチャートの説明に戻る。   Now, the description returns to the flowchart of FIG.

続いて、ビジネスプロセス開発用計算機300のCPU900は、フロー定義解析部320による解析結果に対する修正又は確認を受け付ける(ステップ1104)。具体的には、ステップ1103の処理で抽出された永続化ポイントの中から不要なポイントの削除、又は任意の永続化ポイントの追加を受け付ける。   Subsequently, the CPU 900 of the business process development computer 300 accepts correction or confirmation of the analysis result by the flow definition analysis unit 320 (step 1104). Specifically, deletion of unnecessary points or addition of arbitrary permanent points is accepted from the permanent points extracted in the processing of step 1103.

なお、フロー定義解析部320による解析結果は、必ずしもビジネスプロセス開発者800に提示される必要はなく、ステップ1104の処理を実行することなく、ステップ1105以降の処理を実行するようにしてもよい。   It should be noted that the analysis result by the flow definition analysis unit 320 does not necessarily have to be presented to the business process developer 800, and the processing after step 1105 may be executed without executing the processing at step 1104.

ビジネスプロセス開発者800に対するビジネスプロセスの提示は、ビジネスプロセス永続化ポイント提示部311によって実行される。ビジネスプロセス永続化ポイント指定部312によって提示されるビジネスプロセスの形式としては、例えば、図8に示すXML形式、又は図15に示すフローチャート形式があるが、これに限定されるものではない。   Presentation of the business process to the business process developer 800 is executed by the business process persistence point presentation unit 311. As a format of the business process presented by the business process persistence point designating unit 312, for example, there is an XML format shown in FIG. 8 or a flowchart format shown in FIG. 15, but it is not limited to this.

また、ビジネスプロセス開発者800に提示する永続化ポイントの形式としては、例えば、XML形式において特殊なタグを挿入する形式、図16に示した永続化ポイント1720のようにフローチャートに特別な記号を挿入して表す形式などがあるが、これに限定されるものではない。   In addition, as a format of the persistence point to be presented to the business process developer 800, for example, a format in which a special tag is inserted in the XML format, or a special symbol is inserted in the flowchart like the persistence point 1720 shown in FIG. However, the present invention is not limited to this.

本発明の実施の形態では、ビジネスプロセス永続化ポイント指定部312によって、ビジネスプロセスに対する永続化ポイントの追加又は永続化ポイントの削除をビジネスプロセス開発者800から受け付けることが可能である。図17にて永続化ポイントを追加又は削除する画面の一例を示す。   In the embodiment of the present invention, the business process persistence point designating unit 312 can accept from the business process developer 800 the addition of the persistence point to the business process or the deletion of the persistence point. FIG. 17 shows an example of a screen for adding or deleting a permanent point.

ビジネスプロセス開発用計算機300のCPU900は、ビジネスプロセス永続化ポイント指定部312によって、追加又は削除された永続化ポイントの情報をビジネスプロセス定義に反映する。例えば、図8に示すXML形式のビジネスプロセス定義情報に永続化ポイントを示すタグを挿入又は削除する。   The CPU 900 of the business process development computer 300 reflects the information of the persistence points added or deleted by the business process persistence point designating unit 312 in the business process definition. For example, a tag indicating a persistence point is inserted or deleted in the business process definition information in the XML format shown in FIG.

図17は、本発明の実施の形態のビジネスプロセス開発者800に提示される永続化ポイント編集画面の一例を示す図である。   FIG. 17 is a diagram showing an example of a permanent point edit screen presented to the business process developer 800 according to the embodiment of this invention.

図17には、ステップ1103の処理でフロー定義解析部320によって抽出された永続化ポイント1720に加え、ビジネスプロセス開発者800によって新たな永続化ポイント1730が追加された場合の例が示されている。   FIG. 17 shows an example in which a new persistence point 1730 is added by the business process developer 800 in addition to the persistence points 1720 extracted by the flow definition analysis unit 320 in the processing of step 1103. .

永続化ポイントを追加又は削除する手順について具体的に説明すると、永続化ポイントの追加は、フローチャートを構成する2つのアクティビティを連結する線を選択し、選択された線上に永続化ポイントを追加することを指定すればよい。永続化ポイントを追加する指示は、例えば、線をダブルクリックする方法としてもよいし、メニューから指示を選択する方法としてもよく、これらに限定されない。   The procedure for adding or deleting a persistence point will be described in detail. To add a persistence point, select a line connecting the two activities that make up the flowchart, and add a persistence point on the selected line. Can be specified. The instruction to add a permanent point may be, for example, a method of double-clicking a line or a method of selecting an instruction from a menu, and is not limited thereto.

また、永続化ポイントの削除は、フローチャート上に表示されている永続化ポイントを指定し、削除を指示すればよい。永続化ポイントを削除する指示は、例えば、永続化ポイントをダブルクリックする方法としてもよいし、メニューから指示を選択する方法としてもよく、これらに限定されるものではない。   The deletion of the permanent points may be performed by specifying the permanent points displayed on the flowchart and instructing the deletion. The instruction to delete the persistence point may be, for example, a method of double-clicking the persistence point or a method of selecting an instruction from a menu, and is not limited thereto.

また、ビジネスプロセス永続化ポイント提示部311は、図17に示すように、フロー定義解析部320によって抽出された永続化ポイントとビジネスプロセス開発者800によって追加された永続化ポイントを区別して表示するようにしてもよい。また、フロー定義解析部320によって抽出された永続化ポイントのうち、ビジネスプロセス開発者800によって削除された永続化ポイントについては、例えば、黒塗りの菱形などを用いて、他の永続化ポイントと区別して表示してもよい。   Further, as shown in FIG. 17, the business process persistence point presentation unit 311 distinguishes and displays the persistence points extracted by the flow definition analysis unit 320 and the persistence points added by the business process developer 800. It may be. Of the persistence points extracted by the flow definition analysis unit 320, the persistence points deleted by the business process developer 800 are separated from other persistence points using, for example, a black diamond. You may display separately.

ビジネスプロセス開発者800によって編集されたビジネスプロセスは、再度フロー定義解析部320に入力される。なお、ビジネスプロセス開発者800による永続化ポイントの指定(追加)は、フロー定義解析部320を実行する前に実施してもよい。   The business process edited by the business process developer 800 is input to the flow definition analysis unit 320 again. The designation (addition) of the persistence point by the business process developer 800 may be performed before the flow definition analysis unit 320 is executed.

ここで、図9のフローチャートの説明に戻る。本発明の実施の形態では、ビジネスプロセス開発者800によって永続化ポイントが追加又は削除されていないものとして、以降の説明を行う。   Now, the description returns to the flowchart of FIG. In the embodiment of the present invention, the following description will be made assuming that the persistence point has not been added or deleted by the business process developer 800.

ビジネスプロセス開発用計算機300のCPU900は、フロー定義解析部320によって、ステップ1104の処理で編集されたビジネスプロセスをさらに解析する(ステップ1105)。具体的には、ビジネスプロセスを領域ごとに分割し、各領域に含まれているアクティビティを抽出する。さらに、解析結果をプロセス分割結果格納テーブル230に格納する。   The CPU 900 of the business process development computer 300 further analyzes the business process edited in the process of step 1104 by the flow definition analysis unit 320 (step 1105). Specifically, the business process is divided into areas, and activities included in each area are extracted. Further, the analysis result is stored in the process division result storage table 230.

ビジネスプロセスの領域分割は、ステップ1103及びステップ1104の処理によって指定された永続化ポイント、ビジネスプロセスの先頭及び最後尾を基点として、各基点間を一つの領域として切り出すことによって行われる。   The area division of the business process is performed by cutting out each of the base points as one area with the perpetuation points designated by the processing of step 1103 and step 1104 and the start and end of the business process as base points.

以下、ステップ1105の処理でフロー定義解析部320によって実行されるビジネスプロセス領域分割処理の詳細を、図11を参照しながら説明する。   The details of the business process area dividing process executed by the flow definition analyzing unit 320 in the process of step 1105 will be described below with reference to FIG.

図11は、本発明の実施の形態のフロー定義解析部320によるビジネスプロセス領域分割処理の手順を示すフローチャートである。   FIG. 11 is a flowchart showing a procedure of business process area division processing by the flow definition analysis unit 320 according to the embodiment of this invention.

ビジネスプロセス領域分割処理は、前述のように、フロー定義解析部320によって実行される。   The business process area dividing process is executed by the flow definition analyzing unit 320 as described above.

ビジネスプロセス開発用計算機300のCPU900は、まず、ビジネスプロセスの最初に定義されているアクティビティをS及びLに設定する(ステップ11051)。アクティビティSは、分割する領域の先頭に対応するアクティビティである。一方、アクティビティLは、分割する領域の最後尾に対応するアクティビティである。   The CPU 900 of the business process development computer 300 first sets the activity defined at the beginning of the business process to S and L (step 11051). The activity S is an activity corresponding to the head of the area to be divided. On the other hand, the activity L is an activity corresponding to the tail end of the area to be divided.

ビジネスプロセス開発用計算機300のCPU900は、次に、アクティビティLの直後が永続化ポイントとして設定されているか否かを判定する(ステップ11052)。アクティビティLの直後が永続化ポイントとして設定されていない場合には(ステップ11052の結果が「No」)、アクティビティLの次のアクティビティを新たなLとして設定し(ステップ11053)、ステップ11052の処理に戻る。   The CPU 900 of the business process development computer 300 next determines whether or not the activity L is set as a permanent point (step 11052). If the point immediately after activity L is not set as a permanent point (the result of step 11052 is “No”), the next activity of activity L is set as a new L (step 11053), and the processing of step 11052 is performed. Return.

ビジネスプロセス開発用計算機300のCPU900は、アクティビティLの直後が永続化ポイントとして設定されている場合には(ステップ11052の結果が「Yes」)、アクティビティSからLまでを新たな領域として抽出し、領域に一意な名称を付与する(ステップ11054)。   When the CPU 900 of the business process development computer 300 is set as a persistence point immediately after the activity L (the result of step 11052 is “Yes”), the activities S to L are extracted as new areas. A unique name is assigned to the area (step 11054).

ビジネスプロセス開発用計算機300のCPU900は、次に、アクティビティSからLまでの間に含まれるすべてのアクティビティの情報を抽出し、ビジネスプロセス名、及びステップ11054の処理で付与した領域名と関連付けてプロセス分割結果格納テーブル230に格納する(ステップ11055)。   Next, the CPU 900 of the business process development computer 300 extracts information on all the activities included in the activities S to L and associates them with the business process name and the area name given in the processing of step 11054. The result is stored in the division result storage table 230 (step 11055).

図6に示したプロセス分割結果格納テーブル230を参照すると、例えば、「receive−A1」アクティビティが、ビジネスプロセスBP−A及び領域realm−A1に関連付けられている。このことは、領域realm−A1がビジネスプロセスBP−Aに含まれており、かつ、receive−A1アクティビティが領域realm−A1に含まれていることを示している。   Referring to the process division result storage table 230 illustrated in FIG. 6, for example, a “receive-A1” activity is associated with the business process BP-A and the area realm-A1. This indicates that the area realm-A1 is included in the business process BP-A, and the receive-A1 activity is included in the area realm-A1.

続いて、ビジネスプロセス開発用計算機300のCPU900は、アクティビティLがビジネスプロセスの最後のアクティビティであるか否かを判定する(ステップ11056)。アクティビティLがビジネスプロセスの最後のアクティビティであった場合には(ステップ11056の結果が「Yes」)、本処理を終了する。アクティビティLが最後のアクティビティでない場合には(ステップ11056の結果が「No」)、アクティビティLの次のアクティビティを新たにS及びLに設定し(ステップ11057)、ステップ11052の処理に戻る。   Subsequently, the CPU 900 of the business process development computer 300 determines whether or not the activity L is the last activity of the business process (step 11056). If the activity L is the last activity of the business process (the result of step 11056 is “Yes”), this process is terminated. If the activity L is not the last activity (the result of step 11056 is “No”), the activity next to the activity L is newly set to S and L (step 11057), and the processing returns to step 11052.

以上の手順によって、ステップ1103及びステップ1104の処理で指定された永続化ポイントに基づいてビジネスプロセスを領域ごとに分割し、結果をプロセス分割結果格納テーブル230に格納することができる。   According to the above procedure, the business process can be divided into regions based on the persistence points designated in the processing of step 1103 and step 1104, and the result can be stored in the process division result storage table 230.

本発明の実施の形態では、ステップ1105までの処理の結果として、図16に示すように、領域realm−A1(1710)及び領域realm−A2(1711)が抽出される。領域realm−A1(1710)には、アクティビティreceive−A1、invoke−A1、dt−A1、及びreply−A1が含まれる。また、領域realm−A2(1711)には、アクティビティreceive−A2、dt−A2、invoke−A2、及びreply−A2が含まれる。   In the embodiment of the present invention, as a result of the processing up to step 1105, the area realm-A1 (1710) and the area realm-A2 (1711) are extracted as shown in FIG. The area realm-A1 (1710) includes activities receive-A1, invoke-A1, dt-A1, and reply-A1. Also, the area realm-A2 (1711) includes activities receive-A2, dt-A2, invoke-A2, and reply-A2.

また、ステップ1105までの処理の結果は、図6に示すように、プロセス分割結果格納テーブル230に格納される。図6に示したプロセス分割結果格納テーブル230を参照すると、前述したように、ビジネスプロセスBP−Aには領域realm−A1が含まれており、更に領域realm−A1にはreceive−A1アクティビティが含まれていることが1行目のレコードに表されている。以降のレコードについても同様である。   Further, the processing results up to step 1105 are stored in the process division result storage table 230 as shown in FIG. Referring to the process division result storage table 230 shown in FIG. 6, as described above, the business process BP-A includes the area realm-A1, and the area realm-A1 includes the receive-A1 activity. This is shown in the record on the first line. The same applies to subsequent records.

ここで、図9のフローチャートの説明に戻る。   Now, the description returns to the flowchart of FIG.

ビジネスプロセス開発用計算機300のCPU900は、次に、変数参照関係解析部330によって、ステップ1105の処理で抽出された各領域で参照される変数を解析し、結果を変数参照関係格納テーブル240に格納する(ステップ1106)。   Next, the CPU 900 of the business process development computer 300 uses the variable reference relationship analysis unit 330 to analyze the variables referenced in each area extracted in the processing of step 1105 and stores the results in the variable reference relationship storage table 240. (Step 1106).

以下、ステップ1106の処理で変数参照関係解析部330によって実行される変数参照関係解析処理の詳細を、図12を参照しながら説明する。   Details of the variable reference relationship analysis processing executed by the variable reference relationship analysis unit 330 in the processing of step 1106 will be described below with reference to FIG.

図12は、本発明の実施の形態の変数参照関係解析部330による変数参照関係解析処理の手順を示すフローチャートである。   FIG. 12 is a flowchart illustrating a procedure of variable reference relationship analysis processing by the variable reference relationship analysis unit 330 according to the embodiment of this invention.

変数参照関係解析処理は、前述のように、変数参照関係解析部330によって実行される。また、変数参照関係解析処理は、分割された領域ごとに実行される。   The variable reference relationship analysis process is executed by the variable reference relationship analysis unit 330 as described above. Also, the variable reference relationship analysis process is executed for each divided area.

ビジネスプロセス開発用計算機300のCPU900は、まず、領域の最初に定義されているアクティビティをSに設定する(ステップ11061)。   The CPU 900 of the business process development computer 300 first sets the activity defined at the beginning of the area to S (step 11061).

次に、ビジネスプロセス開発用計算機300のCPU900は、ビジネスプロセス定義を参照し、アクティビティSによって参照されるすべての変数名を抽出する(ステップ11062)。アクティビティによって参照される変数の抽出は、例えば、図15に示したBP−Aにおけるreceive−A1では、受信したリクエストを変数in−A1に割り当てていることから、receive−A1は変数in−A1を参照すると判定することができる。他のアクティビティについても同様に、ビジネスプロセスの定義から各アクティビティから参照される変数を特定することが可能である。   Next, the CPU 900 of the business process development computer 300 refers to the business process definition and extracts all variable names referred to by the activity S (step 11062). For example, in the receive-A1 in the BP-A shown in FIG. 15, the received request is assigned to the variable in-A1. Therefore, the receive-A1 assigns the variable in-A1 to the variable in-A1. It can be determined to refer to it. Similarly for other activities, it is possible to specify a variable referred to from each activity from the definition of the business process.

次に、ビジネスプロセス開発用計算機300のCPU900は、ビジネスプロセスから抽出された各変数について、ステップ11064、11065及び11066の処理を実行する(ステップ11063、11067)。   Next, the CPU 900 of the business process development computer 300 executes the processing of steps 11064, 11065 and 11066 for each variable extracted from the business process (steps 11063 and 11067).

ビジネスプロセス開発用計算機300のCPU900は、まず、抽出された変数について領域名及び変数名に基づいて変数参照関係格納テーブル240を検索し、領域名241が一致し、かつ、変数名242が一致するレコードを抽出する(ステップ11064)。領域内でアクティビティSよりも前に定義されたアクティビティで既に処理対象の変数が参照されている場合には、同一の変数を重複して変数参照関係格納テーブル240に登録する必要がないため、あらかじめ登録済みの変数を検索する。   The CPU 900 of the business process development computer 300 first searches the variable reference relation storage table 240 for the extracted variables based on the area name and the variable name, and the area name 241 and the variable name 242 match. Records are extracted (step 11064). If a variable to be processed is already referenced in an activity defined before the activity S in the area, it is not necessary to register the same variable in the variable reference relationship storage table 240 in advance, Search for registered variables.

ビジネスプロセス開発用計算機300のCPU900は、ステップ11064の処理で該当するレコードが存在したか否かを判定する(ステップ11065)。該当するレコードが存在する場合には(ステップ11065の結果が「Yes」)、処理対象の変数が変数参照関係格納テーブル240に既に登録されているため、当該変数については登録せずに他の変数について処理を継続する。   The CPU 900 of the business process development computer 300 determines whether or not a corresponding record exists in the processing of step 11064 (step 11065). If the corresponding record exists (the result of step 11065 is “Yes”), the variable to be processed has already been registered in the variable reference relation storage table 240, so that the variable is not registered and another variable is registered. Continue processing for.

ビジネスプロセス開発用計算機300のCPU900は、該当するレコードが存在しない場合(ステップ11065の結果が「No」)、すなわち、領域内で処理対象の変数を利用することが登録されていない場合には、変数参照関係格納テーブル240に当該変数に対応するレコードを追加する(ステップ11066)。変数参照関係格納テーブル240にレコードを追加することによって、領域内で当該変数を利用することが登録される。図7に示した変数参照関係格納テーブル240を参照すると、1行目のレコードには、領域realm−A1(1701)で変数in−A1が参照されることが表されている。以降のレコードについても同様である。   If the corresponding record does not exist (the result of step 11065 is “No”), that is, if the use of the variable to be processed in the area is not registered, the CPU 900 of the business process development computer 300 A record corresponding to the variable is added to the variable reference relation storage table 240 (step 11066). By adding a record to the variable reference relationship storage table 240, the use of the variable in the area is registered. Referring to the variable reference relation storage table 240 shown in FIG. 7, the record in the first line indicates that the variable in-A1 is referred to in the area realm-A1 (1701). The same applies to subsequent records.

ビジネスプロセス開発用計算機300のCPU900は、ステップ11062の処理で抽出されたすべての変数についてステップ11064、11065及び11066の処理を実行した後、アクティビティSが領域中の最後のアクティビティであるか否かを判定する(ステップ11068)。アクティビティSが領域の最後のアクティビティの場合には(ステップ11068の結果が「Yes」)、本処理を終了する。アクティビティSが最後のアクティビティでない場合には(ステップ11068の結果が「No」)、アクティビティSの次のアクティビティを新たなSに設定し(ステップ11069)、ステップ11062の処理に戻る。   The CPU 900 of the business process development computer 300 executes the processing of steps 11064, 11065, and 11066 for all the variables extracted in the processing of step 11062, and then determines whether or not the activity S is the last activity in the area. Determination is made (step 11068). If the activity S is the last activity in the area (the result of step 11068 is “Yes”), this process ends. If the activity S is not the last activity (the result of step 11068 is “No”), the activity next to the activity S is set to a new S (step 11069), and the processing returns to step 11062.

以上の手順によって、各領域に含まれるアクティビティによって参照されるすべての変数を抽出し、抽出された変数の名称を領域名と関連付けた結果を変数参照関係格納テーブル240に格納することができる。   Through the above procedure, all variables referred to by activities included in each area can be extracted, and the result of associating the extracted variable names with the area names can be stored in the variable reference relation storage table 240.

ビジネスプロセス開発用計算機300のCPU900は、ステップ1106の処理が終了すると、ビジネスプロセスの解析処理を終了する。   When the processing of step 1106 ends, the CPU 900 of the business process development computer 300 ends the business process analysis processing.

本発明の実施の形態では、ステップ1106の処理の結果として、図16に示すように、領域realm−A1(1710)では変数in−A1、var−A1及びout−A1が参照される。また、領域realm−A2(1711)では変数in−A2、var−A1、var−A2及びout−A2が参照される。   In the embodiment of the present invention, as a result of the processing in step 1106, as shown in FIG. 16, in the area realm-A1 (1710), the variables in-A1, var-A1, and out-A1 are referred. In the area realm-A2 (1711), the variables in-A2, var-A1, var-A2, and out-A2 are referred to.

また、図7に示すように、領域realm−A1では変数in−A1、var−A1及びout−A1が参照され、領域realm−A2では変数in−A2、var−A1、var−A2及びout−A2が参照されることが、変数参照関係格納テーブル240に格納される。   Further, as shown in FIG. 7, variables in-A1, var-A1, and out-A1 are referred to in the area realm-A1, and variables in-A2, var-A1, var-A2, and out-- are referred to in the area realm-A2. Reference to A2 is stored in the variable reference relation storage table 240.

図13は、本発明の実施の形態のビジネスプロセス実行時の手順を示すフローチャートである。   FIG. 13 is a flowchart illustrating a procedure when executing a business process according to the embodiment of this invention.

クライアント用計算機701は、クライアント820によって送信されたサービス実行要求を受け付け、サービス呼び出しプログラム710によって、ビジネスプロセス実行計算機201にサービス(ビジネスプロセス)の実行を要求する(ステップ1201)。ステップ1201の処理は、クライアント820からサービス実行要求を受け付けるまで待機する処理とみなすこともできる。なお、ビジネスプロセスの実行要求は、外部システムから要求されてもよい。また、プログラムなどのソフトウェアが実行されることによって要求されてもよいし、当該機能を備えたハードウェアによって要求されてもよい。   The client computer 701 receives the service execution request transmitted by the client 820, and requests the business process execution computer 201 to execute the service (business process) by the service call program 710 (step 1201). The process of step 1201 can also be regarded as a process of waiting until a service execution request is received from the client 820. The business process execution request may be requested from an external system. Further, it may be requested by executing software such as a program, or may be requested by hardware having the function.

ビジネスプロセス実行計算機201のCPU900は、クライアント用計算機701によって送信されたサービス実行要求を受け付け、ビジネスプロセス実行部221によって、指定されたビジネスプロセスの実行を開始する。なお、ビジネスプロセスが永続化されていた場合には、ビジネスプロセスが活性化される。   The CPU 900 of the business process execution computer 201 receives the service execution request transmitted by the client computer 701 and starts the execution of the specified business process by the business process execution unit 221. If the business process has been made permanent, the business process is activated.

なお、受付アクティビティ以外のアクティビティの前に永続化ポイントが指定された場合には、ビジネスプロセスを活性化するタイミングはリクエストの受信以外の場合も含まれるが、本発明の実施の形態では受付アクティビティの前にのみ永続化ポイントが指定されている場合について説明する。   Note that when a persistence point is specified before an activity other than the reception activity, the timing for activating the business process is included in cases other than the reception of the request. However, in the embodiment of the present invention, The case where the persistence point is specified only before will be described.

ビジネスプロセス実行計算機201のCPU900は、ビジネスプロセス実行部221によって、クライアント820からビジネスプロセスの実行要求を受信すると、まず、最初に実行すべきアクティビティを特定する。そして、特定されたビジネスプロセスの名称及びアクティビティの名称をロード領域判定部222に通知する(ステップ1202)。なお、受信したビジネスプロセスの実行要求に基づいて、次に実行すべきビジネスプロセス及びアクティビティを特定する技術は、従来技術である汎用のビジネスプロセス実行プログラムなどによって実現されている機能であるため、詳細を省略する。   When the business process execution unit 221 receives a business process execution request from the client 820, the CPU 900 of the business process execution computer 201 first identifies an activity to be executed. The identified business process name and activity name are notified to the load area determination unit 222 (step 1202). The technology for identifying the business process and activity to be executed next based on the received business process execution request is a function realized by a general-purpose business process execution program that is a conventional technology. Is omitted.

ビジネスプロセス実行計算機201のCPU900は、ロード領域判定部222によって、ステップ1202の処理で通知されたビジネスプロセス名及びアクティビティ名に基づいて、次に実行すべき領域を特定する。さらに、特定された領域に含まれるアクティビティ及び変数をビジネスプロセス実行部221に応答する(ステップ1203)。   The CPU 900 of the business process execution computer 201 specifies the area to be executed next based on the business process name and activity name notified in the process of step 1202 by the load area determination unit 222. Furthermore, the activity and variable included in the specified area are returned to the business process execution unit 221 (step 1203).

以下、ステップ1203の処理でロード領域判定部222によって実行されるロード領域特定処理の詳細を、図14を参照しながら説明する。   Details of the load area specifying process executed by the load area determining unit 222 in the process of step 1203 will be described below with reference to FIG.

図14は、本発明の実施の形態のロードされる領域に含まれるアクティビティと当該領域で使用される変数を取得する手順を示すフローチャートである。   FIG. 14 is a flowchart showing a procedure for acquiring an activity included in an area to be loaded and a variable used in the area according to the embodiment of this invention.

ビジネスプロセス実行計算機201のCPU900は、まず、ビジネスプロセス実行部221から通知されたアクティビティ名が含まれる領域を特定する(ステップ1401)。具体的には、通知されたビジネスプロセス名及びアクティビティ名に基づいて、プロセス分割結果格納テーブル230を検索し、ビジネスプロセス名231が一致し、かつ、アクティビティ名233が一致するレコードを抽出する。   First, the CPU 900 of the business process execution computer 201 specifies an area including the activity name notified from the business process execution unit 221 (step 1401). More specifically, the process division result storage table 230 is searched based on the notified business process name and activity name, and records in which the business process name 231 matches and the activity name 233 matches are extracted.

次に、ビジネスプロセス実行計算機201のCPU900は、ステップ1401の処理で特定された領域に含まれるアクティビティを抽出する(ステップ1402)。具体的には、ビジネスプロセス名及びステップ1401の処理で特定された領域の名称に基づいて、プロセス分割結果格納テーブル230を検索し、ビジネスプロセス名231が一致し、かつ、領域名232が一致するすべてのアクティビティ名を取得する。   Next, the CPU 900 of the business process execution computer 201 extracts activities included in the area specified in the process of step 1401 (step 1402). Specifically, the process division result storage table 230 is searched based on the business process name and the name of the area specified in step 1401, the business process name 231 matches, and the area name 232 matches. Get all activity names.

さらに、ビジネスプロセス実行計算機201のCPU900は、ステップ1401の処理で特定された領域で使用される変数を抽出する(ステップ1403)。具体的には、ステップ1401の処理で特定された領域の名称に基づいて、変数参照関係格納テーブル240を検索し、領域名241が一致するすべての変数名を取得する。   Further, the CPU 900 of the business process execution computer 201 extracts variables used in the area specified in the process of step 1401 (step 1403). More specifically, the variable reference relationship storage table 240 is searched based on the area name specified in the process of step 1401, and all variable names that match the area name 241 are acquired.

最後に、ビジネスプロセス実行計算機201のCPU900は、ステップ1402の処理で抽出されたすべてのアクティビティ名、及びステップ1403の処理で抽出されたすべての変数名をビジネスプロセス実行部221に通知する(ステップ1404)。   Finally, the CPU 900 of the business process execution computer 201 notifies the business process execution unit 221 of all activity names extracted in the process of step 1402 and all variable names extracted in the process of step 1403 (step 1404). ).

ここで、図13のフローチャートの説明に戻る。   Now, the description returns to the flowchart of FIG.

ビジネスプロセス実行計算機201のCPU900は、ビジネスプロセス実行部221によって、ステップ1203の処理で応答されたアクティビティを含むフロー定義と変数の定義情報及びその値をメモリ上にロードし、領域内に定義されたビジネスプロセス(アクティビティ)を実行する。さらに、実行結果をプロセス実行状態格納テーブル250及び変数状態格納テーブル260に格納することによってビジネスプロセスを永続化し、非活性状態とする(ステップ1204)。   The CPU 900 of the business process execution computer 201 loads the flow definition including the activity responded in the process of step 1203 and the variable definition information and the value thereof onto the memory by the business process execution unit 221, and is defined in the area. Execute business process (activity). Further, the business process is made permanent by storing the execution results in the process execution state storage table 250 and the variable state storage table 260 (step 1204).

ビジネスプロセス実行計算機201のCPU900は、ビジネスプロセス実行部221によって、ステップ1204の処理で実行された領域がビジネスプロセスに含まれる最後の領域であるか否かを判定する(ステップ1205)。最後の領域である場合には(ステップ1205の結果が「Yes」)、ビジネスプロセスの実行を終了する。最後の領域でない場合には(ステップ1205の結果が「No」)、ビジネスプロセスが活性化されるまで待機するために、ステップ1201の処理に戻る。   The CPU 900 of the business process execution computer 201 determines whether or not the area executed in the process of step 1204 is the last area included in the business process by the business process execution unit 221 (step 1205). If it is the last area (the result of step 1205 is “Yes”), the execution of the business process is terminated. If it is not the last region (the result of step 1205 is “No”), the process returns to step 1201 to wait until the business process is activated.

以上、図13に示した手順によって、分割されたビジネスプロセスを領域ごとに実行することができる。   As described above, the divided business processes can be executed for each region by the procedure shown in FIG.

次に、ビジネスプロセスが制御構造を含む場合の解析手順について、図18を参照しながら説明する。制御構造は、ビジネスプロセスにおいて、分岐処理又は並列処理などのフロー制御を行う構造である。具体的には、制御構造に対応するアクティビティがビジネスプロセスに含まれる。   Next, an analysis procedure when the business process includes a control structure will be described with reference to FIG. The control structure is a structure that performs flow control such as branch processing or parallel processing in a business process. Specifically, an activity corresponding to the control structure is included in the business process.

分岐処理は、ビジネスプロセスに定義された変数の値などに基づいて、ビジネスプロセス実行時のフローを選択(制御)するための制御構造である。また、並列処理は、複数の処理フローを並行して処理するための制御構造である。   The branch process is a control structure for selecting (controlling) a flow at the time of executing a business process based on a value of a variable defined in the business process. Parallel processing is a control structure for processing a plurality of processing flows in parallel.

図18は、本発明の実施の形態の制御構造を含むビジネスプロセスの一例を示す図である。   FIG. 18 is a diagram illustrating an example of a business process including the control structure according to the embodiment of this invention.

図18に示すビジネスプロセスBP−B1800の一例では、「invoke−A1」の後に制御構造1850が含まれている。   In the example of the business process BP-B1800 shown in FIG. 18, a control structure 1850 is included after “invoke-A1”.

まず、制御構造1850が分岐処理であった場合について説明する。制御構造1850は、所定の条件が満たされた場合にはinvoke−A2からreply−A3の4つのアクティビティが実行される。また、条件が満たされない場合にはinvoke−A4からreply−A5までの4つのアクティビティが実行される。   First, a case where the control structure 1850 is a branch process will be described. The control structure 1850 executes four activities from invoke-A2 to reply-A3 when a predetermined condition is satisfied. When the condition is not satisfied, four activities from invoke-A4 to reply-A5 are executed.

一方、制御構造1850が並列処理であった場合には、reply−A1アクティビティが実行された後、invoke−A2からreply−A3の4つのアクティビティとinvoke−A4からreply−A5までの4つのアクティビティが並行して実行される。そして、reply−A3及びreply−A5の両方の処理が終了した後、invoke−A7以降の処理が実行される。   On the other hand, when the control structure 1850 is parallel processing, after the reply-A1 activity is executed, there are four activities from invoke-A2 to reply-A3 and four activities from invoke-A4 to reply-A5. Run in parallel. Then, after both the reply-A3 and reply-A5 processes are completed, the processes after invoke-A7 are executed.

ここで、制御構造を含むビジネスプロセスの解析処理について説明すると、ビジネスプロセスに制御構造が含まれる場合には、あらかじめビジネスプロセスを制御構造の前後で分割し、制御構造を含まないビジネスプロセスに分割する。そして、分割された各フローについて図9に示した処理手順を適用することによって、さらに領域を分割する。すなわち、図9に示したフロー定義解析部320によってビジネスプロセスの解析処理を実行する前に、制御構造の前後に永続化ポイントを付加する前処理を実行すればよい。   Here, the analysis process of a business process including a control structure will be explained. When a business process includes a control structure, the business process is divided in advance before and after the control structure, and is divided into business processes not including the control structure. . Then, the region is further divided by applying the processing procedure shown in FIG. 9 to each divided flow. In other words, before the business process analysis process is executed by the flow definition analysis unit 320 shown in FIG. 9, a preprocess for adding a permanent point before and after the control structure may be executed.

図18に示すビジネスプロセスBP−B1800は、ビジネスプロセスの開始から制御構造の開始までをフロー1801、制御構造に含まれる各フローをフロー1810及び1811、制御構造終了後からビジネスプロセスの終了までをフロー1802として分割される。   The business process BP-B1800 shown in FIG. 18 has a flow 1801 from the start of the business process to the start of the control structure, flows 1810 and 1811 for each flow included in the control structure, and flows from the end of the control structure to the end of the business process. It is divided as 1802.

さらに、ビジネスプロセスが制御構造を含む場合の別の解析手順について、図19を参照しながら説明する。   Further, another analysis procedure when the business process includes a control structure will be described with reference to FIG.

図19は、本発明の実施の形態の制御構造を含むビジネスプロセスの一例を示す図である。ビジネスプロセスの構造自体は、図18に示した構造と同じである。   FIG. 19 is a diagram illustrating an example of a business process including the control structure according to the embodiment of this invention. The structure of the business process itself is the same as that shown in FIG.

図19に示した解析結果は、制御構造を特別に区別することなく、領域を分割した結果である。このため、制御構造開始前の領域1901には制御構造内のフローで抽出された最初の永続化ポイントである1910及び1911よりも前に定義されているアクティビティinvoke−A2及びinvoke−A5が含まれている。   The analysis result shown in FIG. 19 is a result of dividing the region without specially distinguishing the control structure. For this reason, the area 1901 before the start of the control structure includes activities invoke-A2 and invoke-A5 defined before 1910 and 1911 which are the first persistence points extracted in the flow in the control structure. ing.

また、制御構造内のフローを含む領域1902及び1903は、制御構造終了後の最初の永続化ポイント1912までに定義されているアクティビティinvoke−A7を含んでいることを示している。すなわち、図19の例は、制御構造に含まれる個々のフローについて、最初の永続化ポイントまでを制御構造の開始前の領域に含まれるものとし、また、各フローの最後の領域は、制御構造終了後の最初の永続化ポイントまでに定義されたアクティビティを含むことを示している。   In addition, the areas 1902 and 1903 including the flow in the control structure indicate that the activity invoke-A7 defined up to the first persistence point 1912 after the end of the control structure is included. That is, in the example of FIG. 19, for each flow included in the control structure, the area up to the first persistence point is included in the area before the start of the control structure, and the last area of each flow is the control structure. Indicates that the activity defined by the first persistence point after the end is included.

なお、制御構造が並列の場合には、invoke−A7が領域1902及び1903に重複して含まれるため、領域ごとにアクティビティを実行すると、同期せずにinvoke−A7が実行されてしまうおそれがある。したがって、制御構造が並列の場合には、制御構造を区別せずに領域を分割すると問題が生じる可能性がある。   Note that when the control structures are parallel, the invoke-A7 is included in the areas 1902 and 1903, so that if the activity is executed for each area, the invoke-A7 may be executed without being synchronized. . Therefore, when the control structures are parallel, there is a possibility that a problem occurs if the areas are divided without distinguishing the control structures.

以上、図18及び図19に示した方法などによって、制御構造を含むビジネスプロセスを領域ごとに分割することが可能となる。   As described above, the business process including the control structure can be divided for each region by the method shown in FIGS.

次に、図9にて前述した手順によってビジネスプロセスが解析され、当該ビジネスプロセスが実行された後、当該ビジネスプロセスの稼動統計に基づいて、ビジネスプロセスの各領域を再構成する方法について説明する。なお、本発明の実施の形態では、稼動統計として平均値を用いるが、これ以外のものであってもよい。   Next, a method for reconfiguring each area of the business process based on the operation statistics of the business process after the business process is analyzed by the procedure described above with reference to FIG. 9 and the business process is executed will be described. In the embodiment of the present invention, an average value is used as the operation statistics, but other values may be used.

ビジネスプロセスの各領域を再構成する手順は、図9に示した手順とほぼ同様であり、フロー定義解析部320によって実行される。   The procedure for reconfiguring each area of the business process is substantially the same as the procedure shown in FIG. 9 and is executed by the flow definition analysis unit 320.

ビジネスプロセスの再構成時において追加される手順は、永続化ポイントを抽出するアルゴリズム(図10参照)において、ビジネスプロセスの稼動状況に基づいて、永続化ポイントを設定する。   The procedure added when reconfiguring the business process sets a persistence point based on the operating status of the business process in an algorithm (see FIG. 10) for extracting the persistence point.

具体的には、まず、図10におけるアクティビティSの開始時刻とアクティビティSの前に実行されるアクティビティの終了時刻の差の平均値を算出する。そして、算出された値が基準となる値(所定の閾値)よりも大きい場合、アクティビティSの前に実行されるアクティビティの終了からSの実行が開始されるまでの時間が長いと判定し、アクティビティSの前を永続化ポイントに指定する。   Specifically, first, an average value of the difference between the start time of the activity S in FIG. 10 and the end time of the activity executed before the activity S is calculated. If the calculated value is larger than a reference value (predetermined threshold), it is determined that the time from the end of the activity executed before the activity S to the start of the execution of S is long, and the activity The point before S is designated as the persistence point.

一方、算出された値が基準となる値よりも小さい場合には、アクティビティSの前に実行されたアクティビティの終了からアクティビティSの実行開始までの時間が短いと判定し、アクティビティSが受付アクティビティであっても、アクティビティSの直前を永続化ポイントとして設定しないようにする。   On the other hand, when the calculated value is smaller than the reference value, it is determined that the time from the end of the activity executed before the activity S to the start of the execution of the activity S is short, and the activity S is a reception activity. Even in such a case, the point immediately before the activity S is not set as a permanent point.

なお、アクティビティSの開始時刻及びアクティビティSの前に実行されるアクティビティの終了時刻は、プロセス実行状態格納テーブル250から取得することができる。具体的には、ビジネスプロセス名と、アクティビティS及びアクティビティSの前に実行されるアクティビティ名に基づいて、プロセス実行状態格納テーブル250を検索する。そして、ビジネスプロセス名251が一致し、かつ、アクティビティ名252が一致するレコードを抽出し、開始時刻254又は終了時刻255を取得する。   The start time of the activity S and the end time of the activity executed before the activity S can be acquired from the process execution state storage table 250. Specifically, the process execution state storage table 250 is searched based on the business process name and the activity S and the activity name executed before the activity S. Then, a record in which the business process name 251 matches and the activity name 252 matches is extracted, and the start time 254 or the end time 255 is acquired.

また、基準となる値は、固定された数値情報(例えば30秒など)であってもよいし、ビジネスプロセス開発者800が指定した特定の数値データであってもよい。さらに、ビジネスプロセス全体の実行時間から算出された数値であってもよいし、ビジネスプロセスによって提供されるサービスに依存する値でもよい。   Further, the reference value may be fixed numerical information (for example, 30 seconds) or may be specific numerical data designated by the business process developer 800. Further, it may be a numerical value calculated from the execution time of the entire business process, or may be a value depending on a service provided by the business process.

以上の手順によって、ビジネスプロセスの実行時に稼動統計に基づいて動的に領域を分割することが可能となり、より効率的なビジネスプロセスの実行を実現できる。なお、ビジネスプロセス実行時の再構成は、必ずしも実施される必要はなく、ビジネスプロセスを定義した場合にのみ領域を分割するようにしてもよい。   By the above procedure, it becomes possible to dynamically divide the area based on the operation statistics at the time of executing the business process, and more efficient execution of the business process can be realized. Note that the reconfiguration at the time of executing the business process is not necessarily performed, and the area may be divided only when the business process is defined.

最後に、図15に示すビジネスプロセスBP−A1700に対し、本発明の実施の形態によるビジネスプロセスの解析及び実行方法を適用した場合の効果について、図20及び図21を参照しながら説明する。   Finally, the effect when the business process analysis and execution method according to the embodiment of the present invention is applied to the business process BP-A 1700 shown in FIG. 15 will be described with reference to FIGS. 20 and 21. FIG.

前述のように、ビジネスプロセスBP−A1700をフロー定義解析部320によって解析すると、ビジネスプロセスBP−A1700は二つの領域に分割される(図16における領域1710及び1720)。   As described above, when the business process BP-A 1700 is analyzed by the flow definition analysis unit 320, the business process BP-A 1700 is divided into two regions (regions 1710 and 1720 in FIG. 16).

図20及び図21は、本発明の実施の形態のビジネスプロセスの分割及び実行による効果を説明する図である。   20 and 21 are diagrams for explaining the effects of the division and execution of business processes according to the embodiment of this invention.

図20は、ビジネスプロセスBP−A1700の最初のアクティビティであるreceive−A1が実行されるタイミングでメモリ上に展開される情報を説明する図である。図20の表において太枠で囲まれた各レコードが、receive−A1アクティビティが実行されるタイミングで読み込まれる。   FIG. 20 is a diagram for explaining information developed on the memory at the timing when receive-A1 which is the first activity of the business process BP-A1700 is executed. In the table of FIG. 20, each record surrounded by a thick frame is read at the timing when the receive-A1 activity is executed.

ビジネスプロセスBP−A1700は、図16に示した領域realm−A1(1710)に示すように、receive−A1アクティビティからreply−A1アクティビティまでが一つの領域として分割される。したがって、メモリ上にはreceive−A1アクティビティからreply−A1アクティビティまでのフロー定義と、recive−A1アクティビティからreply−A1アクティビティの実行中に参照される変数であるin−A1、var−A1及びout−A1が展開される。   In the business process BP-A 1700, as shown in the area realm-A1 (1710) shown in FIG. 16, the area from the receive-A1 activity to the reply-A1 activity is divided as one area. Therefore, in the memory, the flow definition from the receive-A1 activity to the reply-A1 activity and the variables referred to during execution of the reply-A1 activity to the reply-A1 activity are in-A1, var-A1, and out- A1 is expanded.

従来は、領域realm−A1に含まれるアクティビティを実行するために必要のないフロー定義情報(receive−A2アクティビティからreply−A2アクティビティまでの)及び変数(in−A2、var−A2及びout−A2)、すなわち、図20の表に格納されているすべてのレコードがメモリに読み込まれていた。   Conventionally, flow definition information (from receive-A2 activity to reply-A2 activity) and variables (in-A2, var-A2, and out-A2) that are not necessary for executing the activity included in the area realm-A1 That is, all the records stored in the table of FIG. 20 have been read into the memory.

本発明の実施の形態では、図20中の表において太枠で囲まれているレコードのみがメモリに読み込まれるため、従来と比較して、データの読み込み量、及びメモリ上に展開される情報量を削減することができる。   In the embodiment of the present invention, only records surrounded by a thick frame in the table in FIG. 20 are read into the memory, so that the amount of data read and the amount of information developed on the memory are compared with the conventional case. Can be reduced.

図21は、receive−A1アクティビティの実行が完了したタイミングで各テーブルに書き込まれる情報を示している。   FIG. 21 shows information written in each table at the timing when the execution of the receive-A1 activity is completed.

receive−A1アクティビティの実行が完了すると、ビジネスプロセスBP−A1700が永続化され、各テーブルにビジネスプロセスの実行状態及び各変数の状態が格納される。図21中の表において太枠で囲まれているレコードは、receive−A1アクティビティの実行完了時に書き込まれるレコードである。   When the execution of the receive-A1 activity is completed, the business process BP-A1700 is made permanent, and the execution state of the business process and the state of each variable are stored in each table. In the table in FIG. 21, records surrounded by a thick frame are records that are written when the execution of the receive-A1 activity is completed.

従来は、ビジネスプロセスBP−A1700の永続化時に、図21中の表に格納されているすべてのレコードが書き込まれていたが、本発明の実施の形態では、太枠内の情報のみが書き込まれるため、書き込まれるデータ量を削減することができる。   Conventionally, when the business process BP-A 1700 is made permanent, all the records stored in the table in FIG. 21 are written. However, in the embodiment of the present invention, only the information in the bold frame is written. Therefore, the amount of data to be written can be reduced.

本発明の実施の形態によれば、ビジネスプロセスを領域ごとに分割して実行することによって、ビジネスプロセス実行時に必要なリソース量、特にメモリ使用量を削減することができる。   According to the embodiment of the present invention, by dividing and executing a business process for each region, it is possible to reduce the amount of resources necessary for executing the business process, particularly the amount of memory used.

また、本発明の実施の形態によれば、ビジネスプロセスを領域ごとに分割することによって、ビジネスプロセスの永続化時に書き込まれるデータ量、及び活性化時に読み出されるデータ量を削減することによって、ビジネスプロセスの実行性能を向上させることができる。   Further, according to the embodiment of the present invention, the business process is divided into regions, thereby reducing the amount of data written when the business process is made permanent and the amount of data read when the business process is activated. Execution performance can be improved.

本発明の実施の形態のSOAシステムの構成の一例を示す図である。It is a figure which shows an example of a structure of the SOA system of embodiment of this invention. 本発明の実施の形態のビジネスプロセス開発用計算機の構成の一例を示す図である。It is a figure which shows an example of a structure of the computer for business process development of embodiment of this invention. 本発明の実施の形態のビジネスプロセス実行計算機の構成の一例を示す図である。It is a figure which shows an example of a structure of the business process execution computer of embodiment of this invention. 本発明の実施の形態のプロセス実行状態格納テーブルの構成の一例を示す図である。It is a figure which shows an example of a structure of the process execution state storage table of embodiment of this invention. 本発明の実施の形態の変数状態格納テーブルの構成の一例を示す図である。It is a figure which shows an example of a structure of the variable state storage table of embodiment of this invention. 本発明の実施の形態のプロセス分割結果格納テーブルの構成の一例を示す図である。It is a figure which shows an example of a structure of the process division | segmentation result storage table of embodiment of this invention. 本発明の実施の形態の変数参照関係格納テーブルの構成の一例を示す図である。It is a figure which shows an example of a structure of the variable reference relationship storage table of embodiment of this invention. 本発明の実施の形態のビジネスプロセスの定義(XML形式)の一例を示す図である。It is a figure which shows an example of the definition (XML format) of the business process of embodiment of this invention. 本発明の実施の形態におけるビジネスプロセスを解析する手順を示すフローチャートである。It is a flowchart which shows the procedure which analyzes the business process in embodiment of this invention. 本発明の実施の形態のビジネスプロセスを分割する永続化ポイントを抽出する永続化ポイント抽出処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the permanent point extraction process which extracts the permanent point which divides | segments the business process of embodiment of this invention. 本発明の実施の形態のフロー定義解析部によるビジネスプロセス領域分割処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the business process area | region division | segmentation process by the flow definition analysis part of embodiment of this invention. 本発明の実施の形態の変数参照関係解析部による変数参照関係解析処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the variable reference relationship analysis process by the variable reference relationship analysis part of embodiment of this invention. 本発明の実施の形態のビジネスプロセス実行時の手順を示すフローチャートである。It is a flowchart which shows the procedure at the time of business process execution of embodiment of this invention. 本発明の実施の形態のロードされる領域を特定し、特定された領域に含まれるアクティビティと特定された領域で使用される変数を取得する手順を示すフローチャートである。It is a flowchart which shows the procedure which specifies the area | region loaded and identifies the activity contained in the specified area | region, and the variable used by the specified area | region of embodiment of this invention. 本発明の実施の形態のビジネスプロセスの定義(フローチャート形式)の一例を示す図である。It is a figure which shows an example of the definition (flowchart format) of the business process of embodiment of this invention. 本発明の実施の形態のビジネスプロセスが解析された後の状態の一例を示す図である。It is a figure which shows an example of the state after the business process of embodiment of this invention was analyzed. 本発明の実施の形態のビジネスプロセス開発者に提示される永続化ポイント編集画面の一例を示す図である。It is a figure which shows an example of the permanent point edit screen shown to the business process developer of embodiment of this invention. 本発明の実施の形態の制御構造を含むビジネスプロセスの一例を示す図である。It is a figure which shows an example of the business process containing the control structure of embodiment of this invention. 本発明の実施の形態の制御構造を含むビジネスプロセスの一例を示す図である。It is a figure which shows an example of the business process containing the control structure of embodiment of this invention. 本発明の実施の形態のビジネスプロセスの分割及び実行による効果を説明する図である。It is a figure explaining the effect by division and execution of a business process of an embodiment of the invention. 本発明の実施の形態のビジネスプロセスの分割及び実行による効果を説明する図である。It is a figure explaining the effect by division and execution of a business process of an embodiment of the invention.

符号の説明Explanation of symbols

201 ビジネスプロセス実行計算機
221 ビジネスプロセス実行部
222 ロード領域判定部
230 プロセス分割結果格納テーブル
240 変数参照関係格納テーブル
250 プロセス実行状態格納テーブル
260 変数状態格納テーブル
300 ビジネスプロセス開発用計算機
310 ビジネスプロセス開発部
311 ビジネスプロセス永続化ポイント提示部
312 ビジネスプロセス永続化ポイント指定部
320 フロー定義解析部
330 変数参照関係解析部
501 サービス実行計算機
510 サービス実行基盤プログラム
701 クライアント用計算機
710 サービス呼び出しプログラム
800 ビジネスプロセス開発者
820 クライアント
900 CPU
910 ネットワークインタフェース
920 グラフィックインタフェース
921 画像表示装置
930 ユーザ入力インターフェース
940 主記憶装置
950 二次記憶装置
960 システムバス
1000 ネットワーク
201 business process execution computer 221 business process execution unit 222 load area determination unit 230 process division result storage table 240 variable reference relation storage table 250 process execution state storage table 260 variable state storage table 300 business process development computer 310 business process development unit 311 Business process persistence point presentation unit 312 Business process persistence point specification unit 320 Flow definition analysis unit 330 Variable reference relation analysis unit 501 Service execution computer 510 Service execution platform program 701 Client computer 710 Service call program 800 Business process developer 820 Client 900 CPU
910 Network interface 920 Graphic interface 921 Image display device 930 User input interface 940 Main storage device 950 Secondary storage device 960 System bus 1000 Network

Claims (20)

サービスを提供するサービス実行装置と、前記サービスを組み合わせて業務処理を定義したビジネスプロセスを実行するビジネスプロセス実行装置と、を備える計算機システムにおけるビジネスプロセス実行方法であって、
前記ビジネスプロセス実行装置は、前記サービス実行装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備え、
前記ビジネスプロセスは、前記ビジネスプロセスを構成するアクティビティに基づいて、少なくとも一つのアクティビティを含む領域に分割され、
前記メモリは、前記ビジネスプロセスの実行経過を含む実行情報を格納するプロセス実行状態情報、及び前記領域と前記アクティビティとの対応を含むプロセス分割情報を記憶し、
前記方法は、
前記ビジネスプロセスの実行を受け付けた場合には、前記プロセス実行状態情報及び前記プロセス分割情報に基づいて、実行されるアクティビティを特定し、
前記特定されたアクティビティを含む領域を抽出し、
前記抽出された領域に対応する実行情報を前記プロセス実行状態情報から取得し、
前記取得された実行情報に基づいて、前記抽出された領域に含まれるアクティビティを実行し、
前記抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報に格納することを特徴とするビジネスプロセス実行方法。
A business process execution method in a computer system comprising: a service execution device that provides a service; and a business process execution device that executes a business process that defines a business process by combining the services,
The business process execution device includes an interface connected to the service execution device, a processor connected to the interface, and a memory connected to the processor,
The business process is divided into regions including at least one activity based on the activities constituting the business process,
The memory stores process execution state information for storing execution information including execution progress of the business process, and process division information including correspondence between the area and the activity,
The method
When the execution of the business process is accepted, the activity to be executed is identified based on the process execution state information and the process division information,
Extracting an area containing the identified activity;
Obtaining execution information corresponding to the extracted area from the process execution state information;
Based on the acquired execution information, the activity included in the extracted area is executed,
When the execution of all activities included in the extracted area is completed, the execution information corresponding to the extracted area is stored in the process execution state information.
前記方法は、
前記ビジネスプロセスが定義された場合には、前記ビジネスプロセスの実行が中断される可能性が高いアクティビティを特定し、
前記特定されたアクティビティに基づいて、前記ビジネスプロセスを分割することを特徴とする請求項1に記載のビジネスプロセス実行方法。
The method
If the business process is defined, identify activities that are likely to interrupt the execution of the business process,
The business process execution method according to claim 1, wherein the business process is divided based on the identified activity.
前記ビジネスプロセスの実行が中断される可能性が高いアクティビティは、外部からの入力を受け付ける受付アクティビティであることを特徴とする請求項2に記載のビジネスプロセス実行方法。   The business process execution method according to claim 2, wherein the activity that is likely to be interrupted in the execution of the business process is a reception activity that accepts an input from the outside. 前記方法は、前記ビジネスプロセスが新たに定義された場合に、前記ビジネスプロセスの分割結果を提示することを特徴とする請求項2に記載のビジネスプロセス実行方法。   3. The business process execution method according to claim 2, wherein when the business process is newly defined, the method presents a division result of the business process. 前記方法は、前記ビジネスプロセスの分割結果が提示された後、前記領域の分割又は統合を受け付けることを特徴とする請求項4に記載のビジネスプロセス実行方法。   5. The business process execution method according to claim 4, wherein after the division result of the business process is presented, division or integration of the area is accepted. 前記抽出された領域に対応する実行情報には、前記ビジネスプロセスの実行時に使用される変数が含まれることを特徴とする請求項1に記載のビジネスプロセス実行方法。   The business process execution method according to claim 1, wherein the execution information corresponding to the extracted area includes a variable used when the business process is executed. 前記方法は、
前記ビジネスプロセスに含まれるアクティビティの実行開始時刻及び実行終了時刻を含む時間情報を測定し、
前記測定された時間情報に基づいて、前記ビジネスプロセスを分割することを特徴とする請求項1に記載のビジネスプロセス実行方法。
The method
Measuring time information including an execution start time and an execution end time of an activity included in the business process;
The business process execution method according to claim 1, wherein the business process is divided based on the measured time information.
前記方法は、
前記時間情報に基づいて、前記アクティビティの実行間隔を算出し、
前記算出された実行間隔が所定の閾値よりも長いアクティビティの間で、前記ビジネスプロセスを分割することを特徴とする請求項7に記載のビジネスプロセス実行方法。
The method
Based on the time information, calculate the execution interval of the activity,
The business process execution method according to claim 7, wherein the business process is divided between activities in which the calculated execution interval is longer than a predetermined threshold.
前記ビジネスプロセスは、並列処理を制御するアクティビティに基づいて分割されることを特徴とする請求項1に記載のビジネスプロセス実行方法。   The business process execution method according to claim 1, wherein the business process is divided based on an activity that controls parallel processing. 前記ビジネスプロセスは、条件分岐処理を制御するアクティビティに基づいて分割されることを特徴とする請求項1に記載のビジネスプロセス実行方法。   The business process execution method according to claim 1, wherein the business process is divided based on an activity that controls conditional branch processing. サービスを提供するサービス実行装置に接続し、前記サービスを組み合わせて業務処理を定義したビジネスプロセスを実行するビジネスプロセス実行装置であって、
前記サービス実行装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記ビジネスプロセスは、前記ビジネスプロセスを構成するアクティビティに基づいて、少なくとも一つのアクティビティを含む領域に分割され、
前記メモリは、前記ビジネスプロセスの実行経過を含む実行情報を格納するプロセス実行状態情報、及び前記領域と前記アクティビティとの対応を含むプロセス分割情報を記憶し、
前記プロセッサは、
前記ビジネスプロセスの実行を受け付けた場合には、前記プロセス実行状態情報及び前記プロセス分割情報に基づいて、実行されるアクティビティを特定し、
前記特定されたアクティビティを含む領域を抽出し、
前記抽出された領域に対応する実行情報を前記プロセス実行状態情報から取得し、
前記取得された実行情報に基づいて、前記抽出された領域に含まれるアクティビティを実行し、
前記抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報に格納することを特徴とするビジネスプロセス実行装置。
A business process execution device that connects to a service execution device that provides a service and executes a business process that defines business processing by combining the services,
An interface connected to the service execution device, a processor connected to the interface, and a memory connected to the processor,
The business process is divided into regions including at least one activity based on the activities constituting the business process,
The memory stores process execution state information for storing execution information including execution progress of the business process, and process division information including correspondence between the area and the activity,
The processor is
When the execution of the business process is accepted, the activity to be executed is identified based on the process execution state information and the process division information,
Extracting an area containing the identified activity;
Obtaining execution information corresponding to the extracted area from the process execution state information;
Based on the acquired execution information, the activity included in the extracted area is executed,
A business process execution apparatus characterized in that, when execution of all activities included in the extracted area is completed, execution information corresponding to the extracted area is stored in the process execution state information.
前記プロセッサは、
前記ビジネスプロセスが新たに定義された場合には、前記ビジネスプロセスの実行が中断される可能性が高いアクティビティを特定し、
前記特定されたアクティビティに基づいて、前記ビジネスプロセスを分割することを特徴とする請求項11に記載のビジネスプロセス実行装置。
The processor is
If the business process is newly defined, identify activities that are likely to interrupt the execution of the business process,
The business process execution device according to claim 11, wherein the business process is divided based on the identified activity.
前記ビジネスプロセスの実行が中断される可能性が高いアクティビティは、外部からの入力を受け付ける受付アクティビティであることを特徴とする請求項12に記載のビジネスプロセス実行装置。   13. The business process execution apparatus according to claim 12, wherein the activity that is highly likely to be interrupted in execution of the business process is a reception activity that accepts an input from the outside. 前記抽出された領域に対応する実行情報には、前記ビジネスプロセスの実行時に使用される変数が含まれることを特徴とする請求項11に記載のビジネスプロセス実行装置。   12. The business process execution device according to claim 11, wherein the execution information corresponding to the extracted area includes a variable used when the business process is executed. 前記プロセッサは、
前記ビジネスプロセスに含まれるアクティビティの実行開始時刻及び実行終了時刻を含む時間情報を測定し、
前記測定された時間情報に基づいて、前記ビジネスプロセスを分割することを特徴とする請求項11に記載のビジネスプロセス実行装置。
The processor is
Measuring time information including an execution start time and an execution end time of an activity included in the business process;
The business process execution device according to claim 11, wherein the business process is divided based on the measured time information.
前記プロセッサは、
前記測定された時間情報に基づいて、前記アクティビティの実行間隔を算出し、
前記算出された実行間隔が所定の閾値よりも長いアクティビティの間で、前記ビジネスプロセスを分割することを特徴とする請求項15に記載のビジネスプロセス実行装置。
The processor is
Based on the measured time information, the execution interval of the activity is calculated,
The business process execution device according to claim 15, wherein the business process is divided between activities in which the calculated execution interval is longer than a predetermined threshold.
サービスを提供するサービス実行装置に接続し、前記サービスを組み合わせて業務処理を定義したビジネスプロセスを実行するビジネスプロセス実行装置によって実行されるプログラムであって、
前記ビジネスプロセスは、前記ビジネスプロセスを構成するアクティビティに基づいて、少なくとも一つのアクティビティを含む領域に分割され、
前記ビジネスプロセス実行装置は、前記ビジネスプロセスの実行経過を含む実行情報を格納するプロセス実行状態情報、及び前記領域と前記アクティビティとの対応を含むプロセス分割情報を記憶し、
前記プログラムは、
前記ビジネスプロセスの実行を受け付けた場合には、前記プロセス実行状態情報及び前記プロセス分割情報に基づいて、実行されるアクティビティを特定する手順と、
前記特定されたアクティビティを含む領域を抽出する手順と、
前記抽出された領域に対応する実行情報を前記プロセス実行状態情報から取得する手順と、
前記取得された実行情報に基づいて、前記抽出された領域に含まれるアクティビティを実行する手順と、
前記抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報に格納する手順と、を含むことを特徴とするビジネスプロセス実行プログラム。
A program executed by a business process execution device that connects to a service execution device that provides a service and executes a business process that defines a business process by combining the services,
The business process is divided into regions including at least one activity based on the activities constituting the business process,
The business process execution device stores process execution state information for storing execution information including execution progress of the business process, and process division information including correspondence between the area and the activity,
The program is
When the execution of the business process is accepted, a procedure for identifying an activity to be executed based on the process execution state information and the process division information;
Extracting an area containing the identified activity;
A procedure for acquiring execution information corresponding to the extracted area from the process execution state information;
A procedure for executing an activity included in the extracted area based on the acquired execution information;
A procedure for storing execution information corresponding to the extracted area in the process execution state information when execution of all activities included in the extracted area is completed. Process execution program.
前記プログラムは、
前記ビジネスプロセスが新たに定義された場合には、前記ビジネスプロセスの実行が中断される可能性が高いアクティビティする手順と、
前記特定されたアクティビティに基づいて、前記ビジネスプロセスを分割する手順と、をさらに含むことを特徴とする請求項17に記載のビジネスプロセス実行プログラム。
The program is
If the business process is newly defined, an activity procedure that is likely to interrupt the execution of the business process; and
The business process execution program according to claim 17, further comprising a step of dividing the business process based on the identified activity.
前記プログラムは、
前記ビジネスプロセスに含まれるアクティビティの実行開始時刻及び実行終了時刻を含む時間情報を測定する手順と、
前記測定された時間情報に基づいて、前記ビジネスプロセスを分割する手順と、さらに含むことを特徴とする請求項17に記載のビジネスプロセス実行プログラム。
The program is
A procedure for measuring time information including an execution start time and an execution end time of an activity included in the business process;
The business process execution program according to claim 17, further comprising a step of dividing the business process based on the measured time information.
前記プログラムは、
前記測定された時間情報に基づいて、前記アクティビティの実行間隔を算出する手順と、
前記算出された実行間隔が所定の閾値よりも長いアクティビティの間で、前記ビジネスプロセスを分割する手順と、をさらに含むことを特徴とする請求項19に記載のビジネスプロセス実行プログラム。
The program is
A procedure for calculating an execution interval of the activity based on the measured time information;
The business process execution program according to claim 19, further comprising a step of dividing the business process among activities whose calculated execution interval is longer than a predetermined threshold.
JP2008185935A 2008-07-17 2008-07-17 Business process execution method, business process execution device and business process execution program Pending JP2010026695A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008185935A JP2010026695A (en) 2008-07-17 2008-07-17 Business process execution method, business process execution device and business process execution program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008185935A JP2010026695A (en) 2008-07-17 2008-07-17 Business process execution method, business process execution device and business process execution program

Publications (1)

Publication Number Publication Date
JP2010026695A true JP2010026695A (en) 2010-02-04

Family

ID=41732488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008185935A Pending JP2010026695A (en) 2008-07-17 2008-07-17 Business process execution method, business process execution device and business process execution program

Country Status (1)

Country Link
JP (1) JP2010026695A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023153491A1 (en) * 2022-02-10 2023-08-17 Ibc一番町弁理士法人 Process execution system, data structure, and process execution program

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177568A (en) * 1996-12-17 1998-06-30 Hitachi Ltd Document management system and storing medium for managing document
JP2000250967A (en) * 1999-02-26 2000-09-14 Fujitsu Ltd Work flow control system, control method, and recording medium recorded with work flow control program
JP2001014389A (en) * 1999-06-25 2001-01-19 Hitachi Ltd Workflow server and client terminal
JP2002517831A (en) * 1998-06-05 2002-06-18 アイ2・テクノロジーズ・インコーポレイテッド Systems and processes for multi-enterprise collaboration
JP2002334194A (en) * 2001-02-09 2002-11-22 Internatl Business Mach Corp <Ibm> Method, system and program for providing selective command control in workflow management system
JP2004280820A (en) * 2003-03-12 2004-10-07 Microsoft Corp Framework for supporting business software application
JP2004280821A (en) * 2003-03-12 2004-10-07 Microsoft Corp Software business process model
JP2007156859A (en) * 2005-12-06 2007-06-21 Hitachi Ltd Business process design support method and system by modeling role relations

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177568A (en) * 1996-12-17 1998-06-30 Hitachi Ltd Document management system and storing medium for managing document
JP2002517831A (en) * 1998-06-05 2002-06-18 アイ2・テクノロジーズ・インコーポレイテッド Systems and processes for multi-enterprise collaboration
JP2000250967A (en) * 1999-02-26 2000-09-14 Fujitsu Ltd Work flow control system, control method, and recording medium recorded with work flow control program
JP2001014389A (en) * 1999-06-25 2001-01-19 Hitachi Ltd Workflow server and client terminal
JP2002334194A (en) * 2001-02-09 2002-11-22 Internatl Business Mach Corp <Ibm> Method, system and program for providing selective command control in workflow management system
JP2004280820A (en) * 2003-03-12 2004-10-07 Microsoft Corp Framework for supporting business software application
JP2004280821A (en) * 2003-03-12 2004-10-07 Microsoft Corp Software business process model
JP2007156859A (en) * 2005-12-06 2007-06-21 Hitachi Ltd Business process design support method and system by modeling role relations

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200701196007; 加藤  英之  Hideyuki  KATOH: 'Webサービスを用いたワークフロー管理における負荷分散手法のシミュレーションによる評価  Simulation E' 日本データベース学会Letters  Vol.4  No.2  DBSJ Letters 第4巻, 20070817, 頁25〜28, 日本データベース学会  The Database Society of Japa *
JPN6011062956; 加藤  英之  Hideyuki  KATOH: 'Webサービスを用いたワークフロー管理における負荷分散手法のシミュレーションによる評価  Simulation E' 日本データベース学会Letters  Vol.4  No.2  DBSJ Letters 第4巻, 20070817, 頁25〜28, 日本データベース学会  The Database Society of Japa *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023153491A1 (en) * 2022-02-10 2023-08-17 Ibc一番町弁理士法人 Process execution system, data structure, and process execution program
JP7429941B2 (en) 2022-02-10 2024-02-09 Ibc一番町弁理士法人 Process execution system and process execution program

Similar Documents

Publication Publication Date Title
JP4701220B2 (en) Business process reconfiguration method, program thereof and computer
CN108304201B (en) Object updating method, device and equipment
CN110244942B (en) Page generation method, device and system
CN111045655A (en) Page rendering method and device, rendering server and storage medium
US20100281463A1 (en) XML based scripting framework, and methods of providing automated interactions with remote systems
WO2018036342A1 (en) Csar-based template design visualization method and device
US20130346992A1 (en) Computing system, method for controlling thereof, and computer-readable recording medium having computer program for controlling thereof
JP2013518321A (en) Pattern-based user interface
US7502967B1 (en) Identifying an object in a data file that causes an error in an application
JP4493269B2 (en) Program editing apparatus and program
JP4702835B2 (en) Web service customization system
US20200241850A1 (en) Code Management System and Code Management Method
CN115469849B (en) Service processing system, method, electronic equipment and storage medium
JP2010026695A (en) Business process execution method, business process execution device and business process execution program
JP4686117B2 (en) Source code conversion apparatus, source code conversion method, and program
JP3449256B2 (en) Method and apparatus for creating client / server application and information recording medium
CN111124386B (en) Animation event processing method, device, equipment and storage medium based on Unity
CN114911541A (en) Configuration information processing method and device, electronic equipment and storage medium
JP2005141641A (en) Information processing system, information processor for information registration, information processor for information retrieval, information processing method for information registration, information processing method for information retrieval, program, and recording medium
CN113568614A (en) Task issuing method, electronic device and storage medium
JP2012128581A (en) Communication code generation apparatus, function utilization computer, function disclosure computer, computer system, communication code generation method and program
JP2008135054A (en) Workflow managing method, and its execution system
JP6372350B2 (en) Definition file generation program, definition file generation method, and information processing apparatus
JP6221305B2 (en) Information processing device
JP7322964B2 (en) Test information extraction device, test information extraction method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121002