CPS 616 January-April 1997 Computational Science Track on base technologies for the Information Age: Overview of Course and Associated Curricula See: http://www.npac.syr.edu/users/gcf/cps616master97 Instructor: Geoffrey Fox teamed with Meryem Ispirli, Nancy McCracken, Tom Scavo, John Yip Syracuse University 111 College Place Syracuse New York 13244-4100 Abstract of CPS616-97 Administrative Set This Foilset contains introductory material on CPS616 course for spring 1997 Course Logistics Overview of Field and Material covered and relation to other courses Summary of Relevant Technologies Overview of CPS Web/Information Technology Courses CPS606 Taught last semester is basic Java and Perl (CGI Scripts) CPS616 is critical leading edge software system and application building technologies including JavaScript, VRML, Advanced Java Capabilities, Database - Web, Security CPS600 (aka CPS640) is MultiMedia and Network Systems including digital video CPS714 is Projects and Topics that we cannot cover! The Sequence is termed a Certificate In Internet Systems Next time CPS616 will assume CPS606 -- this semester it will not! Course Details -- People and Grading! Instructor: Geoffrey Fox gcf@npac.syr.edu X2163 Room 3-131 Reserve Instructor: Nancy McCracken njm@npac.syr.edu X4687 Room 3-234 Grader: Mehmet Sen msen7@npac.syr.edu Room 3-201 All homework will be handled through the Web with dedicated Web and Database Servers set up for the class Grade will be 35% based on project (last part of class) and 65% based on homework (set weekly in first 65% of class!) Use University (or NPAC if you work there) clients to access Class material on the Web We will set up a dedicated Pentium Pro PC cluster running Windows NT/95 for last part of class Some Course Prerequisites We will finalise these after we review results of Survey We will assume Basic Web Browsing and HTML expertise In general CPS616 will assume basic Java and PERL but maybe not this year You should be familiar with either PC or UNIX environment and program in at least one real language ( C C++ Fortran) We will not assume any database knowledge and will cover SQL and ODBC in particular No VRML or 3D Graphics expertise will be assumed Components of a Web system Pictorially 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 Where to learn What you Want! CPS606: Basic HTML, Java and CGI SCripts with PERL CPS600(640): Network Services, Multimedia Systems including Server and Client Digital Video CPS616: HTML3, JavaScript, Advanced PERL5, Advanced Java (including 1.1 enhancements), Web linked databases (Oracle and Access, WoW and JDBC), Security and Commerce, VRML 1.0 and 2.0 CPS714: Java and Database Applications (It is graded only on projects), Compression, Web Agents (robots), Java Servers, Collaborative technologies CPS714 is only offered in independent study fashion in 1997 Basic (CPS606) Structure of World Wide Web Browsers have SAME interface on ALL Computers CGI Programs are typically written in PERL but can be essentially ANY UNIX Process and so do simulation, database access (this is Oracle WoW), advanced document processing etc. The Current Web Client Server Model There are evolving/confusing/overlapping capabilities ... Architecture of Web Software Application Specific NII Specific Services for Education HealthCare Commerce Manufacturing etc. Some (New) Web Technologies in a Nutshell -- Java 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 Much more Computing Power in clients than servers and being client side gives much better response on "small jobs" than powerful servers with latency! 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 Some (New) Web Technologies in a Nutshell - JavaScript 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 Current examples use JavaScript together with frames ( HTML extension) for interactive multi-window technologies JavaScript is roughly equivalent to "Abstract Windowing Toolkit/ Layout Manager" in Java but applied to Netscape Frames and not Java windows JavaScript cannot build filters or simulations as slow and little built-in support except Some Web Technologies in a Nutshell - PERL 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 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 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 PERL5 has very useful multidimensional associative and regular arrays PERL has well understood links to databases such as Oracle oraperl Some (New) Web Technologies in a Nutshell - Database 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 Some (New) Web Technologies in a Nutshell - VRML 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 Note can embed clickable URL's as with ImageMaps which can be used to annotate images to provide interactive educational resources Unfortunately about a factor of 10 slower than it could be as this is serious as 3D graphics is compute intensive! VRML 2.0 is just released with prototype browsers but still aspects of technology are under intense research/debate. This is designed to support full interactivity (televirtuality) with texture mapped video, avatars etc. VRML 2.0 will require huge computing resources whether used as the virtual car-dealership / interactivity gaming or more academic uses such as collaboration between teachers and students in 3D virtual classroom Some (New) Web Technologies in a Nutshell - MultiMedia 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. RealAudio commercial product uses wavelet-like compression and delivers AM quality audio over 28.8Kbaud lines. Therefore works on Internet and can combine with images (or Interactive Java animations) for Web Conferencing and Consulting 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 Some Further Topics of Importance Security -- Essential for many banking and shopping applications Also very important to Department of Defense who would add fault tolerance (the system can be guaranteed to work) to classic encryption security technologies The PC World which has typically better software than UNIX such as: Symantec Cafe and Microsoft Visual J++ as a Java Development Environment Faster Java (Just in Time) Compilers than UNIX Better multimedia support Specialized services and applications such as collaboration, computing, education, intranets which are built from Java JavaScript Databases etc. Compression Technologies CPS640 Topics in More Detail - I Technical and Political components of the global information infrastructure. Role of telephone companies, cable companies, internet task force, academic research. Information revolution: possible scenarios for the information societies of the near future Time Warner Full Service networks (Orlando) and other Interactive TV trials Network architectures for multimedia Application requirements RSVP, RTP and RTSP Protocols for ensuring quality of service Multicast and switching technology ATM and other delivery technologies such as hybrid coax - fiber. Integration of all this into a real delivery system CPS640 Topics in More Detail - II Multimedia client: Application interfaces including UNIX and PC standards Collaboratory Technologies and Systems such as OpenDVE/LiveMedia Habanero and TANGO Web Integration Issues including plug-ins, Java to JavaScript Integration and Data streaming technologhies Digital Video including coding schemes and commercial architectures (MediaBase, VDOLive, NetShow) Examine NPAC VoD Application to illustrate system issues