Oracle9i Application Server Wireless Edition Implementation Guide Release 1.1 Part Number A86699-01 |
Library | Service | Contents | Index

# 1
Introduction

This document introduces the Oracle9i Application Server Wireless Edition. Each section of this document presents a different topic. These sections include:

- Section 1.1, "New Features"

- Section 1.2, "What is the Wireless Edition?"

- Section 1.3, "How Wireless Edition Works"

- Section 1.4, "Location-Based Services"

- Section 1.5, "Wireless Edition Architecture"

- Section 1.6, "Extensibility: Adding Adapters and Transformers"

## 1.1 New Features

The Wireless Edition includes the following new features:

##### Service Designer Enhancements

- Service creation wizard.

- Region modeling tool.

- Transformer creation and test tool.

- Location dependent services.

##### Wireless Edition Core

- Multiple JVM support.

- Enhanced Wireless Edition API including runtime and data model.

- Enhanced URL Adapter that supports parameters and cookies.

- Enhanced Directory (LDAP, X.500, JNDI) and Email (IMAP4 and POP3) Adapters.

- Improved handling of multibyte character sets.

- Enhanced voice gateway transformers (VoxML and VoiceXML).

- Support location-based services including routing, yellow pages, geocoding, location acquisition.

- Integration with Oracle Enterprise Manager.

- Enhanced logging and event management.

- Enhanced Wireless Edition DTD.

##### Personalization Portal

- Support personalization from devices (PAPZ Lite).

- Enhanced Wireless Edition personalization API.

- Improved wireless Personalization Portal that enables subscribers to create locationmarks and alerts.

- Subscriber management (i.e., create, modify, and delete subscribers from Web-based Personalization Portal).

## 1.2 What is the Wireless Edition?

The Wireless Edition is a portal service for delivering information and applications to mobile devices. The Wireless Edition makes Web and database applications, such as email, news, and directory services, accessible to mobile device users without having to rewrite content for every target platform.

#### Figure 1-1 The Role of the Wireless Edition

Text description of the illustration int_wire.gif

### 1.2.1 Form Factor Considerations

Most Internet content is not intended to be viewed or accessed from mobile devices, which typically have limited display and inputting capabilities. Many attempts to provide Web content to mobile devices either do not consider the form factor of a mobile device, or require developers to create new content and applications for each platform that they want to support. The Wireless Edition avoids these shortcomings by dynamically converting content into the format and form factor of the target device. Using the Wireless Edition, developers write Web content once and distribute it to a variety of wireless devices, such as pagers, personal digital assistants, and mobile phones.

### 1.2.2 User's View

End users of the Wireless Edition access mobile services from the Wireless Edition device portal. The device portal displays a list of Wireless Edition-generated services and folders. Users can configure their device portals by selecting the services that they want to access by creating bookmarks and by organizing services in folders.

#### Figure 1-2 The Wireless Edition Device Portal

Text description of the illustration int_devp.gif

## 1.3 How Wireless Edition Works

The Wireless Edition works by isolating content acquisition from content delivery using XML (Extensible Markup Language), a standards-based language for creating structured documents. Because it isolates content from presentation, XML is an ideal language for exchanging data between diverse platforms.

The Wireless Edition provides an intermediary format layer, the Wireless Edition XML, between the source format and the target format. The Wireless Edition XML enables developers to adapt new content sources from existing target platforms, or develop new target platforms for existing content. See the Oracle9i Application Server Wireless Edition Developer's Guide for more information on Wireless Edition XML.

#### Figure 1-3 Isolating Content Acquisition from Content Delivery

Text description of the illustration int_isol.gif

Using the Wireless Edition, developers can build mobile applications that allow users to access email, calendars, flight information, or buy tickets. Users can continue to access certain applications and data when they go offline. When the applications go back online, they synchronize with backend services.

The Wireless Edition makes Web content available in a variety of markup languages. The architecture of the Wireless Edition uses services, adapters, and transformers to convert Web content into an XML object. The conversion of Web content, or source content, into an XML object is initiated when a user requests a Wireless Edition service. The Wireless Edition then processes the request as follows:

1. The request manager performs user-level preprocessing, including user authentication.

2. If the user is a valid Wireless Edition user, the request manager creates a request object, which it forwards to the master service associated with the request.

3. The master service invokes a Wireless Edition adapter to retrieve the requested content. A master service is a Wireless Edition object that implements a deliverable service. The adapter returns the content in Wireless Edition XML.

   Note: A user request is not the only event that can initiate a Wireless Edition service; a scheduled job can also initiate a service.

4. A transformer, in the form of an XSLT stylesheet or Java program, converts the content into the format appropriate for the target device.

Finally, the request manager returns the information to the user.

Note: For more information on Wireless Edition adapters, see the Oracle9i Application Server Wireless Edition Developer's Guide.

#### Figure 1-4 Processing a User Request

Text description of the illustration int_proc.gif

### 1.3.1 Alerts

Developers can use the Wireless Edition to build notification services that alert users to important information or events. The Wireless Edition supports these notifications, or "push applications", as email, SMS, and WAP-push. Users can make their own notifications without having to access the system. In addition, developers can also build location-sensitive mobile notification services that send a mobile user personalized promotional offers from stores or restaurants within the vicinity of the mobile user.

## 1.4 Location-Based Services

The Wireless Edition enables developers to assign a location to a service, making the service location-based. The Wireless Edition supports two types of location-based services, location-based services that are visible to users only at certain locations and services that provide content specific to current location of the Wireless Edition user. For example, a Wireless Edition user located in San Francisco would see content related to San Francisco, such as listings of restaurants or business in San Francisco. The Wireless Edition supports content-specific location-based services through customized adapter implementation and location-aware runtime support.

The Wireless Edition provides developers with the spatial API needed to build location-based services. In addition, the Wireless Edition renders mapping services from third-party providers without Wireless Edition developers having to write custom interfaces for each service. For information on creating location-based services, see Section 3.4, "Creating a Location-Based Service" in Chapter 3, "Wireless Edition Services" and Chapter 4, "Using the Region Modeling Tool". For information on the spatial API, see the Oracle9i Application Server Wireless Edition Developer's Guide and the Oracle9i Application Server Wireless Edition Java documentation.

## 1.5 Wireless Edition Architecture

The Wireless Edition architecture is designed to transform specific content from such sources as Web sites, Internet applications, or databases into XML. The Wireless Edition core is situated between external data sources and the user's device. The core is comprised of three components that process external content by performing the following functions:

- Content Acquisition

- Content Delivery

- Core Management

### 1.5.1 Content Acquisition

The Wireless Edition adapters and services perform the content acquisition functions of the Wireless Edition core.

#### 1.5.1.1 Adapters

A Wireless Edition adapter is a Java application that retrieves data from an external source and renders it in Wireless Edition XML. In the Wireless Edition architecture, adapters constitute the interface between the Wireless Edition server and the content source. When invoked by a master service, an adapter returns an XML object that contains the service content. This XML object is processed by the core of the Wireless Edition and then delivered to the user's device as a the response to the user's service request.

Note: For more information on Wireless Edition adapters, see the Oracle9i Application Server Wireless Edition Developer's Guide.

The Wireless Edition provides the following pre-built adapters:

##### URL Adapter

The URL adapter enables integration with existing Java, JavaServer Pages (JSPs), or XML applications. The URL adapter supports parameterization and cookie management, thus providing an easy way to call Wireless Edition services from remote applications and make them wirelessly available. The URL adapter is well suited for developers wishing to build a wireless Web site or internet application using only Java servlets and JSPs.

##### SQL Adapter

The SQL adapter accesses any JDBC-enabled data source. Developers can use the SQL adapter to create services that query databases, invoke PL/SQL procedures, or call stored procedures applications to be deployed as wireless applications.

##### Servlet Adapter

The Servlet adapter enables developers to integrate other applications that are already Java servlets, providing a convenient way to call them as Wireless Edition services and make them wirelessly available.

##### Stripper Adapter

Given a URL, the stripper adapter dynamically retrieves and converts the content of the URL target. Unlike the Web Integration adapter, which uses a predefined mapping of the source content, the stripper adapter dynamically processes the markup tags in the content. Currently, the stripper adapter either removes the original markup tags or leaves them intact. Developers can extend the stripper adapter, however, so that it processes the tags in another way.

##### Web Integration Adapter

The Web Integration adapter retrieves and adapts Web content. The Web Integration adapter works with Web Interface Definition Language (WIDL) files to map source content to Wireless Edition XML. Typically, the source format for the Web Integration adapter is HTML, but developers can also use the adapter to retrieve content in other formats, such as XML.

The Wireless Edition provides a visual tool for creating WIDL files, the Web Integration Developer. To create a WIDL file, developers identify the elements of a Web page that they want to make accessible to a service. Developers then associate output and input parameters to the source elements that they want to access in a Wireless Edition service.

Once developers create the WIDL file, they publish it to the Web Integration Server. Publishing a WIDL file to the server makes it accessible to master services in the Wireless Edition repository. For more information on using WIDLs, see the Web Integration Developer User's Guide and Web Integration Server User's Guide.

##### Custom Adapter

The custom adapter is a public interface to enable development of any specific adapter for an external resource using such tools as Oracle JDeveloper. Java and XML are two custom adapter APIs. Extending the Wireless Edition adapter classes enables the custom adapter to plug into the core engine. The key requirement is the output data from the custom adapter and transformation process must be a Wireless Edition DTD-compliant XML document.

##### Geocoding Adapter

The Geocoding adapter provides coordinates such as longitude and latitude for a given address

##### Routing Adapter

The Routing adapter provides routing directions based on landmarks, the source and destination addresses, or on the geocoding of the two addresses.

##### Yellow-Page Adapter

The Yellow Page adapter provides the capability to locate the Yellow-Page directories and businesses based on the wireless user's current location.

##### Mail Adapter

The Mail adapter is based on the JavaSoft's Java Mail API and provides mail services to both POP3 and IMAP4 mail servers. It provides basic authentication and mail session management. The Mail adapter enables users to browse, create, delete, reply, and forward mail and folders from their wireless devices.

##### Directory Adapter

The Directory adapter provides directory service and is based on the JavaSoft Java Naming Directory Interface (JNDI) 1.2 specification. The Directory adapter also enables you to create hyperlinks.

##### Provisioning Adapter

The provisioning adapter enables developers to manage the Wireless Edition users from a service interface. It allows developers to add, remove, or modify users by invoking a Wireless Edition service. A developer must have administrative privileges to use the provisioning adapter.

##### Location-Based Service (LBS) Adapter

The location-based service (LBS) adapter provides geo-services using the physical location of the wireless device.

#### 1.5.1.2 Services and Master Services

The Wireless Edition encapsulates external sources, such as a Web page or database information as a service. Services enable end users to access the functionality of the Wireless Edition adapters. Services represent the link between the content source and the delivery target. They tie a specific adapter to the logical devices in the Wireless Edition repository. Services also define how users access the adapter. They can restrict or grant user access to the adapter's parameters. Services can set default values for a parameter, they can enable users to set a default value, or they can hide the parameter from users altogether.

Master services provide the actual implementation of the service. They specify the adapter used for the service and any service-specific parameters. Each master service is based on one adapter. A master service creates its own instance of the adapter it uses. Therefore, several services can use the same type of adapter, and each can pass its own service-specific argument values.

A master service provides the actual implementation of the service. It specifies the adapter used for the service and any service-specific parameters

#### 1.5.1.3 Service Manager

The Service Manager controls the services by managing the interaction between the runtime engine and a specific service. When the service manager receives a request to access a Web service, it invokes the appropriate adapter and passes the parameters required to bind to the service as bind variables and accepts the resulting XML document from the adapter. In addition, the Service Manager loads an adapter that is common to a set of services once, pools requests to access various services and manages security between the Wireless Edition and the services.

### 1.5.2 Content Delivery

A Wireless Edition transformer is either a Java program or an XSLT (eXtensible Stylesheet Language for Transformations) stylesheet that converts content returned by the Wireless Edition adapters into the target format of a device (for example, HDML, VoxML) or into another Wireless Edition format.

Note: For more information on Wireless Edition transformers, see the Oracle9i Application Server Wireless Edition Developer's Guide.

The Wireless Edition provides two types of transformers:

Generic service transformers for languages such as WML. A generic transformer can convert Wireless Edition-compliant XML into a generic WML that works on any WAP-compliant wireless phone.

Device-specific transformers are optimized for a specific device. Instead of using a generic WML transformer, a developer can use a transformer specific to a particular device that would exploit the characteristics of that device completely.

The Wireless Edition provides many pre-built adapters as well as device transformation rule files that enable developers to create support for any type of device and markup language. The transformers provided by the Wireless Edition include the following target formats:

##### WML 1.1

The wireless markup language defined by the WAP Forum. The Wireless Edition provides transformers for a general WML implementation, as well as for device-specific WML implementations.

##### Tiny HTML

A minimal HTML implementation suitable for handheld devices, such as Palm Computing Platform and Windows CE devices.

##### VoxML

The Motorola markup language that enables voice interaction with applications.

##### HDML

The Handheld Devices Markup Language is a simplified version of HTML designed specifically for handheld devices.

#### Plain Text

The plain text transformer converts content for Short Message Service-capable devices and email applications.

### 1.5.3 Core Processing

Wireless Edition's runtime engine abstracts the content sources as a set of wireless services that can be personalized by end users. The Wireless Edition repository stores all information about users, user preferences, and various services accessible from the Wireless Edition.

The Wireless Edition server performs the primary tasks associated with acquiring and delivering mobile services; it receives user requests, and adapts and transforms content.

#### Figure 1-5 The Wireless Edition Server

Text description of the illustration int_wsrv.gif

The Wireless Edition runs on the Oracle8i Application Server (iAS). It uses Oracle8i for its persistent object storage. When you implement the Wireless Edition, you primarily create and manage the repository objects, and establish relationships between them.

#### 1.5.3.1 Service Designer

The Service Designer is a visual interface for implementing and managing and creating such objects in the Wireless Edition repository as services, folders, and adapters. The Service Designer includes function wizards, such as the Master Service Creation Wizard, the Transformer Testing Tool, and the Region Modeling Tool. The Service Designer also includes a pluggable API. For more information on the Service Designer, see Chapter 3, "Wireless Edition Services". For more information on the Transformer Testing Tool, see the Oracle9i Application Server Wireless Edition Developer's Guide.

#### Figure 1-6 The Service Designer

Text description of the illustration int_svd1.gif

#### 1.5.3.2 Personalization Portal

Users configure their device portals from the Wireless Edition Personalization Portal. The Personalization Portal is a Web-based interface that users access from either a desktop computer or from a mobile device.

The Personalization Portal enables users to set frequently entered parameters, such as email addresses, passwords, PINs, and account numbers.

#### Figure 1-7 The Personalization Portal

Text description of the illustration int_plog.gif

By modifying the elements that the Wireless Edition uses to generate the Personalization Portal, users can rebrand the Personalization Portal. The Wireless Edition uses JavaServer Pages, image files, and stylesheets to generate the Personalization Portal. For more information on configuration from the desktop, see Chapter 6, "Personalization from Desktops". For more information on personalization from a device, see Chapter 7, "Personalization from a Device".

## 1.6 Extensibility: Adding Adapters and Transformers

Developers can supplement the adapters and transformers that the Wireless Edition provides with those create. The Wireless Edition provides the tools and interfaces that developers can use to create customized adapters and transformers. By isolating the content source format from the target format, the Wireless Edition enables developers to easily plug in new content sources or target platforms. When developers create an adapter for a new content source, or customize a Wireless Edition adapter, the content is immediately available to all target platforms.

Similarly, when developers create a transformer for a new device platform, all of the existing content is immediately available to the new target platform.

This provides flexibility for adapting and delivering content, but it also enables developers to present information in a device-specific manner. That is, information and applications can be customized for the form factor of each device.

| Copyright © 2001 Oracle Corporation. All Rights Reserved. |
Library | Service | Contents | Index