Wireless Java Programming for Enterprise Applications



Similar documents
Mobile Operating Systems Lesson 07 Symbian OS

Guide to Wireless Communications. Digital Cellular Telephony. Learning Objectives. Digital Cellular Telephony. Chapter 8

Developing XML Solutions with JavaServer Pages Technology

A Web Services Framework for Mobile Payment Services

WebSphere Portal Server and Web Services Whitepaper

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

Building Location-based Service with Java Technologies

Mobile-PC Suite: Using Mobile Phone as Remote to Control PC Operations

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

JEE Web Applications Jeff Zhuk

Java ME Clients for XML Web Services

Extreme Java G Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti

Developing Google Android Mobile Clients for Web Services: a Case Study

Mobile Operating Systems. Week I

UPnP Control Point for Mobile Phones in Residential Networks

At least 2 GCE A Level Passes and credit in Mathematics at Ordinary level. Mature candidates will also be considered on a case-by-case basis.

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

How To Develop An Application Developer For An Ubio Websphere Studio 5.1.1

Mobile Phones Operating Systems

CEB620MOBILE COMPUTING

The Study on Mobile Phone-oriented Application Integration Technology of Web Services 1

Contents. 1 Introducing the Internet, the Web and Wireless Communications 1

WAP 2.x architecture Features, services and functions

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

Java Platform, Micro Edition (Java ME) Mokoena F.R. The 7046 Team

A Middleware-Based Approach to Mobile Web Services

Concept, implementation and performance testing of a mobile Web Service provider for Smart Phones

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

<Insert Picture Here> Betting Big on JavaServer Faces: Components, Tools, and Tricks

IBM Rational Web Developer for WebSphere Software Version 6.0

Mobile Devices: Server and Management Lesson 02 Application Servers Part 1

Glassfish, JAVA EE, Servlets, JSP, EJB

JBoss SOAP Web Services User Guide. Version: M5

T Network Application Frameworks and XML Web Services and WSDL Tancred Lindholm

Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data

Mobile Applications with IBM WebSphere Everyplace Access Design and Development

Building Web Applications, Servlets, JSP and JDBC

Consuming and Producing Web Services with WST and JST. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Mobile Development Discovery Document

Agents and Web Services

1 What Are Web Services?

Java ME & NetBeans Mobility. Petr Suchomel Architect, NetBeans Mobility Sun Microsystems

ICAPRG409A Develop mobile applications

Wireless Solutions Beyond

A First Course in Wireless Networks and Telecommunication Systems Aslam Safla

Release 1. ICAPRG604A Create cloud computing services

Portals, Portlets & Liferay Platform

Introduction to Oracle WebLogic. Presented by: Fatna Belqasmi, PhD, Researcher at Ericsson

WEB SERVICES. Revised 9/29/2015

1 What Are Web Services?

Developing Java Web Services

Avaya Aura Orchestration Designer

ITS. Java WebService. ITS Data-Solutions Pvt Ltd BENEFITS OF ATTENDANCE:

Cocoon 2 Programming: Web Publishing with XML and Java"

What Is the Java TM 2 Platform, Enterprise Edition?

Introduction to BlackBerry Development using Java ME. Presented by: Sean Fenton Technical Channel Manager RIM (Research in Motion )

Mobile Software Development Services

WebSphere Portal, Portlets and Web Services

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

Sun Training Guide. Optimise Your Data Centre. October 2004

Project: E290 - MOBILE COMMERCE APPLICATION DEVELOPMENT

IT6503 WEB PROGRAMMING. Unit-I

Mobility Solutions in IBM

2 Selecting Operating System - Symbian OS

Beginning Smartphone Web Development

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

This document gives an outline of Tim Ward s work on mobile phone systems

A design of the transcoder to convert the VoiceXML documents into the XHTML+Voice documents

Detailed Table of Contents

An Introduction To Mobile Technologies and Services. by Michael Sharon, Co-founder / CTO, Socialight

RUP Vision Document for the Home Appliance Control System: Defining Stakeholders, Goals, and COTS Components

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

Diploma/BSc (Hons) Web & Multimedia Development

VOL. 2, NO. 1, January 2012 ISSN ARPN Journal of Science and Technology ARPN Journals. All rights reserved

EFFECTIVE QUERY RETRIEVAL SYSTEM IN MOBILE BUSINESS ENVIRONMENT

Mobile Devices and Systems Lesson 02 Handheld Pocket Computers and Mobile System Operating Systems

Transcription:

Wireless Java Programming for Enterprise Applications Mobile Devices Go Corporate Dan Harkey Shan Appajodu Mike Urkin WILEY PUBLISHING, INC.

Jl. ^E^.^l.^ Contents Foreword Preface v vii Part 1. Technologies for Wireless Device Computing 1 Chapter 1. Introduction to Wireless Enterprise Applications 5 Applications on Wireless Devices 6 Enterprise Applications 6 Enterprise Applications and Wireless Devices Combined 7 An Enterprise Computing Architecture for Wireless Devices 9 Wireless Connectivity from Personal to Regional 11 Summary 13 Chapter 2. Wireless Devices: The Hardware Platforms 15 Simple Cell Phones 17 Internet-Ready Cell Phones 17 Mobile Information Devices 19 Java-enabled, Two-Way Pagers 19 Java-enabled Cell Phones 20 Hardware Feature 21 Java-enabled Connected PDAs 21 Palm Vx Plus Novatel Modem 21 Compaq ipaq plus Ricochet AirCard 300 Modem 23 Communicators 24 Nokia 9290 Communicator 24 Summary 25 Chapter 3. Wireless Devices: Networking Technologies 29 Mobile and Wireless Network Protocols 30 Basic Terminology 30 A Cell Phone Operational Scenario 31 Wireless Network Technologies 33 XV

xvi 0 Wireless Java Programming for Enterprise Applications Wireless Network Technologies 37 Advanced Mobile Phone Service (AMPS) 38 Global System for Mobile Communication (6SM) 39 High Speed Circuit-Switched Data (HSCSD) 39 General Packet Radio Service (GPRS) 40 Enhanced Data Rates for Global Evolution (ED6E) 41 Bird's Eye View of GPRS 42 Time Division Multiple Access (TDMA) 44 Code Division Multiple Access (CDMA) 44 Integrated Digital Enhanced Network (iden) 46 l-mode 46 3G 47 Data Rates 49 Mobile Position Location Technologies 51 Wireless LANs and Personal Area Networks (PANs) 55 IEEE 802.11 Wireless LAN 56 Bluetooth A Revolutionary Basis for Developing Wireless Applications 56 Bluetooth System Architecture 58 Bluetooth and Hardware Requirements 61 Bluetooth: Hardware Implementations 63 Summary 64 Chapter 4. Wireless Devices: Service Technologies 65 Short Messaging Service (SMS) 66 SMS Under the Covers 67 Advantages of SMS 71 Disadvantages of SMS 71 The Future of SMS 71 Unstructured Supplementary Services Data (USSD) 72 Advantages of USSD 72 i-mode 73 l-mode Technology 73 Mode of Transmission 73 The Markup Language 74 The Future of l-mode 75 Java on I-Mode 75 Wireless Application Protocol (WAP) 75 WAP Architecture 75 A WAP Scenario 76 WAP Protocol Stack 77

ihm Contents The Web and WAP Content Presentation Models 81 WAP Security and WTLS 83 The Future of WAP 86 Enhancements to the Wireless Application Environment (WAE) 88 Comparison of WAP vs. I-Mode 95 VoiceXML 96 An Architecture for Voice-Driven Applications 98 The VoiceXML Server 100 VoiceXML and Voice-over-IP (VoIP) 104 Summary 106 Chapter 5. Wireless Devices: Middleware 107 Operating Systems for Handheld Devices 108 Blackberry OS 108 Cell Phone OSs 110 Palm OS 110 Windows CE 113 Symbian OS 114 The Linux Variants 116 Handheld Device Middleware Challenges 117 Communication Protocols 117 Security 119 Micro Databases 121 Summary 123 Chapter 6. Wireless Devices: Content Delivery 125 Content Formats for Display Markup Languages 125 The Role of XML 126 Handheld Device Markup Language (HDML) 130 Compact HTML (chtml) 130 Wireless Markup Language (WML) 131 Extensible HyperText Markup Language (XHTML) 133 XHTML 1.0 134 XHTML Basic 135 What Is XHTML Modularization? 136 VoiceXML 137 Content Synchronization Techniques 140 Web Clipping 140 SyncML 146

J xviii 0 Wireless Java Programming for Enterprise Applications Summary 149 Chapter 7. Wireless Devices and Java 151 Evolution of J2ME 151 What Does Java Bring to Consumer Devices? 152 J2ME: The Early Years 154 Introducing the J2ME Platform 158 Configurations and Profiles 158 Configurations 159 CLDC in Detail 163 Profiles 169 Java Card 180 Smart Card 180 Summary 190 Part 2. Core Wireless Device Computing Programming... 191 Chapter 8. Developing WML Applications 193 The WML User Interface 193 WML Documents 194 Developing a WML Application 196 WML Development Emulators 199 The University Registration Example 200 WML Tags 202 Cards and Decks: The Details 202 WML Display Elements 203 WML Variables 211 WML Events 212 WML Tasks 214 The Registration WML Listing 215 Introduction to WMLScript 219 Variables and Data Types 222 Pragmas 222 Operators 223 Functions 224 Statements 225 Libraries 226

Contents h xix ^^ ^" Programming Tips 227 Summary 228 Chapter 9. Introduction to MIDP Programming 229 The J2ME MIDP User Interface 229 MIDP Applications 231 Developing a MIDP Application 232 MIDP Development and Deployment: The Details 233 The University Registration Example 242 The MIDP Classes 243 The MIDIet Class 243 MIDP GUI Classes 247 The MIDIet High-Level Events 258 The Registration Example Listing 262 Low-Level APIs and Event Handling 268 The LowLevelMIDIet Listings 276 Summary 284 Chapter 10. Advanced MIDP Programming 285 Network Programming 28S Generic Connection Framework 287 MIDP DATABASE PRogramming 306 Record Management System (RMS) 307 AddressMIDIet Using RMS 308 MIDIet Provisioning 325 Technology Overview 327 Java API for Bluetooth (JSR-82) 331 A Simple Bluetooth Application 338 Bluetooth Simulators 343 Summary 345 Chapter 11. Developing VoiceXML Applications 347 VoiceXML Applications 347 Developing a VoiceXML Application 348 VoiceXML Tools 352 The University Registration Example 354 VoiceXML TAGS 355 Root 355

XX 6 Wireless Java Programming for Enterprise Applications Dialogs 357 Prompts 362 Fields 364 Audio Output 370 Audio Input 373 Events 379 Call Control 388 Miscellaneous 390 Introduction to ECMAScript 397 Variables and Data Types 399 Built-in Objects 399 Operators and Expressions 400 Functions 401 Statements 402 VoiceXML Programming Tips 403 General Programming Tips 403 Grouping Dialogs 404 Where to Define Grammar 404 Fetching and Caching Resources to Improve Performance 404 Summary 405 Chapter 12. Your First Java Card Application 407 Applications Suited For Java Cards 408 The Java Card VM 409 APDUs 413 The Java Card API 416 Preparing Your Cards and Activating Cardlets 425 The Host Application 429 Summary 434 Part 3. Wireless Device Programming Meets the Enterprise 435 Chapter 13. J2EE and Wireless Applications 437 J2EE Architecture: An Overview 438 Containers 439 Web Components 443 Enterprise JavaBeans 443

Contents Component Development, Packaging, and Deployment 444 Programming Servlets 445 Servlet Initialization and Life Cycle 446 Writing Servlet Application Functions 447 Writing JavaServer Pages 449 JSP Objects 450 JSP Elements 450 Developing J2EE Applications 453 The RoomFinder EJBs 455 Developing the RoomFinder Application with JBuilder 456 Summary 484 Chapter 14. Web Services for Wireless Devices 485 Web Services Everyone's Favorite Buzzword 485 What Web Services Are...and Aren't 486 Web Services a Bird's Eye View 488 Technology Building Blocks for Web Services 490 Web Services Architecture 492 Web Services Operations 493 Web Services Standards The Devil Is in the Details 497 Simple Object Access Protocol (SOAP) 497 Web Services Description Language (WSDL) 502 Universal Description, Discovery, and Integration (UDDI) 504 Putting It All Together Web Services Examples 512 EJBs as Web Services 512 Create the Web Service EJBs 514 Deploy the RoomFinder EJB JAR File 514 Create the EJB Client Stub Classes 514 Create the Service Deployment Descriptor 515 Use the WDSL File to Generate Client Stub Classes 517 Design and Test the Web Service Client 521 Invoking Web Services from Your MIDIets 523 Web Services Tools and Platforms 525 Apache Axis/Apache SOAP 526 IBM's Web Services Tool Kit (WSTK) 526 HP's e-speak 527 Java Technology Web Services Architecture 527 The Future Direction of Web Services 529 Summary 530

xxiiff Wireless Java Programming for Enterprise Applications Chapter IS. Transcoding and Personalization 531 Transcoding: Realtime Content Transformation 532 Generating Content for Specific Devices 532 What Is Transcoding? 533 Transcoding Implementations 535 Describing, Exchanging, and Discovering Mobile Device Capabilities 535 An Overview of the Resource Description Framework 536 Transcoding Basics 541 Introduction to XSL 541 What Is XSL? 541 What Types of Translations Is XSL Capable of Performing? 541 How Are XSL Stylesheets Processed? 542 XPath Element Matching and Location 544 XSL Stylesheet Element Selection 546 Transcoding Engines an End-to-End example 556 Using Cocoon to Transcode for Various Client Devices 559 Personalization 564 Personalization How to Personalize? 566 Summary 569 Chapter 16. XML Processing Using MIDP 571 Why XML in MIDP? 572 How to Parse XML in MIDP? 573 Parser Types And Features 573 Tree-Based vs. Event-Based 573 Validating vs. Non-Validating 574 Support for Mixed Content 574 Internal vs. External Entities 575 Namespace Support 576 Choosing The Right Parser 576 NanoXML 576 TinyXML 577 KXML 577 UXML 578 Which Parser to Choose? 579 XML Parsing Using MIDP An Example 580 Other Applications of MIDP XML Parsing 586 MIDP 2.0 586 SOAP 586

Contents Summary 586 Chapter 17. Programming Strategies for MIDP 587 Graphics and User Interface Recommendations 588 MID Hardware Considerations 589 Reducing MIDIet Size 590 Code Obfuscation 591 Network Programming 593 Efficient Image (PNG) Manipulation 593 Using Vendor-supplied or Third-Party MIDP Libraries 594 Efficient XML Parsing 596 Miscellaneous Recommendations 597 Summary 598 Part 4Grand Finale: Campus Portal for Wireless Devices.. 599 Chapter 18. Campus Portal for Wireless Devices 601 Campus Portal for Wireless Devices 602 Campus Portal: Features, Functions, Benefits 603 The Campus Portal Applications 603 Administration Service 604 System Services 606 Information Services 610 Messaging Services 614 Calendaring and Scheduling Services 616 Entertainment Services 616 Summary 618 Chapter 19. Campus Portal: A Look Under the Covers 619 Campus Portal Client Technologies 620 Campus Portal Server Technologies 622 PortalXML 625 Transcoding Engine 626 Transcoder 642 Personalization Engine 644 Services Framework 645

XXIV Wireless Java Programming for Enterprise Applications Services Implementation 649 Summary 653 Chapter 20. The Enterprise Goes Wireless 655 The Handheld Device of the Future 656 36...4G... And Subsequent Networks 658 Tomorrow's Enterprise Wireless Application 660 The Future of Web Services 665 Campus Portals for Everyone? 666 Conclusion 671 Where to Go for More Information 673 Index 677