Java Web Start: Difference between revisions

Content deleted Content added
TXiKiBoT (talk | contribs)
m robot Adding: ca:Java Web Start
SmackBot (talk | contribs)
m FIx up portal template and general fixes
Line 12:
Sun introduced version 1.0 of Web Start in March 2001.<ref>
[http://www.sun.com/smi/Press/sunflash/2001-03/sunflash.20010314.1.html Java Web Start 1.0 press release]
</ref> Since [[Java Platform, Standard Edition|J2SE]] 1.4 Web Start comes as a default part of [[Java Runtime Environment]] (JRE) called <code>javaws</code>, and computer administrators no longer have to install it separately.
Microsoft's [[.NET Framework|.NET]] framework's [[ClickOnce]] is similar to Java Web Start.
 
Line 18:
 
Programmers often speak of the '''Java Network Launching Protocol''' ('''JNLP''') interchangeably with the term "Web Start". The JNLP protocol, defined with an [[XML]] schema, specifies how to launch Java Web Start applications. JNLP consists of a set of rules defining how exactly to implement the launching mechanism. JNLP files include information such as the ___location of the [[Jar (file format)|jar]] package file and the name of the main class for the application, in addition to any other parameters for the program. A properly configured browser passes JNLP files to a Java Runtime Environment (JRE) which in turn downloads the application onto the user's machine and starts executing it. The development of JNLP took place under the [[Java Community Process]] as JSR 56. It includes the original 1.0 release, the subsequent 1.5 maintenance release, and {{as of | 2006 | lc = on}}, the pending 6.0 maintenance release. JNLP comes free of charge; developers need not pay a license fee in order to use it in programs.
 
Important Web Start features include the ability to automatically download and install a JRE in the case where the user does not have Java installed, and for programmers to specify which JRE version a given program needs in order to execute. The user does not have to remain connected to the Internet to execute the downloaded programs, because they execute from a locally-maintained [[cache]]. Updates of the software download from the Web become available when the user has a connection to the Internet, thus easing the burden of deployment.
 
Line 24:
 
JNLP works in a similar fashion to how HTTP/HTML works for the web. For rendering a HTML [[webpage]], after the user clicks on a weblink, the browser submits a URL to a [[webserver]], which replies with an HTML file. The browser then requests the resources referred to by this file (images, [[cascading style sheets|css]]), and finally renders the page once it has received enough information. Page rendering usually starts before all resources have downloaded; some resources not critical to the layout of the page (such as images), can follow on afterwards — or on request if the "Load Images Automatically" browser-setting remains unset.
 
JNLP mirrors this process; in the same way that a Web browser renders a webpage, a JNLP client "renders" a [[Java application|Java app]]. After the user clicks on a weblink the browser submits a URL to a webserver, which replies with a JNLP file (instead of a HTML file) for the application. The JNLP client parses this file, requests the resources specified (jar files), waits for the retrieval of all required resources, and then launches the application. The JNLP file can list resources as "lazy", which informs the JNLP client that the application does not need those resources to start, but can retrieve them later on when/if the application requests them.
 
Line 30:
To reduce the size of a Java Web Start application Sun Microsystems introduced a compression system called [[Pack200]] in Java 1.5.0. It reduces byte counts so efficiently that it can compress a large jar file to one-ninth of its original size if it contains only Java classes.<ref>[http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/pack200.html#pack200_compression Pack200 and Compression for Network Deployment]</ref>
 
Java Web Start has supported Pack200 since it first appeared, but initially this feature required server-side cooperation and a certain amount of expertise to set up. When SUN introduced Java SE 6u10, Pack200 support became available without the need for special server support. Application designers can enable or disable this feature within JNLP files.
 
On slow connections Pack200 gives a performance boost in application startup time and download time.
Line 58:
 
== See also ==
{{Portal|Java|Wave.svg}}
* [[Java applets]], another Java application deployment technology
* [[Zero Install]], a similar system which works for non-Java applications.
Line 64:
* [[RUNZ]]
 
== References ==
{{reflistReflist}}
 
== External links ==
* [http://java.sun.com/products/javawebstart/ Sun's Java Web Start product page]
* [http://java.sun.com/developer/technicalArticles/Programming/jnlp/ Deploying Software with JNLP and Java Web Start]
* [http://java.sun.com/products/javawebstart/download-spec.html Java Web Start Architecture JNLP Specification & API Documentation]
* [http://www.jcp.org/en/jsr/detail?id=56 JSR 56] (JNLP 1.0, 1.5 and 6.0)
* [http://www.connectandwork.com/external Startdirectory Connect and Work]