Access Services provide a familiar programming model for Java EE developers so they can reuse their skills and software components to develop applications that run on managed clients. Additionally, Access Services enable managed client applications to support offline operations. Access Services also enable you to move key components of your application to the client platform through the use of standard APIs.
For desktop, the client platform provides an embedded Web container to run Java EE Web applications that support the Servlet 2.3/2.4/2.5, JSP 1.2/2.0/2.1, JSF 1.1, JSTL, and Struts specifications. For devices, the Web container supports only Servlet 2.3/2.4 and JSP 1.2/2.0 to conserve resources. The Web container enables you to move your Web applications from the server to clients to preserve the existing browser user interface, leverage your existing Web components, and provide a richer user experience through support of local and offline operations.
In addition, the desktop client provides a portlet container to run portlets that support the JSR 168 specification.
The following key services support local and offline operations:
- You can use the JDBC API with DB2® Everyplace® or Apache Derby as a local SQL database when more advanced data manipulations are required than can be supported by placing data in a local file store. These databases can periodically synchronize with Enterprise databases to capture data on the client for use by the client application when the user is offline. These databases can also protect local data through data encryption.
DB2 Everyplace is an extremely small footprint relational database (200-300 KB). It is especially suitable for embedded devices, where large databases and sophisticated queries are not normally required, but can also be used on larger devices. DB2 Everyplace provides transaction support covering updates to multiple tables within a single transaction, encrypted tables, and zero client administration.
Apache Derby is a 100% pure Java relational database, providing SQL-92, partial SQL-99, and SQLJ support, indexes, triggers, transactions, encryption, and the standard features that one expects of a relational database. Because Apache Derby contains a larger number of features, it is approximately 2 MB in size. Therefore, Apache Derby might not be suitable for smaller, resource-constrained devices.
- You can use the Java Message Service (JMS) and MQTT programming interfaces when applications require messaging, notification, and event services. Micro broker provides the messaging service, supporting both point-to-point and publish-and-subscribe messaging patterns. The broker decouples applications from each other, allowing applications to send messages whether or not the receiving application is running. In addition to providing messaging services for applications connected to micro broker, the broker provides assured message delivery to other remote messaging servers such as WebSphere® MQ. Offline capability is supported, allowing messages to be sent to remote servers when there is no connectivity and for message delivery to proceed when connectivity returns.
Applications wishing to use messaging services access them using messaging clients. Clients can run in the same process as the broker or a different one, supporting intra-process, inter-process, and inter-node messaging. Access to the messaging services is provided in C, Java, and Microsoft® .NET.
- For the desktop client, you can use the Network Layer API to determine the status of the network and remote resources when running your applications. You can then execute your application logic accordingly.
For online operations, the client platform supports Web Services so client applications can consume and provide Web Services in a secure manner. As a result, your users have access to a broad range of business data and consumer information. The client platform implements Web Services similar to those defined in JSR 172 and provides support for document literal encoded streams that exchange well-typed data objects so client applications can consume Web Services. You can also develop an OSGi service and, during registration of the service, indicate that it is also available as a Web Service. For the desktop client, you can also use Axis Web Services so client applications can consume Web Services, with full support for JAX-RPC (JSR 101).
The SyncML4J (SyncML for Java) toolkit enables you to develop data synchronization and device management client applications based on the Open Mobile Alliance (OMA) Data Synchronization (DS) and Device Management (DM) standard protocols. As a framework, SyncML4J supports user-defined data sources. Data sources can range from simple resources, such as memos and images, to complex schema-aware data types, such as relational databases or PIM databases.
For the desktop and device clients, security services support: a key store, which provides an encrypted local repository for user security information; accounts, which allows access to user account information (for example, user ID and password). The desktop client supports single sign-on, which minimizes logon prompts. Additional services include: database lifecycle management, which provides uniform interoperability with different relational databases; and synchronization manager, which allows users and applications to initiate, control and monitor synchronization of local data stores using one or more synchronization services.
Parent topic: Overview of the managed client platform: XPD622