500 likes | 664 Views
Java. Access ’98, Saskatoon Ron Davies, Bibliomatics Inc. rdavies@bibliomatics.com. 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
E N D
Java Access ’98, Saskatoon Ron Davies, Bibliomatics Inc. rdavies@bibliomatics.com
Java • Java — The State of the Art • Java Applications • Future Directions
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
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
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 • 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 • Choice in where to implement functionality • Ability to leverage Java experience by use at all three levels
Java RAD Evaluations • Byte, March 1998 • JavaWorld, November 1997 • JavaWorld, April 1998
JBuilder (Inprise) Visual Age (IBM) Visual Café (Symantec) PowerJ (Sybase) BeanMachine (Lotus) Visual J++ (Microsoft) CosmoCode (SGI) SuperCede JavaStudio (Sun) Visaj (Imperial) Java RAD Tools
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
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
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?