WS-VLAM Tutorial: Part III (part2): Learn how to WS-VLAM PYTHON API Adam Belloum.

Slides:



Advertisements
Similar presentations
Integrated Platform version 5.2
Advertisements

A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Siebel Web Services Siebel Web Services March, From
Ch-11 Project Execution and Termination. System Testing This involves two different phases with two different outputs First phase is system test planning.
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
WS-VLAM Introduction presentation ws-VLAM workflow Composer System and Network Engineering group Institute of informatics University of Amsterdam.
WS-VLAM Introduction presentation WS-VLAM Workflow Engine System and Network Engineering group Institute of informatics University of Amsterdam.
WS-VLAM Introduction presentation WS-VLAM Semantic tools Systems, Networking, and Engineering group Institute of informatics University of Amsterdam.
Java Integrated Development Environments: ECLIPSE Part1 Installation.
Eclipse Introduction Dwight Deugo Nesa Matic
UvA, Amsterdam June 2007WS-VLAM Introduction presentation WS-VLAM Requirements list known as the WS-VLAM wishlist System and Network Engineering group.
WS-VLAM Introduction presentation WS-VLAM Introduction Systems and Network Engineering group Institute of informatics University of Amsterdam.
ModelBuilder at ArcGIS 9.2 Lyna Wiggins Rutgers University May 2008.
Business Optix Library Service – Workflow
June Amsterdam A Workflow Bus for e-Science Applications Dr Zhiming Zhao Faculty of Science, University of Amsterdam VL-e SP 2.5.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
OpenAlea An OpenSource platform for plant modeling C. Pradal, S. Dufour-Kowalski, F. Boudon, C. Fournier, C. Godin.
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 4 Manage Software for SUSE Linux Enterprise Server.
® IBM Software Group © 2009 IBM Corporation Rational Publishing Engine RQM Multi Level Report Tutorial David Rennie, IBM Rational Services A/NZ
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
Rsv-control Marco Mambelli – Site Coordination meeting October 1, 2009.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Holding slide prior to starting show. A Grid-based Problem Solving Environment for GECEM Maria Lin and David Walker Cardiff University Yu Chen and Jason.
WS-VLAM Tutorial: Part II: Port a Legacy application to WS-VLAM Adam Belloum.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Privacy issues in integrating R environment in scientific workflows Dr. Zhiming Zhao University of Amsterdam Virtual Laboratory for e-Science Privacy issues.
FTP Server and FTP Commands By Nanda Ganesan, Ph.D. © Nanda Ganesan, All Rights Reserved.
Domain 3 Understanding the Adobe Dreamweaver CS5 Interface.
Realtime Technologies, Inc. Distributed Simulation Training  April 2005.
Introduction to Eclipse CSC 216 Lecture 3 Ed Gehringer Using (with permission) slides developed by— Dwight Deugo Nesa Matic
Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.
Oracle Data Integrator Procedures, Advanced Workflows.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
Selected Topics in Software Engineering - Distributed Software Development.
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
WS-Freefluo-VLAM Tutorial Spiros Koulouzis. Outline Get the WS-Freefluo-VLAM (GUI) Start the WS-Freefluo-VLAM (GUI) Generate modules from WSDL Compose.
August , Elsevier, Amsterdam Scientific Workflows in e-Science Dr Zhiming Zhao System and Network.
Paolo Missier (1), Bertram Luda ̈ scher (2), Shawn Bowers (3), Saumen Dey (2), Anandarup Sarkar (3), Biva Shrestha (4), Ilkay Altintas (5), Manish Kumar.
Convert generic gUSE Portal into a science gateway Akos Balasko 02/07/
LHCb Software Week November 2003 Gennady Kuznetsov Production Manager Tools (New Architecture)
WS-VLAM Tutorial: Part III (part3): Learn how to WS-VLAM JAVA API Adam Belloum.
WDO-It! 102 Workshop: Using an abstraction of a process to capture provenance UTEP’s Trust Laboratory NDR HP MP.
WS-VLAM Tutorial Part I: Hands on the User Graphical Interface Adam Belloum.
Cooperative experiments in VL-e: from scientific workflows to knowledge sharing Z.Zhao (1) V. Guevara( 1) A. Wibisono(1) A. Belloum(1) M. Bubak(1,2) B.
Class Builder Tutorial Presented By- Amit Singh & Sylendra Prasad.
Introduction to Taverna Online and Interaction service Aleksandra Pawlik University of Manchester.
1 Service Creation, Advertisement and Discovery Including caCORE SDK and ISO21090 William Stephens Operations Manager caGrid Knowledge Center February.
Surya Bahadur Kathayat Outline  Ramses  Installing Ramses  Ramses Perspective (Views and Editors)  Importing/Exporting Example.
Quick guide to ASIMON configuration For version 3.0 or greater SAFETY AT WORK Date: 3/18/2009.
FTP COMMANDS OBJECTIVES. General overview. Introduction to FTP server. Types of FTP users. FTP commands examples. FTP commands in action (example of use).
FlowLevel Client, server & elements monitoring and controlling system Message Include End Dial Start.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
Intoduction to Andriod studio Environment With a hello world program.
The NGS Grid Portal David Meredith NGS + Grid Technology Group, e-Science Centre, Daresbury Laboratory, UK
IBM Express Runtime Quick Start Workshop © 2007 IBM Corporation Deploying a Solution.
ACCESSING DATA IN THE NIS USING THE KEPLER WORKFLOW SYSTEM Corinna Gries.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
© 2009 IBM Corporation ITCAM for Transactions ISM Profiles Management ITCAM for Transactions – Internet Service Monitoring – Profile Management (v7.3)
December, 2006 ws-VLAM Workflow Management System a Re-factoring of VLAM Dmitry Vasyunin Adianto Wibisono Adam Belloum.
Convert generic gUSE Portal into a science gateway Akos Balasko.
Development Environment
Module 01 ETICS Overview ETICS Online Tutorials
Analysis models and design models
Electronics II Physics 3620 / 6620
Working with Libraries
Presentation transcript:

WS-VLAM Tutorial: Part III (part2): Learn how to WS-VLAM PYTHON API Adam Belloum

Outline Part I: Hands on the User Graphical Interface Part III: Port a Legacy application to WS-VLAM Part III: Learn how to use WS-VLAM API Notation (Title background): –Generic step –Tutorial specific step

Outline (Part III): Learn how to use WS-VLAM API Step 1: Define an Interface for your component Step 2: Create a description for your component Step 3: Define the component dependencies Step 4: JAVA Tutorial (create a WSVLAM JAVA component) Step 6: C/C++ Tutorial ( create a WSVLAM C/C++ component) Step 5: PYTHON Tutoria l ( create a WSVLAM PYTHON component) Step 6: Deploy the component/dependencies lib Step 7: Compose a workflow using the component Step 8: execute the workflow / monitor

Step 1: Define the component interface The Interface defines how WS-VLAM will interactwith your components – Parameter Interface: is use to interact at runtime with your module – Port interface: is used to stage in/out the data consumed/produced by your module Port in allows to stage in the consumed data Port out allows to stage out the produced data

Step 1: Example File Reader The file reader “ fileReader ” opens a file specified as a URI using the parameter Interface “ filename ” and sends the content through an output port “ port_out ”. – fileReader support many protocols: GSIFTP, ftp, http, file

Step 2.1: Create a description To create a description of your component : use CLAM workflow component configuration tool Action: Click on CLAM Button in the WS- VLAM menubar

Step 2.2: Create a description CLAM workflow component configuration tool willallow you to define: name of the component,default host, ports, parameters, classification, category Action: Enter the name of thecomponent Entre the name of thedefault host“ fs2.das3.science.uva.nl ”

Step 2.3: Create a description CLAM workflow component configuration tool allowsyou to define: name of the component, default host,ports, and parameters Action: Click on ports tab Click + to add new input or output port Type the name of theports exactly as you did it in config.xml

Step 2.4: Create a description To add a port a pop up window appears “ Add input Port ” or “ Add output port ” Action: Type the name of the ports exactly as you didit in source code Specify the type of the port either a simple data type, a file type, or Complex data type (see documentation formore details)

Step 2.5: Create a description Create a description of your component : use CLAM workflow component configuration tool Action: Click on save tocreated thedescription file“ component- name.xml ”

Step 2.6: Create a description Create a description of your component : use CLAM workflow component configuration tool Action: You will see in the filed file path the fullpath to the created

Step 2.7: Example File Reader Create a description of fileReader : use CLAM workflow component configuration tool The FileReader has One output: port-name = “port_out” and Type=“file” One parameter parameter-name = “filename” and Type=“String” Action: Perform the tasks described in step 2.1 to step 2.6 to create the fileReader.xml

Step 3.1: Define the component dependencies Dependencies are libraries & auxiliary softwarethat are required by your component but are not available standard Operating systems You have to list the name of these libraries & auxiliary software in a file called “dependencies” Every libraries & auxiliary software listed in the dependencies files have to be packaged as a“ pseudo-module ”

Step 3.2: Create a pseudo-module A pseudo module is just asimple software packagefor which you need tocreate a profile.sh in the root directory Using your favorite texteditor created a file callprofile.sh # ############ NOTE #################### # In the profile.sh export all the environment # variables needed to execute your package # # bash environment # # export VARIABLE_NAME=VARIABLE_VALUE # # Add your VARIABLES bellow the line ######################################

Step 5.1: PYTHON API From a developer ’ s point of view your components are applications that use a speciallibrary provided by the WS-VLAM framework:the “ vlport ” library

Step 5.2: PYTHON modules (pre-requisite) Before you build the wrapper make sure that the SWIG toolkit and Python are installed in your system. The SWIG version should be higher then To compile the python wrapper – the environment variable VLAM_INSTALL must be set. – Just type ‘‘make dist‘‘. – You will find the library in dist/lib subdirectory. – The wrapper consists of an ”adapter” shared library with thename ” vlport.so ” and a python module named ” vlport.py ”.

Step 5.3: Extend your PYTHON code 1. initialize– >>> Import vlport 2. create an instance of vlport application– >>>> vlapp=vlport.VLAppFactory.activate ([" inputPort1 "," inputPort2 "], [" outputPort1 ", " outputPort2 "]) 3. get references to input and output ports – >>> inputPort1 =vlapp.getInputPort(" inputPort1 ") >>> outputPort1 =vlapp.getOutputPort(" outputPort1 ") – Note: should provide the same names for the ports asspecified at the initialization stag

Step 5.4: API for writing to an output port writeInt (integer number) – writes an integer to the output port writeDouble (decimal number) – writes a decimal number to the output port » writeString (String) – writes a string to the output port which accepts strings » Write (String) – write a raw data from String to the port withoutserialization

Step 5.5: API for reading from in input port readInt () – reads an integer number from the input port » readDouble () – reads a decimal number from the input readString () – reads a string from input the port Write (String) » read ([size]) – Read at most size bytes from the port (less if theread encounters EOF before obtaining size bytes)

Step 5.6: API for reading/writing to/from parameter getParameter (" paramName ” ) – Reads the value of “ paramName ” setParameter (" paramName ", " paramValue ” ) – Writes the value of “ paramValue ” to “ paramName ”

Step 5.5: Example of PYTHON component The Example : shows the code for a module which open a file using “ inputPort ” and write is to the ” outputPort ”. The name of the file is read through eh parameter interface # include "vlapp.h" #!/usr/bin/python import vlport vlapp=vlport.VLAppFactory.activate([“inpputPort], ["outputPort"]) filename=vlapp.getParameter("fileName") file=open(filename) outputPort=vlapp.getOutputPort("outputPort") fileDaata = file.read() outputPort.write(fileData) =vlport.VLAppFactory.deactivate(vlapp)

Step 6.1: Deploy your workflow component Create a file“ main.sh ” : #!/bin/sh export PYTHONPATH=$VLAM_INSTALL/lib: \ $PYTHONPATH python $BASE_DIR/bin/fileReader $*

Step 6.2: package your component Create a directory with thefileReader name as the component Copy the files you havecreated: – dependencies (step 3.1) – main.sh (step 6.1) Copy any other files ordirectory related to yourcomponent: – bin/fileReader.py (step5.5) – lib/ Create a tar file of your component: (1) Created fileReader.tar $ tar cf fileReader.tar fileReader/ (1) Compress fileReader.tar $ gzip fileReader.tar

Step 6.3: Deploy your workflow component Test mode : you can test your component – Perform the stepsdescribed in the bluebox Shared mode : you can share your module withother users: – by moving the tar fileyou have created instep 6.2 to a component repository # On a machine where both GT4 & WS-VLAM # runtime system are installed # Create in your HOME directory called “.wsvlam” (1) copy fileReader..tar.gz to the default directory $ mkdir.wsvlam $ cd.wsvlam/ $ mkdir modules $ cd modules #untar the component tar file you have created # in step 4 (1)untar fileReader..tar.gz $ tar –zxvf fileReader.tar.gz

Step 7.1: Compose a workflow fileReader In the component list window you will see the created FileREader components as well as othercomponents Action: Click on the fileReaderin the list and drag anddrop in thecomposition panel

Step 7.2: Compose a workflow using LA An instance of fileReader will be instantiated Action: Click on the fileReader in the list and drag anddrop in the compositionpanel

Step 7.3: Compose a workflow using LA Instantiate the fileWriter component: This component will move the file produced by fileReaderto any remote location the user specifies Action: Click on the WriterReade r in the list and drag and drop in thecomposition panel

Step 7.4: Compose a workflow using LA Create a communication channel: This component will move the file produced by FileReaderto any remote location the user specifies Action: Create a communicationchannel by dragging between an output port ( read square) and input port ( blue square)

Step 7.5: customize the composed workflow In the step you should check if all the default valuesof the parameters of the workflow componentscomposing your workflow are set correctly Action: Click on the fileReade r in composition panel In the property window select the parameter tab Type in the URI to the fileyou want stage inFileReader support manyprotocols: GSIFTP, http,file, ftp

Step 7.6: customize the composed workflow In the step you should check if all the default valuesof the parameters of the workflow componentscomposing your workflow are set correctly Action: Click on the fileWriter in composition panel In the property window select the parameter tab Type in the URI to the file you want stage in fileWriter supportmany protocols: GSIFTP, http,file, ftp

Step 7.8: customize the composed workflow Input file: fileReader parameter fs2.das2.science.uva.nl: Type in the following URI for parameter in each fileReader gsiftp:// fs2.das.3science.uva.nl/home2/ / output file: fileWriter parameter fs0.das3.cs.vu.nl : Type in the following URI for parameter in each fileReader gsiftp:// fs0.das3.cs.vu.nl/home0/ /

Step 8: execute the composed workflow Now you are ready to execute the omnimatch workflow, which automatically stage in the data fileneeded for the omnimatch application, and stage outthe result files Action: Click on the run button

Some References 1.Science Z Zhao, A Belloum, M Bubak Editorial: Special section on workflow systems and applications in e-Future Generation Computer Systems 25 (5), A. Wibisono, D. Vasyunin, V. Korkhov, AS.Z. Belloum WS- VLAM: a GT4 based workflow management system, The 2 nd International Workshop on Scientific Workflows, In conjunction with ICCS 2007, Beijing, China, A.S.Z. Belloum, V. Korkhov, S. Koulouzis, M. A Inda, and M. Bubak Collaborative e-Science experiments: from scientific workflow to knowledge sharing JULY/AUGUST, IEEE Internet Computing, Ilkay Altintas, Manish Kumar Anand, Daniel Crawl, Shawn Bowers, Adam Belloum, Paolo Missier, Bertram Ludascher, Carole A. Goble, Peter M.A. Sloot, Understanding Collaborative Studies Through Interoperable Workflow Provenance, IPAW2010, Troy, NY, USA

Some References 5.A. Belloum, Z. Zhao, and M. Bubak Workflow systems and applications, Future Generation Comp. Syst. 25 (5): (2009) 6. Z. Zhao, A.S.Z. Belloum, et al., Distributed execution of aggregated multi domain workflows using an agent framework The 1st IEEE International Workshop on Scientific Workflows, Salt Lake City, U.SA, Zhiming Zhao, Adam Belloum, Cees De Laat, Pieter Adriaans, Bob Hertzberger Using Jade agent framework to prototype an e-Science workflow bus Authors Cluster Computing and the Grid, CCGRID 2007