📄 otaspecification.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><html> <head> <meta HTTP-EQUIV="Content-Type" content="text/html; charset=ISO-8859-1"> <meta HTTP-EQUIV="Content-Style-Type" content="text/css"> <meta name="Author" content="James E. Van Peursem"> <link REL="STYLESHEET" href="stylesheet.css" charset="ISO-8859-1" type="text/css"> <title>Over The Air User Initiated<br> Provisioning Specification</title> <!-- Changed by: Gary Adams - SMI Software Development, 07-Aug-2002 --> </head> <body bgcolor="#ffffff"> <h1 class="DocumentTitle">Over The Air User Initiated<br> Provisioning Specification</h1> <h4 class="TitleContinuation">for the Mobile Information Device Profile</h4> <hr> <h2 class="ChapterTitle">Preface</h2> <p class="Paragraph"> This document, <em>Over The Air User Initiated Provisioning</em>, is for the <a href="overview.html"> Mobile Information Device Profile (MIDP) specification version 2.0</a>. The original JSR and expert group details can be found at <a href="http://jcp.org/jsr/detail/118.jsp"> http://jcp.org/jsr/detail/118.jsp</a>. The terminology used herein is defined in the <a href="overview.html#Definitions">Definitions</a> section of the MIDP 2.0 specification except where noted.</p> <h3 class="SectionTitle">How This Specification Is Organized</h3> <p class="Paragraph"> The topics in this specification are organized in the following sections:</p> <ul> <li class="Bullet1"> <a href="#Section1"><em>Section 1, "Over The Air User Initiated Provisioning"</em></a>, defines how MIDP applications should be distributed to wireless devices.</li> <li class="Bullet1"> <a href="#Section2"><em>Section 2, "MIDP Provisioning and Networking in the WAP June2000 Environment"</em></a>, describes the specific requirements for deploying MIDP applications via a proxied WAP Gateway.</li> </ul> <h3 class="SectionTitle">References</h3> <ol> <li class="List1"> Connected, Limited Device Configuration (CLDC)<br> <a href="http://jcp.org/jsr/detail/30.jsp">http://jcp.org/jsr/detail/30.jsp</a> </li> <li class="List1"> Mobile Information Device Profile (MIDP 1.0)<br> <a href="http://jcp.org/jsr/detail/37.jsp">http://jcp.org/jsr/detail/37.jsp</a> </li> <li class="List1"> Mobile Information Device Profile 2.0 (MIDP 2.0)<br> <a href="http://jcp.org/jsr/detail/118.jsp">http://jcp.org/jsr/detail/118.jsp</a> </li> <li class="List1"> HTTP 1.1 Specification<br> <a href="http://www.ietf.org/rfc/rfc2616.txt">http://www.ietf.org/rfc/rfc2616.txt</a> </li> <li class="List1"> HTTP Authentication: Basic and Digest Access Authentication<br> <a href="http://www.ietf.org/rfc/rfc2617.txt">http://www.ietf.org/rfc/rfc2617.txt</a> </li> <li class="List1"> Java(tm) Servlet 2.3 Specification<br> <a href="http://jcp.org/jsr/detail/53.jsp">http://jcp.org/jsr/detail/53.jsp</a> </li> </ol> <h3 class="SectionTitle">Changes since the OTA Recommended Practice</h3> <p class="Paragraph"> After the MIDP 1.0 specification was published, a document entitled, <em>Over The Air User Initiated Provisioning Recommended Practice for the Mobile Information Device Profile, was published</em>. This specification replaces that document, and the following changes were made for MIDP 2.0:</p> <ul> <li class="Bullet1"> Removed the Cookie support requirement. This was necessary because in some network architectures the cookie information may not be transmitted to the client. The cookies were used to maintain state information between the Application Descriptor, JAR downloads, and Install-Notify reports. An alternative approach of URL rewriting is possible, and can serve the same purpose. For example, when sending the Application Descriptor, the server can insert unique JAR, MIDlet-Install-Notify, and MIDlet-Delete-Notify URLs that associate these with this a particular download session. Other options may also be possible.</li> </ul> <a name="Section1"></a> <h2 class="ChapterTitle">Section 1, Over The Air User Initiated Provisioning</h2> <h3 class="SectionTitle">Overview and Goals</h3> <p class="Paragraph"> The purpose of this document is to describe how MIDlet suites can be deployed Over-The-Air (OTA), and the requirements imposed upon the client device to support these deployments. Following these recommendations will help ensure interoperability between clients and servers from all manufacturers and provide guidance to mobile network operators deploying MIDP devices.</p> <p class="Paragraph"> Devices MUST provide mechanisms that allow users to discover MIDlet suites that can be loaded into the device. In some cases, discovery will be via the device's resident browser (e.g., i-mode or WAP). In other cases, it may be a resident application written specifically to identify MIDlet suites for the user to download. Throughout this document, an application with this functionality will be referred to as the discovery application, or <em>DA</em>.</p> <p class="Paragraph"> Other installation mechanisms (e.g. Bluetooth<sup><font size=-2>TM</font></sup> wireless technology, serial cable, IrDA<sup><font size=-2>TM</font></sup>, etc.) MAY be supported by devices, but are outside the scope of this version of the specification.</p> <p class="Paragraph"> The term Application Management Software (AMS) is a generic term used to describe the software on the device that manages the downloading and lifecycle of MIDlets. This term does not refer to any specific implementation and is used for convenience only. In some implementations, the term Java Application Manager (JAM) is used interchangeably.</p> <p class="Paragraph"> This document describes the general functional requirements on the device and the functions supporting the MIDlet suite lifecycle. The lifecycle of a MIDlet suite consists of discovery, installation, update, invocation and removal. Descriptions are included for additional Application Descriptor attributes and mechanisms that identify the device type and characteristics to servers providing MIDlet suites.</p> <h3 class="SectionTitle">Functional Requirements</h3> <p class="Paragraph"> A MIDP-compliant device MUST be capable of:</p> <ul> <li class="Bullet1"> Browsing, or otherwise locating MIDlet suite Application Descriptors in the network.</li> <li class="Bullet1"> Transferring a MIDlet suite and its associated Application Descriptor to the device from a server using HTTP 1.1 or a session protocol that implements the HTTP 1.1 functionality (including the header and entity fields) as required in this document.</li> <li class="Bullet1"> Responding to a 401 (<em>Unauthorized</em>) or 407 (<em>Proxy Authentication Required</em>) response to an HTTP request by asking the user for a user name and password and re-sending the HTTP request with the credentials supplied. The device MUST be able to support at least the RFC2617 Basic Authentication Scheme.</li> <li class="Bullet1"> Installing the MIDlet suite on the device</li> <li class="Bullet1"> Invoking MIDlets</li> <li class="Bullet1"> Allowing the user to delete MIDlet suites stored on the device. Single MIDlets cannot be deleted since the MIDlet suite is the unit of transfer and installation.</li> </ul> <a name="AppDiscovery"></a> <h3 class="SectionTitle">MIDlet Suite Discovery</h3> <p class="Paragraph"> Application discovery is the process by which a user locates a MIDlet suite using the device. User-initiated discovery and installation of MIDlet suites MUST be supported in the following high-level manner:</p> <ul> <li class="Bullet1"> While using the DA, the user is presented with a link to a MIDlet suite or Application Descriptor.</li> <li class="Bullet1"> The user selects the link to begin the installation process</li> <li class="Bullet1"> If available, the Application Descriptor is transferred to the device first. This descriptor contains information about the MIDlet suite and can be used by the device's AMS to start installation</li> <li class="Bullet1"> If the Application Descriptor is not available, or after the AMS has downloaded the Application Descriptor and determined that installation should continue, the MIDlet suite JAR file download begins.</li> </ul> <p class="Paragraph"> Using the DA, the user SHOULD be able to access a network location and see a description of the MIDlet suite along with a link that, when selected, initiates the installation of the MIDlet suite. If the link refers to a JAR file as described in the MIDP specification, the JAR file and its URL are passed to the AMS on the device to start the installation process. If the link refers to an Application Descriptor, as described in the MIDP specification:</p> <ol> <li class="List1"> Once the link has been selected, the server MUST indicate in the response that the data being transferred (i.e., the Application Descriptor) has a MIME type of "<em class="Code">text/vnd.sun.j2me.app-descriptor</em>".</li> <li class="List1"> After completing this transfer, the application descriptor and its URL are passed to the AMS on the device to start the installation process. The Application Descriptor is used by the AMS to determine if the associated MIDlet suite can be successfully installed and executed on the device. If not, the user MUST be notified of the conditions that prevent its installation. The user SHOULD be informed of unusual conditions as early as possible to minimize wasted time and network bandwidth. The request-header attributes described in <a href="#DevIdReqHdr">Device Identification and Request Headers</a> SHOULD be used when retrieving the Application Descriptor.</li> <li class="List1"> The Application Descriptor MUST be converted from its transport format to the Unicode-encoding that is specified by the MIDP specification before it can be used. The default character set specified for the MIME type "<em class="Code">text/vnd.sun.j2me.app-descriptor</em>" is "<em class="Code">UTF-8</em>". If the device supports other character sets, the appropriate <em class="Code">Accept-Charset</em> header SHOULD be included in the request, and the content SHOULD be converted based on the <em class="Code">charset</em> attribute returned on the <em class="Code">Content-Type</em> header. If <em class="Code">charset</em> is undefined, the encoding defaults to "<em class="Code">UTF-8</em>", and it SHOULD be converted accordingly. The attributes in the descriptor MUST be formatted according to the syntax in the MIDP specification and all of the attributes required by the MIDP specification MUST be present in the descriptor. If this is not the case, then the client MUST return <a href="#StatusCodes"><em class="Code">Status Code 906</em></a> in the status report.</li> <li class="List1"> Using the information in the Application Descriptor including the vendor, name, version, and size attributes, the user SHOULD be given a chance to confirm that they want to install the MIDlet suite. Situations such as trying to install an older version, or installing the same version, SHOULD be brought to the user's attention. Conditions that can prevent the successful installation and execution of the MIDlet suite SHOULD be identified, and the user notified. For example, if it is known that insufficient memory is available, the software SHOULD aid the user in reviewing memory usage and freeing sufficient memory for installation of the new MIDlet suite.</li> </ol> <a name="AppInstall"></a> <h3 class="SectionTitle">MIDlet Suite Installation</h3> <p class="Paragraph"> Application installation is the process by which a MIDlet suite is downloaded onto the device and made available to the user. Application installation MUST be supported. The network supporting the devices, as well any proxies and origin servers that are used during provisioning, MUST be able to support this requirement. The user retains control of the resources used by MIDlet suites on the device and MUST be allowed to delete or install MIDlet suites.</p> <p class="Paragraph"> The device MUST make the MIDlet(s) in the MIDlet suite available for execution by the user. When multiple MIDlets are contained in a MIDlet suite, the user MAY need to be aware that there is more than one. The device MAY run a MIDlet from the MIDlet suite immediately at the user's option.</p> <p class="Paragraph"> During installation, the user SHOULD be informed of progress and MUST be given an opportunity to cancel the process. Interrupting installation MUST leave the device in
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -