Given by Geoffrey C. Fox at FSU Workshop on Symbolic Notations on the Web on 8 October 99. Foils prepared 10 October 99
Outside Index
Summary of Material
We discuss the use of XML to set "permanent" and pragmatic local standards in a world moving with Internet Time |
We use an example of a set of simple quizzes to both illustrate XML and its use to save content produced originally from a Java applet |
We give other examples of XML to specify database access |
We define the two important API's -- client and backend -- and suggest generic (broader than education) and education specific objects where XML is relevant |
We suggest a model for a new type of "Portal building Tool" |
We described SPW(Shared Portal on the Web) as an XML based collaborative Portal |
Outside Index Summary of Material
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
We discuss the use of XML to set "permanent" and pragmatic local standards in a world moving with Internet Time |
We use an example of a set of simple quizzes to both illustrate XML and its use to save content produced originally from a Java applet |
We give other examples of XML to specify database access |
We define the two important API's -- client and backend -- and suggest generic (broader than education) and education specific objects where XML is relevant |
We suggest a model for a new type of "Portal building Tool" |
We described SPW(Shared Portal on the Web) as an XML based collaborative Portal |
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" and decide where the "sweet spots" are to define standards
|
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" |
Then standards define interfaces to 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
|
There are several important Object Models: COM, CORBA, Java, Web, Oracle Database ...... |
So XML Web pages are natural XML specified objects but you can use XML as
|
XML File System (Web Site) |
Or Equivalently |
Middle Tier (Java Servlet) dissociates User and Back End |
Export/Import |
Request |
Information |
The XML File <machines domain="npac" type="pc" > <machine os="nt" cpu="pentium2" memory="128" >maryland</machine> <machine os="nt" cpu="pentium3" memory="256" >georgia</machine> <machine os="95" cpu="mmx" memory="128" >foxport1</machine> ..... </machines> <machines domain="cis" > <machine os="solaris" cpu="sparcXX" >top</machine> ..... </machines> |
is equivalent to database tables such as |
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
|
Two Sweet Spots for defining Interfaces |
Educational Objects can be stored in Databases, Web Sites etc. |
Broker or Server |
XML |
Result |
XML Query |
Rendering Engine |
Browser |
Rendering Engine |
HTML |
Universal Interfaces |
IDL or Templates |
XML Request for service |
followed by return of XML result |
< 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 <fsueducationxml> and insist that vendors either adopt these interfaces or define their proprietary interfaces as <webctxml> <blackboardxml> etc.
|
"(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 client-side or middle-tier service or 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 |
<!-- WW_CONNECT is a tag that establishes a connection to the database. Connection string may be supplied in the CONNECTION attribute, or if it is omitted (empty string) the default connection string is taken.--> |
<WW_CONNECT CONNECTION=""/> |
<html> <head> <title> Separate IMAGE for LOCAL foil |
<!-- WW_FOILNUMBER tag takes the position of the current foil in the current presentation. --> |
<WW_FOILNUMBER PARENTID="${PID}" FOILID="${FID}"/> |
<!-- WW_TITLE is a tag that allows to insert title of a presentation or foil. The presentation/foil is identified by an ID supplied in FOILID attribute. PARENTID is not currently used by the WW_TITLE tag, but can be later used, e.g. to check the formatting properties, which can be defined on the presentation level. FID and PID were supplied by the servlet from query attributes of the URL --> |
Yellow is ordinary HTML, Green XML, White Comments |
<WW_TITLE FOILID="${FID}"/> |
</title> </head> |
<!-- WW_BODYIMAGE inserts a 'body' HTML tag with background image typical for foil files. --> |
<WW_BODYIMAGE/> |
<tt><a href="#image">Image</a><a href="#buttons"> Buttons</a> </tt> <b> |
<WW_LINK FILENAME="temphelp.tdl" ATTR="">HELP!</WW_LINK> * GREY=local</b><tt> LOCAL IMAGE version of Foils prepared |
<!-- WW_MODIFICATIONDATE inserts modification date of the current foil --> |
<WW_MODIFICATIONDATE FOILID="${FID}"/> </tt> |
...... And So On! |
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 |
We are discussing Web-based education or portals to a virtual university and we also build portals to computing |
Merrill Lynch predicts that Enterprise Information portal market will be $15B by 2002 |
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 ) |
Portals always support "asynchronous collaboration" but we can also built synchronous capability by extending Shared Web Page in our system Tango Interactive using XML to define nature of collaboration |
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. |