24
Grid Portals Grid Portals Dennis Gannon Dennis Gannon Marlon Pierce Marlon Pierce Indiana University Indiana University

Grid Portals Dennis Gannon Marlon Pierce Indiana University

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

NEESGridRealtime access to earthquake Shake table experiments at remote sites.

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

SERVOGrid Portal Screen SERVOGrid Portal Screen ShotsShots

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