Given by Geoffrey C. Fox at Seminar at Los Alamos on 31 March 99. Foils prepared 30 March 99
Outside Index
Summary of Material
We describe some use of object web technologies in computing |
We describe the importance of the Web as a source of information objects and as a mechanism for invoking general server side objects |
We stress constraints of cross disability interfaces |
We note relevance of JavaScript as language to capture changes in document object structure and to choose appropriate rendering |
We stress the important role of both Asynchronous and Synchronous collaboration and the web and web-based collaboration allows one to implement it. |
Outside Index Summary of Material
Los Alamos March 31 1999 |
http://www.npac.syr.edu/users/gcf/lanlmarch99 |
http://www.npac.syr.edu/tango |
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
We describe some use of object web technologies in computing |
We describe the importance of the Web as a source of information objects and as a mechanism for invoking general server side objects |
We stress constraints of cross disability interfaces |
We note relevance of JavaScript as language to capture changes in document object structure and to choose appropriate rendering |
We stress the important role of both Asynchronous and Synchronous collaboration and the web and web-based collaboration allows one to implement it. |
Pervasive Communication Infrastructure (The Internet) and powerful new software technologies and concepts
|
Can enable education and training with
|
Can also change/enable businesses, research, electronic societies |
Need to implement so that
|
Design of (possibly new as exploiting new possibilities) curricula |
Decide on Architecture of the curricula material |
Authoring of material in curricula |
Managing the material and students response to it including quizzes, grades and administration |
Delivery of the material in a mix of self-paced (asynchronous), traditional (synchronous) or collaborative (interactive) |
Good answers to all these components are pretty clear and these answers will match the evolution of web over next few years
|
So all we need is ....................... |
Organizations with appropriate mission, resources and entrepreneurial spirit to do the grand experiments, succeed and blossom in the future .... |
Can offer "Certificates in Internetics or Computational Science" (Total of 4-6 or 1-2 semester classes respectively) |
Can offer internally Web and Java classes for K-12 level -- teaching Java Academy to Boston, Houston Syracuse and Starkville every saturday |
All these courses are in form suitable for synchronous/asynchronous delivery |
Taught two semesters from Syracuse over Internet a Senior Undergraduate Class in Java for web applications at Jackson State Mississippi using Tango collaboration system. Next 2 semesters teaching graduate computational science and Internetics |
Can combine with local CDROM of curricula material |
Have specialized programming laboratories for both Web and parallel programming -- Jackson students do ALL work from a PC at JSU accessing resources at Syracuse |
Taught using Tango over Internet and defense high performance network DREN every Tuesday and Thursday from Syracuse
|
Jackson State major HBC University with many computer science graduates |
Do not compete with base courses but offer addon courses with "leading edge" material (Web Technology, modern scientific computing) which give JSU (under)graduates skills that are important in their career
|
Needs guaranteed 30 (audio) to 100 (video) kilobits per second bandwidth assuming course material mirrored at JSU
|
NPAC Web Server |
JSU Web Server |
Java Tango Server |
....... |
Share URL's |
Audio Video |
Conferencing Chat Rooms |
White Boards etc. |
Address at JSU of Curriculum Page |
Teacher's View of Curriculum Page |
Student's View of Curriculum Page |
Participants at JSU |
Teacher/Lecturer at NPAC |
....... |
Java Socket |
HTTP |
Java Control Clients |
The Object Web Signifies the merger of distributed object and web technologies |
The Pragmatic Object Web asks us to take the best of CORBA (Industry Standard) COM (Microsoft PC Standard) Java (Web Software Infrastructure) and W3C (XML) |
An "object" is an entity that can be
|
The most common object is a Web Page |
The richest available object model is the Web Document Object Model or DOM |
JavaScript is language to manipulate this DOM |
Web Browsers render this object |
Web Servers broker this object |
Contents of (relational) Databases -- give these a web interface and view as an XML (or HTML) stream
|
Computer Programs -- from CGI Scripts to Servlets to CORBA IDL brokered Fortran Programs |
(Large) data resources -- from file systems to archival storage |
Devices -- from toasters, microsensors to surveillance cameras, PC's, Printers, Supercomputers, Telescopes |
Electronic Mail Messages -- favorite form of collaboration |
People |
Define Objects and properties / methods (backend) and define services (frontend) |
Objects (at "backend") can be on client of course |
Broker or Server |
Rendering Engine |
XML |
Result |
XML Query |
User dependent Style Sheets and Rendering engines |
Rendering Engine |
XML result |
HTML |
Objects |
Universal Interfaces |
IDL or Templates |
JWORB - Java Web Object Request Broker - multi-protocol middleware network server (HTTP + IIOP + DCE RPC + RMI transport) |
Current prototype integrates HTTP and IIOP i.e. acts as Web Server and CORBA Broker
|
Currently testing support of Microsoft COM |
JWORB - our trial implementation of Pragmatic Object Web |
First non DMSO implementation of RTI -- HLA (distributed event driven simulation) Runtime at 5% cost(!) |
Globus High Performance Backend |
Java Applet Frontend |
Java Servers in Middle Tier |
Database |
Computing |
Visualization |
IIOP |
/RMI |
DoD Modernization Project at ASC Dayton to build a "seamless interface" including a Problem Solving Environment Toolkit with PSE XML Templates that you can customize for each domain -- Chemistry is first example |
e.g. <visualize render="AVS">See it!</visualize> gives you a button invoking middle-ware visualization service and AVS renderer |
Ken Flurchick, http://www.osc.edu/~kenf/Gateway |
Client Tier
|
Middle Tier
|
Back-end Tier
|
Gateway Schematic |
Consider large class of problems that can be thought of a set of coarse grain entities which could be internally data parallel and the coarse grain structure is "functional or task" parallelism |
Use (Enterprise) JavaBeans to represent modules at (server) client level |
Use UML (and related technologies) to specify application and system structure |
WebFlow is graphical (Java Applet) composition palette (Beanbox for computational modules) |
Use "To be Agreed Seamless Computing Interface" to implement linkage of proxies to backend hardware |
We can support any given paradigm at either high functionality (web server) or high performance (backend) level |
HPCC Messaging could be a pure Java/RMI middle tier version of MPI or Nexus/Optimized Machine specific MPI at backend |
Coarse Grain Entities can be time synchronized simulations and use MPI(HPF?) at either middle or back end tier or as in DMSO simulations a federate running a custom discrete event simulation |
Use DMSO Object model HLA to specify object structure of jobs and systems at middle tier level |
A HLA Federation could be the set of all jobs to be run on a particular site
|
A HLA Federate could be a job consisting of multiple possibly shared objects |
Use DMSO Runtime Infrastructure RTI to implement dynamic management
|
Some sort of activity involves interactions between objects and/or objects and individuals (which can be thought of as objects as well if you want) |
Interaction can be synchronous as when individuals talk to each other; parallel program components exchange MPI messages
|
Or asynchronous when sharing is done at different times |
I post a web page and you look at it later is basic asynchronous sharing model while writing on a blackboard is hallowed synchronous model in teaching
|
This implies choosing a rendering method that best suits client user and respects
|
e.g. Visually impaired would prefer audio rich rendering |
e.g. Muscularly limited users would need appropriate interfaces |
New Cascading Style Sheets can express this but need intelligent renderer to make correct decision and allow user to adjust choices |
Further one needs decision at the stage of XML input and not after it has already been rendered into HTML
|
Assume goal is equal and high quality rendering -- do not downgrade material to support cross disability rendering |
Assume teachers, students, engineers, shoppers, salespersons, families teach, learn, collaborate, buy, sell, socialize via electronic versions of traditional human interactions combined with shared objects rendered as web pages
|
One needs to be able to
|
So web documents are the natural choice but actually this doesn't say so much as they can have
|
And "everything" exports itself to the web including Microsoft Word and Macromedia authoring systems
|
So we will consider first Web documents constructed according to W3C DOM |
Well there is the battles between Sun Netscape and Microsoft which makes Java on the client less robust than Java on the server |
However Java allows to build totally general users interfaces and there appear to be no rules. |
Thus it does not seem practical to build cross disability interfaces for arbitrary Java applet interfaces |
On the other JavaScript and dynamic HTML can do many things that you might have thought one needed Java for |
General Java visual interfaces need languages such as UML to describe interface object model? |
Web-linked databases look "just" like web pages and in fact using XML templates one can store DOM components in database and improve representation of object structure of pages
|
On the other hand, current Lotus Notes supports a web client but does not naturally integrate with other web resources
|
One needs to certainly share the basic page URL but also
|
JavaScript in principle allows one to identify relevant DOM components , change the rendering through choice of style attached to each component and so deliver a cross disability shared rendering |
Here is an example of a particular source document encoded in HTML: |
<HTML> |
<TITLE>My home page</TITLE> |
<BODY> |
<H1>My home page</H1> |
<P>Welcome to my home page! Let me tell you about my favorite composers: |
<UL> |
<LI> Elvis Costello |
<LI> Johannes Brahms |
<LI> Georges Brassens |
</UL> |
</BODY> |
</HTML> |
Component Objects in Web Page |
Shared Pointer added to Internet Assistant PowerPoint on the Web |
Movement tracked and shared with JavaScript |
Illustrates sharing of W3C Object Model internal to documents |
DHTML "Heartbeat" recording shared events in last 60 seconds on application specific "bar" which is locked above all windows -- addresses window clutter |
Shared Multiple List |
Shared Buttons |
Shared Text field |
Shared Checkbox |
Educational Objects i.e. |
Data Defining Curricula Material at all levels from "University" to "foil" |
Server side |
Java(JDBC) |
XML Parser |
Servlet |
Metadata |
WebWisdom XML Template Server |
Conventional XML/HTML Pages |
Dynamically Generated |
(IMS/ADL) Metadata |
Streaming Audio/Video |
Cross Disability Shared Choice of CSS |
Templates Defining in XML How educational data stored in Pages |
Share with TangoInteractive |
JavaScript API |
Conventional Web Site |
WebWisdomDB Database |
Educational Object Manager |
XML Template |
Server |
(A)Synchronous Access via Cross Disability JavaScript |
TangoClient |
TangoServer |
WebWisdom Synchronous and Asynchronous Learning System |
TangoInteractive Collaboration System |
Enhanced DHTML |
Server (add pointers etc.) |
Unstructured Data |
Structured Data |