Upload
scott-hart
View
225
Download
0
Embed Size (px)
Citation preview
Grid PortalsGrid Portals
Dennis Gannon Dennis Gannon
Marlon PierceMarlon Pierce
Indiana UniversityIndiana University
Portlets and ContainersPortlets and Containers One of the problems of previous portal One of the problems of previous portal
development is that there is no good way development is that there is no good way to share interface components.to share interface components.• How do developers share web interfaces?How do developers share web interfaces?
Also, how can we avoid constantly Also, how can we avoid constantly reinventing things like login services, reinventing things like login services, customization services, page organization, customization services, page organization, access controls.access controls.
Answer: use portlets and containers.Answer: use portlets and containers.• Becoming a recognized best practice for portal Becoming a recognized best practice for portal
development because it enables distributed development because it enables distributed portal development.portal development.
OGCE Release 1 Combines Grid and Collaboration Portlets in CHEF Framework
OGCEOGCE OGCEOGCEThe Open Grid Computing Environments Collaboratory
Funded by the NSF National Middleware Initiativewww.collab-ogce.org
Argonne National Lab Indiana University University of Michigan NCSA San Diego State University Texas Advanced Computing Center
Globus proxy manager and GRAM portlets allow remote command execution
GridFTP portlets allow remote file browsing and management
Portal Engine:
JetspeedVelocityCHEF
Teamlets:Written in JAVA
Responsible for GUI Operate in the
context of a session.Rely on services for
any persistent or “cross-user” information.
ServicesPersistent
System-wideMultiple
implementations of services
Configurable as to what
implementation provides what
service
Servlets:Access services outside of the
portal engine: AccessServlet and WebDavServlet
Services AP
IWeb
Server:
TomcatTurbine
Non-HTTP Components (i.e. E-Mail)
CHEF Teamlets support group collaboration through shared data.
Context services manage Grid application metadata.
GPIR Web Services provide Virtual Organization information services.
Portlet architecture allows portlets to be reused between portals.
Group calendars
Group chat
Topic-based newsgroups support multiple communication channels as RSS feeds.
Standard Portlet Architecture Supports Reusable Components
OGCEOGCE OGCEOGCEThe Open Grid Computing Environments Collaboratory
Funded by the NSF National Middleware Initiativewww.collab-ogce.org
Argonne National Lab Indiana University University of Michigan NCSA San Diego State University Texas Advanced Computing Center
JSR 168 standard allows portlets to be reused across multiple containers.
OGCE2 is building Grid portlets that can operate in open source containers such as uPortal and GridSphere.
Container independent services allow data like Grid credentials to be shared between portlets.
The Java CoG provides an abstraction layer over different toolkits and capabilities.
Compatibility tools support Velocity-based OGCE1 portlets in JSR 168 containers
GT2GT2
GT3OGSA/WS-RF
GT3OGSA/WS-RF
SSHSSH
CondorCondor
UnicoreUnicore
CoG Abstraction Layer (job submission, file transfer, authentication)CoG Abstraction Layer
(job submission, file transfer, authentication)CoG
CoGCoG
CoGCoG
CoGCoG
CoGCoG
CoG
ApplicationsApplications
Data and Task Management Layer (workflow)Data and Task Management Layer
(workflow)
Gridfaces Layer (portals, Swing, SWF) Gridfaces Layer
(portals, Swing, SWF)
OthersAvakiOthers
Avaki
CoGCoG
OthersSETIOthers
SETI
CoGCoG
NanomaterialsNano
materials
Bio-InformaticsBio-
Informatics
DisasterManagementDisaster
Management
PortalsPortals
GridID
EG
ridIDE
DevelopmentSupport
New CoG interfaces also support task composition and workflow
uPortal
GridsphereMyProxy and GRAM portlets in uPortal and GridSphere
Web PortalWeb Portal Package every Web Package every Web
Service with its own user Service with its own user interface as a document interface as a document fragmentfragment
Portlets are underlying Portlets are underlying technologytechnology
OGCE Open Grid OGCE Open Grid Computing Environment Computing Environment is developing lots of is developing lots of useful portletsuseful portlets• ComputingComputing• GISGIS• Access Grid etc.Access Grid etc.
Core Web Services
Portlet User InterfaceComponents
Application Web Servicesand Workflow
Aggregate Portals
Portal ArchitecturePortal ArchitectureC
lient
s (P
ure
HT
ML,
Jav
a A
pple
t ..
)
Agg
rega
tion
and
Ren
derin
g
PortalInternalServices
Portlet Class
Portlet Class
Portlet Class
Portlet Class:WebForm
SERVOGrid(IU)
Web/Gridservice
Web/Gridservice
Web/Gridservice
Computing
Data Stores
Instruments
GridPortetc.
(Java)COG Kit
Clients Portal Portlets Libraries Services Resources
LocalPortlets
Remoteor ProxyPortlets
Hierarchical arrangement
OGCEOGCEConsortium
Individual portlet for the Proxy Manager
Use tabs or choose different portlets to navigate through interfaces to different services
2 Other Portlets
Each Servicehas its own portlet
GGF 15
Mesoscale MeteorologyNSF LEAD project - making the tools thatare needed to make accurate predictions of tornados and hurricanes. - Data exploration and Grid workflow
GGF 15
Teragrid Gateway Portals• TeraGrid
–The largest “public” super-computing grid in the US.• 50 TFlops
–Massive Data storage capability• Over 1 Petabyte on-line storage
• TeraGrid Gateways–Access points for communities.–Two types:
• A gateway between 2 grids– Open Science Grid gate way is one example.
–Science Community Portal is the other type • Includes LEAD portal, Nanohub, Renci Bioportal, NVO
• An additional set of new science portals just being developed … including
• TeraGrid–The largest “public” super-
computing grid in the US.• 50 TFlops
–Massive Data storage capability• Over 1 Petabyte on-line storage
• TeraGrid Gateways–Access points for communities.–Two types:
• A gateway between 2 grids– Open Science Grid gate way is one example.
–Science Community Portal is the other type • Includes LEAD portal, Nanohub, Renci Bioportal, NVO
• An additional set of new science portals just being developed … including
GGF 15
The Architecture of Gateway ServicesThe Users Desktop.The Users Desktop.
Gateway Services
Grid Portal Server
Grid Portal Server
Physical Resource Layer
Core Grid Services
Proxy CertificateServer / vault
Proxy CertificateServer / vault
Application EventsApplication EventsResource BrokerResource Broker
User MetadataCatalog
User MetadataCatalog
Replica MgmtReplica Mgmt
ApplicationWorkflow
ApplicationWorkflow
App. Resourcecatalogs
App. Resourcecatalogs
ApplicationDeployment
ApplicationDeployment
ExecutionManagement
ExecutionManagement
InformationServices
InformationServices
SelfManagement
SelfManagement
DataServices
DataServices
ResourceManagement
ResourceManagement
SecurityServicesSecurityServices
OGSA-like Layer
Portlets
What Is a Portlet?What Is a Portlet? A portlet is a piece of Java code that runs in a A portlet is a piece of Java code that runs in a
Web server inside a container servlet.Web server inside a container servlet. Portlets can do two things:Portlets can do two things:
• Perform non-visual operations such as make connections Perform non-visual operations such as make connections to remote hosts, perform operations.to remote hosts, perform operations.
Example: get a list of local files.Example: get a list of local files.• Create their display Create their display
The portlet passes its display to its parent, which The portlet passes its display to its parent, which is responsible for constructing the entire display.is responsible for constructing the entire display.• Typically this is HTML, with tables uses to organize Typically this is HTML, with tables uses to organize
component displays.component displays.• Other displays are possible (VoiceXML, WML).Other displays are possible (VoiceXML, WML).
What is JSR 168?What is JSR 168? Defines the (Java) standard for vendor Defines the (Java) standard for vendor
container-independent portlet components.container-independent portlet components.• Portlets can be developed independently of the Portlets can be developed independently of the
container.container. Many implementations:Many implementations:
• Gridsphere, uPortal, WebSphere, Jetspeed2, ….Gridsphere, uPortal, WebSphere, Jetspeed2, …. From the portlet development point of view, it From the portlet development point of view, it
is really very simple:is really very simple:• You write a java class that extends GenericPortlet.You write a java class that extends GenericPortlet.• You override/implement several methods inherited You override/implement several methods inherited
from GenericPortlet.from GenericPortlet.• You use some supporting classes/interfacesYou use some supporting classes/interfaces
Many are analogous to their servlet equivalents Many are analogous to their servlet equivalents Some (portletsession) actually seem to be trivial Some (portletsession) actually seem to be trivial
wrappers around servlet equivalents in Pluto.wrappers around servlet equivalents in Pluto.
Some Open Source JSR 168 Some Open Source JSR 168 ContainersContainers
GridSphereGridSphere• http://http://www.gridsphere.orgwww.gridsphere.org
uPortaluPortal• http://http://www.uportal.orgwww.uportal.org
LifeRayLifeRay• http://http://sourceforge.net/projects/lportalsourceforge.net/projects/lportal
eXo platformeXo platform• http://http://www.exoplatform.comwww.exoplatform.com
StringBeansStringBeans• http://www.nabh.com/projects/sbportalhttp://www.nabh.com/projects/sbportal
Jetspeed2Jetspeed2• http://portals.apache.org/jetspeed-2/http://portals.apache.org/jetspeed-2/
File ManagementFile Management
File management services allow you toFile management services allow you to• Upload, download files between desktop and Upload, download files between desktop and
remote HPCremote HPC• Download entire directories as zipped files.Download entire directories as zipped files.• Delete remote files.Delete remote files.• Navigate remote directories.Navigate remote directories.• Unzip/untar remotely.Unzip/untar remotely.
Targeted ASC and ARL initiallyTargeted ASC and ARL initially• ARL is available in productionARL is available in production
Access to PortletsAccess to Portlets Obviously not all users have accounts at Obviously not all users have accounts at
all centers.all centers.• An ASC file browser should be accessible only An ASC file browser should be accessible only
to users with an ASC account.to users with an ASC account. Jetspeed has role based accessed control Jetspeed has role based accessed control
to portlets.to portlets. Each user can be assigned to one or more Each user can be assigned to one or more
user roles (“ERDC”, “ASC”, etc).user roles (“ERDC”, “ASC”, etc). This controls which portlets a user can add This controls which portlets a user can add
to his or her display.to his or her display.
Portal SecurityPortal Security
We are building off We are building off Indiana’s Gateway’s Indiana’s Gateway’s approach for Web-based approach for Web-based security for DOD portals.security for DOD portals.• Approved for ARL and ASCApproved for ARL and ASC
Users kinit to a web server Users kinit to a web server to get a ticket.to get a ticket.• SSL, MD’d sessions, SSL, MD’d sessions,
Certificates maintain Certificates maintain secure connection.secure connection.
• Web server typically Web server typically located in “DMZ”located in “DMZ”
Web server manages Web server manages session IDs, invokes session IDs, invokes backend requests with backend requests with Kerberos client utilities.Kerberos client utilities.
Browser
WebServer
HPCHPC
HPC
DMZ
HTTPS
krcp, krsh