1 / 19

Application area: Distributed Office Workflows

Learn about decomposing complex workflows, server assignment, dynamic selection, processing data, and more in office settings. Understand Petri-Nets, basic concepts, object modeling, and architectural aspects.

Download Presentation

Application area: Distributed Office Workflows

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. Application area:Distributed Office Workflows

  2. Application area:Distributed Office Workflows • Basic definitions: • Decomposition of a complex workflow to sequential and parallel partial steps • Representation and Management as an integrated workflow • Assignment of partial steps (basic services) to servers of a distributed system • Dynamic selection of the servers • Processing of assigned data/documents as mobile objects • Processing of the servers as fixed objects of coarse granularity • Hierarchical decomposition of workflows

  3. Distributed Example Application • Processing (for instance, insurance industry/ actuarial science): • Complex workflows and basic service requirements • Basic services and distributed servers (1) Offer verification Special audit (2) Insurance offer Prepare contracts (parallel) Print documents (3) Calculate surcharges Client register Audit servers Client management Dept-s for special audit Printservers Form editors Contract forms Mobile radio ATM-Network Fast Ethernet

  4. Workflow description: Petri-Nets (condi- tionally) Special audit Offer verification Print documents (parallel) • Basic concepts: - Basic service requirements: Transitions • - Intermediate buffers: States • - Conditions: input predicates for Transitions • Properties: - limited(Mark Quantity, for instance, as here <= 2) • - non-live (terminated) • - secure (Mark Quantity per each state is 0 or 1) • - non-conservative (Mark Quantity varies) Prepare contract Insurance offer Calculate surcharges Client register

  5. DirectoryServer Modeling via Objects Controlstations Workflow object Document 1 Document 2 • Basic concepts: • Workflows are autonomous objects • Transmission via migration • Server co-operation via Remote Calls • Dynamic server selection • Workflow control via calls of Workflow Objects Partial document Partial document Dept-s for special audit Audit servers Form editors Client management Printservers Contract forms

  6. Workflow object: structure Object Identifier Workflow graph Termination section Control data(status) Priority Data section (extensible): Object references attach xy Remote references Documents

  7. Specific aspects • Object modeling: • Workflows are Objects themselves and are mobile • Workflow supervision using location-independent Calls to the Objects • Workflow transfer between Servers per object migration • Same processing for data objects („attach“ relation) • Splitting respectively replication of Workflow Objects for parallel paths • Architecture: • Absolutely decentralized • Autonomous components • Re-usable Workflow Descriptions

  8. Language support • OFFICE_PROCEDURE Application_for_Insurance(Client, Officer) • DATA_SECTION { OfferForm, ClientData, InsuranceContract; } • ROUTING { • SERVICE InsuranceOffer START LINKS_TO OfferVerification, ClientRegister; • SERVICE OfferVerification LINKS_TO SpecialAudit IF risk > 0.8; // high risk CalculateSurcharges IF risk > 0.5; // conditional risk • Prepare Contract OTHERWISE; // normal case • SERVICE SpecialAudit LINKS_TO PrepareContract; • SERVICE CalculateSurcharges, ClientRegister LINKS_TO PrepareContract; • SERVICE PrepareContract LINKS_TO PrintDocuments; • SERVICE PrintDocuments OPTIONAL END; // optional • } TERMINATION { ... }

  9. Basic service requirements: Details • Special properties: • Maximum execution time • Protection of associated data • Control of binding process to servers • Former assignment maintenance • Attribute-based assignment • Optimization measures • Example: • SERVICE PrintDocuments • ATTRIBUTES: Format=PostScript; // required attribute // of the service • MEASURES: 0.8 * PrintExpenses + 0.2 * IdleTime; • //optimized selection • TIMEOUT: 30 minutes REMIND; // time supervision • CHECKPOINT; // protection of data

  10. Termination Section: Details • Inform the instances about Workflow termination • Protect of participating data objects • Start of new Workflows • TERMINATION { • NOTIFY Client, Officer; // NotificationCOPY ALL TO Department3_Fileserver; // Copying of all data objectsSTART ContractSending (InsuranceContract, Client); // Start of new Workflow • END_TERMINATION

  11. Environment description • Structural description • Definition of server types with offered services (interface) • Attribution of services for selection control • Status requests and resource requirements • Definition of associated servers under optional re-definition of attributes

  12. Environment description: example • SERVER_TYPE PrintServerSERVICES PrintDocuments (d: Set OF Document, OPTIONAL ControlData, OUT Status); • // service interface ATTRIBUTES Format = PostScript, PrintExpenses = PageExpenses * d [ ].Length; // service specific attributesSTATUS_INQUIRY IdleTime, Availability; // offered status noticesREQUIRED_RESSOURCES Lpr_Drucker; • // necessary hardware resources • END_SERVER_TYPE • SERVER Printer_1: PrintServer;ALLOCATION: Host_A; // specified placementPrintExpenses = SpecialPagesExpenses * d[ ].Length; • // overwriting of an attribute • END_SERVER

  13. Control stations • Status requests • Data access • Workflow control Computer n Computer 1 Basic services and servers Runtimemechanisms Basic services and servers Runtimemechanisms Runtimemechanisms Distributed oointeraction mechanisms Distributed oointeraction mechanisms Distributed oointeraction mechanisms Runtime support: architecture Description of basic service environment Description of complex Workflows Compiler Compiler Developmentphase RuntimePhase Directory Service ...

  14. Runtime support Initiation - Generating of a Workflow object - Registration at Directory Service - Data initialization - Specification of binding attributes Distributed - Validation of Workflow graphs Execution - Selection of servers - Migration of the Workflow object - Service call and execution - Processing of output data Termination - Notification - Storage of data objects - Start of new Workflows

  15. Server Selection • Service **nextServices; • p->NextServices (&nextServices); // calculate the next executed service • for (i=0; i<maxServices; i++) { • if (nextServices[i] != NULL { // all requested services processed • Server **candidateServers; // server candidatesServer *selectedServers; // selected serversServer *status, *optimalStatus = NULL; // server statusDirectory.retrieve (nextServices[i], &candidateServers); // detect the candidatesfor (j=0; j<maxCandidates; j++) { // interview loop for all candidates if (candidateServers[j] != NULL) { status = candidateServer[j].statusQuery(); // delete status request to the server if (status > optimalStatus) { // audit of delivered status optimalStatus = status; selectedServer = candidateServers[j]; // better candidate found } } else break; • } else break; • } selectedServer->performService(move p); // migration of Workflow object

  16. Path synchronization • Approach: • Definition of a primary path • Replication/Partitioning of the Workflow object • Sending of replicas to subordinate paths • Synchronization notices to Workflow object for primary path (2) Binding process and forwarding Workflow object(Original) primary path Offer verification Insurance offer • Information • about end of • execution Prepare contract Workflow object(Duplicate) Client register

  17. Workflow Supervision • Object-independent Operations: • Workflow generating • Search of a Workflow • Object-specific Control Operations: • Location of a Workflow • Execution status • Workflow history • Object-specific Operations for Data Access: • Data description • Copy of Data Objects • Common Supervision Commands: • Permanent Monitoring • Stopping of Monitoring • Realization via direct access to objects

  18. Workflow Supervision • Object-independent Operations: • StartControl() // Start a control station • EndControl() // Stop a control station • CreateProcedure(TypeName,Parameters) // Generate a new Workflow • GetProcedure(LogicalName,Attributes) // Search of a Workflow • Object-specific Operations of initialization phase: • AddBinding(Service,ServiceBinding) // Complete binding information • DeleteBinding(Service,ServiceBinding) // Delete binding information • Start(Priority) // Start a Workflow • Object-specific Control Operations of Workflow phase: • Location() // Detect location of a Workflow • ExecutingState() // Detect execution status • Binding(Service) // Detect binding information • History() // Detect Workflow history • Object-specific Operations for Data access in the Workflow phase: • DataLayout() // Detect data structure • DataDescription(SlotSelection) // Detect data description • DataCopy(SlotSelection) // Generate copy of data object • Common Monitoring Commands of Workflow phase: • ContinuousMonitoring() // Permanent monitoring • EndMonitoring() // Stop of monitoring

  19. Comparison with Client/Server-Model • Objects of coarse granularity: servers (processing servers, Directory, control stations) • Mixed Clients and Servers • Data transfer by value return only • ==> no explicit Workflow representation • no data passing per reference • no Workflow localization • ==> high implementation expenditure

More Related