100% found this document useful (1 vote)
86 views60 pages

TD MXC Easy Deploy Srinivas

This document discusses updates to Java SE 6 including Update N. It summarizes the state of Java technology adoption with over 91% of PCs running the Java platform. It outlines problems with startup time, install time, Java runtime environment (JRE) detection, and applet support that Update N aims to address. Solutions discussed include a quickstarter to improve startup, a Java kernel to reduce install time, a deployment toolkit for better JRE detection, and rebuilt applets with improved reliability, performance, and features through new architectures and JNLP support. Experimental drag and drop functionality is also described.

Uploaded by

armandochagoya
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
86 views60 pages

TD MXC Easy Deploy Srinivas

This document discusses updates to Java SE 6 including Update N. It summarizes the state of Java technology adoption with over 91% of PCs running the Java platform. It outlines problems with startup time, install time, Java runtime environment (JRE) detection, and applet support that Update N aims to address. Solutions discussed include a quickstarter to improve startup, a Java kernel to reduce install time, a deployment toolkit for better JRE detection, and rebuilt applets with improved reliability, performance, and features through new architectures and JNLP support. Experimental drag and drop functionality is also described.

Uploaded by

armandochagoya
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

Java SE 6 Update N

Raghavan “Rags” N. Srinivas


CTO, Technology Evangelism
Sun Microsystems Inc.

1
Agenda
• State of Java
• Java SE 6 update N
• Java on the client (a reboot)
• Future

2
How Much Java
Technology Is Out There?
• >91% of all PCs run Java platform*
• ~77% of all Java technology-enabled PCs run Sun’s Java Platform,
Standard Edition (Java SE platform)**
• Distribution through PC OEMs
> Nine of the top ten PC OEMs ship the Sun JRE software
> Representing >60% of all shipped PCs
> 58 white box vendors have signed JRE software redistribution agreements
• Download/installs
> ~44m installations / month for the last six months on Windows
> >50M in Jan, Feb, April, 2007

* Omniture, April 2007


**Mapsolute/Map24.com, April 2007
3
Completed Java SE Platform
Downloads
Windows numbers only
55,000,000

50,000,000

45,000,000

40,000,000

35,000,000

30,000,000

25,000,000

20,000,000

15,000,000

10,000,000

5,000,000

0
1/2003 1/2004 1/2005 1/2006 1/2007

4
Agenda
• State of Java
• Java SE 6 update N
• Java on the client (a reboot)
• Future

5
Update N and Java FX
Java Comes Home to the Consumer

6
Consumer JRE

7
Consumer JRE

Project Hamburg

8
Consumer JRE

Project Hamburg

Java SE 6, Update X

9
Consumer JRE

Project Hamburg

Java SE 6, Update X

Java SE 6, Update N

10
Consumer JRE

Project Hamburg

Java SE 6, Update X

Java SE 6, Update N

Java SE 6, Update 10

11
Problems to fix
• Startup Time
• Install Time
• JRE Detection
• Applet support

12
Quickstarter
• “Coldstart” vs. “Warmstart”
• Root problem:
> Large files + Disk access speed
• Solution: QuickStarter
> Pre-warm the disk cache
• Note: QuickStarter != running VM
> Smaller footprint, more targeted disk pages

13
Problems to fix
• Startup Time
• Install Time
• JRE Detection
• Applet support

14
Install Time
• Java's not small
> J2SE 5.0: 7.1 MB
> Java SE 6: 10+ MB
> rt.jar: 40+ MB on disk
• Lots of bits being moved around
> Download, Unzip, Unpack200, Copying
• Solution: Java Kernel
> Download only core dependencies first
> Launch application
> Download and install in the background
15
Look Mom! We Shrunk the JRE

16
Problems to fix
• Startup Time
• Install Time
• JRE Detection
• Applet support

17
Deployment Toolkit
• Detecting Java from a web page is hard
> Does the user have Java?
> What version?
> How to get user to install and return?
• Result: Most applets use old (1.1) APIs
> Allows them to run compatibly on old versions
> e.g., MS VM
• Solution: Deployment Toolkit
> JavaScript hosted at Sun for general detection
> Plugins (ActiveX and Mozilla) for more specific detection
> Detect, start installation if necessary, launch

18
Detecting JREs
<script src="http://java.com/js/deployJava.js"></script>
<p>
Detected JREs: <b>
<script>
jres = deployJava.getJREs();
document.writeln(jres.length ? jres : "None");
</script>
</b>
</p>
19
Problems to fix
• Startup Time
• Install Time
• JRE Detection
• Applet support

20
Agenda
• State of Java
• Java SE 6 update N
• Java on the client (a reboot)
• Future

21
Applets are Back

22
Architectural Overview

Java Applet 1

Java Applet 2

HTML-Webpage Java Applet 3

23
Architectural Overview

Fat Client JVM 1


OS Process 2
Thin Server JVM

OS Process 1
Fat Client JVM 2
OS Process 3
24
Advantages

• Improved reliability
• Improved user experience
> Applets launch in the background
• Built-in JNLP support
• Per-applet command line arguments
> Heap size, Java 2D acceleration options, ...
• Improved Java/JavaScript integration
• Improved Windows Vista support
> Signed applets now work correctly in Protected Mode
Internet Explorer 25
Applets Reloaded
• Ground-up rewrite of the Java Plug-In
> Mostly in Java
• Advanced new architecture
> Out-of-process execution
• Major benefits
> Improved reliability
> Support for larger Java heap sizes for applets
> Better support for signed applets on Windows Vista
> Support for per-applet JVM command-line arguments
> Support for multiple simultaneous JRE versions
26
Compatibility
• Better than 97% backward compatibility
> Based on runs of hundreds of applets from throughout
the web
> Continuing to improve
• Applet lifecycle unchanged
> init(), start(), stop(), destroy()
• All services supported:
Browser proxy settings Browser certificate store
Browser authenticator Browser cookie store
showDocument() support Modality handling
Java/JavaScript integrationPrinting
27
JNLP Support
• Most significant new feature
• Unifies deployment between Java Web Start and
the Java Plug-In
> Simply choose the top-level container (Frame / Applet)
• Incorporate JNLP extensions trivially in applets
> JavaFX run-time libraries, JOGL, Java 3D, JAI
• Use JNLP APIs from applets
> PersistenceService, DownloadService, ...
• Full support for JVM command-line arguments, JRE
version selection, JRE auto-download
28
JNLP Support
<applet width=“300” height=“300”>
<param name=“jnlp_href”
value= “my_applet.jnlp”>
</applet>
<jnlp>
<resources>
<j2se version=”1.4+”
max-heap-size=”128m” />
<property name="sun.java2d.noddraw"
value="true"/>
<jar href=“my_applet.jar” main=“true”/>
<extension name= “jogl” href=“...”>
</resources>
<applet-desc name=“My Applet”
main-class=“MyApplet” ... />
</jnlp> 29
Java / JavaScript Support
• Completely rewritten Java / JavaScript integration
• More complete, reliable and portable than before
• Formerly Mozilla-specific functionality now working
in Internet Explorer
> Static method access
> Construction of new Java objects from JavaScript
• Opportunity to respecify and reintroduce
“LiveConnect”
• Opportunity to change the nature of AJAX

30
JavaFX Content in Applets
• JavaFX Script compiles down to Java classes
• Trivially hosted in applets
• Pull in JavaFX run-time libraries and dependent
libraries (scene graph, video, 3D) via JNLP
extensions
> Identical to deployment in an application
• Higher-level abstractions accelerate GUI application
development

31
Experimental Functionality
• New Java Plug-In technology supports dragging applets
out of the web browser as a deployment paradigm
> Applets are mini applications that run anywhere
> In and out of the browser
• Highly experimental
> Not guaranteed to be supported in this release or
future releases
> Functionality will very likely change
> Please provide feedback on Java Plug-In forum on
java.net

32
Experimental Functionality
• Enable with new applet parameter
<param name=”draggable” value=”true”>
• By default, Alt + Left-click + Drag anywhere in the
applet's region is the drag gesture
• Can be customized by providing a method on your applet
public boolean
isAppletDragStarted(MouseEvent e);

33
Experimental Functionality
• Applet is placed into a new top-level Frame
> Frame is used for Applet subclasses
> JFrame is used for JApplet subclasses
• By default, the new frame is undecorated and opaque
• Can change this, and perform other custom operations,
at the time the drag is initiated by providing a method on
your applet
public void appletDragStarted();
• At the time this method is called, your applet is in
the new top-level Frame, that Frame is
undecorated, and it is not yet visible

34
Experimental Functionality
• A separate “close button” separate from the Frame tracks
the movement of the Frame around the screen if
undecorated
• Can customize this by providing a method on your applet
public void
setAppletCloseListener(ActionListener a);

• If you implement this method, you should draw some sort


of close button in your applet's region
• Call the ActionListener when the close button is clicked
to initiate shutdown of your applet

35
Experimental Functionality
• While the web page where the applet came from is still
visible, the applet can still talk back to the browser
> Java/JavaScript calls still allowed
> Can still interact with the surrounding web page
• Once the page is closed, reloaded, or navigated away
from, the applet is disconnected from the browser
• Services provided to the applet degrade gracefully
> Java/JavaScript calls disallowed
> AppletContext.showDocument() is implemented by
opening a new browser window; target is ignored
> ...
• When applet is closed, normal applet teardown occurs
> stop() and destroy() are called
36
New Plugin Architecture
• Please test it and let us know!
> https://jdk6.dev.java.net/6uNea.html
• Windows:
> Java Control Panel, “Advanced” tab
> “Java Plug-In” node
> Select the checkbox:
> “Enable the next-generation Java Plug-in”
• Linux/Solaris
> Symlink to lib/{i386,sparc}/libnpjp2.so from firefox/plugins or
~/.mozilla/plugins directory
> Remove any old symlinks to libjavaplugin_oji.so

37
But Wait, There’s More!

38
Graphics Goodies
• Better Windows graphics performance
> GPU-accelerated, using Direct3D
> On by default
• Nimbus:
> Cross-platform look & feel
> More modern than current Metal look & feel
> Opt-in: Not the default look & feel
> Preserves backwards compatibility
> Design tool for creating new skins

39
Nimbus

40
Update whe[N]?
• Early Access (beta) available now
> https://jdk6.dev.java.net/6uNea.html
• GA planned for early second half of 2008

41
Agenda
• State of Java
• Java 6 update N
• Java on the client (reboot)
• Future

42
JavaFX

43
JavaFX Features
• Java FX Script
• Scene graph
• Media
• HTML
• Multiple Device

44
J a va F X S crip t

45
JavaFX Script
• Language
> Simple data binding
> Fast prototyping
> Declarative GUIs and graphics
> Easily programmed animations
• Compiler
> Interpreter (now): okay for demos
> Compiler (soon): necessary for real applications

46
S c e n e G ra p h

47
Scene Graph
• “Retained mode” graphics
> Versus immediate-mode 2D API
• More declarative model for:
> Graphics
> GUI
> Media
> Animation
• Used by FX Script
> Also usable from Java

48
Scene Graph
• Available!
• Open source project now available
> http://scenegraph.dev.java.net
• Early early (early) access form
> Functional
> APIs not final

49
Media

Media

Media

Media

Media
50
Client: old todo List

51
Client: Recent todo List

52
Media
• Media player component
> Video
> Audio
> Simple player component creation
• Modern CODECs
> native
> cross-platform

53
54
HTML
• Swing HTML support intentionally basic
• Need new component for “street HTML” rendering
• Will allow integrated Swing, graphics, and HTML
applications

55
56
JavaFX Mobile
• Java FX Script isn't just for desktop
> Java FX Mobile platform
• Development skills that carry between platforms
> Not mobile developers
> Developers with skills that are mobile
• Easier authoring of applications for multiple
devices

57
Resources
• Update N (beta)
> https://jdk6.dev.java.net/6uNea.html
• Java FX
> https://openjfx.dev.java.net/

58
Update N and Java FX
Java Comes Home to the Consumer

59
Java SE 6 Update N

Raghavan “Rags” N. Srinivas


[email protected]
Sun Microsystems Inc.

60

You might also like