![]() | ![]() |
Home |
|
|
iAnywhere Wireless Server Developer's Guide |
|
| Chapter 1 Welcome to iAnywhere Wireless Server |
Chapter 1
This chapter provides an overview of the product objectives and architecture, as well as a guide to the components that make up iAnywhere Wireless Server.
iAnywhere Wireless Server provides a comprehensive infrastructure for developing and deploying always available enterprise applications. It is a mid-tier server that provides access to enterprise data stores, and enables the development of applications for mobile and wireless clients as well as traditional desktop and laptop clients.

iAnywhere Wireless Server enables the development and deployment of always-available applications for today's mobile computing environment--thin-client applications and smart-client applications with local data storage capabilities.
Thin-client applications
Also called Web applications, these serve browser-based clients, which have no local data storage. The application as well as any data it uses is delivered to the client when it connects to the server. This class of client includes traditional desktop browsers such as Internet Explorer and Netscape, as well as mobile phone browsers and browsers running on handheld devices.
Smart-client applications
These serve clients with local data storage. They include traditional desktop and laptop applications such as sales-force automation applications, as well as applications running on handheld devices or embedded devices.
iAnywhere Wireless Server brings wireless applications into the enterprise by integrating a variety of enterprise data stores into wireless applications, including file systems, relational databases, and enterprise resource planning systems.
This documentation covers all versions of iAnywhere Wireless Server. Not all features described in this documentation are available in all versions of iAnywhere Wireless Server.
This section provides a brief overview of iAnywhere Wireless Server editions. In each edition, some components may be separately licensable. For full details on the components you have licensed, see your Sybase License Agreement.
The developer versions include the Sybase PowerJ Java development tool. PowerJ is not included in deployment versions.
iAnywhere Wireless Server is available in the following editions:
iAnywhere Wireless Server Developer
You can develop applications using this edition, but you are not licensed to deploy those applications.
The SAP R/3 features described in Using iAnywhere Wireless Server with SAP R/3 are not available in this edition.
iAnywhere Wireless Server Deployment Advanced
For the deployment of applications.
The SAP R/3 features described in Using iAnywhere Wireless Server with SAP R/3 are not available in this edition.
iAnywhere Wireless Server Deployment Enterprise
For the deployment of applications with more demanding requirements.
The SAP R/3 features described in Using iAnywhere Wireless Server with SAP R/3 are not available in this edition.
iAnywhere Wireless Server for SAP R/3 Developer
For development, but not deployment, of applications including SAP R/3 access.
iAnywhere Wireless Server for SAP R/3 Deployment
For deployment of applications including SAP R/3 access.
iAnywhere Wireless Server for Enterprise Portal
Available only as part of the Enterprise Portal EP Mobile and Wireless Options. The edition includes the ability to deploy applications that work with Sybase Enterprise Portal.
The Enterprise Portal EP Mobile Options include the following:
EP Mobile Option
The Application Server component of iAnywhere Wireless Server.
EP Mobile Messaging Option
The Message Server component of iAnywhere Wireless Server.
EP Mobile Applications Option
The Synchronization Server component of iAnywhere Wireless Server.
For more information on these components, see iAnywhere Wireless Server components .
iAnywhere Wireless Server includes three server components:
Synchronization Server
Smart-client application clients can synchronize with enterprise data stores in a transaction-based model.
Application Server
A J2EE-based application server provides content delivery services, application management services such as user authentication and session management, and enterprise data access. It is the central hub for the execution of business logic.
Message Server
J2EE-based messaging provides inter-application message delivery as well as server-initiated synchronization for mobile clients.

The application server at the hub of the product provides a set of services, each designed for the needs of wireless enterprise applications:

Each component of iAnywhere Wireless Server is designed with the following in mind:
Security
Certificate-based encryption and user authentication throughout the product ensures that iAnywhere Wireless Server applications can be built to conform to the highest security standards.
Open standards
With its Java 2 Enterprise-Edition (J2EE)-based application server and support for XML-based development as well as components built using the Microsoft COM model, Enterprise Java Beans, or C++ components iAnywhere Wireless Server is designed around open standards.
Enterprise requirements
In addition to the requirements for security and openness, enterprise applications demand scalability, reliability, and transaction-based computing, even on small devices. iAnywhere Wireless Server is designed with these requirements at its core.
Mobile and wireless orientation
Applications running on wireless clients, whether mobile or Web-based, have limited resources in terms of both storage space and processor speed. Communication with the server has very limited bandwidth compared to LAN or even WAN-based applications.
Development and deployment of wireless enterprise applications is a challenging task. Combining wireless access with enterprise features in a manner that can be extended as technologies change demands careful planning and design.
iAnywhere Wireless Server provides a set of services for taking e-business applications to mobile and wireless devices.
iAnywhere Wireless Server is designed to provide the platform needed for the development of the current applications, and for the next generation of wireless enterprise applications.
iAnywhere Wireless Server permits both client-initiated synchronization and server-initiated synchronization. The latter is provided by the J2EE-based Message Server.
Synchronization with relational databases takes place directly, and synchronization with enterprise resource planning systems is mediated by the application server to provide quicker turnaround.
iAnywhere Wireless Server data synchronization is provided by Sybase MobiLink technology, which supports enterprise and workgroup databases such as Sybase Adaptive Server Enterprise, Sybase Adaptive Server Anywhere, Oracle 8, Microsoft SQL Server, and IBM DB2.
Data synchronization is available for smart-client applications, which have local data storage. These applications are built with Sybase UltraLite technology, which is part of iAnywhere Wireless Server. Supported platforms include the Palm Computing Platform, Windows CE, WindRiver VxWorks, and Java.
For information on data synchronization, see the Replication and Synchronization Guide in the SQL Anywhere Studio documentation set.
In contrast to applications intended solely for desktop browsers, thin-client wireless applications face the need to deliver content in a multitude of formats. iAnywhere Wireless Server provides content delivery services for wireless browsers as well as traditional browsers:
Device identification
The ability to identify the client browser and device making a request and customize the output for the particular device. This can be implemented at a coarse level (by providing WML, HDML, or HTML markup language) or at a finer level, such as by adapting the content to the browser screen size.
For more information, see Customizing responses by user agent .
Personalization
The combination of user authentication, dynamic content, and session management provides personalization of Web sites and applications.
XML transformations
For Web sites that wish to maintain a single set of content for all browsers, documents can be routed automatically through the appropriate stylesheet transformations for delivery to the client.
For more information, see Delivering content .
Parallel content model
For sites that wish to maintain separate content for wireless clients, iAnywhere Wireless Server Web Publishing services enable you to deliver parallel documents from a single URL.
For more information, see Delivering content .
Template-based and pure servlet development
iAnywhere Wireless Server supports both of the common approaches to Web applications. You can embed markup language in your Java code (the pure servlet approach) or you can embed code in markup-language pages, or templates. Both JavaServer Pages (JSP) and eXtensible Server Pages (XSP) methods of carrying out template-based development are supported.
For information on template-based development, see Developing Template-Based Applications . For information on pure servlet applications, see Handling Individual Requests .
Built on the J2EE Java servlet model, iAnywhere Wireless Server provides applications with access to the following features:
User authentication
iAnywhere Wireless Server provides built-in login forms for a variety of browsers, and automatic management of authentication once the user does log in.
Session management
Straightforward access to session-level information, including user-defined objects, permits the construction of full-featured thin-client applications.
Flow management
iAnywhere Wireless Server provides a filter-based model of application flow.
Scalability
Object lifecycle management, thread management, and load balancing across servers provides enterprise class scalability. Caching of pre-compiled XSL stylesheets, caching of XML documents, as well as instance pooling of Java objects, enables high performance.
For more information, see Developing Web Applications .
iAnywhere Wireless Server provides applications with access to enterprise data:
XML-based access to relational databases
For integration with other content, query results can be obtained, and database updates supplied, as XML documents.
Standards-based database access
JDBC and ODBC support for relational database access enables a variety of relational databases to be used with iAnywhere Wireless Server.
Connection pooling
iAnywhere Wireless Server provides built-in connection pooling and connection-pool management to provide efficient and scalable database access.
SAP R/3 access
iAnywhere Wireless Server for SAP R/3 includes an integration component that enables applications to be built around SAP R/3 data and business logic.
iAnywhere Wireless Server provides J2EE-based messaging services, which can be remotely hosted or installed on a local network. The messaging services provide a store-and-forward method for communication between pieces of a wireless application, and include security, user authentication, and guaranteed delivery features.
Messaging services enable features such as server-initiated synchronization to be added to applications.
For more information, see Messaging .
This section lists possible architectures for thin-client applications and smart-client applications that you can build with iAnywhere Wireless Server.
Thin client applications have no local data storage on the client, and are typically accessed through a browser.
Thin client applications developed with iAnywhere Wireless Server are built around the application server, although synchronization and messaging facilities can also be integrated. The diagram illustrates a possible architecture for thin-client applications.
Thin clientsThe development of wireless Internet access has introduced a new range of Web clients, and a new set of markup languages associated with them. At one point, the Web was entirely HTML-based, but this is no longer the case. Some microbrowsers support HDML and some support WML. As other devices become available, there is the possibility that applications may have to accommodate other XML-based markup languages.
From the developer's point of view, the major difference between clients is the markup language in which responses need to be delivered. Desktop browsers require HTML or perhaps XML documents, while microbrowsers require HDML or WML documents.
The iAnywhere Application Framework detects the browser making each request, and makes agent-specific information available to your application.
iAnywhere Wireless Server provides facilities for developing Web applications for any browser. It specifically recognizes the following browsers:
Nokia WML browser
Ericsson WML browser
Openwave (formerly Phone.com) UP browser
Palm VII PQA viewer
Microsoft Pocket Explorer
NTT DoCoMo CHTML i-mode browser
Neomar browsers for RIM pagers and Palm organizers.
Microsoft Internet Explorer
Netscape browsers.
With iAnywhere Wireless Server you can develop Web applications for browsers that interpret a variety of markup languages.
HDML browsers
The UP mobile phone browser provided by Phone.com supports HDML markup language.
WML browsers
Newer versions of the UP mobile phone browser from Openwave, as well as platforms Ericsson, Motorola, and Nokia, all support WML.
XML browsers
Some HTML browsers can read and process XML documents. The capabilities differ from browser to browser.
HTML browsers
Full-featured HTML browsers such as Internet Explorer and Netscape are commonly found in desktop and laptop PCs. Limited HTML browsers are used in some handheld devices. For example, Web clipping services for Palm organizers are based on HTML browsers, and i-mode browsers employ CHTML, a variant of HTML.
VoiceXML
Not based on traditional browsers, iAnywhere Wireless Server supports VoiceXML, the standards-based markup language for voice applications.
For more information on VoiceXML, see http://www.voicexml.org .
VoxML
iAnywhere Wireless Server supports VoxML, Motorola's markup language for voice applications.
iAnywhere Wireless Server is designed to simplify the process of delivering content to each of these browser types from a single application. It includes built-in automatic identification of browser type, and reformatting of some documents for each type. In addition, it provides a programming interface for you to develop your own multi-browser features.
Tools for wireless developmentThe following are useful, but are not provided:
A wireless SDK or emulator
For example, you can obtain HDML and WML versions of a mobile phone emulator from Openwave, or a WAP development kit from Ericsson, Motorola or Nokia.
In a deployed environment, WAP phones require a WAP gateway between a Web server and the phones. The WAP gateway uses HTTP to talk to the Web server, and WAP protocols to talk to the clients. Emulators typically have an option to take HTTP output directly, and so avoid the need for a WAP gateway during the development phase.
A WAP gateway
In a deployment environment with some WAP clients, you need a WAP gateway to serve content to those clients.
Smart-client applications employ a data store on the client device, and so can be used whether or not they are connected to the server.
iAnywhere Wireless Server provides a transaction-based data store on the client to protect data integrity, and synchronization services to bring the wireless application into the enterprise. The diagram illustrates one architecture for smart-client applications.

Smart clients have local data storage capabilities. Consequently, smart-client applications are available for use whether or not a connection is available to the server. The application itself and a local copy of the data are both maintained on the device. A connection to iAnywhere Wireless Server is required periodically, for data synchronization.
Smart-client applications may synchronize over a wireless network. In addition, iAnywhere Wireless Server can send messages to smart clients over a wireless network that prompt actions such as synchronization.
The offline component of smart-client applications ensures that they can be used while disconnected from a network. Once an application is used in this manner, synchronization is needed to keep its data synchronized with a central enterprise data store. For example, UltraLite applications or Adaptive Server Anywhere applications running on laptop computers or handheld devices can use MobiLink synchronization to ensure data integrity across an enterprise.
The connected component of smart-client applications can be wireless or wired. For example, MobiLink synchronization can take place across a TCP/IP-based wireless network.
The technology frontier is advancing rapidly for smart-client applications. Many applications that are best developed as think-client applications today may benefit from a smart-client implementation in the future, as the processing and storage capabilities of wireless clients expand, and as the capacity of wireless networks increases.
iAnywhere Wireless Server includes Adaptive Server Anywhere and its UltraLite deployment option for building and deploying Always Available applications.
Smart-client applications can be written in C/C++, and run on a variety of devices, including those running the Palm Computing Platform, and devices running Windows CE or VxWorks operating systems. Alternatively, they can be written in Java and run on any platform for which a Java VM is available.
The iAnywhere Wireless Server messaging system can send notifications to client devices. This feature enables server-initiated synchronization and other facilities. Enhanced operation of a client application when connected to a server may also be possible through the use of XML-based inter-application protocols.
The information in this section applies to the iAnywhere Wireless Server for Enterprise Portal edition of the software only. This edition is available only as part of the Enterprise Portal EP Mobile Option.
Sybase Enterprise Portal provides a personalized, Web-based entry point to all your enterprise information. It delivers a continuously available, end-to-end secure environment that integrates existing business applications and databases, real-time data feeds, business events, and Web content into a coherent information interface.
Sybase Enterprise Portal is a multi-level solution, providing the following services:
Application integration services
Interfaces to disparate back-end data resources.
A set of middle-tier services provides services that enable the development and deployment of a portal, including the following:
Management services
An integrated set of tools that provides a single interface for portal administration.
Search
Concept-based and keyword searching of back-end data sources.
Security
A single sign-on, end-to-end security system.
Developer services
Tools to customize the portal.
Data movement services
Replication to and from both Sybase and third-party databases.
Content management services
Authoring, development, administration and delivery of dynamic content.
Within this framework, iAnywhere Wireless Server acts as a content management service. iAnywhere Wireless Server and Enterprise Portal fit together as follows:

The diagram illustrates iAnywhere Wireless Server as separate from Enterprise Portal. For example, you may run iAnywhere Wireless Server in an application server on a Windows NT machine, and Enterprise Portal on a Sun Solaris machine. However, iAnywhere Wireless Server and Enterprise Portal can also be installed into a common application server on Windows NT.
With iAnywhere Wireless Server, you can make Enterprise Portal applications and content available to wireless clients.
Thin-client applications developed with iAnywhere Wireless Server can carry out the following tasks with Enterprise Portal:
Initiate and use an Enterprise Portal session
iAnywhere Wireless Server built-in functions provide access to user authentication using the Enterprise Portal Access Control Database. You can therefore use Enterprise Portal user authentication and security services in your iAnywhere Wireless Server application. These Enterprise Portal services are designed to accommodate the large number of users that may use an enterprise Web site.
Call Secure Business Objects
Once a session is established, you can call Enterprise Portal Secure Business Objects from your iAnywhere Wireless Server application.
Secure Business Objects are components that contain logic to connect to a data store, and to perform access control checks on the user component requests.
The iAnywhere Wireless Server classes for thin-client application development reside in an application server. The Enterprise Portal security services and secure business objects are also components in an application server.
You can run iAnywhere Wireless Server and Enterprise Portal classes in the same application server, if that server is running on Windows NT or Windows 2000. Alternatively, you can run the iAnywhere Wireless Server classes on an application server running on Windows NT or Windows 2000, and the Enterprise Portal services on a separate application server running on a separate machine, and perhaps on a different operating system.
You can make calls from iAnywhere Wireless Server classes to Enterprise Portal classes in the same or a different application server using the IIOP protocol.
For more information, see Developing applications for Enterprise Portal .
iAnywhere Wireless Server includes a Java Message Service (JMS)-based messaging facility. JMS can be used for asynchronous communication between enterprise applications, or from enterprise applications to wireless devices.
You can integrate messaging into Enterprise Portal applications by calling JMS functions from an application that operates within an Enterprise Portal session.
Smart client applications developed using the Adaptive Server Anywhere or UltraLite technologies included with EP Mobile can synchronize data using the MobiLink synchronization server.
iAnywhere Wireless Server includes complete user and reference documentation. Following is a summary of the documentation and how you can access it.
The iAnywhere Wireless Server Developer's Guide is available as online help or in PDF format. From the Start menu, click Programs-->iAnywhere Wireless Server 2.0, and then select--> Developer's Guide (HTML Help, WinHelp or PDF).
iAnywhere Wireless Server reference material is available in Javadoc format. From the Start menu, click Programs-->iAnywhere Wireless Server 2.0--> API Reference.
Complete SQL Anywhere Studio documentation is available, including UltraLite and MobiLink documentation. From the Start menu, click Programs-->Sybase SQL Anywhere 7-->SQL Anywhere Documentation.
Complete Jaguar CTS documentation is available. From the Start menu, click Programs-->Sybase--> Jaguar CTS--> Jaguar CTS 3.6.1 Documents.
Features in this release are subject to change in later releases of the software.
The following features are new in version 2:
Messaging
iAnywhere Wireless Server provides messaging capabilities.
For information, see Messaging .
Web server integration
iAnywhere Wireless Server can now run as an NSAPI or servlet extension to a Web server.
For information, see Setting up the Redirector .
SAP integration
iAnywhere Wireless Server can access SAP systems.
For information, see Using iAnywhere Wireless Server with SAP R/3 .
Enterprise Portal integration
iAnywhere Wireless Server can be combined with Sybase Enterprise Portal for a complete solution to portal development.
For more information, see Working with Sybase Enterprise Portal .
JavaServer Pages
iAnywhere Wireless Server can now process dynamic content using JavaServer Pages (JSP).
For information, see Using JavaServer Pages .
Dynamic XML
iAnywhere Wireless Server includes Dynamic XML technology in the form of an eXtensible Server Pages (XSP) processor, to provide dynamic content from XML documents.
For information, see Using Dynamic XML .
Extended user agents
iAnywhere Wireless Server now recognizes more user agents, and provides features such as predefined login forms for each user agent type.
For information, see Getting Started with Thin-Client Applications .
Enhanced XML server
The XMLServer component that provides XML-based data retrieval and updates has been enhanced to support caching.
For information, see Database Access Using XML Server .
Revised documentation
The documentation has been completely revised and rewritten since the previous release.
When iAnywhere Wireless Server is installed, three sets of program shortcuts are created:
Sybase
includes shortcuts for Jaguar programs, samples and documentation.
Sybase SQL Anywhere Server
includes shortcuts for Adaptive Server Anywhere programs, samples and documentation.
iAnywhere Wireless Server 2.0
includes shortcuts for the programs most commonly used in iAnywhere Wireless Server applications.
Following are the iAnywhere Wireless Server program shortcuts:
API Reference
is the Javadoc (generated Java reference material) for all the packages, classes, interfaces and methods provided with iAnywhere Wireless Server.
Configure iAnywhere Wireless Server
Starts a configuration utility. This configuration is an optional part of the installation process.
Developer's Guide (HTML Help)
is this manual, in HTML Help format.
Developer's Guide (PDF)
is this manual, in PDF format.
Developer's Guide (WinHelp)
is this manual, in WinHelp format.
iAnywhere Solutions Home Page
is a shortcut to the Web site http://www.sybase.com/solutions/mobilewireless/ .
iAnywhere Wireless Server
starts the Jaguar CTS application server with installed iAnywhere Wireless Server components.
iAnywhere Wireless Server (Debug)
starts a debug version of the Jaguar CTS application server with installed iAnywhere Wireless Server components.
iAnywhere Wireless Server Start Page
is a shortcut to a Web page that provides links to Jaguar documentation, samples, and iAnywhere Wireless Server documentation.
Manage iAnywhere Wireless Server
starts Sybase Central with the Jaguar Manager and Security Manager plug-ins loaded.
Manage MobiLink Synchronization
starts Sybase Central with the MobiLink plug-in loaded, for administering synchronization.
MobiLink Synchronization Server Sample
starts MobiLink on a sample database.
Start Demo DB and Configuration DB
starts an Adaptive Server Anywhere network engine on a sample database.
|
|