Skip Headers
Oracle® Application Server Wireless Developer's Guide
10g Release 2 (10.1.2)
Part No. B13819-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Index
Index

Next
Next
 

Contents

List of Examples

List of Figures

List of Tables

Title and Copyright Information

Send Us Your Comments

Preface

Intended Audience
Documentation Accessibility
Structure
Related Documents

Part I Introduction

1 Introduction to Oracle Application Server Wireless

1.1 Overview of OracleAS Wireless
1.2 Administering Oracle Application Server and OracleAS Wireless
1.3 OracleAS Wireless Feature Highlights
1.3.1 Multi-Channel Server
1.3.2 J2ME Support
1.3.3 Notifications and Multimedia Messaging
1.3.4 Wireless Development Kit
1.3.5 Web Clipping
1.3.6 Location Services
1.4 Fast Track to Developing Mobile Applications

Part II Oracle Application Server Wireless Developer's Tools

2 Introducing Oracle Application Server Wireless Developer's Tools

2.1 OracleAS Wireless Development Path
2.1.1 Leveraging Web Services and Reusing Business Logic
2.1.2 Building and Testing Your Applications
2.1.3 Deploying Your Applications
2.2 Delivering Your Applications

3 JDeveloper Wireless Extension

3.1 Overview of JDeveloper Wireless Extension
3.2 Developing Multi-Channel Applications
3.3 Adding Messaging to Java Applications
3.4 Creating J2ME Applications
3.4.1 Creating a Default MIDlet
3.4.2 Deploying the MIDlet Application
3.4.3 Creating a MIDlet That Calls a Web Service

4 Developing Services

4.1 Overview of the Service Manager
4.2 Logging In to the Service Manager
4.3 Managing Applications
4.3.1 Searching for a Master Application
4.3.2 Creating a Folder
4.3.3 Creating an Application
4.3.4 Selecting the Application Type
4.3.5 Creating a Multi-Channel Application
4.3.5.1 Entering the Basic Information for the Application
4.3.5.2 Entering the Notification-Related Information
4.3.5.3 Entering the Input Parameters for the Application
4.3.5.4 Entering the Async Information
4.3.5.5 Setting the Built-In Parameters
4.3.5.6 Setting the Caching Information
4.3.5.7 Setting Additional Information
4.3.6 Creating a J2ME Application
4.3.6.1 Entering the Basic Information for the MIDlet
4.3.6.2 Specifying the Deliverable Content
4.3.6.3 Setting the Device Requirements
4.3.6.4 Setting Additional Information
4.3.7 Creating a Multi-Channel Application (Based on Any Adapter)
4.3.7.1 Step 1: Entering the Basic Information for the Application
4.3.7.2 Step 2: Entering Caching Information
4.3.7.3 Step 3: Entering the Initialization Parameters of the Application
4.3.7.4 Step 4: Selecting the Input Parameters for the Application
4.3.7.5 Step 5: Selecting the Output Parameters for the Application
4.3.7.6 Step 6: Creating an Async Agent Service—Optional
4.3.7.7 Step 7: Selecting the Result Transformer—Optional
4.3.8 Creating a Web Clipping Application
4.3.9 Editing an Application
4.3.10 Deleting an Application
4.3.11 Debugging an Application
4.3.12 Quick Publishing an Application
4.3.13 Moving Folders and Applications
4.4 Managing Notifications
4.4.1 Creating a Master Notification
4.4.1.1 Step 1: Entering the Basic Configuration Parameters for the Notification
4.4.1.2 Step 2: Setting the Trigger Conditions for the Notification
4.4.1.3 Step 3: Creating the Message Template
4.4.2 Editing a Notification
4.5 Managing Data Feeders
4.5.1 Creating a Data Feeder
4.5.1.1 Step 1: Entering the Basic Information for the Data Feeder
4.5.1.2 Step 2: Entering the Initialization Parameters for the Data Feeder
4.5.1.3 Entering the Init Parameters for the HTTP Protocol
4.5.1.4 Entering the Init Parameters for the File Protocol
4.5.1.5 Entering the Init Parameters for the FTP Protocol
4.5.1.6 Entering the Init Parameters for the SQL Protocol
4.5.1.7 Entering the Init Parameters for the Application Protocol
4.5.1.8 Step 3: Entering the Input Parameters for the Data Feeder
4.5.1.9 Step 4: Entering the Output Parameters for the Data Feeder
4.5.2 Editing a Data Feeder
4.5.2.1 Editing the Basic Configuration of a Data Feeder
4.5.2.2 Editing the Init Parameters of a Data Feeder
4.5.2.3 Editing the Input Parameters of a Data Feeder
4.5.2.4 Editing the Output Parameters of a Data Feeder
4.6 Managing Preset Definitions
4.6.1 Creating a Preset Definition
4.6.1.1 Adding Preset Attributes
4.6.2 Editing a Preset Definition
4.6.2.1 Adding, Editing, and Deleting Preset Attribute Enumeration Options
4.7 Managing J2ME Web Services
4.7.1 Registering a J2ME Web Service
4.7.2 Generating Stub Classes
4.7.2.1 Viewing the Class Method Details

5 Mobile Studio

5.1 Overview of Mobile Studio
5.1.1 Mobile Studio Key Features
5.1.2 Mobile Studio on the Oracle Technology Network
5.2 Getting Started with Mobile Studio
5.2.1 Login and Registration
5.2.2 Building an Application Using Mobile Studio
5.2.3 Testing an Application
5.2.4 Deploying an Application
5.3 Customizing Mobile Studio
5.3.1 Creating Sample Services
5.3.2 Branding
5.3.3 Supporting Multiple Locales
5.3.4 JSP Pages
5.3.4.1 JSP page: login.jsp
5.3.4.2 JSP page: registraton.jsp
5.3.4.3 JSP Page: loginPortlet.jsp
5.3.4.4 JSP page: pageHeader.jsp
5.3.4.5 JSP page: pageFooter.jsp
5.3.4.6 JSP page: pageMenu.jsp
5.3.4.7 JSP page: pagePortlets.jsp
5.3.4.8 JSP page: profile.jsp
5.3.4.9 JSP page: home.jsp
5.3.4.10 Java Beans
5.3.4.11 JSP page: testAppInfoBox.jsp

6 Wireless Customization Portal

6.1 Overview of OracleAS Wireless Customization
6.2 Logging In to Wireless Customization
6.2.1 Accessing Wireless Customization as a New User
6.2.2 Accessing Wireless Customization as a Registered User
6.3 Managing User Profiles
6.4 Customizing Applications
6.4.1 Managing Folders
6.4.1.1 Creating a Subfolder
6.4.1.2 Editing a Folder
6.4.1.3 Reordering the Display Sequence for Folder
6.4.1.4 Deleting a Folder
6.4.2 Managing Bookmarks
6.4.2.1 Creating a Bookmark
6.4.2.2 Editing a Bookmark
6.4.2.3 Deleting a Bookmark
6.4.3 Managing Short Names
6.4.4 Creating Short Names
6.4.4.1 Editing a Short Name
6.4.4.2 Deleting a Short Name
6.4.5 Managing a Notification Subscription
6.4.5.1 Adding a New Notification Subscription
6.4.5.2 Editing Notification Subscriptions
6.4.5.3 Deleting Notification Subscriptions
6.5 Managing Devices
6.5.1 Creating a New Phone
6.5.1.1 Validating a Phone
6.5.1.2 Editing a Phone
6.5.1.3 Deleting a Phone
6.5.2 Creating a New Fax
6.5.2.1 Validating a Fax
6.5.2.2 Editing a Fax
6.5.2.3 Deleting a Fax
6.5.3 Creating an E-mail Device
6.5.3.1 Validating the E-mail Device
6.5.3.2 Editing an E-mail Device
6.5.3.3 Deleting an E-mail Device
6.5.4 Creating a New Mobile Device
6.5.4.1 Validating the Mobile Device
6.5.4.2 Editing a Mobile Device
6.5.4.3 Deleting an Mobile Device
6.5.5 Setting a Default Device
6.6 Managing Location Marks
6.6.1 Creating Location Marks
6.6.2 Editing a Location Mark
6.6.3 Changing the Default Status of a Location Mark
6.6.4 Deleting a Location Mark
6.6.5 Setting the Location Privacy Preferences
6.6.6 Managing the Location Awareness Authorization
6.6.7 Assigning Location Awareness Authorization
6.6.8 Changing Location Awareness Authorization
6.6.9 Managing the User Groups for Location Authorization
6.6.10 Creating a User Group
6.6.11 Editing a User Group
6.6.11.1 Deleting User Group
6.7 Managing Contact Rules
6.7.1 Contact Rules in the Customization Portal
6.7.1.1 Adding a Contact Rule
6.7.1.2 Editing a Contact Rule
6.7.1.3 Deleting a Contact Rule
6.7.1.4 Selecting an Active Contact Rule
6.7.1.5 Selecting a Contact Rule from a Web-Based User Interface
6.7.2 Selecting a Contact Rule from a Device
6.7.2.1 Selecting a Contact Rule from a Web-Based User Interface
6.7.2.2 Selecting a Contact Rule from a Device
6.7.2.3 Selecting a Contact Rule from a Device
6.7.2.4 Selecting a Contact Rule from an SMS- or E-mail-Based Device
6.7.2.5 Selecting a Contact Rule Using a Voice Application
6.8 Viewing UTF-8 Pages in Localized Languages with Netscape 4.7 or Earlier
6.9 Rebranding the Customization Portal
6.9.1 Page Naming Conventions
6.9.2 UIX Pages Structure
6.9.3 Directory Structure
6.9.4 Customizing the Look of the Customization Portal
6.9.4.1 Colors and Fonts
6.9.4.2 UIX Modification
6.9.5 Application Customization Page Plug-in Framework
6.9.5.1 Customizing an Application in a Plug-in Page
6.9.6 Setting the Multibyte Encoding for the Customization Portal

Part III Developing Wireless Applications

7 Authoring Mobile Browser and Voice Applications

7.1 Overview of Mobile Browser and Voice Applications
7.1.1 OracleAS Wireless XML, XHTML/XForms or XHTML MP; Which to Use?
7.1.2 Overview of Multi-Channel Applications
7.2 XHTML+XForms
7.3 OracleAS Wireless Client
7.4 XHTML Mobile Profile
7.4.1 Overview of XHTML Mobile Profile
7.4.2 OracleAS Wireless and XHTML MP + CSS Mobile Profile
7.4.3 XHTML Mobile Profile Modules Supported
7.4.4 XHTML MP HelloWorld Example
7.5 OracleAS Wireless XML
7.5.1 Overview of OracleAS Wireless XML
7.5.2 OracleAS Wireless XML and OracleAS Wireless
7.5.3 Displaying and Formatting Content
7.5.3.1 Hello World Example
7.5.3.2 DOCTYPE Declaration
7.5.3.3 SimpleResult
7.5.3.4 Formatting the Display
7.5.3.5 Tables and Basic Formatting Example
7.5.3.6 Image Adaptation Support in OracleAS Wireless XML
7.5.4 Enhancing with Audio for Voice Access
7.5.4.1 SimpleAudio and SimpleSpeech
7.5.4.2 Recommendation for Voice Navigation
7.5.5 Application Navigation
7.5.5.1 Introduction
7.5.5.2 Basic Navigation
7.5.5.3 SimpleMenu, SimpleMenuItem
7.5.5.4 Navigating by Voice
7.5.6 Document Linking
7.5.6.1 SimpleAction
7.5.6.2 Enhancing with Voice
7.5.7 Filling Out Forms for Data Entry and Navigation
7.5.7.1 Introduction
7.5.7.2 Basic User Interaction
7.5.7.3 Complete User Forms
7.5.7.4 Enhancing Voice
7.5.7.5 Working with Signature Capture Form Control
7.5.8 Advanced User Interactions and Channel Optimization
7.5.8.1 Introduction
7.5.8.2 Events and Tasks Using SimpleBind
7.6 Device Headers and Device Class
7.6.1 Article.jsp
7.6.2 PageNavigation.Java
7.7 Async-Enabling Applications

8 OracleAS Wireless Developer Kit

8.1 Overview of Oracle Application Server Wireless Developer Kit
8.2 Wireless Developer Kit Messaging Overview
8.2.1 Features
8.2.1.1 Protocol Support
8.2.1.2 Graceful Degradation
8.2.2 Java API
8.2.2.1 XMS Factory
8.2.2.2 XMSSimpleSender
8.2.2.3 XMSSender
8.2.3 Web Services
8.2.3.1 XMS Web Services Overview
8.3 Multi-Channel Server Lite (MCSLite)
8.3.1 Key Features
8.3.1.1 How to Use MCSLite
8.3.1.2 Accessing Your Application through MCSLite
8.3.1.3 Sending Parameters to a Back-end Application
8.3.1.4 MCSLite URL Rewriting and Caching
8.3.1.5 National Language Support (NLS)
8.3.1.6 MCSLite Log File
8.3.1.7 MCSLite Advanced Configuration
8.3.1.8 Device Description
8.3.1.9 Device Detection
8.3.1.10 Multimedia Adaptation
8.3.2 WDK Log File
8.3.2.1 WDK Log Sample
8.3.3 Avoiding Common Mistakes
8.4 Location Services Overview
8.4.1 Mobile Positioning
8.4.2 Location Services

9 Using Multi-Channel Server

9.1 Overview of Multi-Channel Server
9.1.1 Benefits of Multi-Channel
9.1.2 Features of Multi-Channel Server
9.2 Multimedia Adaptation
9.2.1 Overview of Multimedia Adaptation Services
9.2.2 Image Adaptation Features
9.2.2.1 Authoring Multichannel Applications with Images
9.2.3 Command-Line Tool
9.2.4 Extensibility Using ImageProcessor API
9.2.4.1 Description
9.2.4.2 Implementation
9.2.4.3 Configuration
9.2.5 Ringtone Adaptation
9.2.5.1 Features
9.2.5.2 RingtoneProcessor Java API
9.2.5.3 Implementation
9.2.5.4 Configuration
9.2.5.5 Sample Usage
9.2.6 Ringtone Converter Java API
9.2.6.1 Description
9.2.6.2 Interface oracle.panama.multimedia.RingtoneConverter
9.2.6.3 Implementation
9.2.6.4 Configuration
9.3 Device Adaptation
9.3.1 Device Repository
9.3.2 Device Repository Access
9.3.3 Device Detection
9.3.4 Dynamic HTTP Header Composition and UAProf
9.3.5 Device Transformers
9.3.6 Device Repository API
9.3.7 Device Information and Classification
9.4 Modifying Multi-Channel Server Runtime
9.4.1 MCS Runtime Session Management
9.4.2 Multi-Channel Gateway Usage
9.4.3 Performance Optimization and JSP Files Modification
9.4.4 MCS Runtime API
9.4.4.1 Runtime Objects
9.4.4.2 Event Listeners
9.4.5 MCS Reverse Proxy, URL Rewrite, Caching, and Compression
9.4.6 MCS Virtual Browser Model
9.4.7 Wireless and Voice Portal
9.4.7.1 Device Identification
9.4.7.2 Virtual User Concept
9.4.7.3 Authentication and Authorization
9.4.8 Globalization (NLS) Support
9.5 Modifying the Data Models
9.5.1 Overview of OracleAS Wireless Services
9.5.2 MasterService
9.5.2.1 Link
9.5.2.2 Module
9.5.2.3 Folder
9.5.2.4 ExternalLink
9.5.3 Access Control
9.5.4 Folder Renderer
9.5.4.1 Overview
9.5.4.2 Structure of JSP pages
9.5.4.3 Execution Flow
9.5.5 Bookmark
9.5.5.1 Creating and Editing Bookmarks Using OracleAS Wireless Tools
9.5.6 Model API: General Usage
9.5.6.1 Data Model Cache and Synchronization
9.5.6.2 Interfaces and Interface Hierarchy
9.5.6.3 Model API Inheritance Hierarchy
9.5.6.4 Sample Code that Uses the Data Model API
9.5.7 Wireless Model API Deployment and CLASSPATH
9.5.7.1 Adding Custom Paths

10 Creating Messaging Applications

10.1 Overview of Messaging Applications
10.1.1 Key Messaging Features
10.1.2 Multi-Channel Adaptive Messaging
10.1.3 Multimedia Messaging
10.1.4 Transport Framework
10.1.5 MMS Center
10.1.5.1 Actionable Messaging Framework
10.2 Sending and Receiving Messages
10.2.1 Overview of One-Way Message Application API
10.2.1.1 XMSSimpleSender
10.2.1.2 XMSSender
10.2.1.3 Text-based Messages
10.2.1.4 Multimedia Messages
10.2.1.5 Other Content
10.2.2 Two-Way Messaging, Transport API
10.2.2.1 Destination Analysis
10.2.2.2 Message Routing
10.2.2.3 Providing Hints to Facilitate Transport Internal Processing
10.2.3 Actionable Messages
10.2.3.1 Components Overview
10.2.3.2 Actionable Message Flow
10.2.3.3 Enabling Actionable Messages
10.2.3.4 Configuration Parameters
10.2.3.5 Actionable Messages Example
10.3 Building Async Applications
10.3.1 Asynchronous Listener
10.3.1.1 Asynchronous Listener Architecture
10.3.2 Key Challenges
10.3.2.1 Multiple messaging transport protocol support
10.3.2.2 The asynchronous nature of messaging protocols
10.3.2.3 Supporting Sessions
10.3.2.4 User Navigation
10.3.2.5 Naming/Addressing an Application
10.3.3 Key Solutions
10.3.3.1 Multiple Transport Protocol Support
10.3.3.2 The asynchronous nature of messaging protocols
10.3.3.3 Supporting Sessions
10.3.3.4 User Navigation
10.3.3.5 Naming/Addressing an Application
10.3.4 Async Request Authorization
10.3.5 User Interface and Navigation Commands
10.3.6 Configuration and Customization
10.3.6.1 System Configuration Parameters
10.3.6.2 User Customization Parameter
10.3.7 Application Invocation Examples
10.3.7.1 Invoking the Application by the Application Short Name
10.3.7.2 Invocation through Application-Associated Access Point
10.3.7.3 Menu Capability
10.3.7.4 Form Capability
10.3.7.5 Form Field with Select Options
10.3.7.6 Current Menu State
10.3.7.7 Current Form State
10.3.7.8 Multiple Commands in One Message
10.3.7.9 Parameter Separator
10.3.8 Writing Async Applications
10.4 XMS Message Center (XMSC)
10.4.1 Configuring the XMSC
10.4.1.1 Server-Side
10.4.1.2 Client (Handset) Side
10.5 Device Channel Selection
10.5.1 Automatic Device Selection
10.5.2 Presence Integration
10.6 Transport Component
10.6.1 Prebuilt Drivers
10.6.1.1 Nokia MMS Driver
10.6.1.2 CMG MMS Driver
10.6.1.3 MM7 Driver
10.6.1.4 CIMD Driver
10.6.1.5 VVSP Driver
10.6.1.6 WCTP Driver
10.6.1.7 Data Communication Driver
10.6.1.8 WAP Push PAP Driver
10.6.1.9 Instant Messaging (IM) Driver
10.6.1.10 XMS Driver
10.6.1.11 E-mail Driver
10.6.1.12 Voice Driver
10.6.1.13 Enhanced Voice Driver
10.6.1.14 UCP Driver
10.6.1.15 SMPP Driver
10.6.1.16 Fax Driver (RightFax)
10.6.2 How to Develop New Drivers
10.6.2.1 Class oracle.panama.messaging.transport.TransportLocator
10.6.2.2 Interface oracle.panama.messaging.transport.Driver
10.6.2.3 Interface oracle.panama.messaging.transport.DriverController
10.6.2.4 Interface oracle.panama.messaging.transport.GSMSmartMSGEncoder
10.6.2.5 Interface oracle.panama.messaging.transport.MessageListener and StatusListener
10.6.2.6 Class oracle.panama.messaging.common.Message
10.6.2.7 Class oracle.panama.messaging.common.ContentTypes
10.6.2.8 Properties of the driver
10.6.2.9 Custom properties for a driver
10.6.3 Upgrading OracleAS Wireless 9.0.2x Drivers
10.6.3.1 New and Changed Methods
10.6.4 Customizing (Extending) the Transport Server and Hooks
10.6.4.1 Named Hooks
10.6.4.2 General Hooks
10.7 Supporting Premium SMS and Reverse Charge SMS
10.7.1 Premium SMS and Reverse Charge New Features
10.7.2 Enabling Premium SMS Services

11 Notification Engine

11.1 Overview and Architecture of the OracleAS Wireless Notification System
11.1.1 Architecture
11.1.2 Key Features
11.1.3 Backward Compatibility
11.2 Creating a Notification
11.2.1 Defining a Master Notification Application
11.2.1.1 Predicates
11.2.1.2 Subscriber Filtering Hook
11.2.1.3 Triggering Conditions
11.2.1.4 Message Template
11.2.1.5 API Sample: Creating Master Notification Application
11.2.2 Mapping a Master Notification Application to a Master Application
11.2.2.1 Sample Code: Notification Mapping
11.2.2.2 Sample Code: Template-based Notification Mapping
11.2.3 Subscription
11.2.3.1 Sample Code: Creating a Subscription
11.2.4 Notification Administration
11.2.5 Notification Migration
11.2.5.1 Sample Usage
11.3 Data Feeders
11.3.1 Building a Data Feeder
11.3.2 Creating a Pass-Through Data Feeder
11.3.3 Sample Applications
11.3.3.1 Sample Application: Downloading Stock Quotes in XML
11.3.3.2 Sample Application: Downloading Stock Quotes in CSV Format
11.3.3.3 Adding Input Parameter Values to the Feed
11.3.3.4 Retrieving Downloaded Values
11.3.3.5 Starting the Data Feeder Process
11.3.3.6 Feed Parameter External Names
11.3.3.7 Feed Scheduling
11.3.3.8 XML Data Feeds
11.4 Migrating the Notification System
11.4.1 Notification Migration Scenario
11.4.2 Structural Changes
11.4.2.1 Event Generation
11.4.2.2 Message Content Generation
11.4.2.3 Authorization
11.4.3 Migration Limitations
11.4.4 Running the Migration Script
11.4.4.1 Sample code for subscription handling in both versions
11.4.4.2 Sample Code for Adding a 9.0.2.x Subscription

12 J2ME Development and Provisioning

12.1 Overview of J2ME
12.1.1 Overview of J2ME Features
12.1.1.1 Minimum Memory Requirement in the MIDlet Suite
12.1.1.2 Simple Registration and Invocation of Web Services
12.1.1.3 Access to Both SOAP Web Services and Enterprise Applications
12.1.1.4 Result Caching and Call Queuing
12.1.1.5 Request and Response Packetization and Compression
12.1.1.6 Session Support
12.1.1.7 Deployment to OracleAS Wireless
12.1.2 Getting Started with the Wireless Development Kit
12.1.2.1 Setup
12.1.2.2 J2ME Directory Structure in the WDK
12.1.3 Walk-Through: Developing a J2ME MIDlet
12.1.3.1 Step 1: Register a Web Service with the J2ME Proxy Server
12.1.3.2 Step 2: Generate J2ME Client Stub Class for the Registered Web Service
12.1.3.3 Step 3: Calling the Methods in the J2ME Stub Class from the MIDlet
12.1.3.4 Using TestStubMidlet to Access Simple Services
12.1.4 Advanced Features
12.1.4.1 Response Caching
12.1.4.2 HTTP Authentication
12.1.4.3 Session Support
12.1.4.4 Request and Response Packetization
12.1.4.5 Client Library API
12.1.4.6 Deploying MIDLets to OracleAS Wireless
12.1.4.7 Deploying through scripts
12.1.4.8 Migration from One OracleAS Wireless Installation to Another
12.2 Digital Rights Management Support
12.2.1 OracleAS Wireless Built-in DRM Polices
12.2.2 Custom-Built Digital Rights Policy and Content Enhancement
12.2.2.1 Use Case Study
12.2.3 Deployment of Custom-Built Digital Rights Policies
12.3 The J2ME Provisioning Server
12.3.1 The Application Model
12.3.2 Uploading Hooks
12.3.3 Uploading J2ME Applications
12.3.4 Publishing J2ME Applications
12.3.5 Downloading J2ME Applications

13 Oracle Sensor Edge Server

13.1 Introducing Oracle Sensor Edge Server
13.1.1 Oracle Sensor Edge Server Concepts
13.1.1.1 RFID Basics
13.1.2 Overview of Oracle Sensor Server Architecture
13.1.2.1 Device Drivers
13.1.2.2 Device Groups
13.1.2.3 Filter Rules
13.1.2.4 Event Processor
13.1.2.5 Driver Manager
13.1.3 Edge Dispatcher
13.1.3.1 Streams/AQ
13.1.3.2 edg_utl Package
13.1.3.3 Java Messaging Services
13.1.3.4 Web Services
13.1.3.5 HTTP Interface
13.1.3.6 Custom Event Dispatcher
13.1.3.7 Sensor Data Hub
13.1.3.8 Event
13.2 Tutorial: Writing Sensor-based Applications Using Streams
13.2.1 Overview of the Tutorial
13.2.1.1 Requirements
13.2.2 Understanding Streams and Oracle Sensor Edge Server Integration
13.2.2.1 What is Streams?
13.2.2.2 Oracle Sensor Edge Server and Streams
13.2.2.3 What Happens to the Events in the Database?
13.2.2.4 Rules and Actions
13.2.3 Running the Tutorial
13.2.4 Setting Up Streams Support and Sensor Data Archive
13.2.4.1 Setting up the Database Instance
13.2.4.2 Post-Installation
13.2.4.3 Configuring the Streams Dispatcher
13.2.4.4 Adding Rules
13.2.4.5 Testing Your Rules
13.2.4.6 Defining Conditions
13.2.4.7 Commands and Parameters
13.2.4.8 Creating Your Own Instances
13.3 Tutorial: Using Streams to Propagate Sensor Events to AQ
13.3.1 Overview
13.3.1.1 Requirements
13.3.2 Getting Started
13.3.3 Creating Queues
13.3.4 Creating Rules
13.3.5 Test Run
13.4 Tutorial: Writing Sensor-based Applications with PL/SQL Callbacks
13.4.1 Overview
13.4.1.1 Requirements
13.4.2 Getting Started
13.4.3 Source Code
13.4.4 Writing the Application
13.4.5 The PL/SQL Package
13.4.6 Creating the Rule
13.4.7 Test Run
13.5 Filters and Driver Interfaces
13.5.1 Device Interface
13.6 Extension Archive Files
13.6.1 Packaging an Extension Archive File

14 Web Scraping

14.1 Overview of Web Scraping
14.2 Introducing Oracle Application Server Web Clipping
14.3 Creating an OracleAS Web Clipping Application
14.3.1 Customizing an OracleAS Web Clipping Service
14.4 Migrating from Existing Transcoding Technologies
14.5 Creating a Wireless Application
14.5.1 Creating a Default Application
14.5.2 Testing an Existing OracleAS Web Clipping Application
14.5.3 Building a Custom Application
14.6 Administering Web Scraping
14.6.1 Configuring Security
14.6.2 Rendering Events to Be Logged and Generating Reports
14.7 Understanding the WML Translator
14.7.1 Deploying and Configuring the WML Translator
14.7.2 Using the WML Translator

15 Using Location Services

15.1 Introduction to Location Services
15.1.1 Getting Started
15.1.2 Using the System Manager Interface for Location-Related Information
15.1.3 Location Services Architecture
15.1.4 Location Service Categories
15.1.5 Service Providers
15.1.5.1 Provider Selection
15.1.5.2 Logging of Provider Selection Information
15.1.5.3 Logging of Provider Performance Information
15.1.6 Geocoding Services
15.1.6.1 Geocoding API
15.1.6.2 Geocoder Interface
15.1.7 Location Marks
15.1.8 LOCATIONMARK Table
15.1.9 Mapping Services
15.1.10 Routing Services
15.1.10.1 Routing Settings
15.1.10.2 Routing Results
15.1.10.3 Support for Multiple Languages
15.1.10.4 Routing API
15.1.11 Business Directory (Yellow Pages) Services
15.1.11.1 Different Approaches Among Yellow Pages Providers
15.1.11.2 Business Directory Category Configuration
15.1.11.3 Business Directories (Yellow Pages) API
15.1.12 Traffic Services
15.1.12.1 Traffic Report Caching
15.1.12.2 Traffic XML Requests and Responses
15.1.12.3 Traffic Java API
15.1.12.4 Traffic Service Configuration
15.1.13 Location Based Services Examples
15.2 Developing Location-Based Applications
15.2.1 Creating Java Server Pages (JSP) Files
15.2.1.1 JSP Examples for Location Services
15.2.1.2 addMembers
15.2.1.3 address
15.2.1.4 businesses
15.2.1.5 category
15.2.1.6 createPrivateCommunity
15.2.1.7 createSharedCommunity
15.2.1.8 createSystemCommunity
15.2.1.9 defaultLocationMark
15.2.1.10 deleteCommunity
15.2.1.11 drivingDistance
15.2.1.12 drivingTime
15.2.1.13 geocode
15.2.1.14 geometry
15.2.1.15 getCommunity
15.2.1.16 iterateBusinesses
15.2.1.17 iterateBusinessesInCity
15.2.1.18 iterateBusinessesInCorridor
15.2.1.19 iterateBusinessesInPostalCode
15.2.1.20 iterateBusinessesInRadius
15.2.1.21 iterateBusinessesInState
15.2.1.22 iterateBusinessesNearestTo
15.2.1.23 iterateByDistance
15.2.1.24 iterateByDrivingDistance
15.2.1.25 iterateByName
15.2.1.26 iterateByRegionName
15.2.1.27 iterateCategoriesMatchingKeyword
15.2.1.28 iterateChildCategories
15.2.1.29 iterateGeocodes
15.2.1.30 iterateLocationMarks
15.2.1.31 iterateManeuvers
15.2.1.32 iterateReverseGeocodes
15.2.1.33 listAllMembers
15.2.1.34 listBusinessesInCity
15.2.1.35 listBusinessesInCorridor
15.2.1.36 listBusinessesInPostalCode
15.2.1.37 listBusinessesInRadius
15.2.1.38 listBusinessesInState
15.2.1.39 listBusinessesNearestTo
15.2.1.40 listByDistance
15.2.1.41 listByDrivingDistance
15.2.1.42 listByName
15.2.1.43 listByRegionName
15.2.1.44 listCategoriesMatchingKeyword
15.2.1.45 listChildCategories
15.2.1.46 listCreatedCommunities
15.2.1.47 listCreatedPrivateCommunities
15.2.1.48 listCreatedSharedCommunities
15.2.1.49 listCreatedSystemCommunities
15.2.1.50 listGeocodes
15.2.1.51 listLocationMarks
15.2.1.52 listManeuvers
15.2.1.53 listReverseGeocodes
15.2.1.54 map
15.2.1.55 mobilePos
15.2.1.56 point
15.2.1.57 removeAllMembers
15.2.1.58 removeMembers
15.2.1.59 route
15.2.1.60 setCommunityName
15.2.2 Using the Location Java API
15.2.2.1 Geocoding
15.2.2.2 Location Marks
15.2.2.3 Routing
15.2.2.4 Mapping
15.2.2.5 Business Directory (YP)
15.2.2.6 Traffic
15.2.3 Using Web Services
15.2.3.1 WSDL Files
15.2.3.2 XML Files
15.2.3.3 XSD Files
15.3 Enabling Mobile Positioning
15.3.1 Manual Positioning
15.3.1.1 Enabling Manual Positioning
15.3.2 Automatic Positioning
15.3.2.1 Providing Location Using a GPS Device
15.3.2.2 Location Cache
15.3.2.3 Positioning Quality of Service
15.3.2.4 Specifying Positioning Providers
15.3.2.5 Granting and Revoking Positioning Rights
15.3.2.6 Mobile Communities
15.3.2.7 Privacy Directives and Enabling/Disabling Automatic Positioning
15.3.2.8 Mobile Positioning API
15.3.2.9 Privacy API
15.4 Location Event Server
15.4.1 Location Event Server Concepts
15.4.2 Location Event Agent Example
15.4.3 Location-Based Condition Object (LBCondition)
15.4.4 Location Event Agent Object (LBEventAgent)
15.4.5 Location Event Handler Object (LBEventHandler)
15.4.6 Location Event Server Configuration Options
15.5 Using the Region Modeling Tool
15.5.1 Service and Folder Visibility Using Region Modeling
15.5.2 Folders and Hierarchies of Regions
15.5.3 Associating a Region with an Application
15.5.4 Loading and Updating Region Data
15.5.4.1 Tables for Region Data
15.5.4.2 Inserting Data into Region Tables
15.5.5 Region Modeling API
15.6 Integrating an External Content Provider
15.6.1 Accessing External URLs from Inside a Firewall
15.6.2 Functions to Implement
15.6.2.1 Geocoding Services: Available Functions
15.6.2.2 Mapping Services: Available Functions
15.6.2.3 Routing Services: Available Functions
15.6.2.4 Traffic Services: Available Functions
15.6.2.5 Business Directory (YP) Services: Available Functions
15.7 Integrating a Mobile Positioning Provider
15.7.1 Implementing a Mobile Positioning Proxy
15.7.2 Handling Exceptions and Errors with Mobile Positioning

16 Enabling User Customization

16.1 Overview of User Preferences
16.2 Multiple Customization Profiles
16.2.1 Concepts
16.2.2 Sample Applications
16.3 Presets
16.3.1 Presets Concept and Architecture
16.3.2 Sample Applications
16.3.2.1 Example 1: Adding Attributes to the User Schema
16.3.2.2 Example 2: Adding a Unique Presets Relation for a User
16.3.2.3 Example 3: Adding a Unique Presets Relation for Users' Profiles
16.3.2.4 Example 4: Selecting the Presets Relation Under the Current Profile
16.3.2.5 Example 5: Creating Presets without Given Name
16.3.3 Regular Expressions Syntax for the Presets Attribute Formats
16.4 Location Marks
16.5 User Device Management
16.6 User and Group Management
16.7 Service Management

17 Billing

17.1 Overview of Billing
17.2 Using the Billing Integration Framework
17.2.1 Billable Actions and Billing System Interaction
17.2.1.1 Default Billable Actions
17.2.1.2 Custom Billable Actions
17.3 BillingLoader Utility
17.4 Billing Collector and Service Detail Record
17.4.1 Default Billing Collector Implementation
17.4.2 Service Detail Record ID Versus Billing Reference ID
17.4.3 Extend Default Billing Collector
17.4.4 Maintaining Transaction Context on Multipart Requests
17.4.4.1 Creating and Assigning Billing Transactions
17.4.4.2 Logging Rules for Service Detail Records
17.4.4.3 Maintaining Transaction State in a Single-Thread Multi-part Request
17.5 Billing Driver
17.6 Billing Integration Scenario
17.6.1 Handling Prebilling
17.6.2 Handling Postbilling
17.7 Sample BillingDataCollector Implementation

Index