Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) Dynamic and generic workflows in.NET Bart De Smet.

Slides:



Advertisements
Similar presentations
GRADD: Scientific Workflows. Scientific Workflow E. Science laboris Workflows are the new rock and roll of eScience Machinery for coordinating the execution.
Advertisements

Developing Event Driven State Machine Workflows S1 S2 S3 S4 Adam Calderon Principal Engineer - Interknowlogy Microsoft MVP – C#
Database System Concepts and Architecture
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Zoiner Tejada Hershey Technologies. About Zoiner Tejada.
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Andrew Stone Common Security.
Introduction to Windows Workflow Foundation (WF) Keith Elder Microsoft MVP Blog: Quicken Loans –
Ryan Andrus Staff Engineer, Architecture Team Charles Schwab.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
CSLA Presenter Sergey Barskiy, senior consultant at Magenic Technologies your questions Send an in order.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 13 Introduction to SQL Programming Techniques.
Review Amit Shabtay. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Where to learn more? What is for the.
Introduction to Introduction to Database Systems Rose-Hulman Institute of Technology Curt Clifton.
Mark Rees Microsoft Consulting Services OFC409 Windows Workflow Foundation (WF) Primer Creating WF programs in Visual Studio Creating workflow templates.
Windows Vista for Syndication and Workflow Mike Ormond Developer & Platform Group, Microsoft Ltd
Introducing Windows Workflow Foundation. Understanding Windows Workflow Foundation Janakiram MSV Developer Evangelist Microsoft Corporation Introducing.
Mrs. Maninder Kaur Mrs. Maninder Kaur 1 Architecture of DBMS
Enterprise Workflow CPSC 476 Lightening Talk Brenda Griffith/Katie Soto.
Workflow API and workflow services A case study of biodiversity analysis using Windows Workflow Foundation Boris Milašinović Faculty of Electrical Engineering.
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
1 Developing Rules Driven Workflows in Windows Workflow Foundation Jurgen Willis COM318 Program Manager Microsoft Corporation.
Wrestling with Windows Workflow Foundation Simon Thurman Jeremy Stimson.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
Host (.exe, Dublin-IIS/WAS,.NET Services, …) WF Runtime Extensions Tracking Persistence … … Tooling VS Designer VS Debugger Rehosted Designer Workflow.
Software Testing. Recap Software testing – Why do we do testing? – When it is done? – Who does it? Software testing process / phases in software testing.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Workflow and SharePoint Presented by Ben Geers. Overview What is workflow? Windows Workflow Foundation How does workflow apply to SharePoint? WSS v3 vs.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
CSC271 Database Systems Lecture # 4.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
CONTENTS Arrival Characters Definition Merits Chararterstics Workflows Wfms Workflow engine Workflows levels & categories.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Intro-Part 1 Introduction to Database Management: Ch 1 & 2.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
I T & S A e r o s p a c eD e f e n c e THALES Research & Technology THALES recommendations for the final OMG standard on Query / Views / Transformations.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Workflow Development Overview Architecture Requirements Types of workflows Stages of workflow.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Modularizing Web Services Management with AOP María Agustina Cibrán, Bart Verheecke { Maria.Cibran, System and Software Engineering.
A performance evaluation approach openModeller: A Framework for species distribution Modelling.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Architecture.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Office Business Applications Workshop Defining Business Process and Workflows.
INFO1408 Database Design Concepts Week 15: Introduction to Database Management Systems.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
What to remember from Chap 13 (Logical architecture)
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
Decision-Support-System for the Rehabilitation of Buildings: The MEMSCON Project RISA Sicherheitsanalysen GmbH Berlin 1st MEMSCON Event - 07 October 2010,
What’s New in SharePoint 2010 Workflow Designing Workflows with SPD Developing Workflows with VS 2010.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
CSC480 Software Engineering Lecture 10 September 25, 2002.
Practical Workflow Services Peter Goodman. Agenda  Why Workflow?  The Workflow Runtime  Workflow Services  Windows Server AppFabric  Demo.
Slide 1. Agenda  Introduction to Windows Workflow What is it? What are activities? Hosting  Out of the box Activities  Custom Activities and Dependency.
Workflow Service Host Persistence (Instances) Persistence (Instances) Monitoring Activity Library Receive Send... Management Endpoint Persistence Behavior.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
Workflow Management Concepts and Requirements For Scientific Applications.
Workflow in Microsoft Office SharePoint Server Jessica Gruber Consultant Microsoft Corporation.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Windows Workflow Foundation Guy Burstein Senior Consultant Advantech – Microsoft Division
De Rigueur - Adding Process to Your Business Analytics Environment Diane Hatcher, SAS Institute Inc, Cary, NC Falko Schulz, SAS Institute Australia., Brisbane,
Software Engineering with Reusable Components
Intro to Workflow Services and Windows Server AppFabric
ICT Gaming Lesson 2.
Presentation transcript:

Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) Dynamic and generic workflows in.NET Bart De Smet

Agenda Introduction Workflow: what and why? Research Dynamic workflows Methodologies Instrumentation framework Generic composition Generic data-driven workflows Design decisions Performance and conclusion Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 2

Introduction What is workflow? Graphical construction of applications  Business processes, human workflows  State machines versus sequential workflows Typically long-running processes  E.g. order processing with human approval Key advantages Graphical inspection by various stakeholders Availability of runtime services  Raise the level of abstraction  E.g. persistentie, tracking, scheduling, etc Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 3

Introduction Windows Workflow Foundation Workflow in a general purpose framework Part of Microsoft’s.NET Framework 3.0 Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 4

Introduction Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 5 Activity Sequential workflow definition If-Else Parallelism Interactions

Research Dynamic workflows Problem statement  Long-running versus changing business environment  Visual obstruction by aspects Adaptation at run-time  Modification of workflow instances  Injection of aspects, e.g. logging, authorization, etc Generic composition Problem statement  Repetitive tasks, e.g. data querying and retrieval  Ultimate vision: composition by the end-users Generic blocks for composition Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 6

Agenda Introduction Workflow: what and why? Research Dynamic workflows Methodologies Instrumentation framework Generic composition Generic data-driven workflows Design decisions Performance and conclusion Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 7

Dynamic workflows What? Dynamic adaptation of workflow instances Examples  Changing business policy (e.g. extra order approval)  Injection of runtime aspects (e.g. logging, auth’z)  Inspection of workflow instances (e.g. debugging) How? WF Dynamic Updates  Flexible framework-level mechanism  Additional custom tools layered on top Instrumentation framework Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 8

WF Dynamic Updates Internal modification By code inside a running workflow instance  Access to internal state  Fast  Prior knowledge of adaptation kinds required  Requires pre-configured communications to the outside External modification By code at the host level  Access to external state  Adaptation in an ad-hoc manner  Relatively slow  Timing issues concerning the state an instance is in Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 9

Instrumentation Best of both worlds External modification + internal modification Suspension points for exact timing Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 10 Instrument Runtime Event Handlers Inspect, inject, resume

Instrumentation Examples Logging Debugging Time measurement Authorization Tracking Real-time inspection Execution history Workflow Monitor Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 11

Agenda Introduction Workflow: what and why? Research Dynamic workflows Methodologies Instrumentation framework Generic composition Generic data-driven workflows Design decisions Performance and conclusion Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 12

Flowcharts Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 13 Iterative Decision logic Reporting Calculations Error handling

Generic composition What? Generic building blocks  Reusable blocks for workflow composition  Typical tasks such as data retrieval Important design decisions  Easy translation from flowchart to workflow  Dataflow versus workflow  Combination with Service Oriented Architectures  Workflow versus procedural: what’s the cost? How? Custom activities in WF Designer rehosting Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 14

Generic blocks Data retrieval Data gathering block IQueryManager  DBMS independent PropertyBag storage Iteration Foreach block Decision logic IfElse + conditions Reporting of results Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 15

Design decisions To iterate or not to iterate... Stale data during iteration  Loop body long-running?  Persistence is your enemy Granularity of workflow instances Chatty or chunky? Reduction of database communication More logic at the database tier?  Introduces workflow need at a different layer “Dataflow” isn’t trivial Bindings required for explicit dataflow (no pipelining) Generic & weakly typed versus specific & strongly typed Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 16

Service oriented architecture Workflow level Granularity and invocation mechanism? Block level Publish block functionality (e.g. query manager) Windows Communications Foundation (WCF) Keep internal communication efficient Make external communication WS-* compliant Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 17

Result Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 18

Rehosting Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 19

Agenda Introduction Workflow: what and why? Research Dynamic workflows Methodologies Instrumentation framework Generic composition Generic data-driven workflows Design decisions Performance and conclusion Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 20

Procedural versus workflow Iterative workflows Procedural is better WF scheduler overhead Data gathering Parallelism reduces damage Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 21 Let the runtime services do useful work!

Exploiting parallelism Intra-workflowInter-workflow Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 22 Boost scheduler

Instrumentation Internal modification External modification Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 23 Instrumentation framework Reduces # of ad-hoc external modifications Workflow is set to idle by suspension points Instrumentation framework Reduces # of ad-hoc external modifications Workflow is set to idle by suspension points Impact by scheduler

Conclusion Vakgroep Informatietechnologie – Breedbandcommunicatienetwerken (IBCN) 24 WF featuresConsiderations Updates PerformanceGranularitySOA Persistence SchedulingTrackingDesigner