JP2009009207A - System design support method for soa architecture and system design support deice for soa architecture - Google Patents
System design support method for soa architecture and system design support deice for soa architecture Download PDFInfo
- Publication number
- JP2009009207A JP2009009207A JP2007167590A JP2007167590A JP2009009207A JP 2009009207 A JP2009009207 A JP 2009009207A JP 2007167590 A JP2007167590 A JP 2007167590A JP 2007167590 A JP2007167590 A JP 2007167590A JP 2009009207 A JP2009009207 A JP 2009009207A
- Authority
- JP
- Japan
- Prior art keywords
- service
- business process
- business
- design support
- system design
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、Webサービスの設計装置および方法に関するものであり、特に設計しようとしているビジネスプロセスのシステム構成要素の詳細度(以下「粒度」と呼ぶ)と、ビジネスプロセスの構成要素に割り当てるサービスの粒度とが異なる場合に、ビジネスプロセスの粒度のサービスを用意することで、ビジネスプロセスの設計者の設計作業を容易にするSOAアーキテクチャのシステム設計支援方法およびSOAアーキテクチャのシステム設計支援装置に関する。 The present invention relates to an apparatus and method for designing a Web service, and in particular, details of a system component of a business process to be designed (hereinafter referred to as “granularity”) and a granularity of a service assigned to the business process component. The system design support method of the SOA architecture and the system design support device of the SOA architecture that facilitate the design work of the business process designer by preparing a service of the granularity of the business process when
ビジネスプロセスの構成要素に対してサービスを割り当てる際には、そのサービスが提供する機能情報/非機能情報を考慮することになるが、本発明で使用しているサービスの機能情報とは、「プログラムの動きそのものに関する項目」を意味し、非機能情報とは、「プログラムの動きに関する性質を表す項目(応答時間等)」を意味する。 When a service is assigned to a component of a business process, functional information / non-functional information provided by the service is taken into consideration. The functional information of the service used in the present invention is “program”. "Non-functional information" means "items indicating properties related to program movement (response time, etc.)".
コンピュータシステムの設計においては、高度な技術を要するため、設計者の負担は大きい。そのため、その負担を軽減するために、容易に設計を行えるための設計ツールが要求されている。Webサービスを利用したSOAアーキテクチャのシステム構築についても、既に数社から設計支援ツールが販売されているが、実際の現場での設計に利用するに当たってはまだ解決すべき課題が少なくなく、そうした課題を克服した設計支援ツールの開発が待たれている状況にある。 In designing a computer system, a high level of technology is required, so the burden on the designer is great. Therefore, in order to reduce the burden, a design tool that can be easily designed is required. Regarding the construction of SOA architecture systems using Web services, design support tools have already been sold by several companies, but there are still a lot of issues to be solved when using them for actual on-site design. The development of overcoming design support tools is awaited.
例えば、設計は扱う対象の粒度/抽象度によっていくつかのレベルに分けることができる。ここではそれを単純化して、より粒度の粗い「業務レベルの設計」と、個々の計算機システムのアプリケーションインタフェースの関数の知識が必要になるような、より粒度の細かい「実装レベルの設計」の2つのレベルがあるものとして、図17を用いて課題を例示する。図17は現在のSOAシステム設計手段が抱えている課題を説明するための説明図である。 For example, the design can be divided into several levels depending on the granularity / abstraction level of the object to be handled. In this section, we will simplify this process by focusing on the more granular “business level design” and the more fine-grained “implementation level design” that requires knowledge of the functions of the application interface of each computer system. The problem is illustrated using FIG. 17 assuming that there are three levels. FIG. 17 is an explanatory diagram for explaining a problem that the current SOA system design means has.
業務レベルのビジネスプロセスの設計者は、実装レベルの関数呼び出しまで考慮したくなく、あくまでも業務レベルでの議論を行いたい。この対象領域が図17の301である。これに対して、世の中に多く存在するのは、既存の計算機システムをそのままSOAサービス化した実装レベルのサービスである(図17の302)。 Business-level business process designers do not want to consider implementation-level function calls, but want to have business-level discussions. This target area is 301 in FIG. On the other hand, what exists in the world is an implementation level service in which an existing computer system is directly converted into an SOA service (302 in FIG. 17).
このように、業務レベルの設計者が扱いたいレベルと、実際にサービスが用意されているレベルとの間に乖離が生じており、業務レベルのビジネスプロセスに実装レベルのサービスを割り当てることはできない。このような乖離を解決していくことが、SOAアーキテクチャに則ったシステムを構築していく上での重要な課題となっている。 Thus, there is a difference between the level that the business level designer wants to handle and the level at which the service is actually prepared, and the implementation level service cannot be assigned to the business level business process. Resolving such divergence is an important issue in constructing a system that conforms to the SOA architecture.
この課題を解決するために、従来、例えば、特開平11−316780号公報(特許文献1)に開示されているような、階層化されたビジネスプロセス(BP)定義において、サブBPを上位のメインBPから独立させることによって体系的で理解の容易なBP定義を行い、そのメンテナンス性を向上させる階層化されたビジネスプロセス定義を有するワークフローシステムがあった。
しかしながら、特許文献1が開示している方法を用いて、上述した「ビジネスプロセスとサービス間の粒度の乖離」を解決しようとすると、図18に示すような形になる。図18は現在のSOAシステム設計手段が抱えている課題を、特許文献1の手法を適用して解決を図る場合の概要を示す図である。
However, using the method disclosed in
すなわち、業務レベルのビジネスプロセスの構成要素(例:図18の401)を、実装レベルの粒度の細かいビジネスプロセス(例:図18の402)として展開し、その実装レベルのビジネスプロセスの構成要素に対して実装レベルのサービスを割り当てる(図18の403)ことにより、完結したSOAモデルを構築しようとする方法である。 That is, the business-level business process components (eg, 401 in FIG. 18) are expanded as implementation-level fine-grained business processes (eg, 402 in FIG. 18), and the implementation-level business process components are used. On the other hand, it is a method of trying to construct a complete SOA model by allocating service at the implementation level (403 in FIG. 18).
しかし、この解決方法には以下のような問題点があった。
・SOAモデルがビジネスプロセス+サービスの組合せとして完結するのはサービスが用意されている実装レベルのみであり、業務レベルで閉じた議論ができない。
・既存のBPEL(”Business Process Execution Language for Web Services” の略で、複数のWebサービスを組合せたビジネスプロセスを定義するためのXMLベースの言語仕様)+WSDL(”Web Services Description Language”の略で、Webサービスを記述するためのXMLをベースの言語仕様)対応ツールを使って取り扱えるレベルが実装レベルに限定されるため、業務レベルの設計者が動作環境やシミュレーションを行ったり、トライ&エラーで設計を進めたりするには、実装レベルの知識を持つことを強要される。
However, this solution has the following problems.
The SOA model is completed as a combination of a business process and a service only at the implementation level where the service is prepared, and a closed discussion cannot be made at the business level.
・ Existing BPEL ("Business Process Execution Language for Web Services", an XML-based language specification for defining business processes that combine multiple Web services) + WSDL ("Web Services Description Language," an abbreviation of "Language of Web Services Description") The level that can be handled using the XML-based tools for describing Web services) is limited to the implementation level, so business level designers can perform operating environments and simulations, and design with trial and error. To proceed, you are forced to have knowledge of the implementation level.
よって、特許文献1では、より粒度の粗いモデルを扱う業務レベルの設計者の要望を満たす形で課題を解決することができないという問題があった。
Therefore, in
そこで、本発明の目的は、SOAシステム設計時に、サービスが用意されていない粒度(システム構成要素の詳細度)においてもビジネスプロセス+サービスの形でSOAシステム設計が完結するように、細かい粒度におけるビジネスプロセスとサービスの組合せから、粒度の粗い仮想的なサービスである「マクロサービス」を生成することができるSOAアーキテクチャのシステム設計支援方法およびSOAアーキテクチャのシステム設計支援装置を提供することにある。 Accordingly, an object of the present invention is to provide a business with a fine granularity so that the SOA system design can be completed in the form of a business process + service even at a granularity (detail level of system components) where a service is not prepared at the time of designing the SOA system. An object of the present invention is to provide an SOA architecture system design support method and an SOA architecture system design support apparatus capable of generating a "macro service" that is a coarse-grained virtual service from a combination of processes and services.
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。 Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.
本発明によるSOAアーキテクチャのシステム設計支援方法は、ビジネスプロセスを構築し、その構成要素にサービスを割り当てるSOAアーキテクチャのシステム設計支援方法であって、情報処理装置上で処理手段を実行し、処理手段により、細かいシステム構成要素の詳細度におけるサービス割当済みのビジネスプロセスのサブセットから、システム構成要素の詳細度の粗い仮想的なサービスであるマクロサービスを生成するものである。 The SOA architecture system design support method according to the present invention is a SOA architecture system design support method for constructing a business process and allocating a service to its constituent elements. The processing means is executed on the information processing apparatus, and the processing means A macro service, which is a virtual service with a low level of detail of system components, is generated from a subset of business processes to which a service has been assigned in the level of detail of detailed system components.
また、本発明によるSOAアーキテクチャのシステム設計支援装置は、ビジネスプロセスを構築し、その構成要素にサービスを割り当てるSOAアーキテクチャのシステム設計支援装置であって、処理手段が格納される主記憶装置と、主記憶装置に格納された処理手段を実行する中央演算処理装置とを備え、中央演算処理装置は、処理手段を実行し、細かいシステム構成要素の詳細度におけるサービス割当済みのビジネスプロセスのサブセットから、システム構成要素の詳細度の粗い仮想的なサービスであるマクロサービスを生成するものである。 An SOA architecture system design support apparatus according to the present invention is an SOA architecture system design support apparatus that constructs a business process and allocates services to its components, and includes a main storage device that stores processing means, A central processing unit that executes processing means stored in the storage device, the central processing unit executing the processing means, and from the subset of business processes to which the service has been assigned in the detail level of fine system components, the system A macro service, which is a virtual service with a low level of detail of components, is generated.
本発明によれば、SOAシステム設計時に、サービスが用意されていない粒度(システム構成要素の詳細度)においてもビジネスプロセス+サービスの形でSOAシステム設計が完結するように、細かい粒度におけるビジネスプロセスとサービスの組合せから、粒度の粗い仮想的なサービスである「マクロサービス」を生成することができる。 According to the present invention, when the SOA system is designed, the business process at a fine granularity can be completed so that the SOA system design can be completed in the form of a business process + service even at a granularity where the service is not prepared (detail of system components). From the combination of services, it is possible to generate a “macro service” which is a coarse-grained virtual service.
まず、本発明の概要について説明する。 First, an outline of the present invention will be described.
本発明は、特定の粒度においてビジネスプロセスを構築する手段[手段1]と、特定の粒度において非機能情報を持つサービスに関する情報を蓄積する手段[手段2]と、特定の粒度においてサービスをビジネスプロセスの構成要素に割り当てる手段[手段3]と、サービスを割り当てた複数のビジネスプロセスの構成要素の間で、サービスとやりとりする変数間の変換を行う手段[手段4]と、より細かい粒度におけるサービス割当済みのビジネスプロセスのサブセットから、より粗い粒度の粗い仮想的なサービスである「マクロサービス」を生成する手段[手段5]とを具備する。 The present invention includes means [means 1] for constructing a business process at a specific granularity, means [means 2] for accumulating information on a service having non-functional information at a specific granularity, and business services at a specific granularity. Means [means 3] to be assigned to the constituent elements of the system, means [means 4] for converting between variables to be exchanged with the service among the constituent elements of the business processes to which the service has been assigned, and service assignment at a finer granularity Means [means 5] for generating a “macro service”, which is a coarser granular coarse-grained virtual service, from a subset of the existing business processes.
前記[手段5]は、「応答時間」等の非機能情報を持つサービスが割り当てられた構成要素(以下「アクティビティ」と呼ぶ)の集合であるビジネスプロセスのサブセットに対して、BPEL形式で表現されるビジネスプロセスのサブセットからWSDL形式で表現されるマクロサービスを生成するビジネスプロセス解析/マクロサービス生成手段[手段5−A]と、サブセットを構成する個々のアクティビティの非機能情報(例えば、個々のアクティビティに割り当てられたサービスの応答時間)からサブセット全体の非機能情報(例えば、サブセット全体としての応答時間)を算出するためのシミュレート手段[手段5−B]を具備する。 [Means 5] is expressed in BPEL format for a subset of business processes, which is a set of components (hereinafter referred to as “activity”) to which a service having non-functional information such as “response time” is assigned. Business process analysis / macro service generation means [means 5-A] for generating a macro service expressed in WSDL format from a subset of business processes, and non-functional information of individual activities constituting the subset (for example, individual activities Simulating means [means 5-B] for calculating non-functional information of the entire subset (for example, the response time of the entire subset) from the response time of the service assigned to.
これらの手段を具備することにより、上述したような「より詳細な粒度smallにおけるサービス群と、より粗い粒度largeのビジネスプロセスとの乖離の問題」を以下のようにして解決できる。 By providing these means, the above-mentioned “problem of divergence between a service group with a more detailed granularity small and a business process with a coarser granularity large” can be solved as follows.
[Step1]まず、粒度largeのビジネスプロセスを[手段1]により構成する。 [Step 1] First, a business process of granularity large is configured by [Means 1].
[Step2]前記Step1のビジネスプロセスを基に、実際にサービスが存在している粒度smallのビジネスプロセスを生成する。このとき、粒度largeの各アクティビティは、粒度smallのビジネスプロセスのサブセットと1:1で対応する。
[Step 2] Based on the business process of
[Step3][手段4]を用いて、[手段3]に蓄積されている粒度smallのサービスを上記Step2で生成した粒度smallのビジネスプロセスのアクティビティに割り当てる。このとき、サービスが保持していた非機能情報が、割当先のアクティビティに引き継がれる。
[Step 3] Using [Means 4], the service of the granularity small stored in [Means 3] is allocated to the activity of the business process of the granularity small generated in
[Step4]手段[5−A]を用いて、粒度smallのビジネスプロセスの各サブセットを表現するBPELから、粒度largeのマクロサービスのWSDLを生成する。さらに、手段[5−B]を用いてサブセットを構成する個々の非機能情報からサブセット全体の非機能情報をシミュレートにより算出し、これをマクロサービスの非機能情報とする(このとき、粒度smallのビジネスプロセスにおける各サブセットは、粒度largeにおける各マクロサービスと1:1で対応する)。そして、生成したマクロサービスを粒度largeのサービス情報蓄積手段[手段3]に登録する。
[Step5]上記Step4で生成し、粒度largeのサービス情報蓄積手段[手段3]に蓄積されたマクロサービスを、[手段1]によって粒度largeのビジネスプロセスの各アクティビティに割り当てる。
[Step 4] Using the means [5-A], the WSDL of the macro service of the granularity large is generated from the BPEL expressing each subset of the business processes of the granularity small. Further, the non-functional information of the entire subset is calculated by simulation from the individual non-functional information constituting the subset using the means [5-B], and this is used as the non-functional information of the macro service (at this time, the granularity small). Each subset of the business process corresponds 1: 1 with each macro service in the granularity large). Then, the generated macro service is registered in the service information storage means [means 3] of the granularity large.
[Step 5] The macro service generated in
これにより、より粗い粒度である粒度largeのサービスを用意することができるため、粒度largeにおいてビジネスプロセスとサービスが完備することになる。 As a result, a service with a larger granularity, which is a coarser granularity, can be prepared, so that business processes and services are completed in the granularity large.
ここで、なぜ「マクロサービス」を生成する際に、単に粒度smallのサービスをグルーピングするだけでは不十分で、粒度smallのビジネスプロセスからマクロサービスを生成する必要があるのかについて説明する。これは、以下の2つの理由による。 Here, it is not enough to simply group services with a granularity small when generating a “macro service”, and it is necessary to generate a macro service from a business process with a granularity small. This is due to the following two reasons.
[理由1]サービスの入出力を表す変数の名称は、一般にサービスによって異なりうる。それを、「サービスPの出力変数VpとサービスQの入力変数Vqは実は同じものだから、Vpの値をVqに代入する」というように変数間を関連付けるのは、BPEL+WSDLを用いるSOAの分野ではビジネスプロセスを表現するBPELにおいて行う。複数のサービスを連携させる際に変数間を関連付けるにはビジネスプロセスが必要であり、サービスを表現するWSDLをグループ化するだけではその関連付けを実現できない。 [Reason 1] In general, the name of a variable representing the input / output of a service may differ depending on the service. It is a business in the field of SOA using BPEL + WSDL, associating variables such as “the output variable Vp of service P and the input variable Vq of service Q are actually the same, and the value of Vp is substituted into Vq”. This is done in BPEL that represents the process. When associating a plurality of services, a business process is required to associate variables, and the association cannot be realized simply by grouping WSDLs representing services.
[理由2]粒度largeのマクロサービス全体としての非機能情報)(例えばマクロサービス自体の「応答時間」等)は、粒度smallのサービスがどのような順番で呼び出されるのか、またどのような条件分岐/並行処理が存在するのか等、粒度smallのビジネスプロセスの処理フローに依存する。そのため、粒度smallのサービス群のみからではマクロサービスの非機能情報は導き出せない。 [Reason 2] Non-functional information as a whole macro service of the granularity large) (for example, “response time” of the macro service itself), the order in which the services of the granularity small are called, and what conditional branching / Depends on the processing flow of a business process with a small granularity, such as whether parallel processing exists. Therefore, the non-functional information of the macro service cannot be derived only from the service group having the granularity small.
以上の理由により、マクロサービスを生成するには、単に粒度smallのサービスをグルーピングするだけでは不十分で、粒度smallのビジネスプロセスからマクロサービスを生成する必要がある。 For the above reasons, in order to generate a macro service, it is not sufficient to simply group services having a granularity small, and it is necessary to generate a macro service from a business process having a granularity small.
次に、図1により、本発明の一実施の形態に係るSOAアーキテクチャのシステム設計支援装置の構成について説明する。図1は本発明の一実施の形態に係るSOAアーキテクチャのシステム設計支援装置の構成を示す構成図である。 Next, referring to FIG. 1, the configuration of a system design support apparatus of the SOA architecture according to an embodiment of the present invention will be described. FIG. 1 is a block diagram showing a configuration of a system design support apparatus for an SOA architecture according to an embodiment of the present invention.
図1において、情報処理装置などにより構成されるSOAアーキテクチャのシステム設計支援装置100は、中央演算処理装置(CPU)101、キーボード102、ディスプレイ103、ポインティングデバイス104、主記憶装置(メモリ)105、磁気ディスク装置106、およびこれらを結ぶバス107から構成される。
In FIG. 1, an SOA architecture system
磁気ディスク装置106は2次記憶装置の1つであり、ビジネスプロセス設計情報リポジトリ120やサービス情報リポジトリ121が格納される。磁気ディスク装置106は、通信回線(図1には示していない)等で接続された他の装置と接続するような構成をとってもかまわない。
The
主記憶装置105には、制御プログラム110、ビジネスプロセス構築プログラム111、データ関連付けプログラム112、ビジネスプロセス解析/マクロサービス生成手段であるビジネスプロセス解析/マクロサービス生成プログラム113およびシミュレート手段であるシミュレートプログラム114が格納され、これらの各プログラムにより、処理手段を構成している。以上の各プログラムは磁気ディスク装置106や、フロッピー(登録商標)ディスク等のコンピュータで読み書きできる記憶媒体に格納することもできる。
The main storage device 105 includes a control program 110, a business
制御プログラム110は、キーボード102やポインティングデバイス104からのユーザ指示や、他のプログラムからの関数呼び出し等を受け起動し、ビジネスプロセス構築プログラム111、データ関連付けプログラム112、ビジネスプロセス解析/マクロサービス生成プログラム113およびシミュレートプログラム114の制御を行う。
The control program 110 is activated in response to a user instruction from the
次に、図2により、本発明の一実施の形態に係るSOAアーキテクチャのシステム設計支援装置内の各プログラムの機能概要および磁気ディスク装置内に格納される各情報との関連について説明する。図2は本発明の一実施の形態に係るSOAアーキテクチャのシステム設計支援装置内の各プログラムの機能概要および磁気ディスク装置内に格納される各情報との関連を説明するための説明図である。 Next, referring to FIG. 2, an overview of the functions of each program in the system design support apparatus of the SOA architecture according to one embodiment of the present invention and the relationship with each information stored in the magnetic disk apparatus will be described. FIG. 2 is an explanatory diagram for explaining the function outline of each program in the system design support apparatus of the SOA architecture according to one embodiment of the present invention and the relation with each information stored in the magnetic disk apparatus.
図2において、ユーザは、ビジネスプロセス構築プログラム111を用いて、所望の粒度のビジネスプロセス(ビジネスフロー)を構築する。サービス情報リポジトリ121内にその粒度のサービス情報が存在する場合には、そのサービス情報をビジネスプロセス内のアクティビティに割り当てることもできる。ここで設計したビジネスプロセスは、ビジネスプロセス設計情報リポジトリ120に格納することができる。
In FIG. 2, the user uses a business
データ関連付けプログラム112は、ビジネスプロセス構築プログラム111の動作中に呼び出されるプログラムであり、ビジネスプロセスのアクティビティに割り当てられたサービスを呼び出す際に利用する変数(名称は一般にサービスによって異なりうる)間の関連付けを行うためのプログラムである。このプログラムが生成した関連付けのための情報は、データ関連付け専用のアクティビティとしてビジネスプロセス内に記述される。
The
ビジネスプロセス解析/マクロサービス生成プログラム113は、サービスを割り当てたある粒度のビジネスプロセスのサブセットから、より粗い粒度のサービスであるマクロサービスを生成するためのプログラムである。このプログラムを有することが、従来技術に見られない本実施の形態の特徴となる。
The business process analysis / macro
シミュレートプログラム114は、ビジネスプロセス解析/マクロサービス生成プログラムから呼び出されるプログラムであり、ビジネスプロセスのサブセットに対して、そのサブセットを構成するアクティビティに割り当てられたサービスの非機能情報(応答時間など)を基に、サブセット全体としての非機能情報、すなわちマクロサービスの非機能情報を算出するものである。
The
次に、図3により、本発明の一実施の形態に係るSOAアーキテクチャのシステム設計支援装置を使用して、SOAアーキテクチャのシステムを設計する場合の手順の概要について説明する。図3は本発明の一実施の形態に係るSOAアーキテクチャのシステム設計支援装置を使用して、SOAアーキテクチャのシステムを設計する場合の手順を示すフローチャートである。以下、本実施の形態ではより粗い粒度を「業務レベルの粒度」で代表させ、より細かい粒度を「実装レベルの粒度」で代表させる。そして、業務レベルではサービスが用意されておらず、実装レベルでのみサービスが用意されているものとする。 Next, referring to FIG. 3, an outline of a procedure for designing a SOA architecture system using the SOA architecture system design support apparatus according to an embodiment of the present invention will be described. FIG. 3 is a flowchart showing a procedure for designing a SOA architecture system using the SOA architecture system design support apparatus according to the embodiment of the present invention. Hereinafter, in this embodiment, a coarser granularity is represented by “business level granularity”, and a finer granularity is represented by “mounting level granularity”. It is assumed that a service is not prepared at the business level, but a service is prepared only at the implementation level.
まず、ステップS000で、業務レベルの設計者が本設計装置を起動する。次に、ステップS001で、業務レベルの設計者がビジネスプロセス構築プログラム111を用いて業務レベルのビジネスプロセスを構築する。この段階では、業務レベルのサービスが存在しないので、業務レベルの設計者はビジネスプロセスのアクティビティにサービスを割り当てることができない。
First, in step S000, a business-level designer activates the design apparatus. Next, in step S001, a business-level designer uses the business
次に、ステップS002で、実装レベルの設計者が、ステップ001の業務レベルのビジネスプロセスを基に、ビジネスプロセス構築プログラム111を用いて実装レベルのビジネスプロセスを構築する。実装レベルではサービスが存在するので、実装レベルの設計者は作成したビジネスプロセスのアクティビティにサービスを割り当てる。
Next, in step S002, the implementation level designer constructs the implementation level business process using the business
また、割り当てたサービス間で変数名が異なる場合には、データ関連付けプログラム112を利用して変数間の関連付けを行い、関連付けを行うアクティビティをビジネスプロセスに埋め込む。
Further, when the variable names are different between the assigned services, the
次に、ステップS003で、実装レベルの設計者がビジネスプロセス解析/マクロサービス生成プログラム113を用いて、指定したビジネスプロセスのサブセットから、マクロサービスを生成する。このとき、シミュレートプログラム114を利用して、そのマクロサービスの非機能情報を算出する。
Next, in step S003, the designer at the implementation level uses the business process analysis / macro
そして、生成したマクロサービスをサービス情報リポジトリ121に格納する。これにより、業務レベルのサービスが用意されたことになるので、次のステップS004において業務レベルの設計者がビジネスプロセス構築プログラム111を用いてビジネスプロセスにマクロサービスを割り当てることができる。すなわち、サービスを割り当て済みの完結したSOAシステムを設計できる。
Then, the generated macro service is stored in the
また、マクロサービスには非機能情報が付与されているため、シミュレートプログラム114を業務レベルのビジネスプロセスに適用して、業務レベルでのシミュレーションを実行することも可能になる。
Further, since non-functional information is assigned to the macro service, it is possible to apply the
次に、図4〜図15により、本発明の一実施の形態に係るSOAアーキテクチャのシステム設計支援装置を使用して、SOAアーキテクチャのシステムを設計する場合の手順の各ステップの詳細について説明する。図4〜図15は本発明の一実施の形態に係るSOAアーキテクチャのシステム設計支援装置を使用して、SOAアーキテクチャのシステムを設計する場合の手順の各ステップの詳細を説明するための説明図であり、図4は図2のビジネスプロセス構築プログラムが使用するビジネスプロセス構築画面(粒度が業務レベル)の表示例、図5は図2のビジネスプロセス構築プログラムが使用するビジネスプロセス構築画面(粒度が実装レベル)の表示例、図6は図2のデータ関連付けプログラムが使用するデータ関連付け画面と、その画面によって生成されるデータ関連情報の大まかな構造の例を示す図、図7は実装レベルのサービスの一例として扱う住所録サービスのWSDL表記を示す図、図8は実装レベルのサービスの一例として扱う郵便番号簿サービスのWSDL表記を示す図、図9は実装レベルのビジネスプロセスの一例として扱う統合サービスのBPEL表記を示す図、図10は住所録サービスと郵便番号簿サービスの間で変数の関連付けを行う例を示す図、図11は図2のビジネスプロセス解析/マクロサービス生成プログラムの処理手順の詳細を示す図、図12は図2のビジネスプロセス解析/マクロサービス生成プログラムが使用するマクロサービスからの出力変数選択画面の表示例、図13は図2のビジネスプロセス解析/マクロサービス生成プログラムが生成するマクロサービスのWSDLを示す図、図14は図2のビジネスプロセス解析/マクロサービス生成プログラムが使用するマクロサービスへの機能概要付与画面の表示例、図15は図2のビジネスプロセス構築プログラムが使用するビジネスプロセス構築画面(粒度が業務レベルで、マクロサービス生成後)の表示例である。 Next, with reference to FIG. 4 to FIG. 15, details of each step of a procedure in designing a SOA architecture system using the SOA architecture system design support apparatus according to an embodiment of the present invention will be described. 4 to 15 are explanatory diagrams for explaining the details of each step of the procedure when designing the SOA architecture system using the SOA architecture system design support apparatus according to the embodiment of the present invention. 4 shows a display example of a business process construction screen (granularity is business level) used by the business process construction program of FIG. 2, and FIG. 5 shows a business process construction screen (granularity is implemented) used by the business process construction program of FIG. 6 is a diagram showing an example of a data association screen used by the data association program of FIG. 2 and a rough structure of data-related information generated by the screen, and FIG. Figure showing WSDL notation of address book service handled as an example, Figure 8 is a postal mail handled as an example of an implementation level service FIG. 9 is a diagram showing the WSDL notation of the number book service, FIG. 9 is a diagram showing the BPEL notation of the integrated service treated as an example of the implementation-level business process, and FIG. 10 is associating variables between the address book service and the zip code book service. FIG. 11 is a diagram showing details of the processing procedure of the business process analysis / macro service generation program of FIG. 2, and FIG. 12 is an output from the macro service used by the business process analysis / macro service generation program of FIG. FIG. 13 shows a macro service WSDL generated by the business process analysis / macro service generation program of FIG. 2, and FIG. 14 shows a macro used by the business process analysis / macro service generation program of FIG. Example of display of function summary screen for service, Fig. 15 shows business pro (In granularity operational level, the macro after service generation) business process building screen to build the program uses a display example of.
図4において、ビジネスプロセス構築画面400は、粒度表示部4001、ビジネスプロセスをグラフィカルに設計するための部品を集めたツール部4002、部品を配置してビジネスプロセスを組み立てる場となる設計フィールド4003、設計したビジネスプロセスをビジネスプロセス設計情報リポジトリ(図2の120)に登録するための登録ボタン4004、ビジネスプロセスのサブセットからマクロサービスを生成するためのマクロサービス生成ボタン4005、サービス情報リポジトリ(図2の121)に登録されているサービス情報の中でこの粒度のに属するサービス一覧を表示するサービス情報表示部4006、設計フィールド4003で選択したアクティビティに、サービス情報表示部4006で選択したサービスを割り当てるためのサービス割当ボタン4007から構成される。
In FIG. 4, a business
ツール部4002は、例えば、図4に示すように遷移アイコン40021、サービス呼び出しアイコン40022、判断アイコン40023、合流アイコン40024、分岐アイコン40025、データ変換アイコン40026、サブセット指定アイコン40027などから構成される。
The
この図4では、サービス表示部4006にデータの見出しだけ表示され、具体的なサービスが何も表示されていないが、これは粒度表示部4001が示す「業務レベル」の粒度のサービスがサービス情報リポジトリ(図の121)に登録されていないためである。
In FIG. 4, only the data heading is displayed on the
図3のステップS001において、図4に示したような画面を利用して業務レベルの設計者が業務レベルのビジネスプロセスを構築すると、次に、図3のステップS002において実装レベルの設計者が、業務レベルのビジネスプロセスから実装レベルのプロセスを作成する。ある粒度のビジネスプロセスについて、その粒度を細かくしたビジネスプロセスを作成する手段については公知例(例えば、上記特許文献1等)に記載されているのでここでは省略する。
In step S001 of FIG. 3, when the business level designer uses the screen as shown in FIG. 4 to construct the business level business process, the implementation level designer in step S002 of FIG. Create implementation level process from business level business process. About the business process of a certain granularity, since the means for creating a business process with a finer granularity is described in a publicly known example (for example,
例えば、実装レベル粒度のビジネスプロセスを表す図5においては、図4のサービス呼び出し40031がサービス呼び出し群5002に、図4のサービス呼び出し40032がサービス呼び出し群5003に、図4のサービス呼び出し40033がサービス呼び出し群5004にそれぞれ詳細化される。
For example, in FIG. 5 showing a business process at an implementation level granularity, the
この三つのサービス呼び出し群の中で、5002のみがサブセット指定アイコン40027をクリックすることで指定可能になるサブセット指定が施されており、他の2つのサービス呼び出し群については説明の便宜上点線の四角で囲っている。この実装レベルでは、業務レベルと違ってサービスがサービス情報リポジトリ121用意されており、これをビジネスプロセス構築プログラム111が読み出して図5に示すようにサービス情報表示部4006に列挙する。
Of these three service call groups, only 5002 is subjected to subset designation which can be designated by clicking the
ここでは、サービス情報としてはID40060、URL40061、機能概要40067の他に、非機能情報として最小処理時間40062、最大処理時間40063、平均処理時間40064、待ち可能時間40065、平均処理件数40046などを保持する。実装レベルの設計者は、まず設計フィールド4003上でサービス呼び出しを1つ選択し、次にサービス情報表示部4006から適切なサービスを1つ選択し、割当ボタン4007を押すことによって、4003上で選択したサービス呼び出しに4006上で選択したサービスを割り当てる。
Here, in addition to
この操作を各サービス呼び出しについて行うことにより、実装レベルにおいて完結した、すなわちサービス割当済みのSOAビジネスプロセスを作成することができる。 By performing this operation for each service call, it is possible to create a SOA business process that is completed at the implementation level, that is, to which a service has been allocated.
この図3のステップS002では、必要に応じてデータの関連付けを行う。データの関連付けとは、同一の概念を指しながらもサービスによって呼び方が異なる変数の間の関連付けを行うことを意味する。例えば、図5のサービス呼び出し群5002の中のサービス呼び出し”Web11”50021にサービスAというIDのサービスが、サービス呼び出し”Web12”50023にサービスBというIDのサービスが割り当てられているとする。
In step S002 of FIG. 3, data association is performed as necessary. Data association means associating variables that are called differently depending on services while pointing to the same concept. For example, it is assumed that the service ID “Service A” is assigned to the service call “Web11” 50021 in the
そして、サービスAでは商品の名称を「商品名」、商品の価格を「価格」という変数名で扱い、サービスBでは商品の名称を「name」、商品の価格を「price」という変数名で扱うものとする。このとき、サービスAとサービスBをビジネスプロセスで連携させるためには、変数間の関連付けを行う必要がある。 In service A, the name of the product is handled by a variable name “product name” and the price of the product is handled by a variable name “price”. In service B, the name of the product is handled by a variable name “name” and the price of the product is handled by a variable name “price”. Shall. At this time, in order to link Service A and Service B in a business process, it is necessary to associate variables.
このために、実装レベルの設計者はデータ変換アクティビティ50023を配置し、このアクティビティアイコンをダブルクリックする。この操作によりデータ関連付けプログラム(図2の112)が起動して、図6の(a)に示すようなデータ関連付け画面を設計者に提示する。この画面は、サービスを表すノード(6001など)やそのサービスで扱う変数を表すノード(6002など)、および決定ボタン6004から構成される。設計者は、関連付けたい変数のノード間を関連線(6003など)で結ぶことによって、変数間の関連付けを定義する(図6の(b))。
For this purpose, the designer at the implementation level places a
そして、設計者が決定ボタン6004を押すことにより、データ関連付けプログラム112は設計者が付与した関連線から図6の(c)に示すようなデータ関連情報を生成する。このデータ関連情報は、データ変換アクティビティ50022の内部データとしてビジネスプロセス内で保持する(具体的な保持形式については後述する)。
Then, when the designer presses the
このデータ関連付けの方式は実用化された公知技術(例えば、IBM社の製品“WebSphere”における実現例→ http://www−06.ibm.com/jp/domino01/mkt/websphere.nsf/499721c3388537bd49256b1a001aab28/49256dcd00196530492570a000201ff4/$FILE/WPSV6_08_WSBPEL20.pdfのP.13 等)であるので、ここでは詳細な手法の説明を省く。 This data association method is a publicly known technology (for example, an implementation in the product “WebSphere” manufactured by IBM Corporation) → http://www-06.ibm.com/jp/domino01/mkt/websphere.nsf/499721c3388537bd49256b1001aab 49256dcd001965530492570a000201ff4 / $ FILE / WPSV6_08_WSBPEL20.pdf, etc. P.13), and therefore detailed description of the method is omitted here.
次に、図3のステップS003においてビジネスプロセス解析/マクロサービス生成プログラム113が実装レベルのビジネスプロセスのサブセットからマクロサービスを生成する手順について説明する。
Next, a procedure for the business process analysis / macro
このプログラムは、設計者が図5の5002のように特定のアクティビティ群をサブセット指定し、マクロサービス生成ボタン4005を押すことによって起動する。図7および図8はこれからの説明で用いる住所録サービスと郵便番号サービスのWSDLファイル(サービスのインタフェースを記述するWSDL形式のファイル)の例である。また、図9は住所録サービスと郵便番号サービスを呼び出すビジネスプロセスのBPELファイル(ビジネスプロセスを記述するためのBPEL型式のファイル)の例である。
This program is activated when a designer designates a specific activity group as a subset as indicated by 5002 in FIG. 5 and presses a macro
WSDLについては“http://www.w3.org/TR/wsdl”を、BPELについては“http://www.oasis−open.org/apps/org/workgroup/wsbpel/documents.php”(無料の登録が必要)の規格文書群を参照のこと。 “Http://www.w3.org/TR/wsdl” for WSDL, “http://www.oasis-open.org/apps/org/workgroup/wsbpel/documents.php” (free) for BPEL Refer to the standard document group.
図7は、「住所録サービス」に関わる(2行目参照)WSDLの例である。13〜18行目は、このサービスが「住所録portType」というportType(Java(登録商標)の「インタフェース」に似た概念)を持ち、そのportTypeに「現住所取得」というoperation(関数)が存在し、そのoperationは「氏名」という入力message(変数群)と「現住所」という出力message(変数群)を持つことを表している。 FIG. 7 is an example of WSDL related to the “address book service” (see the second line). In lines 13-18, this service has a portType called “Address Book portType” (a concept similar to the “interface” of Java (registered trademark)), and an operation (function) called “Obtain Current Address” exists in the portType. The operation indicates that it has an input message (variable group) “name” and an output message (variable group) “current address”.
また、7〜9行目はmessage(変数群)「氏名」が文字列型のpart(変数)「氏名」から構成されることを示し、10〜12行目はmessage(変数群)「現住所」が文字列型のpart(変数)「現住所」から構成されることを示している。 The 7th to 9th lines indicate that the message (variable group) “name” is composed of a character string type part (variable) “name”, and the 10th to 12th lines are the message (variable group) “current address”. Is composed of a character string type part (variable) “current address”.
図8は、「郵便番号簿サービス」に関わる(2行目参照)WSDLの例である。13〜18行目は、このサービスが「郵便番号検索portType」というportType(Java(登録商標)の「インタフェース」に似た概念)を持ち、そのportTypeに「郵便番号取得」というoperation(関数)が存在し、そのoperationは「住所」という入力message(変数群)と「郵便番号」という出力message(変数群)を持つことを表している。
FIG. 8 is an example of WSDL related to the “postal code book service” (see the second line).
また、7〜9行目はmessage(変数群)「住所」が文字列型のpart(変数)「住所」から構成されることを示し、10〜12行目はmessage(変数群)「郵便番号」が文字列型のpart(変数)「番号」から構成されることを示している。 The 7th to 9th lines indicate that the message (variable group) “address” is composed of the character string type part (variable) “address”, and the 10th to 12th lines are the message (variable group) “zip code”. "Is composed of a character string type part (variable)" number ".
図9は、「統合サービス」と称するビジネスプロセスの一部であり、主に図7と図8に示した2つのサービスを利用して、ある人物の氏名から郵便番号を得るためのサブセットを中心に抜粋している。 FIG. 9 is a part of a business process called “integrated service”, mainly using a subset for obtaining a zip code from a person's name by using the two services shown in FIG. 7 and FIG. It is excerpted.
3、4行目は、addressという名前空間接頭辞が住所録サービスに、postalという名前空間接頭辞が郵便番号サービスにそれぞれ対応していることを表している。そして9〜12行目は、「住所録住所」「住所録氏名」「郵便番号簿住所」「郵便番号」というvariable(BPELにおける変数群)が、それぞれ住所録サービスの「現住所」、住所録サービスの「氏名」、郵便番号簿サービスの「住所」、郵便番号簿サービスの「郵便番号」というmessage(WSDLにおける変数群)に対応していることを表している。 The third and fourth lines indicate that the name space prefix “address” corresponds to the address book service, and the name space prefix “postal” corresponds to the postal code service. The 9th to 12th lines are “address book address”, “address book name”, “postal code book address”, “postal code” variable (variable group in BPEL), “current address” of address book service, address book service, respectively. "Name", postal code book service "address", and postal code book service "zip code" message (a variable group in WSDL).
15行目40行目までの<sequence>要素がこの「統合サービス」全体の処理を表し、その中のサブセットとして19〜23行目のinvoke(サービス呼出)、25〜30行目のassign(変数間の対応付け)、32〜36行目のinvoke(サービス呼出)が存在する。19〜23行目のinvokeは、住所録サービスに属する住所録portTypeの現住所取得operation(関数)を呼び出し、入力変数群としてvariable住所録氏名を与え、出力変数群としてvariable住所録住所を受け取ることアクティビティである。 The <sequence> element from the 15th line to the 40th line represents the processing of the entire “integrated service”, and as a subset of the process, invoke (service call) on the 19th to 23rd lines, assign (variable) on the 25th to 30th lines , There is an invoke (service call) on the 32nd to 36th lines. Invoke on lines 19-23 calls current address acquisition operation (function) of address book portType belonging to address book service, gives variable address book name as input variable group, and receives variable address book address as output variable activity It is.
また、32〜36行目のinvokeは、郵便番号簿サービスに属する郵便番号検索portTypeの郵便番号取得operation(関数)を呼び出し、入力変数群としてvariable郵便番号簿住所を与え、出力変数群としてvariable郵便番号を受け取るアクティビティである。
Invoke on
そして、25〜30行目のassignは、上記の2つのinvokeの間の変数間の関係を規定するアクティブティであり、variable住所録住所の変数「現住所」の値をvariable郵便番号簿住所の変数「住所」にコピーしている。 The assignments in the 25th to 30th lines are activities that define the relationship between the variables between the above two invokes, and the variable “address” variable of the variable address book address is set to the variable of the variable postal code book address. Copying to "Address".
これは、すなわち図6の(c)の表記法を用いると図10の表に示すような関係が存在し、住所録サービスの変数「現住所」が郵便番号簿サービスの変数「住所」に関係していることを示す。このような関係を、BPELでは25〜30行目に例示したようなassignアクティビティを用いて表現する。 That is, when the notation of FIG. 6C is used, the relationship shown in the table of FIG. 10 exists, and the variable “current address” of the address book service is related to the variable “address” of the postal code book service. Indicates that Such a relationship is expressed by using an assign activity as exemplified in the 25th to 30th lines in BPEL.
以上が図3のステップS003で扱うWSDLとBPELの例であるが、次に、ステップS003においてBPELのサブセットを解析してマクロサービスのWSDLを生成する手順について説明する。 The above is an example of WSDL and BPEL handled in step S003 in FIG. 3. Next, a procedure for generating a macro service WSDL by analyzing a subset of BPEL in step S003 will be described.
図11に示すように、ステップS1401は、BPELのサブセットの全てのサービス呼出における入力変数を抽出するステップである。例えば、図9のBPELのサブセットの例では、19〜23行目のサービス呼出(invoke)におけるvariable住所録氏名の「氏名」と、32〜36行目のサービス呼出(invoke)におけるvariable郵便番号簿住所の「住所」がある。 As shown in FIG. 11, step S1401 is a step of extracting input variables in all service calls of the BPEL subset. For example, in the example of the subset of BPEL in FIG. 9, the “name” of the variable address book name in the service call (invoke) on the 19th to 23rd lines and the variable zip code list in the service call (invoke) on the 32nd to 36th lines. There is an “address” for the address.
次の、ステップS1402は、ステップS1401で抽出した入力変数から、その変数自体あるいはその変数と関連付けられた変数が他のサービス呼出の出力変数に含まれるものを除き、「マクロサービスへの入力変数」とするステップである。 In the next step S1402, except for the input variable extracted in step S1401, the variable itself or a variable associated with the variable is included in the output variable of another service call, the “input variable to the macro service” It is a step.
図9の例では、入力変数の1つであったvarialbe郵便番号簿住所の「住所」は、25〜30行目の<assign>要素によってvariable住所録住所の「現住所」と関連付けられており、かつそのvariable住所録住所は19〜23行目のサービス呼出における出力変数(outputVariable)に含まれている。 In the example of FIG. 9, the “address” of the variablebe postal code book address that was one of the input variables is associated with the “current address” of the variable address book address by the <assign> element on the 25th to 30th lines. The variable address book address is included in an output variable (outputVariable) in the service call on the 19th to 23rd lines.
そのため、ステップS1401で抽出した2つの入力変数からvariable郵便番号簿住所の「住所」を除き、variable住所録氏名の「氏名」のみを「マクロサービスへの入力変数」とする。 Therefore, the “address” of the variable zip code book address is excluded from the two input variables extracted in step S1401, and only the “name” of the variable address book name is set as the “input variable to the macro service”.
次に、ステップS1403は、本システムがBPELのサブセットの出力変数を設計者に提示し、その中から設計者が「マクロサービスからの出力変数」を選択するステップである。このステップにおいては、このサービスで必要になる出力変数をシステムが自動的に判定することはできないために、設計者による選択処理が必要になる。 Next, in step S1403, the present system presents output variables of a subset of BPEL to the designer, and the designer selects “output variables from the macro service” from among them. In this step, since the system cannot automatically determine the output variables required for this service, a selection process by the designer is necessary.
ここで、ビジネスプロセス解析/マクロサービス生成プログラム113がユーザに提示する「マクロサービスからの出力変数選択画面」の例を、図12の1501に示す。1502は出力変数の表示部であり、設計者はここに表示された出力変数の中から「マクロサービスからの出力変数」とする変数をハイライトさせて選択し、最後に1503の決定ボタンを押すことによって決定する。
Here, an example of an “output variable selection screen from the macro service” presented to the user by the business process analysis / macro
図12の例では郵便番号簿サービスの「番号」、すなわちvariable郵便番号の「番号」が「マクロサービスからの出力変数」として選択されている。 In the example of FIG. 12, the “number” of the postal code book service, that is, the “number” of the variable postal code is selected as the “output variable from the macro service”.
次に、ステップS1404において、ビジネスプロセス解析/マクロサービス生成プログラム113が「マクロサービスへの入力変数」からマクロサービスの入力用message要素を生成し、また「マクロサービスからの出力変数」からマクロサービスの出力用message要素を生成する。図13にビジネスプロセス解析/マクロサービス生成プログラム113が生成するマクロサービスのWSDLの例を示す。
Next, in step S1404, the business process analysis / macro
ステップS1404では、ステップS1402で得たマクロサービスへの入力変数「氏名」(7行目)を包含する入力用message要素「住所録氏名」(6〜8行目)と、ステップS1403で得た出力変数「番号」(10行目)を包含する出力用message要素「郵便番号」(9〜11行目)を生成する。 In step S1404, the input message element “address book name” (6th to 8th lines) including the input variable “name” (7th line) to the macro service obtained in step S1402, and the output obtained in step S1403. An output message element “zip code” (9th to 11th lines) including the variable “number” (10th line) is generated.
これらのmessageの名称(name属性)は、変数を含んでいたvariableの名称から取得する。次に、ステップS1405において、ビジネスプロセス解析/マクロサービス生成プログラム113が上記入力用messageをinput要素とし、上記出力用messageをoutput要素とするようなoperation要素を生成する。
The names of these messages (name attribute) are acquired from the names of variables that included variables. In step S1405, the business process analysis / macro
図13の例では、入力用message「住所録氏名」をinput要素(14行目)とし、出力用message「郵便番号」をoutput要素(15行目)とするようなoperation(13〜16行目)を生成するステップになる。
In the example of FIG. 13, an operation (
次に、ステップS1406において、ビジネスプロセス解析/マクロサービス生成プログラム113が上記operationを唯一の子要素とするportTypeを生成する。図13の例では、ステップS1405で生成したoperation(13〜16行目)を唯一の子要素とするようなportType(12〜17行目)を生成するステップになる。
In step S1406, the business process analysis / macro
最後に、ステップS1407において、ビジネスプロセス解析/マクロサービス生成プログラム113がステップS1404〜ステップS1406で生成した全ての要素を包含するdefinitions要素を生成する。図13の例では、ステップS1404〜ステップS1406で生成した全ての要素(6〜17行目)を包含するdefinitions要素(2〜18行目)を生成するステップになる。
Finally, in step S1407, the business process analysis / macro
以上、ステップS1401〜ステップS1407に示した手順によって、ビジネスプロセス解析/マクロサービス生成プログラム113がBPEL型式のビジネスプロセスのサブセットから、図13に例示するようなWSDL形式のマクロサービスのインタフェースを生成することができる。
As described above, the business process analysis / macro
次に、ステップS1408において、設計者がマクロサービスに機能概要を付与する。ビジネスプロセス解析/マクロサービス生成プログラム113が表示する機能概要付与画面の例を図14の1701に示す。1702は設計者が機能概要を表す文字列を入力する機能概要入力部であり、1703は設計者がマクロサービスの粒度を入力するサービス粒度入力部である。
Next, in step S1408, the designer gives a functional overview to the macro service. An example of a function outline addition screen displayed by the business process analysis / macro
これらを入力し、続けて決定ボタン1704を押すことにより、機能概要と粒度としてマクロサービスに付与される。
By inputting these items and subsequently pressing the
最後に、ステップS1409で、ビジネスプロセス解析/マクロサービス生成プログラム113がシミュレートプログラム114を呼び出して詳細レベルのサービスの非機能情報に基づいたシミュレーションを実行することにより、マクロサービスの非機能情報を設定する。非機能情報およびそれに基づくシミュレーションについては既存の技術であり、非機能情報管理については特願2006−201907号(この特許では、非機能情報は「非機能要件」と表記されている)で実現されており、またシミュレーションについてはIBM社の製品WebShphere(http://www−06.ibm.com/jp/software/websphere/)等で実現されているため、ここでは詳細な説明を省略する。
Finally, in step S1409, the business process analysis / macro
以上のステップS1401〜ステップS1409によって業務レベルのマクロサービスが生成され、図3のステップS003が完結する。 A business-level macro service is generated through steps S1401 to S1409, and step S003 in FIG. 3 is completed.
次に、図3のステップS004において、業務レベルの設計者が業務レベルのビジネスプロセスにマクロサービスを割り当てる。これは、ビジネスプロセス構築プログラム111が表示する業務レベルでのビジネスプロセス構築画面を用いて行う。
Next, in step S004 of FIG. 3, a business-level designer assigns a macro service to a business-level business process. This is performed using a business process construction screen at the business level displayed by the business
図15にそのビジネスプロセス構築画面の例を示す。図3のステップS001に相当する図4の段階では、業務レベルでのサービスが用意されていなかったためにサービス情報表示部4006は空欄になっていたが、図3のステップS004に相当する図15サービス情報表示部4006には、図3のステップ003で生成したマクロサービスが業務レベルのサービスとして列挙されている。
FIG. 15 shows an example of the business process construction screen. In the stage of FIG. 4 corresponding to step S001 of FIG. 3, the service
業務レベルの設計者は、設計フィールド4003上で選択したアクティビティ(ex.40031)に対して割り当てるサービスをサービス情報表示部4006の中から選び、割当ボタン4007を押すことにより、該当アクティビティにサービスを割り当てる。
The business-level designer selects a service to be assigned to the activity (ex. 40031) selected on the
以上により、図3に示した設計手順が完結する。業務レベルの設計者は、この設計データを利用してトライ&エラーでSOAシステムの設計を進めたり、各アクティビティに割り当てられたサービスの非機能情報を利用して、シミュレートプログラム114を用いたシミュレーションを行ったりすることが可能になる。
Thus, the design procedure shown in FIG. 3 is completed. The business-level designer proceeds with the design of the SOA system by trial and error using this design data, or uses the non-functional information of the service assigned to each activity to perform simulation using the
このように、本実施の形態では、例えば、次のようなシナリオで効果を発揮する(図16参照)。図16は現在のSOAシステム設計手段が抱えている課題を、本発明の手法を用いて解決を図る場合の概要を示す図である。 Thus, in this embodiment, for example, the effect is exhibited in the following scenario (see FIG. 16). FIG. 16 is a diagram showing an outline in the case where the problem of the current SOA system design means is solved using the technique of the present invention.
登場人物は、業務レベル(より粒度が粗いレベル)の設計担当者と実装レベル(より粒度が細かいレベル)の設計担当者の2名である。業務レベルの担当者は業務レベルでSOAシステムの設計を完結させたいと考えているが、サービスは実装レベルでしか用意されていない。 There are two characters, a designer in charge at a business level (a level of coarser granularity) and a designer in charge of an implementation level (a level of finer granularity). Business level personnel want to complete the design of the SOA system at the business level, but services are available only at the implementation level.
[シナリオStep1] 業務レベルの設計者は、自分の考える業務の内容を実装レベルの設計者に伝える。 [Scenario Step 1] The business level designer informs the implementation level designer of the content of the business he / she thinks.
[シナリオStep2] 実装レベルの設計者は、ヒアリングした業務を実現するような実装レベルのビジネスプロセスを、業務レベルの1アクティビティが実装レベルの1サブセットに対応する形で構築する(図16の501)。 [Scenario Step 2] The designer at the implementation level constructs an implementation-level business process that realizes the interviewed business in such a manner that one activity at the business level corresponds to one subset of the implementation level (501 in FIG. 16). .
[シナリオStep3] 実装レベルの設計者が、実装レベルの各サブセットと1:1に対応する形でマクロサービスを生成する(図16の502)。 [Scenario Step 3] A designer at the implementation level generates a macro service in a form corresponding to each subset of the implementation level at 1: 1 (502 in FIG. 16).
[シナリオStep4] 業務の設計者は、業務レベルのビジネスプロセスの各アクティビティにマクロサービスを割り当てる(図16の503)ことにより、業務レベルで閉じた、実装レベルの知識な設計を実施することができるようになる。 [Scenario Step 4] A business designer can implement knowledge level design at the implementation level that is closed at the business level by assigning a macro service to each activity of the business process at the business level (503 in FIG. 16). It becomes like this.
これにより、業務レベルの設計者が既存のBPEL+WSDL対応ツールを使用して業務レベルでの動作検証やシミュレーションを行ったり、トライ&エラーで設計を進めたりすることができるようになる。 As a result, a business-level designer can use an existing BPEL + WSDL-compatible tool to perform operation verification and simulation at the business level, and to proceed with design by trial and error.
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.
本発明は、Webサービスの設計装置および方法に関し、設計しようとしているビジネスプロセスのシステム構成要素の粒度と、ビジネスプロセスの構成要素に割り当てるサービスの粒度とが異なる装置やシステムに広く適用可能である。 The present invention relates to a Web service design apparatus and method, and is widely applicable to apparatuses and systems in which the granularity of system components of a business process to be designed differs from the granularity of services assigned to the components of a business process.
100…システム設計支援装置、101…中央演算処理装置、102…キーボード、103…ディスプレイ、104…ポインティングデバイス、105…主記憶装置、106…磁気ディスク装置、107…バス、110…制御プログラム、111…ビジネスプロセス構築プログラム、112…データ関連付けプログラム、113…ビジネスプロセス解析/マクロサービス生成プログラム、114…シミュレートプログラム、120…ビジネスプロセス設計情報リポジトリ、121…サービス情報リポジトリ。
DESCRIPTION OF
Claims (5)
情報処理装置上で処理手段を実行し、前記処理手段により、細かいシステム構成要素の詳細度におけるサービス割当済みのビジネスプロセスのサブセットから、システム構成要素の詳細度の粗い仮想的なサービスであるマクロサービスを生成することを特徴とするSOAアーキテクチャのシステム設計支援方法。 An SOA architecture system design support method for building a business process and allocating services to its components,
A macro service that is a virtual service with a high degree of detail of system components from a subset of business processes to which the details of the details of system components are assigned by executing the processing means on the information processing apparatus. A system design support method for an SOA architecture, characterized in that:
前記処理手段に含まれるビジネスプロセス解析/マクロサービス生成手段により、細かいシステム構成要素の詳細度におけるサービス割当済みのビジネスプロセスのサブセットから、システム構成要素の詳細度の粗い仮想的なサービスであるマクロサービスを生成し、
前記処理手段に含まれるシミュレート手段により、前記ビジネスプロセスのサブセットを構成する個々の構成要素の非機能情報からサブセット全体の非機能情報を算出することを特徴とするSOAアーキテクチャのシステム設計支援方法。 The SOA architecture system design support method according to claim 1,
By the business process analysis / macro service generation means included in the processing means, a macro service that is a virtual service with a high degree of detail of system components from a subset of business processes to which a service is assigned with a fine degree of detail of system components. Produces
A SOA architecture system design support method, wherein non-functional information of the entire subset is calculated from non-functional information of individual components constituting the subset of the business process by a simulation means included in the processing means.
前記処理手段に含まれるビジネスプロセス構築手段により、特定の粒度においてビジネスプロセスを構築し、
前記処理手段に含まれるデータ関連付け手段により、特定の粒度においてサービスを前記ビジネスプロセスの構成要素に割り当てることを特徴とするSOAアーキテクチャのシステム設計支援方法。 The system design support method of the SOA architecture according to claim 1 or 2,
The business process construction means included in the processing means constructs a business process at a specific granularity,
A system design support method for an SOA architecture, wherein a service is assigned to a component of the business process at a specific granularity by a data association means included in the processing means.
処理手段が格納される主記憶装置と、
前記主記憶装置に格納された前記処理手段を実行する中央演算処理装置とを備え、
前記中央演算処理装置は、前記処理手段を実行し、細かいシステム構成要素の詳細度におけるサービス割当済みのビジネスプロセスのサブセットから、システム構成要素の詳細度の粗い仮想的なサービスであるマクロサービスを生成することを特徴とするSOAアーキテクチャのシステム設計支援装置。 An SOA architecture system design support device that builds a business process and allocates services to its components,
A main storage device in which processing means is stored;
A central processing unit that executes the processing means stored in the main storage device,
The central processing unit executes the processing means, and generates a macro service, which is a virtual service with a high degree of detail of system components, from a subset of business processes to which a service is assigned with a fine level of details of system components. An SOA architecture system design support device characterized in that:
前記処理手段は、性能やアーキテクチャに関する情報である非機能情報を持つサービスが割り当てられた構成要素の集合であるビジネスプロセスのサブセットからマクロサービスを生成するビジネスプロセス解析/マクロサービス生成手段と、前記ビジネスプロセスのサブセットを構成する個々の構成要素の非機能情報からサブセット全体の非機能情報を算出するためのシミュレート手段とを有することを特徴とするSOAアーキテクチャのシステム設計支援装置。 The SOA architecture system design support apparatus according to claim 4,
The processing means includes a business process analysis / macro service generation means for generating a macro service from a subset of business processes to which a service having non-functional information that is information on performance and architecture is assigned, and the business A system design support apparatus for SOA architecture, comprising: a simulating means for calculating non-functional information of the entire subset from non-functional information of individual components constituting the subset of processes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007167590A JP4876032B2 (en) | 2007-06-26 | 2007-06-26 | SOA architecture system design support method and SOA architecture system design support apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007167590A JP4876032B2 (en) | 2007-06-26 | 2007-06-26 | SOA architecture system design support method and SOA architecture system design support apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009009207A true JP2009009207A (en) | 2009-01-15 |
JP4876032B2 JP4876032B2 (en) | 2012-02-15 |
Family
ID=40324251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007167590A Expired - Fee Related JP4876032B2 (en) | 2007-06-26 | 2007-06-26 | SOA architecture system design support method and SOA architecture system design support apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4876032B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010224632A (en) * | 2009-03-19 | 2010-10-07 | Toshiba Tec Corp | Web service test support device and program |
JP2012064053A (en) * | 2010-09-16 | 2012-03-29 | Toshiba Tec Corp | Workflow management device and workflow management program |
JP2019008629A (en) * | 2017-06-27 | 2019-01-17 | 株式会社日立製作所 | Business model design support system and business model design support method |
WO2019167421A1 (en) * | 2018-03-01 | 2019-09-06 | 株式会社日立製作所 | Simulator, simulation device, and simulation method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11316780A (en) * | 1998-05-06 | 1999-11-16 | Hitachi Ltd | Workflow system having hierarchical business process definition |
-
2007
- 2007-06-26 JP JP2007167590A patent/JP4876032B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11316780A (en) * | 1998-05-06 | 1999-11-16 | Hitachi Ltd | Workflow system having hierarchical business process definition |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010224632A (en) * | 2009-03-19 | 2010-10-07 | Toshiba Tec Corp | Web service test support device and program |
JP2012064053A (en) * | 2010-09-16 | 2012-03-29 | Toshiba Tec Corp | Workflow management device and workflow management program |
JP2019008629A (en) * | 2017-06-27 | 2019-01-17 | 株式会社日立製作所 | Business model design support system and business model design support method |
WO2019167421A1 (en) * | 2018-03-01 | 2019-09-06 | 株式会社日立製作所 | Simulator, simulation device, and simulation method |
Also Published As
Publication number | Publication date |
---|---|
JP4876032B2 (en) | 2012-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4701220B2 (en) | Business process reconfiguration method, program thereof and computer | |
US6275977B1 (en) | Application cooperation method and apparatus | |
CN102193781B (en) | Integrated design application | |
JP4299447B2 (en) | Workflow system, information processing apparatus, and storage medium | |
CN111552471A (en) | Task arrangement method and system under hybrid cloud environment | |
CN101820428B (en) | Composite service optimizing method and device based on protocol composition mechanism | |
CN101256492A (en) | Software development method and system for executing model drive structure | |
US20170192755A1 (en) | Method and Apparatus for Enabling Agile Development of Services in Cloud Computing and Traditional Environments | |
CN101814029B (en) | Building method capable of expanding processing function quickly in remote sensing image processing system | |
JPWO2020204144A1 (en) | Business analysis method | |
CN105094984A (en) | Resource scheduling method and system | |
JP4876032B2 (en) | SOA architecture system design support method and SOA architecture system design support apparatus | |
US9542161B2 (en) | Method and system for generating a source code for a computer program for execution and simulation of a process | |
Oliveira Junior et al. | SMartySPEM: a SPEM-based approach for variability management in software process lines | |
Gutiérrez–Fernández et al. | Redefining a process engine as a microservice platform | |
Mani et al. | Using user interface design to enhance service identification | |
CN101303663A (en) | Simulation test method for digital set-top box software development | |
CN113626128B (en) | Audio-visual media micro-service third-party module access method, system and electronic equipment | |
CN101957754A (en) | Man-machine interaction method in service-oriented service process | |
JP4686117B2 (en) | Source code conversion apparatus, source code conversion method, and program | |
JP2016189045A (en) | System environment change support system, method, and program | |
Zhang et al. | Object-oriented user interface customization: Reduce complexity and improve usability and adaptation | |
JP2001188673A (en) | Software reuse assisting device | |
KR102386822B1 (en) | Method and Apparatus for Task Assignment and Content Authoring for Multiple Users in the Industrial eXtended Reality Content Platform | |
JP4865323B2 (en) | Graphic information processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110809 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111007 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111101 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111128 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141202 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |