Session 9: Connected Devices Development Environments

Session 9: Connected Devices Development Environments

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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    22 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us