1 / 50

Java

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

Download Presentation

Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Access ’98, Saskatoon Ron Davies, Bibliomatics Inc. rdavies@bibliomatics.com

  2. Java • Java — The State of the Art • Java Applications • Future Directions

  3. Java – The State of the Art

  4. 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

  5. New Language Features

  6. 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)

  7. Swing Set • New windowing toolkit • Replaces AWT from Version 1.x • Contains lightweight components

  8. Heavyweight Components

  9. Lightweight Components

  10. 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

  11. Virtual Machines

  12. 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

  13. 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

  14. 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

  15. Java Deployment

  16. Java Deployment

  17. Java Deployment

  18. Java Deployment

  19. Java Deployment

  20. Java Deployment

  21. Java Deployment

  22. Java Deployment • Choice in where to implement functionality • Ability to leverage Java experience by use at all three levels

  23. Java RAD Tools

  24. Java RAD Evaluations • Byte, March 1998 • JavaWorld, November 1997 • JavaWorld, April 1998

  25. 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

  26. 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

  27. RAD Features (con’t) • Database access • Integration with older technologies (C++) • Support for group development • Cost from $100 - $30,000

  28. 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

  29. Java Library Applications Integrated library systems Information retrieval software Network computer applications

  30. 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

  31. 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

  32. 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)

  33. 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)

  34. Bestseller • Tools • Visual Cafe • Activator • Swing GUI classes • Initial implementation, Summer 1999 • Other modules expected through rest of the year

  35. 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

  36. 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

  37. 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

  38. 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)

  39. OCLC (con’t) • Tools • Variety of VMs and platforms, with and without JIT compilers • Visual Quantify profiler • Plain JDK, no IDEs for development

  40. OCLC Java Scorecard • Poor debugging • Reduced performance (though not a critical factor) • Cross-platform support • Unicode support • Thread support • Reliability • Utility components

  41. 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

  42. 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

  43. 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

  44. JAVAISIS

  45. 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

  46. The Future of Java

  47. Java Problems • Performance • Security • Rapidity of change • Debugging for different platforms • Microsoft

  48. Java Opportunities • Multiple platform support • Internationalization • Faster development times • Network support

  49. 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?

  50. Questions and Comments

More Related