Use of JCP site is subject to the
JCP Terms of Use and the
Oracle Privacy Policy
|
JSRs: Java Specification Requests
JSR 124: J2EETM Client Provisioning Specification
The following information has been updated from the original proposal.
2010.02.15
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
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
2.1 Please describe the proposed Specification: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 specification will study initially the following client platforms:- J2ME MIDP
though may extend to include others. The reference implementation of this specification will include the provisioning framework together with one or more provisioning adapters. 2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)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. 2.3 What need of the Java community will be addressed by the proposed specification?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. 2.4 Why isn't this need met by existing specifications?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. 2.5 Please give a short description of the underlying technology or technologies: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. 2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)To be determined 2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?No 2.8 Are there any security issues that cannot be addressed by the current security model?No 2.9 Are there any internationalization or localization issues?The provisioning framework will need to take into account the locale of the client to which it is provisioning applications. 2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?No 2.11 Please describe the anticipated schedule for the development of this specification.The schedule will be determined by the expert group. 2.12 Please describe the anticipated working model for the Expert Group working on developing this specification.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
3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.MIDP
3.2 Explanation of how these items might be used as a starting point for the work.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. |