Tutorials : Java Client Provisioning :

Adapters:

A provisioning adapter is a software component that implements a particular provisioning model. A Provisioning model is the way in which a client device interacts with a provisioning server. Provisioning models define a networking protocol used for delivery of client bundles to the device, and may define a choreography of interactions using this protocol for delivering a bundle. Some examples are J2ME MIDP and JNLP protocols. Provisioning adapters are written by J2EE developers who understand the details of a provisioning model.

A provisioning server can host one or more provisioning adapter components. Provisioning servers can be extended to support delivery to a new client device by configuring a suitable provisioning adapter for that client device into the provisioning server.

The Adapter Component Model defined by the Client Provisioning Specification is responsible for managing network connections from client devices and passing requests on to the provisioning server. Adapters are responsible for translating sequences of network interactions from the client device the adapter supports into the semantics of delivery defined by the provisioning API. For example, the provisioning adapter may need to translate an HTTP request into a call to retrieve a content file from a particular client bundle by calling a provisioning application's DeliveryComponent, or for notifying the DeliveryComponent of a client notification of successful installation.

The contract between an adapter component and the provisioning framework is defined by the javax.provisioning.adapter.Adapter interface. Provisioning adapters must expose a Java class with a public no arguments constructor that implements this interface to the provisioning server.

Stocking:

Once the code that implements the provisioning portal has been written by the J2EE developer and deployed onto a Client Provisioning conformant application server, the next task is to ensure that there are client bundles in the repository accessible to the provisioning portal. This process of adding and removing client bundles from the repository is known as stocking.

The task of stocking consists of three main tasks: the first one is pre-verification. This verifies the client bundle. It checks if the client bundle conforms to the formats it claims it is. It also checks for API signatures, viruses etc. The second step is to add and register the client with the provisioning server. The third step is to describe the client bundle to the provisioning server. The provisioning server has the intelligence to discover and deliver client bundles to client devices. For this purpose it needs to have the description about the various client bundles added and registered with it. The client provisioning specification defines a standard packaging format for client bundles for conveying this information. It is envisioned that different implementations of the Client Provisioning specification will provide tools that can stock their provisioning server with client bundles. In standardizing the packaging format, the client bundle developer is assured that his or her client bundle can be provisioned by any provisioning server conforming to this specification.

The standard packaging format consists of a Provisioning Archive or a PAR file and a XML descriptor called the provisioning descriptor. The PAR file is similar to a Java Archive file or JAR file.

A PAR file can contain one or more logical bundles that the provisioning server will provision. The PAR file will also carry the provisioning descriptor. The provisioning descriptor contains information that the client bundle developer wishes to convey to the provisioning server administrator in order to stock it successfully into the Repository.

Conclusion:

At the time of writing of this article the Java Client Provisioning framework is at the proposed final Draft stage of the Java Community process. It is going to be some time before the final draft is accepted and becomes a standard in the industry. The recent surge in the Mobile devices market is a good sign for client provisioning. As more vendors and customers move to the mobile market the demand for interactive services based on the provisioning framework would go up.


Benoy Jose is a web developer with over six years of experience in J2EE and Microsoft technologies. He is a Sun Cetified programmer and enjoys writing technical and non-technical articles for various magazines.


How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.