Title: Architecture of Computational Science Education Portals
1Architecture of Computational Science Education
Portals
NPACI All Hands MeetingFeb 8 2000Geoffrey Fox
- School of Computational Science andInformation
Technology (CSIT)495 Dirac Science
LibraryFlorida State Universitygcf_at_cs.fsu.edu
2Portals in Computational Science Education
- We are discussing Web-based education or portals
to a virtual university or virtual corporate
training center and relation to portals to
computing - Merrill Lynch predicts that Enterprise
Information portal market will be 15B by 2002 - So assume that we are building education portals
in terms of Distributed Educational Objects --
this is not really an assumption but a statement
as to language used - Portals are built as a customizable set of XML
components ( e.g. Display a thumbnail of the next
web-page in lecture or run a Particular Program )
3Basic Portal Architecture and Inter Relationships
of Education, Computing and other Portals
EnterpriseInformationPortals fromMerrill Lynch
4Hierarchy of Portals and Their Technology
- Portal Building Tools and Frameworks (XUL,
Ninja, iPlanet, E-Speak, Portlets, WebSphere,
www.desktop.com)
Generic Portals
Collaboration Universal Access Security .
Generic Services
User customization, component libraries,fixed
channels
Information Services
Databases .
Enterprise Portals
Quizzes Grading ...
www.computingportals.org
Compute Services
Education Services
Grid Services Visualization ...
MathML etc
Education andTraining Portals
Science Portals
K-12
University
Biology
Chem Egy
5Portal Assumptions
- Portal will be defined by multiple Web Pages made
up of components defined in (better)portalML to
define objects, parameters, collaborative
structure, layout etc. - XML Pages access Portal components which at least
today will mainly HTML
Portal Entry
XML
SubPortal1
SubPortal2
SubPortal4
SubPortal3
XML
SubPortal21
SubPortal22
HTML
Page101
Page211
Page212
Page221
Page301
Page401
6Computing Portals will build on General Portal
Standards
- (better)portalML (XUL) -- define the users
customized portal layout and what they can choose
from - define available objects and layout (number of
columns etc. generalizes ideas in Flow,..,GridBag
Object layouts in Java AWT) - e.g. ltportal name gtltcolumns3/gtltportalobject
modeforced sourcegtltplaceat layoutflow1
position1 gt ... - placement of component objects on pages and
specification of their parameters and location
e.g. access weather object for suchandsuchcity
with suchandsuch sensor overlay - choice of nifty JavaScript or Java index
- rendering preferences such as resolutions and
universal access - borders, backgrounds etc.
- Portal building tools will exist for developers
(architect template for portal i.e.
differentiate my.NPACI from my.Netscape) and
users ( specialize portal template ) - Such general tools will be competition for
specialized systems like WebCT for education
7A Collection of Shared Portal Components
betterportalML document
Web browser
ltsharedportaldefgt . . . lt/sharedportaldefgt
Web page
Regular content
Document Fragments as Shared objects
In W3C DOM, each Web Page (HTML Page)is defined
as a set of Nodes -- You choose which nodes (and
their children) that you wish to share and then
events are exchanged maintaining state
consistency with logic defined by XML page
8Collaborative Portal Architecture
Content Web Server
XMLContent Pages
Shared Event Service
Style Sheet / User Profile Customization Agent
Events Trapped by Browser and shared by Portal
9Each Collaborating Client Receives Events
- Event Stream becomes set of time stamped XML
messages - Pager Cell Phone Email Grid Status Messages
- Collaboration Control Messages e.g. New
Participant Joined - User Customization specification
- W3C or Java or Microsoft Client Shared Object
Definition/Update Messages (e.g. Page Scrolled by
such and such amount done as XML serialization of
JavaScript Event object)
Real-Time or off-line (i.e. synchronous
or asynchronous)access of events which
implicitly archive any session
10Remarks on Event Subsystem
- Events are messages with typically handlers and
time stamps - Any event subsystem is also a messaging system
- email, MPI, audio/video streams, W3C Document
Object Model, any database updates are built on
events - Events are stored in a distributed database (in
simple cases a queue) supporting necessary
robustness and performance - XML is used to represent all event streams
- could store in relational tables
- Must be able to select by key tags such as time,
source, destination, priority, subject,
application (multiple tags) - body of event must be able to store
(serialized) objects - Must be able both to store permanently, relay
synchronously (multicast if needed), replay later
11Distributed Event Subsystem
Java
DistributedServers
DistributedServers
RobustTemporaryActivities
Select/Update
Select/Update
e.g. for routing and caching
e.g. On PC
JavaScript
12Multiple Modes of Collaboration
Sharing Functionality
Temporal Structure
- Temporal Structure
- Synchronous Updates passed on immediately and
ignored if client not online (Tango, Habanero) - Pager Updates passed on immediately if client
available otherwise queued for later delivery.
General late-arrival support - Push Updates performed at given time interval
(New York Times web site is updated every 10
minutes) - Asynchronous Client chooses when to access and
update shared object (You put up a Web Page. I
eventually look at it) - Archive Asynchronous record of one of other
temporal models. - One should integrate support of all models?
13Collaboration Functionality
- What features are shared and what can be
customized on each client and how is sharing
specified and implemented - Collaboration Unaware No effort needed to make
application collaborative -- this is shared
display model of VNC, NetMeeting - Share desktop or individual windows
- Share user generated events as well as pixels
- Shared text or simple web page
- Collaboration Aware One must explicitly change
application to specify how each event shared
(Tango) - One can make this easier in particular
application environments such as Javabeans - Collaboration Semi-aware Shared display plus
special menus which can be customized --
Promising Direction - Collaborative visualization (share 2D or 3D
Image) - Quizzes (support general questions within a fixed
shared infrastructure) - Whiteboard
14Some Architectural Issues
- Use the browser mainly for rendering and
capturing user-interaction events it is not a
robust virtual machine (container) in which one
can build WebWindows applications - Run an Apache Server on every PC
- Palm tops are treated as just another browser
- Where do we need to build new infrastructure and
cannot re-use existing technology as in CORBA
Ninja E-Speak etc. ? - Event Service
- Object specification including betterportalML
properties - Collaboration with integrated capabilities
- Education and Portal Specific Objects/Tools with
properties such as special collaboration features - visualization
- brainstorming and other learners-teachers
interaction tool