Portals and e-Infrastructure, Requirements For Usability in the e-HTPX Project (A Developers Perspective)

advertisement
Portals and e-Infrastructure,
Requirements For Usability in the
e-HTPX Project
(A Developers Perspective)
Dave Meredith, Grid Technology Group,
e-Science, Daresbury Laboratory
(d.j.meredith@dl.ac.uk)
e-HTPX Project
A distributed computing infrastructure for protein
crystallographic structure determination

Relies heavily on a range of e-Science technologies (Portals,
Web Services, XML, Databases, HPC), especially those
associated with distributed / enterprise / SOA computing.

Project integrates a number of key services provided by UK eScience, protein manufacture and synchrotron laboratories.

The usability of both client interfaces and e-infrastructure/
services are key to e-HTPX.
Requirements to Increase The Usability of e-HTPX
1) Rich portal interface. Traditionally, web applications are not as graphically rich/
interactive as desktop GUI clients (next generation web-applications and tools are
increasing usability through more re-usable interface components, e.g. JSF, and
dynamic interaction technologies, e.g. AJAX).
2) Application-specific portal interfaces. Customised to address different requirements
of client communities (OPPF e-HTPX portal, YSBL e-HTPX portal).
3) Well defined service/ resource interface (Service Orientated Architecture, e.g. WS,
WSRF). Improves access/ usability of service.
4) Frameworks for modularity + reusable software (e.g. Portal/portlets, WSRP)
Addressing these points helping to make both the e-HTPX portal and its service
based infrastructure more usable and accessible.
Developer perspective centres on technologies/ standards designed to address these
requirements
e-HTPX System
Architecture:
OPPF e-HTPX
Portal
WS Requests
Loosely coupled
(Clear distinction between client + service)
York e-HTPX
Portal
1) Rich User Interaction Experience
JSF Components

Reusable component approach to
content presentation, e.g. tree
structures, table scrollers, tabbed
panes, hierarchical tree-tables.

Standardised, increasing vendor
support, e.g. Apache MyFaces,
Oracle ADF (100 re-usable user
interface components).

Tool support becoming more widely
supported (Sun Studio Creator,
Netbeans 5.5, JDev).
AJAX (Asynchronous JavaScript and XML)

Enhances dynamic user interaction (e.g. Google Maps)

AJAX is a collection of open standards

Should be used with care:
 Changes familiar request/ response interaction model (deep linking and navigability
may be lost – i.e. ‘back button’ may not work as expected).
 Increase in client platforms (e.g. mobile/ PDA) is problematic
2) Application Specific (Customised) Interface
• Two e-HTPX compliant portals being developed
tailored to cater for differences between working
practices of client (e.g. OPPF users and YSBL users)
• Portals simplify using web-services by effectively
laying a user interface ‘on-top’ of a remote web
services (user is hidden from details of parsing WSDL
file, generating client code libraries, writing software)
OPPF e-HTPX Portal
YSBL e-HTPX Portal
3) Easily Accessible Resources/ Services
SOA – Loose coupling between services and clients but with well defined
service interfaces (e.g. Web Services + WSDL)
1.
SOA – Built on hierarchy of remote
Web Services. UML shows some of
the communications required between
client and service.
2.
XML Schema Data Model – The data
model provides an open and agreed
standard for communication and dataexchange between the different
partners involved in the project.
3.
Loosely Coupled Clients - SOA
provides client flexibility, e.g. use of
different clients to access services
(portal or desktop). For e-HTPX, SOA
allowed development of
customised Portals installed at
client labs (OPPF and York Portal)
3) Easily Accessible/ Usable Resources (e.g. WS Interoperability)
1.
Use a 100% XML Schema compliant <wsdl:types> - facilitates advanced datamodelling (far more comprehensive type system than SOAP encoded complex
types and simple types – Doc/wrapped not RPC).
2.
This avoids dependencies on technical implementation language (often introduced
when implementing ‘code first’ RPC). Doc/wrapped is WS-I compliant and fully
interoperable across different platforms (e.g. .NET, J2EE)
3.
Schema data model/ messages can be abstracted/ separated from WSDL bindings
and developed in isolation
4.
•
Data validation (advanced features of XSD), no dependency on SOAP engine
•
Encouraged collaboration between the different partners involved in the data
model design process.
SOA in next generation of Grid resources (WSRF). Should make Grid resources
more usable/ accessible (UDDI, WSDL interface for resource invocation)
4) Modular/ Reusable Interface Components
Portal/ Portlets

Allows development of separate, reusable web-application components
(portlets).

Multiple portlets can be combined together within a portlet container to form a
single, larger web-application (portal).

This means portlets designed to provide a specific service or functionality can
be reused/ shared in different projects.

Great idea – a) encourages reuse of resources/ code (e.g. portlet registries)
and, b) facilitates separate development of components (often a necessary evil
in large distributed projects where developers are geographically spread).

JSR-168 requires closer integration with well established web-application
frameworks (e.g. JSF, struts) for richer interface support/ GUI component reuse.
WSRP



Portlet can be hosted on remote server
A portal can display the remote portlet as if it were installed locally
Can consume remote portlet without having to write unique code to use the
service.
Example – Portals/ Portlets in NGS Grid Portal
Job Submission
Portlet
Batch Job Manager
Portlet
Facilitates integration
of application specific
portlets
Summary
Rich user interfaces in next generation of web-apps/ portals
Often require application specific interfaces tailored to suit users requirements
SOA increase usability of services (facilitate development of different clients)
Development Issues / Challenges
Complexity;

Web App programming is complex (not to be confused with Web-sites). Many
extra considerations and technical API’s (RDBS, SQL, Object-Relational
mapping, XML, MVC, Security, Multi-user, Network, Multi-threaded programming,
Data synchronisation, JSF, Struts, AJAX, Portal/Portlets).

Balancing the correct level of flexibility with customisation (seems to be a ‘tradeoff’ - flexibility often requires interface to be generic while usability often requires
customisation);

This has occurred even within the same project ! (e.g. 2 e-HTPX portal
implementations).

Flexibility and customisation do not have to be mutually exclusive, can
achieve both but more complicated to do so.
Download