Given by Geoffrey Fox at NPAC Web Programming Course at JSU on August 19,1997. Foils prepared August 19,1997
Outside Index
Summary of Material
This introduces the course which covers the essential programming skills needed for Web / Internet / Intranet Programming |
First we need to thank The DoD modernization program and the CEWES center for sponsoring this. |
Professor Willie Brown at Jackson State for bravely volunteering to be an earlier user of our WebWisdom technology |
Syracuse's College of Engineering and Computer Science where the Curricula was Developed |
Key technologies were developed in a research project funded by Rome Laboratory |
Education technologies came from collaborations with CRPC -- an NSF center led by Rice University |
Outside Index
Summary of Material
http://www.npac.syr.edu/users/gcf/jsufall97intro |
Nancy McCracken |
Geoffrey Fox, Tom Scavo |
Syracuse University NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
This introduces the course which covers the essential programming skills needed for Web / Internet / Intranet Programming |
First we need to thank The DoD modernization program and the CEWES center for sponsoring this. |
Professor Willie Brown at Jackson State for bravely volunteering to be an earlier user of our WebWisdom technology |
Syracuse's College of Engineering and Computer Science where the Curricula was Developed |
Key technologies were developed in a research project funded by Rome Laboratory |
Education technologies came from collaborations with CRPC -- an NSF center led by Rice University |
Host with Web Server and Attached CGI Script in PERL |
Perhaps linking to a database |
and digital Video Servers |
Host holds HTML files typically stored in a UNIX directory system but could be in a database such as Oracle or Microsoft Access |
Participants at JSU |
Teacher/Lecturer at NPAC |
From General Magic http://www.genmagic.com/Internet/Trends/ |
For the World Wide Web or Internet Itself |
For use in Enterprise/Corporate Information Systems
|
Use of Web Technology as base software Infrastructure
|
WebWindows denotes the emerging architecture for essentially ALL modern software whether for
|
Traditionally Software is written for a particular operating system
|
In WebWindows, one writes for the "Interface" defined by:
|
Taken from Corel Main Site |
Client runs Java JavaScript etc. |
Web Server Enhanced with Perl Java etc. |
Critical |
Backend Services such as databases |
Middle Tier |
Basic Web Server |
Custom Web Server |
TP Server |
Business Transaction Management |
You Write Software |
at Client and Server |
Perl Java |
Old and New Useful Backend Software |
Most importantly, WebWindows defines a much higher level and service-oriented interface for the programmer
|
It is based on open interfaces and so instead of one entity producing a complete application
|
One can build a complete application as a set of modules where each module comes from a different vendor/internet programmer and they inter-operate through common Web Interfaces such as VRML, HTML, JavaBean Rules
|
WebWindows Interface |
Web Technology is still uncertain and there may be major changes but "enough" capabilities are in place to build very general (~all) applications
|
Rapidly evolving Standards and a mechanism to get rapid consensus |
Fortran 77 -> Fortran90 --> HPF --> Fortran2000 (23 years) |
VRML Idea (1994) --> VRML1 deployed (95) --> VRML2 deployed (early 97) (2.3 years)
|
Classic Web: HTTP Mime HTML CGI Perl etc. |
Java and JavaScript Compiled to almost compiled (applet) to fully Interpreted Programming Language |
VRML2 as a dynamic 3D Datastructure for products and their simulation object |
Java Database Connectivity (JDBC) and general Web linked databases |
Dynamic Java Servers and Clients |
Rich Web Collaboration environment building electronic societies |
Security -- still needs maturing as very clumsy or non existent at present in many cases |
Compression/ Quality of Service for Web Multimedia
|
Emerging Web Object model including integration of Corba (see JavaBeans and Orblets) |
Simplified to illustrate technologies described in course |
Browser Interpreting |
HTML Java |
JavaScript |
HTTP Server Farming off CGI requests and processing other Simpler requests |
HTML Documents |
Perl or Java Custom Programs |
HTTP MIME |
CLIENT |
SERVER |
VRML etc Helper Applications (Plugins) |
There are evolving/confusing/overlapping capabilities ... |
Application Specific NII Specific Services for
|
We have a set of Services hosted by Web Servers and accessed by clients |
Groups of clients (electronic societies) are linked by collaboration systems such as TANGO |
Access |
Resources |
Store |
Multimedia Information |
TANGO Server |
File Systems |
and/or Database |
Object Broker |
Database |
Simulation |
Computer |
Person2 |
Shared |
WhiteBoard |
Shared Client Appl |
Person1 |
General User |
Clients runs your Java and JavaScript Programs |
Web Server accesses your HTML documents and your Perl and Java Server Side Programs |
Services -- often |
"legacy" and non WebWindows Software |
CGI enables this link |
NPAC Web Server |
JSU Web Server |
JSU Tango Server |
... |
Audio Video Conferencing Chat Rooms etc. |
Teacher's View of Curriculum Page |
Student's View of Curriculum Page |
JavaScript |
JavaScript and Perl |
TANGO Server Client Chat etc. Java |
NPAC CGI Server |
Log of Access to Curriculum Pages |
Perl |
From http://www.highway1.com.au/arts/wizards/VRML/board1.wrl |
From http://reality.sgi.com/tomk/demos/vrml2/elevator.wrl |
From http://reality.sgi.com/employees/shafer_mfg/VRML/VRML_worlds/Fing_spell_pkg/stage/ |
From Tango Project for CEWES Collaborative Tool Meeting |
From http://www.cs.pitt.edu/~lky/Java/StockChart/ |
Gets historical quotes from Internet, almost every stocks and indices. |
Draws price bar chart, volumn, moving averages, and some indictors. |
From http://www.cs.pitt.edu/~lky/Java/StockChart/ |
Gets historical quotes from Internet, almost every stocks and indices. |
Draws price bar chart, volumn, moving averages, and some indictors. |
See http://kopernik.npac.syr.edu:8888/scivis/index.html |
From http://www.mindentimes.on.ca/CosmicThing/Main.html |
A full-featured sky plotter applet, capable of rendering moving, interactive full-sky plots of brighter sky objects, as seen from any point on earth. |
From http://cuiwww.unige.ch/~buisson3/pacman1/pacman1.html |
From http://www.cruzio.com/~sabweb/arcade/bowling.html |
Multiplayer Bowling Game |
From http://www.npac.syr.edu/projects/tutorials/JDBC/screendumps/mahesh/ |
The user chooses a lower and an upper bound value for the price of the car. |
The query is passed on to the database server and the id values of the corresponding cars are returned. |
The fields corresponding to each car is then viewed with the use of "Previous" and "Next" buttons. |
Links on the HTML page initiate seeking to a particular position in the movie. |
The Video Client displays ActiveMovie OLE control with a video window (right lower corner). |
ActiveMovie Control Properties window provides an extended interface to the Video Client (right upper corner). |
From Video-on-Demand in NPAC Overview May 1997 |
NewsBank (CD-ROM originally) for K-12 |
Search a specific Domain -- e.g. NPAC Web Site |
Parallel Oracle host for Usenet News Groups |
Secure Database for Document System |
CareWeb Patient Record Database |
Carrier's Home Page has NPAC built Oracle core for product information |
Language Connect University has NPAC Startup Translet Oracle core for administration |
From Integration of Relational Databases with World Wide Web and Internet part of NPAC Overview May 1997 |
From Integration of Relational Databases with World Wide Web and Internet part of NPAC Overview May 1997 |
Designed and built by Translet (Wojtek Furmanski) |
Java -- Objected Oriented version of C/C++ supporting Interactive Distributed Computing. Previous Web computing (eg 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 |
Java will probably be prefered language for development of next generation Web servers (e.g. Jeeves,Jigsaw) and clients |
Java Applets can implement Client Side (and hence scalable) computations
|
Java can build customized GUI's and graphics/image processing as in NPAC's Visible Human Viewer (won JARS award Dec 95) |
Java will be used for filters/agents to convert formats etc. |
New Java 1.1 has several enhancements |
JavaScript -- only superficially related to Java and was called LiveScript -- is Netscape's fully interpreted Client side extension of HTML. This is a good Client Window integration/customization technology where flexibility more important than performance |
i.e. use JavaScript for Rapid Prototyping of Complex User Interfaces
|
PERL is a relatively old technology which is being overtaken by Java tidal wave. |
Still PERL has much better Systems and Document handling capability than Java
|
PERL is traditional and probably best (today) choice for server CGI extensions and development of filters |
-- especially those for text documents |
PERL5 is object oriented but much less elegant (in my opinion) than Java
|
PERL has well understood links to databases such as Oracle oraperl |
The Web provides a convenient integration environment for "mature" technologies migrating from existing computer environments. |
Relational databases are a good example where it is now 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 |
Several excellent Java to Database packages becoming available with the JDBC standard based on ODBC which will cover later on |
CORBA will have good Web and Java Interfaces but we will NOT discuss CORBA as we think it may be largely irrelevant as complex and not clearly going to "make it" as Web provides some of interoperability of CORBA automatically |
VRML 1.0 widely available and specifies static 3D scenes through which you can navigate. Already provides universal visualization environment and we have examples of use In Geographical Information Systems
|
VRML 2.0 is just released with prototype browsers but still aspects of technology are under intense research/debate.
|
Digital Video and Audio. This will enable collaboration and dissemination of fixed assets (audio/video clips) stored in multi-media databases or of information encoded in real-time.
|
Note these are typically streaming and not "batch" approachs. Current default Web downloads video to client before playing and this approach cannot scale! |
Can use traditional (relational) databases to store metadata and text with which to index video. |
Digital video works well over ISDN (128 kbits) but for full screen needs about .5 megabits per second even with wavelets |
This will be CNN/Network digital delivery technology for future infinite cable channel world |
Security -- Essential for many banking and shopping applications
|
The PC World which has typically better software than UNIX such as:
|
Specialized services and applications such as collaboration, computing, education, intranets which are built from Java JavaScript Databases etc. |
Compression Technologies |