1 BUILDING GRID APPLICATIONS AND PORTALS: An Approach Based on Components, Web Services and Workflow Tools. D. Gannon, B. Plale Ph.D. Students: S. Krishnan,

Slides:



Advertisements
Similar presentations
LEAD Portal: a TeraGrid Gateway and Application Service Architecture Marcus Christie and Suresh Marru Indiana University LEAD Project (
Advertisements

Abstraction Layers Why do we need them? –Protection against change Where in the hourglass do we put them? –Computer Scientist perspective Expose low-level.
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Legacy code support for commercial production Grids G.Terstyanszky, T. Kiss, T. Delaitre, S. Winter School of Informatics, University.
Hello i am so and so, title/role and a little background on myself (i.e. former microsoft employee or anything interesting) set context for what going.
Welcome to Middleware Joseph Amrithraj
Siebel Web Services Siebel Web Services March, From
Seminar Grid Computing ‘05 Hui Li Sep 19, Overview Brief Introduction Presentations Projects Remarks.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
BUILDING APPLICATIONS FROM A WEB SERVICE BASED COMPONENT ARCHITECTURE D. Gannon, S. Krishnan, L. Fang, G. Kandaswamy, Y. Simmhan, A. Slominski.
NextGRID & OGSA Data Architectures: Example Scenarios Stephen Davey, NeSC, UK ISSGC06 Summer School, Ischia, Italy 12 th July 2006.
Data Grid Web Services Chip Watson Jie Chen, Ying Chen, Bryan Hess, Walt Akers.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
1 Using the Weather to Teach Computing Topics B. Plale, Sangmi Lee, AJ Ragusa Indiana University.
Focus Study: Mining on the Grid with ADaM Sara Graves Sandra Redman Information Technology and Systems Center and Information Technology Research Center.
Grid Computing, B. Wilkinson, a.1 Grid Portals.
GRAPPA Part of Active Notebook Science Portal project A “notebook” like GRAPPA consists of –Set of ordinary web pages, viewable from any browser –Editable.
Checkpoint & Restart for Distributed Components in XCAT3 Sriram Krishnan* Indiana University, San Diego Supercomputer Center & Dennis Gannon Indiana University.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
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.
Introduction to Apache OODT Yang Li Mar 9, What is OODT Object Oriented Data Technology Science data management Archiving Systems that span scientific.
Grid Computing Research Lab SUNY Binghamton 1 XCAT-C++: A High Performance Distributed CCA Framework Madhu Govindaraju.
GEM Portal and SERVOGrid for Earthquake Science PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce Computer Science, Informatics, Physics.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Code Applications Tamas Kiss Centre for Parallel.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Extreme! Computing Lab, Dept. of Computer Science, Indiana University 1 Programming the Grid with Components Madhu Govindaraju Aleksander Slominski Dennis.
Middleware for Grid Computing and the relationship to Middleware at large ECE 1770 : Middleware Systems By: Sepehr (Sep) Seyedi Date: Thurs. January 23,
Grid Architecture William E. Johnston Lawrence Berkeley National Lab and NASA Ames Research Center (These slides are available at grid.lbl.gov/~wej/Grids)
GSFL: A Workflow Framework for Grid Services Sriram Krishnan Patrick Wagstrom Gregor von Laszewski.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Grid Security: Authentication Most Grids rely on a Public Key Infrastructure system for issuing credentials. Users are issued long term public and private.
1 The Portal Expedition Beth Plale, Dennis Gannon Indiana University – Project Leads Jay Alameda NCSA – Project Coordinator The Alliance Portals Expedition.
GO-ESSP Workshop, LLNL, Livermore, CA, Jun 19-21, 2006, Center for ATmosphere sciences and Earthquake Researches Construction of e-science Environment.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
Ipgdec5-01 Remarks on Web Services PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce, Shrideep Pallickara, Choonhan Youn Computer Science,
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Some comments on Portals and Grid Computing Environments PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce Computer Science, Informatics,
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
On Using BPEL Extensibility to Implement OGSI and WSRF Grid Workflows Aleksander Slomiski Presented by Onyeka Ezenwoye CIS Advanced Topics in Software.
Web Services An Introduction Copyright © Curt Hill.
Overview of Grid Webservices in Distributed Scientific Applications Dennis Gannon Aleksander Slominski Indiana University Extreme! Lab.
Portals, Services, Interfaces Marlon Pierce Indiana University March 15, 2002.
INFSO-RI Enabling Grids for E-sciencE Web Services Mike Mineter National e-Science Centre, Edinburgh.
OGCE Workflow and LEAD Overview Suresh Marru, Marlon Pierce September 2009.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
A service Oriented Architecture & Web Service Technology.
NATIONAL AERONAUTICS AND SPACE ADMINISTRATION ESDS Reuse Working Group Earth Science Data Systems Reuse Working Group Case Study: SHAirED Services for.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Netscape Application Server
SuperComputing 2003 “The Great Academia / Industry Grid Debate” ?
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Outline SOAP and Web Services in relation to Distributed Objects
Outline SOAP and Web Services in relation to Distributed Objects
University of Technology
Web Server Administration
Service-centric Software Engineering
Enterprise Service Bus (ESB) (Chapter 9)
Liang Fang, Dennis Gannon Indiana University Frank Siebenlist
Distributed Systems through Web Services
Introduction to Web Services
Service Oriented Architecture (SOA)
Distributed System using Web Services
The Anatomy and The Physiology of the Grid
The Anatomy and The Physiology of the Grid
Grid Systems: What do we need from web service standards?
4/5 May 2009 The Palazzo dei Congressi di Stresa Stresa, Italy
Distributed System using Web Services
Presentation transcript:

1 BUILDING GRID APPLICATIONS AND PORTALS: An Approach Based on Components, Web Services and Workflow Tools. D. Gannon, B. Plale Ph.D. Students: S. Krishnan, L. Fang, G. Kandaswamy, Y. Simmhan, A.Slominski Indiana University

2 Outline The Grid Concept –Basic Definitions –An application Software Component –Parallel programming with Components –The CCA A Web Service Architecture for the Grid –The Front End Portal –The Middle Tier: Factories and Security –The Back End: Distributed Components and Workflow Conclusions and Observations

3 What is the Grid? A distributed, heterogeneous set of resources –Integrated by a pervasive layer of services –Goal: allow users to view it as a single system. More than the Internet (which forms part of the resource layer) Builds on the Web by building on web services. Security Data Management Service Data Management Service Accounting Service Accounting Service Logging Event Service Policy Administration & Monitoring Administration & Monitoring Grid Orchestration Registries and Name binding Registries and Name binding Reservations And Scheduling Reservations And Scheduling Open Grid Service Architecture Layer Web Services Resource Framework – Web Services Notification Physical Resource Layer

4 How do I program a Grid? The Grid services can be viewed as a distributed abstract machine Applications can be built by composing grid services –Some are core services –Others are based on user application codes * From “ASSIST as a Research Framework for High-performance Grid Programming Environments”, Marco Aldinucci, Massimo Coppola, Marco Danelutto, Marco Vanneschi, Corrado Zoccolo *

5 An Example Application A Motivating Application –LEAD Project Tools to allow research meteorologists to compose powerful applications that predict mesoscale weather events in better than real time.

6 Predicting Severe Storms To deliver better than real-time predictions –Data mining of live instrument streams and historical storm metadata –Requisition large computational resources on demand to start a large number of simulations Mine simulation outputs to see which track real storm evolution. Refine scenarios that match incoming data. –May Need to requisition bandwidth to make the needed data analysis possible. –May require real-time re-alignment of instruments. –Workflows may run for a long time and they must be adaptive and very dynamic

7 Predicting Severe Storms Lightning Data Server NEXRAD Radar Data Server Satellite Data Server Surface and Upper-Air Data Server SUNY Albany Wisconsin/SSEC NASA, NOAAPort EROS Data Center I D D Historical Observations and Model Output Operational Model Grids and Server ProjectCONDUIT I D D NOMADSNCDC Hydrologic Data Server I D D NWS River Forecast Centers Air Quality Data Server EPA I D D GPS Meteorological Data Server SuomiNet I D D Oceanograp hic Data DODS Digital Library Holdings DLESE Demographic Data Server Field Program & User Generated Data UCAR/JOSS Individual Investigators Abilene/NGI I D D Large scale, real-time Simulation Grid The LEAD project Univ. of Oklahoma

8 A Very Simple LEAD Scenario Search for data, run a simulation and catalog results. –Query metadata catalog for a dataset –Use the result for a large WRF simulation –Allocate storage on a remote resource –Move the WRF output to that allocated space –Record the output location and computation history in a metadata catalog. How does a user describe such a scenario as a workflow or distributed application? How do we free the user from details of distributed computing in a service oriented architecture? What does a service architecture mean in this context? Can it be done by a component composition approach?

9 Outline The Grid Concept –Basic Definitions –An application Software Component –Parallel programming with Components –The CCA A Web service Architecture for the Grid –The Front End Portal –The Middle Tier: Factories and Security –The Back End: Distributed Components and Workflow Conclusions and Observations

10 Component Architectures The Idea: Building programs by composing high-level application sub-modules. Many Good Examples Exist –“Classic” AVS, MS COM, SciRun I, Java Beans –2 nd Generation/Distributed Corba CCM, Discover (Parashar), ASSIST (our hosts), MS.NET, ProActive (Caromel), Grid Services, Spring, Avalon, Pico, HiveMind –Most implement some form of “Inversion of Control” or “Dependency Injection”

11 Common Comp. Architecture Started in mid 90s. –The Common Component Architecture (CCA) Forum About 100 people from 20 US research labs and universities. Four meetings per year. –Four different implementations exist SciRun II Caffene (Sandia) Decaf (Livermore) XCAT (Indiana/Binghamton) –A specification for component design for parallel and distributed applications A Few words about the architecture and applications

12 CCA Concepts Ports: the public interfaces of a component –defines the different services provided by a component and the ways the component uses other services and components. setImage(Image I) Image getImage() adjustColor() setFilter(Filter) Image Processing Component calls doFFT(…) Provides Ports - interfaces functions (services) provided by component Uses Ports - interface of a service used by component

13 Acme FFT component Building Applications by Composition Connect uses Ports to Provides Ports. Image Processing Component getImage() adjustColor() Image tool graphical interface component Image database component setImage(…) doFFT(…)

14 Community Climate System Model Atmosphere Ocean Sea Ice Land River Flux Coupler Control

15 Earth System Modeling Framework CCA Prototype The Climate Component is Control –Atmosphere Component –Ocean Component –Atmosphere to Ocean Transformer –Ocean to Atmosphere Transformer

16 Quantum Chemistry Design of CCA integration of NWChem and MPQC. (A work in progress) –One is Fortran and the other C++ –One standard interface using CCA/Babel/SIDL.

17 Combustion Modeling The High level model of the system integration is refined into the component composition

18 Experience with CCA The effort to “re-factor” applications can be very difficult. –Where are the component boundaries? –Who owns large data structures? Make the data structure a component. –What are the correct port Interfaces? Can’t interoperate unless they share the same interface type. –No quantitative results yet. The positive –Production codes are just becoming mature. –A serious library of components is starting to emerge. Now beginning to understand components for distributed apps How do we do it in the “distributed case”? CORBA? Java RMI?

19 Enter Web Services Why does the web work? –A language with few verbs (get, put, post) and lots of nouns (documents). Corba & Java RMI are object models which present a problem. –Object identity and lifetime is bound to its container –A web address is persistent. RPC/RMI requires too much synchronization –For reliability make “connections” implicit. –Communicate with simple “standard” message exchanges.

20 So what is a web service? A network “endpoint”, i.e. server, that implements one or more “ports” –Each port is defined by the message types that accepts and the messages it returns. A Web Service is specified by a “Web Service Definition Language” xml document. –Given the WSDL for a web service you know all you need to interact with it. Web Service Standards exist for security, policy, reliability, addressing, notification, choreography and workflow. –It is the basis for MS.NET, IBM Websphere, SUN, Oracle, BEA, HP, … –It is the basis for the new Grid standards like WSRF and OGSA.

21 Web Site vs Web Service The Web Site –Designed to pass http get/post/put request to between a browser and a web server. –Google has a web site. The Web Service –Designed for services to talk to other services by exchanging xml messages –Google also provides a web service so Google may be used in distributed apps Client’s Browser Web Server Web Server Web Service Web Service Web Service Web Service Web Service Web Service

22 CCA components as Web Services A natural extension of the model: –Each Provides port can be a complete web service –Uses ports become web service “client stubs”. A Connection is then a binding between a client stub and the WSDL for the some provides port. XCAT3 implements this feature. –Uses python as the scripting language. Also based on the OGSI standard.

23 Web Services as CCA components Can we use the Google web service as a CCA component? Message oriented and not RCP based. –Send a message to the service You may get a response or you may not. –Depends upon the service semantics. No concept of “uses port”. –However some serves generate messages in response to messages sent. –Web service addressing allows a reply to be forwarded to a “3 rd party” receiver.

24 An Example The program: –Run a query against a metadata catalog and extract simulation boundary conditions –Allocate storage for simulation output –Run the simulation –Save result metadata reference for output to the metadata catalog. –Record event log of execution to the catalog. Services/components in our example are –Metadata catalog –Storage Allocator –WRF Simulation Engine –Execution history recorder Metadata Catalog query input output Query results Metadata Catalog reference input output notification mdata

25 The Workflow – as specified by the scientist WRF Factory Storage requirements Space Allocator Space Allocator File Mover “done” Metadata Catalog “done” Resource info Experiment Name (Notification Topic) Output URL Notification Broker Final URL Parameter file Event Listener Event Listener “done” Metadata Catalog query

26 Questions Can we compile such a “graph picture” into a running distributed application? –What type of application is it? Workflow? Statically connected distributed components? –How is synchronization handled? –How is failure managed? How and when are specific resources allocated for the computational parts? Can the resulting workflow be turned into another service to be used by another? What are the security implications?

27 Several Possible Solutions Triana, Kepler, Taverna –All excellent examples of tools to compose workflows using graphical tools. –Each is based on an approach where the workflow engine is based on an interpretation of the execution graph. –Triana has been extended to incorporate web services by means of a component proxy. We need something that is more appropriate for dynamic, long running workflows –BPEL4WS is the most powerful workflow language, but it is not very “friendly”. –Can we compile graphical specs into a BPEL spec?

28 Outline The Grid Concept –Basic Definitions –An application Software Component –Parallel programming with Components –The CCA A Web Service Architecture for the Grid –The Front End Portal –The Middle Tier: Factories and Security –The Back End: Distributed Components and Workflow Conclusions and Observations

29 A Three Level Design Front End –A Grid portal with tools to build and launch distributed application from remote component services. Allow scientists to compose workflow scenarios The Middle –Application factories and security services The Back End –Composing workflow from distributed web service components. Compiles workflow into a BPEL extension we call GPEL.

30 Front End: The Portal The User’s View of the Grid

31 The Portal as a Grid Access Point The Portal Server provides the users Grid Context. Security Data Management Service Data Management Service Accounting Service Accounting Service Logging Event Service Policy Administration & Monitoring Administration & Monitoring Grid Orchestration Registries and Name binding Registries and Name binding Reservations And Scheduling Reservations And Scheduling Open Grid Service Architecture Layer Web Services Resource Framework – Web Services Notification OGCE or GridSphere Grid Portal Server OGCE or GridSphere Grid Portal Server https Physical Resource Layer SOAP & WS-Security

32 Portal Architecture (OGCE) Building on Standard Technologies –Portlet Design (JSR-168) IBM, Oracle, Sun, BEA, Apache –Grid standards: Java CoG, Web/Grid Services User configurable, Service Oriented Based on Portlet Design –A portlet is a component within the portal that provides the interface between the user and some service –Portlets can be exchanged, interoperate Portal contaner Local Portlets Grid Service Portlets Java COG API Java CoG Kit Grid Services Grid Protocols GRAM, MDS-LDAD MyProxy SOAP ws call Grid Services Web Services Client’s Browser

33 Managing Workflow 1.Portlets exist to submit jobs to a condor web-service and monitor results 2.BPEL4WS is web-service workflow standard. Interface is under development. 3.CCA components can also be managed from the portal.

34 Science Portal Deployments in Collaboration with OGCE, DOE Fusion Portal, NCSA, NPACI/SDSC and others

35 The Middle Tier: Making Applications into Services Visible to the Portal & User How do users interact with Grid Services? How do we maintain reliable Grid Services? What is the security model?

36 User-Portal-Service Interaction Grid Services with user interfaces are mediated by the portal. –The Grid service can keep an interface client to itself as a WS resource which can be loaded by the server and presented to the client. –Allows security to be https from browser and ws-security from portal server to Grid service. User’s Browser Portal Server Portal Server Grid Service Grid Service interface Ws resources 2. Auth & request Interface resource 1. Click on service link 3. Return interface code to server 4. Interface Rendered for user 5. Responses From user in soap Or 6. Reply and Response tunneled trhough server

37 For example: Component Composer An interactive workflow composer. –Component database and workflow compiler is provided by the grid service which also provides the interface tool. –MVC pattern. –Composer allows Component selection from library Drop and drag place- ment and connection establishment Save and load graph functions.

38 Applications to Workflow Components The most Common Question: –How can I turn my entire Fortran MPI application into a component or grid service? I want to provide my application as a service for others to use. –But I don’t want too many others to use it. –I can’t get my friends accounts?

39 Wrapping Science Apps as Services The Factory Pattern –A Factory is a web service that creates a running instance of an application for authorized users. –A factory client allows app user to: Specify needed input files and other parameters Indicate choice among known execution hosts where app is deployed. My Application Factory App. parameters Upload your input file url Running App instance

40 The Portal Factory Service Generator Start with –A Deployed Application A script to run it. A list of all needed input files A list of all generated output files. Write a AppService Document –Upload this to the portal Factory generator in the portal. A new Factory is started for you. –A portal client interface to the factory is also automatically generated. App Factory Browser Portal Server https Create and Launch factory Upload AppService Doc

41 The Security Model The parties: –The service provider Usually the application scientist in charge of the app. –The user Usually an associate or client of the provider. Is provided a capability token by the provider to run the application. The capability token –An xml document (SAML) signed by the provider that says the user has permission to access the service. The factory service –Only accepts requests signed by the user and containing the required capability token. Bob’s App Factory Mary’s Browser Portal Server Mary’s proxy & capabilities https Soap + dig. sig + cap. token Proxy & Capability Server Proxy & Capability Server Fire wall

42 Conclusions and Observations

43 Conclusions It is possible to integrate the CCA model with web/Grid services. –Each cca provides port is a web service (OGSA) –Web services are cca components \ Either one provides port with returned values, or One input provides port and one output uses port. Notification an important standard “uses port”. Security must be built-in from day one. –It is the single most difficult part of making this work. It is possible to wrap legacy applications as a web-service-based component using a factory pattern. Interoperability between component frameworks is an important goal. Web service standards help.

44 Final Thoughts High performance parallel computing has been “standard” for a long time. –Some say it is a “solved problem” –If so, why is still hard to do? Component Architectures are a “nice idea” –But they have been a “nice idea” for a long time. We need to prove the concept by showing: –It is possible to build a library of parallel & distributed components that really interoperate –That they can be really used to increase a scientists productivity. Applications are the key. –The killer app of parallel computation turned out to be data and not computation.

45 Thank You

46 Example: Rendering a Storm Take WRF output, move it to a cluster, Launch an “OGRE” script to render it, move movie to users directory (Work by C. Moad, B. Plale, G. Kandaswami, L. Fang) WRF Simulation OGRE job Factory File Mover Portal Directory OGRE instance

47

48 View the Results