1 / 16

Enterprise Workflow

Enterprise Workflow. CPSC 476 Lightening Talk Brenda Griffith/Katie Soto. Introduction. Workflow Definition Workflow Management Systems Workflow Versus Business Process Management Workflow Standards ApacheODE Workflow Example with ApacheODE  Summary. Workflow Definition. Definition:

mahina
Download Presentation

Enterprise Workflow

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Enterprise Workflow CPSC 476 Lightening Talk Brenda Griffith/Katie Soto

  2. Introduction Workflow Definition Workflow Management Systems Workflow Versus Business Process Management Workflow Standards ApacheODE Workflow Example with ApacheODE  Summary

  3. Workflow Definition Definition:    Workflow is the automated linking of business processes via predefined instructions.  The processes may include automated activity and/or manual activity. It is the combination of process logic and routing rules, often across department boundaries. "Workflow" is also referred to as "Orchestration". Related concepts: Participant-  a role, a web service, a resource, etc. (who) Activity - a task that forms one logical step in a process; can be   automated or manual Process definition - can be a graphic or map that represents the  sequence of activities and the routing rules. A process has a starting point and an ending point

  4. Workflow Management System A software application that stores process definitions and runs jobs based on those definitions. These systems are also called "Orchestration applications" Two Major Components 1.Workflow Modeling Component      The modeling component lets you model business operations, often using a visual interface, such as a diagramming tool. 2.  Workflow Execution Component (Workflow Engine)      The execution component is responsible for launching and managing the executing workflows

  5. Workflow Management System  Benefits: Consistency and Flexibility of Business Process Execution     - Provides the "glue" for collaborating applications/services           Automating process-to-process related workflows     - It can mix automated activity with human activity           Human activity - fill out a form, create document, collaborate,                                      provide approval, etc.           Automated activity - perform database CRUD,                                              perform web service calculations, etc.      - It allows sequential, parallel and dynamic routing paths     - It allows for timing rules and deadlines 

  6. Workflow and BPM Workflow ManagementandBusiness Process Management Sometimes these terms are confused in industry          - Workflow is one part of BPM - BPM is currently a popular term          - BPM is often considered the management of the                    entire life-cycle of all business processes          - BPM systems offer the ability to optimize processes          - BPM provides the capability to monitor key business                        performance indicators - Business Activity Monitoring          - BPM systems clarify that if business process flows are hard-                    coded into applications, then they are not flexible                    Example: handling corporate consolidation          - BPM systems strive to provide tools to let business people                     define processes with standardized modeling tools

  7. Workflow Standards Workflow Standards •   Workflow engine - WS-BPEL WS-BPEL - Web Service Business Process Execution Language           WS-BPEL is XML based  - Web Service Orchestration   A workflow engine reads WS-BPEL to execute the workflow              BPEL uses XSD files- data types; WSDL files - WS Interface Def.                Example - ApacheODE                      An open source BPEL compatible workflow engine • Business Process Diagramming Models- BPMN   BPMN is the Business Process Markup Language The primary goal of the new notation is to make business                         process modeling easier and reduce the gap between                         technical and business people.(It is similar to UML)               Object Management Group (OMG) adopted it a standard in 2006 •   Process Diagrams - XPDL A common XML schema for saving business process diagrams

  8. ApacheODE(Orchestration Director Engine) • Executes business processes written using WS-BPEL standard. • write processes using BPEL • It talks to web services, sending and receiving messages, handling data manipulation and error recovery as described by your process definition.  • Why the Need For BPEL? • WSDL defined Web services have a stateless interaction model • “real-world” business processes require a more robust interaction model • BPEL provides the ability to express stateful, long-running interactions • Relationship with WSDL • BPEL is layered on topof and extends the WSDL service model

  9. Workflow Example with ApacheODE • Synchronously replies to a message.  • All components need to be in the WEB-INF/processess directory • Start a process with the command: • sendsoap http://localhost:8080/ode/processes/helloWorld testRequest.soap • Response: SOAP message containing 'hello world' HelloWorld example using BPEL and ApacheODE: Components: deploy.xml: <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"    xmlns:pns="http://ode/bpel/unit-test"     xmlns:wns="http://ode/bpel/unit-test.wsdl">    <process name="pns:HelloWorld2"> <--- correlates with our BPEL file        <active>true</active>        <provide partnerLink="helloPartnerLink"> <--- correlates with our BPEL file            <service name="wns:HelloService" port="HelloPort"/> <--- WSDL file        </provide>    </process></deploy>

  10. Workflow Example with ApacheODE HelloWorld2.bpel <process name="HelloWorld2"    targetNamespace="http://ode/bpel/unit-test"     xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"    xmlns:tns="http://ode/bpel/unit-test"    xmlns:xsd="http://www.w3.org/2001/XMLSchema"    xmlns:test="http://ode/bpel/unit-test.wsdl"    queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"    expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">  <import location="HelloWorld2.wsdl"      namespace="http://ode/bpel/unit-test.wsdl"     importType="http://schemas.xmlsoap.org/wsdl/" />   <partnerLinks>      <partnerLink name="helloPartnerLink"          partnerLinkType="test:HelloPartnerLinkType"          myRole="me" />   </partnerLinks>   <variables>     <variable name="myVar" messageType="test:HelloMessage"/>     <variable name="tmpVar" type="xsd:string"/>   </variables>

  11. Workflow Example with ApacheODE HelloWorld2.bpel (continued) <sequence><receive          name="start"          partnerLink="helloPartnerLink"          portType="test:HelloPortType"          operation="hello"          variable="myVar"          createInstance="yes"/><assign name="assign1">          <copy>              <from variable="myVar" part="TestPart"/>              <to variable="tmpVar"/>          </copy>          <copy>              <from>concat($tmpVar,' World')</from>              <to variable="myVar" part="TestPart"/>          </copy>      </assign><reply name="end"                partnerLink="helloPartnerLink"              portType="test:HelloPortType"               operation="hello"              variable="myVar"/></sequence></process>

  12. Workflow Example with ApacheODE HelloWorld2.wsdl <wsdl:definitions     targetNamespace="http://ode/bpel/unit-test.wsdl"    xmlns="http://schemas.xmlsoap.org/wsdl/"    xmlns:tns="http://ode/bpel/unit-test.wsdl"    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"     xmlns:xsd="http://www.w3.org/2001/XMLSchema"    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"    xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype">    <wsdl:message name="HelloMessage">        <wsdl:part name="TestPart" type="xsd:string"/>    </wsdl:message>    <wsdl:portType name="HelloPortType">        <wsdl:operation name="hello">            <wsdl:input message="tns:HelloMessage" name="TestIn"/>            <wsdl:output message="tns:HelloMessage" name="TestOut"/>        </wsdl:operation>        </wsdl:portType>

  13. Workflow Example with ApacheODE HelloWorld2.wsdl (continued)      <wsdl:binding name="HelloSoapBinding" type="tns:HelloPortType">        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>        <wsdl:operation name="hello">            <soap:operation soapAction="" style="rpc"/>            <wsdl:input>                <soap:body                    namespace="http://ode/bpel/unit-test.wsdl"                    use="literal"/>            </wsdl:input>            <wsdl:output>                <soap:body                    namespace="http://ode/bpel/unit-test.wsdl"                     use="literal"/>            </wsdl:output>        </wsdl:operation>    </wsdl:binding>    <wsdl:service name="HelloService">        <wsdl:port name="HelloPort" binding="tns:HelloSoapBinding">             <soap:address location="http://localhost:8080/ode/processes/helloWorld"/>        </wsdl:port>    </wsdl:service>   <plnk:partnerLinkType name="HelloPartnerLinkType">       <plnk:role name="me" portType="tns:HelloPortType"/>       <plnk:role name="you" portType="tns:HelloPortType"/>   </plnk:partnerLinkType></wsdl:definitions>

  14. Workflow Example with ApacheODE testRequest.soap <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">  <!-- test soap message -->  <SOAP-ENV:Body>    <ns1:hello xmlns:ns1="http://ode/bpel/unit-test.wsdl">        <TestPart xmlns="">Hello</TestPart>    </ns1:hello>  </SOAP-ENV:Body></SOAP-ENV:Envelope>

  15. Working Screenshots

  16. Workflow Summary Workflow Definition Workflow Management Systems     Process Modeling     Execution (Workflow Engine)     Benefits           Workflow and Business Process Management Workflow Standards     WSBPEL      BPMN     XPDL ApacheODE Workflow Example with ApacheODE

More Related