CN1828532A - Method for transforming operation procedure to executing language - Google Patents

Method for transforming operation procedure to executing language Download PDF

Info

Publication number
CN1828532A
CN1828532A CN 200610066636 CN200610066636A CN1828532A CN 1828532 A CN1828532 A CN 1828532A CN 200610066636 CN200610066636 CN 200610066636 CN 200610066636 A CN200610066636 A CN 200610066636A CN 1828532 A CN1828532 A CN 1828532A
Authority
CN
China
Prior art keywords
node
token
execution
piece
flow
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
CN 200610066636
Other languages
Chinese (zh)
Inventor
潘志勇
王新强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leris (beijing) Software Co Ltd
Original Assignee
Leris (beijing) Software Co 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 Leris (beijing) Software Co Ltd filed Critical Leris (beijing) Software Co Ltd
Priority to CN 200610066636 priority Critical patent/CN1828532A/en
Publication of CN1828532A publication Critical patent/CN1828532A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The provided method comprises: based on the token analysis method, endowing a token to every sequential flow; when more than one flows into a node, trying to unite all tokens; when more than one flow out off a node, generating opposite sub-token, d dividing the complex diagram into different blocks according to token branch, merge and attribution, learning structural feature, and converting into the opposite elements in executive language. This invention is precise and can be used in practice.

Description

A kind of method that business process map is converted to effective language
Technical field
The present invention relates to the computer software application field, particularly a kind of method that business process map is converted to effective language.
Background technology
BPMN (Business Process Modeling Notation, BPMN) be the graphical symbol that a cover be used for to be described enterprise's complex business process, also be current main-stream visual, graphically the international standard standard of operation flow described. The business process map of drawing out according to the standard criterion of BPMN represents sequence of operations and the cooperation that needs are carried out in order to reach certain business purpose between an enterprises or a plurality of enterprise. Business process map is comprised of node and sequential flow, and node represents single operation, and sequential flow represents the ordinal relation of execution between the node (operation).
BPEL (Business Process Execution Language for Web Service, BPEL) be a kind of based on extend markup language (Extensible Markup Language, XML) business events flow path definition and effective language are used for a plurality of network services (Web Service) are organized the operation flow that realizes complexity.
BPMN is a kind of for graphically the schematically illustrating of operation flow, be mainly used in company manager for drafting, the understanding of operation flow, discuss and share. Business process map must convert BPEL to, and whole operation flow can actual motion and played a role. Yet in real process, it is very difficult that business process map is converted to BPEL. The difficult point of conversion is that the design feature of BPMN and BPEL is different: BPEL is followed strict structuring, it is nested layer by layer block structure, the scope of different elements is divided very clear and definite, two pieces that are positioned at same level can not have lap, and two sub-blocks that are positioned at different masses can not have lap; And BPMN is flexible and changeable figure shape structure, can arbitrarily connect with sequential flow between the different node among the figure, so be difficult to business process map is divided into different pieces.
Industry only has company seldom to be engaged in technology and the product that exploitation is converted to business process map BPEL at present. The Process Modeler for Visio of ITP Commerce company and the System Architect of Telelogic company are the products of more famous and main flow wherein. But these products exist many shortcomings. At first, these products can only be processed the very simple business process map of structure, can't change for the business process map of labyrinth, for example, their partly overlapping circulation process among the flow process figure of can't managing business; Secondly, these products all do not propose a cover operating process and the methodology that business process map are converted to BPEL complete, system.
Summary of the invention
The object of the present invention is to provide and a kind ofly can analyze accurately and change the business process map of complexity, finally obtain to be actually used in the method for the BPEL file that business event carries out.
For achieving the above object, a kind of method that business process map is converted to effective language of the present invention, by computer with described business process map be converted to can actual motion BPEL, realize the true environment that business event is carried out, the method is carried out following steps:
(1) divide the type of node in the described business process map and define the title of described node and the pattern of numbering, piece and described node and described BPEL in the corresponding relation of structure movement element in the corresponding relation of language element and described pattern and the described BPEL;
(2) read in the operation flow map file, and be converted to internal memory and represent;
(3) analyze described business process map: read the tabulation of all described nodes that described business process map comprises and described nodes all in the described business process map and sequential flow are carried out respectively token creation by the node type of dividing in the step (1);
(4) tagged traffic flow chart: read the tabulation of all described nodes that described business process map comprises and the described token of described nodes all in the described business process map and sequential flow is carried out respectively token process, described token is processed and is comprised described token is merged by the title of definition in the described step (1) and numbering and/or makes up;
(5) transformation service flow chart: read the tabulation of all described nodes that described business process map comprises and pieces all in the described business process map is carried out respectively conversion process, described conversion process comprises that the corresponding relation by structure movement element in the corresponding relation of language element in node described in the described step (1) and the described BPEL and described pattern and the described BPEL is converted to respectively corresponding BPEL element with described node;
(6) transfer process finishes, and obtains the BPEL file that finally obtains.
Method of the present invention, wherein carry out following steps in the method for token creation described in the described step (3):
1) reads the tabulation of all described nodes that described business process map comprises;
2) from described tabulation, read next untreated described node;
3) if this node does not have the sequential flow of inflow, then execution in step 4), otherwise execution in step 5);
4) create an atom token, execution in step 9 for this node);
5) judge whether all sequential flow that flow into this node have all carried described token, if yes, execution in step 6), otherwise execution in step 2);
6) judge whether all described tokens that flow into this node can merge, the entrained described token of all sequential flow of this node generates by same node if flow into, and the number of these tokens is identical with the described token number that this described node generates, then these tokens are merged into original father's token, and execution in step 7), otherwise execution in step 8);
Their father's token, execution in step 9 are merged in the entrained token segmentation of all sequential flow that 7) will flow into this node);
8) when the entrained token of all sequential flow that flows into this node can't be merged into father's token, these tokens will be deposited into and be combined into together a combination token;
9) if this node only has the sequential flow of an outflow, then execution in step 10), otherwise execution in step 11);
10) with 7) or 8) in by merging or make up resulting described token, or 4) in the described token that generates give unique elution order stream of this node, execution in step 12);
11) do not give a sub-token for many elution order flow points of this node, this a little token all is to be generated by this node, wherein, if this node has the sequential flow of many inflows, these tokens that then generate all are 7) or 8) in by merging or make up the sub-token of resulting token; If this node only has the sequential flow of an inflow, then the token of these generations all is the sub-token of the entrained token of this inflow sequential flow; If this node does not have the sequential flow that flows into, then the token of these generations all is 4) in the sub-token of the token that generates;
12) judge whether in addition untreated described node in this is processed, if yes, then execution in step 2), otherwise execution in step 13);
13) judge whether that sequential flow all in the described business process map has all had described token, if yes, then execution in step 14), otherwise execution in step 1);
(14) analytic process finishes.
Method of the present invention, wherein carry out following steps in the method that token described in the described step (4) is processed:
1) reads the tabulation of all described nodes that described business process map comprises;
2) from described tabulation, read next untreated node;
3) if current node does not have the sequential flow of inflow, then execution in step 4), if described current node has and only have the sequential flow of an inflow, then execution in step 8); If described current node has the sequential flow of many inflows, then execution in step 15);
4) if described current node has and only have the sequential flow of an outflow, then execution in step 5); If described current node has the sequential flow of many outflows, then execution in step 6);
5) if described current node has and when the sequential flow of an outflow is only arranged, it is the starting point of a piece that described current node is judged to be, it is the terminal point of this piece that the entrained described token of unique elution order stream of described current node is judged to be finally by the node of crossing, other nodes between this two node, all described nodes that may pass through the process of terminal point of namely walking from starting point along sequential flow are judged to be in this piece, the pattern of this piece is " normally ", execution in step 20);
6) if when described current node has the sequential flow of many outflows, at first obtain the described token in the generation of described current node place, attribute data by this token obtains the in the back corresponding node in the flow process of described current node, be the next node described token is positioned at described current node in the node tabulation after, each the sub-token that also namely branches out from this token reconsolidates next time and is this token;
7) described current node being judged to be is the starting point of a piece, and it is the terminal point of this piece that the corresponding node of described current node is judged to be, and other nodes between this two node are judged to be in this piece, and judge the corresponding modes of this piece, execution in step 20);
8) if described current node does not have the sequential flow of outflow, then execution in step 9); If described current node has and only have the sequential flow of an outflow, then execution in step 10); If described current node has the sequential flow of many outflows, then execution in step 11);
9) if when described current node does not have the sequential flow of outflow, judge that then this node is terminal point and the execution in step 20 of a piece);
10) if described current node has and when the sequential flow of an outflow is only arranged, then judge this node in " normally " piece and execution in step 20);
11) if described current node is the starting point of a loop structure, namely a certain elution order of described current node flows to refer to again get back to and is positioned at the upstream, certain node before described current node, then execution in step 12), otherwise execution in step 13);
12) to be judged to be the starting point of a piece to the described node that the sequential flow of directed upstream is pointed, it is the terminal point of this piece that described current node is judged to be, other described nodes between this two node are judged to be in this piece, and the pattern of this piece is " circulation ", execution in step 20);
13) at first obtain the described token that unique inflow sequential flow of described current node is carried, attribute data by this token obtains the in the back corresponding node in the flow process of described current node, be described token in node tabulation, be positioned at next node after the described current node, each the sub-token that also namely branches out from this token reconsolidates next time and is this token;
14) described current node being judged to be is the starting point of a piece, and it is the terminal point of this piece that the corresponding node of described current node is judged to be, and other the described nodes between this two node are judged to be in this piece, and judge the corresponding modes of this piece; Execution in step 20);
15) if described current node does not have the sequential flow of outflow, then execution in step 16); If described current node has and only have the sequential flow of an outflow, then execution in step 7); If described current node has the sequential flow of many outflows, then execution in step 18);
16) if when described current node does not have the sequential flow of outflow, judge that this node is the terminal point of a piece, execution in step 20);
17) if described current node has and when the sequential flow of an outflow is only arranged, judge that this node is the terminal point of a piece, execution in step 20);
18) if when described current node has the sequential flow of many outflows, at first obtain at described current node place by merging or making up resulting described token, attribute data by this token obtains the in the back corresponding node in the flow process of described current node, be described token in node tabulation, be positioned at next node after the described current node, each the sub-token that also namely branches out from this token reconsolidates next time and is this token;
19) described current node being judged to be is the starting point of a piece, and it is the terminal point of this piece that the corresponding node of described current node is judged to be, and other nodes between this two node are judged to be in this piece, and judge the corresponding modes of this piece; Execution in step 20);
20) judge whether in addition untreated described node in this is processed, if yes, then execution in step 2);
21) judge whether that described nodes all in the described business process map all determined its residing, if yes, then execution in step 22), otherwise execution in step 1);
22) labeling process finishes.
Method of the present invention, wherein in described step (5), carry out following steps:
1) reads the tabulation of all described nodes that described business process map comprises;
2) from described tabulation, read next untreated described node;
3) if current node is the starting point of a piece, then execution in step 4); If described current node is the terminal point of a piece, then execution in step 5); If described current node is in a piece, then execution in step 6);
4) if described current node is the starting point of a piece, according to the pattern of this piece, creates corresponding BPEL structure movement element, and put it in the BPEL file of as a result of output; The described BPEL element that all nodes in this piece convert to will all be placed in this structure movement element; Execution in step 7);
5) if when described current node is the terminal point of a piece, judge node in this piece all changed complete, execution in step 7);
6) according to type and the attribute information of described current node, described node is converted to corresponding described BPEL element, and the language element after will being converted is put in the structure movement element corresponding with its place piece;
7) judge whether in addition untreated described node in this is processed, if yes, then execution in step 2);
8) judge whether that described nodes all in the described business process map all changed completely, if yes, then execution in step 9), otherwise execution in step 1);
9) transfer process finishes, the described BPEL file that output finally obtains.
The present invention with the advantage that business process map is converted to the method for effective language is: can analyze accurately the business process map of complexity, appropriate piecemeal makes represented flow process maintenance basically identical and structural being similar to semantically of the represented flow process of the rear resulting BPEL of conversion and former business process map; This method has proposed that a whole set of is complete and technology that based on token system is analyzed business process map can be based upon on the solid foundation conversion from the business process map to the BPEL; The BPEL result who uses this method to be converted to has passed through the check of the execution engine of main flow, can be actually used in the true environment that business event is carried out.
Description of drawings
Below in conjunction with accompanying drawing the present invention is conducted further description.
Fig. 1 is main flow chart of the present invention;
Fig. 2 is the sub-process figure one that analyzes business process map in the method for the present invention;
Fig. 3 is the sub-process figure two of mark business process map in the method for the present invention;
Fig. 4 is the sub-process figure three of conversion business process map in the method for the present invention;
Fig. 5 is the business process map of the embodiment of the invention one;
Fig. 6 is the business process map of the embodiment of the invention two.
The specific embodiment
The present invention is converted to the method for effective language with business process map, is to adopt the analytical technology of based on token (Token) that business process map is converted into BPEL effectively. In the method for the invention, for each bar sequential flow is given a token, when the sequential flow that flows into a node during more than, the entrained token of these sequential flow will be attempted merging; When the sequential flow that flows out a node during more than, will produce sub-token for these sequential flow. Method of the present invention is according to branch and the merging of token, and the entrained attribute information of token itself is divided into different pieces with the business process map of complexity, and know the flowage structure characteristics of this piece, thereby piece is converted into corresponding element in the BPEL the most at last.
The below makes a detailed description the method that business process map is converted to effective language to the present invention.
Referring to Fig. 1, the first step in the analytical technology of token (Token), in order to divide the type of node in the business process map, needs title and the numbering of definition node; The corresponding relation of structure movement element in the pattern of the corresponding relation of language element and piece and the BPEL in the pattern of definition block and node and the BPEL.
(1) be defined as follows about token:
Atom token and combination token
On structure, token can atomize token and the combination token. The atom token is the token that can't be divided into again less token. The combination token is the token that forms to a plurality of atom token combinations by two. The atom token of a combination token inside is the father's token that can't merge into them.
Father's token and sub-token
When a node has the sequential flow of many outflows, need to generate and give token for these sequential flow. At this moment the token that generates is sub-token, and the token that obtains by generation, merging or combination at this node place is father's token of these tokens.
About token, concrete condition can be divided into following three kinds:
This node does not have the sequential flow that flows into: will be that this node generates a token, this token be father's token, and the token that generates for all elution orders streams of this node all is the sub-token of this father's token;
This node has the sequential flow of an inflow: the entrained token of this inflow sequential flow is father's token, and the token that generates for all elution orders stream of this node all is the sub-token of this father's token;
This node has the sequential flow of many inflows: the entrained token of the sequential flow of these inflows will merge at this node place or make up, merge or combination after the token that obtains be father's token, the token that generates for all elution orders streams of this node all is the sub-token of this father's token;
Attribute information about token. A token contains following attribute:
Numbering: be used at token of a business process map unique identification. When token was the atom token, the numbering of token was by system's appointment when generating token, such as 1,1.1,1.2.1 etc.; When token is combination during token, the character string that the numbering of token is linked together and obtained by the numbering of each internal token that forms this token, the numbering usefulness ", " of each internal token separates, the character string both sides add bracket, such as (1,1.2), ((1,1.2), 1.2.3) etc.
Brother's number: namely have what tokens to be generated by same node with this token. Brother's number has comprised this token self.
Internal token: internal token is a tabulation, when this token is the combination token, has preserved each internal token that forms this token in the internal token tabulation. When this token was the atom token, this tabulation was for empty.
By way of node: be a tabulation by way of node, this list records this token the node of process. When sequential flow flows into a node, this node that then claimed the entrained token of this sequential flow " process ".
(2) mode-definition about piece is as follows:
The pattern of a piece is type, the attribute by the start node of piece and termination node, and the decision of the character of the flow process between starting point and terminal point.
The pattern of piece can be divided into following severally in this method, sees Table 1:
Table 1
Schema name Starting point Terminal point The flow process feature
Normally Only have the beginning event (Start Event) of an elution order stream or only have the intermediate event (Intermediate Event) of an elution order stream or the task (Activity) of only having an elution order to flow Only have one to flow into the End Event (End Event) of sequential flow or only have one to flow into the task of sequential flow or only have an intermediate event that flows into sequential flow There are not branch and merging in the flow process
Common concurrent The beginning event of many elution orders stream is arranged or the task of many elution orders streams is arranged, and the equal SNNP (Condition) or the parallel door (Parallel Gateway) of many elution orders streams is arranged not of these elution orders streams There are many to flow into the End Event of sequential flow or have many to flow into the task of sequential flow or have many to flow into the parallel door of sequential flow or many compatible doors (Inclusive Gateway) that flow into sequential flow are arranged Before the terminal point that arrives piece, do not exist crossing from the different branches that starting point flows out
Band links the concurrent of (Lin k) The beginning event of many elution orders stream is arranged or the task of many elution orders streams is arranged, and the equal SNNP or the parallel door of many elution orders streams is arranged or the compatible door of many elution orders streams is arranged not of these elution orders streams There are many to flow into the End Event of sequential flow or have many to flow into the task of sequential flow or have many to flow into the parallel door of sequential flow or many compatible doors that flow into sequential flow are arranged Have crossingly before the terminal point that arrives piece from the different branches that starting point flows out, namely the node of certain in piece can generate the combination token
Usual terms is selected The mutual exclusion door (Data-Based Exclusive Gateway) that the based on data of many elution order streams is arranged There are many to flow into the task of sequential flow or have many to flow into the compatible door of sequential flow or many mutual exclusion doors that flow into the based on data of sequential flow are arranged Before the terminal point that arrives piece, do not exist crossing from the different branches that starting point flows out
Concurrent condition is selected The compatible door of many elution orders stream is arranged or the task of many elution orders streams is arranged, and these elution orders streams all band have ready conditions There are many to flow into the task of sequential flow or many compatible doors that flow into sequential flow are arranged Before the terminal point that arrives piece, do not exist crossing from the different branches that starting point flows out
EventSelect The mutual exclusion door based on event (Event-Based Exclusive Gateway) that many elution order streams are arranged There are many to flow into the task of sequential flow or have many to flow into the compatible door of sequential flow or many mutual exclusion doors that flow into the based on data of sequential flow are arranged Before the terminal point that arrives piece, do not exist crossing from the different branches that starting point flows out
Ordinary cycle Many the nodes that flow into sequential flow are arranged, and wherein a sequential flow comes from certain node in (downstream) after the current node The node that many elution orders stream is arranged, wherein a sequential flow is pointed to certain node of (upstream) before the current node This circulation does not overlap with circulating on certain part of other, and namely or circulation is completely contained in the inside of another circulation, or two circulations do not have intersection at all
Overlapping circulation Many the nodes that flow into sequential flow are arranged, and wherein a sequential flow comes from the node in (downstream) after the current node The node that many elution orders stream is arranged, wherein a sequential flow is pointed to certain node of (upstream) before the current node Have two circulations in this pattern, these two circulate on certain part (non-all) and overlap, i.e. the sequential flow of the directed upstream of one of them circulation will be pointed to certain node of another inside of circulating
Derivation history The compatible door that the beginning event of many elution order streams is arranged or the task of many elution order streams is arranged or the parallel door of many elution order streams is arranged or have many elution orders to flow The mutual exclusion door of many based on datas that flow into sequential flow or the end of whole operation flow are arranged Many the branches of flowing out from starting point are merged together at the mutual exclusion door of a based on data, perhaps until the end of whole flow process also fail to be merged together
Mistake The mutual exclusion door that the based on data of many elution order streams is arranged There are many to flow into the parallel door of sequential flow or many End Events that flow into sequential flow are arranged
The mutual exclusion door based on event that many elution order streams are arranged There are many to flow into the parallel door of sequential flow or many End Events that flow into sequential flow are arranged
The compatible door that many elution order streams are arranged There are many to flow into the parallel door of sequential flow or many End Events that flow into sequential flow are arranged
The node that many elution order streams are arranged Many the mutual exclusion doors based on event that flow into sequential flow are arranged
(3) in transfer process, piece will be converted into its corresponding structure movement element according to its pattern, be defined as follows about the corresponding relation of structure movement element in the pattern of piece and the BPEL, see Table 2:
Table 2
Schema name The counter structure mobile element Conversion specification
Normally Sequential element (<sequence 〉) Whole is converted into a sequential element; The node of piece inside is switched in this sequential element.
Common concurrent Concurrent element (<flow 〉) Whole is converted into a concurrent element; Every concurrent branch is converted into a sequential element; The node that every branch comprises is switched in the corresponding sequential element of this branch.
Band links the concurrent of (Link) Concurrent element (<flow 〉) and a plurality of linking element (<link 〉) Whole is converted into a concurrent element; The node of piece inside is switched in this concurrent element; Every sequential flow between the node of piece inside is converted into a linking element; After converting the node of piece inside to corresponding BPEL element, add necessary initial element (<source 〉) and object element (<target 〉) in this element inside.
Usual terms is selected Condition selection element (<switch 〉) and conditional branching element wherein (<case 〉) and the default branch element (<otherwise 〉) Whole is converted into a condition and selects element; Every non-acquiescence (non-default) branch that condition is selected is converted into a conditional branching element; Acquiescence (default) branch that condition is selected is converted into the default branch element; The node that every branch comprises is switched in the corresponding conditional branching element of this branch or the default branch element.
Concurrent condition is selected Concurrent element (<flow 〉) and a plurality of condition selection element (<switch 〉) Whole is converted into a concurrent element; Every branch of concurrent selection is converted into a condition and selects element; Each condition selects element to comprise a conditional branching element and a default branch element; The node that every branch comprises is switched to the corresponding condition of this branch and selects in the conditional branching element in the element. Nothing operation in the default branch element of each condition selection element.
EventSelect The EventSelect element (<pick>) and message event element wherein (<onMessage>) and the time-event element (<onAlarm>) Whole is converted into an EventSelect element; If what the branch of EventSelect waited for is the generation of event, then be converted into a message event element; If what the branch of EventSelect waited for is the arrival of time, then be converted into a time-event element; The node that every branch comprises is switched in the corresponding message event element of this branch or the time-event element.
Ordinary cycle Cyclic elements (<while 〉) Whole is converted into a cyclic elements; The node of piece inside is switched in this cyclic elements;
Overlapping circulation A plurality of cyclic elementses (<while 〉) Whole is converted into a plurality of cyclic elementses; Certain cyclic elements can occur repeatedly, wherein once can appear in other the cyclic elements.
Derivation history A plurality of processes (<process>) Whole is converted into a plurality of processes; Original operation flow is converted into main procedure; Derivative operation flow is converted into a plurality of subprocess; In main procedure, will add calling subprocess.
(4) in transfer process, node will be converted into its corresponding BPEL element according to itself type and attribute information, be defined as follows about the corresponding relation of language element in node and the BPEL, see Table 3:
Table 3
Node Corresponding BPEL element Conversion specification
Pond (Pool) The process element (<process>)
The beginning event of message trigger (Start Event with Message Trigger) The reception element (<receive 〉)
The beginning event (Start Event with Timer Trigger) that time triggers The reception element (<receive 〉)
The beginning event (Start Event with Rule Trigger) that rule triggers The reception element (<receive 〉)
The beginning event (Start Event with Link Trigger) that redirect triggers The reception element (<receive 〉)
Message result's End Event (End Event with Message Result) Call element (<invoke 〉) or reply element (<reply 〉)
The End Event of error result (End Event with Error Result) The element (<throw 〉) of dishing out
The End Event of compensation result (End Event with Compensation Result) Compensating elements (<compensate 〉)
Redirect result's End Event (End Event with Link Result) Call element (<invoke 〉)
Stop result's End Event (End Event with Terminate Result) The termination element (<terminate 〉)
The intermediate event of message trigger (Intermediate Event with Message Trigger) Receive element (<receive 〉) or call element (<invoke 〉) reply element (<reply 〉) or event handler element (<eventHandler 〉) in message event element (<onMessage 〉) When this event is in the normal flow, can be converted into and receives element (<receive 〉) or call element (<invoke 〉) or reply element (<reply 〉); (when the source of message is active procedure, can be converted into and call element or reply element, when the target of message is active procedure, can be converted into and receive element) when this event is on the border of task, will be converted into message event element in the event handler element (<eventHandler 〉) (<onMessage 〉)
The intermediate event (Intermediate Event with Timer Trigger) that time triggers Wait for time-event element in element (<wait 〉) or the event handler element (<eventHandler 〉) (<onAlarm 〉) When this event is in the normal flow, can be converted into and waits for element (<wait 〉); When this event is on the border of task, will be converted into time-event element in the event handler element (<eventHandler 〉) (<onAlarm 〉)
The intermediate event of erroneous trigger (Intermediate Event with Error Trigger) Dish out and catch all elements (<catchAll 〉) in capturing element in element (<throw 〉) or the error handler element (<faultHandler 〉) (<catch 〉) or the error handler element (<faultHandler 〉) When this event is in the normal flow, can be converted into the element of dishing out (<throw 〉); When this event is on the border of task, will be converted into capturing element in the event handler element (<faultHandler 〉) (<catch 〉) or catch all elements (<catchAll 〉); If (wrong wrong code then is converted to capturing element, catches all elements otherwise be converted to
The intermediate event (Intermediate Event with Compensation Trigger) that compensation triggers Compensating elements (<compensate 〉) or the compensation processor element (<compensationHandler 〉) When this event is in the normal flow, can be converted into compensating elements (<compensate 〉); When this event is on the border of task, will be converted into compensation processor element (<compensationHandler 〉)
The intermediate event that rule triggers The reception element (<receive 〉) When this event is in the normal flow
12
  (Intermediate Event with   Rule Trigger) Or the message event element in the event handler element (<eventHandler 〉) (<onMessage 〉) The time, can be converted into and receive element (<receive 〉); When this event is on the border of task, will be converted into message event element in the event handler element (<eventHandler 〉) (<onMessage 〉)
The intermediate event (Intermediate Event with Link Trigger) that redirect triggers Receive element (<receive 〉) or call element (<invoke 〉) or event handler element (<eventHandler 〉) in message event element (<onMessage 〉) When this event is in the normal flow, can be converted into and receives element (<receive 〉) or call element (<invoke 〉); When this event is on the border of task, will be converted into message event element in the event handler element (<eventHandler 〉) (<onMessage 〉)
Subprocess (Sub-Process) The scope element (<scope 〉)
Reception task (Receive Task) The reception element (<receive 〉) When on the task border intermediate event being arranged, will create a scope element (<scope 〉), then will put into this scope element from the element that Task Switching gets; When task has cycle attribute, will create a cyclic elements (<while 〉), then will put into this cyclic elements from the element that Task Switching gets; And create essential variable element (<variable 〉) and variable is carried out the assignment element (<assign 〉) of assignment for cyclic elements
Transmission task (Send Task) Call element (<invoke 〉) or reply element (<reply 〉)
User task (User Task) Call element (<invoke 〉)
Script task (Script Task) Call element (<invoke 〉)
Quote task (Reference Task) Change by the task that this task is quoted
The mutual exclusion door of based on data (Data-Based Exclusive Gateway) Condition selection element (<switch 〉)
Mutual exclusion door (Event-Based Exclusive Gateway) based on event The EventSelect element (<pick>)
Compatible door (Inclusive Gateway) Concurrent element (<flow 〉) and a plurality of condition selection element (<switch 〉)
Concurrent door (Parallel Gateway) Concurrent element (<flow 〉)
Message (Message) The variable element (<variable 〉)
Assignment (Assignment) The assignment element (<assign 〉)
Hold, method of the present invention is carried out second step, and computer reads in the operation flow map file, and is converted to internal memory and represents.
Referring to Fig. 1 and Fig. 2, in the 3rd step, analyze described business process map: read the tabulation of all nodes that business process map comprises and the node in the business process map and sequential flow are carried out respectively token creation by the node type of dividing. The concrete following steps of carrying out:
(1) reads the tabulation of all nodes that business process map comprises;
(2) from tabulation, read next untreated node;
(3) if this node does not have the sequential flow that flows into, execution in step (4) then, otherwise execution in step (5);
(4) create an atom token, execution in step (9) for this node;
(5) judge whether all sequential flow that flow into this node have all carried token, if yes, execution in step (6), otherwise execution in step (2);
(6) judge whether all tokens that flow into this node can merge, the entrained token of all sequential flow of this node generates by same node if flow into, and the number of these tokens is identical with the token number that this node generates, then these tokens are merged into original father's token, and execution in step (7), otherwise execution in step (8);
Their father's token, execution in step (9) are merged in the entrained token segmentation of all sequential flow that (7) will flow into this node;
(8) when the entrained token of all sequential flow that flows into this node can't be merged into father's token, these tokens will be deposited into and be combined into together a combination token;
(9) if this node only has the sequential flow of an outflow, execution in step (10) then, otherwise execution in step (11);
(10) with in (7) or (8) by merging or make up resulting token, or the token that generates in (4) is given unique elution order stream of this node, execution in step (12);
(11) do not give a sub-token for many elution order flow points of this node, this a little token all is to be generated by this node, wherein, if this node has the sequential flow of many inflows, these tokens that then generate all are by merging or make up the sub-token of resulting token in (7) or (8); If this node only has the sequential flow of an inflow, then the token of these generations all is the sub-token of the entrained token of this inflow sequential flow; If this node does not have the sequential flow that flows into, then the token of these generations all is the sub-token of the token that generates in (4);
(12) judge whether in addition untreated node in this is processed, if yes, execution in step (2) then, otherwise execution in step (13);
(13) judge whether that sequential flow all in the business process map has all had token, if yes, execution in step (14) then, otherwise execution in step (1);
(14) analytic process finishes.
Referring to Fig. 1 and Fig. 3, the 4th step, the tagged traffic flow chart: read the tabulation of all nodes that business process map comprises and the token of nodes all in the business process map and sequential flow is carried out respectively token process, token is processed and is comprised merging and/or the combination that token is undertaken by the title of definition and numbering. The concrete following steps of carrying out:
1) reads the tabulation of all nodes that business process map comprises;
2) from tabulation, read next untreated node;
3) if current node does not have the sequential flow that flows into, then execution in step 4), if current node has and the sequential flow of an inflow is only arranged, then execution in step 8); If current node has the sequential flow of many inflows, then execution in step 15);
4) if current node has and the sequential flow of an outflow is only arranged, then execution in step 5); If current node has the sequential flow of many outflows, then execution in step 6);
5) if current node has and when the sequential flow of an outflow is only arranged, it is the starting point of a piece that current node is judged to be, the entrained token of unique elution order stream of current node is judged to be the terminal point of this piece finally by the node of crossing, other nodes between this two node, all nodes that may pass through the process of terminal point of namely walking from starting point along sequential flow are judged to be in this piece, the pattern of this piece is " normally ", execution in step 20);
6) if when current node has the sequential flow of many outflows, at first obtain the token in the generation of current node place, attribute data by this token obtains the in the back corresponding node in the flow process of current node, be token in node tabulation, be positioned at next node after the current node, each the sub-token that also namely branches out from this token reconsolidates next time and is this token;
7) current node being judged to be is the starting point of a piece, and it is the terminal point of this piece that the corresponding node of current node is judged to be, and other nodes between this two node are judged to be in this piece, and judge the corresponding modes of this piece, execution in step 20);
8) if current node does not have the sequential flow of outflow, then execution in step 9); If current node has and the sequential flow of an outflow is only arranged, then execution in step 10); If current node has the sequential flow of many outflows, then execution in step 11);
9) if when current node does not have the sequential flow of outflow, judge that then this node is terminal point and the execution in step 20 of a piece);
10) if current node has and when the sequential flow of an outflow is only arranged, then judge this node in " normally " piece and execution in step 20);
11) if current node is the starting point of a loop structure, namely a certain elution order of current node flows to refer to again get back to and is positioned at the upstream, certain node before current node, then execution in step 12), otherwise execution in step 13);
12) to be judged to be the starting point of a piece to the node that the sequential flow of directed upstream is pointed, it is the terminal point of this piece that current node is judged to be, other nodes between this two node are judged to be in this piece, and the pattern of this piece is " circulation ", execution in step 20);
13) at first obtain the entrained token of unique inflow sequential flow of current node, attribute data by this token obtains the in the back corresponding node in the flow process of current node, be token in node tabulation, be positioned at next node after the current node, each the sub-token that also namely branches out from this token reconsolidates next time and is this token;
14) current node being judged to be is the starting point of a piece, and it is the terminal point of this piece that the corresponding node of current node is judged to be, and other nodes between this two node are judged to be in this piece, and judge the corresponding modes of this piece; Execution in step 20);
15) if current node does not have the sequential flow of outflow, then execution in step 16); If current node has and the sequential flow of an outflow is only arranged, then execution in step 7); If current node has the sequential flow of many outflows, then execution in step 18);
16) if when current node does not have the sequential flow of outflow, judge that this node is the terminal point of a piece, execution in step 20);
17) if current node has and when the sequential flow of an outflow is only arranged, judge that this node is the terminal point of a piece, execution in step 20);
18) if when current node has the sequential flow of many outflows, at first obtain at the current node place by merging or making up resulting token, attribute data by this token obtains the in the back corresponding node in the flow process of current node, be token in node tabulation, be positioned at next node after the current node, each the sub-token that also namely branches out from this token reconsolidates next time and is this token;
19) current node being judged to be is the starting point of a piece, and it is the terminal point of this piece that the corresponding node of current node is judged to be, and other nodes between this two node are judged to be in this piece, and judge the corresponding modes of this piece; Execution in step 20);
20) judge whether in addition untreated node in this is processed, if yes, then execution in step 2);
21) judge whether that nodes all in the business process map all determined its residing, if yes, then execution in step 22), otherwise execution in step 1);
22) labeling process finishes.
Referring to Fig. 1 and Fig. 4, the 5th step, transformation service flow chart: read the tabulation of all nodes that business process map comprises and pieces all in the business process map is carried out respectively conversion process. The concrete following steps of carrying out:
1) reads the tabulation of all nodes that business process map comprises;
2) from tabulation, read next untreated node;
3) if current node is the starting point of a piece, then execution in step 4); If current node is the terminal point of a piece, then execution in step 5); If current node is in a piece, then execution in step 6);
4) if current node is the starting point of a piece, according to the pattern of this piece, creates corresponding BPEL structure movement element, and put it in the BPEL file of as a result of output; The BPEL element that all nodes in this piece convert to will all be placed in this structure movement element; Execution in step 7);
5) if when current node is the terminal point of a piece, judge node in this piece all changed complete, execution in step 7);
6) according to type and the attribute information of current node, node is converted to corresponding BPEL element, and the element after will being converted is put in the structure movement element corresponding with element place piece;
7) judge whether in addition untreated node in this is processed, if yes, then execution in step 2);
8) judge whether that nodes all in the business process map all changed completely, if yes, then execution in step 9), otherwise execution in step 1);
9) transfer process finishes, the BPEL file that output finally obtains.
In the 6th step, obtain the BPEL file that finally obtains.
The following describes and use the embodiment that the present invention is converted to business process map the method execution operation flow of effective language.
Embodiment one retailer's flow process
Present embodiment is the simplification example that the retailer processes user's order, and its flow process can be expressed as follows: flow process is from the message of the purchase order of receiving the client; Then then send to one of client and confirm authority; In the data data-in storehouse with order; Send the delivery of cargo request to the warehouse, and wait for the warehouse response; After receiving the response (in stockit is available/out of stock) in warehouse, the result of order is returned to the client, and the state of new order in database more; If the warehouse is out of stock, then this order is distributed to certain sales force and allowed itself and client directly link up, do nothing if the warehouse is in stockit is available; Last whole flow process finishes.
Referring to the business process map of retailer's flow process shown in Figure 5, each step of using this method that this business process map is changed is as follows:
(1) analytic process
1. generate a token at " receiving user's order " beginning event place, this token is numbered 1;
2. after " receiving user's order " beginning event, to " warehouse is in stockit is available? " before the mutual exclusion door, all graphic elements between this all are to only have one to flow into sequential flow and an elution order stream, so can not generate new token at these node places, and only have token 1 between them, to transmit;
" warehouse is in stockit is available? " mutual exclusion door place, token 1 will branch into two sub-tokens, be numbered 1.1 and 1.2;
4. at " order processing end " End Event place, token 1.1 and 1.2 merges back original father's token 1.
(2) labeling process
1. be marked as a piece from " receiving user's order " beginning event to the part " the more state of new order database " task, the beginning event is the beginning of piece " to receive user's order ", " the more state of new order in database " task is the end of piece, and the pattern of piece is " normally ";
From " warehouse is in stockit is available? " the mutual exclusion door is marked as a piece to the part between " order processing end " End Event, " warehouse is in stockit is available? " the mutual exclusion door is the beginning of piece, " order processing end " End Event is the end of piece, and the pattern of piece is " usual terms selection ";
(3) transfer process
1. at first be whole flow process create a process element (<process>), all BPEL elements that are converted to all will be put into this process element; Corresponding code is as follows:
<process name="seller"
targetNamespace="http://acm.org/samples"
suppressJoinFailure="yes"
xmlns:tns="http://acm.org/samples"
xmlns=”http://schemas.xmlsoap.org/ws/2003/03/business-process/”
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/busines
s-process/">
……
</process>
2. create a sequential element (<sequence 〉), put into process element (this sequential element is called the chief series element below); Corresponding code is as follows:
<sequence name="main">
……
</sequence>
3. begin from " receiving user's order " beginning event, the pattern of the piece till " the more state of new order in the database " task of arriving is " normally ", should be this piece and create a sequential element, but because flow process integral body is a linear-process, and created the chief series element for flow process, can be with the chief series unit execution sequence of each task in the controll block usually, so need not to create again sequential element herein;
4. " receive user order " beginning event will be converted into and receive element (<receive 〉), and put into the chief series element; Other element also is converted into corresponding BPEL element in the piece; The visible hereinafter complete code of BPEL file of corresponding code;
From " warehouse is in stockit is available? " the pattern that the mutual exclusion door begins the piece till " order processing end " End Event is " usual terms selections ", institute think this piece create a condition selection element (<switch>), put into the chief series element; Each branch that condition is selected be converted into respectively condition select in the element the conditional branching element (<case>) and the default branch element (<otherWise>); Corresponding code is as follows:<switch name="checkResp"><case condition="bpws:getVariableData("poResponse", "payload","/tns:POMsg/tns:action")"reject""><sequence><invoke name="salesFollowup" partnerLink="taskMgr" portType="tns:WorkflowTaskManager" operation="create"inputVariable="task"/></sequence></case><otherwise/></switch>
The complete code of the BPEL file that finally obtains is as follows:<process name="seller" targetNamespace="http://acm.org/samples" suppressJoinFailure="yes" xmlns:tns="http://acm.org/samples" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/busines s-process/"><sequence name="main"><receive name="receiveInput"partnerLink="consumer" portType="tns:Retailer" createInstance="yes"operation="sendPO" variable="po"><correlations><correlation set="poset"initiate="yes"/></correlations></receive><invoke name="callbackClient"partnerLink="consumer" portType="tns:RetailerCallback" operation="poReceipt" inputVariable="po"/><invoke name="writePOToDB"partnerLink="retailerDB" portType="tns:RetailerDB" operation="createPO"inputVariable="po"/><invoke name="sendPOToWH"partnerLink="warehouse" portType="tns:Warehouse" operation="sendPO"inputVariable="po"/><receive createInstance="no"name="receiveWHResponse" partnerLink="warehouse" portType="tns:WarehouseCallback"operation="onResult" variable="poResponse"><correlations><correlation set="poset"initiate="no"/></correlations></receive><invoke name="responseToConsumer"partnerLink="consumer" portType="tns:RetailerCallback" operation="poResult"inputVariable="poResponse"/><invoke name="updateDB"partnerLink="retailerDB" portType="tns:RetailerDB" operation="updatePO"inputVariable="poResponse"/><switch name="checkResp"><case condition="bpws:getVariableData("poResponse", "payload","/tns:POMsg/tns:action")"reject""><sequence><invoke name="salesFollowup" partnerLink="taskMgr" portType="tns:WorkflowTaskManager" operation="create"inputVariable="task"/></sequence></case><otherwise/></switch></sequence></process>
Embodiment two loan application handling processes
This example is the simplification example that bank processes a loan application, and its flow process can be expressed as follows: flow process is from the message of the loan application of receiving the client; If the amount of money of user's apply for loan less than 10000 yuan, then need be checked applicant's credit situation, the risk of its loan of subtend is assessed; If risk is lower, then agree loan application, otherwise the demonstration of providing a loan;
The demonstration if the amount of money of user's apply for loan greater than 10000 yuan, is then directly provided a loan; The most backward user sends the response of agreeing or refusing loan application, and whole flow process finishes.
Referring to the business process map of loan application flow process shown in Figure 6, the concrete steps of using this method that this business process map is changed are as follows:
(1) analytic process
1. generate a token at " reception loan application " beginning event place, this token is numbered 1;
At " is the amount of money more than or equal to 10,000 yuan? " mutual exclusion door place, token 1 will branch into two sub-tokens, and numbering is respectively 1.1 and 1.2;
" credit risk is high? " mutual exclusion door place, token 1.1 will branch into two sub-tokens, and numbering is 1.1.1 and 1.1.2 respectively;
4. at " loan demonstration " task place, will generate a combination token, be numbered (1.2,1.1.1);
" to the user send it back should " the End Event place, token 1.1.2 and (1.2,1.1.1) will merge into initial father's token 1. (token 1.1.2 and token 1.1.1 will merge into first token 1.1, then merge into token 1 with token 1.2)
(2) labeling process
From " reception loan application " beginning event to " to the user send it back should " part the End Event is marked as a piece, " reception loan application " beginning event is the beginning of piece, " to the user send it back should " End Event is the end of piece, the pattern of piece is " it is concurrent that band links ", because there was intersection in different branches before arriving EOB in this piece;
(3) transfer process
1. at first be whole flow process create a process element (<process>), all BPEL elements that are converted to all will be put into this process element; Corresponding code is as follows:
<process name="loanApprovalProcess"suppressJoinFailure="yes"
targetNamespace=”http://acme.com/loanprocessing”
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-
process/"
xmlns:apns="http://tempuri.org/services/loanapprover"
xmlns:asns="http://tempuri.org/services/loanassessor"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-
process/"
xmlns:lns="http://loans.org/wsdl/loan-approval"
xmlns:loandef="http://tempuri.org/services/loandefinitions"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
2. create a sequential element (<sequence 〉), put into process element (this sequential element is called the chief series element below); Corresponding code is as follows:
<sequence name="main">
……
</sequence>
3. begin from " reception loan application " beginning event, to " to the user send it back should " pattern of the piece that finishes of End Event is " band link concurrent ", institute thinks that this piece creates a concurrent element (<flow 〉), puts into the chief series element; Corresponding code is as follows:
<flow>
……
</flow>
4. each business process map element in the piece all will be converted into corresponding BPEL element, and put in the concurrent element; The precedence relationship of carrying out between each business process map element is converted into linking element (<link 〉), put in the concurrent element, simultaneously, each business process map element is being changed in the resulting BPEL element, the initial element of necessary adding (<source 〉) and object element (<target 〉), with the dependence order of control execution; The below is the corresponding code of " reception loan application " beginning event and " risk assessment " task:
<links>
    <link name="receive-to-assess"/>
    <link name="assess-to-setMessage"/>
    <link name="assess-to-approval"/>
    ……
</links>
<receive createInstance="yes"name="receivel" operation="approve" partnerLink="customer"portType="apns:loanApprovalPT" variable="request">
<source linkName="receive-to-approval" transitionCondition="bpws:getVariableData(′request′, ′amount′)>=10000"/>
<source linkName="receive-to-assess" transitionCondition="bpws:getVariableData(′request′, ′amount′)<10000"/>
</receive> ……
<invoke input Variable="request"name="invokeAssessor" operation="check" outputVariable="riskAssessment"partnerLink="assessor" portType="asns:riskAssessmentPT">
<target linkName="receive-to-assess"/>
<source linkName="assess-to-setMessage" transitionCondition="bpws:getVariableData(′riskAssessm ent′,′risk′)=′low/>
<source linkName="assess-to-approval" transitionCondition="bpws:getVariableData(′riskAssessm ent′,′risk′)!=′low/> </invoke>
The visible hereinafter complete code of BPEL file of the corresponding code of other business process map elements.
The complete code of the BPEL file that finally obtains is as follows:<xml version="1.0"encoding="UTF-8"><process name="loanApprovalProcess"suppressJoinFailure="yes" targetNamespace="http://acme.com/loanprocessing" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:apns="http://tempuri.org/services/loanapprover" xmlns:asns="http://tempuri.org/services/loanassessor" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:lns="http://loans.org/wsdl/loan-approval" xmlns:loandef="http://tempuri.org/services/loandefinitions" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><partnerLinks>
<partnerLink myRole="approver"name="customer" partnerLinkType="lns:loanApprovalLinkType"/>
<partnerLink name="approver" partnerLinkType="lns:loanApprovalLinkType" partnerRole="apptover"/>
<partnerLink name="assessor" partnerLinkType="lns:riskAssessmentLinkType"partnerRole="assessor"/>   </partnerLinks>   <variables>
<variable messageType="loandef:creditInformationMessage" name="request"/>   <variable messageType="asns:riskAssessmentMessage" name="riskAssessment"/> <variable messageType="apns:approvalMessage" name="approvalInfo"/>
<variable messageType="loandef:loanRequestErrorMessage" name="error"/>  </variables>   <faultHandlers>
<catch faultName="apns:loanProcessFault" fault Variable="error">
  <reply faultName="apns:loanProcessFault" operation="approve" partnerLink="customer"portType="apns:loanApprovalPT" variable="error"/>
</catch>   </faultHandlers>   <flow>
<links>
  <link name="receive-to-approval"/>
  <link name="receive-to-assess"/>
  <link name="approval-to-reply"/>
  <link name="assess-to-setMessage"/>
  <link name="assess-to-approval"/>
  <link name="setMessage-to-reply"/>
</links>
 <receive createInstance="yes"name="receivel" operation="approve" partnerLink="customer"portType="apns:loan ApprovaIPT" variable="request">
  <source linkName="receive-to-approval" transitionCondition="bpws:getVariableData(′request′, ′amount′)>=10000"/>
  <source linkName="receive-to-assess" transitionCondition="bpws:getVariableData(′request′, ′amount′)<10000"/>
</receive>
<invoke inputVariable="request"name="invokeapprover" operation="approve"outputVariable="approvalInfo" partnerLink="approver"portType="apns:loanApprovalPT">
   <target linkName="receive-to-approval"/>
   <target linkName="assess-to-approval"/>
  <source linkName="approval-to-reply"/>
</invoke>
<invoke inputVariable="request"name="invokeAssessor" operation="check" outputVariable="riskAssessment"partnerLink="assessor" portType="asns:riskAssessmentPT">
<target linkName="receive-to-assess"/>
<source linkName="assess-to-setMessage" transitionCondition="bpws:getVariableData(′riskAssessm ent′,′risk′)=′low/>
<source linkName="assess-to-approval" transitionCondition="bpws:getVariableData(′riskAssessm ent′,′risk′)!=′low/>   </invoke>   <reply name="reply"operation="approve" partnerLink="customer" portType="apns:loanApprovalPT" variable="approvalInfo">
<target linkName="approval-to-reply"/>
<target linkName="setMessage-to-reply"/>   </reply>   <assign name="assign">
<target linkNme="assess-to-setMessage"/>
<source linkName="setMessage-to-reply"/>
<copy>
  <from expression=approved/>
  <to part="accept"variable="approvalInfo"/>
</copy>    </assign>   </flow> </process>

Claims (4)

1. method that business process map is converted to effective language, the method by computer with described business process map be converted to can actual motion BPEL, but realize the execution environment of business events flow path, it is characterized in that the method is carried out following steps:
(1) divide the type of node in the described business process map and define the title of described node and the pattern of numbering, piece and described node and described BPEL in the corresponding relation of structure movement element in the corresponding relation of language element and described pattern and the described BPEL;
(2) read in the operation flow map file, and be converted to internal memory and represent;
(3) analyze described business process map: read the tabulation of all described nodes that described business process map comprises and by the node type of dividing in the step (1) nodes all in the described business process map and sequential flow are carried out respectively token creation;
(4) tagged traffic flow chart: read the tabulation of all described nodes that described business process map comprises and the described token of all described nodes and sequential flow in the described business process map is carried out respectively token process, described token is processed and is comprised described token is merged by the title of definition in the described step (1) and numbering and/or makes up;
(5) transformation service flow chart: read the tabulation of all described nodes that described business process map comprises and pieces all in the described business process map is carried out respectively conversion process, described conversion process comprises that the corresponding relation by structure movement element in the corresponding relation of language element in node described in the described step (1) and the described BPEL and described pattern and the described BPEL is converted to respectively corresponding BPEL element with described node;
(6) transfer process finishes, and obtains the BPEL file that finally obtains.
2. method according to claim 1 is characterized in that, wherein carries out following steps in the method for token creation described in the described step (3):
1) reads the tabulation of all described nodes that described business process map comprises;
2) from described tabulation, read next untreated described node;
3) if this node does not have the sequential flow of inflow, then execution in step 4), otherwise execution in step 5);
4) create an atom token, execution in step 9 for this node);
5) judge whether all sequential flow that flow into this node have all carried described token, if yes, execution in step 6), otherwise execution in step 2);
6) judge whether all described tokens that flow into this node can merge, the entrained described token of all sequential flow of this node generates by same node if flow into, and the number of these tokens is identical with the described token number that this described node generates, then these tokens are merged into original father's token, and execution in step 7), otherwise execution in step 8);
Their father's token, execution in step 9 are merged in the entrained token segmentation of all sequential flow that 7) will flow into this node);
8) when the entrained token of all sequential flow that flows into this node can't be merged into father's token, these tokens will be deposited into and be combined into together a combination token;
9) if this node only has the sequential flow of an outflow, then execution in step 10), otherwise execution in step 11);
10) with 7) or 8) in by merging or make up resulting described token, or 4) in the described token that generates give unique elution order stream of this node, execution in step 12);
11) do not give a sub-token for many elution order flow points of this node, this a little token all is to be generated by this node, wherein, if this node has the sequential flow of many inflows, these tokens that then generate all are 7) or 8) in by merging or make up the sub-token of resulting token; If this node only has the sequential flow of an inflow, then the token of these generations all is the sub-token of the entrained token of this inflow sequential flow; If this node does not have the sequential flow that flows into, then the token of these generations all is 4) in the sub-token of the token that generates;
12) judge whether in addition untreated described node in this is processed, if yes, then execution in step 2), otherwise execution in step 13);
13) judge whether that sequential flow all in the described business process map has all had described token, if yes, then execution in step 14), otherwise execution in step 1);
14) analytic process finishes.
3. method according to claim 1 and 2 is characterized in that, the method for wherein processing at token described in the described step (4) is carried out following steps:
1) reads the tabulation of all described nodes that described business process map comprises;
2) from described tabulation, read next untreated node;
3) if current node does not have the sequential flow of inflow, then execution in step 4), if described current node has and only have the sequential flow of an inflow, then execution in step 8); If described current node has the sequential flow of many inflows, then execution in step 15);
4) if described current node has and only have the sequential flow of an outflow, then execution in step 5); If described current node has the sequential flow of many outflows, then execution in step 6);
5) if described current node has and when the sequential flow of an outflow is only arranged, it is the starting point of a piece that described current node is judged to be, it is the terminal point of this piece that the entrained described token of unique elution order stream of described current node is judged to be finally by the node of crossing, other nodes between this two node, all described nodes that may pass through the process of terminal point of namely walking from starting point along sequential flow are judged to be in this piece, the pattern of this piece is " normally ", execution in step 20);
6) if when described current node has the sequential flow of many outflows, at first obtain the described token in the generation of described current node place, attribute data by this token obtains the in the back corresponding node in the flow process of described current node, be the next node described token is positioned at described current node in the node tabulation after, each the sub-token that also namely branches out from this token reconsolidates next time and is this token;
7) described current node being judged to be is the starting point of a piece, and it is the terminal point of this piece that the corresponding node of described current node is judged to be, and other nodes between this two node are judged to be in this piece, and judge the corresponding modes of this piece, execution in step 20);
8) if described current node does not have the sequential flow of outflow, then execution in step 9); If described current node has and only have the sequential flow of an outflow, then execution in step 10); If described current node has the sequential flow of many outflows, then execution in step 11);
9) if when described current node does not have the sequential flow of outflow, judge that then this node is terminal point and the execution in step 20 of a piece);
10) if described current node has and when the sequential flow of an outflow is only arranged, then judge this node in " normally " piece and execution in step 20);
11) if described current node is the starting point of a loop structure, namely a certain elution order of described current node flows to refer to again get back to and is positioned at the upstream, certain node before described current node, then execution in step 12), otherwise execution in step 13);
12) to be judged to be the starting point of a piece to the described node that the sequential flow of directed upstream is pointed, it is the terminal point of this piece that described current node is judged to be, other described nodes between this two node are judged to be in this piece, and the pattern of this piece is " circulation ", execution in step 20);
13) at first obtain the described token that unique inflow sequential flow of described current node is carried, attribute data by this token obtains the in the back corresponding node in the flow process of described current node, be described token in node tabulation, be positioned at next node after the described current node, each the sub-token that also namely branches out from this token reconsolidates next time and is this token;
14) described current node being judged to be is the starting point of a piece, and it is the terminal point of this piece that the corresponding node of described current node is judged to be, and other the described nodes between this two node are judged to be in this piece, and judge the corresponding modes of this piece; Execution in step 20);
15) if described current node does not have the sequential flow of outflow, then execution in step 16); If described current node has and only have the sequential flow of an outflow, then execution in step 7); If described current node has the sequential flow of many outflows, then execution in step 18);
16) if when described current node does not have the sequential flow of outflow, judge that this node is the terminal point of a piece, execution in step 20);
17) if described current node has and when the sequential flow of an outflow is only arranged, judge that this node is the terminal point of a piece, execution in step 20);
18) if when described current node has the sequential flow of many outflows, at first obtain at described current node place by merging or making up resulting described token, attribute data by this token obtains the in the back corresponding node in the flow process of described current node, be described token in node tabulation, be positioned at next node after the described current node, each the sub-token that also namely branches out from this token reconsolidates next time and is this token;
19) described current node being judged to be is the starting point of a piece, and it is the terminal point of this piece that the corresponding node of described current node is judged to be, and other nodes between this two node are judged to be in this piece, and judge the corresponding modes of this piece; Execution in step 20);
20) judge whether in addition untreated described node in this is processed, if yes, then execution in step 2);
21) judge whether that described nodes all in the described business process map all determined its residing, if yes, then execution in step 22), otherwise execution in step 1);
22) labeling process finishes.
4. method according to claim 3 is characterized in that, wherein carries out following steps in described step (5):
1) reads the tabulation of all described nodes that described business process map comprises;
2) from described tabulation, read next untreated described node;
3) if current node is the starting point of a piece, then execution in step 4); If described current node is the terminal point of a piece, then execution in step 5); If described current node is in a piece, then execution in step 6);
4) if described current node is the starting point of a piece, according to the pattern of this piece, creates corresponding BPEL structure movement element, and put it in the BPEL file of as a result of output; The described BPEL element that all nodes in this piece convert to will all be placed in this structure movement element; Execution in step (7);
5) if when described current node is the terminal point of a piece, judge node in this piece all changed complete, execution in step 7);
6) according to type and the attribute information of described current node, described node is converted to corresponding described BPEL element, and the language element after will being converted is put in the structure movement element corresponding with its place piece;
7) judge whether in addition untreated described node in this is processed, if yes, then execution in step 2);
8) judge whether that described nodes all in the described business process map all changed completely, if yes, then execution in step 9), otherwise execution in step 1);
9) transfer process finishes, the described BPEL file that output finally obtains.
CN 200610066636 2006-04-17 2006-04-17 Method for transforming operation procedure to executing language Pending CN1828532A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200610066636 CN1828532A (en) 2006-04-17 2006-04-17 Method for transforming operation procedure to executing language

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200610066636 CN1828532A (en) 2006-04-17 2006-04-17 Method for transforming operation procedure to executing language

Publications (1)

Publication Number Publication Date
CN1828532A true CN1828532A (en) 2006-09-06

Family

ID=36946945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200610066636 Pending CN1828532A (en) 2006-04-17 2006-04-17 Method for transforming operation procedure to executing language

Country Status (1)

Country Link
CN (1) CN1828532A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009105975A1 (en) * 2008-02-27 2009-09-03 华为技术有限公司 Conversion method and application server of composite scheme of web service
CN102520953A (en) * 2011-12-15 2012-06-27 北京航空航天大学 Page generating method based on BPMN (business process modeling notation) and device
CN102656556A (en) * 2009-12-07 2012-09-05 三菱电机株式会社 Sequence conversion device
CN103077022A (en) * 2012-12-27 2013-05-01 中国建设银行股份有限公司 Visual operation configuration method and device for operation flow
CN112868038A (en) * 2018-10-17 2021-05-28 西门子股份公司 Method and system for formulating business processes in event driven environments
CN114461139A (en) * 2021-12-29 2022-05-10 天津中科曙光存储科技有限公司 Service processing method, device, computer equipment and storage medium
CN115935012A (en) * 2023-02-21 2023-04-07 云筑信息科技(成都)有限公司 Service processing method of process visualization markup language based on xml

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009105975A1 (en) * 2008-02-27 2009-09-03 华为技术有限公司 Conversion method and application server of composite scheme of web service
CN101267452B (en) * 2008-02-27 2011-02-16 华为技术有限公司 A conversion method and application server for WEB service mixing scheme
CN102656556A (en) * 2009-12-07 2012-09-05 三菱电机株式会社 Sequence conversion device
CN102520953A (en) * 2011-12-15 2012-06-27 北京航空航天大学 Page generating method based on BPMN (business process modeling notation) and device
CN102520953B (en) * 2011-12-15 2014-09-03 北京航空航天大学 Page generating method based on BPMN (business process modeling notation) and device
CN103077022A (en) * 2012-12-27 2013-05-01 中国建设银行股份有限公司 Visual operation configuration method and device for operation flow
CN112868038A (en) * 2018-10-17 2021-05-28 西门子股份公司 Method and system for formulating business processes in event driven environments
CN114461139A (en) * 2021-12-29 2022-05-10 天津中科曙光存储科技有限公司 Service processing method, device, computer equipment and storage medium
CN115935012A (en) * 2023-02-21 2023-04-07 云筑信息科技(成都)有限公司 Service processing method of process visualization markup language based on xml
CN115935012B (en) * 2023-02-21 2023-06-23 云筑信息科技(成都)有限公司 Service processing method of flow visual markup language based on xml

Similar Documents

Publication Publication Date Title
CN100347696C (en) Method and system for enterprise business process management
CN1304981C (en) System and method for web-based marketing and compaign management
CN1841376A (en) Data-driven actions for network forms
CN101044498A (en) Workflow services architecture
CN1248139C (en) System and method of presenting channelized data
CN1961329A (en) Methods and apparatus for information hyperchain management for on-demand business collaboration
CN1637710A (en) Method and system for scheduling invocation of web service in data processing basic structure
CN1568458A (en) Method to add new software features without modifying existing code
CN1143208C (en) Apparatus and method for conversion of messages
CN1173285C (en) Method and device for fixing display information, and related soft ware products and storage medium therefor
CN1908892A (en) System and method for test examples design
CN1276575A (en) Database access system
CN1317758A (en) Work administrative system, its appts. and method
CN101044482A (en) Entity based configurable data archiving management system and method
CN1901490A (en) Method, apparatus, and program product for providing web service
CN1823342A (en) Systems and methods for monitoring and controlling business level service level agreements
CN1677365A (en) Test case inheritance controlled via attributes
CN1437812A (en) Method and system for combining configuration parameters for an entity profile
CN1419675A (en) Method and system for top-down business process definition and execution
CN1474979A (en) Custom rule system and method for expert systems
CN1680959A (en) Process editing apparatus and method and process management apparatus and method
CN1601483A (en) Automation software testing system based on script explanatory tool
CN1821956A (en) Using existing content to generate active content wizard executables for execution of tasks
CN1828532A (en) Method for transforming operation procedure to executing language
CN1218223A (en) Method of executing mobile objects and recording medium storing mobile objects

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication