Java Web Start: Difference between revisions

Content deleted Content added
LaaknorBot (talk | contribs)
m robot Adding: ru:Java Web Start
copyedit; link
Line 2:
<!-- Deleted image removed: [[Image:Apple Java Web Start.png|left|80px]] -->
 
In [[computing]], '''Java Web Start''' (also known as '''JavaWS''' or as '''javaws'''), a [[Software framework|framework]] developed by [[Sun Microsystems]], allows users to start [[application software]] for the [[Java Platform]] directly from the [[Internet]] using a [[web browser]]. Unlike [[Java applet]]s, Web Start applications do not run inside the browser, and the [[sandbox (computer security)|sandbox]] in which they run need not have as many restrictions, although this can be configured. Web Start has an advantage over applets in that it overcomes many compatibility problems with browsers' Java [[plugin]]s and different [[Java virtual machine|JVM]] versions. On the other hand, Web Start programs cannot communicate with the browser as easily as applets. To assist migration, users can also invoke a Java Applet as a Java Web Start application.
 
Web Start provides a series of classes in the <code>[http://java.sun.com/products/javawebstart/docs/javadoc/index.html javax.jnlp]</code> [[Java package|package]] which provide various services to the application. Sun designed most of these services with the aim of allowing carefully controlled access to resources (such as files and the system clipboard) while restricting the application to authorized operations.
 
== Functionality ==
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) and computer administrators no longer have to install it separately.
 
Unlike [[Java applet]]s, Web Start applications do not run inside the browser, and the [[sandbox (computer security)|sandbox]] in which they run need not have as many restrictions, although this can be configured. Web Start has an advantage over applets in that it overcomes many compatibility problems with browsers' Java [[plugin]]s and different [[Java virtual machine|JVM]] versions. On the other hand, Web Start programs cannot communicate with the browser as easily as applets. To assist migration, users can also invoke a Java Applet as a Java Web Start application.
 
== Implementation ==
 
Java Web Start provides a series of classes[[Class (computer science) | class]]es in the <code>[http://java.sun.com/products/javawebstart/docs/javadoc/index.html javax.jnlp]</code> [[Java package|package]] which provide various services to the application. Sun designed most of these services with the aim of allowing carefully controlled access to resources (such as files and the system clipboard) while restricting the application to authorized operations.
 
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]
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.
 
Java Web Start resembles [[ClickOnce]] in the [[.NET Framework|.NET]] framework.
 
== Java Network Launching Protocol (JNLP) ==
 
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 iscomes 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 arebecome available when the user ishas connecteda connection to the Internet, thus easing the burden of deployment.
 
Any computer user can use JNLP by simply installing a JNLP client (most commonly Java Web Start). The client installation can occur automatically, so that the end users can see the client launcher downloading and installing before the Java application the first time they launch the latter.
 
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 a HTML file. The browser then requests the resources referred to by this file (images, [[cascading style sheets | css]]), and finally renders the page once enough informationit has beenreceived retrievedenough information. The pagePage isrendering usually renderedstarts before all resources have been retrieveddownloaded; some resources not critical to the layout of the page (such as images), can befollow retrievedon afterwards afterwords or on request shouldif 'the "Load Images Automatically'" browser -setting beremains unset.
ThisJNLP processmirrors isthis mirrored for JNLPprocess; 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. ThisThe fileJNLP isclient parsedparses bythis the JNLP clientfile, which then requests the resources referencedspecified by this(jar files), andwaits then launchesfor the applicationretrieval onceof all required resources, haveand beenthen retrieved.launches Somethe resourcesapplication. canThe beJNLP markedfile 'lazy'can withinlist theresources JNLPas file"lazy", which informs the JNLP client that the application does not need those resources to start, but can beretrieve retrievedthem later on when/if the application requests them.
 
== Pack200 Compressioncompression ==
To reduce the size of a '''Java Web Start''' application Sun Microsystems introduced a compression system was introduced called '''[[Pack200''']] in Java 1.5.0. It compressesreduces largebyte filescounts so efficiently that it can compress a large file can be compressed to 1/9one-ninth of its original size.
 
ItJava hasWeb alwaysStart beenhas supported Pack200 since it first appeared, but initially this feature required server-side cooperation and wasa originallycertain quiteamount difficultof expertise to setupset up. When SUN introduced J2SE 6u10, Pack200 support wasbecame available without the need for special server support. ThisApplication featuredesigners can be enabledenable or disable withinthis thefeature within JNLP filefiles.
 
On slow connections thisPack200 gives a significant performance boost in application startup time and download time.
 
== Signed Web Start applications ==
 
By default, Java Web Start applications run "restricted", which means that they do not have access to some system resources such as local files. But publishers can remove these restrictions by signing their Web Start applications with the <code>jarsigner</code> tool that comes with the [[Java Development Kit | JDK]].
 
== Well-known applications ==
 
* [http://www.kaijudoportal.com/online Kaijudo Portal] &ndash; an online platform for playing the [[Duel Masters Trading Card Game]] in [http://www.kirricorp.net/ KirriCorp] and [http://dm.takaratomy.co.jp/ Japanese] formats.
* [[Wurm Online]] &ndash; a 3D Massively Multiplayer Online Fantasy Simulator.
* [[PoxNora]] &ndash; a [[3/4 perspective]], [[turn-based strategy]], [[collectible card game]]
* [[CrossFTP]] &ndash; a user friendly FTP client and server
* [[PowerTeacher]] &ndash; a gradebook program for student scores as: part of the larger[[PowerSchool]] student information system used by schools called [[PowerSchool]].
* [[DataReport Tool]] &ndash; a tool developed by Caprion Proteomics for viewing, analyzing and filtering through a set of differentially expressed proteins
* [http://www.playclockwiser.com Clockwiser] &ndash; a free puzzle game
 
Line 50 ⟶ 61:
 
== 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]