Download Java Device Driver Kit

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Java Device Driver Kit
(JDDK)
Tom Saulpaugh
Sun Microsystems, Inc.
JDDK Introduction

JDDK enables Java device drivers for JavaOS™,
Solaris™, Windows™, OS/2™, Macintosh™, Linux or
any other host OS supporting JDK 1.1.6 or better

The next step beyond javax.comm in local device
support on the Java software platform

Supports horizontal (WORA) and vertical market
software

Java Point Of Sale (JavaPOS™) retail software
- http://www.javapos.com/

Java Point Of Sale (JxFS™) financial software
- http://www.jxfs.com/
JDDK Relationships to:

Java Platform Services (JPS)
- Core code of JDDK shared with JavaOS

JavaOS
- Shares JPS codebase including JSD, JSL, JSE,
and Security Manager

JDK
- JDDK runs as a configurable Java software
application

Java Communications API (javax.comm)
- Loadable package configured by JDDK
Current & Future JavaPOS,
JDDK and JavaOS Releases

JavaPOS 1.3 released, with 1.4 in
development

JDDK FCSc2 released
- June 30th, 1999

Final JDDK FCS in development
- Summer 99

JavaOS For Business v2.1 released
- Nov 98

JavaOS For Business v2.2 in development
- Summer 99
What’s in the JDDK?

Documentation
- Readme, javadoc, JPS Specification, JSD Spec

JPS.jar
- JSD, JSL, JSE, Security Manager classes

Sample business cards

Sample applications

Sample services

Sample packages
What’s NOT in the JDDK?

CommAPI and the JDK
- Download these from Java Developer Connection
(JDC)
- Get correct version for your host OS

Java Software Toolset and IDE
- Use your favorite one (The JDDK group likes the
Metrowerks CodeWarrior™ product)

JavaOS or any other OS / native libraries

Thin-client or Fat-client admin toolset
What can you do with the
JDDK?

Write WORA and/or local device-aware
software
-
Apps
Drivers
Services
Packages

Use it as a JavaOS For Business software
development tool free

Deploy it as a Java client configuration
framework
- Admin toolset (Browser) needed
JDDK Installation
It’s easy:

Create a directory on client for the JDDK

Unzip the JDDK zip file
- Sample JavaSystemFolder created (JDDK root
mount pt.)
- Creates configuration sub-directories and files
necessary to run sample demo
- Creates demo directory containing sample jars
- Creates doc directories
- Creates archive directory
JDDK FCSc2 Contents
Running the Sample JDDK
Demo

Start the JRE
- JDK 1.1.6 classes.zip in classpath
- JPS.jar and javax.comm in classpath

Specify JPSMain as the main startup class
- javaos.javax.system.platform.JPSMain

Specify config mount pt. to JPSMain
- “myclient/JavaSystemFolder”

Specify debug lvl (0,1,2) and options (-rescan)
What’s in the Demo?

JavaPOS 1.3 package
- /system/package/jpos13.jar
- Loaded first by JDDK

Sample JavaPOS application
- /application/package/Application/com/ibm/jpos/De
moPOSApp.jar (loads second)

Sample JavaPOS printer service
- /application/service/com/ibm/jpos/POSPrinterServ
ice.jar
- Loaded last (when opened by application)
Demo
JavaSystemFolder

Root Mount Pt. containing client config info
- Business card files identify software to configure
- JDDK-generated configuration archive files
capture “software sets”

Automatically scanned by JDDK
- when no config archive files are present
- “-rescan” option is specified as startup param
- Result of scan is a named “software set” such as
“current client configuration”

Mount pt. directory path passed as startup
param (could even be on server)
JavaSystemFolder

Identify software to configure
- System software (runs first)
- Application software (runs after system software)

Identify software sets
- Collection of business cards
- Auto-generated as result of scan

Each client references a JavaSystemFolder
- Duplicated for each client OR
- Shared on server
LAN Client Configuration
Sharing the
Server’s
JavaSystemFolder
Server
Intranet
Clients
Client
Client
Thin Client (WAN or LAN)
Synchronization with Server’s
JavaSystemFolder
Server
Intranet OR
Internet
Clients
Client
Software Business Cards

Identifies software bundles (JARs)
- Applications, Drivers, Services, Packages

Identifies software lifecycle classes
- PackageInstance and ServiceInstance interfaces

Parser plug-ins for HTML, Text, and XML
(future)

Contents
- Standard portion including code URLs
- Optional custom portion to hold software
configuration parameters
Business Cards Define
Configuration Parameters

Standard parameters used by JSL
- Title (Displayed by admin toolset) and
code/resource URLs
- Matching names and loading options

Loading Options
- Always load, load when matched to device, or
lazy load (load when first used)

Custom property and attribute access
- JSD property api used to get / set values
- Attributes are special “meta-properties”
Business Card Definitions
using the JDDK or JOS4B

JDDK uses a configuration grammar
-
Read by a parser / compiler during startup
Creates business card entries in JSD
Grammar resides in files outside JARs
Grammar is text, and edited using a text editor
and/or browser
- Grammar can be embedded in HTML or XML

JavaOS For Business toolset uses beans
within the application or service JAR to define
Business cards
- Rest of code in JAR is the same
4 JDDK Configuration Archive
Files (Software Sets)

/archive/jsd/config directory
-
System Services File
System Packages File
Application Services File
Application Packages File

JPOS v1.3 is a system package

POS Printer Service is an application package

POS Demo Application is an application
service (lazy load upon connection)
Config tree grammar overview

Keywords / Delimiters

Description

Attributes

Define attributes

Entry name

Define a JSD entry

Properties

Define properties

Template name

Define template

Tree name

Define config tree

; “” : = [ ]

Delimiters

// and /* comments */

Comments
Property & Attribute Values

Compiler Primitive Types
- Strings, booleans, bytes, chars, doubles, floats,
ints, longs, and shorts

Arrays supported using ‘[ ]’ token

Boolean values are “true” or “false”

Number values use Java language syntax

Default type is unicode String with value in “ “
- myStringProperty = “this is a string”;
Property and Attribute Value
Templates

Used to define property and attribute values
NOT understood by config tree compiler
- NOT a string, boolean, or number

Template names class that understands how
to construct this kind of object

BusinessCard template class supplied with
JDDK

Extensible mechansim for application and
driver developers much like beans
Business Card Template

Template
javaos.javax.system.services.BusinessCard {
… primitive values go in here }

Template compiled when JPS starts

Template can also be written or “decompiled” upon JPS exit or under the control
of the application
Java Driver Development Kit
Summary

JDDK is at FCSc2, with “final” FCS in
Summer 99

Runs on ANY OS that supports JDK 1.1.6

Uses ANY Java software toolset / Browser

Supports Comm API Version 2.0

Contains JSD, JSL, JSE, and many other core
JOS4B OS components

Drivers that use Comm API to access device
run in JDDK and JavaOS For Business
Further Information

New Addison Wesley Longman Book
“Inside the JavaOS Operating System”
http://www.awl.com/

Sun web sites:
http://www.sun.com/javaos/business
http://java.sun.com/

Vertical market web sites:
http://www.javapos.com/
http://www.jxfs.com/
© Copyright 1998 Sun Microsystems, Inc., All rights reserved.
Sun, Sun Microsystems, the Sun logo, Java, JavaOS, Solaris, JavaOS for Business,
JavaOS for Consumers, Java Dynamic Management Kit, PersonalJava, EmbeddedJava,
Java Card, the Duke mascot, Java Foundation Classes (JFC), Java2D, Java Coffee Cup
logo, JDK, JavaCheck, Java Filter, JDBC, Java virtual machine, JavaEngine, 100% Pure
Java, JavaBeans, and The Network Is The Computer are trademarks, registered
trademarks, or service marks of Sun Microsystems, Inc. in the United States and other
countries.
All SPARC trademarks are used under license and are trademarks or registered
trademarks of SPARC International, Inc. in the United States and other countries.
Products bearing SPARC trademarks are based upon an architecture developed by Sun
Microsystems, Inc.