User-Friendly Interfaces
Grid Computing Workflow Editors
Slides for Grid Computing: Techniques and Applications by Barry Wilkinson, Chapman & Hall/CRC press, © 2009.
Chapter 8, pp. 223-234. For educational use only. All rights reserved. Sept 18, 2009
A sequence of tasks that need to be done to perform an
overall computation.
Results of one task used by other tasks creating
dependencies between tasks.
Dependencies may be very complex.
Results of multiple jobs need to be staged as input for
multiple subsequent jobs
Inputs and outputs may not be immediately compatible and
may require transformations to be acceptable.
Tasks themselves may be significant applications--especially
true for scientific applications.
Workflow languages
• Distributed applications could be exposed as Web services.
• Hence, Grid workflow typically becomes form workflow of
interconnected Web services.
• XML Languages for constructing Web service workflows
targeted towards business applications. :
– Early 2000s (superseded)
• Web Services Flow Language (WSFL) from IBM.
• XLANG, an extension of WSDL, from Microsoft
– 2004: Web Services Business Process Execution
Language (WS-BPEL or BPEL), an OASIS standard.
Workflow Editor Features
Some desirable features:
• Ability for user to construct a workflow of
interconnected local and remote components
• Graphical drag-and-drop interface able to create a
pictorial representation of workflow.
• Pictorial representation separated from concrete
• XML workflow description desirable.
• Components of workflow should be able to be
grouped together into reusable components for
other workflows.
Workflow editors with graphical interfaces
• Taverna
– Focused on distributed components (including services)
running on local and remote machines
• Kepler
– Broader focus of scientific workflows but can now handle
distributed computing, including Grid computing.
– Uses powerful open-source scientific workflow editor
called Ptolemy II developed at the University of
– Ptolemy concerned with modeling concurrent processes
in real-time embedded systems.
• Developed at the University of North Carolina–
Wilmington in early/mid 2000s for constructing Grid
computing workflows.
• Uses Ptolemy II graphical interface.
• Many graphical user interface features inherited from
Ptolemy II onto which new features introduced for
Grid computing environment, such as Web service
clients, etc.
• Also new in GridNexus, workflow separated from its
execution with use of an XML scripting language
called JXPL.
GridNexus User Interface
Run icon
Drawing canvas
of drawing
Fig 8.1
GridNexus Accessing Remote Service
Fig 8.2
Setting up GridNexus to communicate with
Globus installations
• Local hosts file needs to contain mapping of hostnames to IP
• Certificate authorities need to be recognized by GridNexus.
– Process for recognizing certificate authorities similar to Globus
– Certificate and signing policies files of each certificates authority
(<ca-hashcode>.0 and <ca-hashcode>.signing_policy) stored in
.globus/certificates directory.
• User has to obtain a proxy.
– Process of obtaining a proxy depends upon where original certificate
– For example, MyProxy server might be queried for a proxy.
– Location of proxy on local machine needs to given in a file
GridNexus Grid computing modules
• GridExec for submitting GRAM jobs (GRAM client)
• GridFTP and SFTP modules for file transfers
• WS client module
• WSRF (grid service) client module
Found under Module library -> Transformer -> Grid
• Client for submitting Globus GRAM jobs
Workflow causes program /bin/echo to be executed with
arguments hello world on
Corresponds to:
globusrun-ws -submit -F -c /bin/echo hello
Fig 8.3
Java program
Two arguments for Java interpreter, javaprog1 and 89, merged
into Command Argument multiport input.
Multiport inputs identified by white triangles
Inputs that do not accept more than one input identified by black triangles
Order inputs drawn on workflow important as determines order that inputs
enter multiport.
Fig 8.4
File Transfers
• Specific input and output files can also be
specified using the Input Files and Output Files
• Such file staging requires GridFTP, which is not
available in Globus 4.0 for a Windows platform.
• GridNexus has a module for file transfers using
SFTP, which is available in Windows but requires
public key authentication.
Using a GridNexus module for file
• Introduced by Ferner (2008)
Fig 8.5
• In this example, first Java program executed using
upper GridExec module
• Next, in lower GridExec module, a Globus
globusrun-ws command issued to execute
globusrun-url-copy command to transfer output file
to another site, in this example
Equivalent to:
globusrun-ws -submit -F -c
globusrun-url-copy file:///nsf-home/abw/stdout
Client to a Web service
Fig 8.6
Invoking web service
Fig 8.7
GridNexus WSRF module
Unfortunately not possible to obtain all the necessary
interface information just from WSDL as in the case
of a regular stateless Web service.
WSRF module requires the following information to
be entered:
• URL of the service, or factory URL
• Location of AddressingLocator class of service
to be able to configure itself to work with the service
JAR package.
Configuring WSRF client
Fig 8.8
Client for a WSRF-compliant service
Fig 8.9
GridNexus workflow with two WSRF services
Fig 8.10
Multiple-choice questions
What is GridNexus?
(a) A Grid portal
(b) A software package to create
(c) A term used to describe an amorphous
(d) A software package to run Grid jobs
SAQ 8-1
What is JXPL?
(a) A job description language
(b) An XML language for JSR 168 portlets
(c) The XML language used in GridNexus
to describe workflow
(d) A Java XML programming language
SAQ 8-2
What is the purpose of the GridNexus
JxplDisplay module?
(a) To display the workflow
(b) To compute the JXPL document for the
workflow and optionally evaluate it
(c) To display the JXPL manual
(d) To display all the input for the workflow
SAQ 8-3
What is the purpose of the GridNexus WS
Client module?
(a) Provides a module for a local or remote
Web Service
(b) Provides a module for a client that
accesses a local or remote Web Service
(c) Provides a module for a Web service
that accesses a client
(d) None of the other answers
SAQ 8-4
How is the GridNexus WS Client configured?
(a) It self-configures
(b) The user provides a title or name
(c) The user provides the URL of the Web
(d) The user provides the URL of the Web
service WSDL document
(e) None of the other answers
SAQ 8-5
What is the purpose of the GridNexus
GridExec module?
(a) Submit a job to GRAM
(b) Create a Grid execution service
(c) Perform an ssh connection to a remote
(d) Execute a Grid service
SAQ 8-7
What is the GridNexus composite module?
(a) A workflow with every module connecting
to every other module
(b) A module composed of every type of
module that exists in GridNexus
(c) A workflow considered as one unit with a
set of inputs and a set of outputs
(d) A module that two modules with the output
of the first module connecting to the input
of the second module
SAQ 8-8

No Slide Title