1 / 14

Java WebStart

Java WebStart. Created by Bob Hays. What is Java™ WebStart?. Deployment technology for Java Applications Libraries/Components Implements JNLP – Java Network Launching Protocol, which was created via the Java Community Process (JSR-56) Java™ WebStart supports: Multiple JREs Code-signing

johnhart
Download Presentation

Java WebStart

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java WebStart Created by Bob Hays

  2. What is Java™ WebStart? • Deployment technology for Java • Applications • Libraries/Components • Implements JNLP – Java Network Launching Protocol, which was created via the Java Community Process (JSR-56) • Java™ WebStart supports: • Multiple JREs • Code-signing • Sandboxing • Versioning and incremental updates • Desktop integration • Offline operation • Automatic installation of JREs and optional packages Application launcher • Java™ WebStart is currently at version 1.0.1_01 and can be found at http://java.sun.com/products/javawebstart/index.html

  3. Why use Java WebStart and JNLP? • Java provides a rich graphical interface environment, butapplets have problems • JNLP allows controlled and secure installation of remotelyprovided applications • Installation can be simplified and standardized • Installed files are cached locally and checked for update whenthe application is invoked • “The speed and responsiveness of the application does notdepend on the connection speed”1 • “Applications work offline, for example, in a plane when traveling”1 • Maintenance of multiple applications can be handled remotely • Web browser independent 1”Java™ WebStart Architecture”, http://java.sun.com/products/javawebstart/architecture.html

  4. JNLP depends upon standards • XML language to describe the installation • HTTP for transmission of executables • WAR file packaging • And Java, of course!

  5. What are the steps to use Java WebStart? • Set up your web server for delivering WebStart content • Configure the Web server so that all files with the .jnlp file extension are set to the application/x-java-jnlp-file MIME type • Pick an application and identify all the jar files required – everything delivered must be in one or more jar files • If the application will run in the sandbox: • Use the getResource() method to obtaining information always from within jar files • If an application is written to run in a secure sandbox, it must follow these restrictions: • No access to local disk. • All JAR files must be downloaded from the same host. • Network connections are enabled only to the host from which the JAR files are downloaded. • No security manager can be installed. • No native libraries. • Limited access to system properties. The application has read/write access to all system properties defined in the JNLP File, as well as read-only access to the same set of properties than an Applet has access to. • An application is allowed to use the System.exit call. • Or if the application will have full access to the customer’s system: • Sign all jar files with a common signature • You can request full access to the system, and the customer will be prompted to accept this at installation time.

  6. What are the steps to use Java WebStart? redux • Create a JNLP XML file to describe the installation • Create a web page to deliver the application via WebStart • <a href="MyApp.jnlp">Launch My Application</a> • JavaScript and VBScript is provided for identifying if WebStart is installed and going to an installation point at this URL: • http://java.sun.com/products/javawebstart/docs/developersguide.html#dev

  7. An example JNLP file, part 1 <?xml version="1.0" encoding="UTF-8"?> <!-- created on Tue Jul 10 06:30:10 CDT 2001 --><!-- created by Bob Hays Computer Ge on Windows 2000 --><!-- 1.3.0_01 --> <jnlp spec="1.0+" version="1.0" href="file:///Classes/WebStartBunde/TrackMyTime.jnlp"> <information locale="en"> <title>TrackMyTime</title> <vendor>Aleph Naught and the Null Set</vendor> <homepage href="http://alephnaught.net/~electricbob" /> <description kind="">Graphical tool to track time spent on work.</description> <offline-allowed /> <icon kind="" href="file:///Classes/com/rhays/fffields/32x32icon.gif" version="1.0" width="32" height="32" depth="16" size="224" /> <icon kind="selected" href="file:///Classes/com/rhays/fffields/32x32icon.gif" version="1.0" width="32" height="32" depth="16" size="224" /> <icon kind="disabled" href="file:///Classes/com/rhays/fffields/32x32icon.gif" version="1.0" width="32" height="32" depth="16" size="224" /> <icon kind="rollover" href="file:///Classes/com/rhays/fffields/32x32icon.gif" version="1.0" width="32" height="32" depth="16" size="224" /> </information>

  8. An example JNLP file, part 2 <resources> <jar href="file:///Classes/Jars/rhays.jar" main="false"download="eager" size="2279711" /> <jar href="file:///Classes/WebStartBunde/activation.jar" main="false" download="eager" size="45386" /> <jar href="file:///Classes/WebStartBunde/adc.jar" main="false" download="eager" size="15334" /> <jar href="file:///Classes/WebStartBunde/antlr.jar" main="false" download="eager" size="89325" /> <jar href="file:///Classes/WebStartBunde/jaccess.jar" main="false" download="eager" size="44853" /> <jar href="file:///Classes/WebStartBunde/jgl3.1.0.jar" main="false" download="eager" size="963513" /> <jar href="file:///Classes/WebStartBunde/xerces.jar" main="false" download="eager" size="1489678" /> <jar href="file:///Classes/WebStartBunde/xercesSamples.jar" main="false" download="eager" size="179270" /> <jar href="file:///Classes/WebStartBunde/jas.jar" main="false" download="eager" size="12463" /> <j2se version="1.3" /> <jar href="file:///Classes/WebStartBunde/jhall.jar" main="false" download="eager" /> </resources> <application-desc main-class="com.rhays.trackMyTime.TrackMyTime" /> <security> <all-permissions /> </security> </jnlp>

  9. What happens when you use WebStart? 2 1 3

  10. WebStart includes a launcher too

  11. An example - TrackMyTime You can go to:http://lobo.lasalle.na.abnamro.com/~bhays/WebStart/to see WebStart in action and to download any of four applications: • TrackMyTime – a simple time tracking application • TrackMyTime Reports – reports for the time tracking tool • TrackMyTime Time Editor – edit old and future time records • FlatFileFields – a tool to graphically create an XML file to describe a flat file

  12. Third parties are supporting JNLP and WebStart • OpenJNLP - http://openjnlp.nanode.org/ • Deployment tools: • VampHQ - http://www.geocities.com/vamp201/ • Sitraka DeployDirector Bundler - http://www.sitraka.com/software/deploydirector/bundler.html

  13. So, what are some of issues Bob has found? • You have to sign ALL jar files with the same signature if you want to play outside the sandbox • You have to resign all the Sun extension jars, for example, with your signature • Using tools to build the jar files, handle signatures, and create the XML driver files is very useful • I used DeployDirector Bundler and it worked well • When you move a WebStart application on the server, you need to change the JNLP file to contain the new self-pointer.

  14. Any Questions? Bob Hays Neogration, Inc. bhays@neogration.com (312) 904-4668 Please visit our web site at http://www.neogration.com

More Related