Charles Severance University of Michigan

Slides:



Advertisements
Similar presentations
Using the Collaborative Tools in NEESgrid Charles Severance University of Michigan.
Advertisements

Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Building Systems from Standards-based Reusable Components.
Using Collaborative Tools in NEESGrid Charles Severance University of Michigan NEESGrid System Integration Team
Sakai SEPP Report Charles Severance 5/21/2004. Observations Version 1.0 –Scope has expanded dramatically since January –There are a lot of “degrees of.
Grid Portals: Putting the User Interface on the Grid and Virtual Organizations Charles Severance University of Michigan NEESGrid project, OGCE Project,
Chapter 3 Software Two major types of software
Client/Server Architectures
Sakai / Portal Integration Charles Severance September 9, 2004 Not all those who wander are lost. J.R.R. Tolkien, The Fellowship of the Ring.
Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre, University of Toronto Bridging the Gap: Design & Development in Sakai.
Grid Computing, B. Wilkinson, a.1 Grid Portals.
The Design Discipline.
Oracle8 JDBC Drivers Section 2. Common Features of Oracle JDBC Drivers The server-side and client-side Oracle JDBC drivers provide the same basic functionality.
Web-based Virtual Research Environments (VRE): Supporting Collaboration in e-Science Xiaobo Yang, Rob Allan CCLRC e-Science Centre Daresbury Laboratory,
HPC club presentation A proposal for a campus-wide research grid Barry Wilkinson Department of Computer Science UNC-Charlotte Dec. 2, 2005.
Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre, University of Toronto Bridging the Gap: Design & Development in Sakai.
GridSphere/Portlet Workshop, March 3 rd – 4 th, 2005 LC Portal via GridSphere Mark Baker and Hong Ong Distributed Systems Group University of Portsmouth.
Grids and Portals for VLAB Marlon Pierce Community Grids Lab Indiana University.
23:48:11Service Oriented Cyberinfrastructure Lab, Grid Portals Fugang Wang April 29
CHEF II / Sakai Architecture. CHEF II Changes uPortal replaces Jetspeed –jsr 168 portlet, servlet compliant Spring replaces Turbine component framework.
GEM Portal and SERVOGrid for Earthquake Science PTLIU Laboratory for Community Grids Geoffrey Fox, Marlon Pierce Computer Science, Informatics, Physics.
A portal interface to my Grid workflow technology Stefan Rennick Egglestone University of Nottingham
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Ultimate Goal State Standardization for interchange of two types of packaged components –User Interface Multiple presentation components –Service Portal.
UPortal and CHEF Charles Severance University of Michigan
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
AHM, Aug-30-Sept-2, 2004 Virtual Research in the UK: Advanced Portal Services Mark Baker and Hong Ong Distributed Systems Group University of Portsmouth.
Portals, Services, Interfaces Marlon Pierce Indiana University March 15, 2002.
Partnerships in Innovation: Serving a Networked Nation Grid Technologies: Foundations for Preservation Environments Portals for managing user interactions.
Application Web Service Toolkit Allow users to quickly add new applications GGF5 Edinburgh Geoffrey Fox, Marlon Pierce, Ozgur Balsoy Indiana University.
Portlet Development Konrad Rokicki (SAIC) Manav Kher (SemanticBits) Joshua Phillips (SemanticBits) Arch/VCDE F2F November 28, 2008.
Shaowen Wang 1, 2, Yan Liu 1, 2, Nancy Wilkins-Diehr 3, Stuart Martin 4,5 1. CyberInfrastructure and Geospatial Information Laboratory (CIGI) Department.
Application Sharing Bhavesh Amin Casey Miller Casey Miller Ajay Patel Ajay Patel Bhavesh Thakker Bhavesh Thakker.
3-Tier Architectures (or 3-Tier Applications)
J2EE Platform Overview (Application Architecture)
Bedework 3.0 (a.k.a.UWCalendar)
Progress Apama Fundamentals
CX Introduction to Web Programming
Distributed Control and Measurement via the Internet
Portals: Background, Development & Conversion
Sakai PLRE Slides (extracted)
OGCE Short Summary Marlon Pierce Community Grids Lab
Writing Grid Portlets.
Shaowen Wang1, 2, Yan Liu1, 2, Nancy Wilkins-Diehr3, Stuart Martin4,5
MVC and other n-tier Architectures
AVOIR -African virtual
Introduction to Programming the WWW I
Introduction CSE 1310 – Introduction to Computers and Programming
A portal interface to myGrid workflow technology
#01 Client/Server Computing
Charles Severance University of Michigan
OGCE OGCE The Open Grid Computing Environments Collaboratory
Some remarks on Portals and Web Services
Standard Portlet Architecture Supports Reusable Components
Lecture 1: Multi-tier Architecture Overview
JavaServer Faces: The Fundamentals
Meeting Expectations - the Web in the 2(.0)1st Century
Middleware for Grid Portal Development
Chapter 7 –Implementation Issues
Sakai / Portal Integration
Sakai PLRE Slides (extracted)
OBJECT ARCHITECTURE DESIGN
Open Grid Computing Environments
Intro to J2EE Concepts.
From Use Cases to Implementation
#01 Client/Server Computing
Introducing MagicInfo 6
Presentation transcript:

Grid Portals: Putting the User Interface on the Grid and Virtual Organizations Charles Severance University of Michigan NEESGrid project, OGCE Project, Sakai Project www.dr-chuck.com csev@umich.edu

Grid: A collection of “things” (people, equipment, etc) which need to work together to accomplish some task NEESGrid: $200M, 13 years, 30+ organizations, 300+ people, a NEES non-profit consortium, 16 geographically distributed experimental sites all combine using the global public Internet to produce one national experimental laboratory which will enable fundamental advances in earthquake earthquake engineering. Note: In this story (like all good stories) everything sounds very good but there is a flaw - look for it… See if you can figure out what the flaw is before it is revealed at the end of the story…

Making a Grid: Step 1 - Invent a Grid Toolkit with protocols The Globus Toolkit

Making a Grid: Step 2 - Add those protocols to the “things” that need to work together… The Globus Toolkit

Making a Grid: Step 3 - Plug it all in… The Globus Toolkit Note: By now you have seen the flaw several times - you should be forming a hypothesis about the flaw right about now….

Making a Grid: Step 3 - Viola! NEESGrid is connected together.

Making a Grid: Just connecting gadgets to a fabric is not sufficient for a Grid - there are “virtual organizations” with rights and permissions Dan Manages Can_use PI_of PI_of Can_use Can_watch Architect_of Billie Manages PI_of Sings Carl Gokhan Andre Works_with Does_NOT_sing

Grid Technology + Virtual Organization = a Real-Live Grid

Making a Grid: Back to the flaw (aka challenge) - it is in this picture somewhere…. The Globus Toolkit

Making a Grid: Hint - Which of these six elements is the most difficult to connect to the Grid…. The Globus Toolkit

Making a Grid: The hard part is that people won’t stand still long enough to install the Globus toolkit on them…

Making a Grid: People are more complex than computers. The Globus Toolkit What to do ??

Making a Grid: Grid Portals bridge the gap creating a familiar browser-based user interface to their Grid The Grid Portal Technologies Sakai http + browser COG uPortal GridPort CHEF Open Grid Computing Environment GridSphere

Making a Grid: Grid moving towards the desktop While Grid Portals allow everyone to use Grid resources, and provide and excellent ways to collect and trivially distribute functionality, with the emergence of a well supported desktop Java and Java-based GT3 and GT4, it is more and more practical to make a standard Mac, PC, or UNIX desktop a true peer within the Grid with full credentials and desktop applications with higher-functionality interfaces and higher performance. Grid portals still have a role in this work for those who can’t or won’t alter their personal system or move from computer to computer. We can also develop common APIs between portals and desktop tools so as to maximize reuse of non-display aspects of software. The Grid

Grid Portals Provide single installation of Globus for many people - many of whom cannot install software on servers or their desktop Provide access to and help manage users credentials Provide a single-point of contact to allow many elements of an application to be assembled

Chalk Talk:School of Portals NEES 1.1 NEES 3.0 NEES 4.0 OGCE 1.2 ? CHEF OGCE 1.1 Jetspeed OGCE 2 Sakai GridPort 2 GridPort 3 GridPort GridSphere Alliance uPortal XCAT Convergence Competition Collaboration

What is a Portal? Chess Chat Portlet Portlet Portal controls Properly done, a portal allows a “marketplace” of portlets. One can assemble a portal from available portlets. Portals allow reuse of portlets with general capabilities and development of specific capabilities. Home Athletics Sakai Portal controls navigation and layout CS101 EE499 EE499-Sec01 Chess Motor Help Fred: He will move P-K4 Joe: Nah - he did that last time Mary: It does not matter what he does - I will beat him again Play FAQ Meeting Admin Portal manages components and calls them when output is needed. Watch me now mary! Send Chess Portlet Chat Portlet

How Do You Write a Portlet? Old way: Write/Adapt some Perl - Gridport Pick a Portlet API from: Jetspeed, CHEF, WebSphere, Plumtree, uPortal, Oracle, Microsoft (several versions), GridSphere Have your code run on < 10% of the portals on the planet with little or no portability New Way: Write JSR-168 (Portlet API) or WSRP (Web Services for Remote Portals)

Aside: Why JSR-168/WSRP ? A slightly paraphrased conversation November 2003 at a Grid Portal meeting at Indiana University. Charles Severance: (using his best expert from out-of-town voice) The architecture team from the CHEF project has done an evaluation of JSR-168 as best we can figure it out and have concluded that it is a bit too “HTML-oriented” - we want tools that are relevant beyond the web environment. Geoffrey Fox (Indiana University): JSR-168 and WSRP will be standards - people will use them regardless of your opinion or your software.

Aside: Why JSR-168/WSRP ? A slightly paraphrased conversation November 2003 at a Grid Portal meeting at Indiana University. Charles Severance: (using his best expert from out-of-town voice) The architecture team from the CHEF project has done an evaluation of JSR-168 as best we can figure it out and have concluded that it is a bit too “HTML-oriented” - we want tools that are relevant beyond the web environment. Geoffrey Fox (Indiana University): JSR-168 and WSRP will be standards - people will use them regardless of your opinion or your software. Charles Severance: (pause) Good point. (sits down)

How do you write a portlet? What presentation approach - raw HTML, XSLT, JavaBean-style presentation? Thick or thin? Do tools talk to a database? Web/Grid Services? Use an Applet? Use a Servlet? Is each portlet a stovepipe or do they cooperate? Do you rely on Portlet Services outside the standard or make your own cover API? What packages do you import?

Portlet Design Patterns - Presentation Layer - the old ways The Portal API HTML Req/Resp HTML Resp HTML Resp HTML Req HTML Req XSLT with pluggable templates Velocity templates The I don’t need no presentation layer. I can handle, accessibility, multiple languages, browser compatibility, and common look and feel all in my own code portlet! XML Context The almost abstract but somewhat asymmetric portlet… (aka the Half-abstract portlet) A Jetspeed Portlet

Portlet Design Patterns - Symmetric Presentation Layers - the wave of the future The Portal API HTML Req/Resp HTML Req/Resp HTML Req/Resp Java Server Faces Renderer Sakai / JSF Renderer + Widgets GridSphere Renderer + Widgets Display JavaBean with output and input symmetry. Display JavaBean with output and input symmetry. Display JavaBean with output and input symmetry. Java Server Faces Portlet Sakai Portlet GridSphere Portlet

Portlet Design Patterns - Where does the information come from / go to? The Portlet API Presentation Presentation WSRP (Web Services for Remote Portals) WSRP (Web Services for Remote Portals) The monolithic, stovepipe “whole enchilada”, I don’t need anyone else, leave me alone, I am an island portlet! Usually written by a lone programmer. The “thin layer” on top of Grid services Direct implementation of the WSRP protocol in a remote portlet. Remote “glue” which transforms the WSRP back into the Portlet API. Grid web services Presentation Grid services implemented remotely which implement significant functionality. A standard portlet which happens ot be installed and running on an other system. TCP/IP, JDBC, File-system, low-level web services, etc…

TCP/IP, JDBC, File-system, low-level web services, grid-services etc… Portlet Design Patterns - Where does the information come from / go to? The Portal API Presentation Presentation Presentation The medium-thin portlet which depends on a locally instance standardized API for all persistence, communication, etc. Portlets handle interaction patterns, event handling, and state management. Portlets use many different APIs (there is not a 1-to-1 crrespondence) between portlet and API components. Strong layer with many APIs with a pluggable implementation capability for each API allowing for significant reconfiguration and reorientation of the portal without modifying tools. TCP/IP, JDBC, File-system, low-level web services, grid-services etc…

Portlet Design Choices All of these decompositions are useful given the constraints of the portlet implementation environment. There is a general trade-off between interdependence and reuse of code. Interesting questions Do portlets hide behind an opaque API (Sakai-style)? Where is the tradeoff between a portlet orchestrating a lot of web services and simply using WSRP? Is it ever a good idea to write code directly to WSRP or should we just use JSR-168? In reality, given that a portal will be (should be) built from components from many sources - all variants are likely.

Exciting possibilities If the WSRP to JSR-168 API works out well (there is much left to understand), each portal should both be a WSRP producer and consumer. This leads to significant opportunities for creating federated portals with seamless ability to place functionality and integrate it in different ways. There is much work to do in this area to fully relalize this potential - it may lead to the need to a much richer WSRP based more on Grid concepts than web services concepts.

uPortal Portlet Roadmap Support Portlets (JSR-168) via adapter uPortal 3.0 Implement Portlet Specification (JSR-168) Support IChannel via adapter Framework Chan Chan Framework Pluto Portlet Portlet Chan Chan Adapter Portlet Portlet Adapter Pluto Portlet Portlet Chan Chan Feb 19, 2004 SAKAI Developer’s Workshop, Stanford University

What is next… Sakai Discussion - Building a portal with highly collaborative portlets with very strong presentation and API layering requirements. NEESGrid Discussion - Building a real-life Grid portal with software from many collaborators and solving the problems of a community of scientists…