Given by Geoffrey C. Fox at Introduction to Java Academy on 7 Feb 98. Foils prepared 6 Feb 98
Outside Index
Summary of Material
We first describe the Internet and its growth |
Then the Software model showing where Java fits in |
Then we describe a computer and where web Technology and Java fit in |
Although designed for the web, Java (and other Web technologies) is a totally general programming language which can be used to program a computer to do anything!
|
We list some good features of Java |
We give some examples |
Outside Index
Summary of Material
Academy Instructor: Tom Scavo |
Lecturer: Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place |
Syracuse NY 13244 4100 |
Phone: 3154432163 |
We first describe the Internet and its growth |
Then the Software model showing where Java fits in |
Then we describe a computer and where web Technology and Java fit in |
Although designed for the web, Java (and other Web technologies) is a totally general programming language which can be used to program a computer to do anything!
|
We list some good features of Java |
We give some examples |
The WWW = the World Wide Web is more or less the same as:
|
It is the Digital connection between computers around the world |
The Internet/WWW consists of Phone Lines or POTS (PLain Old Telephone System). "twisted pair", cable, optical fiber, satellites, cellular phone, wireless
|
From General Magic http://www.genmagic.com/Internet/Trends/ |
From General Magic http://www.genmagic.com/Internet/Trends/ |
Host with Web Server |
and attached CGI Script |
in Perl or Java |
Perhaps linking to a Backend |
service such as a database |
or digital video server |
Host holds HTML files |
typically stored in a |
UNIX/Windows NT |
file system but could also |
be in a database such as |
Oracle or Microsoft Access |
Network trying to |
provide Quality of |
Service |
and using |
compression |
to make better |
use of available |
bandwidth |
Client with a Web |
Browser displaying |
"simple" HTML Text |
and Images obtained |
from host. |
Client runs JavaScript |
(from HTML documents) |
and Java Interpreters |
(acting on downloaded |
JavaVM bytecodes) |
Java and JavaScript |
give general dynamic |
behavior |
Backend |
Service |
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 |
There are evolving/confusing/overlapping capabilities ... |
Client |
HTML Java |
Javascript |
User Multimedia |
Viewer |
Plug-Ins |
Java C++ and other processes |
Classic HTTP Server |
LiveWire Interpreter |
Java Server |
General or Specialized |
JDBC |
Perl(5) |
Java |
CGI |
JDBC |
Servlets / Java Processes |
Ora perl etc. |
HTML(2D) |
VRML(3D) JavaScript |
embedded |
in VRML/HTML |
Java bytecodes |
invoked |
from Applet Tags |
A computer converts data into Information using Instructions written in a Programming language |
Data has to be presented in a known way (called its format e.g. HTML) |
Computer has to be "taught" (in a language like Java) to "do the right thing" with the data |
Information is "value-added" data (stuff you see on screen) |
Web Technology consists firstly of a set of formats for data |
If data is type of information that appears in books, then format tells you things like "center text", "start new paragraph" etc. |
Web formats include GIF or JPEG for images, HTML for documents and VRML for 3D pictures. These are used to specify stored data |
The other component of Web technology is software such as Java JavaScript and Perl which are used to give instructions to compute. |
These formats and software produce information displayed by HTML or VRML browsers |
Web technology is so powerful as complete model for computing and communication and Java is a universal language |
The "Capitalist" Principle drives the national endevour to support the largest markets as there is more money there! (You learn this in social studies?) |
Previously in computer area this was
|
The previous computing models could not be used by "real people" (like you and me) as
|
Java as the programming language of the Web provides a "complete computing communication and information" language which can be used by both kids and big companies
|
It is excellent built in Graphics and Multimedia so you can use it to write applets tat make your Web Pages better ..... |
It is similar to well known older languages like C and C++ so you can learn these later. |
It has wonderful and growing libraries (existing software you can re-use) that allow you to use databases, "object brokers" and all the resources you could want |
It has lots of good books and a growing number of fancy environments to help you program |
It supports the web and networking (linking of computers) |
There are more formal reasons on the next foil |
Java is "object-oriented" (unlike say Perl4 or Basic) which makes it is easier to build large software systems without them looking like your bedroom |
Java is independent of platform -- runs on all computers |
Java has "threads" built in allowing more than one thing to be done at the same time |
Java supports "exceptions" (nice way of coping with errors which are often inevitable) |
Java has an EXCELLENT security model -- it is by far the safest of any of the common languages |
Java is simpler than C++ |
There are other important technical issues (pointers, garbage collection, good inheritance model) |
Java Code in |
.java files |
JavaVM Bytecodes |
in .class files |
Run through javac compiler |
Store .class files |
on Web Server |
Download .class files |
"automatically" |
from server to client |
using Applet tag |
in HTML Pages |
Interpreter on client |
converts .class files |
into native machine |
code for client |
computer |
Run through |
1)javac or 2)native optimizing compiler |
Java Code in |
.java files |
1) .class file |
2)Native Machine Code for target machine |
Run |
1)java interpreter or |
2)native code on |
favorite client or server |
Your Play! New and Better Video game Systems |
Your Job Opportunities!
|
Your Education!
|
Your Life Style!
|
Computer, Telephone, and Cable Engineers |
Journalists from both print, photography, and video fields |
Artists, Advertising designers, Architects, Film Producers, "Book" Publishers etc. |
Real Estate Brokers |
School Teachers, Librarians, Government and Business workers involved with giving information to public or fellow workers |
Shop owners and staff advertising their wares on digital highway.
|
All those in medical area -- from Virtual reality to allow surgeon in Syracuse to manipulate robot devices at accident scene to Multimedia patient records |
Law enforcement (police searching worldwide databases) and lawyers accessing case histories. |
Most jobs are heavily involved with communication (people to people, computer to people, computer to computer) and information |
So most jobs are impacted by WWW which revolutionizes communication and information processing |
Journalism, Teaching and Advertising will in particular have large impact from Web |
But for example, Farming will be impacted less
|
The satellite images used here have a spatial resolution of 28.5 meters. |
From Tango Project for CEWES Collaborative Tool Meeting |
From http://www.quadbase.com/cyberchart/vrml.html |
VRML version of 3D Charts - there are total of 9 chart types. |
Data for charting can be obtained from a file, or retrieved by executing a query against a specified JDBC data source. |
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 http://www.quadbase.com/cyberchart/ |
2D Charts - there are total of 9 chart types. |
Data for charting can be obtained from a file, or retrieved by executing a query against a specified JDBC data source. |
From http://www.quadbase.com/cyberchart/ |
3D Charts - there are total of 9 chart types. |
Data for charting can be obtained from a file, or retrieved by executing a query against a specified JDBC data source. |
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 |
shown here is the NPAC java weather viewer on the left, and a satellite image of the weather. |
Also shown is the surface reports, isobars and isotherms shown with the current weather data. |
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. |
From http://cuiwww.unige.ch/~buisson3/pacman1/pacman1.html |
From http://www.cruzio.com/~sabweb/arcade/bowling.html |
Multiplayer Bowling Game |
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. |
Latest Tango Capabilities June 97 |
From work of Ed Lipson and Dave Warner |
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 |
See (http://osprey8.npac.syr.edu:1963/search) |
From Full-Text Web Search Systems for Education part of NPAC Overview May 1997 |
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 |
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) |
Feb 97 Demonstration of Tango |
Feb 97 Demonstration of Tango |
From Tango Project for CEWES Collaborative Tool Meeting |