A university for the world real R © 2009, www.yawlfoundation.org Chapter 10 The Resource Service Michael Adams.

Slides:



Advertisements
Similar presentations
Using the SQL Access Advisor
Advertisements

1 Senn, Information Technology, 3 rd Edition © 2004 Pearson Prentice Hall James A. Senns Information Technology, 3 rd Edition Chapter 7 Enterprise Databases.
Adders Used to perform addition, subtraction, multiplication, and division (sometimes) Half-adder adds rightmost (least significant) bit Full-adder.
Zhongxing Telecom Pakistan (Pvt.) Ltd
Distributed Systems Architectures
Chapter 7 System Models.
Chapter 7 Constructors and Other Tools. Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 7-2 Learning Objectives Constructors Definitions.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Copyright © 2003 Pearson Education, Inc. Slide 1.
BASIC SKILLS AND TOOLS USING ACCESS
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
1 Hyades Command Routing Message flow and data translation.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination. Introduction to the Business.
1 Introducing the Specifications of the Metro Ethernet Forum MEF 19 Abstract Test Suite for UNI Type 1 February 2008.
11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
15 Copyright © 2005, Oracle. All rights reserved. Adding User Interface Components and Event Handling.
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
State of New Jersey Department of Health and Senior Services Patient Safety Reporting System Module 2 – New Event Entry.
1 CREATING AN ADMINISTRATIVE DRAW REQUEST (OCC) Complete a Checklist for Administrative Draw Requests (Form 16.08). Draw Requests amount must agree with.
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
Exit a Customer Chapter 8. Exit a Customer 8-2 Objectives Perform exit summary process consisting of the following steps: Review service records Close.
Create an Application Title 1A - Adult Chapter 3.
Process a Customer Chapter 2. Process a Customer 2-2 Objectives Understand what defines a Customer Learn how to check for an existing Customer Learn how.
Human Service Providers and Referrals Chapter 5. Human Service Providers and Referrals 5-2 Objectives Demonstrate the process for entering a Human Service.
Custom Statutory Programs Chapter 3. Customary Statutory Programs and Titles 3-2 Objectives Add Local Statutory Programs Create Customer Application For.
1 Chapter 12 File Management Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
Site Safety Plans PFN ME 35B.
Week 2 The Object-Oriented Approach to Requirements
Computer Literacy BASICS
1 Daily ATM/Debit Maintenance through CU*BASE A Preview of ATM and Debit Card Maintenance Screens Prepared June 24, 2009.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering.
Campaign Overview Mailers Mailing Lists
User Friendly Price Book Maintenance A Family of Enhancements For iSeries 400 DMAS from Copyright I/O International, 2006, 2007, 2008, 2010 Skip Intro.
1 Contract Inactivation & Replacement Fly-in Action ( Continue to Page Down/Click on each page…) Electronic Document Access (EDA)
Legacy Systems Older software systems that remain vital to an organisation.
R12 Assets A Look Inside SM. Copyright © 2008 Chi-Star Technology SM -2- High-Level Overview R12 Setups –Subledger Accounting –ADI Templates –XML Reports.
 Copyright I/O International, 2013 Visit us at: A Feature Within from Item Class User Friendly Maintenance  Copyright.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
4 Oracle Data Integrator First Project – Simple Transformations: One source, one target 3-1.
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Synthetic.
Executional Architecture
Functional Areas & Positions
GL Interfaces 1 Using General Ledger Interfaces The File Maintenance and Procedures to successfully use the General Ledger Interfaces Jim Simunek, CPIM.
Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
DIKLA GRUTMAN 2014 Databases- presentation and training.
To the Assignments – Work in Progress Online Training Course
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 12 View Design and Integration.
Chapter 12 Working with Forms Principles of Web Design, 4 th Edition.
Essential Cell Biology
PSSA Preparation.
Chapter 11 Component-Level Design
Chapter 11 Creating Framed Layouts Principles of Web Design, 4 th Edition.
Immunobiology: The Immune System in Health & Disease Sixth Edition
Energy Generation in Mitochondria and Chlorplasts
© Paradigm Publishing, Inc Access 2010 Level 2 Unit 2Advanced Reports, Access Tools, and Customizing Access Chapter 8Integrating Access Data.
Import Tracking and Landed Cost Processing An Enhancement For AS/400 DMAS from  Copyright I/O International, 2001, 2005, 2008, 2012 Skip Intro Version.
South Dakota Library Network MetaLib User Interface South Dakota Library Network 1200 University, Unit 9672 Spearfish, SD © South Dakota.
Registry and Referral System HCW/PSW Staff User Manual
Chapter 9: Using Classes and Objects. Understanding Class Concepts Types of classes – Classes that are only application programs with a Main() method.
Process-oriented System Automation Executable Process Modeling & Process Automation.
A university for the world real R © 2009, Chapter 9 The Runtime Environment Michael Adams.
Presentation transcript:

a university for the world real R © 2009, Chapter 10 The Resource Service Michael Adams

a university for the world real R 2 © 2009, Topics Functional Overview Organizational Model Service Architecture Initial Distribution Privileges The Worklist

a university for the world real R 3 © 2009, The Resource Service The resource perspective is primarily responsible for modeling an organizational structure, and the people who populate it, in a computational form, so that a person may be coupled with tasks and data emanating from the control-flow and data perspectives The YAWL Resource Service provides full support for 37 of the 43 identified resource patterns (the remaining six being particular to the case-handling paradigm) and so may be considered the pre-eminent implementer of workflow resource pattern support

a university for the world real R 4 © 2009, The Resource Service Provides the resource perspective for specifications –completely separate from the Engine Basic role is to allocate work items to resources for processing It has four primary components: –Resource Manager: handles all the resource patterns –Worklist: a web-based user interface –Forms Connector: show either custom designed or dynamically generated forms for work items –Codelet Server: for executing codelets

a university for the world real R 5 © 2009, The Resource Service A resource may be a person (participant), or an application, service or codelet Each participant may perform one or more Roles, hold one or more Positions (each of which belongs to an Org Group) and possess a number of Capabilities Workflow tasks that require resourcing at runtime have their resourcing requirements specified at design time using the Editor

a university for the world real R 6 © 2009, Task vs Work Item A YAWL process specification will contain a number of task definitions, and control-flow, data and resourcing specifications are all defined with reference to tasks at design time At runtime, each task acts as a template or contract for the instantiation of one or more work items –That is, a work item is a runtime instance derived from a task definition taskwork items

a university for the world real R 7 © 2009, The Resource Service – Design Time For a manual task, a designer may provide details of a distribution set of resources to which the task should be offered at runtime A distribution set may consist of the union of: –zero or more individual participants, –zero or more roles, and –zero or more dynamic variables (which at runtime will be supplied with details of participants and/or roles) The resultant distribution set may be further filtered by specifying that only those participants with certain capabilities, occupying certain positions and/or being members of certain org groups, be included

a university for the world real R 8 © 2009, A Distribution Set – Design Time ParticipantsRoles Variables

a university for the world real R 9 © 2009, Resource Service Runtime At runtime, the Resource Service receives EnabledWorkItemEvent notifications from the Engine via Interface B for all enabled work items that are not specifically registered with another YAWL Service For manual tasks, it will use the resourcing specification defined at design time to determine the initial distribution set of participants, and then apply the defined filters, constraints and allocation strategies to that set before distributing the work item to the appropriate participant(s) For automated tasks, the service retrieves a reference to the specified codelet (if any) and then executes it using the work items data as inputs

a university for the world real R 10 © 2009, A Distribution Set - Runtime ParticipantsRoles Variables

a university for the world real R 11 © 2009, Distribution Set: Constraints –Four Eyes Principle (or Separation of Duties): a certain work item must not be performed by the same participant who completed an earlier specified work item in a process, or –Retain Familiar: if a participant who is a member of the distribution set of a work item is the same participant who completed a particular previous work item in the process, then they must also be allocated the new work item. A designer may also specify certain constraints to apply, for example:

a university for the world real R 12 © 2009, Resourcing Interaction Points There are three interaction points – places in a work items lifecycle where resourcing decisions are to be made – up to and including the moment the work item is placed in a work queue At each interaction point, the decision may be: –system-initiated – automatically performed by the system, using parameters set at design time, or –user-initiated – manually performed by a participant or administrator at runtime

a university for the world real R 13 © 2009, Resourcing Initiation Points The three interaction points are: –Offer: The work item is offered to one or more participants for execution. There is no implied obligation (from a system perspective) for the participant to accept the offer –Allocate: The work item is allocated to a single participant, so that the participant is committed (willingly or not) to performing that work item at a later time. If the work item was previously offered to several other participants, the offer is withdrawn from them at this time; and –Start: The work item is started by the allocated participant (i.e. enters executing state)

a university for the world real R 14 © 2009, Offer If a work items offer interaction is user-initiated, it is passed to the administrators Unoffered queue so that it can be manually offered to one or more participants If an offer interaction is system-initiated, the work item is offered to one or more participants based on the resourcing parameters defined for it at design time, by placing it on the participants Offered queue

a university for the world real R 15 © 2009, Allocate If a work items allocation interaction is user-initiated, one of the participants offered the work item may manually choose to allocate the task to him/herself If the allocation interaction is system-initiated, an allocation strategy (e.g. random choice, round robin, shortest queue), as defined at design time, is invoked that selects a single participant from those offered In either case, the work item is placed on that participants Allocated queue and removed from the Offered queues of all other Offered participants.

a university for the world real R 16 © 2009, Start If a work items start interaction is user-initiated, a participant must manually select it from their Allocated queue to start its execution If a start interaction is system-initiated, the work item is automatically started In either case, the work item is placed on the participants Started queue for action Thus, there are eight different interaction point combinations Each participant may have, at any particular time, work items in any of three personal work queues, one for each of the interaction points (a fourth queue, Suspended, is a derivative of the Started queue).

a university for the world real R 17 © 2009, YAWL Organisational Model *all relations are from the perspective of a unique participant

a university for the world real R 18 © 2009, Role Generally, a role is a duty or set of duties that are performed by one or more participants –For example, bank teller, police constable, credit officer, auditor, properties manager and junior programmer are all examples of roles that may be carried out within an organization There may be several participants performing the same role –For example, a bank may have a number of tellers A certain participant may perform multiple roles Further, a role may belong to a larger, more general role –For example, the roles junior teller and senior teller may both belong to a more general role called teller

a university for the world real R 19 © 2009, Capability A capability is some desired skill or ability that a participant may possess –For example, first aid skills, health and safety training, a forklift license or a second language may all be considered as useful capabilities that a participant may possess There may be several participants possessing the same capability, and a certain participant may possess a number of capabilities A capability (or capabilities) may be included in a filter defined at design time that is run over the distribution set for a task at runtime, meaning that those participants within the distribution set that dont possess the specified capability or capabilities are removed.

a university for the world real R 20 © 2009, Position (1) A position typically refers to a unique job within an organization for the purposes of defining lines-of- reporting within the organizational model –Examples might include CEO or Bank Manager, or may be internal job codes (such as TEL0123) Generally a participant will hold exactly one position, and each position in the model will contain exactly one participant, but to maximize flexibility these restrictions are not enforced in the YAWL model A position may report to zero or one other positions –for example, bank teller TEL0123 may report to the Bank Manager

a university for the world real R 21 © 2009, Position (2) Like capabilities, a position (or positions) may be included in a filter defined at design time that is run over the distribution set for a task at runtime Positions are also used at runtime to enable resource patterns such as delegation, reallocation and viewing of team work queues

a university for the world real R 22 © 2009, Org Group An organizational group (org group) is a functional grouping of positions –Common examples might include Marketing, Sales, Human Resources and so on, but may be any grouping relevant to an organization. In the YAWL model, each position may belong to zero or one org groups Further, like roles, an org group may belong to a larger, more general org group –For example, the groups Marketing and Sales may each belong to the more general Production group –Org groups are often also based on location Like positions, org groups may be included in a filter defined at design time

a university for the world real R 23 © 2009, Org Data Maintenance The Org database may be populated and maintained via the User Management and Organizational Data Management forms, part of the toolset available to Re- source Service administrators.

a university for the world real R 24 © 2009, Org Data Maintenance

a university for the world real R 25 © 2009, Resource Service Architecture The Resource Service is the largest and most complex of the YAWL Custom Services, and consists of a number of components. Also, much of the service has pluggable interfaces, where end- user organizations can add their own customizations.

a university for the world real R 26 © 2009, The Resource Service Interfaces In addition to communicating with the Engine through Interfaces A, B & E, the Resource Service exposes functionality through three interfaces of its own: –Interface O provides an interface to organizational data sources, allowing pre-existing data sources to be directly plugged in to the service. –Interface R provides access to the organizational data by authorized external clients (such as, but not limited to, the Editor). –Interface W exposes the entire worklist routing functionality, to allow external, specialized worklists to be developed and implemented.

a university for the world real R 27 © 2009, Resource Service Internal Architecture

a university for the world real R 28 © 2009, Internal Architecture Components Caches –Work Items: all work items received from the Engine, and all items in work queues are actually references to the work item cache. This cache is persisted. –Specifications: each loaded specification –Task Metadata: descriptors of each task (parameters, data schemas etc) –Resource Maps: created from resource specifications & used to distribute work items to resources

a university for the world real R 29 © 2009, Internal Architecture Components Forms Manager: populates and displays forms (admin, work items – custom and dynamic A complete forms rendering engine is encapsulated by the service, and is responsible for taking a work items data parameter set, expressed as an xs:schema, and rendering it as a web-based form with an appropriate set of input fields.

a university for the world real R 30 © 2009, Internal Architecture Components Worklist Controller: maintains work queues for each participant Privileges Manager: ensures correct authorisations are applied for each participant Org Model Administrator: loads and maintains the org model (both internal and external) Resource Map Parser: parses specification XML into Resource Maps – unique to each task

a university for the world real R 31 © 2009, Internal Architecture Components Codelet Invoker: executes codelets on behalf of work items Connection Handler: manages user sessions Event Logger: keeps a process log of all process & service events Persistence Engine: saves all runtime objects to persistent data storage

a university for the world real R 32 © 2009, Initial Distribution When the engine notifies the service of an enabled work item, the service undertakes to distribute the work item to resource(s) using the resourcing specifications for the task from which the work item was created, as specified at design time.

a university for the world real R 33 © 2009, After Distribution Given the appropriate privileges, a participant may: –If allocated: deallocate it (removes themselves from the distribution set and redistribute the item); delegate it (to a member of their team); or skip the work item (complete it immediately without first starting it) –If started: reallocate it (to a member of their team), and in doing so may preserve the work done within the work item thus far (stateful reallocation), or to reset the work item data to its original values (stateless reallocation).

a university for the world real R 34 © 2009, After Distribution A participant with the necessary privileges may choose to: –Pile a task, so that all future instances of work items of the task across all current and future cases of the process are directly allocated to the participant, overriding any design time resourcing specifications –Chain a case, which means that for all future work items in the same process instance where the distribution set specified includes the participant as a member, each of those work items are to be automatically allocated to the participant and started. Finally, an administrator has access to a Worklisted queue, which includes all of the currently active work items of all participants, whether offered, allocated, started, or suspended

a university for the world real R 35 © 2009, Privileges Privileges are a way of controlling the access of participants to certain functionalities of the Service. There are three categories of privileges: –User vs. Administrator access –User Privileges – granted to a participant by an administrator via the User Management form. These privileges apply to the participant at all times –User-Task Privileges – specified on a task-by-task basis at design time

a university for the world real R 36 © 2009, User Privileges PrivilegeGrantedDenied Choose which work item to start Can choose allocated items to start in any order Can only choose the oldest allocated item to start Reorder work itemssame as above Start work items concurrently Can have several items started at once Can only have one item started at a time View all work Items of Team Can view teams work items on Team Queues form Cant view teams work items on Team Queues form View all work Items of Org Group Can view Org Groups work items on Team Queues form Cant view Org Groups work items on Team Queues form Chain work item execution Can chain work items for a case Cant chain work items for a case Manage CasesCan access the Case Management form Cant access the Case Management form

a university for the world real R 37 © 2009, User-Task Privileges PrivilegeWhen Granted… Can suspendsuspend a started work item Can reallocate statelesstransfer the work item to another participant, with all data updates reset Can reallocate statefultransfer the work item to another participant, with all data updates preserved Can deallocatereject allocation of the work item; the work item is redistributed with the participant removed from the distribution set Can delegatedelegate the work item to a subordinate team member (by position) Can skipimmediately complete the task without performing its work Can pileimmediately redirect all future instances of this work item to the participant

a university for the world real R 38 © 2009, The Worklist Each participant has access to their own worklist, which is a graphical representation of their work queues via a series of web forms Each worklist consists of four work queues: Offered, Allocated, Started and Suspended –Depending on a participants privileges, there are a number of actions that can be performed on a work item in each queue The layout of each work queue is similar –On the left is a list of work items currently held in that queue –In the centre are fields that describe the selected work item –On the right are a set of buttons representing the actions that may be taken on that queue for the selected work item

a university for the world real R 39 © 2009, Offered Queue The Offered queue lists the work items that have been offered to a participant. Each work item in an offered queue may have potentially been offered to a number of participants.

a university for the world real R 40 © 2009, Allocated Queue The Allocated queue lists the work items that have been allocated to a participant –Unlike an offer, a work item on an allocated queue means that it has been allocated to that participant alone

a university for the world real R 41 © 2009, Started Queue The Started queue lists the work items that have been started by or for a participant.

a university for the world real R 42 © 2009, Summary Functional Overview Organizational Model Service Architecture Initial Distribution Privileges The Worklist