Sun Java Solaris Communities My SDN Account Join SDN
 
J2EE

J2EE Client Provisioning Overview

Early Access
 
Bug Database
Forums
 
Tutorials & Code Camps
Online Sessions & Courses
Instructor-Led Courses
 
 
Clients come in many sizes, ranging from wireless mobile devices and PDAs, all the way up to the desktop. The functionality supported by clients can vary as well. Simple clients deliver only web pages. More sophisticated clients, known as rich clients, can deliver services with multimedia content: sampled audio, synthetic tones, MIDI, and video. Rich clients can be built on the Java 2 Platform, Micro Edition (J2ME) or Java 2 Platform, Standard Edition (J2SE); they can even be built on platforms that do not support Java technology. In the wireless and wire-line world, managing, upgrading, and tracking the usage of rich clients presents new challenges. J2EE Client Provisioning meets the need by providing a mechanism for managing the richly interactive applications and content that can be run on them.


Figure 1: Rich clients come in many sizes and run a variety of applications.


In a world where every client can interact with a service through its browser, distributing the service is a simple matter of publishing a URL. Maintaining and upgrading the service means upgrading the J2EE technology-based application at the server side.

J2EE Client Provisioning defines a central repository of client applications and content called a provisioning portal, whose job is to manage the distribution of rich clients and their content. Launching a new version of an interactive game or adding a new feature of a customer relationship management application can be controlled centrally by the application developer.


Figure 2: The provisioning portal manages the distribution of rich clients and their content from a central repository.


Users of the client applications and services experience this repository as a portal from which they can discover the rich-client applications. The portal then delivers the pieces they need to their devices. A provisioning portal can be compared to a traditional vending machine: users select from a display of available items, and the vending machine delivers their selections.


Figure 3: The vending machine analogy: users can choose a service from the provisioning portal.


This technology extends the J2EE platform with a number of APIs and facilities to enable provisioning portal development. The key features include:
  • APIs to customize the provisioning portal. These APIs are used to interact with the delivery process, so that portal can implement various policies using J2EE components. These policies can include checking that a user has prepaid for an application, or updating the user's profile to track what applications are being used. It also includes APIs to interact with the repository of client applications and bundles in the provisioning server. This makes it easy to develop a portal that lists suitable applications that can be provisioned on request.
  • A Provisioning ARchive (PAR). This is a file format that standardizes the way in which rich client applications and content is packaged and submitted to the provisioning portal. This file format ensures that developers can provision their applications or content through any server that supports J2EE Client Provisioning.
  • an extensible Service Provider Interface (SPI). This enables the provisioning server to be extended so that it can provision new types of devices whether based on Java technology or not. The SPI defines a software component called an adapter. An adapter encapsulates the system specifics of provisioning a particular type of device. For example, the reference implementation comes preloaded with an adapter for J2ME MIDP devices.



Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.