Java
-
Upload
laquinta-liz -
Category
Documents
-
view
21 -
download
2
description
Transcript of Java
Java
Java — The State of the ArtJava ApplicationsFuture Directions
Java – The State of the Art
Java - State of the Art
Aim is still “simple, object-oriented, robust, portable” programming language
New language featuresVirtual machinesHow Java is being appliedRAD tools
New Language Features
Java 1.2 (Nov. 1998?)
New, more flexible security modelJava Foundation Classes (JFC)
Accessibility features Drag-and-drop functionality Collections (utility objects) Swing set (lightweight GUI components)
Swing Set
New windowing toolkit Replaces AWT from Version 1.xContains lightweight components
Heavyweight Components
AWT Button
Win 95 Button Peer
Lightweight Components
Swing J Button
Swing Set
Better control over “look-and-feel” with configurable styles
Reduce the “write once, debug everywhere” syndrome
Relatively simple to move from AWT to Swing
Virtual Machines
Virtual Machines
Wider choice New VMs by different companies (Novell,
Tower) and freeware groups (Linux, FreeBSD)
More efficient Just-in-Time compilation (Symantec)
product licensed by Sun and Novell Optimize interpretation with in-line code Performance substantially increased
Java Plug-In
Formerly known as “Activator”Designed to overcome VM version
compatibility problemsDesigned to frustrate MicrosoftAllows HTML page designer to specify
Java version preferredWill download and install VM for user
as browser plug-in
Java Plug-in
Most appropriate for Intranets Allow users to choose browser Faster download times over internal net Can rollout new Java features quickly
Less appropriate for Internet use Slower than built-in browser VM User resistance to plug-ins
Java Deployment
Java Deployment
DATABASE
APPL SERVER
CLIENT
Java Deployment
DATABASE
APPL SERVER
CLIENT
Java Deployment
DATABASE
WEB SERVER
WEB BROWSER
Java Deployment
DATABASE
WEB SERVER
WEB BROWSER APPLETS
Java Deployment
DATABASE
WEB SERVER
WEB BROWSER APPLETS
SERVLETS
Java Deployment
DATABASE
WEB SERVER
WEB BROWSER APPLETS
SERVLETS
DB VM
Java Deployment
Choice in where to implement functionality
Ability to leverage Java experience by use at all three levels
Java RAD Tools
Java RAD Evaluations
Byte, March 1998JavaWorld, November 1997JavaWorld, April 1998
Java RAD Tools
JBuilder (Inprise)Visual Age (IBM)Visual Café
(Symantec)
PowerJ (Sybase)BeanMachine (Lotus)Visual J++ (Microsoft)CosmoCode (SGI)SuperCede JavaStudio (Sun)Visaj (Imperial)
RAD Features
Integrated editor/debugger (IDE)JIT compilationVisual programming
Drag object onto interface, connect objectsCollections of re-usable objects
Some bundled with IDE Tools to set Bean properties to change
appearance or behaviour
RAD Features (con’t)
Database access Integration with older technologies
(C++)Support for group developmentCost from $100 - $30,000
RAD Problems
Source code availability for objectsDifficulties in subclassing or wrapping
objects for re-useCompatibility of visual design/code viewsPortability of visually designed layoutsNon-standard middleware or database
solutionsCompliance with Java standards
Java Library Applications
Integrated library systems
Information retrieval software
Network computer applications
Innovative Interfaces (ILS)
Re-developing user interface components Developing new Java clients Adjusting C-based servers as required Business logic in programs does not change
Circulation currently in beta in two librariesSerials, then Acquisitions and Cataloguing
to follow; no current plans for OPAC
Innovative (con’t)
Using Plug-in (Activator) as VMCurrently 1.1 plus JFC classes
Swing Collections
Proprietary communication protocolsProgrammers decide whether to use IDE
(e.g. J++) or simple editor/compiler
Innovative Java Scorecard
State of VM (bugs, etc.) Better GUI delivery of functionality Multi-platform support Less development time wasted with
memory leaks, etc. Rapid rate of Java development (e.g.
Collection objects)
BestSeller (ILS)
Developing 3rd generation of Bestseller software based on Java Applets for all client functions except OPAC
CataloguingAcquisition, PeriodicalsCirculation
Servlets support OPAC/HTML functionality CORBA Java servers for some specific
functions (e.g. authentication)
Bestseller
Tools Visual Cafe Activator Swing GUI classes
Initial implementation, Summer 1999Other modules expected through
rest of the year
Bestseller Java Scorecard
Time required to master technology Changes in recent versions Limitations in some Beans Increasingly rapid development,
integration of new team members Unicode support Better cross-platform support
Ameritech (ILS)
Java used in WebPac for OPACOne large applet executes within
browser Provides authentication for user (e.g.
check patron record, fines etc.)Cleans out all traces of user
interaction after timeout, providing privacy at public workstations
Ameritech Java Scorecard
Time required to download applet Browser compatibility with versions Restrictive applet security (e.g.
printing) Greater control over user interaction
than with HTML Performance better than plain HTML
Office of Research & Special Projects, OCLC
All new development in Java New Java-based Pears database builderServer-side deployment, using Z39.50
as network protocolUsing Web/HTML to deliver applications
to to end users (WebZ, Mantis)Java will move gradually to other
products (e.g. FirstSearch, PRISM)
OCLC (con’t)
Tools Variety of VMs and platforms, with and
without JIT compilers Visual Quantify profiler Plain JDK, no IDEs for development
OCLC Java Scorecard
Poor debugging Reduced performance (though not a
critical factor) Cross-platform support Unicode support Thread support Reliability Utility components
DSTC/Crossnet (Z39.50)
ZedJava Z39.50 toolkit for client & server development
Java API with classes for encoding messages and responses
Includes basic Java clients and optional proxy server
Can be used to develop your own client
Ovid
Java applet to access Ovid serversImproved performance over straight
Web and CGI access, particularly over Internet
Java 1.0Compatibility with older browsersFeel that Java has met the need
JAVAISIS (DBA, Italy)
Unesco’s CDS/ISIS info retrieval DBMS
Non-commercial free or low-cost application
Used by thousands of small libraries throughout the world
Java-based client to provide network, multi-platform access to database
JAVAISIS
CDS/ISIS database
C++ Server
J ava Client
Network Computer Applications
Library at Univ. of Western OntarioImplementing JavaStations for “public”
(i.e. student/staff/faculty) accessLow cost, security, low maintenanceOS is JavaOSJava application is HotJava Views
Includes WebView, email clients, telnet applet Web/HTML access to library resources
The Future of Java
Java Problems
PerformanceSecurityRapidity of changeDebugging for different platformsMicrosoft
Java Opportunities
Multiple platform supportInternationalizationFaster development timesNetwork support
Now and in the future...
Java will be used in library/information retrieval solutions
Important to understand its strengths and weaknesses in evaluating and implementing software
Will it become the most important programming language in the future?
Questions and Comments