Wrapping Scientific Applications As Web Services Using The Opal Toolkit Wrapping Scientific Applications As Web Services Using The Opal Toolkit Nadya Williams.

Slides:



Advertisements
Similar presentations
CSF4 Meta-Scheduler Tutorial 1st PRAGMA Institute Zhaohui Ding or
Advertisements

Biosciences Working Group Update Wilfred W. Li, Ph.D., UCSD Karpjoo Jeong, Ph.D., Konkuk University, South Korea Habibah Wahab, Ph.D., USM, Malaysia.
CSF4 Meta-Scheduler PRAGMA13 Zhaohui Ding or College of Computer.
TeraGrid Deployment Test of Grid Software JP Navarro TeraGrid Software Integration University of Chicago OGF 21 October 19, 2007.
Generic MPI Job Submission by the P-GRADE Grid Portal Zoltán Farkas MTA SZTAKI.
Legacy code support for commercial production Grids G.Terstyanszky, T. Kiss, T. Delaitre, S. Winter School of Informatics, University.
1 Applications Virtualization in VPC Nadya Williams UCSD.
CSF4, SGE and Gfarm Integration Zhaohui Ding Jilin University.
Wrapping Scientific Applications as Web Services Gopi Kandaswamy (RENCI) Marlon Pierce (IU)
NBCR Science Gateway: Transparent Access to Remote Resources Through Rich Desktop Clients NBCR Science Gateway: Transparent Access to Remote Resources.
EGEE-II INFSO-RI Enabling Grids for E-sciencE Supporting MPI Applications on EGEE Grids Zoltán Farkas MTA SZTAKI.
Office of Science U.S. Department of Energy DANSE Kickoff Meeting 2006 Introduction to Python Grid Tools Keith R. Jackson David E. Konerding Lawrence Berkeley.
1 CENTER FOR PARALLEL COMPUTERS An Introduction to Globus Toolkit® 3 -Developing Interoperable Grid services.
Office of Science U.S. Department of Energy Grids and Portals at NERSC Presented by Steve Chan.
Globus 4 Guy Warner NeSC Training.
Enabling Grids for E-sciencE Medical image processing web portal : Requirements analysis. An almost end user point of view … H. Benoit-Cattin,
Using Opal to deploy a real scientific application as a Web service Sriram Krishnan
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
QCDgrid Technology James Perry, George Beckett, Lorna Smith EPCC, The University Of Edinburgh.
Developing Reusable Software Infrastructure – Middleware – for Multiscale Modeling Wilfred W. Li, Ph.D. National Biomedical Computation Resource Center.
Submitted by: Madeeha Khalid Sana Nisar Ambreen Tabassum.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Metadata Creation with the Earth System Modeling Framework Ryan O’Kuinghttons – NESII/CIRES/NOAA Kathy Saint – NESII/CSG July 22, 2014.
Data Management Kelly Clynes Caitlin Minteer. Agenda Globus Toolkit Basic Data Management Systems Overview of Data Management Data Movement Grid FTP Reliable.
NeSC Grid Apps Workshop Exposing Legacy Applications as OGSI Components using pyGlobus Keith R. Jackson Distributed Systems Department Lawrence Berkeley.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
Grids and Portals for VLAB Marlon Pierce Community Grids Lab Indiana University.
COMP3019 Coursework: Introduction to GridSAM Steve Crouch School of Electronics and Computer Science.
GridFE: Web-accessible Grid System Front End Jared Yanovich, PSC Robert Budden, PSC.
Condor Birdbath Web Service interface to Condor
1 Overview of the Application Hosting Environment Stefan Zasada University College London.
Using Opal to deploy a real scientific application as a Web service Sriram Krishnan, Ph.D.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
London e-Science Centre GridSAM Job Submission and Monitoring Web Service William Lee, Stephen McGough.
Nadir Saghar, Tony Pan, Ashish Sharma REST for Data Services.
ILDG Middleware Status Chip Watson ILDG-6 Workshop May 12, 2005.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Wrapping Scientific Applications As Web Services Using The Opal Toolkit Wrapping Scientific Applications As Web Services Using The Opal Toolkit Sriram.
Institute For Digital Research and Education Implementation of the UCLA Grid Using the Globus Toolkit Grid Center’s 2005 Community Workshop University.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
1 Condor BirdBath SOAP Interface to Condor Charaka Goonatilake Department of Computer Science University College London
© Geodise Project, University of Southampton, Geodise Middleware & Optimisation Graeme Pound, Hakki Eres, Gang Xue & Matthew Fairman Summer 2003.
Grid Security: Authentication Most Grids rely on a Public Key Infrastructure system for issuing credentials. Users are issued long term public and private.
Department of Computer Science Internet Performance Measurements using Firefox Extensions Scot L. DeDeo Professor Craig Wills.
SEE-GRID-SCI The SEE-GRID-SCI initiative is co-funded by the European Commission under the FP7 Research Infrastructures contract no.
Mike Jackson EPCC OGSA-DAI Architecture + Extensibility OGSA-DAI Tutorial GGF17, Tokyo.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Applications.
The EDGeS project receives Community research funding 1 Porting Applications to the EDGeS Infrastructure A comparison of the available methods, APIs, and.
SAN DIEGO SUPERCOMPUTER CENTER Inca Control Infrastructure Shava Smallen Inca Workshop September 4, 2008.
© Geodise Project, University of Southampton, Geodise Middleware Graeme Pound, Gang Xue & Matthew Fairman Summer 2003.
Using the ARCS Grid and Compute Cloud Jim McGovern.
Grid Interoperability Update on GridFTP tests Gregor von Laszewski
Tool Integration with Data and Computation Grid “Grid Wizard 2”
K. Harrison CERN, 22nd September 2004 GANGA: ADA USER INTERFACE - Ganga release status - Job-Options Editor - Python support for AJDL - Job Builder - Python.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
DataGrid is a project funded by the European Commission EDG Conference, Heidelberg, Sep 26 – Oct under contract IST OGSI and GT3 Initial.
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
Remote Api Tutorial How to call WS-PGRADE workflows from remote clients through the http protocol?
December, 2006 ws-VLAM Workflow Management System a Re-factoring of VLAM Dmitry Vasyunin Adianto Wibisono Adam Belloum.
Using Opal to deploy a real scientific application as a Web service Sriram Krishnan, Ph.D.
InSilicoLab – Grid Environment for Supporting Numerical Experiments in Chemistry Joanna Kocot, Daniel Harężlak, Klemens Noga, Mariusz Sterzel, Tomasz Szepieniec.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
A Web Based Job Submission System for a Physics Computing Cluster David Jones IOP Particle Physics 2004 Birmingham 1.
Introduction to the Application Hosting Environment
Outline SOAP and Web Services in relation to Distributed Objects
Outline SOAP and Web Services in relation to Distributed Objects
Presentation transcript:

Wrapping Scientific Applications As Web Services Using The Opal Toolkit Wrapping Scientific Applications As Web Services Using The Opal Toolkit Nadya Williams Sriram Krishnan, Ph.D.

Motivation Enable access to scientific applications on Grid resources –Seamlessly via a number of user interfaces –Easily from the perspective of a scientific user Enable the creation of scientific workflows –Possibly with the use of commodity workflow toolkits Overcome complexity of Grid access: –User account creation –Management of credentials –Installation and deployment of scientific software –Interaction with Grid schedulers –Data management

Philosophy Focus on application-level services Provide access to virtualized resources Enable access via multiple user interfaces

The Opal2 Toolkit: Key Contributions Scientific Software as a Service (SaaS) –Providing higher-level scientic services, focusing on improving scientic pipelines and workows, rather than lower-level infrastructure services –Building repeatable solutions for scientific software that can be leveraged by multiple clients Scientific Service as Software (SaS) –Packaging of scientific services as deployable units (Amazon Machine Images and Rocks Rolls) –Customizable and usable by a broad community of scientific software developers and service providers

Application-level Services Traditional model: services for middleware tools –job launch –data transfer –… Our model: Services Oriented Science –Scientific applications as first class services (e.g. APBS, AutoDock, MEME) –Delegation of middleware management to the services back-end –End-users are presented with science-oriented, and not middleware-oriented interfaces

Access to Virtualized Resources Enabling access to raw resources is quite complex –Does not scale very well with the number of users, and number of systems Instead, access should be provided to virtualized resources –Provide Software as a Service –Leverage Infrastructure & Storage as Services

Multiple User Interfaces

Condor poolSGE Cluster PBS Cluster Globus Application Services Opal GUIPMV/VisionKepler Big Picture Grid/Cloud Middleware

Possible Approaches Write application services by hand –Pros: More flexible implementations, stronger data typing via custom XML schemas –Cons: Not generic, need to write one wrapper per application Use a Web services wrapper toolkit, such as Opal –Pros: Generic, rapid deployment of new services –Cons: Less flexible implementation, weak data typing due to use of generic XML schemas

The Opal2 Toolkit: Overview Enables rapid deployment of scientific applications as Web services (< 2 hours) Steps –Application writers create configuration file(s) for a scientific application –Deploy the application as a Web service using Opals simple deployment mechanism (via Apache Ant) –Users can now access this application as a Web service via a unique URL

Opal2: Key Features Standard WSDL and SOAP API for management of scientific applications –Operations to launch jobs, query status, retrieve outputs –Ability to transfer input files using Base64 encoded binary format, MIME attachments, and 3 rd party transfers A Dashboard for accessing applications and usage statistics –Automatic interface generation using the XML specification for command-line arguments Ability to connect to multiple resource providers at the back-end –Fork, Globus GRAM, DRMAA, Condor, CSF4 State management for jobs (and usage statistics) provided via Hibernate

Opal2 Configuration: The Plug-in Model

Opal2: Configuration tomcat.url= num.procs=96 working.dir=opal-jobs mpi.run=/opt/openmpi/bin/mpirun mail.enable=true mail.smtp.host=smtp.gmail.com mail.smtp.auth=true mail.smtp.debug=false mail.smtp.user= mail.smtp.password= opal.datalifetime=4 days opal.hard_limit=3600 opal.jobmanager=edu.sdsc.nbcr.opal.manager.DRMAAJobManager drmaa.pe=mpich globus.gatekeeper=host:2119/jobmanager-sge globus.service_cert=/path/to/your/globus/cert globus.service_privkey=/path/to/your/globus/key globus.gridftp_base=gsiftp://host:2811/working_dir csf4.workingDir=opal_runs mpi.script=/opt/condor/etc/examples/mp1script opal.ip.processing=true opal.ip.limit=35 opal.ip.blacklist= opal.ip.whitelist= ,

Opal2: Deploying Applications No WSDL, no Java code to be written One xml configuration file for an application

Sample Application Configuration <appConfig xmlns=" xmlns:xsd=" ]]> <![CDATA[ --help : Display this text --CFAC= : Factor by which to expand mol dims to get coarse grid dims [default = 1.7]... ]]> /homes/apbs_user/bin/psize.py --GMEMCEIL=1000 false

XML Specification for Command-line Arguments Used for automatic interface generation, argument validation, auto-generation of WSDL (community contribution) help --help = cfac --CFAC FLOAT …… pqr FILE INPUT true PQR Usage: psize.py [opts] Optional Arguments: --help : Display this text --CFAC= : Factor by which to expand mol dimsto get coarse grid dims [default = 1.7] --FADD= : Amount to add to mol dims to get fine grid dims [default = 20] --SPACE= : Desired fine mesh resolution [default = 0.5] --GMEMFAC= : Number of bytes per grid point required for sequential MG calculation [default = 160] --GMEMCEIL= : Max MB allowed for sequential MG calculation. Adjust this to force the script to perform faster calculations (which require more parallelism). [default = 400] …..

Application Service Deployment & Undeployment Deploy service onto a local Tomcat container: ant -f build-opal.xml deploy -DserviceName= -DappConfig= Undeploy service : ant -f build-opal.xml undeploy -DserviceName=

Service Operations Get application metadata: Returns metadata specified inside the application configuration Launch job: Accepts list of arguments and input files (Base64 encoded), launches the job, and returns a jobID Query job status: Returns status of running job using the jobID Get job outputs: Returns the locations of job outputs using the jobID Get output as Base64: Returns an output file in Base64 encoded form Destroy job: Uses the jobID to destroy a running job

Opal2 Toolkit: Client Side Several clients APIs available: Java, Python, Perl Generic command-line client: # java edu.sdsc.nbcr.opal.GenericServiceClient -l -r launchJob -a "-ipdb sample.pdb -h -opdb output.pdb -f etc/sample.pdb Too complex for beginners Need a Graphical User Interface to simplify access

getAppMetadata launchJob getOutput PDB2PQR getAppMetadata launchJob getOutput MEME Opal server Vision Kepler User clients Browser User Interfaces and Workflow Tools

Case Study: Opal2 Dashboard Main characteristics: –Working out of the box (No additional configuration) –Multi-platform -> Web interface –Implemented in Java Key features: –Service Registry/Listing –Simple and advanced submission forms –Usage statistics –Documentation and tutorials

List of Services

Problem: user has to input command line - too error prone. Solution: submission form must be customized for command line arguments Simple Submission Form

Advanced Submission Form An optional tag in the appConfig file to describe input parameters (types) It is a command line syntax description language

Command Line Input Arguments Taxonomy Flag: not ordered, type Boolean, a dash followed by characters Tagged: not ordered, Prefixed by some tag Untagged: ordered, not prefixed Parameters: many types: integer, float, string, file, enumeration, etc.

Advanced Submission Form Grouping capability: –To group several parameters together –A group can be exclusive Default values An example of the command line syntax description language and of the form…

nodebump --nodebump Do not perform the debumping operation … = ffout --ffout STRING Instead of using the standard canonical naming scheme for residue and atom names, use the names from the given forcefield … Flags Tagged Parameters

output-path FILE OUTPUT The desired output name of the PQR file to be generated … inputParam inFile inId true Input file to be used (choose one of the two options) … Untagged Parameters Groups

Group 2 Group 3 Exclusive group Input file String Exclusive enumeration PDB2PQR Advanced Submission Form Group 1

getAppMetadata launchJob getOutput PDB2PQR getAppMetadata launchJob getOutput MEME Opal server Opal GUI displayForm PDB2PQR getAppMetadata appMetadata submissionForm User On user submit: invokes launchJob with right input parameters Usage Scenario

Summary Opal enables rapid exposing legacy applications as Web services –Provides features like Job management, Scheduling, Security, and Persistence More information, downloads, documentation: –