Application Web Service Toolkit Geoffrey Fox, Marlon Pierce, Ozgur Balsoy Indiana University July 24 2002.

Slides:



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

Database System Concepts and Architecture
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Wrapping Scientific Applications as Web Services Gopi Kandaswamy (RENCI) Marlon Pierce (IU)
1 OBJECTIVES To generate a web-based system enables to assemble model configurations. to submit these configurations on different.
Building Problem Solving Environments with Application Web Service Toolkits Choonhan Youn and Marlon Pierce Computer Science, Syracuse University And Community.
Reusable Components for Grid Computing Portals Marlon Pierce Community Grids Lab Indiana University.
Languages for Dynamic Web Documents
6/11/2015Page 1 Web Services-based Distributed System B. Ramamurthy.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Peoplesoft: Building and Consuming Web Services
OKC Tools for XML Metadata Management Marlon Pierce Community Grids Lab Indiana University.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
UNIT-V The MVC architecture and Struts Framework.
QCDgrid Technology James Perry, George Beckett, Lorna Smith EPCC, The University Of Edinburgh.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
GRAPPA Part of Active Notebook Science Portal project A “notebook” like GRAPPA consists of –Set of ordinary web pages, viewable from any browser –Editable.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
CPS120: Introduction to Computer Science The World Wide Web Nell Dale John Lewis.
WSDL Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
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.
JSP Java Server Pages Softsmith Infotech.
Guidelines for Homework 6. Getting Started Homework 6 requires that you complete Homework 5. –All of HW5 must run on the GridFarm. –HW6 may run elsewhere.
OracleAS Reports Services. Problem Statement To simplify the process of managing, creating and execution of Oracle Reports.
CSCI 6962: Server-side Design and Programming Introduction to Java Server Faces.
Java Server Pages A JSP page is a text-based document that contains two types of text: static template data, which can be expressed in any text-based format,
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
Flexibility and user-friendliness of grid portals: the PROGRESS approach Michal Kosiedowski
Grids and Portals for VLAB Marlon Pierce Community Grids Lab Indiana University.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
1 Overview of the Application Hosting Environment Stefan Zasada University College London.
XML Registries Source: Java TM API for XML Registries Specification.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
The PROGRESS Grid Service Provider Maciej Bogdański Portals & Portlets 2003 Edinburgh, July 14th-17th.
GEM Portal and SERVOGrid for Earthquake Science PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce Computer Science, Informatics, Physics.
Application portlets within the PROGRESS HPC Portal Michał Kosiedowski
PROGRESS: ICCS'2003 GRID SERVICE PROVIDER: How to improve flexibility of grid user interfaces? Michał Kosiedowski.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Code Applications Tamas Kiss Centre for Parallel.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
Holding slide prior to starting show. A Portlet Interface for Computational Electromagnetics on the Grid Maria Lin and David Walker Cardiff University.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Copyright © by Shayne R Flint Simplified Web Application Development Shayne R Flint Department of Computer Science Australian National University.
Grid Execution Management for Legacy Code Applications Grid Enabling Legacy Applications.
Grid Computing Environment Shell By Mehmet Nacar Las Vegas, June 2003.
6/2/2003O.Balsoy et al. Automating Metadata Services Ozgur Balsoy Community Grids Lab, Indiana University Marlon Pierce, Presenting.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Some comments on Portals and Grid Computing Environments PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce Computer Science, Informatics,
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Portals, Services, Interfaces Marlon Pierce Indiana University March 15, 2002.
The Gateway Computational Web Portal Marlon Pierce Indiana University March 15, 2002.
ATLAS-specific functionality in Ganga - Requirements for distributed analysis - ATLAS considerations - DIAL submission from Ganga - Graphical interfaces.
PROGRESS: GEW'2003 Using Resources of Multiple Grids with the Grid Service Provider Michał Kosiedowski.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Application Web Service Toolkit Allow users to quickly add new applications GGF5 Edinburgh Geoffrey Fox, Marlon Pierce, Ozgur Balsoy Indiana University.
Bayu Priyambadha, S.Kom. Static content  Web Server delivers contents of a file (html) 1. Browser sends request to Web Server 3. Web Server sends HTML.
Holding slide prior to starting show. Lessons Learned from the GECEM Portal David Walker Cardiff University
Grid Execution Management for Legacy Code Architecture Exposing legacy applications as Grid services: the GEMLCA approach Centre.
Interacting Data Services for Distributed Earthquake Modeling Marlon Pierce, Choonhan Youn, and Geoffrey Fox Community Grids Lab Indiana University.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Sabri Kızanlık Ural Emekçi
Distributed web based systems
Application Web Services and Event / Messaging Systems
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Presentation transcript:

Application Web Service Toolkit Geoffrey Fox, Marlon Pierce, Ozgur Balsoy Indiana University July

Motivating Concerns Grid infrastructure software tends to be geared toward low level services: –Job submission and monitoring –Information services –Distributed security Typical end users are really interested in running specific applications, not using low level grid tools. –GCE computing portals build user-centric tools out of Grid infrastructure tools. –The grid infrastructure is a great foundation for this. Not all HPC resources use Grid infrastructure technologies in production but still see the value of portals –DoD MSRCs are good examples –We need service definitions that are independent of implementation There are no well defined general ways for –Describing scientific applications –Specifying the Grid services these applications require –Adding these applications to a Grid or to a computing portal

Some Stakes in the Ground (and a rough outline) We need interfaces to describe real scientific applications and their execution life cycles. Application ‘bundles’ are composed of core, general purpose Web services. –Need composition languages Application interfaces define some related Web services useful to portals –Description, archiving Application bundles can also be composed to form larger applications. Application interfaces can be used to automatically generate browser interfaces. Browser interfaces to services are portlets, can be aggregated into portals (such as with Jetspeed).

Application Web Services Toolkit We are building a portal infrastructure to implement the ideas on the previous slide. Our goal is to be application-centric –By “application” we mean some scientific or engineering code (finite element codes, quantum chemistry codes, etc). –Applications are added to the portal in well defined ways. The application interface is defined by the developer (or application expert) through well defined XML schema. The application is bound to various core service interfaces. –Core service interfaces are in WSDL, will be in OGSA –Applications can be statically bound to core services (and specific resources), as we describe here. –Binding can also be dynamic, through service discovery mechanisms.

Application Lifecycles Abstract State: describes potential uses of the application. –Analogous to a.out on a file system Ready State: a specific application instance has been set up but not run Submitted State: Application instance is running –Analogy: sh a.out Archived State: The job is completed and metadata about the instance is stored. –Metadata can be queried later as a service –Archived instances can be used to create new instances. We need ways of describing all of these states.

Application Web Service Bundles An application is composed of several core services. –Application description, batch script generation, job submission, job monitoring, file transfer. These should be deployable on a specific compute resource. These become services on a host resource. The application should have two parts: –Describe how to invoke –Describe ‘workflow’ of how the core services interact Application Web Service Interface Job Submit Application Description File Transfer Batch Script Generation

Application Composition Application services on specific resources can be combined to create aggregate applications. That is ‘Run code 1 on machine 1, use output for code 2 on machine 2, and use visualization service on machine 3’ We are currently trying to decide the best way to do this workflow. AWS 2AWS 3 AWS 1 Composite AWS

Application Web Service Schemas From the proceeding, we have two sets of schema: –First set defines the abstract state of the application What are my options for invoking disloc? Dub these to be “abstract descriptors” –Second set defines a specific instance of the application I want to use disloc with input1.dat on solar.uits.indiana.edu. Dub these to be “instance descriptors”. Each descriptor group consists of –Application descriptor schema –Host (resource) descriptor schema –Execution environment (queue or shell) descriptor schema

Container Structure for Descriptors Applications contain hosts, which contain execution environments. Each of these are independent schemas that get included in the parent with a “binding” tag that uses –We were inspired by WSDL bindings here. This keeps schema scope manageable, makes schema pluggable –I can use someone else’s schema for my host descriptor if I like theirs better than mine.

Application Schema Elements The host and environment descriptors are the usual stuff, so we won’t go over that here. Abstract descriptors describe possible invocations of the application. –Edited by application deployers, used to generate user interfaces Instance descriptors describe particular invocations of the application. –Created from user interaction with portal interface, stored as application archive

Abstract Application Schema Elements: Application

Application Element Each application is defined by a number of fields –Name and version tags are strings –Flag tag lists code flags that can be set and how to use. –Input, output, and error ports describe how the code handles I/O and error. –ApplicationParameter tag provides a general purpose place to put arbitrary name/value pairs if you need more descriptions. –HostBinding tag contains the binding to the host description schema.

Abstract Application Schema Elements: InputPort

InputPort Explanation You need one input port for each piece of input that the code expects. –Typically just an input file. InputHandle is a useful short name for referring to this input port. InputDescription is a longer string that allows the application deployer to give a much longer description of what this input port is used for. InputMechanism describes how the input for the code is aquired. –Right now, just a file from local disk. –Will support services to load input from specified resource (local file, URL, database, etc.). Output and error reports are similar.

Application Descriptor Services After defining the schema, next step is to cast into language bindings –We used Castor to unmarshal XML to Java Ultimately, we will make this a Web service –Get/set and query methods for the Application are obvious candidates for turning into a WSDL interface. So the application descriptions all will live in a repository independent from the user interface server.

Application Instances Host and execution environment (queue) descriptors are familiar. Application Instance descriptors are superficially similar to the previous abstract descriptors. –Contain name, version, input/output/error ports, host bindings, etc. –Recall the difference is that the instance is a specific subset of possibilities described by the abstract description.

Application Instance Schema Services Again, we just cast the schema into java code. We then implement JavaBeans/JSPs for manipulating the schema. –Applications can be deployed in the portal Methods for working with schema instances/java code will be used to define a Web service –The instances are stored in a repository logically separate from the user interface server. –The repository might be a file system or an XML database or whatever, but this implementation detail is hidden behind the interface.

Automatic Interface Generations with Schema Wizards Gateway schema pages are currently one shot development efforts. –We map HTML forms to a specific schema. –Form actions update schema instances through Castor generated classes. More generally, we want to be able to develop general purpose schema elements to GUI widgets (HTML or otherwise). –We call this sort of thing a schema wizard.

XML Schema Processor Castor SourceGenerator Castor SOM Javabeans Velocity Templates Velocity Templates Velocity Templates Velocity Templates Velocity Templates JSP and HTML forms Schema Wizard Architecture

Schema Wizard Explanation A schema is read in to create an in-memory representation (SOM) and also to create Java files. –SOM=Castor’s Schema Object Model Each schema element is mapped to a self-contained JSP nugget. JSP nuggets are generated from templates. –One template for each element type (simple, complex, enumerated, unbounded,….). –Velocity is used for convenient scripting of JSP. The final JSP page is an aggregate of the JSP nuggets files (using ). Complex schema elements are mapped to JavaBeans generated from the schema with Castor. –Scripting templates set up the imports

Where Are We Really? Many core Web service implementations developed. Application schema are available and have been implemented in a demo portal. Schema wizard is still in development. Lots of work on remote portlets for Jetspeed –Navigable, session maintaining, form parameter passing portlets developed. –Still need to work out security. –Still need to incorporate schema wizard as a portlet.

References See /research/gateway/AWS/AWS.doc for a short report and lots of XML Spy generated schema documentation. /research/gateway/AWS/AWS.doc See chema/index.html for the schemas. chema/index.html