Sun's morning key note is amazing! You can see that they've put a lot of effort into it. The coolest things are multi-JVM implementations where John Cage moves a running stack of an application from one JVM to a different one wireless. They are throwing out a lot of new stuff happening in Java and hyping up some thing, but hey, it's Java One and Java's 10th birthday so it's sort of appropriate. I stay in the main hall for panel about future of Java and programming languages. It's entertaining to see them talk but it doesn't offer too many new things.
After the panel, I run around in the expo to meet with Eclipse developers and some SA/unit testing vendors showing off their newest tools in effort to gather a snapshot of state-of-the-art development in those areas. Also, I ended up in an extremely interesting presentation about using Eclipse core as a base for a rich-client application. If it's even somewhat standard application, it makes a lot of sense, because there's so much you can leverage in Eclipse's core platform: the pluggable architecture, the window management, automated updates, xml configuration etc.
Adam Winer's presentation in the afternoon on extreme re-use with JSF is very interesting and immediately useful giving me a lot of ideas on how to improve my JSF-based applications. Good thing though Adam's wasn't in the morning...
---
Day four
John Cage showed a demo of multi-JVM implementation and moved a running stack of the application onto a different processor (and from Windows to Mac) - wou!
Java running on bare metal ARM chip, did the same demo by "pouring" the app on to a different chip connected with bluetooth(?)
NetBeans UI designer demo very nice, lots of things finally done right in a Swing UI designer
sourcecode available on java.net / joggle
integration between netbeans and java.net, very good idea
not available yet in EA
MIDP-2.0 graphical support in Netbeans (some plugin?)
Networked Bay Environmental Assessement Monitoring Stations
- joint development project between three communities
JXTA-based with cellphones used to send the data
ScanEagle Autonoumous Navigation of Unmanned Air Vehicle
Using RTSJ (Real-Time Java)
Java-code is the pilot doing autonoumous auto-routing
RTSJ determinism critical for navigational control
RTSJ JVM enabled significant productivity gains versus C++
Java aided program goals by minimizing manpower
Continue to perform research on newer RTSJ implementations
Panel James Gosling, Bill Joy, Paul Saffo, Guy Steele, Danny Hillis
Fortress next-gen language developed as Sun's research project
"Trying to do the same thing to Java that Java did to C++"
Security, multi-chip, multiplatform, multi-JVM, heavy use of parallelism
Pursue of clock-rate has started to flat-out, more focus on multi-cores and parallelism, so how do you deal with it (in a programming language)
Google is essentially the web hosting service for the planet
Introduction to Eclipse's Rich Client Platform
Jeff Gunther
Intalgent
Why Use the Rich Client Platform
- elegant and extensible plug-in architectre
- highly customizable workspace and user interface components
- good interoperability with other technologies
- sclable from desktops to embedded devices
- wide cross-platform support
- transparent to the end user
an RCP cell application
Core RCP components
- SWT
- JFace Toolkit
- Eclipse Runtime - provides the foundation for plug-ins, extension points and extensions
- Generic Workbench - multi-windows
optional components
- help
- update manager
- text/forms - frameworks for constructing text editors and forms
- welcome page - initial greeting upon application startup
- cheat sheet - guides used to walk users through a long running, multi-step task
- resources
- Graphical Editing Framework (GEF)
- Eclipse Modeling Framework (EMF)
high level steps to create an application... check the slides
Eclipse IDE contains a specialized perspective to create and package an Eclipse rcp application
A plug-in can define its own set of extensions and extension points
You can brand the workspace
A view/editor canot be shared between different perspectives
Eclipse 3.1 introduced the ability to deploy RCP application via Java WebStart (JWS)
Deploying an RCP application via JWS is a three-step process:
package each plug-in in a seprate JAR file
Since the application requires full permissions, each JAR file must be singed
Package all the JAR file into single WAR file
What's the size of Eclipse runtime?
- go to eclipse.org to find out
Can you internationalize plugin.xml?
- yes
Any test automation tools for RCP?
- not aware of any specific tools. There's a Eclipse RCP visual editor
There's an embedded browser in Eclipse
Extreme Reuse in JavaServer Faces Technology
Adam Winer, Christian Straub / Oracle
// Get the slides of this presentation
learn how to pick technolgoies that enable reuse in JSF technology
Tiles and SiteMesh
JSF-based solutions
what makes a solution good?
supports JSF technology
- including postback and EL
not "invasive"
parametrisable
tool support
simple
JSF 1.2 fixes problems with jsp:include
- don't need
- both are absolute history
jsp:include no parameterization
c:set is half the solution
be aware of limitations of jsp:include
c:import has the same problems
.tag files seem ideal
JSP fragments work wonderfully
very easy way to build up complex layouts
Usage
value attributes can't talk to JSF EL
Attributes of a .tag aren't visible to JSF
because JSF doesn't have concept of page scope
tags might look like components
but you can't set a binding attribute
to your backing bean, they don't exist
Use templates!
but have to use JSP expression language
EL troubles
Classic EL
${..} evaluated once, then forgotten
JSF EL
#{..} evaluated over and over again because it needs to process postback
here comes octothorpe pound-bracket syntax inside joke...
EL unification - coming soon...
EL resolver API
- managed beans everywhere
VariableMapper API
c:set works with JSF EL
c:forEach works
.tag attirbutes work
custom tags can work
tiles - works with JSF
Hi,
can you please send me some information about:
welcome page - initial greeting upon application startup
thanking you
Kulbir