Opal: Simple Web Services Wrappers for ScientificOpal: Simple Web Services Wrappers for Scientific
ApplicationsApplication...
Web PortalsRich Clients
Set of Biomedical Applications
NBCR Computational InfrastructureNBCR Computational Infrastructure
...
RequirementsRequirements
• Enable access to scientific applications on
Grid resources
– Seamlessly via a number of user in...
Challenges for theChallenges for the Scientific UserScientific User
• Access to Grid resources is still very
complicated
–...
Towards Services Oriented Architectures (SOA)Towards Services Oriented Architectures (SOA)
• Scientific applications wrapp...
Talk OutlineTalk Outline
• Motivation for a Services Oriented
Architecture (SOA)
• Overall end-to-end architecture
• The O...
Condor pool SGE Cluster PBS Cluster
Globus Globus Globus
Application Services Security Services (GAMA)
State
Mgmt
Gemstone...
Scientific SOA: BenefitsScientific SOA: Benefits
• Applications are installed once, and used by all
authorized users
– No ...
Possible ApproachesPossible Approaches
• Write application services by hand
– Pros: More flexible implementations, stronge...
The Opal Toolkit: OverviewThe Opal Toolkit: Overview
• Enables rapid deployment of scientific
applications as Web services...
Opal ArchitectureOpal Architecture
Tomcat Container
Axis Engine
Opal WS Opal WS
Cluster/Grid Resources
Container
Propertie...
ImplementationImplementation DetailsDetails
• Implemented as a regular Axis service
– Application behavior specified by th...
Sample Container PropertiesSample Container Properties
# the base URL for the tomcat installation
# this is required since...
Sample Application ConfigurationSample Application Configuration
<appConfig xmlns="http://nbcr.sdsc.edu/opal/types"
xmlns:...
Application Deployment & UndeploymentApplication Deployment & Undeployment
• To deploy onto a local Tomcat container:
ant ...
Service OperationsService Operations
• Get application metadata: Returns metadata specified
inside the application configu...
MEME+MAST WorkflowMEME+MAST Workflow using Keplerusing Kepler
Kepler Opal Web Services ActorKepler Opal Web Services Actor
Ligand Protein Interaction Using Web ServicesLigand Protein Interaction Using Web Services
• Baldridge, Greenberg, Amoreir...
ConclusionsConclusions
• We presented Opal, a toolkit for rapidly
exposing legacy scientific applications as
Web services
...
Future WorkFuture Work
• WSRF Integration
– State management using standard Grid mechanisms
– Asynchronous status notifica...
Thanks for listening!Thanks for listening!
• More information, downloads, documentation:
– http://nbcr.net/services/
• Que...
AppendixAppendix
Grid Computing isGrid Computing is ……
• “Co-ordinated resource sharing and problem solving in dynamic
multi-institutional ...
GridGrid Computing isComputing is …… (Industry)(Industry)
• “About finding distributed, underutilized compute resources (s...
Scientific Objective: Modeling and Analysis Across ScalesScientific Objective: Modeling and Analysis Across Scales
Tools t...
Upcoming SlideShare
Loading in …5
×

Opal: Simple Web Services Wrappers for Scientific Applications

1,580 views
1,433 views

Published on

The grid-based infrastructure enables large-scale scientific applications to be run on distributed resources and coupled in innovative ways. However, in practice, grid resources are not very easy to use for the end-users who have to learn how to generate security credentials, stage inputs and outputs, access grid-based schedulers, and install complex client software. There is an imminent need to provide transparent access to these resources so that the end-users are shielded from the complicated details, and free to concentrate on their domain science. Scientific applications wrapped as Web services alleviate some of these problems by hiding the complexities of the back-end security and computational infrastructure, only exposing a simple SOAP API that can be accessed programmatically by application-specific user interfaces. However, writing the application services that access grid resources can be quite complicated, especially if it has to be replicated for every application. In this presentation, we present Opal which is a toolkit for wrapping scientific applications as Web services in a matter of hours, providing features such as scheduling, standards-based grid security and data management in an easy-to-use and configurable manner

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,580
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Opal: Simple Web Services Wrappers for Scientific Applications

  1. 1. Opal: Simple Web Services Wrappers for ScientificOpal: Simple Web Services Wrappers for Scientific ApplicationsApplications Sriram Krishnan*, Brent Stearn, Karan Bhatia, Kim K. Baldridge, Wilfred W. Li, Peter Arzberger *sriram@sdsc.edu ICWS 2006 - Sept 21, 2006
  2. 2. Web PortalsRich Clients Set of Biomedical Applications NBCR Computational InfrastructureNBCR Computational Infrastructure Resources Telescience Portal Computational Grid Web Services Workflow Middleware PMV ADT Vision ContinuityAPBSCommand APBS Continuity Gtomo2 TxBRAutodockGAMESS QMView
  3. 3. RequirementsRequirements • 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
  4. 4. Challenges for theChallenges for the Scientific UserScientific User • Access to Grid resources is still very complicated – User account creation – Management of credentials – Installation and deployment of scientific software – Interaction with Grid schedulers – Data management
  5. 5. Towards Services Oriented Architectures (SOA)Towards Services Oriented Architectures (SOA) • Scientific applications wrapped as Web services – Provision of a SOAP API for programmatic access • Clients interact with application Web services, instead of Grid resources – Used in practice by several scientific communities • NBCR: http://nbcr.net • GEON: http://geongrid.org • GLEON: http://gleon.org/ • CAMERA: http://camera.calit2.net
  6. 6. Talk OutlineTalk Outline • Motivation for a Services Oriented Architecture (SOA) • Overall end-to-end architecture • The Opal Toolkit: Introduction & technical details • Some use cases • Concluding remarks
  7. 7. Condor pool SGE Cluster PBS Cluster Globus Globus Globus Application Services Security Services (GAMA) State Mgmt Gemstone PMV/Vision Kepler Architecture OverviewArchitecture Overview
  8. 8. Scientific SOA: BenefitsScientific SOA: Benefits • Applications are installed once, and used by all authorized users – No need to create accounts for all Grid users – Use of standards-based Grid security mechanisms • Users are shielded from the complexities of Grid schedulers • Data management for multiple concurrent job runs performed automatically by the Web service • State management and persistence for long running jobs • Accessibility via a multitude of clients
  9. 9. Possible ApproachesPossible 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
  10. 10. The Opal Toolkit: OverviewThe Opal 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 Opal’s simple deployment mechanism (via Apache Ant) – Users can now access this application as a Web service via a unique URL
  11. 11. Opal ArchitectureOpal Architecture Tomcat Container Axis Engine Opal WS Opal WS Cluster/Grid Resources Container Properties Service Config Scheduler, Security, Database Setups Binary, Metadata, Arguments
  12. 12. ImplementationImplementation DetailsDetails • Implemented as a regular Axis service – Application behavior specified by the service configuration – Configuration passed as a parameter via the auto- generated deployment descriptor (WSDD) • Possible to have multiple instances of the same class for different applications – Distinguished by a unique URL for every application • No need to generate sources or WSDL prior to deployment
  13. 13. Sample Container PropertiesSample Container Properties # the base URL for the tomcat installation # this is required since Java can't figure out the IP # address if there are multiple network interfaces tomcat.url=http://ws.nbcr.net:8080 # database information database.use=false database.url=jdbc:postgresql://localhost/app_db database.user=<app_user> database.passwd=<app_passwd> # globus information globus.use=true globus.gatekeeper=ws.nbcr.net:2119/jobmanager-sge globus.service_cert=/home/apbs_user/certs/apbs_service.cert.pem globus.service_privkey=/home/apbs_user/certs/apbs_service.privkey # parallel parameters num.procs=16 mpi.run=/opt/mpich/gnu/bin/mpirun
  14. 14. Sample Application ConfigurationSample Application Configuration <appConfig xmlns="http://nbcr.sdsc.edu/opal/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <metadata> <usage><![CDATA[psize.py [opts] <filename>]]></usage> <info xsd:type="xsd:string"> <![CDATA[ --help : Display this text --CFAC=<value> : Factor by which to expand mol dims to get coarse grid dims [default = 1.7] ... ]]> </info> </metadata> <binaryLocation>/homes/apbs_user/bin/psize.py</binaryLocation> <defaultArgs>--GMEMCEIL=1000</defaultArgs> <parallel>false</parallel> </appConfig>
  15. 15. Application Deployment & UndeploymentApplication Deployment & Undeployment • To deploy onto a local Tomcat container: ant -f build-opal.xml deploy -DserviceName=<serviceName> -DappConfig=<appConfig.xml> • To undeploy a service: ant -f build-opal.xml undeploy -DserviceName=<serviceName>
  16. 16. Service OperationsService 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
  17. 17. MEME+MAST WorkflowMEME+MAST Workflow using Keplerusing Kepler
  18. 18. Kepler Opal Web Services ActorKepler Opal Web Services Actor
  19. 19. Ligand Protein Interaction Using Web ServicesLigand Protein Interaction Using Web Services • Baldridge, Greenberg, Amoreira, Kondric • GAMESS Service – More accurate Ligand Information • LigPrep Service – Generation of Conformational Spaces • PDB2PQR Service – Protein preparation • APBS Service – Generation of electrostatic information • QMView Service – Visualization of electrostatic potential file • Applications: – Electrostatics and docking – High-throughput processing of ligand- protein interaction studies – Use of small molecules (ligands) to turn on or off a protein function
  20. 20. ConclusionsConclusions • We presented Opal, a toolkit for rapidly exposing legacy scientific applications as Web services – Provides features like Job management, Scheduling, Security, and Persistence, in an easy to use and configurable manner – Lowers inertia in the scientific community against the adoption of Web services and SOAs – Currently being used by the NBCR community for Grid-enabling several scientific applications, via a multitude of interfaces
  21. 21. Future WorkFuture Work • WSRF Integration – State management using standard Grid mechanisms – Asynchronous status notifications via WS-Notification • Meta-scheduling and resource monitoring – Use of CSF4 and GFarm • Alternate mechanisms for I/O staging – GridFTP, RFT • Addition of strong data typing for I/O – Use of XML schemas, DFDL
  22. 22. Thanks for listening!Thanks for listening! • More information, downloads, documentation: – http://nbcr.net/services/ • Questions and comments welcome! – sriram@sdsc.edu
  23. 23. AppendixAppendix
  24. 24. Grid Computing isGrid Computing is …… • “Co-ordinated resource sharing and problem solving in dynamic multi-institutional virtual organizations.” [Foster, Kesselman, Tuecke] – Co-ordinated - multiple resources working in concert, eg. Disk & CPU, or instruments & database, etc. – Resources - compute cycles, databases, files, application services, instruments. – Problem solving - focus on solving scientific problems – Dynamic - environments that are changing in unpredictable ways – Virtual Organization - resources spanning multiple organizations and administrative domains, security domains, and technical domains
  25. 25. GridGrid Computing isComputing is …… (Industry)(Industry) • “About finding distributed, underutilized compute resources (systems, desktops, storage) and provisioning those resources to users or applications requiring them.” [The Grid Report, Clabby Analytics] – Distributed - all the resources laying around in departments or server rooms. – Underutilized - organizations save money by increasing utilization versus purchasing new resources. – Resources - servers and server cycles, applications, data resources – Provisioning - predict and schedule resource use depending on load.
  26. 26. Scientific Objective: Modeling and Analysis Across ScalesScientific Objective: Modeling and Analysis Across Scales Tools that Integrate Data, Construct Models and Perform Analysis across Scales Organisms Macromolecular Molecule Subcellular Atom Cell Tissue Organ Modeling Synaptic Activity crossbridge lattice multicellular filament ventricles Modeling the Heart

×