Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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