Java: Difference between revisions

From Proteopedia
Jump to navigationJump to search
Wayne Decatur (talk | contribs)
mNo edit summary
Eric Martz (talk | contribs)
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
''Java'' (or more specifically the ''Java virtual machine'') is software that enables programs written in the ''Java language'' to operate essentially identically on multiple computer platforms, such as Microsoft Windows, Apple Mac OS X, and linux, without special adaptation to each platform. [[Jmol]] can operate using Java or HTML5/Javascript. Jmol cannot operate in Java-mode unless Java is installed on the host computer. '''Interactive molecular visualizations in [[Proteopedia]] are computationally demanding and will run best in Java at this time'''.
''Java'' (or more specifically the ''Java virtual machine'') is software that enables programs written in the ''Java language'' to operate essentially identically on multiple computer platforms, such as Microsoft Windows, Apple Mac OS X, and linux, without special adaptation to each platform. [[Jmol]] can operate using Java or HTML5/Javascript. Jmol cannot operate in Java-mode unless Java is installed on the host computer. '''Interactive molecular visualizations in [[Proteopedia]] are computationally demanding and will perform best in Java-mode at this time'''.
* See [[Installing and enabling Java]] to make sure Java is up to date, and enabled in your favorite web browser.
* See [[Using Java for Rendering Structures]] for how to opt in to Java mode in Proteopedia.


Java is bundled with Mac OS X (10.6 and earlier), and the Apple ''Software Update'' on Macs upgrades Java as new versions are released. (For Mac OS 10.7 Lion, Java must be installed by the user.) Microsoft Windows does not provide Java, but it can easily be installed or updated by visiting [http://java.com Java.Com]. The original (and still most widely used) Java is developed by Sun Microsystems (a subsidiary of Oracle Corporation), and [http://en.wikipedia.org/wiki/Java_(software_platform)#Licensing since mid-2007, has been open-source software].
The original (and still most widely used) Java is developed by Sun Microsystems (a subsidiary of Oracle Corporation), and [http://en.wikipedia.org/wiki/Java_(software_platform)#Licensing since mid-2007, has been open-source software].


Apple adapted Java to work efficiently on OS 10.6 and earlier OS versions (citation needed). Apple Java is typically many versions behind Sun Java. For example, in March, 2011, the current Apple Java is 1.5.0_28 while Sun Java (e.g. installed on MS Windows) is 1.6.0_22. Beginning with OS 10.7 Lion, Apple is managing Java differently (details needed).
Occasionally bugs in current java releases affect the performance of Proteopedia or Jmol. These are generally resolved in subsequent releases. You should be able to bypass these problems now by running Jmol withing Proteopedia in HTML5/Javascript mode.
 
Occasionally bugs in current java releases affect the performance of Proteopedia or Jmol. These are generally resolved in subsequent releases.  


==Enable Java on your computer==
==Enable Java on your computer==
Besides any Preferences setup, you might need to go to [http://www.java.com/en/download/installed.jsp?detect=jre ''Do I Have Java?''] and enable Java by clicking on the ''inactive plugin'' statement, if present.  
Please see [[Installing and enabling Java]] for detailed instructions.


==Detecting your Java version==
==Detecting your Java version==
Line 36: Line 36:


*'''Disable java''' in the web browser that you use for general-purpose browsing, email, google searches, etc. Here are instructions for [http://www.java.com/en/download/help/disable_browser.xml disabling java in a particular browser]. Use a '''different browser''' for resources that require Java.
*'''Disable java''' in the web browser that you use for general-purpose browsing, email, google searches, etc. Here are instructions for [http://www.java.com/en/download/help/disable_browser.xml disabling java in a particular browser]. Use a '''different browser''' for resources that require Java.
**'''Windows users''': Due to a limitation in Internet Explorer, you should '''use Internet Explorer for java'''. Use a different browser such as Firefox or Chrome for general web browsing, and disable java in that browser.
**'''Windows users''': Due to a limitation in Internet Explorer, you should '''use Internet Explorer for java'''. Use a different browser such as Firefox or Chrome for general web browsing. [[Installing_and_enabling_Java#Java_Applets_Do_Not_Work_In_Chrome|Chrome no longer supports Java]], but you should disable Java in Firefox for general web browsing.


These recommendations were made by Michael Horowitz in his Defensive Computing Blog in his January 2013 post [http://blogs.computerworld.com/cybercrime-and-hacking/21626/how-be-safe-possible-java How to be as safe as possible with Java].
These recommendations were made by Michael Horowitz in his Defensive Computing Blog in his January 2013 post [http://blogs.computerworld.com/cybercrime-and-hacking/21626/how-be-safe-possible-java How to be as safe as possible with Java].


==Jmol is a signed Java applet=
==Jmol is now a signed Java applet==
In the quest to make Java less of a security risk Oracle has made it so that after January 15th, 2014, Java will no longer work with unsigned Java applets. Jmol on Proeopedia now runs with a signed applet and so you should be able to run Jmol in Java mode with no problem if you have an up to date installation of Java.
In the quest to make Java less of a security risk Oracle has made it so that after January 15th, 2014, Java will no longer work with unsigned Java applets. Jmol on Proteopedia now runs with a signed applet and so you should be able to run Jmol in Java mode with no problem if you have an up to date installation of Java.


Recently with the changes users had to add Proteopedia to a trusted list of applets. We are leaving these directions below in case you have issues as this transition is new.  
Recently with the changes users had to add Proteopedia to a trusted list of applets. We are leaving these oboselete directions on how to do that below in case you have issues while this transition is still new.  


The version of the [[Jmol]] structure viewer previously utilized by Proteopedia ran on an unsigned applet.  If you are having problems because you have not updated your Java and are unable to at the present time, you may be able to add the Proteopedia site to a list of allow exceptions on your computer and get past security warnings. The following is how to do this:
The version of the [[Jmol]] structure viewer previously utilized by Proteopedia ran on an unsigned applet.  If you are having problems because you have not updated your Java and are unable to at the present time, you may be able to add the Proteopedia site to a list of allow exceptions on your computer and get past security warnings. The following is how to do this:
Line 65: Line 65:
The technical version of above with some images that may help can be found [https://blogs.oracle.com/java-platform-group/entry/upcoming_exception_site_list_in?msgid=3-9509477622 here], under '''Adding a site to the Exception Site List'''.  
The technical version of above with some images that may help can be found [https://blogs.oracle.com/java-platform-group/entry/upcoming_exception_site_list_in?msgid=3-9509477622 here], under '''Adding a site to the Exception Site List'''.  


Soon Proteopedia will use a signed applet that will have the option of allowing people to also work completely without Java, meaning mobile devices such as tablets should then be able to use Proteopedia. However, making all of Proteopedia work with the new version will take some time. We are hoping to have it working before the end of January. We advise you to take advantage of this above workaround in the interim.
At present Proteopedia uses a signed applet and adding Proteopedia to the exceptions list '''should not be needed'''.


==An alternative to Java has been implemented==
==An alternative to Java has been implemented in Proteopedia==


The solely Java-based [[Jmol]] has been phased out of Jmol development in favor of a version of Jmol that does not absolutely require Java, see [http://wiki.jmol.org/index.php/JSmol JSmol object in the Jmol wiki]). It has the ability to either run in Java or use HTML5/Javascript on devices or machines not running Java.  
The solely Java-based [[Jmol]] has been phased out of Jmol development in favor of a version of Jmol that does not absolutely require Java, see [http://wiki.jmol.org/index.php/JSmol JSmol object in the Jmol wiki]). It has the ability to either run in Java or use HTML5/Javascript on devices or machines not running Java.  


Proteopedia is now using this new version of [[Jmol]] on Proteopedia. This offers users a way to use Proteopedia without the need for Java. Another big advantage is that even tablets and mobile devices will then be able to use Proteopedia. It is now possible to author an entire page and make Proteopedia scenes on your favorite tablet.
Proteopedia is now using this new version of [[Jmol]]. This offers users a way to use Proteopedia without the need for Java. Another big advantage is that even tablets and mobile devices can now use Proteopedia. It is now even possible to author on your favorite tablet an entire page that includes 3D Proteopedia scenes.
 
Java-based [[Jmol]] has significant performance advantages over running in the HTML5/Javascript and power users may wish to keep using Java-based Jmol. Registered Proteopedia users wishing to still use Java-based [[Jmol]] still have that ability. It just needs to be on your machine and enabled in your Proteopedia preferences. Non-registered users can simply append <code>?_USE=SIGNED</code> to the URL of any Proteopedia page. For more about these options, see [[Using Java for Rendering Structures|here]].
 
For those wishing to see how the performance differs, we have [[Testing PDB File Sizes|a benchmarking page testing various structures operating on different platforms in different modes]].


Registered Proteopedia users wishing to still use Java-based [[Jmol]] still have that ability. It just needs to be on your machine and enabled in preferences. Java-based [[Jmol]] has significant computational advantages over running in the HTML5/Javascript and power users may wish to keep using Java-based Jmol.
==Controlling if Proteopedia scenes are rendered with Java==
See [[Using Java for Rendering Structures]] for how to opt in to Java mode. Otherwise, the default is the HMTL5/Javascript mode that has slower performance.


==See Also==
==See Also==
* [[Installing and enabling Java]]
* [[Using Java for Rendering Structures]]
* [http://en.wikipedia.org/wiki/Java_(software_platform) Java (software platform)] at Wikipedia.
* [http://en.wikipedia.org/wiki/Java_(software_platform) Java (software platform)] at Wikipedia.
* [http://www.apple.com/pr/library/2010/11/12openjdk.html Oracle and Apple Announce OpenJDK Project for Mac OS X] (November, 2010).
* [http://www.apple.com/pr/library/2010/11/12openjdk.html Oracle and Apple Announce OpenJDK Project for Mac OS X] (November, 2010).