java access ’98, saskatoon ron davies, bibliomatics inc. [email protected]

50
Java Access ’98, Saskatoon Ron Davies, Bibliomatics Inc. [email protected]

Upload: hugo-claude-griffith

Post on 27-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Java

Access ’98, Saskatoon

Ron Davies, Bibliomatics Inc.

[email protected]

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