Top Banner
Holding slide prior to starting show
30

Holding slide prior to starting show

Dec 31, 2015

Download

Documents

lev-stuart

Holding slide prior to starting show. Portals for Workflow Composition and Service Management. David W. Walker School of Computer Science Cardiff University. http://www.cs.cf.ac.uk/User/David.W.Walker /. System Portals. We need portals to be able to handle tasks such as: : - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Holding slide prior to starting show

Holding slide prior to starting show

Page 2: Holding slide prior to starting show

Portals for Workflow Composition and Service

Management

David W. Walker

School of Computer Science

Cardiff University

http://www.cs.cf.ac.uk/User/David.W.Walker/

Page 3: Holding slide prior to starting show

System Portals

• We need portals to be able to handle tasks such as: :– Problem specification, resource discovery and job

composition– Service deployment and lifecycle management– Submission, execution, monitoring, and (maybe)

interaction

• These tasks are quite generic, rather than application-specific.

• Portal can behave rather like a “Grid Shell”

Page 4: Holding slide prior to starting show

Web Services

• Everything is a (Web/Grid) service.

• This includes:– Computation routines– Access to files and databases– Components of the Grid infrastructure,

such as workflow enactment engines, resource monitors, etc.

Page 5: Holding slide prior to starting show

A Common Approach to Workflow

• Visual service composition.

• Service interfaces and other metadata expressed in an XML-based service description document.

• Services registered with, and discovered through, a registry.

Page 6: Holding slide prior to starting show

Visual Service Composition Portlet

• Applications and high-level services are composed from interacting services.

• Composition can be done graphically using a “drag and drop” style of interface to draw a workflow.

• In a workflow graph the nodes represent services and the edges represent data flow or control flow.

• Need special nodes to represent loop and conditional constructs.

• Need query mechanism to discover services

Page 7: Holding slide prior to starting show

Workflow Description

• A workflow can be represented with an XML-based workflow description language such as WSFL, SWFL, SCUFL, BPEL4WS, etc.

• A workflow description document can be passed to a workflow enactment engine, which provides an execution environment for the workflow.

Page 8: Holding slide prior to starting show

Two Hard Problems

• Semantic specification of applications• Scheduling of workflow nodes on distributed

resources.– Early binding model: bind to specific service/platform

at composition time (“validation”).– Intermediate binding model: bind at “compile” time

(when converting from XML to executable form).– Late binding model: bind dynamically at runtime.

• Later binding allows the use of more up-to-date information to make scheduling decisions.

Page 9: Holding slide prior to starting show

Mobility

• Should (some) services be mobile and/or clonable?

• Allows the automatic creation of new services that are heavily used.

• May be important for autonomic grids.

• Generalises current data migration and replication concepts.

Page 10: Holding slide prior to starting show

Communication and Notification

• Another important issue is how to carry out the data flow and control flow in a workflow.

• Need an asynchronous messaging system to support interoperability and to handle connection problems.

Page 11: Holding slide prior to starting show

Portlets

• Portlet technology endorsed by GCE working group of GGF, e.g., JetSpeed

• Web services have user-facing ports that provide content to users.

• Portlets can be regarded as interfaces to that content, specified via an extension to WSDL.

• Portals can be built from collections of portlets, e.g., as a set of panels for job submission, job status, visualisation, etc.

• Portlets provide as component model for user interfaces in the same way that web services provide a component model to middleware.

Page 12: Holding slide prior to starting show

Grid-Oriented Portal Work at Cardiff

• Visual Service Composition Environment (VSCE) for building applications based on service workflow.

• Service Workflow Language (SWFL) for describing composite applications.

• Tools for transforming between workflow graph SWFL executable code.

• Jini Service-oriented Grid Architecture (JISGA). An execution environment taking SWFL as input.

• Java-C Automatic Wrapper (JACAW). Wraps C code as Java using JNI for deployment as Web service in JISGA.

• Grid-Service-in-a-Box (GSiB). Supports service creation, deployment, management, and monitoring.

Page 13: Holding slide prior to starting show

Motivation and Targets

• Easy-to-use tools are needed to allow scientists to take full advantage of the new Grid without them needing detailed knowledge of the underlying infrastructure.

• GSiB project is developing a visual problem-solving environment/portal for all service users (clients and providers).

Page 14: Holding slide prior to starting show

Service Deployment

• A web service– Its public interfaces and bindings are described in

an XML document.– It is registered in a service registry to allow service

discovery and query.

• Usually additional code or wrapper is needed to make existing software available as a Web service – a lot of repeated work.

• Legacy problems exists.

Page 15: Holding slide prior to starting show

Service Deployment

• JACAW (Java-C Automatic Wrapper) automatically generates the JNI wrapping code for a legacy code.

• Axis Java2WSDL utility generates WSDL document from the Java code.

• UDDI registry server.• UDDI4J provides a Java API for

interacting with a UDDI registry.

Page 16: Holding slide prior to starting show

Service Deployment

JNI Wrapper

Legacy code

WSDL Document

UDDI Registry

JACAW

JAVA2WSDL

UDDI4J

Page 17: Holding slide prior to starting show

Service Composition

• Graphical symbols for constructing a flow model.

Data input port

Data output port

Control input port

Control output port

Data link

Control link

Normal and assignment activity

Control activity

Page 18: Holding slide prior to starting show

An Example

A

B C

For

retA = activityA(..);

for( i=0; i<100; i++){

activityB(retA, i);

}

retC = activityC();

retA

YES

NO

retA i

Page 19: Holding slide prior to starting show

Service Workflow Language (SWFL)

<activity name="for"> <for setParallel="no"> <input message=“ForInput”/> <expression><![CDATA[index=0;index<100;index++]]></expression> </for></activity>

<dataLink name=“A_For” source=“A” target=“for”> <swflMap sourceMessage=“AOutput” targetMessage=“ForInput”>

<part> <sourcePart name=“retA”/><targetPart name=“retA”/> </part> </swflMap></dataLink>

To be continued

Page 20: Holding slide prior to starting show

Service Workflow Language (SWFL)

<dataLink name=“For_B” source=“for” target=“B”> <swflMap sourceMessage=“ForOutput” targetMessage=“BInput”> <part> <sourcePart name=“retA”/><targetPart name=“retA”/> <sourcePart name=“i”/><targetPart name=“i”/> </part> </swflMap></dataLink

<controlLink name=“A_For” source=“A” target=“for” /><controlLink name=“For_B” source=“for” target=“B” controlPort=“YES”/><controlLink name=“For_C” source=“for” target=“C” controlPort=“NO”/><controlLink name=“B_For” source=“B” target=“for” />

Page 21: Holding slide prior to starting show

Service Workflow Language (SWFL)

• SWFL is XML based for describing interacting Web services.

• Extends Web Service Flow Language (WSFL) by – supporting the application of all the

conditional and loop control constructs of the Java language to the composition of Web services.

– allowing more general data mappings.

Page 22: Holding slide prior to starting show

Another Picture

ValidatorValidator

Create SWFLCreate SWFLDrawing ScreenDrawing Screen

swflJobswflJob

WorkflowEngine

WorkflowEngine

Visual Service Composition Environment

Execution Environment

Page 23: Holding slide prior to starting show

SWFL2Java

• It converts the description of a job in SWFL into executable Java code.

SWFLDescriptionDocument

Java Executable

Code

DataflowGraph

ControlFlowGraph

FlowModel

Page 24: Holding slide prior to starting show

Visual Service Composition Environment

• Collaborative code development environment using a visual programming tool for seamlessly integrating services into higher-level services or complete applications.

• Applications are created by plugging together services to form a workflow graph. Service metadata is used to check if interfaces are compatible.

• Different developers can place their components in a shared repository, e.g, UDDI or Jini lookup service.

• Output is in the form of SWFL.

Page 25: Holding slide prior to starting show

JISGA

• JISGA consists of two main parts:– A WorkflowEngine service– A JobProcessor service

• Grid application is submitted to a WorkflowEngine service as SWFL.

• Sequential jobs are handled directly by the WorkflowEngine service.

• Parallel jobs involve multiple JobProcessor services.

Page 26: Holding slide prior to starting show

What the Workflow Engine Is

• Processes service-based applications described in an XML-based workflow language.

• Determines the order of execution and generates the harness code.

• Executes the code which includes discovering services, invoking services, receiving results and sending results to clients.

Page 27: Holding slide prior to starting show

What the Workflow Engine Does

• Converts a SWFL description of a composite service-based job into an executable Java code, and executes it.

Java Executable Code

<?xml…><JFlowModel……………………….……….….

SWFL description

IntermediateFlowModel

object

SWFL2Graph Graph2Java

SWFL2Java

To be continued…

Page 28: Holding slide prior to starting show

Future Research• Further development of GSiB for creating,

deploying, managing and monitoring Grid applications.

• More experiments in integration of Jini services and Web services in JISGA.

• Demo applications to illustrate use of JISGA on UK e-Science Grid.

• Integration of better scheduling in JISGA.

Page 29: Holding slide prior to starting show

Final Comments

• Service-oriented approach to Grid computing is generally agreed on

• But there are many options for how such Grids might be build (GT3, Jini, JXTA, etc)

• Ability to interoperate between different Grids is important.

• Need to get more experience with actually using services for e-Science.

Page 30: Holding slide prior to starting show