Download Java

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Java
Access ’98, Saskatoon
Ron Davies, Bibliomatics Inc.
[email protected]
Java
Java — The State of the Art
Java Applications
Future Directions
Java – The State of the Art
Java - State of the Art
Aim is still “simple, object-oriented,
robust, portable” programming language
New language features
Virtual machines
How Java is being applied
RAD tools
New Language Features
Java 1.2 (Nov. 1998?)
New, more flexible security model
Java 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.x
Contains lightweight components
Heavyweight Components
AWT Button
Win 95 Button Peer
Lightweight Components
Swing JButton
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 problems
Designed to frustrate Microsoft
Allows HTML page designer to specify
Java version preferred
Will 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
SERVLETS
APPLETS
Java Deployment
DATABASE
WEB SERVER
WEB BROWSER
DB VM
SERVLETS
APPLETS
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 1998
JavaWorld, November 1997
JavaWorld, 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 compilation
Visual programming
Drag object onto interface, connect objects
Collections 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 development
Cost from $100 - $30,000
RAD Problems
Source code availability for objects
Difficulties in subclassing or wrapping
objects for re-use
Compatibility of visual design/code views
Portability of visually designed layouts
Non-standard middleware or database
solutions
Compliance 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
libraries
Serials, then Acquisitions and Cataloguing
to follow; no current plans for OPAC
Innovative (con’t)
Using Plug-in (Activator) as VM
Currently 1.1 plus JFC classes
Swing
Collections
Proprietary communication protocols
Programmers 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
Cataloguing
Acquisition, Periodicals
Circulation
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 1999
Other 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 OPAC
One 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 builder
Server-side deployment, using Z39.50 as
network protocol
Using 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 servers
Improved performance over straight Web
and CGI access, particularly over Internet
Java 1.0
Compatibility with older browsers
Feel 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
Java Client
Network Computer
Applications
Library at Univ. of Western Ontario
Implementing JavaStations for “public”
(i.e. student/staff/faculty) access
Low cost, security, low maintenance
OS is JavaOS
Java application is HotJava Views
Includes WebView, email clients, telnet
applet
Web/HTML access to library resources
The Future of Java
Java Problems
Performance
Security
Rapidity of change
Debugging for different platforms
Microsoft
Java Opportunities
Multiple platform support
Internationalization
Faster development times
Network 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