Java

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

description

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 - PowerPoint PPT Presentation

Transcript of Java

Page 1: Java

Java

Access ’98, Saskatoon

Ron Davies, Bibliomatics Inc.

[email protected]

Page 2: Java

Java

Java — The State of the ArtJava ApplicationsFuture Directions

Page 3: Java

Java – The State of the Art

Page 4: Java

Java - State of the Art

Aim is still “simple, object-oriented, robust, portable” programming language

New language featuresVirtual machinesHow Java is being appliedRAD tools

Page 5: Java

New Language Features

Page 6: Java

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)

Page 7: Java

Swing Set

New windowing toolkit Replaces AWT from Version 1.xContains lightweight components

Page 8: Java

Heavyweight Components

AWT Button

Win 95 Button Peer

Page 9: Java

Lightweight Components

Swing J Button

Page 10: Java

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

Page 11: Java

Virtual Machines

Page 12: Java

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

Page 13: Java

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

Page 14: Java

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

Page 15: Java

Java Deployment

Page 16: Java

Java Deployment

DATABASE

APPL SERVER

CLIENT

Page 17: Java

Java Deployment

DATABASE

APPL SERVER

CLIENT

Page 18: Java

Java Deployment

DATABASE

WEB SERVER

WEB BROWSER

Page 19: Java

Java Deployment

DATABASE

WEB SERVER

WEB BROWSER APPLETS

Page 20: Java

Java Deployment

DATABASE

WEB SERVER

WEB BROWSER APPLETS

SERVLETS

Page 21: Java

Java Deployment

DATABASE

WEB SERVER

WEB BROWSER APPLETS

SERVLETS

DB VM

Page 22: Java

Java Deployment

Choice in where to implement functionality

Ability to leverage Java experience by use at all three levels

Page 23: Java

Java RAD Tools

Page 24: Java

Java RAD Evaluations

Byte, March 1998JavaWorld, November 1997JavaWorld, April 1998

Page 25: Java

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)

Page 26: Java

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

Page 27: Java

RAD Features (con’t)

Database access Integration with older technologies

(C++)Support for group developmentCost from $100 - $30,000

Page 28: Java

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

Page 29: Java

Java Library Applications

Integrated library systems

Information retrieval software

Network computer applications

Page 30: Java

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

Page 31: Java

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

Page 32: Java

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)

Page 33: Java

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)

Page 34: Java

Bestseller

Tools Visual Cafe Activator Swing GUI classes

Initial implementation, Summer 1999Other modules expected through

rest of the year

Page 35: Java

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

Page 36: Java

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

Page 37: Java

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

Page 38: Java

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)

Page 39: Java

OCLC (con’t)

Tools Variety of VMs and platforms, with and

without JIT compilers Visual Quantify profiler Plain JDK, no IDEs for development

Page 40: Java

OCLC Java Scorecard

Poor debugging Reduced performance (though not a

critical factor) Cross-platform support Unicode support Thread support Reliability Utility components

Page 41: Java

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

Page 42: Java

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

Page 43: Java

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

Page 44: Java

JAVAISIS

CDS/ISIS database

C++ Server

J ava Client

Page 45: Java

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

Page 46: Java

The Future of Java

Page 47: Java

Java Problems

PerformanceSecurityRapidity of changeDebugging for different platformsMicrosoft

Page 48: Java

Java Opportunities

Multiple platform supportInternationalizationFaster development timesNetwork support

Page 49: Java

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?

Page 50: Java

Questions and Comments