© Donald F. Ferguson, 2014. All rights reserved. Topics in Computer Science: Modern Internet Service Oriented Application Development Lecture 6: Composite.

Slides:



Advertisements
Similar presentations
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
Advertisements

Integrated Platform version 5.2
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Jenkins User Conference San Francisco, Sept #jenkinsconf Business Process Model & Notation (BPMN) Workflows in Jenkins Max Spring Cisco
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
J4www/jea Week 3 Version Slide edits: nas1 Format of lecture: Assignment context: CRUD - “update details” JSP models.
Business Process Orchestration
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
1 Classification: Genpact Internal.  Tool From Oracle  Works with Oracle Database  PL/SQL Based  Widely Used with Oracle Applications  Can be Used.
Peoplesoft: Building and Consuming Web Services
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Enterprise Workflow CPSC 476 Lightening Talk Brenda Griffith/Katie Soto.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Chapter 7: The Object-Oriented Approach to Requirements
UNIT-V The MVC architecture and Struts Framework.
IBM Proof of Technology Discovering the Value of SOA with WebSphere Process Integration © 2005 IBM Corporation SOA on your terms and our expertise WebSphere.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Data Integration in Service Oriented Architectures Rahul Patel Sr. Director R & D, BEA Systems Liquid Data – XML-based data access and integration for.
SOA, BPM, BPEL, jBPM.
Submitted by: Madeeha Khalid Sana Nisar Ambreen Tabassum.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
第十四章 J2EE 入门 Introduction What is J2EE ?
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Oracle Data Integrator Procedures, Advanced Workflows.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
FlexElink Winter presentation 26 February 2002 Flexible linking (and formatting) management software Hector Sanchez Universitat Jaume I Ing. Informatica.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
© Donald F. Ferguson, All rights reserved. Topics in Computer Science: Modern Internet Service Oriented Application Development Lecture 5: Composite.
© Donald F. Ferguson, All rights reserved. Topics in Computer Science: Modern Internet Service Oriented Application Development Lecture 8: IPaaS.
1 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 2: REST Details and Patterns Some.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
© Donald F. Ferguson, All rights reserved. Topics in Computer Science: Modern Internet Service Oriented Application Development Dr. Donald F. Ferguson.
© Donald F. Ferguson, All rights reserved. Topics in Computer Science: Modern Internet Service Oriented Application Development Lecture 8: IPaaS.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Comparison of The Workflow Management Systems Bizagi, ProcessMaker, and Joget Mohamed Zeinelabdeen Abdelgader [1], Omer Salih Dawood [2], Mohamed Elhafiz.
V7 Foundation Series Vignette Education Services.
In this session, you will learn to: Understand managed code Create managed database objects Define the Hypertext Transfer Protocol endpoints Implement.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
The Holmes Platform and Applications
Web Technology Solutions
J2EE Platform Overview (Application Architecture)
ORACLE SOA 11g ONLINE TRAINING
Topics in Computer Science: Modern Internet Service Oriented Application Development Lecture 6: Composite Applications Continued Dr. Donald F. Ferguson.
MVC Architecture, Symfony Framework for PHP Web Apps
Sabri Kızanlık Ural Emekçi
PHP / MySQL Introduction
Design and Maintenance of Web Applications in J2EE
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Analysis models and design models
Distributed Systems through Web Services
Middleware, Services, etc.
Review CSE116 2/21/2019 B.Ramamurthy.
Execute your Processes
WEB SERVICES From Chapter 19, Distributed Systems
Database System Concepts and Architecture
Presentation transcript:

© Donald F. Ferguson, All rights reserved. Topics in Computer Science: Modern Internet Service Oriented Application Development Lecture 6: Composite Applications Continued Dr. Donald F. Ferguson (Admin:

2 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Contents

3 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Contents Introduction –Tentative course agenda. –Assignment #3 concepts and objectives. Continuing with technology –A note on motivation. –Structural composition. –Clarifying connections, connectors, operations. –Activiti – more details. –Boomi – additional concepts. Some hypothetical implementation scenarios –Master CRM – store CRM synchronization. –Bulk store load. –Approve account open. –Approve new employee. –Update inventory/movie information.

4 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Introduction

5 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Tentative Course Agenda DateTopics/Comments 03-AprContinuation of composite applications Continuation of data/message integration and workflow/automation Discussion/ideas for project 3 10-AprI am out-of-town You can either have a project week or I will give a web lecture on Docker/containers, SaaS/milti-tenancy 17-AprRules engines Addition of rules engine to project 3 24-AprSome new databases Project 4 – adding database to projects MayEnd-to-end security 01-May to 15-May Complete projects Complete reviews Completeness and design of all projects determines final grade. The TAs and I will enumerate 10 or more criteria for each project. Grade will be on design document, demo and code review. You can resubmit to address feedback up to 15-May.

6 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Assignment 3 Concepts Each person must implement a Boomi process and an Activiti process. –You can choose the scenario. I will provide examples. –Integration processes, by definition, “connect” to things. This projects focus is on integration. Having scaffold code/data in the place of real apps for integration is fine. Boomi process should contain –3 connections of at least two types. –3 maps. –1 use of document cache. –Be REST/WS-* callable. –1 simple Data Process. –1 each of branch and route logic nodes. The Activiti process should contain –Two user tasks with forms. –Two script tasks that manipulate process variables –Two service tasks implemented in Java that call a REST API, Web service or DB. –Two gateways –Throwing and catching an exception

7 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Continuing with Technology

8 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration A Note on Motivation

9 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Composition Diagrams The diagrams are always “nodes” and “arcs.” Structure: node A node B, where x is Requires/depends/calls/synchronizes with/… Control: –Execute A and then execute B, where A and B are tasks. –There is a shared set of “data objects” the tasks manipulate. Data flow: Do A to the message/document/… and then do B to A’s output Control FlowStructureData Flow

10 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration How do you Build the Composite Take off a palette Set properties Put on canvass Set control values Connect flow

11 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Reminder of Concepts Editor Visual Notation Diagram “Program” “Engine”

12 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Why Would You do This? Collaboration between developers and business professionals –Documents and specification can be imprecise, resulting in slightly off code. –Business professionals cannot read your code, and can only comment on the implementation, which results in “change after implementation.” –You can show them a picture, collaboratively modify and then “run a test.” Learning –Developers learning BPMN and other concepts often start with the tools –Learn concepts, assemble simple solutions, … –Run simple tests –And eventually drop into directly writing and editing the XML files. Agility – –Brings the HTML tag concept or JSP like programming to application logic. –I do not need to modify Java, compile, build Jar, put in classpath, restart, … –I can just drop the XML file into a directory and we can go. –Also enables just-in-time process creation for an unusual situation –I have the general account open process –Built want to modify for just this specific, unusual situation.

13 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Structure Composition Diagrams

14 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Service Component Architecture

15 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Flexible Implementation – Some of which we will Cover

16 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Eclipse SOA SCA Tool

17 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration OSGi Blueprint are Similar

18 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration OSGi Blueprints

19 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration TOSCA

20 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration TOSCA Same basic concepts –Conceptually a “visual” way of assembling SOA apps and infrastructure. –Visual notation for precisely specifying the components and composites. –Underlying XML file format for tool interoperability and some form of automation, which would be build/deployment in this cases versus “execution.

21 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Comments Structural composition and models is a recurring concept, e.g. –OSGi –SCA –J2EE dependency references –Camel –UML Class, Module and Component Diagrams –TOSCA The concept waxes and wanes in popularity, and seems to be waning. –The explosion of micro-services and ad hoc applications. –Structure integrated into behavior composition –More dynamic, query based binding We will not spend more time on the topic.

22 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Connectors

23 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration An Example – J2EE Connector Architecture

24 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Connectors There are two categories of connector –Technology, e.g. RDB, JMS, HTTP, … … –How to “invoke” an operation on some technology. –The calling program needs to understand the details of –Infrastructure settings, e.g. security, message headers, … –Format of the data exchange, e.g. JSON, XML, serialized Java, … … –The specific application formats, e.g. JSON representation for Account. –Application, e.g. SAP, Salesforce, Jira, … … –An application connector has an embedded technology connector. –Has additional code that understand app data formats, infrastructure headers, … … For the purposes of our terminology –There are Connectors that can “connect” with something, e.g. JDBC. –There is a Connection that is configured for a specific instance, e.g. JDBC URL –There is a Connector Operation that is reusable across Connections of a given type, e.g. –A SQL statement for CRUD on a database that works for any MySql DB with the right schema. –An HTTP GET with the right application content types, accepts, receives, … …

25 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Boomi Model Create a connection using one of the prebuilt connectors. Configure connection (type) specific properties, e.g. –SSL or no SSL –URL –Security model Use a previously built (or build a new) a connector operation with properties, e.g. –Application specific headers –HTTP operation –Data format

26 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Connectors A lot of the value of integration middleware comes from the connectors. –Calling an application or infrastructure can be complex and tedious. –Develop productivity through –Separation of concerns and skills. –“Library/code” reuse. Including connectors in the visual builder –Enables “non-programmers to use connectors. –Simplifies development experience by avoiding –Jumping out of builder –Into code to write something –And then back into builder –And making sure you have the linkage

27 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Example Boomi has a lot But almost all do, e.g. Mule WebSphere Weblogic etc.

28 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Activiti

29 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Overall Concepts Service A Service B P P

30 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration How to Think about BPM There are a set of “commands/verbs” –Call this API –Put X in this database –Compute this value –… … Wrap these with a plug-in adaptor, which in Activiti occurs through –Service task enablement by –Implementing org.activity.engine.delegate.JavaDelegate interface. –Interacts with the with the process/process engine by –Setting process variables; calling other APIs on DelegateExecution –Calling APIs on the process engine. –Assigning to a person/role that 1) Performs a task, 2) Fills out a form that updates process variables. Assemble the “verbs” into a sentence using BPMN Define the commands and verbs either “bottom-up” through inventory analysis or “top-down” from the process models and definitions.

31 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Activiti Structure Business applications with user interfaces. Callable web service/REST service implementing control and form functions. A “default” application for defining processes, viewing/managing the execution of processes and assigning tasks/forms to people.

32 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Some BPMN

33 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Some BPMN

34 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN Task Types

35 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN Task Types

36 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN Task Types

37 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Activiti Test Drive

38 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Service Task

39 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Service Tasks Callable POJOs with specific interface Get process variables Convert into JSON, XML, … In expected data model Call the thing by using the client API tools for REST, WS-*, SQS, … Get the response. Parse and map back into process variables.

40 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration With ESB Core application info integration/synchronization Reusable service APIs Common model Callable from other apps Web pages Mobile applications etc.

41 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Boomi Continued

42 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration An Example

43 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Walk Through Shapes and Docs

44 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Backup

45 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Activiti/BPMN Backup

46 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN BPMN 2.0 is an international standard for business process modeling. The BPMN specification describes how the elements of a process diagram have to look like (notation), how these can be combined with each other (meta model / syntax), what a diagram means (semantics) and how diagrams can be transferred from one tool to another (XML interchange format). Process models describe sequences of business activities from start to finish, e.g. Order-to-Cash, Account Open

47 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN and Activiti Some terms –BPMN 2.0 is a standard for defining/documenting workflows/orchestrations. –Activiti (and many others) are implementations of the standard –Runtime engine that can interpret and execute a BPMN process –A WYSIWYG editor –With prebuilt, configurable shapes palette that extend base BPMN shapes. Huh? BPMN has the concepts of a “Task,” which is one “step” in a process. But in a process model, this is just “prose” like “Order a Pizza” Implementations come with “common” types of tasks, e.g. Make an SQL call on a database. Call a REST API Put a document on a worklist etc. –A composition canvass for assembling shapes into processes. –Debugger, monitoring, reporting, versioning, etc. This is –The same concept as enterprise integration patterns and Boomi –But, –The clipart is different –And the graph mostly represents “control flow,” not data flow.

48 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Simple BPMN Diagram

49 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN Symbols

50 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN Symbols

51 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN Symbols

52 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN Symbols

53 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN Symbols

54 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN Symbols Lots more go here. There are references, e.g.

55 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN Symbols

56 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN Symbols Seriously dude? There are references, e.g.

57 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration BPMN Symbols

58 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration And You can Define Processes

59 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration How do you Implement? Notify a person/role. Have them do something. Have the use an app that calls the engine to tell you they are done. Send an . POST a document etc. Decision table Call Drools etc. Insert into a DB Call a web service Run a Java app. etc. Run some JavaScript or Java or … Right at this point in the workflow/process And manipulate the data/documents/control.

60 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration User Task

61 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Script Task

62 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Service Task

63 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration

64 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration

65 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration

66 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration

67 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration

68 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration

69 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration

70 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration

71 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Comments Three Core Aspects of BPMN and Actviti Human Centric Workflow –Define an organization model –Users, Groups –Properties for users and groups –Define workflow processes that have Human Tasks. For each Human Task –Define the form and data that enables a person to perform the task. –Define “rules” for assigning a task to people or groups. Automation/Orchestration –Implement a set of POJOs implementing the Delegate interface. Each POJO implements an automation action by … –Call a REST service –Sending a message on JMS or SQS –Etc. –Define a workflow with one or more Service Tasks. For each Service Task –Specify/bind to a Delegate. –Map process data variables to inputs and outputs of the Delegate.

72 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Amazon Simple Workflow

73 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration AWS Simple Workflow

74 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Amazon Simple Workflow

75 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 7: Service Integration Application Structure Role of the Activities Worker: The activities worker performs the various tasks that the workflow must accomplish. It consists of: –The activities implementation, which includes of a set of activity methods that perform particular tasks for the workflow. –An activity worker, which uses HTTP long poll requests to poll Amazon SWF for activity tasks. When a task is available, Amazon SWF responds to the request by sending the information required to perform the task. The activity worker then calls the appropriate activity method, and returns the results to Amazon SWF. Role of the Workflow Worker: The workflow worker orchestrates the execution of the various activities, manages data flow, and handles failed activities. It consists of: –The workflow implementation, which includes the activity orchestration logic, handles failed activities, and so on. –An activities client, which serves as a proxy for the activities worker and enables the workflow worker to schedule activities to be executed asynchronously. –A workflow worker object, which uses HTTP long poll requests to poll Amazon SWF for decision tasks. If there are tasks on the workflow task list, Amazon SWF responds to the request by returning the information that is required to perform the task. The framework then executes the workflow to perform the task and returns the results to Amazon SWF.