Download Nautica Workflow基本設計書
Transcript
WfMC Version 0.97 0.97 Ver0.9 Ver0.91 Ver0.92 Ver0.93 Ver0.94 Ver0.95 Ver0.96 Ver0.97 2005 2005 2005 2005 2005 2005 2005 2005 3 3 4 5 5 5 5 6 1 15 30 12 16 24 27 6 0.9 2005/03/01 0.91 2005/03/15 20050309.doc 0.91 2005/04/15 20050328.doc 0.92 2005/04/21 0.93 2005/05/12 Ⅲ .2. DB 0.94 2005/05/16 Ⅲ .2. DB ACT_ID 0.95 2005/05/24 Ⅲ .2. DB ID 0.96 2005/05/27 Ⅲ .2. DB 0.97 2005/06/06 Ⅱ. WorkItemHandler reassignWorkItem disconnect 0.98 0.9 2005/9/30 2005/03/09 Ⅱ. 0.91 03/10 0.9 2005/03/28 03/29 0.91 WfMC 0.97 I ............................................................................................................... 1 1 ................................................................................................................... 2 2 ................................................................................................................... 3 2.1 ........................................................................................................ 3 2.2 ............................................................................................................ 3 3 .......................................................................................... 5 4 ............................................................................................................... 8 5 ............................................................................................................... 9 5.1 .................................................................... 9 5.2 ............................................................................................... 11 5.3 ............................................................................................... 11 5.4 ............................................................................................... 12 5.5 ............................................................................................................. 12 6 ..................................................................................................................... 13 6.1 ................................................................................................... 13 6.2 ................................................................................................... 15 6.3 ............................................ 15 7 ................................................................................................................. 16 II ................................................................................................................. 17 1 ................................................................................................................. 18 2 .......................................................................................................... 19 3 ............................................................................................................. 20 3.1 3.1.1 ............................................................................................... 20 XPDL 3.1.2 ....................................................................................... 20 ...................................................................................................... 21 3.2 ................................................................................................... 21 3.2.1 ............................................................................................................. 22 3.2.2 ........................................................................................... 22 3.2.3 XML 3.3 XML ................................................................ 22 .................................................................................... 23 3.3.1 ............................................................................................................. 23 3.3.2 ........................................................................................... 23 3.3.3 3.4 3.4.1 XML XML ................................................................ 23 .................................................................. 24 ............................................................................................................. 24 -i- WfMC 0.97 3.4.2 3.4.3 ........................................................................................... 24 XML 3.5 XML ................................................................ 24 ............................................................................................... 25 3.5.1 ............................................................................................................. 25 3.5.2 ........................................................................................... 25 3.5.3 XML 3.6 XML ................................................................ 25 ...................................................................................................... 26 3.6.1 ............................................................................................................. 26 3.6.2 ........................................................................................... 26 3.6.3 XML 3.7 XML ................................................................ 27 ........................................................................................... 28 3.7.1 ............................................................................................................. 28 3.7.2 ........................................................................................... 28 3.7.3 3.8 XML XML ................................................................ 29 ............................................................................................................. 30 3.8.1 ............................................................................................................. 30 3.8.2 ........................................................................................... 30 3.8.3 XML 3.9 XML ................................................................ 31 ................................................................................................... 31 3.9.1 ............................................................................................................. 31 3.9.2 ........................................................................................... 31 3.9.3 3.10 XML XML ................................................................ 32 ............................................................................................................. 32 3.10.1 3.10.2 3.10.3 4 ................................................................................................... 32 XML XML ................................................................ 33 ........................................................................................ 34 ................................................................................................................. 36 4.1 ............................................................................................................. 36 4.2 Filter .................................................................................................................. 36 4.2.1 ............................................................................................................. 36 4.2.2 ........................................................................................... 37 5 .......................................................................................................... 38 5.1 5.1.1 .......................................................... 38 .................................................................................... 39 5.2 ..................................................................... 39 5.3 ............................................................................................................. 40 - ii - WfMC 0.97 5.4 DefinitionRepository ......................................................................................... 40 5.4.1 ............................................................................................................. 40 5.4.2 ........................................................................................... 41 6 .......................................................... 42 6.1 ............................................................................................................. 42 6.2 WfObject ............................................................................................................ 42 6.2.1 6.3 ............................................................................................................. 42 WfExecutionObject............................................................................................ 42 6.3.1 ............................................................................................................. 42 6.3.2 ........................................................................................... 43 6.4 WfProcess........................................................................................................... 44 6.4.1 ............................................................................................................. 44 6.4.2 ........................................................................................... 44 6.5 WfActivity .......................................................................................................... 45 6.5.1 ............................................................................................................. 45 6.5.2 ........................................................................................... 46 6.6 WfEvent ............................................................................................................. 46 6.6.1 ............................................................................................................. 46 6.6.2 ........................................................................................... 47 6.7 WfRequester ...................................................................................................... 47 6.7.1 ............................................................................................................. 47 6.7.2 ........................................................................................... 48 6.8 WfResource ........................................................................................................ 48 6.8.1 ............................................................................................................. 48 6.8.2 ........................................................................................... 48 6.9 WfAssignment ................................................................................................... 49 6.9.1 ............................................................................................................. 49 6.9.2 ........................................................................................... 49 6.10 WfProcessManager ........................................................................................... 50 6.10.1 .......................................................................................................... 50 6.10.2 ........................................................................................ 50 7 ........................................................................................ 52 7.1 ............................................................................................................. 52 7.2 WorkflowServiceManager................................................................................. 52 7.2.1 ............................................................................................................. 52 7.2.2 ........................................................................................... 52 - iii - WfMC 0.97 7.3 WorkflowEngineHandler .................................................................................. 52 7.3.1 ............................................................................................................. 52 7.3.2 ........................................................................................... 53 7.4 WorkItemHandler ............................................................................................. 54 7.4.1 ............................................................................................................. 55 7.4.2 ........................................................................................... 55 7.5 WorkflowAdminHandler................................................................................... 56 7.5.1 ............................................................................................................. 56 7.5.2 ........................................................................................... 56 7.6 WorkItem ........................................................................................................... 57 7.6.1 ............................................................................................................. 57 7.6.2 ........................................................................................... 57 8 ................................................................................................... 58 8.1 ............................................................................................................. 58 8.2 ToolAgentFactory .............................................................................................. 58 8.2.1 ............................................................................................................. 58 8.2.2 ........................................................................................... 58 8.3 ToolAgent ........................................................................................................... 58 8.3.1 ............................................................................................................. 58 8.3.2 ........................................................................................... 59 8.3.3 ............................................................................................... 59 9 .......................................................................................................... 61 9.1 ................................................................................................................. 61 9.2 ............................................................................................................. 61 9.3 InterWorkflowConnector .................................................................................. 61 9.3.1 ............................................................................................................. 61 9.3.2 ........................................................................................... 61 9.3.3 ............................................................................................... 63 10 ........................................................................................ 64 10.1 .......................................................................................................... 64 10.2 ResourceManagerFactory................................................................................. 64 10.2.1 .......................................................................................................... 64 10.2.2 ........................................................................................ 64 10.3 UserManager..................................................................................................... 65 10.3.1 .......................................................................................................... 65 10.3.2 ........................................................................................ 65 - iv - WfMC 0.97 10.4 OrganizationManager....................................................................................... 65 10.4.1 .......................................................................................................... 65 10.4.2 ........................................................................................ 65 10.5 RoleManager...................................................................................................... 66 10.5.1 .......................................................................................................... 66 10.5.2 ........................................................................................ 66 10.6 User .................................................................................................................... 67 10.6.1 .......................................................................................................... 67 10.6.2 ........................................................................................ 67 10.7 Organization...................................................................................................... 67 10.7.1 .......................................................................................................... 68 10.7.2 ................................................................................ 68 10.8 Role..................................................................................................................... 68 10.8.1 .......................................................................................................... 68 10.8.2 ................................................................................ 68 11 ...................................................................................................... 69 11.1 .......................................................................................................... 69 11.2 SessionManagerFactory ................................................................................... 69 11.2.1 ............................................................................................................. 69 11.2.2 .................................................................................... 69 11.3 SessionManager ................................................................................................ 70 11.3.1 ............................................................................................................. 70 11.3.2 .................................................................................... 70 11.4 Session ............................................................................................................... 71 11.4.1 ............................................................................................................. 71 11.4.2 ........................................................................................... 71 11.5 SimpleSessionManager .................................................................................... 71 11.5.1 11.6 ............................................................................................................. 71 SessionPrincipal................................................................................................ 71 11.6.1 ............................................................................................................. 72 11.6.2 .................................................................................... 72 12 ................................................................................................................. 73 12.1 13 ................................................................................................................. 73 ............................................................................................................. 74 13.1 13.1.1 .................................................................................... 74 .................................................................................... 74 -v- WfMC 0.97 13.1.2 .................................................................................... 75 13.1.3 .............................................................. 95 13.1.4 XPDL 13.2 API ............................................................................................ 97 13.2.1 API ....................................................................................... 99 13.2.2 API ................................................................................ 99 13.2.3 API................................................................ 100 13.2.4 API..................................................... 100 13.3 .............................................................................. 100 13.4 ....................................................................... 101 13.5 ...................................................................................... 101 13.5.1 RMI over IIOP.......................................................................................... 101 13.5.2 Web 13.5.3 Servlet....................................................................................................... 102 13.6 ............................................................................................ 101 ........................................................................... 102 III ........................................................................................................ 103 1 ............................................................................................. 104 1.1 XPDL 1.2 2 ..................................................................... 95 DB ......................................................................................... 104 .................................................................................. 115 ..................................................................................................... 117 2.1 .................................................................................................... 117 2.2 .................................................................................................... 117 2.2.1 2.2.2 KEYSEQ ........................................................... 117 DEFINITION ............................................... 117 2.2.3 (ORGANIZATION) ........................................................................... 118 2.2.4 (USER)........................................................................................... 118 2.2.5 (ROLE)............................................................................................... 118 2.2.6 (ORGUSERMAP) ........................................................... 118 2.2.7 (ORGROLEMAP) ............................................................... 118 2.2.8 (USERROLEMAP) ......................................................... 118 2.2.9 (PROCESS) .......................................................... 118 2.2.10 VARIABLE ......................................... 119 2.2.11 (ACTIVITY)............................................... 119 2.2.12 (WORKITEM) ........................................................................ 120 2.2.13 (WAITPROCACT) .......................... 120 2.2.14 (CONCURBLOCK) ................................................. 120 - vi - WfMC 0.97 2.2.15 (APPEXEC) ...................................................... 121 2.2.16 (PROCESSHIST) ............................................. 121 2.2.17 VARIABLEHIST ....................................... 121 2.2.18 (ACTIVITYHIST).................................. 122 2.2.19 (ETAPROCESS) .......................................................... 122 2.2.20 (ETAACTIVITY) .............................................. 123 IV ...................................................................................................................... 124 1 ................................................................ 125 2 OSS 3 WfMC 4 WfMC ............................. 126 ........................................................ 127 API ............................................................................ 129 4.1 ............................................................................................. 129 4.2 ...................................................................................... 129 4.2.1 ............................................................................................. 129 4.2.2 ...................................................................................... 130 4.2.3 ........................................................................................................... 133 4.2.4 ............................................................................................. 134 4.2.5 API ...................................................................................... 135 4.3 ............................................................................................. 146 4.4 ............................................................................................. 148 4.4.1 ...................................................................................... 148 4.4.2 CWAD ........................................................................................ 149 4.4.3 CWAD ........................................................................................ 149 4.4.4 ................................................................ 149 4.4.5 ..................................................... 150 4.4.6 ...................................................................................... 150 4.4.7 ...................................................................................... 151 - vii - WfMC 0.97 I 1/160 WfMC 0.97 1 100 AP EJB OSS OSS OSS OSS OSS WfMC OSS WfMC WfMC 2/160 1,000 WfMC 0.97 2 2.1 IT 1) 2) 3) 4) OSS 2.2 IT 1) OSS OSS 2) JavaVM OS Windows Linux EJB AP 3) EJB WfMC WfMC WfMC WPDL 3/160 XML 1 XPDL WfMC 0.97 4) 4/160 WfMC 0.97 3 (1) (2) EAI EAI EAI 5/160 WfMC 0.97 EAI (3) EDI EDI EDI EDI A (4) BtoB(Business to Business) 6/160 WfMC 0.97 EDI 7/160 WfMC 0.97 4 OK OK NG NG :NG :NG ==OK ==OK ==NG 8/160 ==NG WfMC 0.97 5 5.1 WfMC OSS WF WF WF ( ( API ( API API API API API XPDL ( ) (1) API API (2) WfMC API API API WfMC C Java 9/160 WfMC 0.97 API WfMC (3) GUI XPDL XPDL (4) GUI 10/160 WfMC 0.97 (5) API RMI Web Servlet (6) 5.2 (1) CPU Pentium4 2.4GHz 512MB HDD 40GB CPU Pentium4 (2) 1.2GHz 256MB HDD 10GB OS Redhat Enterprise Linux ES 2.1 Java VM Sun JRE 1,4 Servlet Jakarta Tomcat 5.0 SOAP Apache Axis 1.2 5.3 (1) 11/160 WfMC 0.97 MySQL 4.1 ActiveMQ 2.0 XML XMLBeans 1.0 OS Redhat Professional Workstation 2.1 (2) Windows XP SP2 Java VM Sun JRE 1.4 SOAP Apache Axis 1.2 XML XMLBeans 1.0 5.4 (1) LAN (2) LAN (3) TCP/IP TCP/IP HTTP IIOP 5.5 VM jar awfconfig/ VM $NAUTICA_HOME 12/160 WfMC 0.97 6 6.1 (1) 1) API 2) 3) 4) XPDL (2) API 1) API API 2) API API 13/160 WfMC 0.97 3) API API 4) API API (3) (4) (5) 1) RMI over IIOP RMI over IIOP 2) API Web Web 3) API Servlet Servlet HTML Web API 4) 14/160 Servlet WfMC 0.97 6.2 (1) 100 10 (2) 3 (3) 8 6.3 SourceForge.jp 15/160 WfMC 0.97 7 GNU Lesser General Public License GNU Lesser General Public License GNU Lesser General Public License GNU General Public License GNU General Public License GNU General Public License 16/160 WfMC 0.97 II 17/160 WfMC 0.97 1 API API TCP IP (RMI over IIOP Web Service Servlet) API XPDL 18/160 API WfMC 0.97 2 ッ ー Servlet ュー Tomcat Web Axis XPDL 19/160 WfMC 0.97 3 3.1 3.1.1 XPDL 20/160 WfMC 0.97 3.1.2 Definition ParticipantDefinition getID() getName() getDescription() PackageDefinition 0..n 0..n ApplicationDefinition 1..n ProcessDefinition 0..n VariableDefinition 0..n ActivityDefinition 0..n ParameterDefinition +2 0..n 0..n Expression eval() Definition PackageDefinition PaticipantDefinition ApplicationDefinition VariableDefinition ProcessDefinition ActivityDefinition TransitionDefinition ParameterDefinition Expression eval() 3.2 21/160 TransitionDefinition WfMC 0.97 3.2.1 3.2.2 java.util.List getApplications() String getAuthor() String getCreatedDate() String getDescription() ID String getID() String getName() java.util.List getParticipants() java.util.List getProcesses() java.util.List getVariables() String getVersion() XPDL String getXPDLVersion() 3.2.3 XML XML XML III <xsd:element name="Package"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:PackageHeader"/> <xsd:element ref="xpdl:RedefinableHeader" minOccurs="0"/> <xsd:element ref="xpdl:ConformanceClass" minOccurs="0"/> <xsd:element ref="xpdl:Script" minOccurs="0"/> <xsd:element ref="xpdl:ExternalPackages" minOccurs="0"/> <xsd:element ref="xpdl:TypeDeclarations" minOccurs="0"/> <xsd:element ref="xpdl:Participants" minOccurs="0"/> <xsd:element ref="xpdl:Applications" minOccurs="0"/> <xsd:element ref="xpdl:DataFields" minOccurs="0"/> <xsd:element ref="xpdl:WorkflowProcesses" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> </xsd:complexType> </xsd:element> 22/160 WfMC 0.97 <xpdl:Package Name=" " Id="PK110717053304600001"> <xpdl:PackageHeader> <xpdl:XPDLVersion>1.0</xpdl:XPDLVersion> <xpdl:Vendor>ARGO 21, Corporation</xpdl:Vendor> <xpdl:Created>2005/1/31</xpdl:Created> <xpdl:Description>aaaa</xpdl:Description> </xpdl:PackageHeader> <xpdl:RedefinableHeader> <xpdl:Author>nito</xpdl:Author> <xpdl:Version>1.0</xpdl:Version> </xpdl:RedefinableHeader> <xpdl:DataFields/> <xpdl:Participants/> <xpdl:Applications/> <xpdl:WorkflowProcesses/> </xpdl:Package> 3.3 3.3.1 3.3.2 String getDescription() ID String getID() String getName() int getType() 3.3.3 XML XML XML III <xsd:element name="Participant"> 23/160 WfMC 0.97 <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:ParticipantType"/> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:element ref="xpdl:ExternalReference" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> </xsd:complexType> </xsd:element> <xpdl:Participant Name=" " Id="PP110717065585900000"> <xpdl:ParticipantType Type="ORGANIZATIONAL_UNIT"/> <xpdl:Description> </xpdl:Description> </xpdl:Participant> 3.4 3.4.1 3.4.2 String getDescription() ID String getID() String getName() java.util.List getParameters() 3.4.3 XML XML XML III <xsd:element name="Application"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:choice> <xsd:element ref="xpdl:FormalParameters"/> <xsd:element ref="xpdl:ExternalReference" minOccurs="0"/> </xsd:choice> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> 24/160 WfMC 0.97 </xsd:complexType> </xsd:element> <xpdl:Application Name=" " Id="AP110717072134300000"> <xpdl:Description> </xpdl:Description> <xpdl:FormalParameters/> </xpdl:Application> 3.5 3.5.1 3.5.2 String getDescription() ID String getID() String getInitialValue() String getName() int getType() 3.5.3 XML XML XML III <xsd:element name="DataField"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:DataType"/> <xsd:element ref="xpdl:InitialValue" minOccurs="0"/> <xsd:element ref="xpdl:Length" minOccurs="0"/> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> <xsd:attribute name="IsArray" default="FALSE"> 25/160 WfMC 0.97 <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="TRUE"/> <xsd:enumeration value="FALSE"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xpdl:DataField Name=" " Id="VR110717083765600000"> <xpdl:DataType> <xpdl:BasicType Type="STRING"/> </xpdl:DataType> <xpdl:InitialValue/> <xpdl:Description> </xpdl:Description> </xpdl:DataField> 3.6 3.6.1 (PUBLIC/PRIVATE) 3.6.2 int getAccessLevel() PUBLIC PRIVATE java.util.List getActivities() String getDescription() int getDurationUnit() 26/160 WfMC 0.97 ID String getID() int getLimit() int getLogicalHeight() int getLogicalWidth() String getName() java.util.List getParameters() java.util.List getTransitions() 3.6.3 XML XML XML III <xsd:element name="WorkflowProcess"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:ProcessHeader"/> <xsd:element ref="xpdl:RedefinableHeader" minOccurs="0"/> <xsd:element ref="xpdl:FormalParameters" minOccurs="0"/> <xsd:element ref="xpdl:DataFields" minOccurs="0"/> <xsd:element ref="xpdl:Participants" minOccurs="0"/> <xsd:element ref="xpdl:Applications" minOccurs="0"/> <xsd:element ref="xpdl:ActivitySets" minOccurs="0"/> <xsd:element ref="xpdl:Activities" minOccurs="0"/> <xsd:element ref="xpdl:Transitions" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> <xsd:attribute name="AccessLevel"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="PUBLIC"/> <xsd:enumeration value="PRIVATE"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xpdl:WorkflowProcess Id="--UNINITIALIZED--" Name=" " AccessLevel="PUBLIC"> <xpdl:ProcessHeader DurationUnit="D"> <xpdl:Limit>0</xpdl:Limit> </xpdl:ProcessHeader> <xpdl:Activities/> <xpdl:Transitions/> <xpdl:ExtendedAttributes> <xpdl:ExtendedAttribute Name="LOGICAL_WIDTH" Value="10"/> <xpdl:ExtendedAttribute Name="LOGICAL_HEIGHT" Value="10"/> </xpdl:ExtendedAttributes> </xpdl:WorkflowProcess> 27/160 WfMC 0.97 3.7 3.7.1 3.7.2 ID String getAffiliateBID() ID ID String getApplicationID() java.util.List getApplicationParameters() ID String getBlockID() 28/160 WfMC 0.97 String getDescription() int getExecution() (SYNCHR) (ASYNCHR) ID String getID() int getLimit() int getLogicalX() X int getLogicalY() Y String getName() String getParentBID() ID String getPerformerID() ID ID ID String getSubprocessID() java.util.List getSubprocessParameters() String getType() 3.7.3 XML XML XML III <xsd:element name="Activity"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:element ref="xpdl:Limit" minOccurs="0"/> <xsd:choice> <xsd:element ref="xpdl:Route"/> <xsd:element ref="xpdl:Implementation"/> <xsd:element ref="xpdl:BlockActivity"/> </xsd:choice> <xsd:element ref="xpdl:Performer" minOccurs="0"/> <xsd:element ref="xpdl:StartMode" minOccurs="0"/> 29/160 WfMC 0.97 <xsd:element ref="xpdl:FinishMode" minOccurs="0"/> <xsd:element ref="xpdl:Priority" minOccurs="0"/> <xsd:element ref="xpdl:Deadline" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="xpdl:SimulationInformation" minOccurs="0"/> <xsd:element ref="xpdl:Icon" minOccurs="0"/> <xsd:element ref="xpdl:Documentation" minOccurs="0"/> <xsd:element ref="xpdl:TransitionRestrictions" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> </xsd:complexType> </xsd:element> <xpdl:Activity Name=" " Id="AC110717113575000000"> <xpdl:Description> </xpdl:Description> <xpdl:Limit>10</xpdl:Limit> <xpdl:Implementation> <xpdl:Tool Id="AP110717072134300000"> <xpdl:ActualParameters> <xpdl:ActualParameter>VR110717083765600000</xpdl:ActualParameter> <xpdl:ActualParameter/> </xpdl:ActualParameters> </xpdl:Tool> </xpdl:Implementation> <xpdl:Performer>PP110717062185900000</xpdl:Performer> <xpdl:ExtendedAttributes> <xpdl:ExtendedAttribute Value="3" Name="LOGICAL_X"/> <xpdl:ExtendedAttribute Value="1" Name="LOGICAL_Y"/> <xpdl:ExtendedAttribute Value="AUTOMATIC" Name="ACTIVITY_TYPE"/> </xpdl:ExtendedAttributes> </xpdl:Activity> 3.8 3.8.1 3.8.2 Expression getCondition() java.lang.String getDescription() ActivityElement getDestination() ID java.lang.String getID() java.lang.String getName() ActivityElement getSource() 30/160 WfMC 0.97 int getType() (CONDITION) (EXCEPTION) (OTHERWISE) 3.8.3 XML XML XML III <xsd:element name="Transition"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Condition" minOccurs="0"/> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="From" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="To" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> </xsd:complexType> </xsd:element> <xpdl:Transition To="AC110717113975000000" From="AC110717113200000000" Name="" Id="TR110717116490600000"> <xpdl:Condition Type="CONDITION"> <awf:ConditionalExpression> <awf:RelationalExpression ComparedValue="bbbb" DataFieldRef="VR110717083765600000" Type="EQUAL"/> </awf:ConditionalExpression> </xpdl:Condition> <xpdl:Description/> </xpdl:Transition> 3.9 3.9.1 3.9.2 String getDescription() ID String getID() int getMode() (IN) (OUT) (INOUT) 31/160 WfMC 0.97 String getName() int getType() 3.9.3 XML XML XML III <xsd:element name="FormalParameter"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:DataType"/> <xsd:element ref="xpdl:Description" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Index" type="xsd:NMTOKEN"/> <xsd:attribute name="Mode" default="IN"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="IN"/> <xsd:enumeration value="OUT"/> <xsd:enumeration value="INOUT"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xpdl:FormalParameter Mode="IN" Id="PM110717076168700000"> <xpdl:DataType> <xpdl:BasicType Type="STRING"/> </xpdl:DataType> <xpdl:Description> </xpdl:Description> </xpdl:FormalParameter> 3.10 3.10.1 eval() Expression 32/160 WfMC 0.97 ConditionalExpression 1 Expression 1 eval() 2 RelationalE xpression ConditionalE xpression LogicalExp ression UnaryExpr ession Expression eval() 1 ConditionalExpression 1 UnaryExpression NOT 2 LogicalExpression AND OR RelationalExpression 3.10.2 XML XML XML III 33/160 WfMC 0.97 C o n ditio n alEx pre s s io n Gro u p U n aryEx pre s s io n Lo g ic alEx pre s s io n Re latio n alEx pre s s io n C o n ditio n alEx pre s s io n U n aryExpre s s io n C o n ditio n alEx pre s s io n G ro u p( 1 :1 ) C o n ditio n alEx pre s s io n G ro u p( 1 :1 ) T ype Lo gic alEx pre s s io n NOT C o n ditio n alEx pre s s io n G ro u p ( 2 :2 ) T ype AN D OR Re latio n alEx pre s s io n D ataFie ldRe f EQ U AL T ype N O T _ EQ U AL C o m pare dValu e LESS_ T H AN LESS_ EQ U AL G REAT ER_ T H AN G REAT ER_ EQ U AL ((! (A == 10)) && (B == 20)) <ConditionDefinition> <LogicalDefinition Type="AND"> <UnaryDefinition Type="NOT"> <RelationalDefinition DataFieldRef="A" Type="EQUAL" ComparedValue="10" /> </UnaryDefinition> <RelationalDefinition DataFieldRef="B" Type="EQUAL" ComparedValue="20" /> </LogicalDefinition> </ConditionDefinition> 3.10.3 (Chain of Responsibility) ((! (A == 10)) && (B == 20)) eval() eval() 34/160 WfMC 0.97 A B C 15 20 46 eval() eval() UnaryExpression ( ConditionnalExpression RelationalExpression ) A == 10 LogicalExpression tru e ( ) ( ) && ( f als e ) RelationalExpression B == 20 tru e tru e tru e 35/160 WfMC 0.97 4 4.1 Filter 0..n getType() getFilterName() getComparison() getFilterString() GroupFilter NameFilter AttributeFilter StateFilter addFilter() 4.2 Filter 4.2.1 API (AND) API NameFilter StateFilter 36/160 WfMC 0.97 AttributeFilter GroupFilter (AND) 4.2.2 int getType() String getFilterName() int getComparison() == != int getFilterString() 37/160 WfMC 0.97 5 5.1 38/160 WfMC 0.97 (createProcess) A 1 X A 1 2 A 2 X B 1 Y 11 12 B B 2 13 B 3 Y 5.1.1 ID ID ID ID ID ID ID ID ID 5.2 39/160 WfMC 0.97 repository XPDL 1. XPDL XPDL XPDL 2. 3. XPDL RDB nautica.definitionRepository.root 5.3 DefinitionRepository 0..n PackageDefinition 5.4 DefinitionRepository 5.4.1 DefinitionRepository XPDL 40/160 XPDL WfMC 0.97 XPDL 5.4.2 DefinitionRepository ProcessDefinition[] getProcessDefinitions( Session session, Filter filter) ProcessDefinitionState[] getProcessDefinitionStates ( Session session, String pdid) void changeProcessDefinitionState ( Session session, String pdid, ProcessDefinitionState state) 41/160 WfMC 0.97 6 6.1 OMG(Object Management Group) (Workflow Management Facility) OMG WfMC WfExecutionObject, WfRequester, WfProcessManager, WfEvent, WfAssignment, WfResoucrce WfObject WfRequester +requester 1 +performers WfProcess +processes 0..n 0..n 1 +container WfProcessManager 1 +source WfExecutionObject +histories 1 +steps 0..n WfEvent 0..n WfStateEvent WfDataEvent WfActivity WfAssignmentEvent 1 +activity WfCreateProcessEvent +assignments 0..n WfAssignment +workItem 0..n 6.2 +assignees WfResource 1 WfObject 6.2.1 WfObject OMG 6.3 BaseBusinessObject WfExecutionObject 6.3.1 WfExecutionObject WfProcess WfActivity 42/160 WfMC 0.97 WfExecutionObject (suspend) (resume) (terminate) (abort) WfExecutionObject 6.3.2 WfExecutionObject ID String getID() String getName() void setName(String name) String getDescription() void setDescription(String desc) String getState() String[] getTransitableStates() void changeState(String state) String getLastStateTime() void resume() open.not_running.suspended open.running void suspend() open.not_running.suspended void terminate() 43/160 WfMC 0.97 closed.terminated void abort() closed.aborted ContextEntry[] getContext() void setContext(ContextEntry[] context) int getHistoryCount() WfEvent getHistory(int index) WfEvent[] getAllHistories() 6.4 WfProcess 6.4.1 WfProcess WfProcess WfRequester WfActivity WfExecutionObject 6.4.2 WfProcess WfRequester getRequester() void setRequester(WfRequester requester) WfRequester WfProcessMgr WfProcessManager getManager() WfProcess 44/160 WfMC 0.97 0 int getStepCount() WfActiviy open WfActivity getStep(int index) WfActivity[] getAllSteps() boolean isMemberOfStep(WfActivity act) WfActivity[] getActivitiesInState (String state) WfProcess void start() open.not_running open.running WfProcess ContextEntry[] getResult() 6.5 WfActivity 6.5.1 WfActivity 1 WfActivity WfProcess WfProcess WfActivity WfActivity WfProcess WfAssignment WfExecutionObject 45/160 WfMC 0.97 6.5.2 WfActivity WfProcess getContainer() WfProcess int getAssignmentCount() WfAssignment getAssignment(int index) WfAssignment[] getAllAssignment() boolean isMemberOfAssignment(WfAssignment ass) WfActivity void complete() setResult() ContextEntry[] getResult() WfActivity void setResult(ContextEntry[] result) WfActivity 6.6 WfEvent 6.6.1 WfEvent OMG WfEventAudit WfEvent WfEvent 46/160 WfMC 0.97 WfExecutionObject getHistory() WfEvent 6.6.2 WfEvent String getEventType() WfExecutionObject getSource() WfExecutionObject String getTtimestamp() String getProcessManagerName() String getProcessManagerVersion() ID String getProcessID() String getProcessName() String getActivityID() ID String getActivityName() 6.7 WfRequester 6.7.1 WfRequester 1 WfRequester 47/160 WfMC 0.97 6.7.2 WfRequester int getPerformerCount() WfProcess getPerformer(int index) WfProcess[] getAllPerformers() boolean isMemberOfPerformer(WfProcess proc) WfProcess void receiveEvent(WfEvent event) WfProcess (complete) (terminate) (abort) (closed) 6.8 WfResource 6.8.1 WfResource WfResource WfAssignment WfActivity 6.8.2 WfResource int getWorkItemCount() WfAssignment getWorkItem(int index) 48/160 WfResource WfMC 0.97 WfAssignment[] getAllWorkItem() boolean isMemberOfWorkItems(WfAssignment ass) ID String getID() String getName() void release(WfAssignment ass, String info) 6.9 WfAssignment 6.9.1 WfAssignment WfActivity WfResource WfAssignment WfAssignment 6.9.2 WfAssignment WfActivity getActivity() WfResource getAssignee() 49/160 WfMC 0.97 void setAssignee(WfResource new_value) 6.10 WfProcessManager 6.10.1 WfProcessManager OMG WfProcessManager WfProcessMgr WfProcess 6.10.2 WfProcessManager int getProcessCount() WfProcess getProcess(int index) WfProcess[] getAllProcesses() boolean isMemberOfProcess(WfProcess member) String getCategory() String getName() String getVersion() String getDescription() String getState() void setState(String state) ContextEntry[] getContextSignature() ContextEntry[] getResultSignature() WfProcess createProcess(WfRequester requester) 50/160 WfProcessManager WfMC 0.97 not_running.not_started 51/160 WfMC 0.97 7 7.1 WorkflowServiceManager WorkItemHandler WorkflowEngineHandler WfAssignment 7.2 WorkItem WorkflowServiceManager WorkflowServiceManager 7.2.1 7.2.2 Session connect(ConnectionInfo ci) void disconnect(Session session) DefinitionRepository getDefinitionRepository(Session session) WorkItemHandler getWorkItemHandler(Session session) WorkflowEngineHandler getWorkflowEngineHandler(Session session) WorkflowAdminHandler getWorkflowAdminHandler(Session session) 7.3 WorkflowEngineHandler 7.3.1 52/160 WorkflowAdminHandler DefinitionRepository WfMC 0.97 7.3.2 String createProcess ( Session session, String pdid, String name) String startProcess ( Session session, String pid) void terminateProcess ( Session session, String pid) ProcessState[] getProcessStates( Session session, String pid, Filter filter) void changeProcessState( Session session, String pid, ProcessState state) Attribute[] getProcessAttributes( Session session, ProcessID pid, Filter filter) Attribute getProcessAttributeValue( Session session, String pid, String name) void assignProcessAttribute( Session session, String pid, Attribute attr) ActivityState[] getActivityStates( Session session, String pid, String aid, 53/160 WfMC 0.97 Filter filter) void changeActivityInstanceState( Session session, String pid, String aid, ActivityState state) Attribute[] getActivityAttributes( Session session, String pid, String aid, Filter filter) Attribute getActivityAttributeValue( Session session, String pid, String aid, String name) void assignActivityAttribute( Session session, String pid, String aid, Attribute attr) Process[] getProcesses( Session session, Filter filter) Process getProcess( Session session, String pid) Activity[] getActivities( Session session, Filter filter) Activity getActivity( Session session, String pid, String aid) 7.4 WorkItemHandler 54/160 WfMC 0.97 7.4.1 7.4.2 WorkItem[] getWorkItems( Session session, Filter filter) WorkItem getWorkItem( Session session, String wid ) void completeWorkItem( Session session, String wid ) WorkItemState[] getWorkItemStates( Session session, String pdid, Filter filter) WorkItemState[] changeWorkItemState ( Session session, String wid, ProcessDefinitionState state) void reassignWorkItem ( Session session, Participant sourceUser, Participant targetUser, String wid) Attribute[] getWorkItemAttributes( Session session, String wid, Filter filter) Attribute getWorkItemAttribute( Session session, 55/160 WfMC 0.97 String wid, String name) void assignWorkItemAttribute( Session session, String wid, Attribute attr) 7.5 WorkflowAdminHandler 7.5.1 7.5.2 void changeProcessesState( Session session, String pdid, Filter filter, ProcessState state) void changeActivitiesState( Session session, String pdid, String adid, Filter filter, ActivityState state) void terminateProcesses( Session session, String pdid, Filter filter) void assignProcessesAttribute( Session session, String pdid, Filter filter, Attribute attr) void assignActivitiesAttribute( 56/160 WfMC 0.97 Session session, String pdid, String adid, Filter filter, Attribute attr) void abortProcesses( Session session, String pdid, Filter filter) void abortProcess( Session session, String pid) 7.6 WorkItem WorkItem 7.6.1 ID 7.6.2 ID String getID() 57/160 WfMC 0.97 8 8.1 ToolAgentFactory MailToolAgentFactory WorkflowProcessToolAgentFactory PnutsToolAgentFactory MailToolAgent SystemCommandToolAgentFactory ToolAgent WorkflowProcessToolAgent PnutsToolAgent 8.2 SystemCommandToolAgent ToolAgentFactory 8.2.1 ToolAgentFactory ToolAgent 8.2.2 ToolAgent getToolAgent() 8.3 ToolAgent 8.3.1 ToolAgent WfMC WfMC 58/160 3 WfMC 0.97 SystemCommandToolAgent MailToolAgent PnutsToolAgent Pnuts WorkflowProcessToolAgent 8.3.2 int invokeApplication( String appName, String wid, Attribute[] attrList, int mode) int requestAppStatus( int toolAgentHandle, String appName, String wid, AttributeList attrList) void terminateApplication( int toolAgentHandle, String wid) 8.3.3 <tool-agents> <agent classname=”xxxxxxxx”> <app name=”aaaa”/> <app name=”bbbb”/> <app name=”cccc”/> </agent> <agent classname=”yyyyyyy”> <app name=”ddd”/> <app name=”eee”/> 59/160 WfMC 0.97 </agent> </tool-agents> 60/160 WfMC 0.97 9 9.1 A changeProcessState() createProcess() getProcessAttributes() getProcessState() setProcessAttributes() triggerActivity() getProcessIDs() relinquishProcess() B processAttributesChanged() processStateChanged() 9.2 InterWorkflowConnector 9.3 InterWorkflowConnector 9.3.1 InterWorkflowConnector 9.3.2 String connect(String seid, String password) ID ID 61/160 WfMC 0.97 void disconnect(String eid) void changeProcessState( String eid, String pid, ProcessState state) String createProcess( String eid, String pdid, int flag, String parentid, String aid, String userid, String roleid) Attribute[] getProcessAttributes( String eid, String pid, String rootid, String aid) ProcessState getProcessState( String eid, String pid) void processAttributesChanged( String eid, String pid, Attribute[] attr) void processStateChanged( String eid, String pid, ProcessState state) void setProcessAttributes( String eid, String rootid, String aid, String pid, Attrbute[] attr) 62/160 WfMC 0.97 void triggerActivity( String eid, String rootid, String aid, String pid) String[] listProcesses( String eid, Filter filter) void relinquishProcess( String eid, String pid) 9.3.3 <engine-config> <engine id="xxx" password="passxxx" /> <remote-engines> <engine id="aaa" password="password" url="iiop://aaa.jp:1050" /> <engine id="bbb" password="password" url="iiop://bbb.jp:1050" /> </remote-engines> </engine-config> 63/160 WfMC 0.97 10 10.1 WfResource User 1 1 Organization 1 Role SystemRole UserManager OrganizationManager RoleManager ResourceManagerFactory 10.2 ResourceManagerFactory 10.2.1 ResourceManagerFactory nautica.userManager nautica.organizationManager nautica.roleManager 10.2.2 UserManager getUserManager() 64/160 WfMC 0.97 OrganizationManager getOrganizationManager() RoleManager getRoleManager() 10.3 UserManager 10.3.1 UserManager API 10.3.2 User createUser( String uid, String password, Attribute[] attr) ID void updateUser(User user) void deleteUser(User user) uid User getUser(String uid) User[] getAllUsers() boolean checkUserExistence(String uid) 10.4 OrganizationManager 10.4.1 OrganizationManager API 10.4.2 ID Organization createOrganization(Attribute[] attr) void updateOrganization(Organization org) void deleteOrganization(Organization org) 65/160 WfMC 0.97 Organization getOrganization(String oid) Organization[] getAllOrganizations() boolean checkOrganizationExistence(String oid) Organization[] getAllOrganizations(String oid) . void addAlias(String key, Organization org) Organization getOrganizationByArias(String alias) void assignOrganization( Organization assigner, Organization assignee) void resignOrganization(Organization resignee) Organization getHigherOrganization(Organization org) Organization[] getLowerOrganizations(Organization org) void assignUser(Organization org, User user) void ressignUser(Organization org, User user) User[] getAssignedUser(Organization org) Organization[] getOrganizationByUser(User user) 10.5 RoleManager 10.5.1 RoleManager API 10.5.2 void registerRole(String role) 66/160 WfMC 0.97 void eraseRole(String role) void attachRole(Organization org, String role) void attachRole(User user, String role) void detachRole(Organization org, String role) void detachRole(User user, String role) String[] getAllRoles() String[] getAttachedRoles(Organization org) String[] getAttachedRoles(User user) 10.6 User 10.6.1 User 10.6.2 ID String getID() String getAttribute(String name) void updateAttribute(String name, String attr) String[] getAllAttributeNames() void authenticate(String password) void changeAuthenticationInfo( String oldPassword, String newPassword) 10.7 Organization 67/160 WfMC 0.97 10.7.1 Organization 10.7.2 ID String getID() String getAttribute(String name) String[] getAllAttributeNames() void updateAttribute(String name, String attr) 10.8 Role 10.8.1 Role 10.8.2 ID String getID() String getName() 68/160 WfMC 0.97 11 11.1 SessionManagerFactory SessionManager SimpleSessionManager 0..n Session SessionPrincipal 11.2 SessionManagerFactory 11.2.1 nautica.sessionManager 11.2.2 69/160 WfMC 0.97 SessionManager getSessionManager() 11.3 SessionManager 11.3.1 SimpleSessionManager 11.3.2 String validateSession(String sid) ID ID null ID ID 70/160 WfMC 0.97 String validateSession( ID String sid, String uid, String password) ID null ID (SessionPrincipal) ID ID ID ID void invalidateSession(String sid) 11.4 Session 11.4.1 11.4.2 ID String getID() String getValue(String key) 11.5 SimpleSessionManager 11.5.1 ID ID 11.6 SessionPrincipal 71/160 WfMC 0.97 11.6.1 SessionPrincipal SimpleSessionManager 11.6.2 ID String getID() User getUser() Date getCreatedTime() Date getLastAccessedTime() public String getAttribute(String key) public void setAttribute(String key, String value) public boolean containsAttributeKey(String key) String getAllAttributeKeys() 72/160 WfMC 0.97 12 12.1 Jakarta log4J 73/160 WfMC 0.97 13 13.1 13.1.1 (1) (2) JORAM Geronimo Apache Apache Jakarta ActiveMQ JMS 1.1 ActiveMQ BerkeleyDB 1.5 JMS 1.1 OpenJMS 0.7 × △ △ ActiveMQ 2.0 ○ ○ △ JORAM 4.1 ○ ○ ○ (3) JMS 1.1 74/160 ○ WfMC 0.97 (4) JMS 1.1 MessageListener onMessage() 13.1.2 (1) API (2) 1 open.not_running.not_started 3, 4, 5, 6 2 open.not_running.suspended 3, 4, 5, 6 3 2, 4, 5, open.running 6 4 closed.completed 5 closed.terminated 75/160 WfMC 0.97 6 closed.aborted open closed completed not_running not_started running terminated suspended aborted open.not_running.not_started open.running closed.completed (3) createProcess() startProcess() complete() 76/160 WfMC 0.97 (4) createProcess() startProcess() changeState() (5) createProcess() startProcess() 77/160 WfMC 0.97 (6) createProcess() startProcess() abort() (7) 1) user passwd ID connect ID disconnect 78/160 WfMC 0.97 2) ID ID createProcess ID XPDL XPDL ID ID startProcess 3) XPDL XPDL onMessage(JMS) 79/160 WfMC 0.97 4) onMessage(JMS) Activity: start onMessage(JMS) Activity: complete 5) 80/160 XPDL XPDL WfMC 0.97 6) onMessage(JMS) Activity: start 7) ID getWorkItems 81/160 WfMC 0.97 8) ID ID getWorkItem ID 9) ID ID ID getWorkItem Attributes OK ID ID OK 82/160 WfMC 0.97 10) ID ID ID getWorkItemAttribute OK ID ID OK 11) ID ID ID completeWorkItem OK OK 83/160 WfMC 0.97 12) onMessage(JMS) Activity: complete 84/160 XPDL XPDL WfMC 0.97 13) onMessage(JMS) Activity: start ID invokeApplication 85/160 WfMC 0.97 14) ID ID ID completeWorkItem ID disconnect 15) onMessage(JMS) Activity: complete 86/160 XPDL XPDL WfMC 0.97 16) Activity: start onMessage(JMS) connect ID ID createProcess ID ID ID XPDL XPDL startProcess 87/160 WfMC 0.97 17) onMessage(JMS) Activity: complete XPDL XPDL 18) onMessage(JMS) Activity: start 88/160 WfMC 0.97 19) onMessage(JMS) Activity: complete 89/160 XPDL XPDL WfMC 0.97 20) onMessage(JMS) Activity: start 21) onMessage(JMS) Activity: complete 90/160 XPDL XPDL WfMC 0.97 22) onMessage(JMS) Activity: start 23) onMessage(JMS) Activity: complete 91/160 WfMC 0.97 24) onMessage(JMS) Process: complete 92/160 WfMC 0.97 (8) 1) XPDL XPDL Activity: terminate (terminated) 93/160 WfMC 0.97 2) ID ID abortProcess Process: abort Running Activity: abort Process: abort ToolAgent: terminateApplication aborted) 94/160 WfMC 0.97 13.1.3 (9) 13.1.4 XPDL (1) XML XPDL WfMC 3.1 1) ID XPDL 2) ID ID 95/160 WfMC 0.97 3) ID ID ID ID 4) ID ID ID 5) ID 6) ID 7) ID (2) XPDL Apache 96/160 WfMC 0.97 XMLBeans 1.0 (3) 13.2 API WfMC API API No Java API WfMC API 1 WAPI Connection Functions 1 WMConnect() WorkflowEngineHandler connect() 2 WMDisconnect() WorkflowEngineHandler disconnect() DefinitionRepository getProcessDefinitions() DefinitionRepository getProcessDefinitionStates() 2 WAPI Process Control Functions 3 WMOpenProcessDefinitionsList() 4 WMFetchProcessDefinition() 5 WMCloseProcessDefinitionsList() 6 WMOpenProcessDefinitionStatesList() 7 WMFetchProcessDefinitionState() 8 WMCloseProcessDefinitionStatesList() 9 WMChangeProcessDefinitionState() DefinitionRepository changeProcessDefinitionState() 10 WMCreateProcessInstance() WorkflowEngineHandler createProcess() 11 WMStartProcess() WorkflowEngineHandler startProcess() 12 WMTerminateProcessInstance() WorkflowEngineHandler terminateProcess() 13 WMOpenProcessInstanceStatesList() WorkflowEngineHandler getProcessStates() 14 WMFetchProcessInstanceState() 15 WMCloseProcessInstanceStatesList() 16 WMChangeProcessInstanceState() WorkflowEngineHandler changeProcessState() 17 WMOpenProcessInstanceAttributesList() WorkflowEngineHandler getProcessAttributes() 18 WMFetchProcessInstanceAttribute() 19 WMCloseProcessInstanceAttributesList() 20 WMGetProcessInstanceAttributeValue() WorkflowEngineHandler getProcessAttributeValue() 21 WMAssignProcessInstanceAttribute() WorkflowEngineHandler assignProcessAttribute() WorkflowEngineHandler getActivityStates() 3 WAPI Activity Control Functions 22 WMOpenActivityInstanceStatesList() 23 WMFetchActivityInstanceState() 24 WMCloseActivityInstanceStatesList() 25 WMChangeActivityInstanceState() WorkflowEngineHandler changeActivityState() 26 WMOpenActivityInstanceAttributesList() WorkflowEngineHandler getActivityAttributes() 27 WMFetchActivityInstanceAttribute() 97/160 WfMC 0.97 28 WMCloseActivityInstanceAttributesList() 29 WMGetActivityInstanceAttributeValue() WorkflowEngineHandler getActivityAttributeValue() 30 WMAssignActivityInstanceAttribute() WorkflowEngineHandler assignActivityAttribute() WorkflowEngineHandler getProcesses() WorkflowEngineHandler getProcess() WorkflowEngineHandler getActivities() WorkflowEngineHandler getActivity() WorkItemHandler getWorkItems() getWorkItem() 4 WAPI Process Status Functions 31 WMOpenProcessInstancesList() 32 WMFetchProcessInstance() 33 WMCloseProcessInstancesList() 34 WMGetProcessInstance() 5 WAPI Activity Status Functions 35 WMOpenActivityInstancesList() 36 WMFetchActivityInstance() 37 WMCloseActivityInstancesList() 38 WMGetActivityInstance() 6 WAPI Worklist Functions 39 WMOpenWorkList() 40 WMFetchWorkItem() 41 WMCloseWorkList() 42 WMGetWorkItem() WorkItemHandler 43 WMCompleteWorkItem() WorkItemHandler completeWorkItem() 44 WMOpenWorkitemStatesList() WorkItemHandler getWorkitemStates() 45 WMFetchWorkitemState() 46 WMCloseWorkitemStatesList() 47 WMChangeWorkitemState() WorkItemHandler changeWorkitemState() 48 WMReassignWorkItem() WorkItemHandler reassignWorkItem() 49 WMOpenWorkItemAttributesList() WorkItemHandler getWorkItemAttributes() 50 WMFetchWorkItemAttribute() 51 WMCloseWorkItemAttributesList() 52 WMGetWorkItemAttributeValue() WorkItemHandler getWorkItemAttributeValue() 53 WMAssignWorkItemAttribute() WorkItemHandler assignWorkItemAttribute() 7 WAPI Administration Functions 54 WMChangeProcessInstancesState() WorkflowAdminHandler changeProcessesState() 55 WMChangeActivityInstancesState() WorkflowAdminHandler changeActivitiesState() 56 WMTerminateProcessInstances() WorkflowAdminHandler terminateProcesses() 57 WMAssignProcessInstancesAttribute() WorkflowAdminHandler assignProcessesAttribute() 58 WMAssignActivityInstancesAttribute() WorkflowAdminHandler assignActivitiesAttribute() 59 WMAbortProcessInstances() WorkflowAdminHandler abortProcesses() 60 WMAbortProcessInstance() WorkflowAdminHandler abortProcess() ToolAgent invokeApplication() 8 WAPI Application Invocation Functions 61 WMTAConnect & WMTADisconnect() 62 WMTAConnect & WMTADisconnect() 63 WMTAInvokeApplication() 64 WMTARequestAppStatus() ToolAgent requestAppStatus() 65 WMTATerminateApp() ToolAgent terminateApplication() 66 InterWorkflowConnector changeProcessState() 67 InterWorkflowConnector createProcess() 68 InterWorkflowConnector getProcessAttributes() 69 InterWorkflowConnector getProcessState() 70 InterWorkflowConnector processAttributesChanged() 71 InterWorkflowConnector processStateChanged() 9 98/160 WfMC 0.97 72 InterWorkflowConnector setProcessAttributes() 72 InterWorkflowConnector triggerActivity() 73 InterWorkflowConnector getProcessIDs() 74 InterWorkflowConnector relinquishProcess() API 13.2.1 (1) API WfMC - API API 13.2.2 (1) API WfMC - API 99/160 WfMC 0.97 API 13.2.3 (1) API WfMC - API API 13.2.4 (1) API API 13.3 (1) GUI 100/160 WfMC - WfMC 0.97 XPDL 13.4 (1) GUI 13.5 13.5.1 RMI over IIOP (1) API Java (RMI) LAN (2) Java RMI CORBA J2SE COS Tomcat Tomcat 13.5.2 Web (1) API SOAP 101/160 Web WfMC 0.97 SOAP (2) Web Apache Axis 2.0 Axis Axis Jakarta Tomcat 5.0 Web Java Axis 13.5.3 Servlet Servlet (1) API Servlet Web Servlet HTML Web (2) Servlet Jakarta Servlet Tomcat 5.0 13.6 (1) API 102/160 WfMC 0.97 III 103/160 WfMC 0.97 1 1.1 XPDL WfMC XPDL XML WfMC http:///www.wfmc.org <?xml version="1.0" encoding="UTF-8"?> <xsd:schema targetNamespace=http://www.wfmc.org/2002/XPDL1.0 xmlns:xpdl=http://www.wfmc.org/2002/XPDL1.0 xmlns:xsd=http://www.w3.org/2001/XMLSchema elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:element name="Activities"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Activity" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Activity"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:element ref="xpdl:Limit" minOccurs="0"/> <xsd:choice> <xsd:element ref="xpdl:Route"/> <xsd:element ref="xpdl:Implementation"/> <xsd:element ref="xpdl:BlockActivity"/> </xsd:choice> <xsd:element ref="xpdl:Performer" minOccurs="0"/> <xsd:element ref="xpdl:StartMode" minOccurs="0"/> <xsd:element ref="xpdl:FinishMode" minOccurs="0"/> <xsd:element ref="xpdl:Priority" minOccurs="0"/> <xsd:element ref="xpdl:Deadline" minOccurs="0" maxOccurs="unbounded"/> <xsd:element ref="xpdl:SimulationInformation" minOccurs="0"/> <xsd:element ref="xpdl:Icon" minOccurs="0"/> <xsd:element ref="xpdl:Documentation" minOccurs="0"/> <xsd:element ref="xpdl:TransitionRestrictions" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> </xsd:complexType> </xsd:element> <xsd:element name="ActivitySet"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Activities" minOccurs="0"/> <xsd:element ref="xpdl:Transitions" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> </xsd:complexType> </xsd:element> 104/160 WfMC 0.97 <xsd:element name="ActivitySets"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:ActivitySet" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="ActualParameter" type="xsd:string"/> <xsd:element name="ActualParameters"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:ActualParameter" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Application"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:choice> <xsd:element ref="xpdl:FormalParameters"/> <xsd:element ref="xpdl:ExternalReference" minOccurs="0"/> </xsd:choice> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> </xsd:complexType> </xsd:element> <xsd:element name="Applications"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Application" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="ArrayType"> <xsd:complexType> <xsd:group ref="xpdl:DataTypes"/> <xsd:attribute name="LowerIndex" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="UpperIndex" type="xsd:NMTOKEN" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="Author" type="xsd:string"/> <xsd:element name="Automatic"> <xsd:complexType/> </xsd:element> <xsd:element name="BasicType"> <xsd:complexType> <xsd:attribute name="Type" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="STRING"/> <xsd:enumeration value="FLOAT"/> <xsd:enumeration value="INTEGER"/> <xsd:enumeration value="REFERENCE"/> <xsd:enumeration value="DATETIME"/> <xsd:enumeration value="BOOLEAN"/> <xsd:enumeration value="PERFORMER"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> 105/160 WfMC 0.97 </xsd:element> <xsd:element name="BlockActivity"> <xsd:complexType> <xsd:attribute name="BlockId" type="xsd:NMTOKEN" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="Codepage" type="xsd:string"/> <xsd:element name="Condition"> <xsd:complexType mixed="true"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="xpdl:Xpression"/> </xsd:choice> <xsd:attribute name="Type"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="CONDITION"/> <xsd:enumeration value="OTHERWISE"/> <xsd:enumeration value="EXCEPTION"/> <xsd:enumeration value="DEFAULTEXCEPTION"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="ConformanceClass"> <xsd:complexType> <xsd:attribute name="GraphConformance"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="FULL_BLOCKED"/> <xsd:enumeration value="LOOP_BLOCKED"/> <xsd:enumeration value="NON_BLOCKED"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="Cost" type="xsd:string"/> <xsd:element name="CostUnit" type="xsd:string"/> <xsd:element name="Countrykey" type="xsd:string"/> <xsd:element name="Created" type="xsd:string"/> <xsd:element name="DataField"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:DataType"/> <xsd:element ref="xpdl:InitialValue" minOccurs="0"/> <xsd:element ref="xpdl:Length" minOccurs="0"/> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> <xsd:attribute name="IsArray" default="FALSE"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="TRUE"/> <xsd:enumeration value="FALSE"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="DataFields"> 106/160 WfMC 0.97 <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:DataField" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="DataType"> <xsd:complexType> <xsd:group ref="xpdl:DataTypes"/> </xsd:complexType> </xsd:element> <xsd:group name="DataTypes"> <xsd:choice> <xsd:element ref="xpdl:BasicType"/> <xsd:element ref="xpdl:DeclaredType"/> <xsd:element ref="xpdl:SchemaType"/> <xsd:element ref="xpdl:ExternalReference"/> <xsd:element ref="xpdl:RecordType"/> <xsd:element ref="xpdl:UnionType"/> <xsd:element ref="xpdl:EnumerationType"/> <xsd:element ref="xpdl:ArrayType"/> <xsd:element ref="xpdl:ListType"/> </xsd:choice> </xsd:group> <xsd:element name="Deadline"> <xsd:complexType> <xsd:sequence> <xsd:element name="DeadlineCondition" minOccurs="1" maxOccurs="1"/> <xsd:element name="ExceptionName" minOccurs="1" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="Execution"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="ASYNCHR"/> <xsd:enumeration value="SYNCHR"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="DeclaredType"> <xsd:complexType> <xsd:attribute name="Id" type="xsd:IDREF" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="Description" type="xsd:string"/> <xsd:element name="Documentation" type="xsd:string"/> <xsd:element name="Duration" type="xsd:string"/> <xsd:element name="EnumerationType"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:EnumerationValue" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="EnumerationValue"> <xsd:complexType> <xsd:attribute name="Name" type="xsd:NMTOKEN" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="ExtendedAttribute"> <xsd:complexType mixed="true"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> 107/160 WfMC 0.97 <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:choice> <xsd:attribute name="Name" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Value" type="xsd:string"/> </xsd:complexType> </xsd:element> <xsd:element name="ExtendedAttributes"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:ExtendedAttribute" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="ExternalPackage"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="href" type="xsd:string"/> </xsd:complexType> </xsd:element> <xsd:element name="ExternalPackages"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:ExternalPackage" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="ExternalReference"> <xsd:complexType> <xsd:attribute name="xref" type="xsd:NMTOKEN" use="optional"/> <xsd:attribute name="location" type="xsd:anyURI" use="required"/> <xsd:attribute name="namespace" type="xsd:anyURI" use="optional"/> </xsd:complexType> </xsd:element> <xsd:element name="FinishMode"> <xsd:complexType> <xsd:choice> <xsd:element ref="xpdl:Automatic"/> <xsd:element ref="xpdl:Manual"/> </xsd:choice> </xsd:complexType> </xsd:element> <xsd:element name="FormalParameter"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:DataType"/> <xsd:element ref="xpdl:Description" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Index" type="xsd:NMTOKEN"/> <xsd:attribute name="Mode" default="IN"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="IN"/> <xsd:enumeration value="OUT"/> <xsd:enumeration value="INOUT"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="FormalParameters"> 108/160 WfMC 0.97 <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:FormalParameter" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Icon" type="xsd:string"/> <xsd:element name="Implementation"> <xsd:complexType> <xsd:choice> <xsd:element ref="xpdl:No"/> <xsd:element ref="xpdl:Tool" maxOccurs="unbounded"/> <xsd:element ref="xpdl:SubFlow"/> </xsd:choice> </xsd:complexType> </xsd:element> <xsd:element name="InitialValue" type="xsd:string"/> <xsd:element name="Join"> <xsd:complexType> <xsd:attribute name="Type"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="AND"/> <xsd:enumeration value="XOR"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="Length" type="xsd:string"/> <xsd:element name="Limit" type="xsd:string"/> <xsd:element name="ListType"> <xsd:complexType> <xsd:group ref="xpdl:DataTypes"/> </xsd:complexType> </xsd:element> <xsd:element name="Manual"> <xsd:complexType/> </xsd:element> <xsd:element name="Member"> <xsd:complexType> <xsd:group ref="xpdl:DataTypes"/> </xsd:complexType> </xsd:element> <xsd:element name="No"> <xsd:complexType/> </xsd:element> <xsd:element name="Package"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:PackageHeader"/> <xsd:element ref="xpdl:RedefinableHeader" minOccurs="0"/> <xsd:element ref="xpdl:ConformanceClass" minOccurs="0"/> <xsd:element ref="xpdl:Script" minOccurs="0"/> <xsd:element ref="xpdl:ExternalPackages" minOccurs="0"/> <xsd:element ref="xpdl:TypeDeclarations" minOccurs="0"/> <xsd:element ref="xpdl:Participants" minOccurs="0"/> <xsd:element ref="xpdl:Applications" minOccurs="0"/> <xsd:element ref="xpdl:DataFields" minOccurs="0"/> <xsd:element ref="xpdl:WorkflowProcesses" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> 109/160 WfMC 0.97 <xsd:attribute name="Name" type="xsd:string"/> </xsd:complexType> </xsd:element> <xsd:element name="PackageHeader"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:XPDLVersion"/> <xsd:element ref="xpdl:Vendor"/> <xsd:element ref="xpdl:Created"/> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:element ref="xpdl:Documentation" minOccurs="0"/> <xsd:element ref="xpdl:PriorityUnit" minOccurs="0"/> <xsd:element ref="xpdl:CostUnit" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Participant"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:ParticipantType"/> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:element ref="xpdl:ExternalReference" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> </xsd:complexType> </xsd:element> <xsd:element name="ParticipantType"> <xsd:complexType> <xsd:attribute name="Type" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="RESOURCE_SET"/> <xsd:enumeration value="RESOURCE"/> <xsd:enumeration value="ROLE"/> <xsd:enumeration value="ORGANIZATIONAL_UNIT"/> <xsd:enumeration value="HUMAN"/> <xsd:enumeration value="SYSTEM"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="Participants"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Participant" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Performer" type="xsd:string"/> <xsd:element name="Priority" type="xsd:string"/> <xsd:element name="PriorityUnit" type="xsd:string"/> <xsd:element name="ProcessHeader"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Created" minOccurs="0"/> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:element ref="xpdl:Priority" minOccurs="0"/> <xsd:element ref="xpdl:Limit" minOccurs="0"/> <xsd:element ref="xpdl:ValidFrom" minOccurs="0"/> <xsd:element ref="xpdl:ValidTo" minOccurs="0"/> 110/160 WfMC 0.97 <xsd:element ref="xpdl:TimeEstimation" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="DurationUnit"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="Y"/> <xsd:enumeration value="M"/> <xsd:enumeration value="D"/> <xsd:enumeration value="h"/> <xsd:enumeration value="m"/> <xsd:enumeration value="s"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="RecordType"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Member" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="RedefinableHeader"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Author" minOccurs="0"/> <xsd:element ref="xpdl:Version" minOccurs="0"/> <xsd:element ref="xpdl:Codepage" minOccurs="0"/> <xsd:element ref="xpdl:Countrykey" minOccurs="0"/> <xsd:element ref="xpdl:Responsibles" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="PublicationStatus"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="UNDER_REVISION"/> <xsd:enumeration value="RELEASED"/> <xsd:enumeration value="UNDER_TEST"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="Responsible" type="xsd:string"/> <xsd:element name="Responsibles"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Responsible" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Route"> <xsd:complexType/> </xsd:element> <xsd:element name="SchemaType"> <xsd:complexType> <xsd:sequence> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Script"> <xsd:complexType> 111/160 WfMC 0.97 <xsd:attribute name="Type" type="xsd:string" use="required"/> <xsd:attribute name="Version" type="xsd:string" use="optional"/> <xsd:attribute name="Grammar" type="xsd:anyURI" use="optional"/> </xsd:complexType> </xsd:element> <xsd:element name="SimulationInformation"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Cost"/> <xsd:element ref="xpdl:TimeEstimation"/> </xsd:sequence> <xsd:attribute name="Instantiation"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="ONCE"/> <xsd:enumeration value="MULTIPLE"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="Split"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:TransitionRefs" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Type"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="AND"/> <xsd:enumeration value="XOR"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="StartMode"> <xsd:complexType> <xsd:choice> <xsd:element ref="xpdl:Automatic"/> <xsd:element ref="xpdl:Manual"/> </xsd:choice> </xsd:complexType> </xsd:element> <xsd:element name="SubFlow"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:ActualParameters" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:string" use="required"/> <xsd:attribute name="Execution"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="ASYNCHR"/> <xsd:enumeration value="SYNCHR"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="TimeEstimation"> <xsd:complexType> <xsd:sequence> 112/160 WfMC 0.97 <xsd:element ref="xpdl:WaitingTime" minOccurs="0"/> <xsd:element ref="xpdl:WorkingTime" minOccurs="0"/> <xsd:element ref="xpdl:Duration" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Tool"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:ActualParameters" minOccurs="0"/> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Type"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="APPLICATION"/> <xsd:enumeration value="PROCEDURE"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="Transition"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Condition" minOccurs="0"/> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="From" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="To" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> </xsd:complexType> </xsd:element> <xsd:element name="TransitionRef"> <xsd:complexType> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="TransitionRefs"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:TransitionRef" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="TransitionRestriction"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Join" minOccurs="0"/> <xsd:element ref="xpdl:Split" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="TransitionRestrictions"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:TransitionRestriction" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> 113/160 WfMC 0.97 </xsd:element> <xsd:element name="Transitions"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Transition" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="TypeDeclaration"> <xsd:complexType> <xsd:sequence> <xsd:group ref="xpdl:DataTypes"/> <xsd:element ref="xpdl:Description" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:ID" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> </xsd:complexType> </xsd:element> <xsd:element name="TypeDeclarations"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:TypeDeclaration" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="UnionType"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:Member" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="ValidFrom" type="xsd:string"/> <xsd:element name="ValidTo" type="xsd:string"/> <xsd:element name="Vendor" type="xsd:string"/> <xsd:element name="Version" type="xsd:string"/> <xsd:element name="WaitingTime" type="xsd:string"/> <xsd:element name="WorkflowProcess"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:ProcessHeader"/> <xsd:element ref="xpdl:RedefinableHeader" minOccurs="0"/> <xsd:element ref="xpdl:FormalParameters" minOccurs="0"/> <xsd:element ref="xpdl:DataFields" minOccurs="0"/> <xsd:element ref="xpdl:Participants" minOccurs="0"/> <xsd:element ref="xpdl:Applications" minOccurs="0"/> <xsd:element ref="xpdl:ActivitySets" minOccurs="0"/> <xsd:element ref="xpdl:Activities" minOccurs="0"/> <xsd:element ref="xpdl:Transitions" minOccurs="0"/> <xsd:element ref="xpdl:ExtendedAttributes" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/> <xsd:attribute name="Name" type="xsd:string"/> <xsd:attribute name="AccessLevel"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="PUBLIC"/> <xsd:enumeration value="PRIVATE"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> 114/160 WfMC 0.97 </xsd:element> <xsd:element name="WorkflowProcesses"> <xsd:complexType> <xsd:sequence> <xsd:element ref="xpdl:WorkflowProcess" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="WorkingTime" type="xsd:string"/> <xsd:element name="XPDLVersion" type="xsd:string"/> <xsd:element name="Xpression"> <xsd:complexType mixed="true"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xsd:choice> </xsd:complexType> </xsd:element> </xsd:schema> 1.2 XML <?xml version="1.0" encoding="UTF-8"?> <xsd:schema targetNamespace=http://www.argo21.co.jp/argonoautica/workflow xmlns:awf=http://www.argo21.co.jp/argonoautica/workflow xmlns:xsd=http://www.w3.org/2001/XMLSchema elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:element name="ConditionalExpression"> <xsd:complexType> <xsd:group ref="awf:ConditionalExpressionGroup" minOccurs="1" maxOccurs="1"/> </xsd:complexType> </xsd:element> <xsd:group name="ConditionalExpressionGroup"> <xsd:choice> <xsd:element ref="awf:UnaryExpression"/> <xsd:element ref="awf:LogicalExpression"/> <xsd:element ref="awf:RelationalExpression"/> </xsd:choice> </xsd:group> <xsd:element name="UnaryExpression"> <xsd:complexType> <xsd:sequence> <xsd:group ref="awf:ConditionalExpressionGroup" minOccurs="1" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="Type" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="NOT"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="LogicalExpression"> <xsd:complexType> <xsd:sequence> <xsd:group ref="awf:ConditionalExpressionGroup" minOccurs="2" maxOccurs="2"/> 115/160 WfMC 0.97 </xsd:sequence> <xsd:attribute name="Type" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="OR"/> <xsd:enumeration value="AND"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> <xsd:element name="RelationalExpression"> <xsd:complexType> <xsd:attribute name="DataFieldRef" type="xsd:string" use="required"/> <xsd:attribute name="ComparedValue" type="xsd:string" use="required"/> <xsd:attribute name="Type" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="EQUAL"/> <xsd:enumeration value="NOT_EQUAL"/> <xsd:enumeration value="LESS_THAN"/> <xsd:enumeration value="LESS_EQUAL"/> <xsd:enumeration value="GREATER_THAN"/> <xsd:enumeration value="GREATER_EQUAL"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> </xsd:schema> 116/160 WfMC 0.97 2 DB 2.1 ID No 1 KEYSEQ 2 DEFINITION 3 ORGANIZATION 4 USER 5 ROLE 6 ORGUSERMAP 7 ORGROLEMAP 8 USERROLEMAP 10 PROCESS 11 VARIABLE 12 ACTIVITY 13 WORKITEM 14 WAITPROCACT 15 CONCURBLOCK 16 APPEXEC 17 PROCESSHIST 18 VARIABLEHIST 19 ACTIVITYHIST 20 ETAPROCESS 21 ETAACTIVITY M/T M 2.2 2.2.1 KEYSEQ ID NAME 32 SEQ 19 2.2.2 ○ ○ ○ DEFINITION DEFINITION ID NAME 128 PATH 128 117/160 ○ ○ ○ 0 +1 WfMC 0.97 PROC_DEF_ID ID 64 ○ REGISTER_DATE ○ DEF_STATE 2.2.3 1 ○ (ORGANIZATION) ID ORG_ID ID 64 ORG_NAME 128 RESPONSIBLE_ID ID HIGHER_ORG_ID 2.2.4 ○ ○ ○ 64 ID 64 (USER) ID USER_ID ID 64 ○ ○ FIRST_NAME 64 ○ LAST_NAME 64 ○ PASSWORD 64 ○ MAIL_ADDRESS 64 ○ 2.2.5 (ROLE) ID ROLE_ID ID 64 ROLE_NAME 2.2.6 ○ 128 ○ ○ (ORGUSERMAP) ID ORG_ID ID USER_ID 2.2.7 ID 64 ○ ○ 64 ○ ○ (ORGROLEMAP) ID ROLE_ID ID 64 ○ ○ ORG_ID ID 64 ○ ○ 64 ○ ○ 64 ○ ○ 64 ○ ○ 2.2.8 (USERROLEMAP) ID ROLE_ID USER_ID 2.2.9 ID ID (PROCESS) ID PROC_ID 118/160 enable/disable WfMC 0.97 ID PACKAGE_ID ID PROC_DEF_ID ID 64 ○ 64 ○ START_DATE ○ ID STARTER_ID 64 ○ `__SYSTEM__’ DURATION_LIMIT ○ PROC_STATE 1 ○ UPDATE_DATE VARIABLE 2.2.10 ID 64 VAR_ID ○ ○ ID PROC_ID 64 ○ 64 ○ TYPE 1 ○ VALUE 512 ○ ID VAR_DEF_ID ID UPDATE_DATE (ACTIVITY) (ACTIVITY) 2.2.11 ID PROC_ID 64 ○ ○ 64 ○ ○ ID ACT_ID ID 64 ACT_DEF_ID ○ ID START_DATE STARTER_ID ○ 64 119/160 0 not_started WfMC 0.97 DURATION_LIMIT ○ 0 64 BLOCK_ID NULL ID ACT_STATE 1 ○ not_started ID ACTOR_ID ID 64 `__SYSTEM__’ UPDATE_DATE 2.2.12 (WORKITEM) ID WORK_ID ID 64 PROC_ID ○ ○ 64 ○ 64 ○ ID ACT_ID ID PARTICIPANT_TYPE 1 PARTICIPANT_NAME 128 (WAITPROCACT) 2.2.13 ID PROC_ID 64 ○ 64 ○ 64 ○ 64 ○ ID ACT_ID ID SUBPROC_ID ID 2.2.14 (CONCURBLOCK) ID BLOCK_ID ID 120/160 WfMC 0.97 UPPER_BLOCK_ID ID 64 NULL PROC_ID 64 ○ 64 ○ ID ACT_ID ID (APPEXEC) 2.2.15 ID APP_NAME 64 ○ ○ TOOL_AGENT 64 ○ ○ EXEC_ID 19 ○ ○ ID START_DATE STARTER_ID 64 END_DATE APP_STATE 1 not_started (PROCESSHIST) 2.2.16 ID PROC_ID 64 ○ 64 ○ 64 ○ ID PACKAGE_ID PROC_DEF_ID ID ID PREV_ STATE 1 NEW_STATE 1 UPDATE_DATE REASON 2.2.17 128 VARIABLEHIST ID VAR_ID 64 121/160 ○ WfMC 0.97 ID 64 ○ 64 ○ TYPE 1 ○ PREV_ VALUE 512 NEW_VALUE 512 PROC_ID ID VAR_DEF_ID ID ○ UPDATE_DATE ○ 128 REASON 64 ACT_ID ID (ACTIVITYHIST) 2.2.18 ID PROC_ID 64 ○ 64 ○ 64 ○ ID ACT_ID ID ACT_DEF_ID ID ID ACTOR_ID ID 64 `__SYSTEM__’ PREV_ STATE 1 NEW_STATE 1 ○ UPDATE_DATE ○ 128 REASON 2.2.19 (ETAPROCESS) ID ENGINE_ID ID 64 ○ ○ PROCESS_ID ID 64 ○ ○ 122/160 WfMC 0.97 ROOT_PROC_ID ID ROOT_ACT_ID 64 ○ 64 ○ ID (ETAACTIVITY) 2.2.20 ID PROCESS_ID ID 64 ENGINE_ID ID 64 ○ ROOT_PROC_ID ID 64 ○ 64 ○ ROOT_ACT_ID ID 123/160 ○ ○ WfMC 0.97 IV 124/160 WfMC 0.97 1 WfMC IF1 IF2 IF3 IF4 IF5 NEC 1,200,000 ActiveFlow 300,000 10 ○ 100,000 ○ PANAGON Groupmax 1,890,000 GreenOffice 6,000,000/1CPU FormWave 4,097,000 ActiveEnterprise Staffware 26 WfMC ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 2004 125/160 ○ 10 ○ ○ ) WfMC 0.97 2 OSS OpenSymphony OpenWFE BSD EJB ○ ○ ○ ○ ○ Servlet ○ × × × ○ ○ × × × × ○ ○ ○ ○ ○ ○ ○ ○ × ○ ○ ○ × ○ × XPDL XPDL × × × × × × × × × × × × WfMC API -4 API -5 Google 2004 126/160 10 ) Workflow Apache -2 & 3 ObjectWeb LGPL -1 Bonita Enhydra LGPL Web Shark 本本本本システム LGPL WfMC 0.97 3 WfMC (1) WPDL(Workflow Process Definition Language) XML XPDL(XML Process Definition Language) (2) 2&3 C (3) 4 2&3 (4) 5 127/160 C WfMC 0.97 128/160 WfMC 0.97 4 WfMC API WfMC WfMC C Java Java 4.1 WfMC XPDL(XML Process Definition Language) III. 4.2 4.2.1 API C ) API Java 8bit typedef char WMTInt8; int 16bit typedef short WMTInt16; int 32bit 8bit 16bit 32bit 8bit 16bit 32bit typedef long WMTInt32; int typedef unsigned char WMTUInt8; Java int typedef unsigned short WMTUInt16; Java int typedef unsigned long WMTUInt32; Java int typedef WMTInt8 WMTText; Java 16bit Unicode 16bit char typedef WMTText *WMTPText; Java String typedef WMTInt8 *WMTPInt8; Java Integer typedef WMTInt16 *WMTPInt16; Java Integer Typedef WMTInt32 *WMTPInt32; Java Integer Typedef WMTInt8 WMTBoolean; 129/160 WfMC 0.97 8bit NULL boolean typedef WMTUInt8 *WMTPointer; Java Object typedef WMTText *WMTPPrivate; Java Object #define WMNULL ((WMTPointer)0) null #define WMFalse 0 false #define WMTrue (!WMFalse) true 4.2.2 API C ) API Java ID ID #define NAME_STRING_SIZE 64 WorkflowConstants static final int NAME_STRING_SIZE = 64; WMTText user_identification[NAME_STRING_SIZE]; String #define UNIQUE_ID_SIZE 64 WorkflowConstants static final int UNIQUE_ID_SIZE = 64; ID String typedef struct { WMTInt16 main_code; WMTInt16 sub_code; } WMTErrRetType; Java WorkflowException public class WorkflowException extends Exception { public int getMainCode(); public int getSubCode(); } typedef struct { WMTText user_identification[NAME_STRING_SIZE]; WMTText password[NAME_STRING_SIZE]; WMTText engine_name[NAME_STRING_SIZE]; WMTText scope[NAME_STRING_SIZE]; } WMTConnectInfo; typedef WMTConnectInfo *WMTPConnectInfo; Java public class ConnectionInfo { String userIdentification; String password; String engineName; String scope; } typedef struct { WMTUInt32 session_id; WMTPPrivate pprivate; } WMTSessionHandle; typedef WMTSessionHandle *WMTPSessionHandle; 130/160 WfMC 0.97 Java Session typedef struct { WMTInt32 filter_type; WMTInt32 filter_length; WMTText attribute_name[NAME_STRING_SIZE]; WMTUInt32 comparison; WMTPText filter_string; } WMTFilter; typedef WMTFilter *WMTPFilter; Java public class Filter { int filterType; String attributeName; int comparison; String filterString; } typedef struct { WMTUInt32 query_handle; }WMTQueryHandle; typedef WMTQueryHandle *WMTPQueryHandle; Java ID ID typedef struct { WMTText wf_participant[NAME_STRING_SIZE]; } WMTWflParticipant; typedef WMTWflParticipant *WMTPWflParticipant; Java WfResource typedef struct { WMTText proc_def_id[UNIQUE_ID_SIZE]; } WMTProcDefID; typedef WMTProcDefID *WMTPProcDefID; Java ID String typedef struct { WMTText activity_id[NAME_STRING_SIZE]; }WMTActivityID; typedef WMTActivityID *WMTPActivityID; Java ID String typedef struct { WMTText proc_def_state[NAME_STRING_SIZE]; } WMTProcDefState; typedef WMTProcDefState *WMTPProcDefState; Java public class ProcessDefinitionState implements ObjectState { } 131/160 WfMC 0.97 typedef struct { WMTText process_name[NAME_STRING_SIZE]; WMTProcDefID proc_def_id; WMTProcDefState state; } WMTProcDef; typedef WMTProcDef *WMTPProcDef; Java public class ProcessDefinition { String name; String id; String state; } typedef struct { WMTText proc_inst_id[UNIQUE_ID_SIZE]; }WMTProcInstID; Java ID String typedef struct { WMTText proc_inst_state[NAME_STRING_SIZE]; } WMTProcInstState; typedef WMTProcInstState *WMTPProcInstState; Java ID ID public class ProcessState implements ObjectState { } typedef struct { WMTText process_name[NAME_STRING_SIZE]; WMTProcInstID proc_inst_id; WMTProcDefID proc_def_id; WMTProcInstState state; WMTInt32 priority; WMTWflParticipant proc_participants[20]; } WMTProcInst; typedef WMTProcInst *WMTPProcInst; Java WfProcess typedef struct { WMTText activity_inst_id[UNIQUE_ID_SIZE]; }WMTActivityInstID; typedef WMTActivityInstID *WMTPActivityInstID; Java ID String typedef struct { WMTText activity_inst_state[NAME_STRING_SIZE]; } WMTActivityInstState; typedef WMTActivityInstState *WMTPActivityInstState; Java public class ActivityState implements ObjectState { } 132/160 WfMC 0.97 ID typedef struct { WMTText activity_name[NAME_STRING_SIZE]; WMTActivityInstID activity_inst_id; WMTProcInstID proc_inst_id; WMTActivityInstState state; WMTInt32 priority; WMTWflParticipant activity_participants[10]; } WMTActivityInst; typedef WMTActivityInst *WMTPActivityInst; Java WfActivity typedef struct { WMTText work_item_id[UNIQUE_ID_SIZE]; }WMTWorkItemID; typedef WMTWorkItemID *WMTPWorkItemID; Java ID String typedef struct { WMTText workitem_name[NAME_STRING_SIZE]; WMTWorkItemID workitem_id; WMTActivityInstID activity_inst_id; WMTProcInstID proc_inst_id; WMTInt32 priority; WMTWflParticipant participant; } WMTWorkItem; typedef WMTWorkItem *WMTPWorkItem; Java WorkItem typedef struct { WMTText attribute_name[NAME_STRING_SIZE]; WMTInt32 attribute_type; WMTInt32 attribute_length; WMTPText pattribute_value; } WMTAttribute; typedef WMTAttribute *WMTPAttribute; Java public class Attribute { String name; int type; String value; } typedef struct { WMTInt32 attribute_number; WMTPAttribute pattribute; WMTNextAttr *WMTAttributeList } WMTAttributeList; typedef WMTAttributeList *WMTPAttributeList; 4.2.3 API C ) API Java WMTText attribute_name[NAME_STRING_SIZE]; String WMTInt32 attribute_type; 133/160 WfMC 0.97 int WMWorkflowConstants static final int ATTR_STRING_TYPE = 1; static final int ATTR_INTEGER_TYPE = 2; static final int ATTR_BOOLEAN_TYPE = 3; WMTInt32 attribute_length; WMTPText pattribute_value; String typedef WMTText WMTAttrName[NAME_STRING_SIZE]; typedef WMTAttrName *WMTPAttrName; 4.2.4 API C ) API Java API WM_SUCCESS WM_CONNECT_FAILED WM_INVALID_PROCESS_DEFINITION WM_INVALID_ACTIVITY_NAME WM_INVALID_PROCESS_INSTANCE WM_INVALID_ACTIVITY_INSTANCE WM_INVALID_WORKITEM WM_INVALID_ATTRIBUTE WM_ATTRIBUTE_ASSIGNMENT_FAILED WM_INVALID_STATE WM_TRANSITION_NOT_ALLOWED WM_INVALID_SESSION_HANDLE WM_INVALID_QUERY_HANDLE WM_INVALID_SOURCE_USER WM_INVALID_TARGET_USER WM_INVALID_FILTER WM_LOCKED WM_NOT_LOCKED WM_NO_MORE_DATA WM_INSUFFICIENT_BUFFER_SIZE WM_APPLICATION_BUSY WM_INVALID_APPLICATION WM_INVALID_WORK_ITEM WM_APPLICATION_NOT_STARTED WM_APPLICATION_NOT_DEFINED WM_APPLICATION_NOT STOPPED 134/160 WfMC 0.97 WM_SUCCESS WorkflowException ConnectionFailedException InvalidProcessDefinitionException InvalidActivityNameException InvalidProcessInstanceException InvalidActivityInstanceException InvalidWorkItemException InvalidAttributeException AttributeAssignmentFailedException InvalidStateException TransitionNotAllowedException InvalidSessionException InvalidQueryException InvalidSourceUserException InvalidTargetUserException InvalidFilterException LockedException NotLockedException NoMoreDataException InsufficientBufferSizeException ApplicationBusyException InvalidApplicationException ApplicationNotStartedException ApplicationNotDefinedException ApplicationNotStoppedException 4.2.5 API (1) API C ) API Java 7.2.2 7.2.2 WMTErrRetType WMConnect ( in WMTPConnectInfo pconnect_info, out WMTPSessionHandle psession_handle) WorkflowEngineHandler Session connect(ConnectionInfo ci) throws WorkflowException WMTErrRetType WMDisconnect ( in WMTPSessionHandle psession_handle) WorkflowEngineHandler void disconnect(Session session) throws WorkflowException (2) API C ) API Java 5.4.2 WMTErrRetType WMOpenProcessDefinitionsList ( in WMTPSessionHandle psession_handle, in WMTPFilter pproc_def_filter, in WMTBoolean count_flag, out WMTPQueryHandle pquery_handle, out WMTPInt32 pcount) ProcessDefinition[] getProcessDefinitions( Session session, Filter filter) throws WorkflowException 135/160 WfMC 0.97 WMTErrRetType WMFetchProcessDefinition ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle, out WMTPProcDef pproc_def_buf_ptr) WMTErrRetType WMCloseProcessDefinitionsList( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle) 5.4.2 WMTErrRetType WMOpenProcessDefinitionStatesList ( in WMTPSessionHandle psession_handle, in WMTPProcDefID pproc_def_id, in WMTPFilter pproc_def_state_filter, in WMTBoolean count_flag, out WMTPQueryHandle pquery_handle, out WMTUInt32 pcount) ProcessDefinitionState[] getProcessDefinitionStates ( Session session, String pdid) throws WorkflowException WMTErrRetType WMFetchProcessDefinitionState ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle, out WMTPProcDefState pproc_def_state) WMTErrRetType WMCloseProcessDefinitionStatesList ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle) 5.4.2 7.3.2 7.3.2 WMTErrRetType WMChangeProcessDefinitionState ( in WMTPSessionHandle psession_handle, in WMTPProcDefID pproc_def_id, in WMTPProcDefState pproc_def_state) void changeProcessDefinitionState ( Session session, String pdid, ProcessDefinitionState state) throws WorkflowException WMTErrRetType WMCreateProcessInstance ( in WMTPSessionHandle psession_handle, in WMTPProcDefID pproc_def_id, in WMTPText pproc_inst_name, out WMTPProcInstID pproc_inst_id) String createProcess ( Session session, String pdid, String name) throws WorkflowException WMTErrRetType WMStartProcess ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, out WMTPProcInstID pnew_proc_inst_id) String startProcess ( Session session, String pid) throws WorkflowException 136/160 WfMC 0.97 7.3.2 WMTErrRetType WMTerminateProcessInstance ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id) void terminateProcess ( Session session, String pid) throws WorkflowException 7.3.2 WMTErrRetType WMOpenProcessInstanceStatesList ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPFilter pproc_inst_state_filter, in WMTBoolean count_flag, out WMTPQueryHandle pquery_handle, out WMTPInt32 pcount) ProcessState[] getProcessStates ( Session session, String pid, Filter filter) throws WorkflowException WMTErrRetType WMFetchProcessInstanceState ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle, out WMTPProcInstState pproc_inst_state) WMTErrRetType WMCloseProcessInstanceStatesList ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle) 7.3.2 7.3.2 WMTErrRetType WMChangeProcessInstanceState ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPProcInstState pproc_inst_state) void changeProcessState( Session session, String pid, ProcessState state) throws WorkflowException WMTErrRetType WMOpenProcessInstanceAttributesList ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPFilter pproc_inst_attr_filter, in WMTBoolean count_flag, out WMTPQueryHandle pquery_handle, out WMTPInt32 pcount) Attribute[] getProcessAttributes( Session session, String pid, Filter filter) throws WorkflowException WMTErrRetType WMFetchProcessInstanceAttribute ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle, out WMTPAttrName pattribute_name, out WMTPInt32 pattribute_type, out WMTPInt32 pattribute_length, out WMTPText pattribute_value, in WMTInt32 buffer_size) 137/160 WfMC 0.97 WMTErrRetType WMCloseProcessInstanceAttributesList ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle) 7.3.2 7.3.2 WMTErrRetType WMGetProcessInstanceAttributeValue ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPAttrName pattribute_name, out WMTPInt32 pattribute_type, out WMTPInt32 pattribute_length, out WMTPText pattribute_value, in WMTInt32 buffer_size) Attribute getProcessAttributeValue( Session session, String pid, String name) throws WorkflowException WMTErrRetType WMAssignProcessInstanceAttribute ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPAttrName pattribute_name, in WMTInt32 attribute_type, in WMTInt32 attribute_length, in WMTPText pattribute_value) void assignProcessAttribute( Session session, String pid, Attribute attr) throws WorkflowException (3) API C ) API Java 7.3.2 WMTErrRetType WMOpenActivityInstanceStatesList ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPActivityInstID pactivity_inst_id, in WMTPFilter pact_inst_state_filter, in WMTBoolean count_flag, out WMTPQueryHandle pquery_handle, out WMTPInt32 pcount) ActivityState[] getActivityStates( Session session, String pid, String aid, Filter filter) throws WorkflowException WMTErrRetType WMFetchActivityInstanceState ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle, out WMTPActivityInstState pactivity_inst_state) WMTErrRetType WMClos*-eActivityInstanceStatesList ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle) 138/160 WfMC 0.97 7.3.2 7.3.2 WMTErrRetType WMChangeActivityInstanceState ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPActivityInstID pactivity_inst_id, in WMTPActivityInstState pactivity_inst_state) void changeActivityInstanceState( Session session, String pid, String aid, ActivityState state) throws WorkflowException WMTErrRetType WMOpenActivityInstanceAttributesList ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPActivityInstID pactivity_inst_id, in WMTPFilter pact_inst_attr_filter, in WMTBoolean count_flag, out WMTPQueryHandle pquery_handle, out WMTPInt32 pcount) Attribute[] getActivityAttributes( Session session, String pid, String aid, Filter filter) throws WorkflowException WMTErrRetType WMFetchActivityInstanceAttribute ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle, out WMTPAttrName pattribute_name, out WMTPInt32 pattribute_type, out WMTPInt32 pattribute_length, out WMTPText pattribute_value, in WMTInt32 buffer_size) WMTErrRetType WMCloseActivityInstanceAttributesList ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle) 7.3.2 WMTErrRetType WMGetActivityInstanceAttributeValue ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPActivityInstID pactivity_inst_id, in WMTPAttrName pattribute_name, out WMTPInt32 pattribute_type, out WMTPInt32 pattribute_length, out WMTPText pattribute_value, in WMTInt32 buffer_size) Attribute getActivityAttributeValue( Session session, String pid, String aid, String name) throws WorkflowException 139/160 WfMC 0.97 7.3.2 WMTErrRetType WMAssignActivityInstanceAttribute ( in WMTPSessionHandle psession_handle, in WMTPProcDefID pproc_def_id, in WMTPActivityInstID pactivity_inst_id, in WMTPAttrName pattribute_name, in WMTInt32 attribute_type, in WMTInt32 attribute_length, in WMTPText pattribute_value) void assignActivityAttribute( Session session, String pid, String aid, Attribute attr) throws WorkflowException (4) API C ) API Java 7.3.2 WMTErrRetType WMOpenProcessInstancesList ( in WMTPSessionHandle psession_handle, in WMTPFilter pproc_inst_filter, in WMTBoolean count_flag, out WMTPQueryHandle pquery_handle, out WMTPInt32 pcount) Process[] getProcesses( Session session, Filter filter) throws WorkflowException WMTErrRetType WMFetchProcessInstance ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle, out WMTPProcInst pproc_inst_buf_ptr) WMTErrRetType WMCloseProcessInstancesList ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle) 7.3.2 WMTErrRetType WMGetProcessInstance ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, out WMTPProcInst pproc_inst) Process getProcess( Session session, String pid) throws WorkflowException (5) API C ) API Java 7.3.2 WMTErrRetType WMOpenActivityInstancesList ( in WMTPSessionHandle psession_handle, in WMTPFilter pactivity_inst_filter, in WMTBoolean count_flag, out WMTPQueryHandle pquery_handle, out WMTPInt32 pcount) 140/160 WfMC 0.97 Activity[] getActivities( Session session, Filter filter) throws WorkflowException WMTErrRetType WMFetchActivityInstance ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle, out WMTPActivityInst pactivity_inst) WMTErrRetType WMCloseActivityInstancesList ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle) 7.3.2 WMTErrRetType WMGetActivityInstance ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPActivityInstID pactivity_inst_id, out WMTPActivityInst pactivity_inst ) Activity getActivity( Session session, String pid, String aid) throws WorkflowException (6) API C ) API Java 7.4.2 WMTErrRetType WMOpenWorkList ( in WMTPSessionHandle psession_handle, in WMTPFilter pworklist_filter, in WMTBoolean count_flag, out WMTPQueryHandle pquery_handle, out WMTPInt32 pcount) WorkItem[] getWorkItems( Session session, Filter filter) throws WorkflowException WMTErrRetType WMFetchWorkItem ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle, out WMTPWorkItem pwork_item) WMTErrRetType WMCloseWorkList ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle) 7.4.2 WMTErrRetType WMGetWorkItem ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPWorkItemID pwork_item_id, out WMTPWorkItem pwork_item ) WorkItem getWorkItem( Session session, String wid ) throws WorkflowException 141/160 WfMC 0.97 7.4.2 7.4.2 WMTErrRetType WMCompleteWorkItem ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPWorkItemID pwork_item_id) void completeWorkItem( Session session, String wid ) throws WorkflowException WMTErrRetType WMOpenWorkitemStatesList ( in WMTPSessionHandle psession_handle, in WMTPProcDefID pproc_def_id, in WMTPFilter pworkitem_state_filter, in WMTBoolean count_flag, out WMTPQueryHandle pquery_handle, out WMTUInt32 pcount) WorkItemState[] getWorkItemStates( Session session, String pdid, Filter filter) throws WorkflowException WMTErrRetType WMFetchWorkitemState ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle, out WMTPProcDefState pworkitem_state) WMTErrRetType WMCloseWorkitemStatesList ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle) 7.4.2 7.4.2 WMTErrRetType WMChangeWorkitemState ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPWorkItemID pwork_item_id, in WMTPProcDefState pworkitem_state) WorkItemState[] changeWorkItemState ( Session session, String wid, ProcessDefinitionState state) throws WorkflowException WMTErrRetType WMReassignWorkItem ( in WMTPSessionHandle psession_handle, in WMTPWflParticipant psource_user, in WMTPWflParticipant ptarget_user, in WMTPProcInstID pproc_inst_id, in WMTPWorkItemID pwork_item_id) void reassignWorkItem ( Session session, WfResource sourceUser, WfResource targetUser, String wid) throws WorkflowException 142/160 WfMC 0.97 7.4.2 WMTErrRetType WMOpenWorkItemAttributesList ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPWorkItemID pwork_item_id, in WMTPFilter pwork_item_attr_filter, in WMTBoolean count_flag, out WMTPQueryHandle pquery_handle, out WMTPInt32 pcount) Attribute[] getWorkItemAttributes( Session session, String wid, Filter filter) throws WorkflowException WMTErrRetType WMFetchWorkItemAttribute ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle, out WMTPAttrName pattribute_name, out WMTPInt32 pattribute_type, out WMTPInt32 pattribute_length, out WMTPText pattribute_value, in WMTInt32 buffer_size) WMTErrRetType WMCloseWorkItemAttributesList ( in WMTPSessionHandle psession_handle, in WMTPQueryHandle pquery_handle) 7.4.2 7.4.2 WMTErrRetType WMGetWorkItemAttributeValue ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPWorkItemID pwork_item_id, in WMTPAttrName pattribute_name, out WMTPInt32 pattribute_type, out WMTPInt32 pattribute_length, out WMTPText pattribute_value, in WMTInt32 buffer_size) Attribute getWorkItemAttribute( Session session, String wid, String name) throws WorkflowException WMTErrRetType WMAssignWorkItemAttribute ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id, in WMTPWorkItemID pwork_item_id, in WMTPAttrName pattribute_name, in WMTInt32 attribute_type, in WMTInt32 attribute_length, in WMTPText pattribute_value) void assignWorkItemAttribute( Session session, String wid, Attribute attr) throws WorkflowException (7) API C ) API Java 143/160 WfMC 0.97 7.5.2 7.5.2 7.5.2 7.5.2 7.5.2 WMTErrRetType WMChangeProcessInstancesState ( in WMTPSessionHandle psession_handle, in WMTPProcDefID pproc_def_id, in WMTPFilter pproc_inst_filter, in WMTPProcInstState pproc_inst_state) void changeProcessesState( Session session, String pdid, Filter filter, ProcessState state) throws WorkflowException WMTErrRetType WMChangeActivityInstancesState ( in WMTPSessionHandle psession_handle, in WMTPProcDefID pproc_def_id, in WMTPActivityID pactivity_def_id, in WMTPFilter pact_inst_filter, in WMTPActivityInstState pactivity_inst_state) void changeActivitiesState( Session session, String pdid, String adid, Filter filter, ActivityState state) throws WorkflowException WMTErrRetType WMTerminateProcessInstances ( in WMTPSessionHandle psession_handle, in WMTPProcDefID pproc_def_id, in WMTPFilter pproc_inst_filter) void terminateProcesses( Session session, String pdid, Filter filter) throws WorkflowException WMTErrRetType WMAssignProcessInstancesAttribute ( in WMTPSessionHandle psession_handle, in WMTPProcDefID pproc_def_id, in WMTPFilter pproc_inst_filter, in WMTPAttrName pattribute_name, in WMTInt32 attribute_type, in WMTInt32 attribute_length, in WMTPText pattribute_value) void assignProcessesAttribute( Session session, String pdid, Filter filter, Attribute attr) throws WorkflowException WMTErrRetType WMAssignActivityInstancesAttribute ( in WMTPSessionHandle psession_handle, in WMTPProcDefID pproc_def_id, in WMTPActivityID pactivity_def_id, in WMTPFilter pact_inst_filter, in WMTPAttrName pattribute_name, in WMTInt32 attribute_type, in WMTInt32 attribute_length, in WMTPText pattribute_value) 144/160 WfMC 0.97 7.5.2 7.5.2 void assignActivitiesAttribute( Session session, String pdid, String adid, Filter filter, Attribute attr) throws WorkflowException WMTErrRetType WMAbortProcessInstances ( in WMTPSessionHandle psession_handle, in WMTPProcDefID pproc_def_id, in WMTPFilter pproc_inst_filter) void abortProcesses( Session session, String pdid, Filter filter) throws WorkflowException WMTErrRetType WMAbortProcessInstance ( in WMTPSessionHandle psession_handle, in WMTPProcInstID pproc_inst_id) void abortProcess(Session session, String pid) throws WorkflowException (8) API C ) API Java WMTAConnect() invokeApplication ID WMTADisconnect() 8.3.2 8.3.2 int WMTAInvokeApplication ( in int tool_agent_handle, in string application_name, in WMTPProcInstID pproc_inst_id, in WMTPWorkItemID pwork_item_id, in WMTPAttributeList pattribute_list, in int app_mode) ToolAgent int invokeApplication( String appName, String wid, Attribute[] attrList, int mode) throws WorkflowException int WMTARequestAppStatus ( in WMTInt32 tool_agent_handle, in WMTPProcInstID proc_inst_id, in WMTPWorkItemID pwork_item_id, out WMTInt32 app_status, out WMTPAttributeList WFRelevantData) 145/160 WfMC 0.97 ToolAgent 8.3.2 int requestAppStatus( int toolAgentHandle, String appName, String wid, Attribute[] attrList) throws WorkflowException int WMTATerminateApp ( in WMTInt32 tool_agent_handle, in WMTPProcInstID pproc_inst_id, in WMTPWorkItemID pwork_item_id) ToolAgent void terminateApplication( int toolAgentHandle, String wid) throws WorkflowException 4.3 API 9.3.2 9.3.2 9.3.2 ) API Java Engine identifier Process id State void changeProcessState( String eid, String pid, ProcessState state) throws WorkflowException Engine identifier Process definition id Return flag Parent pid Activity id Sub-process id User id Role id String createProcess( String eid, String pdid, int flag, String parentid, String aid, String userid, String roleid) throws WorkflowException Engine identifier Process id Root pid Activity id Attributes Attribute[] getProcessAttributes( String eid, String pid, String rootid, String aid) throws WorkflowException 146/160 WfMC 0.97 9.3.2 9.3.2 9.3.2 9.3.2 9.3.2 9.3.2 9.3.2 Engine identifier Process id State ProcessState getProcessState( String eid, String pid) throws WorkflowException Engine identifier Process id Attributes void processAttributesChanged( String eid, String pid, Attribute[] attr) throws WorkflowException Engine identifier Process id New State void processStateChanged( String eid, String pid, ProcessState state) throws WorkflowException Engine identifier Root pid Activity id Process id Attributes void setProcessAttributes( String eid, String rootid, String aid, String pid, Attrbute[] attr) throws WorkflowException Engine identifier Root pid Activity id Process id void triggerActivity( String eid, String rootid, String aid, String pid) throws WorkflowException Engine identifier Filter ProcessID[] listProcesses( String eid, Filter filter) throws WorkflowException Engine identifier Process id 147/160 WfMC 0.97 void relinquishProcess( String eid, String pid) throws WorkflowException 4.4 4.4.1 API C ) API Java typedef { WMTInt16 information_length; } WMAInformationLength; typedef { WMTText information_type; } WMAInformationType; ID ID typedef { WMTText object_id[UNIQUE_ID_SIZE]; } WMAObjectID; String typedef { WMTText object_state; } WMAObjectState; public interface WMObjectState { } typedef { WMTText object_name[NAME_STRING_SIZE]; } WMAObjectName; String typedef { WMTText resource_id[UNIQUE_ID_SIZE]; } WMAResourceID; String typedef { WMTText resource_name[NAME_STRING_SIZE]; } WMAResourceName; String typedef { WMTText attribute_name[NAME_STRING_SIZE]; } WMAAttributeName; String typedef { WMTInt32 attribute_type; } WMAAttributeType; int WMWorkflowConstants static final int ATTR_STRING_TYPE = 1; static final int ATTR_INTEGER_TYPE = 2; static final int ATTR_BOOLEAN_TYPE = 3; typedef { WMTInt32 attribute_length; } WMAAttributeLength; typedef { WMTText attribute_value[NAME_STRING_SIZE]; } WMAAttributeValue; String 148/160 WfMC 0.97 ID typedef { WMTText session_id[UNIQUE_ID_SIZE]; } WMASessionID; String typedef { WMTInt16 code_page; } WMACodePage; typedef { WMTText timestamp[TIME_STAMP_SIZE]; } WMATimeStamp; String ”YYYY/MM/DD hh:mm:ss” typedef { WMTText event_code; } WMAEventCode; String 4.4.2 CWAD API CWAD 4.4.3 ) API Java InitialProcessInstanceID CurrentProcessInstanceID ActivityInstanceID ProcessState EventCode DomainID NodeID UserID RoleID Timestamp InformationID M M O M M M M O* O* M M WMAObjectID WMAObjectID WMAObjectID WMAObjectState WMAEventCode WMAResourceID WMAResourceID WMAResourceID WMAResourceID WMATimestamp WMAObjectID CWAD API CWAD ) API Java AccountCode ExtensionNumber ExtensionType ExtensionLength ExtensionCodePage ExtensionContent O M M O O O WMAInformationType WMTInt16 WMAInformationType WMAInformationLength WMACodePage * 4.4.4 API / / ) API Java Prefix ProcessDefinitionID ProcessDefinitionBusinessName Suffix M M O M ---WMAObjectID WMAObjectName ---- Prefix PreviousProcessState NewProcessState Suffix M M M M ---WMAObjectState WMAObjectState ---- 149/160 WfMC 0.97 Prefix AttributeName AttributeType NewAttributeLength NewAttributeValue PreviousAttributeLength PreviousAttributeValue Suffix M M M M M M M M ---WMAAttributeName WMAAttributeType WMAAttributeLength WMAAttributeValue WMAAttributeLength WMAAttributeValue ---- 4.4.5 API ) API Java Prefix ActivityInstanceID ActivityDefinitionBusinessName ApplicationID NewActivityState PreviousActivityState Suffix M M O O M M M ---WMAObjectID WMAObjectName WMAObjectID WMAObjectState WMAObjectState ---- Prefix ActivityInstanceID ActivityState AttributeName AttributeType NewAttributeLength NewAttributeValue PreviousAttributeLength PreviousAttributeValue Suffix M M O M M M M M M M ---WMAObjectID WMAObjectState WMAAttributeName WMAAttributeType WMAAttributeLength WMAAttributeValue WMAAttributeLength WMAAttributeValue ---- 4.4.6 API / ) API Java Prefix ActivityInstanceID WorkItemID WorkItemState Suffix M M M M M ---WMAObjectID WMAObjectID WMAObjectState ---- Prefix ActivityInstanceID WorkItemID WorkItemState TargetDomainID TargetNodeID TargetUserID TargetRoleID Suffix M M M M M M O O M ---WMAObjectID WMAObjectID WMAObjectState WMAResourceID WMAResourceID WMAResourceID WMAResourceID ---- Prefix ActivityInstanceID ActivityState AttributeName AttributeType NewAttributeLength NewAttributeValue PreviousAttributeLength PreviousAttributeValue Suffix M M O M M M M M M M ---WMAObjectID WMAObjectState WMAAttributeName WMAAttributeType WMAAttributeLength WMAAttributeValue WMAAttributeLength WMAAttributeValue ---- 150/160 WfMC 0.97 4.4.7 (1) API ) API Java Prefix MessageID CorrespondentContextID CorrespondentNodeID Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M M ---WMAObjectID WMAResourceID WMAResourceID WMTInt16 WMTText WMTText WMTText Prefix MessageID CorrespondentContextID CorrespondentNodeID Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M M ---WMAObjectID WMAResourceID WMAResourceID WMTInt16 WMTText WMTText WMTText (2) API ) API Java Prefix MessageID CorrespondentContextID CorrespondentNodeID Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M M ---WMAObjectID WMAResourceID WMAResourceID WMTInt16 WMTText WMTText WMTText Prefix MessageID CorrespondentContextID CorrespondentNodeID Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M M ---WMAObjectID WMAResourceID WMAResourceID WMTInt16 WMTText WMTText WMTText (3) API 151/160 ) API Java WfMC 0.97 Prefix MessageID SourceActivityDefinitionBusinessName TargetProcessDefinition ID TargetProcessInstance ID TargetProcessDefinitionBusinessName TargetNodeID TargetUserID TargetRoleID TargetState Extension Number Extension Type SourceConverstaion ID TargetConversation ID M ---O WMAObjectID O WMAObjectName M WMAObjectID M WMAObjectID O WMAObjectName M O O O M M M M WMTResourceID WMTResourceID WMTResourceID WMTObjectState WMTInt16 WMTText WMTText WMTText Prefix MessageID SourceInitialProcessInstanceID SourceCurrentProcessInstanceID SourceActivityInstanceID SourceTimestamp SourceNodeID SourceUserID SourceRoleID SourceProcessDefinitionID SourceProcessDefinitionBusinessName SourceActivityDefinitionBusinessName Extension Number Extension Type SourceConverstaion ID M O M M M M M O O M O ---WMAObjectID WMAObjectID WMAObjectID WMAObjectID WMTDateTime WMTResourceID WMTResourceID WMTResourceID WMTObjectID WMTObjectName Prefix MessageID SourceActivityInstanceID RemoteNodeID RemoteProcessInstanceID RemoteTimestamp RemoteProcessDefinitionBusinessName Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M O ---WMAObjectID WMAObjectID WMAResourceID WMAObjectID WMTDateTime WMTObjectName M M M M WMTInt16 WMTText WMTText WMTText Prefix MessageID ProcessDefinitionID ProcessDefinitionBusinessName Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M O M M M M ---WMAObjectID WMAObjectID WMTObjectName WMTInt16 WMTText WMTText WMTText 152/160 O WMTObjectName M WMTInt16 M WMTText M WMTText WfMC 0.97 Prefix MessageID SourceActivityDefinitionBusinessName TargetProcessDefinition ID TargetProcessInstance ID TargetProcessDefinitionBusinessName TargetNodeID TargetUserID TargetRoleID TargetState Extension Number Extension Type SourceConverstaion ID TargetConversation ID M ---O WMAObjectID O WMAObjectName M O O O M M M M WMTResourceID WMTResourceID WMTResourceID WMTObjectState WMTInt16 WMTText WMTText WMTText Prefix MessageID SourceInitialProcessInstanceID SourceCurrentProcessInstanceID SourceActivityInstanceID SourceTimestamp SourceNodeID SourceUserID SourceRoleID SourceProcessDefinitionID SourceProcessDefinitionBusinessName SourceActivityDefinitionBusinessName Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M O O M O ---WMAObjectID WMAObjectID WMAObjectID WMAObjectID WMTDateTime WMTResourceID WMTResourceID WMTResourceID WMTObjectID WMTObjectName M WMAObjectID M WMAObjectID O WMAObjectName O WMTObjectName M M M M WMTInt16 WMTText WMTText WMTText (4) API ) API Java Prefix MessageID SourceActivityDefinitionBusinessName TargetProcessDefinition ID TargetProcessInstance ID TargetProcessDefinitionBusinessName TargetNodeID TargetUserID TargetRoleID TargetState Extension Number Extension Type SourceConverstaion ID TargetConversation ID 153/160 M ---O WMAObjectID O WMAObjectName O WMAObjectID M WMAObjectID O WMAObjectName M O O O M M M M WMTResourceID WMTResourceID WMTResourceID WMTObjectState WMTInt16 WMTText WMTText WMTText WfMC 0.97 Prefix MessageID SourceInitialProcessInstanceID SourceCurrentProcessInstanceID SourceActivityInstanceID SourceTimestamp SourceNodeID SourceUserID SourceRoleID SourceProcessDefinitionID SourceProcessDefinitionBusinessName SourceActivityDefinitionBusinessName SourceRequestedState Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M O O M O M M M M M WMTObjectState WMTInt16 WMTText WMTText WMTText Prefix MessageID SourceActivityInstanceID RemoteNodeID RemoteProcessInstanceID RemoteTimestamp RemoteProcessDefinitionBusinessName Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M O ---WMAObjectID WMAObjectID WMAResourceID WMAObjectID WMTDateTime WMTObjectName M M M M WMTInt16 WMTText WMTText WMTText Prefix MessageID PreviousProcessState NewProcessState Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M M ---WMAObjectID WMAObjectState WMTObjectState WMTInt16 WMTText WMTText WMTText Prefix MessageID SourceInitialProcessInstanceID SourceCurrentProcessInstanceID SourceActivityInstanceID SourceTimestamp SourceNodeID SourceUserID SourceRoleID SourceProcessDefinitionID SourceProcessDefinitionBusinessName SourceActivityDefinitionBusinessName SourceRequestedState NewState Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M O O O O ---WMAObjectID WMAObjectID WMAObjectID WMAObjectID WMTDateTime WMTResourceID WMTResourceID WMTResourceID WMTObjectID WMTObjectName 154/160 ---WMAObjectID WMAObjectID WMAObjectID WMAObjectID WMTDateTime WMTResourceID WMTResourceID WMTResourceID WMTObjectID WMTObjectName O WMTObjectName O WMAObjectName M M M M M M WMTObjectState WMTObjectState WMTInt16 WMTText WMTText WMTText WfMC 0.97 Prefix MessageID SourceActivityDefinitionBusinessName TargetProcessDefinition ID TargetProcessInstance ID TargetProcessDefinitionBusinessName TargetNodeID TargetUserID TargetRoleID TargetState PreviousState Extension Number Extension Type SourceConverstaion ID TargetConversation ID M ---O WMAObjectID O WMAObjectName O WMAObjectID O WMAObjectID O WMAObjectName M O O M M M M M M WMTResourceID WMTResourceID WMTResourceID WMTObjectState WMTObjectState WMTInt16 WMTText WMTText WMTText (5) API ) API Java Prefix MessageID SourceActivityDefinitionBusinessName TargetProcessInstance ID TargetProcessDefinitionBusinessName TargetNodeID TargetUserID TargetRoleID AttributeName Extension Number Extension Type SourceConverstaion ID TargetConversation ID M ---O WMAObjectID O WMAObjectName M O O M M M M M WMTResourceID WMTResourceID WMTResourceID WMTAttributeName WMTInt16 WMTText WMTText WMTText Prefix MessageID SourceInitialProcessInstanceID SourceCurrentProcessInstanceID SourceActivityInstanceID SourceTimestamp SourceNodeID SourceUserID SourceRoleID SourceProcessDefinitionID SourceProcessDefinitionBusinessName SourceActivityDefinitionBusinessName AttributeName Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M O O M O ---WMAObjectID WMAObjectID WMAObjectID WMAObjectID WMTDateTime WMTResourceID WMTResourceID WMTResourceID WMTObjectID WMTObjectName 155/160 M WMAObjectID O WMAObjectName O WMTObjectName M M M M M WMTAttributeName WMTInt16 WMTText WMTText WMTText WfMC 0.97 Prefix MessageID SourceInitialProcessInstanceID SourceCurrentProcessInstanceID SourceActivityInstanceID SourceTimestamp SourceNodeID SourceUserID SourceRoleID SourceProcessDefinitionID SourceProcessDefinitionBusinessName SourceActivityDefinitionBusinessName AttributeName AttributeType Attributelength Attributevalue Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M O O M O Prefix MessageID SourceActivityDefinitionBusinessName TargetProcessDefinition ID TargetProcessInstance ID TargetProcessDefinitionBusinessName TargetNodeID TargetUserID TargetRoleID AttributeName AttributeType Attributelength Attributevalue Extension Number Extension Type SourceConverstaion ID TargetConversation ID M ---O WMAObjectID O WMAObjectName O WMTObjectName O O O O M M M M 156/160 WMTAttributeName WMTAttributeType WMTAttributeLength WMTAttributeValue WMTInt16 WMTText WMTText WMTText O WMAObjectID O WMAObjectID O WMAObjectName M O O O O O O M M M M (6) API ---WMAObjectID WMAObjectID WMAObjectID WMAObjectID WMTDateTime WMTResourceID WMTResourceID WMTResourceID WMTObjectID WMTObjectName ) API Java WMTResourceID WMTResourceID WMTResourceID WMTAttributeName WMTAttributeType WMTAttributeLength WMTAttributeValue WMTInt16 WMTText WMTText WMTText WfMC 0.97 Prefix MessageID SourceActivityDefinitionBusinessName TargetProcessDefinition ID TargetProcessInstance ID TargetProcessDefinitionBusinessName TargetNodeID TargetUserID TargetRoleID AttributeName AttributeType Attributelength Attributevalue Extension Number Extension Type SourceConverstaion ID TargetConversation ID M ---O WMAObjectID O WMAObjectName O WMAObjectID M WMAObjectID O WMAObjectName M O O O O O O M M M M WMTResourceID WMTResourceID WMTResourceID WMTAttributeName WMTAttributeType WMTAttributeLength WMTAttributeValue WMTInt16 WMTText WMTText WMTText Prefix MessageID SourceInitialProcessInstanceID SourceCurrentProcessInstanceID SourceActivityInstanceID SourceTimestamp SourceNodeID SourceUserID SourceRoleID SourceProcessDefinitionID SourceProcessDefinitionBusinessName SourceActivityDefinitionBusinessName AttributeName AttributeType Attributelength Attributevalue Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M O O M O ---WMAObjectID WMAObjectID WMAObjectID WMAObjectID WMTDateTime WMTResourceID WMTResourceID WMTResourceID WMTObjectID WMTObjectName O O O O M M M M WMTAttributeName WMTAttributeType WMTAttributeLength WMTAttributeValue WMTInt16 WMTText WMTText WMTText Prefix MessageID SourceActivityInstanceID RemoteNodeID RemoteProcessInstanceID RemoteTimestamp RemoteProcessDefinitionBusinessName AttributeName AttributeType Attributelength Attributevalue Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M O ---WMAObjectID WMAObjectID WMAResourceID WMAObjectID WMTDateTime WMTObjectName O O O O M M M M WMTAttributeName WMTAttributeType WMTAttributeLength WMTAttributeValue WMTInt16 WMTText WMTText WMTText 157/160 O WMTObjectName WfMC 0.97 Prefix MessageID AttributeName AttributeType Attributelength Attributevalue PreviousAttributeLength PreviousAttributeValue Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O O O O O O O M M M M ---WMAObjectID WMTAttributeName WMTAttributeType WMTAttributeLength WMTAttributeValue WMTAttributeLength WMTAttributeValue WMTInt16 WMTText WMTText WMTText Prefix MessageID SourceInitialProcessInstanceID SourceCurrentProcessInstanceID SourceActivityInstanceID SourceTimestamp SourceNodeID SourceUserID SourceRoleID SourceProcessDefinitionID SourceProcessDefinitionBusinessName SourceActivityDefinitionBusinessName AttributeName AttributeType Attributelength Attributevalue PreviousAttributeLength PreviousAttributeValue Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M O O O O ---WMAObjectID WMAObjectID WMAObjectID WMAObjectID WMTDateTime WMTResourceID WMTResourceID WMTResourceID WMTObjectID WMTObjectName Prefix MessageID SourceActivityDefinitionBusinessName TargetProcessDefinition ID TargetProcessInstance ID TargetProcessDefinitionBusinessName TargetNodeID TargetUserID TargetRoleID AttributeName AttributeType Attributelength Attributevalue PreviousAttributeLength PreviousAttributeValue Extension Number Extension Type SourceConverstaion ID TargetConversation ID M ---O WMAObjectID O WMAObjectName (7) API 158/160 ) O WMTObjectName O O O O O O M M M M WMTAttributeName WMTAttributeType WMTAttributeLength WMTAttributeValue WMTAttributeLength WMTAttributeValue WMTInt16 WMTText WMTText WMTText O WMAObjectID O WMAObjectID O WMAObjectName M O O O O O O O O M M M M WMTResourceID WMTResourceID WMTResourceID WMTAttributeName WMTAttributeType WMTAttributeLength WMTAttributeValue WMTAttributeLength WMTAttributeValue WMTInt16 WMTText WMTText WMTText WfMC 0.97 API Java Prefix MessageID PreviousProcessState New ProcessState Extension Number Extension Type SourceConverstaion ID TargetConversation ID M O M M M M M M Prefix MessageID SourceActivityDefinitionBusinessName TargetProcessDefinition ID TargetProcessInstance ID TargetNodeID New ProcessState Extension Number Extension Type SourceConverstaion ID TargetConversation ID M ---O WMAObjectID O WMAObjectName Prefix MessageID SourceActivityDefinitionBusinessName SourceProcessDefinition ID SourceProcessInstance ID SourceNodeID New ProcessState Extension Number Extension Type SourceConverstaion ID TargetConversation ID O O M M M M M M ---WMAObjectID WMTProcInstState WMTProcInstState WMTInt16 WMTText WMTText WMTText WMAObjectID WMAObjectID WMTResourceID WMTProcInstState WMTInt16 WMTText WMTText WMTText M ---O WMAObjectID O WMAObjectName M M M M M M M M WMAObjectID WMAObjectID WMTResourceID WMTProcInstState WMTInt16 WMTText WMTText WMTText (8) API Prefix MessageID AttributeName AttributeType Attributelength Attributevalue PreviousAttributeLength PreviousAttributeValue Extension Number Extension Type SourceConverstaion ID TargetConversation ID 159/160 ) API Java M O M M M M M M M M M M ---WMAObjectID WMTAttributeName WMTAttributeType WMTAttributeLength WMTAttributeValue WMTAttributeLength WMTAttributeValue WMTInt16 WMTText WMTText WMTText WfMC 0.97 Prefix MessageID SourceActivityDefinitionBusinessName TargetProcessDefinition ID TargetProcessInstance ID TargetNodeID AttributeName AttributeType Attributelength Attributevalue Extension Number Extension Type SourceConverstaion ID TargetConversation ID Prefix MessageID SourceActivityDefinitionBusinessName SourceProcessInstanceID SourceActivityInstanceID SourceNodeID AttributeName AttributeType Attributelength Attributevalue Extension Number Extension Type SourceConverstaion ID TargetConversation ID M ---O WMAObjectID O WMAObjectName O O M O O O O M M M M WMAObjectID WMAObjectID WMTResourceID WMTAttributeName WMTAttributeType WMTAttributeLength WMTAttributeValue WMTInt16 WMTText WMTText WMTText M ---O WMAObjectID O WMAObjectName M M M O O O O M M M M WMAObjectID WMAObjectID WMTResourceID WMTAttributeName WMTAttributeType WMTAttributeLength WMTAttributeValue WMTInt16 WMTText WMTText WMTText (9) API ) API Java Prefix MessageID CorrespondentDomainID CorrespondentNodeID Suffix M O M M M ---WMAObjectID WMAResourceID WMAResourceID ---- (10) API ) API Java Prefix ProcessDefinitionID NewProcessDefinitionState PreviousProcessDefinitionState Suffix 160/160 M M M M O ---WMAObjectID WMAObjectState WMAObjectState ----