Full HTML for

Basic foilset Overview of Pragmatic Object Web Systems and Technologies

Given by Geoffrey C. Fox at ADMI Tutorial Duluth Minnesota on June 3 99. Foils prepared June 11 99
Outside Index Summary of Material


Designed to follow-on two talks summarizing Java either in computer education or science
Summary of Base Pragmatic Object Web approach with multi-tier architecture; distributed electronic objects
Technologies: Client(DHTML, JavaScript); System and Data Structures (XML, VRML, DOM); Languages (Java, Perl ...)
Services: Security, Naming Registration and look up, Collaboration
Applications or Systems built using this approach are called Portals to Education, Computing, Commerce etc.
This foilset and its Java precursors form the curriculum of our courses in field we call Internetics

Table of Contents for full HTML of Overview of Pragmatic Object Web Systems and Technologies

Denote Foils where Image Critical
Denote Foils where Image has important information
Denote Foils where HTML is sufficient

1 Overview of Pragmatic Object Web Systems and Technologies http://www.npac.syr.edu/users/gcf/javalangjune99 http://www.npac.syr.edu/users/gcf/javascientific99 http://www.npac.syr.edu/users/gcf/javafollowonjune99
2 Abstract of Overview of Pragmatic Object Web Systems and Technologies
3 Overview of CPS Web/Information Technology (Internetics) Courses
4 Where are we: Multi Tier Architecture
5 Basic (CPS606) Structure of World Wide Web
6 The 1998 3(Multi)-Tier Information System Architecture
7 Basic 3 Tier Computing Model
8 Object View of running a program
9 Specifying Server Side Objects
10 Comparison of 2 3 and 4 Tier Models
11 Where are we: Distributed Electronic Objects
12 Simplistic Object Web View
13 Other Useful Objects
14 Basic Multi Tier Object architecture
15 Where are we: XML Universal Object Specification
16 Web Technologies in a Nutshell - XML
17 XML Language Elements
18 XML Compared with HTML and SGML
19 Example XML as a Serialized Database
20 Where are we: MathML and "Science"ML
21 MathML Example
22 xxxxxxML
23 ScienceML
24 Where are we: VRML and Other Data Structures
25 Web Technologies in a Nutshell - VRML
26 VRML Example
27 Where are we: Web Document Object Model
28 Document Object Model
29 Hierarchical Object Components in a Web Page
30 Netscape Version 4 Browser Document Object Tag Hierarchy
31 XML and Document Object Model
32 W3C Document Object Model Level 1
33 Where are we: DHTML and JavaScript
34 Web Technologies in a Nutshell - JavaScript I
35 Web Technologies in a Nutshell - JavaScript II
36 Web Technologies in a Nutshell - JavaScript III
37 Web Technologies in a Nutshell - DHTML
38 Architecture of DHTML + XML
39 CSS Example illustrating different ways one can specify CSS Info
40 Where are we: System Building Languages
41 Web Technologies in a Nutshell -- Java
42 Web Technologies in a Nutshell - PERL
43 Architecture of Pragmatic Object Web Systems
44 Where are we: Security Service
45 Security Service
46 Where are we: Naming Registration and look up
47 An Overview of Jini
48 Jini Service Architecture I
49 Jini Service Architecture II: Join
50 Jini Service Architecture III: Lookup
51 Jini Service Architecture IV: Invocation
52 Features of Jini of Relevance
53 Where are we: Persistent Object Service
54 Web Technologies in a Nutshell - Databases
55 Two ways of Implementing Data Objects
56 Where are we: Collaboration Service
57 Naïve Shared Object Strategy
58 Architecture of Tango Distance Education
59 Where are we: Applications and Portals
60 Some Portals
61 My Netscape Portal
62 My Excite Specify Portal Content
63 Merrill Lynch Predictions Enterprise Information Portals
64 Education Portal: digitalthink.com
65 Implementation of a Computing Portal
66 Portal to Earthquake Science 3-Tier Computing Architecture

Outside Index Summary of Material



HTML version of Basic Foils prepared June 11 99

Foil 1 Overview of Pragmatic Object Web Systems and Technologies http://www.npac.syr.edu/users/gcf/javalangjune99 http://www.npac.syr.edu/users/gcf/javascientific99 http://www.npac.syr.edu/users/gcf/javafollowonjune99

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Geoffrey Fox
Syracuse University
NPAC
111 College Place
Syracuse NY 13244 4100
Phone: 3154432163

HTML version of Basic Foils prepared June 11 99

Foil 2 Abstract of Overview of Pragmatic Object Web Systems and Technologies

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Designed to follow-on two talks summarizing Java either in computer education or science
Summary of Base Pragmatic Object Web approach with multi-tier architecture; distributed electronic objects
Technologies: Client(DHTML, JavaScript); System and Data Structures (XML, VRML, DOM); Languages (Java, Perl ...)
Services: Security, Naming Registration and look up, Collaboration
Applications or Systems built using this approach are called Portals to Education, Computing, Commerce etc.
This foilset and its Java precursors form the curriculum of our courses in field we call Internetics

HTML version of Basic Foils prepared June 11 99

Foil 3 Overview of CPS Web/Information Technology (Internetics) Courses

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
CPS606 is basic Java and a little Perl (CGI Scripts) and introduction to RMI (Remote Method Invocation) and JDBC
CPS616 is critical leading edge distributed object and web software system and application building technologies including JavaScript, DHTML, CORBA, Advanced Java Capabilities, Web-linked Databases, Security, Object Web.
CPS616 contains core software technologies needed to build world wide distributed systems -- this is the key challenge today in computer science
CPS714 is advanced and emerging topics in the same area as CPS616 and is set up as a mix of lectures and a project course
  • It includes Portals (Business Computing, Education), XML, Advanced Services (Security, Naming)
CPS640 is MultiMedia and Network Systems including digital video -- it is the hardware and network technologies needed for world wide distributed systems
  • Collaboration discussed here

HTML version of Basic Foils prepared June 11 99

Foil 4 Where are we: Multi Tier Architecture

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 5 Basic (CPS606) Structure of World Wide Web

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Browsers have SAME interface on ALL Computers
CGI Programs were originally usually written in PERL but can be essentially any Process and so do simulation, database access (this is JDBC), advanced document processing etc. Java (servlets) is of growing importance in Server Code
Browser
e.g. Netscape
or Microsoft
interpreting
HTML and
Java
Viewer and
helper
Applications
for MPEG, VRML
etc.
HTTP Web Server
(becoming Java)
HTML Documents
CGI Program
(e.g. PERL
becoming
Java)
MIME format with HTML etc.
(generalized email)
URL (location of
desired information)
Basic Services

HTML version of Basic Foils prepared June 11 99

Foil 6 The 1998 3(Multi)-Tier Information System Architecture

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Client runs custom software produced with components such as Visual Basic for PC's
and Web (Java Applets) These will merge
as Object Web
Application Server
runs custom software currently
produced in ad-hoc fashion but will adopt
Object Web
Technology approach
Critical
Generic Services such as databases
Specialized
Software

HTML version of Basic Foils prepared June 11 99

Foil 7 Basic 3 Tier Computing Model

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
A server accepts input and produces output
  • A Web Server accepts HTTP request and returns a web page
  • a Database Server accepts a SQL request and returns records selected from database
  • An Object Broker accepts IIOP requests to invoke methods of an "object" (e.g. run a program)
IIOP and HTTP are two common protocols (formats of control data) for inter program messages
A Web browser (Netscape or Microsoft) can access any server at "the click of a button" with data from user refining action

HTML version of Basic Foils prepared June 11 99

Foil 8 Object View of running a program

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Similar to invoking a web page
"CORBA" or "WIDL" (pure XML CGI specification) is just CGI done right ......
Object Broker
Fortran Simulation Code on Sequential or
Parallel Machine
Convert Generic Run Request into Specific Request on Chosen Computer
Fortran Program
is an Important
Type of Object
It can be built up from
smaller objects
e.g. Matrix
library could be an
object

HTML version of Basic Foils prepared June 11 99

Foil 9 Specifying Server Side Objects

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Documents -- URL
"General Programs including database invocations"
  • Old style Web -- CGI
  • New Style Web -- XML makes server side objects look like web pages as far as invocation goes
  • CORBA and COM -- special "interface definition language" (IDL) defines invocation in C++ like syntax
  • RMI uses Java language as IDL language
Java Servlets can implement server whatever the object model

HTML version of Basic Foils prepared June 11 99

Foil 10 Comparison of 2 3 and 4 Tier Models

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Client
Middle Tiers
Back End
Thin Client

HTML version of Basic Foils prepared June 11 99

Foil 11 Where are we: Distributed Electronic Objects

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 12 Simplistic Object Web View

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
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
  • registered, addressed, located
  • has properties and methods
The most common object is a Web Page
The richest available object model is the Web Document Object Model or DOM
JavaScript is one language to manipulate this DOM
Web Browsers render this object
Web Servers broker this object
As Web Pages are natural user interface to ALL objects, XML extensions to web pages reflects all objects ....

HTML version of Basic Foils prepared June 11 99

Foil 13 Other Useful Objects

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Contents of (relational) Databases -- give these a web interface and view as an XML (or HTML) stream
  • Web-linked databases use Java Software and W3C serialization (XML) and rendering technology (HTML)
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

HTML version of Basic Foils prepared June 11 99

Foil 14 Basic Multi Tier Object architecture

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
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

HTML version of Basic Foils prepared June 11 99

Foil 15 Where are we: XML Universal Object Specification

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 16 Web Technologies in a Nutshell - XML

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
HTML is powerful but does not separate display and form (structure of document component as an object)
XML is a generalization of HTML which allows definition of arbitrary tags
e.g. <student name="Jane Doe" class="CPS616" grade="..." >Working Hard</student> is more elegant way of capturing information in a reliable fashion than HTML
<h2>Students</h2> <ul><li>Jane Doe: Working Hard</li><ul> <li>Class: CPS616</li> <li>Grade: ...</li> .... </ul> </ul> with a PERL program to extract data
XML allows powerful way of defining dynamic Ascii databases useful for "modest size data" such as people, document citations etc.
XML parsers map XML tags into HTML for display
XML can also be used to define extensions to HTML such as special tags for mathematics or chemistry or .....
XML defines syntax for "serializing" Web objects and transmitting between clients and servers

HTML version of Basic Foils prepared June 11 99

Foil 17 XML Language Elements

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Document Type Definition (DTD), which defines the tags and their relationships
Extensible Style Language (XSL) style sheets, which specify the presentation of the document
Extensible Link Language (XLL), which defines link-handling details
It supports scripting languages such as ECMAScript (JavaScript) or Java
As an example a link can be defined in XML as <LINK> <TITLE>XML Recommendation</TITLE> <URL> http://www.w3.org/TR/REC-xml </URL> <DESCRIPTION> The official XML spec from W3C </DESCRIPTION> </LINK>

HTML version of Basic Foils prepared June 11 99

Foil 18 XML Compared with HTML and SGML

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
XML is a compromise between the non-extensible, limited capabilities of HTML and the full power and complexity of SGML
XML Tags are converted to HTML for display (or other XML tags) by one or more Servers or clients
HTML < XML < SGML
(CSS) (XSL) (DSSSL)
XML is a kind of SGML Lite!
Original
XML
New XML
and perhaps some HTML
Newer XML
and perhaps more HTML
Newest XML
and perhaps all HTML
H T M L

HTML version of Basic Foils prepared June 11 99

Foil 19 Example XML as a Serialized Database

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
<?xml version="1.0"?>
<!DOCTYPE BIB SYSTEM "bib.dtd">
<references>
<book>
  • <label>Knuth_1999</label>
  • <title>The Art of Computer Programming</title>
  • <author>Donald E. Knuth</author>
  • <publisher>Acme Inc.</publisher>
</book>
<journal>
  • <label>Bunny_2035</label>
  • <articletitle>Carrot Effect</articletitle>
  • <author>Bugs Bunny</author>
  • <journalname>Journal of Cartoon Psychology</journalname>
  • <volumeᡚ</volume> <numberɳ</number>
  • <page> <fromᡛ</from> <toᡥ</to> </page>
  • <year򗷓</year> <publisher>Acme Inc.</publisher>
</journal>
</references>
XML as serialized version of a bibliographic database

HTML version of Basic Foils prepared June 11 99

Foil 20 Where are we: MathML and "Science"ML

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 21 MathML Example

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Notation: is represented as:
<mrow>
<mrow>
  • <msup> <mi>x</mi> <mnɮ</mn> </msup>
  • <mo>+</mo>
<mrow>
  • <mnɰ</mn> <mo>⁢</mo> <mi>x</mi>
</mrow>
  • <mo>+</mo> <mnɰ</mn>
</mrow>
  • <mo>=</mo>
  • <mnɬ</mn>
</mrow>
MathML can be found at W3C WebSite

HTML version of Basic Foils prepared June 11 99

Foil 22 xxxxxxML

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Every field has data of special significance -- for field xxxxxx, we imagine a group of standards for semantic content realized in XML. We call this xxxxxxML
http://www.xml.com/xml/pub/submlist lists some standards currently proposed for XML
The Portal for xxxxxx must support xxxxxxML
For businesses, perhaps one needs special support for "excelML" (XML export format for EXCEL) as well as support for more general information data
  • Here we have a things like XML-QL general query language for unstructured data
  • "mailML" to support electronic mail, bulletin board messages, discussion groups etc ...............

HTML version of Basic Foils prepared June 11 99

Foil 23 ScienceML

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
This we define as a group of defined formats that support scientific data, note taking and sketches
XSIL (Scientific data Interchange) defines metadata needed to specify scientific data files including high level parameters and methods needed to read data
VML is Vector Graphics Mark up Language
DrawML is designed to support simple technical drawings (easier than VML but VML should be able to do this?)
VRML (3D scenes) re-implemented in XML as X3D
MathML Mathematical Expressions
CML Support Chemistry -- not clear this proposal will be adopted widely but this is harbinger of future .....
XML standards for scientific codes

HTML version of Basic Foils prepared June 11 99

Foil 24 Where are we: VRML and Other Data Structures

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 25 Web Technologies in a Nutshell - VRML

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
VRML plays same role to 3D worlds that HTML does to documents
VRML 1.0 has been widely available and specifies static 3D scenes through which you can navigate.
  • Note can embed clickable URL's as with ImageMaps which can be used to annotate images to provide interactive resources
VRML 2.0 is now the standard with critical enhancements so that individual elements of 3D world are dynamic and can be programmed
  • It is designed to support full interactivity with texture mapped video, avatars etc.
  • Apply to virtual car-dealership / interactivity gaming or more academic uses such as collaboration between teachers and students in 3D virtual classroom
Bandwidth and computing needs of VRML are handicapping acceptance and appears that VRML will NOT "make it" -- replacement unclear but

HTML version of Basic Foils prepared June 11 99

Foil 26 VRML Example

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Non XML( !) Syntax like
Transform { # The Blue Box Part
translation -2.4 .2 1
rotation 0 1 1 .9
children [
Shape { geometry Box {}
appearance Appearance {
material Material { diffuseColor 0 0 1 } # Blue }
}
]
}
Gives displays like
Where each component is programmable and dynamic

HTML version of Basic Foils prepared June 11 99

Foil 27 Where are we: Web Document Object Model

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 28 Document Object Model

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
W3C DOM (http://www.w3.org/DOM/ ) defines a platform-independent programmatic interface to web documents:
  • provides access to structured data
  • adds object orientation to page layout and design (XML and HTML elements are objects with properties and methods)
  • is implemented with a scripting language
  • defines event model (in level 2 DOM)
  • defines a way of navigating through component objects in a web page
Initially, DOM is bound to ECMAScript but is language neutral in design
Current Browsers implicitly define a DOM which is somewhat different between Microsoft and Netscape and very different between versions 4 and 5

HTML version of Basic Foils prepared June 11 99

Foil 29 Hierarchical Object Components in a Web Page

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
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

HTML version of Basic Foils prepared June 11 99

Foil 30 Netscape Version 4 Browser Document Object Tag Hierarchy

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index

HTML version of Basic Foils prepared June 11 99

Foil 31 XML and Document Object Model

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
<student stdid="A1231999"> <name>Bugs</name> <surname>Bunny</surname>
  • <address> <street>Walnut</street> <city>Carrotville</city>
  • <country>Cartoon Land</country> </address>
  • <phones> <aphoneɭCC-615-AD123</aphone> </phones>
</student>

HTML version of Basic Foils prepared June 11 99

Foil 32 W3C Document Object Model Level 1

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index

HTML version of Basic Foils prepared June 11 99

Foil 33 Where are we: DHTML and JavaScript

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 34 Web Technologies in a Nutshell - JavaScript I

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
JavaScript (originally called LiveScript) is a web scripting language for clients and servers
Originally JavaScript was designed to do what you think Java should do -- elegant dynamic animation on the client side
Then along came Java and JavaScript was eclipsed as it was just Netscape and not so well designed
Netscape tried to make it a server side language (LiveWire) instead of Perl but Java was much better here as well
JavaScript lived on for simple arithmetic on client side to produce somewhat better frames (as clicking on a link can call a JavaScript function instead of just loading a URL) and to quickly check forms client side without going back to server which is slow
A serious weakness was that dynamic aspects of JavaScript could only be used at "load" time and other changes of JavaScript required a "reload" which is real ugly and slow

HTML version of Basic Foils prepared June 11 99

Foil 35 Web Technologies in a Nutshell - JavaScript II

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Then along came Microsoft and Netscape became distracted and quality of Java on the client side suffered and in fact is still problematical as Java in the browser has poor performance and lags Sun's version
Further the Web Consortium W3C never really liked Java butting in and thought HTML was the answer
JavaScript is Java with HTML and browser as AWT
W3C came along with XML and the DOM (Document Object Model)
In particular dynamic HTML extensions allowed one to get many benefits of JavaScript dynamically without reloading ....
Now all this was screwed up in version 4 browsers -- especially by Netscape -- and so the vision was obscured!
At least Microsoft's version 5 browser implements vision well

HTML version of Basic Foils prepared June 11 99

Foil 36 Web Technologies in a Nutshell - JavaScript III

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
So Java is a good low level client tool and how you program your stock market simulation downloaded from the online broker
However dynamical HTML and JavaScript is becoming preferred method of client implementations
Use JavaScript to manipulate "components of documents" and Java to do arithmetic
  • e.g. suppose you want to make your site accessible to blind. Then JavaScript identifies document components and hands text nuggets to Java voice synthesizer and image to fancy captioning system
As world develops HTML + JavaScript will become XML and HTML -- both with JavaScript to capture dynamic issues
On Server, Java always wins over LiveWire (Server Version) but of course you might use C++ for performance
ECMAScript is that part of JavaScript that is independent of object model

HTML version of Basic Foils prepared June 11 99

Foil 37 Web Technologies in a Nutshell - DHTML

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
DHTML is HTML rendering of Document Object Model and includes Cascading Style Sheets (CSS) which allow one powerful ways of assigning properties (such as color fonts etc.) to document components using either name(id) or type (<h2> tag etc.)
The name DHTML or dynamic HTML reflects feature that one can address the components of document and change on the fly (without reloading page) the properties of these components
  • This includes not only natural style properties but also position, size and "visibility" -- changing position gives animation
  • DHTML currently handicapped by major differences between IE4 and Netscape 4 -- functionalities are similar but syntax very different
  • JavaScript combined with DHTML allows animations, graphs and replacement of just parts of text
CSS allows one to take same XML/HTML page and render it in different ways for different clients
  • e.g. automatically change display options between CAVE and palmtop or select audio version of image for a visually impaired user

HTML version of Basic Foils prepared June 11 99

Foil 38 Architecture of DHTML + XML

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Database
or Web Site
or XML File
or Computer Program
or any
Instrument
RMI
DHTML
User Interacts
with DHTML Rendering of
Backend
Object
Browser
renders
optimally
for each client
DHTML is
Rendering of
All Objects
XML
XML
HTTP
Server
XML Java
Servlet
CGI etc.
IIOP
Some XML and some
HTML4
HTML or XML+ DHTML Browser
Etc.

HTML version of Basic Foils prepared June 11 99

Foil 39 CSS Example illustrating different ways one can specify CSS Info

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
<HTML> <HEAD> <TITLE>title</TITLE>
<LINK REL=STYLESHEET TYPE="text/css" HREF="http://style.com/cool.css" TITLE="Cool">
<STYLE TYPE="text/css">
@import url(http://style.com/basic.css);
H1 { color: blue }
H2.vivid {color:pink}
#myid {position:absolute; color:red; top:20; left:50; background-color:red; visibility:hidden}
</STYLE></HEAD><BODY>
<H1>Headline is blue</H1>
<P STYLE="color: green">While the paragraph is green.
<h2 class=vivid>And the secondary heading is Vivid</h2>
<div id=myid>
<h2>Default Color Positionable element</h2>
</div>
</BODY> </HTML>
Selector
Declaration

HTML version of Basic Foils prepared June 11 99

Foil 40 Where are we: System Building Languages

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, C++, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 41 Web Technologies in a Nutshell -- Java

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Java -- Objected Oriented version of C/C++ supporting Interactive Distributed Computing. Original Web architecture (e.g. CGI) was server-side. Java allows design and Implementation of balanced Client Server Applications
Java likely to be a dominant software engineering and Scientific Computing language -- see http://www.javagrande.org
Java will probably be preferred language for development of next generation general or custom Web servers using Servlets
  • NPAC's TANGO collaboratory built around a custom Java Tier-2 server
  • Can build CORBA Object Brokers out of Java
Java can build client side customized GUI's and graphics/image processing but JavaScript and DHTML competes here and MOST Industry use of Java is in middle tier as Systems Building Language
New Java 1.1/1.2 have several enhancements including very many specialized API's
Javabeans are (visual) component model for Java applications

HTML version of Basic Foils prepared June 11 99

Foil 42 Web Technologies in a Nutshell - PERL

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
PERL is a relatively old technology which is being overtaken by Java tidal wave.
Still PERL has significantly better UNIX System and Document handling capability than Java
  • Very good for UNIX as much easier than Shell for system scripts -- PC versions exist but not so well integrated into O/S
  • Wonderful regular expression handling
PERL is traditional but probably not best choice for server CGI extensions and development of filters
-- except for simpler cases involving text documents
PERL5 is object oriented but much less elegant (in my opinion) than Java
  • PERL5 has very useful multidimensional associative and regular arrays
PERL has well understood but now outdated links to databases such as Oracle oraperl

HTML version of Basic Foils prepared June 11 99

Foil 43 Architecture of Pragmatic Object Web Systems

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Education Healthcare Commerce Computing ...
POW Technologies
Scripting
Compiled

HTML version of Basic Foils prepared June 11 99

Foil 44 Where are we: Security Service

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 45 Security Service

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
This is critical in many applications and includes a language (Java, JavaScript) as well Object Model implementations
Security can be implemented simply as a user name / password but there are several special features
  • Encryption -- keeping information secret
  • Authentication -- identifying and authorizing individuals to access particular capabilities
  • Different technical approaches -- especially Kerberos and Public Key Infrastructure
There are a spate of stories about viruses, hackers and security leaks of computer information from government facilities

HTML version of Basic Foils prepared June 11 99

Foil 46 Where are we: Naming Registration and look up

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 47 An Overview of Jini

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
http://www.sun.com/jini/ and also see very interesting Ninja project at UC Berkeley http://ninja.cs.berkeley.edu/
Jini is an innovative distributed computing capability that has features that
  • 1) Naturally follow from Java Implementation or
  • 2) Are interesting architectural choices
Jini enables services to be dynamically linked to users of services
  • It is a technology to produce a federation of linked clients and servers
  • It imagines not a giant monolithic system but rather dynamic collections of dynamic collections
  • Both users and services can dynamically join or leave a Jini federate on a time period of seconds (or longer of course).
Services can be printers, home stereo components, computers or pieces of software or ....
All Jini federate members must support the Java VM or be represented by a proxy that does

HTML version of Basic Foils prepared June 11 99

Foil 48 Jini Service Architecture I

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Jini has a classic 3 tier architecture with client, lookup service (called broker or server in other architectures) and service provider (the backend)
There are four basic operations: Discovery, Join, Lookup, and Service Invocation
Discovery Process: Service Provider broadcasts a request on network that all service providers identify themselves
Lookup
Service

HTML version of Basic Foils prepared June 11 99

Foil 49 Jini Service Architecture II: Join

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
If device is not Java enabled, then a proxy can locate the lookup service on the device's behalf
Finding one or more lookup services, the Service Provider loads its Java Interface and array of descriptive attributes into the Lookup Service
Service Provider leases space in yellow pages of Lookup Service for a given time (Say one minute). Lease must be renewed before end of lease time else Lookup Services assumes service has been discontinued -- implements dynamic fault tolerant services
Add

HTML version of Basic Foils prepared June 11 99

Foil 50 Jini Service Architecture III: Lookup

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Any client locates a Jini Lookup Service and hands a Service Template
  • Template is Java Service Interface (e.g. generic printer interface) as IDL plus a template array of attributes (e.g. resolution and speed of printer)
Lookup Service provides a list of all Services matching this request and Client chooses appropriate service.
Client downloads a Service object which can implement Service

HTML version of Basic Foils prepared June 11 99

Foil 51 Jini Service Architecture IV: Invocation

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
The downloaded Service Object implements Service
Lookup Service no longer part of transaction
This Service could be:
  • Pure Client Side Software
  • Any combination of Service and Client Side Capabilities
Note Client side Service Object came originally from Service Provider and so automatically consistent and up to date
Service Object can be downloaded from central source by Service Provider to keep itself up to date

HTML version of Basic Foils prepared June 11 99

Foil 52 Features of Jini of Relevance

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Use of Lookup Service is typical yellow pages service in all distributed systems (cf. DNS etc.)
Use of Java as IDL(Interface Definition Language) and RMI as transport layer is specific to Jini
  • Clearly can be replaced by other object models and in particular XML can be used to specify services
Has a particular query syntax with attribute array and use of simple yes/no matching
  • Could and perhaps should be generalized
  • Concept of "services with precise definitions" and "queries accessing classes of services" seems general
Has a "leasing concept" which seems very valuable in distributed computing where resources are dynamic and fault tolerance important

HTML version of Basic Foils prepared June 11 99

Foil 53 Where are we: Persistent Object Service

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, C++, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Persistence
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 54 Web Technologies in a Nutshell - Databases

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Relational databases are increasing in use as it is straightforward in Microsoft Access, Oracle, DB2, Informix, Sybase etc. to provide a Web Interface which can be used for data (mail, curricula material etc.) with Java/JavaScript/Forms based Interfaces
Object databases such as Illustra also interfaced to Web but "business logic and serialization like XML" separates data object model and storage object model
Systems such as Cold Fusion provide convenient high level interfaces to Web-linked databases -- use XML templates
Several excellent Java to Database packages becoming available: in particular the JDBC standard based on ODBC -- more powerful but lower level than systems like Cold Fusion
CORBA views a database as a managed persistent object

HTML version of Basic Foils prepared June 11 99

Foil 55 Two ways of Implementing Data Objects

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Old way: Use an Object Database
Current Approach: Use a Relational Database and business logic in EJB
Object Database
Application using data objects
Backend relational database such as Oracle
Enterprise Javabean mapping user object to backend persistent data model
Application using data objects
Middle Tier

HTML version of Basic Foils prepared June 11 99

Foil 56 Where are we: Collaboration Service

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 57 Naïve Shared Object Strategy

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
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
  • Most sharing is asynchronous and one usually wishes to share synchronously same material that one accesses asynchronously
  • objects can be (electronic) text books, aircraft designs and simulations, expensive jewelry or photos of grandchildren .....
  • Best sharing must support cross disability rendering

HTML version of Basic Foils prepared June 11 99

Foil 58 Architecture of Tango Distance Education

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
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

HTML version of Basic Foils prepared June 11 99

Foil 59 Where are we: Applications and Portals

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Summary of Base Pragmatic Object Web approach with
  • Multi-tier Architecture;
  • Distributed Electronic Objects
Technologies:
  • Data Structures (XML, MathML/ScienceML, VRML .... )
  • Web Page Object Model or DOM
  • Client(DHTML, JavaScript);
  • System building Languages (Java, Perl ...)
Services:
  • Security
  • Naming Registration and look up
  • Collaboration or Object Sharing
Applications or Systems built using this approach, which are called Portals

HTML version of Basic Foils prepared June 11 99

Foil 60 Some Portals

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Portal to NPAC is http://www.npac.syr.edu
Portal to the world is http://www.yahoo.com/ or http://my.netscape.com/
http://www.amazon.com is a portal to books (and more)
Portal to computational chemistry is http://www.osc.edu/~kenf/theGateway/PSEactivities/CCM.html
Portal to stock trading is http://quote.yahoo.com/
http://www.ibm.com is the external portal to IBM for customers. There will also be an internal portal for IBM employees used to "run the company"
Kodak is interested in portals to family memorabilia
More generally a portal is a web entrance to a set of resources and consists of a mix of information, computer simulations and various services
For businesses portals generalize the concept of a a company Intranet and encompass domain of IBM main frames, Lotus Notes etc.
For computing, portals are called Problem Solving Environments

HTML version of Basic Foils prepared June 11 99

Foil 61 My Netscape Portal

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index

HTML version of Basic Foils prepared June 11 99

Foil 62 My Excite Specify Portal Content

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Market Value $6.6B
Annual Sales $154M
Annual Revenue Growth 210%

HTML version of Basic Foils prepared June 11 99

Foil 63 Merrill Lynch Predictions Enterprise Information Portals

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Area 1998 2002 CAGR
Content Management $1.2B $4.7B 40%
Business Intelligence $2B $7.3B 38%
Data Warehouse/Marts $.99B $2.6B 27%
Data Management $0.18B $0.36B 18%
Totals $4.4B $14.9B 36%
http://www.sagemaker.com/company/lynch.htm or
http://www.sagemaker.com/company/downloads/eip_indepth.pdf

HTML version of Basic Foils prepared June 11 99

Foil 64 Education Portal: digitalthink.com

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index

HTML version of Basic Foils prepared June 11 99

Foil 65 Implementation of a Computing Portal

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
So between XML/HTML document and backend Fortran is a bunch of servers linked by XML Messages
This glue (business logic) provided by core POW technologies
Servers can either be commercial Web Servers (Apache with servlets), CORBA brokers or custom Servers
  • Servers will be written typically in C++ or Java
Java/CORBA/WIDL Wrapper
Style Sheets and Page Design

HTML version of Basic Foils prepared June 11 99

Foil 66 Portal to Earthquake Science 3-Tier Computing Architecture

From Overview of Pragmatic Object Web Systems and Technologies ADMI Tutorial Duluth Minnesota -- June 3 99. *
Full HTML Index
Application Integration
Visualization Server
Seamless Access
Collaboration
Security Lookup
Registration
Agents/Brokers
Backend Services
Middleware
Bunch of
Web Servers
and Object
Brokers

© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Fri Jun 11 1999