1 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL: An XML-based Scripting Language for Workflow Execution in a Grid Environment.

Slides:



Advertisements
Similar presentations
PHP I.
Advertisements

Web Service Architecture
Intermediate Code Generation
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
An Introduction to XML Based on the W3C XML Recommendations.
CS 355 – PROGRAMMING LANGUAGES Dr. X. Apply-to-all A functional form that takes a single function as a parameter and yields a list of values obtained.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
1 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL: An XML-based Scripting Language for Workflow Execution in a Grid Environment.
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
1 Teaching Grid Computing across North Carolina and Beyond Dr. Clayton Ferner University of North Carolina Wilmington Dr. Barry Wilkinson University of.
Programming Languages Structure
XML Introduction What is XML –XML is the eXtensible Markup Language –Became a W3C Recommendation in 1998 –Tag-based syntax, like HTML –You get to make.
XML(EXtensible Markup Language). XML XML stands for EXtensible Markup Language. XML is a markup language much like HTML. XML was designed to describe.
JavaScript, Third Edition
Distributed Collaborations Using Network Mobile Agents Anand Tripathi, Tanvir Ahmed, Vineet Kakani and Shremattie Jaman Department of computer science.
Chapter 1 Understanding the Web Design Environment
WSDL Web Services Description Language Neet Wadhwani University of Colorado 3 rd October, 2001.
VB .NET Programming Fundamentals
Web service testing Group D5. What are Web Services? XML is the basis for Web services Web services are application components Web services communicate.
Computer Science 101 Introduction to Programming.
INTRODUCTION TO WEB DATABASE PROGRAMMING
PROGRAMMING LANGUAGES The Study of Programming Languages.
Chapter 9 Web Services Architecture and XML. Objectives By study in the chapter, you will be able to: Describe what is the goal of the Web services architecture.
JavaScript, Fifth Edition Chapter 1 Introduction to JavaScript.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Object and component “wiring” standards This presentation reviews the features of software component wiring and the emerging world of XML-based standards.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
WSDL: Web Services Definition Language CS 795/895.
XML: Overview MIS 181.9: Service Oriented Architecture 2 nd Semester,
C.1 Review of the XML Mark-Up Language © 2010 B. Wilkinson/Clayton Ferner. Spring 2010 Grid computing course. slidesC-1.ppt Modification date: Feb 26,
Chapter 1 Understanding the Web Design Environment Principles of Web Design, 4 th Edition.
Week 1 Understanding the Web Design Environment. 1-2 HTML: Then and Now HTML is an application of the Standard Generalized Markup Language Intended to.
INTERPRETING IMPERATIVE PROGRAMMING LAGUAGES IN EXTENSIBLE STYLESHEET LANGUAGE TRANSFORMATIONS (XSLT) Authors: Ruhsan Onder Assoc.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
Computer Science 101 Introduction to Programming.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Lecture 22 XML querying. 2 Example 31.5 – XQuery FLWOR Expressions ‘=’ operator is a general comparison operator. XQuery also defines value comparison.
Electronic Commerce COMP3210 Session 4: Designing, Building and Evaluating e-Commerce Initiatives – Part II Dr. Paul Walcott Department of Computer Science,
CSE S. Tanimoto Lambda Calculus 1 Lambda Calculus What is the simplest functional language that is still Turing complete? Where do functional languages.
XP Tutorial 10New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with JavaScript Creating a Programmable Web Page for North Pole.
1 Relational Expressions Relational expressions: –Expressions that compare operands –Sometimes called conditions –Evaluated to yield a result –Typically.
XML – An Introduction Structured Data Mark-up James McCartney CSCE 590, Cluster and Grid Computing.
Softsmith Infotech XML. Softsmith Infotech XML EXtensible Markup Language XML is a markup language much like HTML Designed to carry data, not to display.
A Geographically-Distributed, Assignment-Structured Undergraduate Grid Computing Course Mark A. Holliday, Barry Wilkinson, Jeffrey House, Samir Daoud,
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Semantic Web Technologies Research Topics and Projects discussion Brief Readings Discussion Research Presentations.
Web Technologies COMP6115 Session 4: Adding a Database to a Web Site Dr. Paul Walcott Department of Computer Science, Mathematics and Physics University.
Internet & World Wide Web How to Program, 5/e. © by Pearson Education, Inc. All Rights Reserved.2.
Kemal Baykal Rasim Ismayilov
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
XPath --XML Path Language Motivation of XPath Data Model and Data Types Node Types Location Steps Functions XPath 2.0 Additional Functionality and its.
Chapter – 8 Software Tools.
Introduction to XML Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
CHAPTER NINE Accessing Data Using XML. McGraw Hill/Irwin ©2002 by The McGraw-Hill Companies, Inc. All rights reserved Introduction The eXtensible.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
Functional Programming
Functional Programming Languages
XML QUESTIONS AND ANSWERS
JavaScript an introduction.
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Use of Mathematics using Technology (Maltlab)
PHP.
Semantic Markup for Semantic Web Tools:
What would be our focus ? Geometry deals with Declarative or “What is” knowledge. Computer Science deals with Imperative or “How to” knowledge 2/23/2019.
CSE S. Tanimoto Lambda Calculus
Presentation transcript:

1 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL: An XML-based Scripting Language for Workflow Execution in a Grid Environment Networking and Distributed Systems Carla S. Hunt and Clayton S. Ferner Department of Computer Science Jeffrey L. Brown Department of Mathematics University of North Carolina at Wilmington

2 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Presentation Contents: Introduction Motivation for JXPL Characteristics from the Lisp language that influenced JXPL's design The role of XML Syntax including a grammar for JXPL in Extended Backus-Naur Form (EBNF) Specifics about some of JXPL's functions Conclusions, current and future work

3 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Introduction: Grid Computing Offers users access to computing resources such as processing cycles, software, data storage, etc., in a seamless environment Also offers universities,corporations and other organizations a way to make better use of under-utilized resources Grid computing technologies are still emerging; one area of research is user interface development including grid portals and workflow editors

4 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Introduction: GridNexus An example of a workflow editor A graphical user interface capable of integrating web and grid services into a workflow Generates JXPL scripts to describe graphical workflows, which can then be executed by a JXPL interpreter

5 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Introduction: JXPL A new functional scripting language Uses XML syntax; Lisp-like design A workflow language designed to interact easily with web and grid services Has built in web and grid service clients that can communicate with a variety of web and grid services Not intended to be written by programmers, but generated by applications

6 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Introduction: Purpose of the paper To encourage developers to create applications that generate JXPL as a means of executing scientific workflows capable of interacting with web and grid services To serve as a reference to anyone desiring to create new applications that can produce JXPL

7 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Motivation for JXPL: To separate the graphical component of a workflow editor from both the representation of the workflow as well as the execution of the workflow This separation simplifies the implementation of the GUI Allows workflows to be executed on processors other than the local processor Makes it possible for other tools besides GridNexus to create JXPL

8 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Motivation for JXPL (Cont): Ability to shield the user from much of the complexity associated with using web and grid services The JXPL interpreter can be invoked via a URI, which allows users to decide where units of work are computed JXPL can manage the interaction between Grid Data Services, which are a special type of Globus Toolkit 3 (GT3) service

9 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL is a functional scripting language with a Lisp-like design In both languages: Everything is either an Atom or a List Lists contain Atoms or other Lists, which allows for nesting of data structures The list data object can be used to define programs, data structures, and functions

10 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL scripts are written in XML The parentheses of Lisp are replaced by more descriptive XML tags Being written in XML, JXPL is compatible with XML-aware programs, protocols and parsers The XML format makes it easy for programs to generate JXPL Representing JXPL objects as XML elements facilitates a high level of abstraction

11 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL scripts are written in XML (Cont) Removing object typing concerns from the programming model is analogous to a pure Lisp implementation providing advantages such as: Ability to nest and evaluate recursively Making it possible to accurately depict dependencies between tasks in a workflow Especially useful in a graphical workflow environment where workflows are naturally nested

12 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL scripts must be well-formed XML documents: Must contain a root element, the JXPL expression Use the namespace, All elements must have closing tags, are case sensitive, must be properly nested, and attribute values must be quoted

13 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Extended Backus-Naur Form (EBNF) for the JXPL language We use the following conventions in the JXPL grammar: x|y means one of either x or y, {x} indicates zero or more occurrences, [x] indicates zero or one occurrence, terminals are underlined and non-terminals are capitalized.

14 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Simple JXPL example to demonstrate the grammar The primitive construct is used to describe a function call This example uses the function named Arithmetic The function is called with one property named operation with a value of multiply and two operands which are the rational numbers 7/5 and 3/11 (A) Multiplication using the JXPL (* 7/5 3/11) (B) Equivalent in Lisp Arithmetic Function

15 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL Simple Types Correspond to Lisp Atoms and include symbols, strings, integers, rationals, decimals and function names No explicit Boolean type; false is an empty list and everything else is true A JXPL symbol (like the Lisp symbol) is a multipurpose element that can legally represent the number ten, the string value “ten”, a function named “ten” or a variable named “ten” There are three defined numeric types: integer, decimal and rational

16 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL Primitives The JXPL primitive is analogous to a function The primitive tag is used to call a function The syntax of a function call with a primitive tag is: properties arguments

17 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL Primitives: Defun Defun is a predefined function that allows users to define their own functions The syntax of Defun is: parameters function body

18 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Using Defun to define the Myadd function (a) Defining the Myadd function (b) Calling the Myadd function

19 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL Primitives: WS Client This function is designed to be a generic function for a web service To use the Web Service Client, the Web- Services Description Language (WSDL) is needed to generate a call to the appropriate method of the web service The arguments to the WS Client are the WSDL, the name of the method of the service to be called, and any arguments needed to call that method

20 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. WS Client Example Below is the JXPL script that is produced for a simple web service called MyMath In this example, the client requests the squared method with an argument of 2 from the MyMath web service, a result of 4 is returned

21 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. WSRF Client Example Below is the JXPL script that is produced for a grid service called MathService

22 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL Primitives: Prog XML files have a single root element restricting JXPL scripts to a single workflow The Prog function was created so that multiple workflows could be combined into one script The Prog function accepts a list of lists, evaluates each sublist in order and returns the result of evaluating the last list

23 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Conclusions JXPL is an XML-based scripting language inspired by Lisp JXPL is currently used by GridNexus, a graphical workflow editor developed at UNCW Our paper was written to provide a specification for JXPL We wish to encourage others to use JXPL and to create applications that can use JXPL

24 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Conclusions (Cont) JXPL has several nice features: Execution is separate from the graphical interface allowing for batch mode and parallel execution JXPL is based on Lisp making it elegantly simple and easily extensible JXPL uses XML so that it can easily be transmitted using SOAP The JXPL interpreter is written in Java making it easily portable to other platforms

25 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Acknowledgements This work is supported in part by the University of North Carolina Office of the President, UNC Wilmington's Information Technology Systems Division, and the National Science Foundation under Grant No. DBI Questions?