Printed: May 4, 2024
From: http://jcp.org/en/jsr/detail?id=124
|
The following information has been updated from the original proposal.
2010.02.15
Oracle took over as Maintenance Lead from Sun Microsystems.
Maintenance Lead: Oracle America, Inc.
Contact: Danny Coward
E-mail address: danny.coward
Telephone: +1 408 276 7049
Original Java Specification Request (JSR)
Identification |
Request |
Contributions
Original Summary: This JSR aims to define Java standard which partitions server applications that provision client applications in such a way that the details of any one client provisioning model are abstracted and standardized.
Section 1. Identification
Submitting Member: Sun Microsystems, Inc.
Name of Contact Person: Danny Coward
E-Mail Address: Danny.Coward@sun.com
Telephone Number: +1 408 863 3551
Fax Number: +1 408 863 3195
Specification Lead: Danny Coward
E-Mail Address: Danny.Coward@sun.com
Telephone Number: +1 408 863 3551
Fax Number: +1 408 863 3195
Initial Expert Group Membership:
Section 2: Request
There is considerable interest in using J2EE for provisioning client applications to different client platforms. Several client platforms have defined a model by which they can discover a list of suitable client applications hosted on a server and by which client application code is delivered to the client device. They define interaction models for discovery and selection, and also the network protocols used to support the discovery and transfer process. The term provisioning is used here to cover hosting application client code and associated resources on a server, client discovery of suitable client applications to run, and transfer and delivery of client applications to the client platform. Provisioning facilities for client devices are commonly encapsulated by a piece of software known as a provisioning adapter that is written to support a particular model for discovery and delivery of client application code in a secure manner.
This JSR does not attempt to define provisioning models or conventions for any particular client platform, or attempt to define any network protocols used for the provisioning task.
This JSR does aim to investigate and define a programming model, a Java framework and APIs to enable J2EE applications to interact in a standard way with provisioning adapters.? Such a J2EE application is known here as a provisioning application.
This JSR identifies the different communities and areas of expertise of the provisioning application developer and the provisioning adapter provider. The provisioning application developer is an expert in the business model of the organization that is provisioning client applications. The provisioning adapter provider is an expert in the protocols and interaction model for provisioning to a particular client platform. The concepts of this JSR here describes the ways in which these two development roles can be partitioned on the J2EE platform.
The purpose of enabling portable J2EE provisioning applications is to allow a high degree of flexibility in integrating one or more provisioning models with enterprise services exposed into the J2EE platform in a particular enterprise setting. These applications enable a standard integration of the common elements of provisioning with these services. They allow a high degree of flexibility in the way that provisioning can be configured for a particular client device, a particular user who is possibly known to be at a particular location and with a particular business model in mind. Provisioning applications written to this specification do not have to deal with details about the network protocols or interaction models involved in provisioning to a particular client platform. Provisioning adapters written for this specification do not have to deal with the details of the business model of any particular setting in which they will be deployed.
This JSR will define deployment conventions and possibly deployment packaging formats for client application code and associated descriptive configuration data to enable storage and management of client applications for provisioning to target client platforms. It will define a Java framework and APIs that can be used to interact? with existing and emerging provisioning protocols and conventions in a standardized way. It will provide a portable way to negotiate a list of suitable client applications available for delivery and monitoring the activity of delivering a client application.
This JSR will aim for a design of the provisioning framework so that it can be layered on top of existing J2EE APIs in such a way that provisioning adapters may also be written portably on the platform.
The general architecture outlined here is illustrated in the following diagram.
?
The scope of this JSR will include a Java SPI layer whereby provisioning
adapters for particular client types may be plugged into the framework.
The specification will study initially the following client platforms:-
J2ME MIDP
DoCoMo/iAppli
Java Web Start
Java TV
though may extend to include others.
The reference implementation of this specification will include the provisioning framework together with one or more provisioning adapters.
Java 2 Enterprise Edition.
This JSR aims to layer any provisioning APIs and conventions using the standard J2EE API set, deployment formats and capabilities of the J2EE platform. It also has the goal of ensuring that provisioning adapters written for the provisioning framework be portable across J2EE implementations.
Currently, there is no convention or abstraction of the complex system level details of writing a J2EE application that provisions. Developers writing applications that provision to client platforms are required to work at a client platform specific level. They have to deal with the specific network protocol and client specific interaction model used for provisioning on a per client type basis. Developers of client applications for a target device are forced to repackage client application code in order that it can be deployed on a server.
The J2EE platform's basic networking protocol support enables the provisioning tasks outlined above at a basic level. However, there are no specifications that define the abstraction required to standardize the interaction model between provisioning adapters and provisioning applications that integrates the provisioning tasks with other enterprise services, nor that define the deployment conventions for client application code within a J2EE application suitably to support the common elements of the provisioning task.
The underlying technologies include standardization of the deployment format and conventions for packaging client application code into the provisioning framework, a provisioning API and programming model available to the J2EE application developer, and investigation of an SPI layer for pluggability of provisioning adapters.
To be determined
No
No
The provisioning framework will need to take into account the locale of the client to which it is provisioning applications.
No
The schedule will be determined by the expert group.
The expert group members will determine the nature of the working model. It is anticipated that a mixture of email discussion, feedback on regular drafts and face to face meetings will work well.
Section 3: Contributions
MIDP
Java Network Launching Protocol (JNLP)
DoCoMo/iAppli, http://503i.nttdocomo.co.jp/normal/n_index.html
The expert group will study the provisioning models defined by these client platforms in order to abstract the common tasks of provisioning across the different client platforms.