Given by Geoffrey C. Fox at NCSA Industrial Partners Meeting on October 12-13 99. Foils prepared October 10 99
Outside Index
Summary of Material
Architecture of Training Portal with interfaces, services and distributed educational objects |
Internetics Curricula used in our web-based training |
Standards and pragmatic use of XML for Educational Objects |
Services and some solutions: Databases for administration and content; Authoring.
|
Motivation for Distance Education and Training
|
Collaborative Portals -- Interactive Course delivery using Tango Interactive today and how to do it right |
e-commerce and other applications of this technology |
Outside Index Summary of Material
NCSA Industrial Partners Meeting |
NCSA |
October 13 1999 |
Geoffrey Fox |
NPAC Syracuse University |
Syracuse NY 13244-4100 |
gcf@npac.syr.edu |
3154432163 |
Architecture of Training Portal with interfaces, services and distributed educational objects |
Internetics Curricula used in our web-based training |
Standards and pragmatic use of XML for Educational Objects |
Services and some solutions: Databases for administration and content; Authoring.
|
Motivation for Distance Education and Training
|
Collaborative Portals -- Interactive Course delivery using Tango Interactive today and how to do it right |
e-commerce and other applications of this technology |
We are discussing Web-based education or portals to a virtual university or virtual corporate training center and yesterday you heard about 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 ) |
There are several important Object Models: COM, CORBA, Java, Web, Oracle Database ...... |
But it doesn't matter!! |
XML File System (Web Site) |
Or |
Middle Tier "Business Logic" dissociates User and Back End |
Export/Import |
Request |
Information |
Two Sweet Spots for defining Universal Interfaces (IDL or Templates) |
Educational Objects can be stored in Databases or Web Sites |
Broker or Server |
XML |
Result |
XML Query |
Rendering Engine |
Browser |
Rendering Engine |
HTML |
Objects |
XML Request for service |
followed by return of XML result |
Collaborative Portals for Distributed and Distance Learning |
At Syracuse built around a two course sequence and associated application, computer science and math courses |
CPS615: Introduction to Computational Science
|
CPS713: Case Studies in Computational Science
|
These form 2 course certificate in simulation track of computational science |
1995 |
Syracuse is not ranked so high but at least it is a sample of the real world and I realized that at such schools computational science was not the answer and that for instance best Undergraduates went into School of Communication |
So I developed an alternative "information track" with four core courses |
CPS406(undergraduate)/606(graduate) Introduction to Web Technologies |
CPS616 Core Web and Distributed Object Technologies |
CPS640 Internet Infrastructure |
CPS714 Advanced Topics and Case Studies in Internetics |
They had Silly catalog titles for sundry political reasons |
There was the K-12 Java Academy in same vision |
Java Academy CPS406, CPS606, CPS616, CPS640 all offered as full semester distance education courses |
Graduate |
CPS406/606: CGI, Java, Introduction to CORBA/RMI/JDBC |
CPS616: More on CORBA/RMI/JDBC; Database discussion as necessary; Advanced Java (Servlets, Javabeans, Enterprise Javabeans, Frameworks); Security; Introduction to XML; JavaScript and Dynamic HTML; in the past VRML and Perl |
CPS640: Network and Internet Service Architecture; Quality of Service; Multimedia Servers; Compression technology |
CPS714: Whatever is important this semester done as a projects course;this year we did XML (for scientific information and to build PSE's); Distributed Computing using CORBA/Web; Java Grande; Advanced Security; How to build a Portal; Collaboration; Electronic Commerce; High performance Web Servers; Latest W3C Initiatives |
Emerging field centered on technologies services and applications enabling and enabled by world wide communication and computing grids |
The contents come from Computer Communication and Information science fields but with an applied flavor so forms critical knowledge needed by many application fields such as scientific computing, telemedicine, electronic commerce, digital journalism and education |
Students with an interdisciplinary background are natural participants |
The applied focus with many totally new and rapidly evolving technologies makes Internetics unique |
Computational Science is Interdisciplinary field in between Computer Science and "large scale Scientific and Engineering simulation-based" applications
|
Internetics is Interdisciplinary field between CS and Both Simulation and Information-based applications
|
Enrollment in Classic Computational Science at Syracuse has dropped from 50 to 10; enrollment in Internetics has risen from 6 to 100 (95-98)
|
Current Internetics Curriculum starts with High School Java Academy;undergraduate and graduate programs, through the four course continuing education certificate |
The two forms of Large Scale Computing Scale Computer for Scale Users in Proportion Power User to number of computers |
Parallel Distributed Information Systems Computers Computational Grids |
<--------------- Internetics Technologies ---------------> |
1% market |
99% of market |
Starkville, |
So we wish to move ahead and enter a world moving with Internet Speed ... |
But neither us nor the world we move in knows quite what we want to do |
We need to set standards so that our infrastructure and content can be largely reused |
If we start now with public domain or commercial systems like "mine", "yours", WebCT, Blackboard, CAPA then how can we do this so can evolve as technology changes |
We could ask system provider to support "standards" but this is not very helpful if standards are insufficient |
Educause IMS (www.imsproject.org) and IEEE P1484 are working on standards (which will be expressed in XML) but currently they seem far from being sufficient. |
So we need to agree on an "architecture" (such as that shown earlier) and decide where the "sweet spots" are to define standards
|
Then standards define interfaces to distributed educational `objects (methods and properties) |
XML is useful as a flexible way of specifying object interfaces in a convenient user readable way supported by growing number of tools
|
So XML Web pages are natural XML specified objects but you can use XML as export of an Oracle database |
COM and CORBA define their interfaces in a specialized IDL (Interface Definition Language) |
Java defines its object interfaces in terms of Java the language |
But it does not matter if object is in text file, C (accessed via CORBA or COM), Oracle, Java or JavaScript; one can define interface in XML and map to particular realization |
So XML is Universal Object Specification
|
< npaceducationxml > <question questionID="0000005">
|
</question> </ npaceducationxml> |
<!ELEMENT npaceducationxml (quiz+, lecture+, author+, course+) > |
<!ELEMENT quiz (question)+> |
<!ATTLIST quiz quizID ID #REQUIRED |
authorID IDREF #REQUIRED |
courseID IDREF #REQUIRED |
lectureID IDREF #REQUIRED> |
<!ELEMENT author (name, email+, institution)> |
<!ATTLIST author authorID ID #REQUIRED> |
<!ELEMENT name (family, given)> |
<!ELEMENT family (#PCDATA)> |
<!ELEMENT given (#PCDATA)> |
<!ELEMENT email (#PCDATA)> |
<!ELEMENT institution (#PCDATA)> |
Identify types of educational objects and divide them and their properties into
|
Find where good standards exist and use them |
Work with organizations to eventually agree on important missing standards (as with IMS and DoD ADL) |
Define in XML, the missing interfaces as <yourinstitutiontrainingxml> and insist that vendors either adopt these interfaces or define their proprietary interfaces as <webctxml> <blackboardxml> etc.
|
Blackboard has popular products (CourseInfo, Campus) which have very good administrative support including linkage to University student databases. |
1000 institutions (300,000 people) using this |
Modest capability to author curricula but good tools such as discussion lists, homework, grading and simple quizzes |
No Built-In Synchronous Delivery |
http://www.blackboard.com |
WebCT has 877 Institutions in 46 countries with stronger authoring capabilities but still rather basic HTML |
Good services such as Glossary |
http://www.webct.com |
http://webct.ncsa.uiuc.edu:8900/ |
WebCT Course Page from NCSA |
WebCT |
Says ..... |
"(better)portalML" -- define the user's customized portal layout and what they can choose from
|
Portal building tools will exist for developers (architect type of portal i.e. differentiate my.NPAC from my.Netscape) and users ( specialize particular portal architecture ) |
Such general tools will be competition for education specific systems like WebCT |
Educational Components and Services are abstracted as a set of hierarchical Toolbars-- perhaps as in Word or similar commodity software |
Toolbars (made of individual commands/object accesses) are defined in XML and rendered in HTML for user interface. |
Toolbars can access a direct middle-tier service or a educational objects |
Education Toolbars include user profile specification (layout, universal access), University Services (sports, tickets) , Choice of different curricula, Access to particular on-line resources (programming labs, chats, bulletin boards etc.), Homework submittal and administrative services, integration with "personal portal" to store notes |
VML is Vector Graphics Mark up Language |
DrawML is designed to support simple technical drawings as sketched on whiteboards and used in (my) PowerPoint |
VRML (3D scenes) re-implemented in XML as X3D |
MathML Mathematical Expressions |
What emerges to support export of Excel, Word for spreadsheets, text etc. |
Database access languages as in ColdFusion |
Resource Description Framework (RDF) standard for metadata exchange, enables better content searching on the Web |
Store PowerPoint on a foil by foil basis, HTML in Database |
Store Images and Multimedia objects (to support education or family photos!) |
Create scripts (play lists) that create new presentations by mixing old ones |
Complete XML Syntax to access database contents from browser and can add your own tags interpreted by Java Servlet |
Java Administrative manager supporting hierarchical (directory style) "courses" |
Edit Categories |
Edit Foils |
<?WWTEMPLATE> |
<?XML VERSION="1.0" CACHE="NO"?> |
<WW_DOCUMENT> |
<WW_CONNECT CONNECTION=""/> |
<html> <head> |
<title> Foilnumber <WW_FOILNUMBER PARENTID="${PID}" FOILID="${FID}"/> :<WW_TITLE FOILID="${FID}" /> </title></head> |
<WW_BODYIMAGE/> |
<tt><a href="#image">Image</a><a href="#buttons"> Buttons</a> </tt><b> <WW_LINK FILENAME="temphelp.tdl" ATTR="">HELP!</WW_LINK> |
</b> version of Foils prepared <WW_MODIFICATIONDATE FOILID ="${FID}" /> </tt> |
Connect to Database |
Insert Foil# |
Insert Date |
Insert Title |
Insert Link with file coming from database |
<h2> Foil <WW_FOILNUMBER PARENTID="${PID}" FOILID="${FID}" /> <WW_TITLE FOILID="${FID}" /> </h2> |
<WW_LINK FILENAME="tempfoilsephtml.tdl" > HTML Version</WW_LINK> |
<hr> <a name="buttons"> |
<WW_NEXT FOILID ="${FID}" PARENTID="${PID}" FILENAME="tempfoilsepimage.tdl" IMAGENAME="ww_next"/> |
<WW_PREV FOILID="${FID}" PARENTID="${PID}" FILENAME="tempfoilsepimage.tdl" IMAGENAME="ww_prev"/> |
<WW_LINK FILENAME="tempfullindex.tdl" ATTR="PID=${PID}"> |
<WW_IMAGE IMAGENAME="ww_up" FOILID="${FID}" PARENTID="${PID}" /> </WW_LINK> |
<WW_SELECTSOUND FOILID="${FID}" NAME="ISSOUND"><INSERT NAME="${ISSOUND}"/> |
</WW_SELECTSOUND> |
........ |
</WW_DOCUMENT> |
Conditional Test on associated audio clip |
being available |
Next and Previous Buttons |
Insert Image from Database |
Title again |
Synchronized Multimedia Integration Language (SMIL) enables simple authoring of TV-like multimedia presentations such as training courses on the Web |
Image and other specialized media descriptors
|
More generally perhaps universalaccessML will allow one to support different renderings of an object needed for different users and clients
|
"People" including students, teachers, administrators |
"Bibliographic" descriptors as in Dublin Core |
CollaborationML as in NPAC's SPW (Shared Portal on the Web) |
Administrative Structure
|
Performance (grading) information |
Assessment data such as surveys, access logs |
Glossaries (there would be a middle tier glossary service to automatically link glossary entries to document fragments |
Quizzes |
Hierarchical Curriculum structure from document fragment to page to lecture to course with provision for linked material for further study
|
Index/Abstract of high level knowledge |
Homework |
Student Annotations |
Glossary service stores current glossary (defined in XML) and integrates with selected document fragments |
Select optimal version (audio, image, high resolution etc.) of an object (Universal Access Service) |
XML Glossary |
Java |
Servlet |
Add Glossary |
Basic Web Server |
New and rapidly changing Academic Curriculum suggest the use of distance education as it will allow a few experts to deliver instruction to more students and this addresses both
|
Distance Education is technically sound based on web curricula-- both synchronously and asynchronously -- today with very robust clear implementations available over next 2 years |
Both delivery mechanism and identification of knowledge nuggets (such as Internetics or computational science) that are smaller than a traditional degree suggests different approaches to certification
|
Similar arguments for distance training with relative importance of synchronous and asynchronous learning differing by customer group |
Professors |
Students |
Common Shared Books and Such Resources |
Done separately for each class at each university |
Often |
Low |
Quality |
Professor at AVU |
(AnyTown Virtual University) |
with team of authoring specialists |
Outside |
Students |
(dominant clientele) |
Common Shared Books Web based Lecture Material |
and Similar Resources |
Institutions focussing on particular disciplines, teach a given class |
to Students from Universities which provide beds and mentors |
Possible local Students |
INTERNET |
Classes are |
given by |
AVU |
to students |
around |
the state |
(world) |
Learning is an example of an activity which can be thought of in terms of objects (digital audio streams when you talk, books, homework, science fair exhibits) worked on alone or together -- either between students or students and teacher
|
Collaboration can be synchronous as when individuals talk to each other
|
Or asynchronous when sharing is done at different times |
I post a web page and you look at it later is a basic asynchronous sharing model while writing on a blackboard is hallowed synchronous model in teaching |
All objects can be thought of as web pages as these are rendering of a server side object
|
Assume teachers, students, engineers, shoppers, salespersons, families teach, learn, collaborate, buy, sell, socialize via electronic versions of traditional human interactions combined with shared objects expressed in XML and rendered as web pages
|
Only shared event model (used in Tango) of sharing (collaboration) is capable of necessary efficiency and customization to each user |
Collaboration means sharing objects |
Web-based Collaboration implies use of Web to share distributed objects accessible through the Web
|
Specify Page |
Receive Identical Page |
Web Site |
Web Pages are an example where there is a single copy of an object; perhaps simpler is the replicated object model used in chat-rooms and more generally shared applets where sharing is maintaining consistent state of replicas |
Server Shares Events |
Java Chat Rooms (applications or applets). Share text typed by users |
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 Sockets |
HTTP |
Java Control Clients |
All Curricula placed on the Web |
Taught using Tango since fall 97 over Internet and defense high performance network DREN twice a week 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
|
Current Semester offered to 40 students in 5 distant places and separately 40 at Syracuse |
We have curricula authored in some fashion and placed on the Web -- it is shared by sharing specification of current Web Page
|
We have shared client side C++ object -- the digital audio-video conferencing subsystem |
We have several shared Java applets
|
These educational resources are |
shared replicated client side objects |
Multi Player Games: Use Chat Rooms and digital VTC to establish context
|
Crisis Management: Again use general tools (including whiteboard) and add shared maps and multimedia situation reports |
Command and Control: Military, Test and Evaluation -- any real time control of complex system
|
Collaborative Computing and Engineering: Here specialized shared objects are CAD, simulation and planning tools |
UpScale Web Commerce Sites with people available to help shoppers and lecture on demand |
Socializing ..... |
Web Page Sharing is a special case of sharing server side objects -- CGI Scripts, Databases, Object Repositories etc. |
This can be done by sharing the Web specification of these objects which can be done client side without ANY change to basic object |
This is sharing of client side interface (proxy) to server side object |
Specify Object |
Collaboration Server Shares Object Specification |
Receive Identical Specification |
Fetch Identical Objects |
We have used the shared proxy notion to implement
|
Server does not need to know about detail of |
collaboration. |
It is more efficient if it |
caches information for |
re-use. |
Thus use custom data-base |
caching or general |
proxy server |
So if all clients want exactly same view at all times, then the "shared event" model is a waste. |
Might as well, just share the display produced on originating client (cf. Microsoft NetMeeting) |
In fact, shared event typically enables each client to get the same view but instead one shares the object but has different presentation layers on each client |
For instance, share a single XML document but apply different style sheets on each client |
Again in command and control, basic application is a 3D map (Geographical Information System) but not so interested clients can present a simple 2D view |
http://www.npac.syr.edu/tango |
Largely Java system enabling collaboration between general client side objects
|
API Enables sharing of events in applications
|
API Enables applications to find out about participants |
Currently ONLY deployed for Netscape version 4.5-4.7 as uses LiveConnect to connect JavaScript to Java
|
N: Netscape Browser |
LD: Local Daemon |
CA: Control Application |
AP: Applet |
LA: Local Application |
CS: Tango Java Server |
DB: Collaboration Database (XML now) |
HTTP: Web Server / Object Broker |
Client |
Client |
Collaboration Server |
Object/Content Server |
So let us imagine that we can redo all of this and assume that
|
Collaboration implies sharing of electronic objects and is needed in Asynchronous and Synchronous modes |
Asynchronous mode is MOST important (in all applications including distance education) and will be supported by run of the mill object web infrastructure
|
Synchronous mode has important applications |
Tango Server accumulates Asynchronous and Synchronous events |
Objects register and then define their state via a stream of events |
Need to share (federate) events between domains (your PC and mine) whose event services are normally isolated |
Object or Visual |
Proxy for Object |
Event specifying Object |
or Change in Object |
Federate and |
Queue events |
"Tango Server" |
Clients which receive events which are either queued (asynchronous) |
or processed synchronously |
Event Stream becomes set of time stamped XML messages
|
One or More Shared Places |
One or More Shared Places |
............. |
Each "Shared Portal on the Web" or SPW is a set of XML and HTML documents |
An XML document defines the collaboration and portal Structure -- who is allowed in "Shared Place"; what objects can be there; where they are stored; portal design described earlier
|
<placedef> |
. |
. . |
</placedef> |
SPDL document |
Web browser |
Regular content |
Web page |
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 |
<sharedobject name="viewer"/><location> http://www.npac.syr.edu/experiments/apps/viewer.jar
|
</shared_object> |
<sharedobject name="chat">......</sharedobject> |
This fragment describes shared portal objects that are used in the shared place.
|
<roles> |
<object_roles name="viewer">
|
</object_roles> |
</roles> |
The fragment of the SPDL document on this page defines the roles for the users of the shared object: in particular we illustrate with the roles creator and observer. |
Content Server |
XML Content |
Pages |
Style Sheet / |
User Profile |
Customization Agent |
XML Content |
Pages |
Style Sheet / |
User Profile |
Customization Agent |
Shared by SPW |
Events |
Trapped by XML JavaScript Shared Browser |
Master |
Nonmaster |
Support of Collaboration between PC client, Palmtop and high graphics devices such as CAVE's |
So in education, can support a mix of wireless palmtops and laptops in the class, with distance PC's
|
Linkage of geographically distributed researchers is necessary to support collaborative computational science
|
A common XML specification of visualization is mapped according to display capabilities of client device |
It is essential that collaborative technologies support all users independent of their hardware and physical capabilities |
Hardware issues are essentially illustrated by palmtop to CAVE example on previous foil |
Suppose we wish to teach a class where some students and/or teachers have impaired sight and hearing. |
Then we need to share same object content but render it differently on each client.
|
Essential to share content (as in XML Shared Web Pages) and this enables you to choose right presentation for given client
|
Concepts of XML SharedWeb Pages for universal access developed with Al Gilman from Trace Center |
Assume that all education will be web-based |
Assume that we need to provide web resources of equal quality for all citizens |
This will not work if one has to translate each course from material for "regular user" to that for "user for different access capabilities" |
Thus only chance is to define curriculum in XML and produce customized presentation layers |
One will need a powerful indexing/abstracting scheme to be able design appropriate navigation schemes for all users and clients
|