Home

lab notes - Fundamentals of BPM

image

Contents

1. lt xs sequence gt lt xs element lt xs element lt xs element lt xs sequence gt name PropertyInformation gt name TypeOfProperty type xs string minOccurs 0 gt name PropertyAddress type xs string minOccurs 0 gt name PurchasingPrice type xs double minOccurs 0 gt lt xs complexType gt lt xs complexType lt xs sequence gt lt xs element lt xs element lt xs element lt xs element lt xs element name LoanInformation gt name LoanAmount type xs double minOccurs 0 gt name NumberOfYears type xs double minOccurs 0 gt name StartDate type xs date minOccurs 0 gt name InterestRate type xs double minOccurs 0 gt name InterestType minOccurs 0 gt lt xs simpleType gt lt xs restriction base xs string gt lt xs enumeration value Variable gt lt xs enumeration value Fixed gt lt xs restriction gt lt xs simpleType gt lt xs element lt xs sequence gt lt xs complexType gt gt lt xs complexType name InsuranceQuoteRequired gt lt xs sequence gt lt xs element name Required type xs boolean lt xs sequence gt lt xs complexType lt xs complexType name AdministrationInformation gt lt xs sequence gt lt xs element lt xs element lt xs element lt xs element lt xs simple gt name Applicationldentifier type xs
2. Prepare and send acceptance Prepare and send home insurance pack VerifyRepaymentAgreement Take final decision in appendix B LoanApplication Administrationlnformation PropertyAppraisal RiskWeight LoanApplication Administrationlnformation RiskWeight PropertyAppraisal LoanApplication AdministrationInformation LoanApplication AdministrationInformation RepaymentSchedule HomelnsuranceQuote TermsAndConditions LoanApplication Administrationlnformation ConditionsAgreed RepaymentAgreed RepaymentSchedule LoanApplication Administrationlnformation ConditionsAgreed RepaymentAgreed RepaymentSchedule Table 2 2 Loan assessment task variables LoanApplication AdministrationInformation PropertyAppraisal Int LoanApplication AdministrationInformation Int PropertyAppraisal _ LoanApplication Administrationlnformation LoanApplication AdministrationInformation RepaymentSchedule HomelnsuranceOuote YDocumentType LoanApplication Administrationlnformation Boolean Boolean RepaymentSchedule LoanApplication Administrationlnformation Boolean Boolean RepaymentSchedule script to be executed to check the loan application and assign the check results to the set the case LD as the application identifier and the submission date and time 12 only Input only Input only Output only Input amp output Input only Input amp output Input Input only Input only Inp
3. Loan assessment process lab YAWL Eric Kwok 02741172 Table of Contents 1 0 Introduction u aid eat ieh ans er E aate iaten 1 Vil EGOTEA a Ea a a aa Ea a aa E 1 1 2 Architecture and components eee ana ee ee anenaeeaaeannenaaaaaaeeannnanaa 2 1 3 BPMN tO AAO 3 2 0 Implement the process eee eee nenea ana aa aaa anna aaa ea naaenaa 4 2 1 elaia dde bala Kl a AAA 4 2 2 Data perspecti e oenen reee errea ea I Im en 8 2 3 Ee Ueleg sis a oi ae at tza Doi e to a tai di oda da ati at ir vatra 20 3 0 Validate and deploy the process 25 40 e Nee 27 Sp Further reading sen kn 32 GGE EE Ezra teei karako baiek ez ariantza tare 34 Appendix A XML schema data type definition 35 Appendix B Check application form completeness codelet mme eee eee eee eee 44 1 0 Introduction YAWL Yet Another Workflow Language was developed by Wil van der Aalst Eindhoven University of Technology the Netherlands and Arthur ter Hofstede Queensland University of Technology Australia in 2002 The language was based on the one hand on Petri nets a well established concurrency theory with a graphical representation and on the other hand on the well known workflow patterns which is a generally accepted benchmark for the suitability of a process specification language see section 5 0 Further readings for references to learn more about Petri nets and workflow patterns YAWL was developed in the effort to address some of the
4. wi Enable System Offer r Participants r Roles oan officer C Choose completer s of task Appraise_property d Paro en Allocate V Enable System Allocation Allocation Strategy Random Choice v r Start Enable System Start Figure 2 21 Resourcing with do not choose completer s of task constraints 3 0 Validate and deploy the process The loan assessment net is now fully completed it is important to check the process that just been created for any problems that would prevent the process from executing and complete successfully Click the validate button x on the tool bar and YAWL will validate the specification verification will also run by default each time the specification is saved Any problems found and its potential solution will be shown at the info pane under the validation results tab Figure 3 0 shows the validation result 25 im DM F Se z s A M ek A E CompjereApp cation 14 ee Es loan risk D ezteia H perratzera p OI HE den df a al GET Submit Check Appraise Assess GT Prepare and decision pplication _applicatior property ve send home form insurance quote completeness Ya m Reject appbcation Figure 3 0 Loan assessment process with no problems found If desired further detailed analysis can be conducted by using the analyse this specification toolbar EA
5. Architecture and components YAWL system is structured as a RESTful service oriented architecture The characteristics of such architecture contribute to keeping the YAWL system lightweight and platform neutral which have been two of the key underlying design principles While other architectures enabling additional infrastructure level functionality to be exploited it was not found to be strictly necessary in the context of the YAWL system The engine is completely agnostic with regards to the services interacting with it that is totally unaware of the operations of external services so that each could be served in a generic way it provides a flexible and extensible framework for plugging in additional custom services into the YAWL system Hofstede Aalst Adams amp Russell 2010 The YAWL system provides a specific embodiment of the Workflow Reference Model WRM interfaces of the Workflow Management Coalition in the setting of a service oriented architecture Also in many respects the YAWL interface extends and deviates from the WRM interfaces Thus it cannot be said that the YAWL system complies with the WRM It is merely inspired by the WRM but significantly differs from it in many respects Hofstede Aalst Adams amp Russell 2010 The YAWL system can be presented in a three tier view as shown in figure 1 0 Hofstede Aalst Adams amp Russell 2010 which consists of YAWL services at the business logic layer encapsulate resou
6. Click on the button at the bottom toolbar of the decomposition variable section to add a new task variable Enter LoanApplication in the name field Click on the drop down arrow at the type field select LoanApplication as the type output for scope and click OK see figure 2 8 r Net Variables Administrationlnformation CreditHistoryReport RiskWeight PropertyAppraisal RepaymentSchedule ConditionsAgreed RepaymentAgreed Administrationlnformation CreditHistoryReport int PropertyAppraisal RepaymentSchedule boolean boolean Initial Value t Av r Decomposition Variables Name Type Scope Default Value Figure 2 8 Submit application task variable Follow the previous steps and create the task variables for each of the task listed in table 2 2 Task Variable name Type Scope Check application form LoanApplication LoanApplication Input only completeness CompleteApplication LoanApplication LoanApplication Input 8 output Administrationlnformation Administrationinformation Input only Update status AdministrationInformation Administrationinformation Input amp output Check credit history LoanApplication LoanApplication Input only AdministrationInformation Administrationlnformation Input only CreditHistoryReport CreditHistoryReport Output 11 Appraise property Assess loan risk Assess eligibility Reject application
7. Credit history report 30 Logout and log back in as the property appraiser Click on started in the menu select the appraise property task listed under work items and click the view edit button to bring up the property appraisal Fill in sample data as shown in figure 4 4 and click the complete button PropertyAppraisal PropertyAppraiserldentifier PA SurroundingPropertiesValue1 OO CC SurroundingPropertiesValue2 7200 SurroundingPropertiesValue3 750 it EstimatedPropertyMarketValue 70000 S Comments Figure 4 4 Property appraisal Depending on which loan officer were randomly allocated with the assess eligibility task logout and log back in as either Loan officer A or Loan officer B Click on started in the menu select the assess eligibility task listed under work items and click the view edit button to bring up the loan application property appraisal and risk weight The risk weight is determined by the assess loan risk automatic task Fill in sample data as shown in figure 4 5 and click the complete button Administrationinformation Applicationldentifier 428 SubmissionDateAndTime 2015 02 09T 17 00 02 RevisionDateAndTime Status Comments Viable applicant Eligibility EA LoanOfficeridentifier LOA Figure 4 5 Administration information Next refresh the work items list notice prepare and send acceptance pack is now appear under started work items for same loan officer That s because
8. then O else if Loan_assessment CreditHistoryReport CreditAssessmen 16 t Result text BB then 20 else if Loan_assessment CreditHistoryReport CreditAssessmen t Result text BBB then 40 else if Loan_assessment CreditHistoryReport CreditAssessmen t Result text lt A then 60 else if Loan_assessment CreditHistoryReport CreditAssessmen t Result text AA then 80 else 100 RiskWeigh Assess_loan_risk RiskWeight text Output t Assess LoanAppli Loan_assessment LoanApplication Input eligibility cation Zoo i e Administr 4 Loan assessment Administrationlnformation Input ationlnfor mation RiskWeigh Loan_assessment RiskWeight text Input t A PropertyA Loan_assessment PropertyAppraisal Input ppraisal Administr lt Applicationldentifier gt Assess_eligibility Administrationinf Output ationInfor ormation Applicationldentifier text lt Applicationldentifie mation r gt lt SubmissionDateAndTime gt 4 Assess eligibility Administrati onInformation SubmissionDateAndTime text lt Submissio nDateAndTime gt lt RevisionDateAndTime gt current dateTime lt RevisionDateAndTime gt lt Status gt Assessed lt Status gt lt Comments gt Assess eligibility Administrationlnformation Comments text lt Comments gt lt Eligibility gt Assess_eligibility AdministrationInformation El igibility text lt Eligibility gt lt LoanOffi
9. CourtJudgementlnformation String BankruptcyInformation String CreditAssessment Result String PropertyAppraisal PropertyAppraiserldentifier String SurroundingPropertiesValue1 Double SurroundingPropertiesValue2 Double SurroundingPropertiesValue3 Double EstimatedPropertyMarketValue Double Comments String RepaymentSchedule MonthlyRepaymentAmount Double NumberOfRepayment Int HomelnsuranceQuote HomelnsuranceTotalCost Double AdditionalCostOnMonthlyLoanRepayment Double InsuranceSalesRepresentativeldentifier String Table 2 1 Loan application data requirements To define the data type select the data definitions property in the specification section of the properties pane then click on the action button at the right of the property Enter the XML schema data type definition in appendix A into the data definitions dialog in the event of errors found the bottom pane will show the error details Click the done button Once the data type has been defined it can be used when creating net and task variables Net variable is created to store information relating to the loan assessment net that tasks within the net may need to read or update Select the data variables property in the net section of the properties pane then click on the action button to open the data variables dialog see figure 2 6 Click on the button at the bottom toolbar to add a new variable Enter LoanApplication in the name field click on the drop down arrow at the type fi
10. Springer The YAWL foundation 2014 September YAWL user manual version 3 0 Retrieved February 19 2015 from http yawlfoundation org manuals YAWLUserManual3 0 pdf 34 Appendix A XML schema data type definition lt xs schema xmlns xs http www w3 org 2001 XMLSchema gt lt xs complexType lt xs sequence gt lt XS lt XS lt XS lt XS lt XS lt XS lt XS lt XS lt XS lt XS lt XS lt XS lt xs seguence gt elem elem elem elem elem elem elem elem elem elem en en en en en en en en en en element element name ApplicantInformation gt nam nam nam nam nam nam nam nam nam nam nam nam lt xs complexType gt Name type xs string minOccurs 0 gt e Surname type xs string minOccurs 0 gt e Email type xs string minOccurs 0 gt HomePhone type xs int minOccurs 0 gt e CellPhone type xs int minOccurs 0 gt e CurrentAddress type xs string minOccurs 0 gt e PreviousAddress type xs string minOccurs 0 gt e CurrentEmployer type xs string minOccurs 0 gt e MonthlyNetRevenue type xs double minOccurs 0 gt e BankName type xs string minOccurs 0 gt e TypeOfAccount type xs string minOccurs 0 gt e AccountNumber type xs string minOccurs 0 gt lt xs complexTyp
11. complexType gt lt xs complexType name CreditAssessment gt lt xs sequence gt lt xs element name Result gt lt xs simpleType gt lt xs restriction base xs string gt lt xs enumeration value AAA gt lt xs enumeration value AA gt lt XS lt XS lt XS lt XS ven en en en lt xs res ES umeration value A gt umeration value BBB gt umeration value BB gt umeration value B gt ction gt lt xs simpleType gt lt xs element gt lt xs sequence gt lt xs complexType gt lt xs complexType name LoanApplication gt lt xs sequence gt lt XS lt XS lt XS lt XS elem elem elem elem en en en en lt xs sequence gt nam nam nam nam lt xs complexType gt e ApplicantInformation type ApplicantInformation gt e PropertyInformation type PropertyInformation gt e LoanInformation type LoanInformation gt e InsuranceQuoteRequired type InsuranceQuoteRequired gt lt xs complexTyp lt xs sequence gt name CreditHistoryReport gt lt xs element name FinancialOfficerIdentifier type FinancialOfficerIdentifier gt lt XS lt XS lt XS lt XS lt XS lt xs seguence gt elem elem elem elem elem en en en en en name ApplicantCreditInformation type App
12. shortcomings of existing workflow management systems and workflow languages it extends Petri nets with dedicated constructs to support multiple instance cancellation and inclusive OR join The YAWL foundation 2014 p 9 1 1 Features One of the distinguishing features of YAWL is that it has a formal foundation that is both a precisely defined syntax and a precisely defined semantics It removes any ambiguity associated with the interpretation of complex constructs and their interplay and also allows for the development of sophisticated verification techniques that allow the detection of inherent flaws in an executable process model before it deployed Hofstede Aalst Adams amp Russell 2010 p 15 According to the YAWL foundation 2014 p 9 other distinctive features of YAWL include e YAWL offers comprehensive support for the control flow patterns It is the most powerful process specification language for capturing control flow dependencies e The data perspective in YAWL is captured through the use of XML Schema XPath and XQuery e YAWL offers comprehensive support for the resource patterns It is the most powerful process specification language for capturing resourcing requirements e YAWL has been developed independent from any commercial interests It simply aims to be the most powerful language for process specification e For its expressiveness YAWL offers relatively few constructs compare this e g to BPMN e YAWL off
13. CompleteApplicati Update status timer CompleteApplication expired on Check application true form completeness Assess eligibility Reject application Loan assessment Administrationlnformation Eligibility text lt false Prepare and send true acceptance pack 19 Prepare and send acceptance pack Prepare and send home insurance Loan_assessment LoanApplication InsuranceQuoteReq uired Reguired text lt true guote VerifyRepaymentA true greement VerifyRepaymentA Update status timer VerifyRepaymentAgreement expired greement Take final decision true Table 2 4 Loan assessment flow details 2 3 Resource perspective Now that the loan assessment process is completed it is time to specify which participants should be doing which tasks In order to assign tasks to participants participants and their roles must first be defined in YAWL control centre Navigate to the resource service s web UI either by click on the logon button in the YAWL control panel or by pointing your browser at http localhost 8080 resourceService log on with the generic user id admin and password YAWL Go to the organisational data management screen showing in figure 2 16 by clicking on the Org data heading To add a new role click the new button Enter loan officer in the name field and click the add button the role will appear in the roles box after it has been added Now add th
14. EER Log Entries O defined eda Name Loan assessment application t 7 E Task Custom Form Documentation Fill Colour Cem Font MM Serif 15 manual Figure 2 5 Loan assessment with task icons E To save the specification click on the save button and the save dialog appears choose the location to be saved at and click save 2 2 Data perspective After the control flow of the process have been established the next thing to consider is the data requirements Some of the decisions that need to be made when modelling data includes e Data that participants need in each work item e Data that must return to the engine once the work item is complete e Way of data moves between tasks and net in a running workflow e Use of data to choose between flows YAWL uses XML schema to define data documents that are passed from net to task and back during the life of a workflow instance User defined data types are also supported by allowing for the definition of XML Schema complex types which are added to a specification and then may be used to define variables based on those types The remainder of the section is to step through how to implement the data perspective to the loan assessment process in YAWL The following complex elements shown in table 2 1 needs to be created in order to capture the required data The complex elements with indented complex elements indicate that such complex element is based on another complex ele
15. Repostory are ne Agee A Codeetu Web Servon Interface W Figure 1 1 YAWL system s core services and their interfaces 1 3 BPMNto YAWL YAWL is an executable language to enable process automation it is a detailed specification that consists of data types data extraction and conversion steps application bindings resource allocation and distribution policies among others In comparison to BPMN BPMN is a language that has a complete different abstraction level which used for the purpose of business analysis and improvement Due to BPMN and YAWL share many common concepts see figure 1 2 Hofstede Aalst Adams amp Russell 2010 BPMN models obtained from the business analysis phase can be easily mapped into the eguivalent YAWL specifications Timeout Receive Timeout Receive Task Terminate event Fin cordon Intermediate Timer Message Evam Figure 1 2 Mapping of tasks events and gateways 2 0 Implement the process The following sections will be demonstrating how the loan assessment process can be implemented in YAWL Please note that due to YAWL is a very flexible workflow management system there could be multiple or perhaps better ways of achieving the same end result that what have been shown in the following lab exercise However the selected way of implementation is to keep the loan assessment process in YAWL semantically as similar as possible to the given BPMN For example instead of having an extra task to check a
16. Task Prepare_and_send_acceptance_pack i Primary Resources Secondary Resources Task Privileges rOffer wi Enable System Offer r Participants r Roles r Net Parameters Loan officer Sa r Filters r Constraints Capability GA V Choose completer s of task Assess_eligibility v Org Structure f C Do not choose completer s of task Appraise_property r Allocate wi Enable System Allocation Allocation Strategy Random Choice z r Start Enable System Start Cancel Apply OK Figure 2 20 Resourcing with choose completer s of task constraints e VerifyRepaymentAgreement Tick enable system offer enable system allocate and enable system start Add loan officer to the roles box Add runtime constraints to ensure the task are allocated to the same loan officer who have previously completed work items of prepare and send acceptance pack task in the current process instance e Take final decision Tick enable system offer enable system allocate and enable system start Add loan officer to the roles box Add runtime constraints to ensure the task are allocated to a different loan officer who have previously completed work items of VerifyRepaymentAgreement task in the current process instance see figure 2 21 i Secondary Resources Task Privileges r Offer
17. ask then join the routing task to the appraise property task and check credit history and continue on with assess loan risk task see figure 2 3 Loan_assessment EO L Update ei status CompfeteApplication Check credit Assess loan H PP i Prepare and VerifyRepaymentAgreement history risk send gt 3 gt ptance Take final Submit Check Appraise asters pac Prepare and decision application application property eligibility send home form insurance completeness guote Reject application Figure 2 3 Flow relations of check application form completeness task Next add an AND join and XOR split decorator to assess eligibility task to enable synchronisation of previous tasks then establish flows from both assess loan risk and appraise property task to assess eligibility For the outgoing flows connect assess eligibility task to reject application and prepare and send acceptance pack task Add XOR split decorator to prepare and send acceptance pack task create one flow to prepare and send home insurance guote task and another to verify repayment agreement task Add a XOR join decorator to verify repayment agreement task to allow an outgoing flow from prepare and send insurance quote task to connect to it For the reject application task create flow to the end condition Add another XOR split decorator to verify repayment agreement task and a XOR join decor
18. ator to update status task establish one flow to take final decision task and one to update status task Lastly connect both take final decision task and update status task to the end condition see figure 2 4 Loan_assessment _ m status im VerifyRepaymentAgreement gt MO Take final heck credit Assess loan Se risk Cum Submit Check Appraise Assess gre Prepare and decision application application property eligibility send home form insurance completeness quote Reject application Figure 2 4 Completed control flow perspective To make the YAWL specification more easily understood select each task and add task icon from the task icon properties as shown in figure 2 5 Palette UE loan assessment lol E Properties gt l E e Update status E Specification EN Ci Authors EKWOK ZE b Segre C A po cati ck cr Assess loan Data Definitions 17 defined types B B ere Gezek zeg P Description No description has b H wll m Name LoanAssessment gt EE EN EN gt A pei final Title Submit Check Appraise 4 b ge Version Number 0 1 etta lete e Bane e EEE EE Background Image form cae aie Data Gateway None completeness Data Variables Local 10 Fill Colour _ FFFFFF B
19. button Anumber of potential problems with a workflow can be automatically spotted with analysis Examples include spotting potential deadlock situations unnecessary cancellation set members and unnecessary or join decorators After the loan assessment net have been validated to be correct it is ready for deployment Click the upload this specification to YAWL engine button V and follows the prompt to deploy Or alternatively click the logon button in YAWL control panel to bring up YAWL control centre and click on cases in the top menu as shown in figure 3 1 To upload the workflow specification click on the browse button to bring up the file browser dialog box double click on the loan assessment file to select the file then click the upload file button When the specification is uploaded it is validated against the YAWL specification schema for validity If there is a problem with the upload an appropriate error message is displayed in a popup dialog If the specification has been uploaded successfully it will be shown in the loaded specifications section see figure 3 1 Figure 3 1 Case management 4 0 Execute the process After the workflow specification have been uploaded to launch a case select the loan assessment specification and click the launch case button All the current active running case s of the loan assessment process will be shown in the running cases section see figure 4 0 It is now ready to give the loa
20. cerldentifier gt Assess_eligibility Administrationinf ormation LoanOfficerldentifier text lt LoanOfficerldentifie r gt Reject LoanAppli Loan_assessment LoanApplication Input application cation Administr gt lt Applicationldentifier gt Loan_assessment Administrationin Input ationInfor formation Applicationldentifier text lt Applicationldentifi mation er gt lt SubmissionDateAndTime gt Loan_assessment Administrati onInformation SubmissionDateAndTime text lt Submissio nDateAndTime gt lt RevisionDateAndTime gt current dateTime lt RevisionDateAndTime gt lt Status gt Rejected lt Status gt lt Comments gt Loan_assessment AdministrationInformation Comments text lt Comments gt lt Eligibility gt Loan assessment Administrationlnformation a 17 Eligibility text lt Eligibility gt lt LoanOfficerldentifier gt Loan_assessment AdministrationIn formation LoanOfficerldentifier text lt LoanOfficerldentifi er gt Administr Reject application Administrationlnformation Output ationlnfor mation Prepare LoanAppli Loan_assessment LoanApplication Input and send cation acceptance Administr 4 Loan assessment Administrationlnformation Input pack ationlnfor mation Repaymen 4 Prepare and send acceptance pack RepaymentSchedul Output tSchedule e Prepare TermsAnd 4 Prepare and send home Insurance guote TermsAndCo Output and se
21. click OK see figure 2 19 then click the OK button again to close the resources dialog The applicant is now the primary resources that the work item of the selected task will be offered to at runtime by the system 22 All Participants Es A Applicant A Finance officer A Insurance sales rep A Loan officer A Property appraiser B Loan officer Figure 2 19 Participants dialog Use the resourcing properties to set up resources for the tasks listed in table 2 6 Enable Enable system Enable Participants Roles system allocation system offer start CompleteApplication V z v Applicant A Check credit history v V v Financial officer Appraise property v V vy Property appraiser Assess eligibility Loan officer Reject application Loan officer dA lt SES lt gd KR Prepare and home Insurance insurance quote sales rep Table 2 6 Resource setting The remaining three tasks prepare and send acceptance pack VerifyRepaymentAgreement and take final decision requires business rules to be defined in its resourcing e Prepare and send acceptance pack Tick enable system offer enable system allocate and enable system start Add loan officer to the roles box Add runtime constraints to ensure the task are allocated to the same loan officer who have previously completed work items of assess eligibility task in the current process instance see figure 2 20 23 Resources for
22. complexType lt xs complexTyp umeration value Household gt umeration value Personal gt umeration value Domestic gt triction gt eType gt gt name Amount type xs double minOccurs 0 gt name Duration type xs double minOccurs 0 gt name InterestRate type xs double minOccurs 0 gt gt name OverdueCreditAccounts gt lt xs sequence gt lt xs element lt xs element lt xs element lt xs element lt xs sequence gt lt xs complexType name CreditType type xs string minOccurs 0 gt name DefaultAmount type xs double minOccurs 0 gt name Duration type xs double minOccurs 0 gt name InterestRate type xs double minOccurs 0 gt gt lt xs complexTyp name CurrentCreditCardInformation gt lt xs sequence gt lt xs element name Provider type xs string minOccurs 0 gt lt xs element name StartDate type xs date minOccurs 0 gt lt xs element name EndDate type xs date minOccurs 0 lt xs element name InterestRate type xs double minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs complexType name PublicRecordInformation gt lt xs sequence gt lt xs element name CourtJudgementInformation type xs string minOccurs 0 gt lt xs element name BankruptcyInformation type xs string minOccurs 0 gt lt xs sequence gt lt xs
23. d PropertyInformation getChild PropertyAddress Element PurchasingPrice inData getChild LoanApplication getChild PropertyInformation getChild PurchasingPrice Element LoanAmount inData getChild LoanApplication getChild LoanInformation getChild LoanAmount Element NumberOfYears inData getChild LoanApplication getChild LoanInformation getChild NumberOfYears Element StartDate inData getChild LoanApplication getChild LoanInformation getChild StartDate Element InterestRate inData getChild LoanApplication getChild LoanInformation getChild InterestRate Element InterestType inData getChild LoanApplication getChild LoanInformation getChild InterestType String Comments Check the loan application form fields and add comments accordingly if Name null Comments Name is required if Surname null Comments Comments Surname is required if Email null Comments Comments Email is required if HomePhone null Comments Comments HomePhone is required else if HomePhone getText length 10 Comments Comments Home phone must be 10 digits if CellPhone null Comments Comments CellPhone is required else if CellPhone getText length 10 Comments Comments Cell phone must be 10 digits if CurrentAddress null Comments Comments CurrentA
24. d log back in as loan officer A or B depending on who has the take final decision task Click on started in the menu select the take final decision task listed under work items and click the view edit button to bring up the application change status to approved and click the complete button The above process execution demo shows one possibility of how the process can be executed please feel free to try out different scenarios with different test data to see how alternative paths of the process can be executed at different decision points 5 0 Further reading Various subject areas mentioned in the lab exercise are a topic of its own which cannot be covered entirely or in great details In addition to the references list of the lab exercise the below additional references are suggested further reading into such subject areas 32 Aalst W v amp Hee K v 2002 Workflow management models methods and systems MIT press The YAWL foundation 2010 YAWL technical manual verison 2 1 Retrieved February 19 2015 from http yawlfoundation org manuals YAWLTechnicalManual2 1 pdf The YAWL user group 2015 YAWL user group Retrieved from http yaug org Workflow Patterns Initiative 2015 February 19 Workflow patterns Retrieved from http www workflowpatterns com 33 References Hofstede A H Aalst W M Adams M amp Russell N 2010 Modern business process automation YAWL and its support enviornment Berlin
25. ddress is required if CurrentEmployer null 4 Comments Comments CurrentEmployer is required if MonthlyNetRevenue null Comments Comments MonthlyNetRevenue is required if BankName null Comments Comments BankName is required if TypeOfAccount null Comments Comments TypeOfAccount is required if AccountNumber null Comments Comments AccountNumber is required if TypeOfProperty null Comments Comments TypeOfProperty is required if PropertyAddress null Comments Comments PropertyAddress is required if PurchasingPrice null 4 Comments Comments PurchasingPrice is required if LoanAmount null Comments Comments LoanAmount is required if NumberOfYears null Comments Comments NumberOfYears is required if StartDate null Comments Comments StartDate is required if InterestRate null Comments Comments InterestRate is required if InterestType null Comments Comments InterestType is required Set the output data WorkItemRecord wir this getWorkItem String caseID wir getRootCaselD DateFormat DateFormat new SimpleDateFormat yyyy MM dd T HH mm ss Date Date new Date String DateAndTime DateFormat format Date String AdministrationInformation lt ApplicationIdentifier gt caseIDt lt ApplicationIdentif
26. e Select check application form completeness task and select XOR split from the join type drop down box of the task section at the properties pane this will enable multiple flow relations from the task Create one flow relations from check application form completeness task to complete application task The branch will be executed if an application is found incomplete such application is returned to the applicant for them to complete and resubmit In order to resubmit a XOR split and XOR join decorator is added to the complete application task and check application form completeness task respectively an outgoing flow relation from the complete application task to check application form completeness task is also created Another flow relation is needed from complete application task to the update status task and finally to the end condition this branch will be executed if the application is not complete and resubmitted within five days and it will update the application status to cancel and then the process will come to its end If the application is completed an AND split is needed to enable a credit check and property appraisal to execute simultaneously Add an additional task with a AND split decorator to the net the task is used as an empty routing task that does not require decomposition it is simply for routing purposes i e to enable tasks that follows to execute simultaneously Join the check application form completeness task to the routing t
27. e financial officer property appraiser insurance sales rep and applicant in the same way H Asmin ausus Cases Users EE Assels Calendar Services cient apps Logout gt Roles Description Belongs To Financial officer Insurance sales rep Loan officer Property appraiser Notes Save New Name Members 0 Resel Remove EZE as aiek aiek Figure 2 16 Organisational data management Once all roles have been added click on the users heading to go to the user management screen see figure 2 17 to add the participants 20 Admin Queues Cases Org Data Assets Calendar Services Client Apps Logout A Privileges Choose Which Work Item to Start Start Work Items Concusrently Reorder Work Items View All Work Rems of Team View All Work items of Org Group Chain Work Item Execution Manage Cases Figure 2 17 User management To add a new participant click the new button and enter the participant details For the purpose of the exercise enter loan officer in the first name field A in the last name field LOA as the user I D and give it a password in the password section To assign Loan officer A to the role of Loan officer ensure the roles tab is selected at the bottom left section of the screen The owns box shows the role s a participant currently holds and the available box shows all the roles that a participant can be assigned to Select loan officer from the list
28. eld and notice all the defined complex elements are now listed as a data type that can be used Select LoanApplication as the type local for scope and click OK Follow the previous steps and create the remainder net variables as shown in figure 2 7 E Data Variables for Net Loan_assessment Name Type Scope Initial Value Eu Cancel Appl OK Figure 2 6 Data variable dialog S Data Variables for Net Loan_assessment Name Scope Initial Value Administrationinformation Administrationinformation Local CreditHistoryReport CreditHistoryReport Local r RiskWeight int Local r PropertyAppraisal PropertyAppraisal Local RepaymentSchedule RepaymentSchedule Local ConditionsAgreed boolean Local RepaymentAgreed boolean Local TermsAndConditions YDocumentType Local HomelnsuranceQuote HomelnsuranceQuote Local es Av Cancel Apply OK Figure 2 7 Net variables of loan assessment net The loan assessment net now requires task variables to be added so that it can transfer information between workflow users and transfer of data between the net and its tasks Task variables can be added to tasks in a similar way of how net variables are added Select submit application task then select the data variables property in the decomposition section of the properties pane then click on the action button to open the data variables dialog
29. ers unique support for exceptional handling both those that were and those that were not anticipated at design time e YAWL offers unique support for dynamic workflow through the Worklets approach Workflows can thus evolve over time to meet new and changing requirements e YAWL aims to be straightforward to deploy It offers a number of automatic installers and an intuitive graphical design environment e The Declare component released through declare sf net provides unique support for specifying workflows in terms of constraints This approach can be combined with the Worklet approach thus providing very powerful flexibility support e YAWL s architecture is Service oriented and hence one can replace existing components with one s own or extend the environment with newly developed components e The YAWL environments supports the automated generation of forms This is particularly useful for rapid prototyping purposes e Tasks in YAWL can be mapped to human participants web services external applications or to Java classes e Through the C YAWL approach a theory has been developed for the configuration of YAWL models For more information on process configuration visit www processconfiguration com e Simulation support is offered through a link with the ProM www processmining org environment Through this environment it is also possible to conduct post execution analysis of YAWL processes e g in order to identify bottlenecks 1 2
30. ier gt lt SubmissionDateAndTime gt DateAndTime lt SubmissionDateAndTime gt if Comments setParameterValue AdministrationInformation AdministrationInformation lt Status gt Incomplete lt Status gt lt Comments gt Comments lt Comments gt else setParameterValue AdministrationInformation AdministrationInformation lt Status gt Complete lt Status gt Return the element created in the base class and containing the result return getoutputData public List lt YParameter gt getRequiredParams List lt YParameter gt params new ArrayList lt YParameter gt YParameter param new YParameter null YParameter INPUT PARAM TYPE param setDataTypeAndName LoanApplication LoanApplication XSD NAMESPACE params add param param new YParameter null YParameter OUTPUT_PARAM TYPE param setDataTypeAndName AdministrationInformation AdministrationInformation XSD NAMESPACE params add param return params 51
31. in the resource setup it has been defined that the same loan officer completed assess eligibility task will prepare and send acceptance pack Select the task and click the view edit button to fill out the repayment schedule as shown in figure 4 6 31 RepaymentSchedule MonthlyRepaymentAmount 500 NumberOfRepayment 1040 Figure 4 6 Repayment schedule Due to the applicant had requested for insurance quote in the loan application logout and log back in as insurance sales rep Click on started in the menu select the prepare and send home insurance quote task listed under work items and click the view edit button to bring up the home insurance quote Fill in sample data as shown in figure 4 7 and click the complete button The up arrow next to the terms and conditions field is to enable documents to be uploaded click on the arrow and follow the prompt to upload a document HomelnsuranceQuote HomelnsuranceTotalCost 1200 AdditionalCostOnMonthlyLoanRepayment 1000 Insurance SalesRepresentativeldentifier ISRA Figure 4 7 Home insurance quote The same loan officer who completed the prepare and send acceptance pack task will verify repayment agreement Select the task and click the view edit button check both conditions and repayment agreed checkboxes click the complete button Finally the take final decision task will be carried out by a different loan officer who completed the verify repayment agreement task Logout an
32. ired Element Name inData getChild LoanApplication getChild ApplicantInformation getChild Name Element Surname inData getChild LoanApplication getChild ApplicantInformation getChild Surname Element Email inData getChild LoanApplication getChild ApplicantInformation getChild Email Element HomePhone inData getChild LoanApplication getChild ApplicantInformation getChild HomePhone Element CellPhone inData getChild LoanApplication getChild ApplicantInformation getChild CellPhone Element CurrentAddress inData getChild LoanApplication getChild ApplicantInformation getChild CurrentAddress Element CurrentEmployer inData getChild LoanApplication getChild ApplicantInformation getChild CurrentEmployer Element MonthlyNetRevenue inData getChild LoanApplication getChild ApplicantInformation getChild MonthlyNetRevenue Element BankName inData getChild LoanApplication getChild ApplicantInformation getChild BankName Element TypeOfAccount inData getChild LoanApplication getChild ApplicantInformation getChild TypeOfAccount Element AccountNumber inData getChild LoanApplication getChild ApplicantInformation getChild AccountNumber Element TypeOfProperty inData getChild LoanApplication getChild PropertyInformation getChild TypeOfProperty Element PropertyAddress inData getChild LoanApplication getChil
33. licantCreditInformation maxOccurs unbounded gt name OverdueCreditAccounts type OverdueCreditAccounts maxOccurs unbounded gt name CurrentCreditCardInformation type CurrentCreditCardInformation maxOccurs unbounded name PublicRecordInformation type PublicRecordInformation maxOccurs unbounded name CreditAssessment type CreditAssessment lt xs complexType gt lt xs complexTyp lt xs sequence gt lt XS lt XS lt XS lt XS lt XS lt XS lt xs seguence gt elem elem elem elem elem elem en en en en en en name PropertyAppraisal gt lt xs complexType gt lt xs complexTyp lt xs sequence gt gt name PropertyAppraiserIdentifier type xs string gt name SurroundingPropertiesValuel type xs double gt name SurroundingPropertiesValue2 type xs double gt name SurroundingPropertiesValue3 type xs double gt name EstimatedPropertyMarketValue type xs double gt name Comments type xs string minOccurs 0 gt name RepaymentSchedule gt lt xs element name MonthlyRepaymentAmount type xs double gt gt gt lt xs element name NumberOfRepayment type xs int gt lt xs sequence gt lt xs complexType gt lt xs complexType name HomeInsuranceQuote gt lt xs sequence gt lt xs element name HomeInsuranceTotalCost type xs double gt lt xs eleme
34. ment for example the loan application complex type is based on Applicantinformation complex type PropertyInformation complex type and so on Complex element Sub component simple element Type Loan application Applicantinformation Name String Surname String Email String HomePhone Int CellPhone Int CurrentAddress String PreviousAddress String CurrentEmployer String MonthlyNetRevenue Double BankName String TypeOfAccount String AccountNumber String PropertyInformation TypeOfProperty String PropertyAddress String PurchasingPrice Double Loaninformation LoanAmount Double NumberOfYears Double StartDate Date InterestRate Double InterestType String InsuranceQuoteRequired Required Boolean AdministrationInformation Applicationldentifier String SubmissionDateAndTime DateTime RevisionDateAndTime DateTime Status String Comments String Eligibility Boolean LoanOfficerldentifier String CreditHistoryReport FinancialOfficerldentifier ID String ApplicantCreditInformation LoanType String Amount Double Duration Double InterestRate Double OverdueCreditAccounts CreditType String DefaultAmount Double Duration Double InterestRate Double CurrentCreditCardinformation Provider String StartDate Date EndDate Date InterestRate Double PublicRecordinformation
35. mpleteness Administrationinf Output completen ationinfor ormation ess mation Update Administr 4 Loan assessment Administrationlnformation Input status ationlnfor mation Administr lt Applicationldentifier gt 4 Update status Administrationlnfor Output ationInfor mation Applicationldentifier text lt Applicationldentifier gt _ mation lt SubmissionDateAndTime gt Update_status Administration nformation SubmissionDateAndTime text lt SubmissionD ateAndTime gt lt RevisionDateAndTime gt current DateTime lt RevisionDateAndTime gt lt Status gt Canceled lt Status gt lt Comments gt Update_status AdministrationInformation C omments text lt Comments gt lt Eligibility gt false lt Eligibility gt lt LoanOfficerldentifier gt Update status Administrationlnfor mation LoanOfficerldentifier text lt LoanOfficerldentifier gt Check LoanAppli Loan_assessment LoanApplication Input credit cation history Administr 4 Loan assessment Administrationlnformation Input ationlnfor mation CreditHist Check credit history CreditHistoryReport Output oryReport Appraise LoanAppli 4 Loan assessment LoanApplication Input property cation Administr Loan_assessment Administrationinformation Input ationlnfor mation PropertyA 4 Appraise property PropertyAppraisal Output ppraisal Assess loan RiskWeigh if Loan_assessment CreditHistoryReport CreditAssessmen Input risk t t Result text B
36. n assessment process a test run to see its execution Logout of YAWL control centre and log back on as the applicant use the password that was created during the setup of participants 27 L Les om DEEZ en omom Lez Loes ses cm uma Figure 4 0 Case management showing running cases Click on started in the menu select the submit application task that is listed under work items see figure 4 1 and click the view edit button to bring up the loan application Fill in sample data as shown in figure 4 2 and click the complete button Oika w aO Spacitication Task venea d Suspend Case Status Redkocate sil Reabocane sil New Instance Comptes Figure 4 1 Applicant screen with submit application task 28 Edit Work Item 425 1 LS Lz leoi Figure 4 2 Loan application form 29 Logout and log back in as the financial officer Click on started in the menu select the check credit history task listed under work items and click the view edit button to bring up the credit history report Fill in sample data as shown in figure 4 3 and click the complete button Note that how an uneditable copy of the completed loan application and administration information are attached The information in the administration information section are automatically populated by the codelet as part of the check application form completeness task CreditHistoryReport DP 09 02 2015 Ej 09 02 2017 Ej Figure 4 3
37. nd Conditions nditions home Homelnsu 4 Prepare and send home Insurance guote Homelnsuran Output insurance ranceQuot ceQuote quote e VerifyRepa LoanAppli Loan_assessment LoanApplication Input ymentAgre cation ement Administr Loan_assessment Administrationinformation Input ationlnfor mation Repaymen 4 Loan assessment RepaymentSchedule Input tSchedule Repaymen VerifyRepaymentAgreement RepaymentAgreed text Output tAgreed Conditions VerifyRepaymentAgreement ConditionsAgreed text Output Agreed Take final LoanAppli Loan_assessment LoanApplication Input decision cation Administr 4 Loan assessment Administrationlnformation Input ationlnfor mation Repaymen Loan_assessment RepaymentSchedule Input tSchedule Repaymen Loan_assessment RepaymentAgreed text Input tAgreed Conditions Loan_assessment ConditionsAgreed text Input Agreed Administr Take_final_decision AdministrationInformation Output ationlnfor mation Table 2 3 Parameter mappings It is now possible to define which flow should be activated at runtime at each of the decision points i e XOR splits Click on the check application form completeness task select the split predicates property in the task section of the properties pane then click on the action button at the right of the property to open the split predicates dialog box All the outgoing flows of the split and its 18 associated flow exp
38. ngine users and web services To create an output binding select the submit application task open the data variables for decomposition dialog from the properties pane select the LoanApplication task variable by clicking on the arrow next to the variable in the decomposition variables section as shown in figure 2 11 S Data Variables for Decomposition Submit_application Task Submit_application Initial Value Administrationlnformation Administrationlnformation Local CreditHistoryReport CreditHistoryReport Local RiskWeight int Local gt PropertyAppraisal PropertyAppraisal Local RepaymentSchedule RepaymentSchedule Local ConditionsAgreed boolean Local O i RepaymentAgreed boolean Local E e t Av r Decomposition Variables Name Type Scope Default Value Se e se ilb zg E Figure 2 11 Data variables for submit application task Click on the output bindings button zu on the lower toolbar and the output data bindings dialog box will appear All the net variables are listed in the net variable drop down box at the output to section and all the task variable s of the task are listed in the task variable drop down box in the generate binding from section Make sure the both net and task variable are selected as shown in figure 2 12 and then there are two ways to add the XQuery 1 click the generate and insert binding button or 2 type the XQuery directly into the XQ
39. nt name AdditionalCostOnMonthlyLoanRepayment type xs double gt lt xs element name InsuranceSalesRepresentativeldentifier type xs string lt xs sequence gt lt xs complexType gt lt xs schema gt gt Appendix B Check application form completeness codelet package org yawlfoundation yawl resourcing codelets import import import import import import import import import import public java text DateFormat java text SimpleDateFormat java util ArrayList java util Date java util List org org org org org j dom2 Element yawlfoundation yawl engine interfce WorkItemRecord yawlfoundation yawl elements data YParameter yawlfoundation yawl resourcing codelets AbstractCodelet yawlfoundation yawl resourcing codelets CodeletExecutionException class CheckApplicationFormCompleteness extends AbstractCodelet public CheckApplicationFormCompleteness super setDescription This codelet checks for all the required informationa and its format of a loan application parameters lt br gt Input Loan application lt br gt Output Administration information Required public Element execute Element inData List lt YParameter gt inParams List lt YParameter gt outParams throws CodeletExecutionException Set the inputs passed in the base class setInputs inData inParams outParams Get the data values requ
40. odelets Both CompleteApplication and VerifyRepaymentAgreement task in the loan assessment process require a timer task to ensure timely response from applicants If an application is not received back from the applicant in the required time frame the task will expire and move onto the next task Select the CompleteApplication task then select the Timer property in the task section of the properties pane then click on the action button at the right of the property to open the set timer dialog box and complete the set up as shown in figure 2 10 Click the OK button the timer property is now set to Offer PSD where P stands for period and D for days Repeat the same steps for VerifyRepaymentAgreement task and set to 14 days for the duration 13 Set Timer for Task CompleteApplication Begins p Expires Never At exactly 19027205 a vH 45 alz On offer After duration oH oH oH oH oH oH On start O Via variable Cancel OK Figure 2 10 Timer settings of complete application task After setting up all the net and task variables data bindings needs to be defined using XQuery expressions to enable value assign to a variable and how a value is passed between net level and task level variables and vice versa Both input and output bindings can be assigned to any tasks depending on its usage type to allow the passing of state between nets and their tasks and between tasks and workflow e
41. of available roles and click on the left pointing arrow to assign the loan officer role to loan officer A Create the remaining users listed in table 2 5 First name Lastname UserID Roles Loan officer B LOB Loan officer Finance officer A FOA Finance officer Property appraiser A PAA Property appraiser Insurance salesrep A ISRA Insurance sales rep Applicant A AA Applicant Table 2 5 Loan assessment process participants Once the above roles and participants are defined resources can be allocated to tasks by specifying the interaction strategy via YAWL editor Click on submit application task and select the resourcing property in the task section of the properties pane then click on the action button at the right of the property to open the resources dialog box and tick the enable system offer allocation and start as shown in figure 2 18 What it does is when a case start the system will automatically offer allocate and immediately start the work items of the task at run time 21 x Primary Resources Secondary Resources Task Privileges Offer Enable System Offer C Choose completer s of task C Do not choose completer s of task Allocate Enable System Allocation Allocation Strategy Figure 2 18 Resources dialog box Task then can be assigned to specific participants and or roles click sign in the participants section select A Applicant from the all participants list and
42. pplication form completeness and then return the incomplete application to the applicant for resubmission YAWL is capable of carrying out the check through its dynamic form and preventing an incomplete form being submitted in the first place 2 1 Control flow perspective The editor in YAWL is the tool that enables workflow designers to graphically define complex process models and to analyse and export these models to the engine One way to start YAWL editor click on the YAWL Editor icon located at start all programs YAWL folder The editor will be opened with E at the top left of the menu toolbar or click on file in the menu and choose new A blank net called Net by default will be a blank canvas Click on the create a new specification button shown this is where the loan assessment workflow will be created configured and validated The properties pane at the left of the canvas is used to view and modify all of the properties of the selected specification net decomposition and net element task condition or flow To give the specification and net a more descriptive name update the specification and net name properties as shown in figure 2 0 Properties Specification Authors KiYinEric Data Definitions 0 defined types Description Name LoanAssessment Title Version Number 0 1 Net Background Image Data Gateway None Data Variables Fill Colour FFFFFF Log Entries 0 defined Loan asse
43. rams YAWL folder then click the start button To associate the codelet with the check application form completeness task automate the task by ticking the automated checkbox in the decomposition section of the properties pane Select the codelet property then click on the action button at the right of the property to open the set codelet for automated decomposition dialog box All the available codelets will be listed in the dialog see figure 2 9 Select CheckApplicationFormCompleteness codelet and click the OK button A green arrow will appear in the task to indicate that the task is now automated and has a codelet specified Set Codelet for Automated Decomposition Name Description Remove a previously selected codelet This codelet checks for all the required informationa and its format CheckApplicationFormCompleteness of a loan application Required parameters Input Loan application This codelet is a simple example of codelet construction and usage It adds two integers Required parameters Inputs a b both long types Output c also a long ExampleCodelet This codelet is a simple example of codelet construction and usage It waits for a random amount of time before completing Required parameters Input interval type String H M or S for hour minute or second Input max type long maximum wait time Output waitTime type long the time waited RandomWait Figure 2 9 Available c
44. rces in the data layer and provide functionality to user facing services or applications at the presentation layers Business logic Figure 1 0 The YAWL system architecture The core service of the YAWL system is the workflow engine it interacts with other services in the YAWL system through four interfaces as shown in figure 1 1 Hofstede Aalst Adams amp Russell 2010 three of which correspond to the WRM The engine interfaces are the following e interface A which corresponds to interface 1 and partially to interface 5 of the WRM and provides endpoints for uploading and unloading process specifications registering or removing references to external services and basic user connections and disconnections e Interface B which corresponds to interfaces 2 3 and 4 of the WRM and provides endpoints for services to establish a session with the engine launch process instances check work items in and out of the engine and retrieve process data and state information e Interface E which partially corresponds to interface 5 and provides endpoints for the retrieval and analysis of process logs YAWL Engine Event O tem i Poruntmt ZT SE akoa EE TO e rko Weertace A Interface D reien E beteen Y te dra 3 S x K Process Designer Web Service Worklet Service Invoker e I Trema C eent Ate Jaki Lor k s werte R Evert ap E lt II ITI u Org 9 a ie DO CI reki Daa D ti ti be
45. ression predicate will be listed in the split predicates dialog box that appears There should be two target task listed CompleteApplication and unnamed task The arrow buttons at the bottom toolbar of the list allow reordering the evaluation sequence of the predicates The bottom predicate will form the default flow that gets executed if all other predicates evaluated to be false Ensure the unnamed target task is at the bottom in this instance To specify the predicate select the CompleteApplication target task then click on the action button and complete the set up as shown in figure 2 14 Enter Loan_assessment AdministrationInformation Status text Incomplete in the predicate for flow dialog box and click the OK button Leave the predicate of the unnamed task as true to allow the flow will always execute to avoid deadlock when all other predicates are false see figure 2 15 Repeat the steps to define rest of the flow details as listed in table 2 4 and ensure to follow the evaluation sequence of the predicates Net Variables Administrationlnformation v amp Loan assessment Administrationlnformation Status text lt Incomplete Figure 2 14 Predicate for flow Split predicates E Split Predicates for Task Check application form completeness Target Predicate CompleteApplication unnamed true AV The bottom most flow is the default Figure 2 15 Predicate for flow Task Target task Predicate
46. ssment Figure 2 0 Properties pane In theory the input condition represent the process begins when loan applications being received after the applicants made a submission through the loan provider s website However for the purpose of simplicity and being the main focus of the lab exercise is to teach how business processes can be automated with YAWL Instead of building a website that interacts with the process by external service the applicant has been defined as a role within YAWL and additional tasks will be added to simulate the online loan application submission i e submit and complete application task Click on the atomic task button ll in the elements palette or right click in an empty area of the canvas and choose atomic task Left mouse click on the right of the input condition to place an atomic task Set the decomposition of the task by select New in the drop down box of the decomposition name at the properties pane see figure 2 1 Type Submit application in the new decomposition dialog and click the OK button Decomposition New v New Figure 2 1 Decomposition properties Repeat the process to create all the loan assessment tasks as shown in table 2 0 and the loan assessment net should end up appearing as figure 2 2 Check application form CompleteApplication Check credit Assess loan risk completeness history Appraise property Assess eligibility Reject Prepare and send application accep
47. string minOccurs 0 gt name SubmissionDateAndTime type xs dateTime minOccurs 0 name RevisionDateAndTime type xs dateTime minOccurs 0 name Status Type gt minOccurs 0 gt lt xs restriction base xs string gt lt xs en lt xs en lt xs en lt xs en umera umera umera umera tion tion tion tion valu valu valu val e Complete gt e Incomplete gt e Assessed gt ue Rejected gt gt gt lt xs enumeration value Canceled gt lt xs enumeration value Approved gt lt xs restriction gt lt xs simpleType gt lt xs element gt lt xs element name Comments type xs string minOccurs 0 gt lt xs element name Eligibility type xs boolean minOccurs 0 gt lt xs element name LoanOfficerIdentifier type xs string minOccurs 0 gt lt xs sequence gt lt xs complexType gt lt xs complexType name FinancialOfficerIdentifier gt lt xs sequence gt lt xs element name ID type xs string gt lt xs sequence gt lt xs complexType gt lt xs complexType name ApplicantCreditInformation gt lt xs sequence gt lt xs element name LoanType minOccurs 0 gt lt xs simpleType gt lt xs restriction base xs string gt lt xs en lt xs en lt xs en lt xs res lt xs simpl lt xs element lt xs element lt xs element lt xs element lt xs sequence gt lt xs
48. tance pack Prepare and send home VerifyRepaymentAgreement Take final Update status insurance quote decision Table 2 0 Loan assessment tasks Loan_assessment Update status CompleteApplication Gorze en Prepare and VerifyRepaymentAgreement LE LE gt eea Take final acceptance Go Submit Check Appraise gra ba Prepare and decision application application property magouy send home form insurance completeness quote Reject application Figure 2 2 Loan assessment tasks To establish the flow of execution connect the input condition to submit application task by finding the flow connectors that appear as a small cross as you hover your mouse over the sides of the submit application task Hold the left mouse button down over a flow connector and draw a line by dragging the mouse from the flow connector on the input condition to the one on the submit application task figure 2 2 shows an established flow relation SL Submit application Figure 2 2 Flow relation established Repeat the process to create flow relations from submit application task to check application form completeness task Next a XOR split decorator needs to be added to check application form completeness task to specify the possible branches that will lead to the succeeding task depending on the check outcom
49. uery box click the OK button To see the m in the data variable dialog Figure 2 13 shows the binding summary dialog box with the data bindings created for the task binding just created click on the guick view bindings button r Output To e Net Variable LoanApplication Data Gateway SimpleExternalDBGatewaylmpl r Generate Binding From Task Variable LoanApplication r Binding Submit_application LoanApplication Cancel Figure 2 12 Passing the completed loan application values to a net variable Binding Task Variable Binding Net Variable Figure 2 13 Established data bindings with XQuery mapping 15 Creating an input binding is done in a similar way as the output binding by clicking the input bindings button instead of the output bindings button Follow the previous steps and create data bindings for each of the task listed in table 2 3 Task Task net Expression Parameter variable type CompleteA LoanAppli 4 Loan assessment LoanApplication Input pplication cation Administr Loan_assessment Administrationinformation Input ationlnfor mation LoanAppli CompleteApplication LoanApplication Output cation Check LoanAppli Loan_assessment LoanApplication Input application cation i form Administr Check_application_form_co
50. ut amp output Input only Input only Output only Output only Output only Input only Input only Output only Output only InputOnly Input only Input amp output Input only Input only Input only Check application form completeness task will require an associated codelet Java class to enable a Administrationlnformation variables Create a Java class by copy and paste the Java codes provided A detailed technical discussion of the codelet construction is beyond the scope of the lab exercise However in essence what the codelet does is to check for null value of each field in the loan application if null is found it will note that in the comment field accordingly In addition it also check to make sure the home phone and cell phone number has 10 digits in total If it doesn t satisfy the criteria of a completed application it will assign a status of incomplete to the application It also Place the CheckApplicationFormCompletness class file into the following YAWL s codelets folder create the directories if it doesn t exists YAWL INSTALL DIR engine apache tomcat 7 0 55 webapps resourceService WEB INF classes org yawlfoundation yawl resourcing codelets The root directory is depends on where YAWL is installed In order for the new codelet to become available the YAWL engine needs to be started or restart the engine if it is currently running Click on the control panel icon located at start all prog

Download Pdf Manuals

image

Related Search

Related Contents

Intercomunicador inalámbrico "COMMAX" WI-4C, 4  Samsung GT-S6500D Benutzerhandbuch  TFS ASAP – User Guide  Title IIA Improvement Process - Kansas State Department of Education  www.capcom-unity.com  460936001  Carnet de Prélèvement National Bécasse – 2011-2012  コチラ  ZyXEL ZyAIR B-320 User's Manual  Cellphone Detector pttu User Manual  

Copyright © All rights reserved.
Failed to retrieve file