Session 9: Connected Devices Development Environments
Total Page:16
File Type:pdf, Size:1020Kb
Extreme Java G22.3033-007 Session 9 - Sub-Topic 1 Connected Devices Development Environments Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Part I Background Information 2 1 Recommended Textbook Q Learning Wireless Java by Qusay Mahmoud O’Reilly, December 2001 ISBN#: 0-59600-243-2 http://www.oreilly.com/catalog/wirelessjava/ 3 Glossary & FAQs Q Profile “A layer on top of a configuration that adds additional APIs to make a complete toolkit for a specific type of consumer device” Q Configuration “Either the KVM or CVM combined with a minimal set of APIs that define the expected features for a broad category of consumer devices” Q FAQs 4 2 Java-enabled XML Technologies Q XML provides a universal syntax for Java semantics (behavior) Q Portable, reusable data descriptions in XML Q Portable Java code that makes the data behave in various ways Q XML standard extension Q Basic plumbing that translates XML into Java Q parser, namespace support in the parser, simple API for XML (SAX), and document object model (DOM) Q XML data binding standard extension 5 XML and Java Standards Q XML includes is a family of technologies Q XSL, XML Schema, XML Query, XPath, XPointer, XLink, DOM, RDF, CSS, XSL, XHTML, XML Signature, MathML, SMIL, SVG, etc. Q Review the current state of the XML standards at http://www.w3c.org/XML Q Review the current state of Java Technology and XML (JAXP) standards at http://java.sun.com/XML Q Review the Java binding to DOM 2.0 at http://www.w3.org/TR/2000/REC-DOM-Level-2- Core-20001113/java-binding.zip 6 3 Part II Palm Handheld Environment 7 Palm Devices (www.palmos.com/dev/tech/hardware/compare.html) Q Sample device 1: Palm VIIx Q 8 Mb RAM Q 256K dynamic heap Q PalmOS version 3.5 Q Motorola MC68EZ328 (“Dragonball EZ” chip) Q 20 MHz CPU speed Q TCP / IR / Flashable ROM support Q FSTN display (150MHz) 8 4 Palm Devices (continued) (www.palmos.com/dev/tech/hardware/compare.html) Q Sample device 2: m505 Q 8 Mb RAM Q 256K dynamic heap Q PalmOS version 4.0 Q Motorola MC68VZ328 (“Dragonball VZ” chip) Q 33 MHz CPU speed Q TCP / IR / Flashable ROM support Q Dynamic language switch support Q TFT, reflective, 16 bit color 9 MIDP for PalmOS 1.0 (http://java.sun.com/products/midp4palm/download.html) Q A Java Runtime Environment for PalmOS handhelds Q Same technology as that available for other MIDP- compliant devices (e.g., mobile phones, pagers, etc.) Q Follows PalmOS user interface conventions Q Compliant with CLDC 1.0 specification Q Compliant with MIDP 1.0 specification Q Targeted to PalmOS handhelds (Palm, Handspring, Sony, etc.) running PalmOS version 3.5 with at least 4 MB of RAM 10 5 MIDP for PalmOS 1.0 (continued) (http://java.sun.com/products/midp4palm/download.html) Q PDA profile: http://www.jcp.org/jsr/detail/75.jsp Q http://www.palmos.com/dev/support/docs/ui/UIGuidelinesTOC.html Q http://www.palmos.com/dev/support/docs/conduits/win/ Q http://www.palmos.com/dev/support/docs/constructor/CGRTOC.html Q http://www.palmos.com/dev/support/docs/fileformats/FileFormatsTOC.html Q http://www.palmos.com/dev/support/docs/webclipping/PalmWebClippingTOC.html Q http://www.palmos.com/dev/support/docs/recipes/ Q Includes: Q Binary release of CLDC and MIDP for PalmOS Q Desktop utility for converting MIDlets to PRC files Q Built in facility to allow users to view MIDP preferences Q Sample MIDlets Q User documentation 11 PalmOS 1.0 Development Environment Q J2ME Wireless Toolkit Q Development environment for PalmOS handelds Q http://java.sun.com/products/j2mewtoolkit/ Q PalmOS Emulator Q Software emulator for various PalmOS handelds Q http://www.palmos.com/dev/tools/emulator/ Q Palm Desktop and Hotsync manager software Q Provided with your Palm unit Q Allows downloading of tested Java applications 12 6 J2ME Wireless Toolkit http://java.sun.com/products/j2mewtoolkit/ Q Targeted to CLDC/MIDP-compliant mobile phones and entry level PDAs Q Includes emulation environment, documentation, and examples to develop CLDC/MIDP-compliant Java applications Q Based on CLDC and MIDP 1.0.3 reference implementations Q Can be tightly integrated with Forte for Java (for source level debugging), or JBuilder MobileSet Q Provides command line, and various GUI interfaces Q Can test applications on different emulated devices 13 PalmOS Emulator (POSE) http://www.palmos.com/dev/tools/emulator/ http://www.palmos.com/dev/tools/core.html Q Based on the original “Copilot” implementation Q Does not include ROM images Q ROM Images can be obtained from: Q Resource Pavilion (http://www.palmos.com/dev/programs/pdp/join.html) Q Need to join the PalmOS Developers’ Program Q Licensee’s developer program Q Palm device (non-debug ROM image only) Q Skins can be used to emulate the look of the emulated device Q http://www.palmos.com/dev/support/docs/devguide/ToolsTOC.html 14 7 Types of Palm Applications Q Web Clipping applications (WCA) Q Set of HTML pages compressed in the Palm Query Application (PQA) format Q Palm.net proxy server translates requests into HTTP requests Q Requires a Web Clipping Application / PQA Builder tool Q Applications run in the Web Clipping Application Viewer Q GUI applications Q Single-threaded event-driven programs Q Translated to PRC files prior to loading on the Palm device Q Development environments available for C, C++, VB, and Java Q C/C++ development requires PalmOS SDK or third party environment Q Conduits Q Hotsync plug-ins Q Developed in C++, VB, and Java Q Development requires PalmOS CDK or third party tool 15 Useful Palm Developer Resources Q http://www.palmos.com/dev/start/intro.html Q Knowledge base Q Forums Q Support Q Books Q Tools Q Requires a Web Clipping Application Builder tool Q Applications run in the Web Clipping Application Viewer Q Existing technologies based on the PDA profile Q KVM and MIDP Q VisualAge Micro Edition and J9 Q JBuilder HandHeld Express Q Jbed Micro Edition Q Kada Systems and Kava VM Q SuperWaba VM Q Oracle 8iLite 16 8 Palm IDEs Q VisualAge Micro Edition for Java Q JBuilder HandHeld Express (JBuilder 5 and JBuilder MobileSet) Q Simplicity for Palm OS Platform (IBM J9 VM) Q Jbed Micro Edition CLDC – Java VM Q Kada Systems – Java VM Q Forte for Java 2.0/3.0 17 Sample Palm Application Q Beaming contact information from a custom Palm database 18 9 Part III CLDC/MIDP Development Environment Also See http://www.wabaworkbench.com and http://java.sun.com/products/cldc/ 19 CLDC/MIDP Development Environment Q Connected Limited Device Configuration and K Virtual Machine Q http://www.sun.com/software/communitysource/j2me/cldc/ Q Minimum footprint Java building blocks for small resource- constrained devices Q Mobile Information Device profile Q http://www.sun.com/software/communitysource/midp/ Q Addendum to the CLDC runtime environment targeted to cellular phones and two-way pagers Q Wireless Toolkit (same as for PalmOS devices) Q http://java.sun.com/products/j2mewtoolkit/download.html 20 10 Part IV CDC Development Environment http://java.sun.com/products/cdc/ 21 CDC/FP Development Environment Q Connected Device Configuration and C Virtual Machine Q http://www.sun.com/software/communitysource/j2me/cdc Q Portable, full featured JVM for next generation consumer electronics and embedded devices Q Foundation Profile (FP) Q http://www.sun.com/software/communitysource/j2me/cdc/ Q Set of APIs provided as an addendum to the CDC runtime environment targeted to consumer electronics and embedded devices Q Wireless Toolkit Q CDC/FP technology still undergoing JCP approval Q No toolkits being targeted to that platform per say 22 11 Part V JavaCard Development Kit http://java.sun.com/products/javacard/ 23 Smart Cards Q Integrated Circuit (IC) Microprocessor Cards Q 8 bit processor, 16KB ROM, 512KB RAM Q E.g., value cards, and security applications Q Integrated Circuit (IC) Memory Cards Q 1-4KB of data Q E.g., prepaid phone cards, alternative to stripe cards in high-security applications Q Optical Memory Cards Q Card + CD, up to 4 MB or WORM memory Q E.g., medical/driving records, etc. 24 12 Travel Card Example 25 Internet Access Card Example 26 13 Student Card Example 27 Retail Shopping Card Example 28 14 Java Card Technology Components TM Q Java Card 2.1.1 Platform Specifications Q Java Card API and framework Q Java Card Development Kit Q Off-card verifier Q Executable implementation of C-JCRE Q Converter Q C-JCRE Reference Implementation of the Java Card Runtime Environment Written in the C Programming Language Q JCRE is the JCVM interpreter 29 OpenCard Framework (see OpenCard Framework) Q Runs on the Card Terminal Side or Workstation Q Provides Developers with an API that Communicates with the Card Reader Q Abstracts Communication Details from Application Running on a Card Terminal or Workstation 30 15 JavaCard Software Q Java Card Development Kit Q Off-card verifier Q Implements the Java Card Runtime Environment (C-JCRE) Q Converter Q Java Card API and framework Q http://java.sun.com/products/javacard/dev_kit.html Q Java Card Platform Specification Q http://java.sun.com/products/javacard/javacard21.html 31 Part VI Java Embedded Server Environment http://www.sun.com/software/embeddedserver/ 32 16 Java Embedded Server Technology 33 Java Embedded Server Technology (continued) 34 17 Java Embedded Server Software Q Service-driven network support Q Dynamic delivery of network services on demand Q Small-footprint application server Q Can be embedded in any networked device (e.g., home gateway, car, vending machine, etc.) Q Provides life-cycle management of network-based