July 02, 2005

JavaOne 2005: Day Four

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 and
- 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

Posted by thoughts at July 2, 2005 09:01 AM | TrackBack
Comments

Hi,

can you please send me some information about:
welcome page - initial greeting upon application startup

thanking you
Kulbir

Posted by: Kulbir at December 5, 2005 10:08 PM
Post a comment









Remember personal info?