Middleware Technology to Support
a Gateway to the Grid
Dennis Gannon, Indiana University
Randall Bramley, Indiana University
(Project start Sept. 2001, 3 years, 1 FTE)
With a lot of help from my friends!
Geoffrey Fox, Indiana University
Beth Plale, Indiana University
Marlon Pierce, Indiana University
Mary Thomas, Univ. of Texas
Charles Severance, University of Michigan
Gregor von Laszewski, Argonne National Labs
Jay Alameda, NCSA
National Collaboratory Middleware and Network Research Project Review 1
Other Important Contributors
• People who do the “Real” work.
– Argonne: Micheal Hategan, Kaizar Amin, Shashank Shankar
– Indiana Grids Lab:Shrideep Pallickara, Ali Kaplan, Ahmet
Topcu, Ahmet Sayar, Fatih Mustacoglu
– Indiana CS: Octav Chipara, Marc Christie, Liang Fang,
Matthew Farrellee, Gopi Kandaswamy, Deepti Kodeboyina, Wei
Lu, Sriram Krishnan, Yogesh Simmhan, Alek Slominski, Anuraag
Sarangi, Shava Smallen
– University of Texas: Maytal Dahan,Tomislav Urban, Eric
Roberts, Akhil Seth
– University of Michigan:Joseph Hardin, Glenn Golden, Jim Eng
– NCSA: Shawn Hampton, Al Rossi, Greg Daues
National Collaboratory Middleware and Network Research Project Review 2
• Some History and Lessons Learned
• Building on a software component architecture
• Integrating Grid and web services
– Managing applications
– Managing the user’s “grid context”
• How do USERS interact with grid services?
• Brief Demo
• The Future
• Evaluation Metrics
National Collaboratory Middleware and Network Research Project Review 3
History and Lessons
• We started building Grid portals 1997
– NCSA’s Larry Smarr coined the “Grid” term and started several
portal projects in the Alliance.
– Globus and Legion were real.
• In 1998 the NASA IPG was the first grid implementation effort
– The IPG portal effort was started.
– Mary’s NPACI portal was in place.
– Gregor did first Java COG.
– IPG portal became Jason’s GPDK effort.
– Fox’s DOD Web work became an early production portal
– NCSA Bioportal was very successful.
– DOE Science Grid – Collaboratory Projects well underway.
National Collaboratory Middleware and Network Research Project Review 4
• The easy Grid Portals were great successes
– They were applications oriented.
– They provided scientists with some useful tools.
• But they were:
– All “stovepipe” solutions.
• Very little reusable code and infrastructure
• Nothing could be shared between portals
– Most ignored the emerging architecture of the Grid
• A framework based on distributed ubiquitous services
National Collaboratory Middleware and Network Research Project Review 5
The Big Picture
And control Grid Application Factory Service
App App Instance
App Instance Instance
Open Grid Service Architecture Layer
Reservations & Monitoring
And Scheduling Event/Mesg Grid Orchestration
Open Grid Service Infrastructure (web service component model)
1000s of PCs ->massive supercomputers
National Collaboratory Middleware and Network Research Project Review 6
The Big Picture
• The Grid is defined by a collection of distributed
– The portal is the user’s access point to orchestrating these
Portal Server and group
National Collaboratory Middleware and Network Research Project Review 7
What do users want from a portal
• Access to grid services
– Security services
• Management of my grid certificates
• VO management (who is in my group?)
– Remote File management
• Access to file and metadata directories
• Staging files and moving them
– Remote Job management
• Simple remote job submission and monitoring
• Complex workflow management
• Access to information services
– Directories, index tools, messaging, notification
• Application interfaces
– Hiding the details of Grid middleware
• Access to collaboration
– Shared video and applications
National Collaboratory Middleware and Network Research Project Review 8
A Solution based on components
• A software component is object defined by
– A precise public interface
– A semantics that includes a set of “standard”
• A Software component architecture is:
– A a set of rules for component behavior &
– A framework in which components can be easily
installed and interoperate.
• The component architecture of choice for the
Portal community is the one based on portlets
National Collaboratory Middleware and Network Research Project Review 9
A Portlet Approach to Grid Services
• A Portlet is a portal server component that provides
basic services rendered in a user-configurable window
in a portal pane.
Portal Server Services
Portlet Portlet Portlet Messaging
1 2 3
Portlet Portlet Portlet
4 5 6 collaboration
National Collaboratory Middleware and Network Research Project Review 10
The Grid Portal
• Provides Portlets for
– Management of user proxy
– Remote file Management via
– News/Message systems
• for collaborations
– Grid Event/Logging service
– Access to OGSA services
– Access to directory services
– Specialized Application
• Distributed applications
– Access to Metadata Index
• User searchable index
National Collaboratory Middleware and Network Research Project Review 11
A Look at a pane and portlet
National Collaboratory Middleware and Network Research Project Review 12
Portal Interaction Model
• How should the user interact with the
Grid using the portal?
– Logging onto the portal should bring up you
current “Grid Context”
• The set of tools (portlets) you use to access
– Configured into groups you access from tabbed panes
the way you want them and the way you last left them.
• Log files of events and annotations that for a
persistent record of your grid transactions
• Access to your group identity within a
collaboration to give you access to group news
National Collaboratory Middleware and Network Research Project Review 13
Advantage of portlet architecture
• Each Grid service can be associated with a
– Very easy to add new services
– Many different Groups can contributed portlets
which can be plugged into a portal.
• Currently Indiana, Argonne, Michigan, NCSA,Texas +
GridSphere portal group following this model.
• Jetspeed is Apache standard. Also basis for IBM
websphere portal and others. Now moving to Java
• Each user can select and configure the
portlets he/she wishes to use
– Selection becomes part of the persistent context
National Collaboratory Middleware and Network Research Project Review 14
Gaining Grid Proxies for Users
• The MyProxy Manager User “Beth”
– The user contacts the portal server and
asks it to do “grid” things on behalf of
– To make this possible the server needs a 1. Load my
“Proxy Certificate” Proxy
• The user has previously stored a proxy Certificate!
cert in a secure MyProxy Server stored
with a temporary password. Portal Server
• User give the portal server the password MyProxy
and the portal server contacts the proxy
2. Give me
server and loads the proxy. I am
• The portal server will hold the proxy for certificate Proxy
the user for a “short amount of time” in
the user’s session state.
National Collaboratory Middleware and Network Research Project Review 15
Interacting with MyProxy Server
• Through the Java COG Kit.
• Code for your Action Class:
GSSCredential proxy = null;
int port = Integer.parseInt(params.port);
MyProxy myproxy = new MyProxy( params.hostname, port );
int lifetime = Integer.parseInt( params.lifetime ) *
proxy = myproxy.get(params.username, params.password,
proxies.put( proxy, true or false ); // do or don't store
• Another portlet can call “proxies.get()”
National Collaboratory Middleware and Network Research Project Review 16
Portal Operations: File Management
• Grid FTP portlet– Allow User User “Beth”
to manage remote file spaces
– Uses stored proxy for
– Upload and download files
– Third party file transfer Portal Server
• Request that GridFTP server A GridFTP
send a file to GridFTP server B
• Does not involve traffic through
portal server GridFTP
Server A GridFTP
National Collaboratory Middleware and Network Research Project Review 17
Other Service Portlets
• Resource Verification
– Verify that the resources and services that
I use still recognize me.
• LDAP Browser
– Browse the contents of an LDAP server
• Grid Job Launch & Monitor
– Specify a job you would like to launch on
some remote resource and launch it.
– Monitor the progress of the execution
National Collaboratory Middleware and Network Research Project Review 18
• A distributed computing infrastructure based on XML
and some basic Web Ideas
– A web service is a server process that exposes typed ports
to the network
– Described by the Web Services Definition Language. An
XML document that contains
• The type of messages the service understands and the types of
responses and exceptions it returns
• The associated “methods” are bound together as “port types”
• Port types are bound to protocols and endpoints as “ports”
– A WSDL document completely defines a service and how to
National Collaboratory Middleware and Network Research Project Review 19
• As defind by the Open Grid Service
– A web service that also adheres to some
simple behavior patterns and implements the
GridService Port Type and other ports it
– A standard way to name, discover and
interrogate a Grid Service.
• How do we use these in a portal context?
National Collaboratory Middleware and Network Research Project Review 20
Grid Services Browser
• OGSI defines a Grid Service as a web service
that supports the Grid Service port.
– Grid Service Port provides access to the “service data
elements” of the service
• Includes service metadata and state information
• Encoded as XML document
– Any service’s state can be examined by the portal.
A Grid Service
Portal Server S Service data
- sde names
- service state
Grid Service Port
National Collaboratory Middleware and Network Research Project Review 21
An Example Grid Service: User’s Context
• User’s want to be able to use the portal to
keep track of lots of things
– Application and experiment records
• File metadata, execution parameters, workflow scripts
– “Favorite” services
• Useful directory services, indexes, links to important
– Notes and annotations
• “Scientific Notebooks”
National Collaboratory Middleware and Network Research Project Review 22
XDirectory: A Grid Context Service
• XDirectory is itself a Grid Service that is
access by the portal.
– An index over a relational database
– Each node is either a “directory node” or a leaf.
– Leaf nodes are xml elements which contain
metadata as well as html annotations.
National Collaboratory Middleware and Network Research Project Review 23
The Dual Roles of an Leaf Node
• The metadata
– a reference to something else
• An entry in a meta data directory defined by a specific query
(you find x by this query: …)
• History information
• The html data
– An annotation. User can edit it.
• A reminder of what this node is about.
– A view: for example a bit of graphics
– A link to another service that has a web interface.
• A user, or her agent can insert a new node or
– For example, log events from a program execution can be
inserted into the directory for the user to study later.
National Collaboratory Middleware and Network Research Project Review 24
Events and Messages
• Messaging and Notification are critical
– Use NaradaBrokering and “Xmessages”
• Narada provides for ubiquitous delivery
– More on Narada later.
• Xml based message elements.
– Easy to transform events into directory nodes.
• Example: an event records the location of an
application output file. That can be stored in the
directory and discovered later.
A Grid App NaradaBroker
e e e
Notification System Service
National Collaboratory Middleware and Network Research Project Review 25
• An App Factory is a
persistent web/grid service I
can use to launch Apps on my
– Each application instance can
be realized as “private”
• This service may execute the
workflow of my job.
– The new service instance can
register its interface
(WSDL) with the xdirectory
so the user has access to its
– And/Or it may post events to
the event service which are
eventually stored in the
National Collaboratory Middleware and Network Research Project Review 26
How to Invoke a Web Service?
• Designed to be invoked by machines.
– Not humans
• But many can have easy-to-use human interfaces
– To perform simple queries of a web service
• Do we write a new portlet for each web service???
• WSRP is one approach
– The service provides markup information to the portal server which
composes this into a portlet that can be used to get user responses
and then call the remote service.
• WSDL provides a description of each port of the service, so
– Why not translate the ports directly into XHTML forms that can be
invoked by the user?
– See the demo!
National Collaboratory Middleware and Network Research Project Review 27
• Integrate, integrate, integrate, …
• Research on integration WSRP with OGSA.
– Can we make a standard for building “remote grid
• Integrate distributed data services
• Make it easier to program and invoke
• Integrate condor!
• Integrate new security models.
• Work with potential users.
National Collaboratory Middleware and Network Research Project Review 28
Project Evaluation Points
• Project Strategy –
– Focus on building reusable infrastructure
for building portals.
• Build on evolving standards in the portal
commercial sector (portlet model) and the Grid
– Leverage Funding
• DOE provided the research support to solve the
• NSF PACI program (NCSA) support for
engineering and integration.
National Collaboratory Middleware and Network Research Project Review 29
Technology Transfer/Community Interaction
• First Software Release Available
• Now a part of the NSF Middleware Initiative
– with Indiana, Michigan, NCSA, Argonne, Texas
• Application Targets
– Linked Environments for Atmospheric Research
• Community Interactions
– We have a framework where many people can and
have contributed components.
– GGF Grid Computing Environment Research Group
• A forum for wider collaboration.
National Collaboratory Middleware and Network Research Project Review 30
Organization and Milestones
• Project Organization
– I think and do powerpoint. Student work.
– First release out the door.
– Final year: making it easy to deploy.
– Future: condor, also LBL on Grid security,
PNNL on metadata.
National Collaboratory Middleware and Network Research Project Review 31