SlideShare a Scribd company logo
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/POSPrinterServi
ce.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
Client
Server
Client
Sharing the
Server’s
JavaSystemFolder
Intranet
Clients
Thin Client (WAN or LAN)
Client
Server
Synchronization with Server’s
JavaSystemFolder
Intranet OR
Internet
Clients
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
 Attributes
 Entry name
 Properties
 Template name
 Tree name
 ; “” : = [ ]
 // and /* comments */
 Description
 Define attributes
 Define a JSD entry
 Define properties
 Define template
 Define config tree
 Delimiters
 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 “de-
compiled” 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.
Jddk

More Related Content

What's hot

Toad for-oracle-release-notes 142
Toad for-oracle-release-notes 142Toad for-oracle-release-notes 142
Toad for-oracle-release-notes 142
MrFrancito777
 
Oracle History #5
Oracle History #5Oracle History #5
Oracle History #5
Kyung Sang Jang
 
8i r3 nfs
8i r3 nfs8i r3 nfs
8i r3 nfs
Anil Pandey
 
Jdbc drivers
Jdbc driversJdbc drivers
Jdbc drivers
Prabhat gangwar
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
pooja_123
 
Mobile Application Development MAD J2ME UNIT 2
Mobile Application Development  MAD J2ME UNIT 2Mobile Application Development  MAD J2ME UNIT 2
Mobile Application Development MAD J2ME UNIT 2
Pallepati Vasavi
 
Ajp notes-chapter-05
Ajp notes-chapter-05Ajp notes-chapter-05
Ajp notes-chapter-05
Ankit Dubey
 
Sps baltimore backupand_restore-dpm
Sps baltimore backupand_restore-dpmSps baltimore backupand_restore-dpm
Sps baltimore backupand_restore-dpmMichael Noel
 
JBoss started guide
JBoss started guideJBoss started guide
JBoss started guidefranarayah
 
Websphere - application server on z/os
Websphere - application server on z/osWebsphere - application server on z/os
Websphere - application server on z/os
Vibrant Technologies & Computers
 
Chap3 3 12
Chap3 3 12Chap3 3 12
Chap3 3 12
Hemo Chella
 
A dynamic application using jboss
A dynamic application using jbossA dynamic application using jboss
A dynamic application using jboss
ijcax
 
Mobile Application Development MAD J2ME
Mobile Application Development  MAD J2MEMobile Application Development  MAD J2ME
Mobile Application Development MAD J2ME
Pallepati Vasavi
 

What's hot (14)

Toad for-oracle-release-notes 142
Toad for-oracle-release-notes 142Toad for-oracle-release-notes 142
Toad for-oracle-release-notes 142
 
Oracle History #5
Oracle History #5Oracle History #5
Oracle History #5
 
8i r3 nfs
8i r3 nfs8i r3 nfs
8i r3 nfs
 
Jdbc drivers
Jdbc driversJdbc drivers
Jdbc drivers
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Mobile Application Development MAD J2ME UNIT 2
Mobile Application Development  MAD J2ME UNIT 2Mobile Application Development  MAD J2ME UNIT 2
Mobile Application Development MAD J2ME UNIT 2
 
Ajp notes-chapter-05
Ajp notes-chapter-05Ajp notes-chapter-05
Ajp notes-chapter-05
 
Sps baltimore backupand_restore-dpm
Sps baltimore backupand_restore-dpmSps baltimore backupand_restore-dpm
Sps baltimore backupand_restore-dpm
 
Twp perf-oracle-1
Twp perf-oracle-1Twp perf-oracle-1
Twp perf-oracle-1
 
JBoss started guide
JBoss started guideJBoss started guide
JBoss started guide
 
Websphere - application server on z/os
Websphere - application server on z/osWebsphere - application server on z/os
Websphere - application server on z/os
 
Chap3 3 12
Chap3 3 12Chap3 3 12
Chap3 3 12
 
A dynamic application using jboss
A dynamic application using jbossA dynamic application using jboss
A dynamic application using jboss
 
Mobile Application Development MAD J2ME
Mobile Application Development  MAD J2MEMobile Application Development  MAD J2ME
Mobile Application Development MAD J2ME
 

Viewers also liked

Sociological perspactive
Sociological perspactiveSociological perspactive
Sociological perspactive
naimaumer
 
Módulo 01 aula 002 - [seguridade social] - origem e evolução legislativa da...
Módulo 01   aula 002 - [seguridade social] - origem e evolução legislativa da...Módulo 01   aula 002 - [seguridade social] - origem e evolução legislativa da...
Módulo 01 aula 002 - [seguridade social] - origem e evolução legislativa da...
Danilo Santos
 
Coral Active HTML5 Agent Desktop
Coral Active HTML5 Agent DesktopCoral Active HTML5 Agent Desktop
Coral Active HTML5 Agent DesktopPSS Help
 
PSS Capabilities Overview 2015
PSS Capabilities Overview 2015PSS Capabilities Overview 2015
PSS Capabilities Overview 2015
PSS Help
 
Coral Active HTML5 Agent Desktop
Coral Active HTML5 Agent DesktopCoral Active HTML5 Agent Desktop
Coral Active HTML5 Agent Desktop
PSS Help
 
Vuokrajohtaja Suomessa
Vuokrajohtaja SuomessaVuokrajohtaja Suomessa
Vuokrajohtaja Suomessa
LauriVihonen
 
Anxiety in learner and learning
Anxiety in learner and learningAnxiety in learner and learning
Anxiety in learner and learning
naimaumer
 
Experimental dtrace
Experimental dtraceExperimental dtrace
Experimental dtrace
Matthew Ahrens
 
Sociological perspactive
Sociological perspactiveSociological perspactive
Sociological perspactivenaimaumer
 
Segments of teaching profession
Segments of teaching professionSegments of teaching profession
Segments of teaching professionnaimaumer
 
The nature of leadership
The nature of leadershipThe nature of leadership
The nature of leadership
naimaumer
 
Curriculum Development Process in Pakistan
Curriculum Development Process in PakistanCurriculum Development Process in Pakistan
Curriculum Development Process in Pakistan
naimaumer
 
Vuokrajohtaja Suomessa v6
Vuokrajohtaja Suomessa v6Vuokrajohtaja Suomessa v6
Vuokrajohtaja Suomessa v6
LauriVihonen
 
Tutkittua tietoa vuokrajohtajuudesta!
Tutkittua tietoa vuokrajohtajuudesta!Tutkittua tietoa vuokrajohtajuudesta!
Tutkittua tietoa vuokrajohtajuudesta!
LauriVihonen
 

Viewers also liked (15)

Sociological perspactive
Sociological perspactiveSociological perspactive
Sociological perspactive
 
Módulo 01 aula 002 - [seguridade social] - origem e evolução legislativa da...
Módulo 01   aula 002 - [seguridade social] - origem e evolução legislativa da...Módulo 01   aula 002 - [seguridade social] - origem e evolução legislativa da...
Módulo 01 aula 002 - [seguridade social] - origem e evolução legislativa da...
 
Coral Active HTML5 Agent Desktop
Coral Active HTML5 Agent DesktopCoral Active HTML5 Agent Desktop
Coral Active HTML5 Agent Desktop
 
PSS Capabilities Overview 2015
PSS Capabilities Overview 2015PSS Capabilities Overview 2015
PSS Capabilities Overview 2015
 
Coral Active HTML5 Agent Desktop
Coral Active HTML5 Agent DesktopCoral Active HTML5 Agent Desktop
Coral Active HTML5 Agent Desktop
 
пз 96%
пз 96%пз 96%
пз 96%
 
Vuokrajohtaja Suomessa
Vuokrajohtaja SuomessaVuokrajohtaja Suomessa
Vuokrajohtaja Suomessa
 
Anxiety in learner and learning
Anxiety in learner and learningAnxiety in learner and learning
Anxiety in learner and learning
 
Experimental dtrace
Experimental dtraceExperimental dtrace
Experimental dtrace
 
Sociological perspactive
Sociological perspactiveSociological perspactive
Sociological perspactive
 
Segments of teaching profession
Segments of teaching professionSegments of teaching profession
Segments of teaching profession
 
The nature of leadership
The nature of leadershipThe nature of leadership
The nature of leadership
 
Curriculum Development Process in Pakistan
Curriculum Development Process in PakistanCurriculum Development Process in Pakistan
Curriculum Development Process in Pakistan
 
Vuokrajohtaja Suomessa v6
Vuokrajohtaja Suomessa v6Vuokrajohtaja Suomessa v6
Vuokrajohtaja Suomessa v6
 
Tutkittua tietoa vuokrajohtajuudesta!
Tutkittua tietoa vuokrajohtajuudesta!Tutkittua tietoa vuokrajohtajuudesta!
Tutkittua tietoa vuokrajohtajuudesta!
 

Similar to Jddk

Java9
Java9Java9
Java 9 Module System
Java 9 Module SystemJava 9 Module System
Java 9 Module System
Hasan Ünal
 
Java JDK.docx
Java JDK.docxJava JDK.docx
Java JDK.docx
Bornali Das
 
JavaOne 2016: Life after Modularity
JavaOne 2016: Life after ModularityJavaOne 2016: Life after Modularity
JavaOne 2016: Life after Modularity
DanHeidinga
 
The Art of Metaprogramming in Java
The Art of Metaprogramming in Java  The Art of Metaprogramming in Java
The Art of Metaprogramming in Java
Abdelmonaim Remani
 
SeedStack feature tour
SeedStack feature tourSeedStack feature tour
SeedStack feature tour
SeedStack
 
Java 9 / Jigsaw - AJUG/VJUG session
Java 9 / Jigsaw - AJUG/VJUG  sessionJava 9 / Jigsaw - AJUG/VJUG  session
Java 9 / Jigsaw - AJUG/VJUG session
Mani Sarkar
 
010118565.pdf
010118565.pdf010118565.pdf
010118565.pdf
EidTahir
 
Manuel - SPR - Intro to Java Language_2016
Manuel - SPR - Intro to Java Language_2016Manuel - SPR - Intro to Java Language_2016
Manuel - SPR - Intro to Java Language_2016Manuel Fomitescu
 
Using the JMS 2.0 API with Apache Pulsar - Pulsar Virtual Summit Europe 2021
Using the JMS 2.0 API with Apache Pulsar - Pulsar Virtual Summit Europe 2021Using the JMS 2.0 API with Apache Pulsar - Pulsar Virtual Summit Europe 2021
Using the JMS 2.0 API with Apache Pulsar - Pulsar Virtual Summit Europe 2021
StreamNative
 
What's New in Java 9
What's New in Java 9What's New in Java 9
What's New in Java 9
Richard Langlois P. Eng.
 
Jboss Tutorial Basics
Jboss Tutorial BasicsJboss Tutorial Basics
Jboss Tutorial Basics
Anandraj Kulkarni
 
Jdom how it works & how it opened the java process
Jdom how it works & how it opened the java processJdom how it works & how it opened the java process
Jdom how it works & how it opened the java processHicham QAISSI
 
Java8 - Under the hood
Java8 - Under the hoodJava8 - Under the hood
Java8 - Under the hood
Lakshmi Narasimhan
 
OMG D&C Tutorial
OMG D&C TutorialOMG D&C Tutorial
OMG D&C Tutorial
Johnny Willemsen
 
Introduction java programming
Introduction java programmingIntroduction java programming
Introduction java programming
Nanthini Kempaiyan
 
Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1
Kevin Sutter
 
Chapter 1. java programming language overview
Chapter 1. java programming language overviewChapter 1. java programming language overview
Chapter 1. java programming language overviewJong Soon Bok
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
Sandeep Rawat
 

Similar to Jddk (20)

Java9
Java9Java9
Java9
 
Java 9 Module System
Java 9 Module SystemJava 9 Module System
Java 9 Module System
 
Java JDK.docx
Java JDK.docxJava JDK.docx
Java JDK.docx
 
JavaOne 2016: Life after Modularity
JavaOne 2016: Life after ModularityJavaOne 2016: Life after Modularity
JavaOne 2016: Life after Modularity
 
The Art of Metaprogramming in Java
The Art of Metaprogramming in Java  The Art of Metaprogramming in Java
The Art of Metaprogramming in Java
 
SeedStack feature tour
SeedStack feature tourSeedStack feature tour
SeedStack feature tour
 
Java 9 / Jigsaw - AJUG/VJUG session
Java 9 / Jigsaw - AJUG/VJUG  sessionJava 9 / Jigsaw - AJUG/VJUG  session
Java 9 / Jigsaw - AJUG/VJUG session
 
010118565.pdf
010118565.pdf010118565.pdf
010118565.pdf
 
Manuel - SPR - Intro to Java Language_2016
Manuel - SPR - Intro to Java Language_2016Manuel - SPR - Intro to Java Language_2016
Manuel - SPR - Intro to Java Language_2016
 
Using the JMS 2.0 API with Apache Pulsar - Pulsar Virtual Summit Europe 2021
Using the JMS 2.0 API with Apache Pulsar - Pulsar Virtual Summit Europe 2021Using the JMS 2.0 API with Apache Pulsar - Pulsar Virtual Summit Europe 2021
Using the JMS 2.0 API with Apache Pulsar - Pulsar Virtual Summit Europe 2021
 
What's New in Java 9
What's New in Java 9What's New in Java 9
What's New in Java 9
 
Jboss Tutorial Basics
Jboss Tutorial BasicsJboss Tutorial Basics
Jboss Tutorial Basics
 
Jdom how it works & how it opened the java process
Jdom how it works & how it opened the java processJdom how it works & how it opened the java process
Jdom how it works & how it opened the java process
 
JAVA_STEP_V7
JAVA_STEP_V7JAVA_STEP_V7
JAVA_STEP_V7
 
Java8 - Under the hood
Java8 - Under the hoodJava8 - Under the hood
Java8 - Under the hood
 
OMG D&C Tutorial
OMG D&C TutorialOMG D&C Tutorial
OMG D&C Tutorial
 
Introduction java programming
Introduction java programmingIntroduction java programming
Introduction java programming
 
Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1
 
Chapter 1. java programming language overview
Chapter 1. java programming language overviewChapter 1. java programming language overview
Chapter 1. java programming language overview
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
 

Recently uploaded

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 

Recently uploaded (20)

Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 

Jddk

  • 1.
  • 2. Java Device Driver Kit (JDDK) Tom Saulpaugh Sun Microsystems, Inc.
  • 3. 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/
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 11. 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)
  • 12. 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/POSPrinterServi ce.jar - Loaded last (when opened by application)
  • 13. Demo
  • 14. 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)
  • 15. 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
  • 16.
  • 17. LAN Client Configuration Client Server Client Sharing the Server’s JavaSystemFolder Intranet Clients
  • 18. Thin Client (WAN or LAN) Client Server Synchronization with Server’s JavaSystemFolder Intranet OR Internet Clients
  • 19. 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
  • 20. 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”
  • 21.
  • 22. 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
  • 23. 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)
  • 24. Config tree grammar overview  Keywords / Delimiters  Attributes  Entry name  Properties  Template name  Tree name  ; “” : = [ ]  // and /* comments */  Description  Define attributes  Define a JSD entry  Define properties  Define template  Define config tree  Delimiters  Comments
  • 25. 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”;
  • 26. 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
  • 27. 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 “de- compiled” upon JPS exit or under the control of the application
  • 28. 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
  • 29. 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/
  • 30. © 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.

Editor's Notes

  1. Very similar to Luna - JavaOS for NC’s code target is OEMs - adaptation kit allows you to do that
  2. 10 10
  3. 10 10