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
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
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.
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.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 42 Web Services.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
Business Process Orchestration
Programming Languages Structure
1 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL: An XML-based Scripting Language for Workflow Execution in a Grid Environment.
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.
WSDL Web Services Description Language Neet Wadhwani University of Colorado 3 rd October, 2001.
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.
CSE 341, S. Tanimoto Concepts 1- 1 Programming Language Concepts Formal Syntax Paradigms Data Types Polymorphism.
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.
WEB DESIGN AND PROGRAMMING Introduction to Javascript.
JavaScript, Fifth Edition Chapter 1 Introduction to JavaScript.
 2003 Prentice Hall, Inc. All rights reserved. CHAPTER 3 JavaScript 1.
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.
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 15 Introduction to Web Services Web Service Applications.
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.
Computer Science 101 Introduction to Programming.
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.
Web Technologies COMP6115 Session 4: Adding a Database to a Web Site Dr. Paul Walcott Department of Computer Science, Mathematics and Physics University.
Jini Architecture Introduction System Overview An Example.
Kemal Baykal Rasim Ismayilov
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
Introduction to Web Services. Agenda Motivation History Web service model Web service components A walkthrough examples.
© 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.
Chapter – 8 Software Tools.
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,
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
Functional Programming
Fundamentals of Programming I Overview of Programming
Functional Programming Languages
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
Sabri Kızanlık Ural Emekçi
Topics Introduction to Repetition Structures
Introduction to JXPL UNCW Grid Group Jeff Brown 11/13/2018.
What Is a Program? A program is like an algorithm, but describes a process that is ready or can be made ready to run on a real computer Retrieved from:
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Use of Mathematics using Technology (Maltlab)
PHP.
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.
Principles of Programming Languages
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

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

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. 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

22 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. JXPL Primitives: Prog properties (Cont) A name property identifies the URI of the JXPL interpreter that should execute its sublists A fork property indicates that the current interpreter should create a new thread to execute its sublists In order to synchronize multiple threads, a waitfor property takes the URI name of another Prog whose termination must precede the evaluation of the current Prog

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 Different parts of a workflow can be executed by different processors using different communication protocols (OGSA, RMI, or HTTP) 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. Current and Future Work Each of JXPL's features lead up to another feature, JXPL's ability to make use of available and idle processors We are in the process of experimenting with this, using JXPL to run a primality prover based on a deterministic polynomial time algorithm by Agrawal, Kayal and Saxena Using 34 idle machines running XP, we have been able to prove the primality of a 25 digit number in 1 minute, a 50 digit number in 15 minutes, and an 80 digit number in 5 hrs and 40 minutes

26 IEEE SoutheastCon 2005, April 8-10, 2005, Ft. Lauderdale, Florida. Current and Future Work (Cont) Changes to WSRF? Getting ready for open source?

27 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?