Friday, June 19, 2009

Creating a JBoss Seam Maven Archetype

In case you're a regular reader of this blog, I guess you're aware that I'm a frequent user of both Maven and JBoss Seam - and that I'm regularly trying to combine working with both! My usual approach for setting up a new project was either to start with an empty Maven web application project and copying the missing files over, or to start with a seam-gen project and move it into a Maven structure. Both less than ideal...

Maven provides so called archetypes for a quick project setup. As there is not (yet?) an official archetype for Seam projects, I've been working on my own - and here's how you can use it as well!

All you need is
  • a recent version of Maven downloaded (I used 2.0.10)
  • and the Maven executable referenced in your path so you can use it on the console.
Open up a console, cd to your projects directory and type:

mvn archetype:generate -DarchetypeCatalog=

This will start Maven and show the following command line output:

[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:generate] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:generate]
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: -> jboss-seam-archetype (Archetype for JBoss Seam Projects)
Choose a number: (1):

The remote archetype catalog contains so far only one archetype (BTW: the jbsarch in stands for JBoss Seam ARCHetype - hope you can remember this better than the full URL :-) Select the archetype by typing 1 and enter your Maven project properties as well as your JBoss Server directory:

[INFO] snapshot com.ctp.archetype:jboss-seam-archetype:1.0.0-SNAPSHOT: checking for updates from jboss-seam-archetype-repo
Define value for serverDir: : /Developer/Servers/JBoss/jboss-5.1.0.GA
Define value for groupId: : com.ctp
Define value for artifactId: : fluxcapacitor
Define value for version: 1.0-SNAPSHOT: :
Define value for package: com.ctp: : com.ctp.fluxcapacitor
Confirm properties configuration:
serverType: jboss5
serverDir: /Developer/Servers/JBoss/jboss-5.1.0.GA
groupId: com.ctp
artifactId: fluxcapacitor
version: 1.0-SNAPSHOT
package: com.ctp.fluxcapacitor
Y: : y
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 minutes 57 seconds
[INFO] Finished at: Fri Jun 19 19:12:19 CEST 2009
[INFO] Final Memory: 12M/79M
[INFO] ------------------------------------------------------------------------

Note that the serverType property defaults to jboss5. If you have a JBoss 4.2.x installation, quit with n and retype everything (hmm...) and use jboss4 instead.

In case anything fails here, make sure your archetype plugin is at least version 2.0-alpha-4 (I had to delete the local repo info file in the local repository once). Now with your project created, lets build and deploy it!

Aragorn:sandbox thug$ cd fluxcapacitor/
Aragorn:fluxcapacitor thug$ mvn package
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO] [fluxcapacitor]
[INFO] [fluxcapacitor :: JBoss Configuration]
[INFO] [fluxcapacitor :: Web Application]

The project currently features two modules: One with the actual web application, and the other one containing JBoss Server configuration files. With the basic archetype you only get a datasource there, but you can also use it to change server ports, define security realms, queues etc.

Environment specific properties are referenced in filter property files. You can find the development filter file in ${artifactId}/environment/filters/${artifactId} The filter file selection happens in the parent POM. It defines a development profile which sets the environment property. Setting this property to test will look for a ${artifactId}/environment/filters/${artifactId} filter file.

Note that the parent POM contains your JBoss installation directory hard coded. You might want to factor this out into a developer specific profile when working in a team. Fire up your JBoss instance. Everything should start up well (fingers crossed...) and you can point your browser to the base URL of your application.

Done! Import the project in your favorite IDE and start prototyping!

Unfortunately this is still far away of what seam-gen provides up to now. Maven archetypes have improved over time but are currently still not as flexible to be useful in complex setups:
  • Entering project properties is not even close to be user friendly. At least a description, input validation (enumerations) and reasonable handling of default values might help.
  • Conditional installation of files. If you know how this works - let me know :-) This would be required to distinguish between WAR and EAR projects, and for targeting different applications servers (yeah, like GlassFish!).
In case I find some time to contribute something here, I'll report back. If you have feedback / contributions to the archetype, this is as usual very welcome (the code is available at our Google Code repository)!

Saturday, June 6, 2009

JavaOne 2009 Summary: Friday (Day 4)

Related Posts so far:
  • Day 0: CommunityOne, GlassFish
  • Day 1: JavaOne, Key Note
  • Day 2: JavaOne, Mobility
  • Day 3: JavaOne, Microsoft and IBM
=== The Toy Show hosted by James Gosling! ===
Welcome back, the final day has come and it's called "Toy Show Time" !

The whole show is not about standards or technical details, it is about Java, the Java ecosystem and how Java is used in its various situations driven by innovative people around the world:
  • The BlueJ team received a well-deserved special recognition for building tools that help millions of high school and college students get started with Java.
  • A fellow from RuneScape dev demoed their tools, and I learned how one animates a water troll, something that will surely come in handy one day.

  • JavaFX Demo with inversed Nintendo Wii Remote Control. See BOF descriptions in my last post. Instead of virtually painting on the wall, they used a piece of glass and it therefore looked like a scene of Minority Report :-)

  • Tor Norbye (a JavaPosse member) showed a very impressive JavaFX authoring tool whose release is planned in December. When JavaFX was presented the first time at JavaOne 2007 it looked good already but nothing really happened after that announcement. In 2008 it was pushed again but it did not kick off (again). Since the release of Java SE 6 Update 10 and this year's JavaOne, it is now really looking much much better! The demos of the upcoming JavaFX version by end of this year looked even better!! Together with Larry's indication to heavily push JavaFX forward, it might soon be a valid competitor of Flex and Silverlight.

  • There was a demo by the high school kids who won the FIRST robotics contest. Sun and the FIRST folks just ported the programming environment from C/C++ to Java.

  • The Grameen Foundation showed off an open source system for helping with microfinance in third world countries.
  • A fellow showed SIM cards running Java and a web server. The latest ones can interact with sensors and WiFi radios.
  • At the age of 14, James Gosling was working on some satellite ground station application running on a PDP-8... as of James, it had less compute power than a modern smart card :-) His mother took this photo by then:

    He was very excited to have on stage a guy showing a top-notch cutting-edge version of a satellite ground station management application used today and running fully on Java using over 1000 OSGi modules.

  • Two Hungarian university students showed off the project that won them first price in the Ricoh Printer Contest. Those printer/copiers are Java-powered and the students used them to grade multiple choice exams.
  • Atlassian wins Duke's Choice Award for Clover!

  • Another interesting guest was Visuvi: Not only can you upload (cell phone cam or hi-res) images to their search engine and have them analyzed (e.g. to answer the question "who painted that?"), but most importantly, the new image analysis technology is used for cancer research (e.g. you can search through a biopsy image database for visually similar cases). The database currently stores about 50 million images whereas a high-resolution image hold 3000 Mega Pixels and is about 60 GB !!!

  • A musician showed off a Java-powered juke box that allows independent artists to upload their creations to a web site and have it played in bars. As James put it: “Here's Manuel. He is a musician. He has a problem.”And with the help of a touch screen, a cash reader, and Java FX, he put together a solution. James had to insert a 1$ bill in order to run the demo :-) He said: "1$ for a starving musician"...

  • "Project Bixby" controls an Audi TT on a dirt rallye course going really fast (160 km/h) without a driver! This was very impressive...

  • And finally, the“LincVolt” project controls a 1959 Lincoln Continental with an electric motor, this time with a human driver: Neil Young! There is a Swing-based control panel in the car and while driving around, people can follow the data on the website. Fancy stuff... If I'm right, the car can produce 500 horse power !?
=== Technical Sessions ===
I'm still suffering from this week's firehose of information! It is again 2:35am... there will be only the titles of visited technical sessions without any comments. Sorry!
  • JCA 1.6 (by the two spec leads): most important take away: in addition to security context outflow there is now also security context inflow -> JCA 1.6 provides E2E security context propagation!
  • Google Guice (by Jesse Wilson)
  • Async with SCA (Apache Toscany)
  • JMS: Performance vs Reliability

=== Bye Bye San Francisco ===
After the last session (5.10pm) we had early dinner at the Chieftain Irish Pub. After that I headed back to hotel for writing the two posts (yesterday and today).

On the way to the pub we spotted these here...

Finally in the Pub: Anchor Steams... aaaah

At 9.30pm, we had a quick walk around block to take some photoshoots of SF by night:

Bye bye JavaOne, Hello WWDC!

This year's JavaOne was one of the best so far, not only due to the strong focus on Java EE 6 but also because of having talked to so many people, spec leads, experts and other visitors...
As said, time passed by so quickly, it's quite a shock realizing that all this is already over again...

Looking forward to bring back lots of infos, impressions and ... gadgets back to Switzerland!

CU soon
- Balz

Friday, June 5, 2009

JavaOne 2009 Summary: Thursday (Day 3)

Related Posts so far:
  • Day 0: CommunityOne, GlassFish
  • Day 1: JavaOne, Key Note
  • Day 2: JavaOne, Mobility
JavaOne Day 3 Summary

=== General Sessions ===
  • Microsoft in a general session!
    Corporate VP Dan'l Lewin started with the 5 year partnership with Sun and mentioned Microsoft's dedication to the interoperability topic between Java and .NET. As of a survey they did last year, 73% out of 5 million interviewed developers work in a mixed environment.
    At JavaOne 2006 Sun announced new workforces together with Microsoft to work on the interoperatbility topic. The demoed Apache Stonehenge is certainly an outcome of it, a prove also that Sun joined the project which serves as set of sample applications to demonstrate seamless interoperability across multiple underlying platform technologies (like Java and .NET). Key message here was that given the matured WS-* standards, interoperability was "possible" but the last mile on "how to correctly configure the products/framworks on each side" was still very hard to do. Now with Stonehenge the last mile gap is closed. The demo was presented by Greg Leake, a Senior Director at Microsoft, and Harold Carr, Sun's Lead Architect for the Metro Web Service Stack.

    Further resources:

  • IBM: Extreme Transaction Processing and Elasticity
    Craig Hayman, IBM's vice president of WebSphere software, focused on the importance on open source and open standards development with Java. To demonstrate some of the work that IBM has been doing with open source to innovate in the middle tier, Hayman called to the stage Ted Ellison, vice president of the Apache Software Foundation and an IBM senior technical staff member, to give a demonstration of the Apache Harmony project. More details on the session see here.

    One particular slide in the presentation I found cool in particular: it showed again the evolution of architectures and their focus points:
    Mainframe based Architectures ->
    -> Client/Server Architectures ->
    -> Focus on Mobility Architectures ->
    -> Cloud Architectures
    ... what comes next? Unfortunately, I was not quick enough to take a photo of the slide... This one is good too:

=== Technical Sessions Highlights ===
  • Enterprise Integration Patterns in Practice
    by Andreas Egloff (Lead Architect GlassFish Fuji) and Bruce Snyder (Apache Camel)
    Besides the introduction of some integration patterns (like "Content Based Routing", "Pipeline Routing", "Spitter" and "Aggregator"), both presenters summarized two open source products that address this topic:
    - Fuji: The core of OpenESB v3, originating from Java CAPS, currently still beta (M6)
    - Apache Camel

    While both products surprised in their richness of functionality that certainly simplifies many application implementations, Fuji convinced us more and not only because it really cool web based UI (based on JavaScript!):

    In the Pavilion I talked to Andreas Egloff asking about clusterability: this will come next year with GlassFish AS v3.1 which by then will support clusters and Fuji will be built on top of that. Transaction Support: Fuji's focus is Ease of Development combined with strong focus on Enterprise implementations, so distributed transactions are fully supported as of the first release by end of this year.

  • Dealing with Asynchronicity in Java Web Services
    by Gerard Davison and Manoj Kumar (both Oracle)
    - nothing new, it was pure JAX-WS based async stuff

  • Bean Validation: Declare Once, Use Anywhere
    by Emmanuel Bernard
    Actually a very good presentation, Validation Cascadation, Groups (Subset of constraints), Partial Validation, Custom constraints, Metadata API!... Bean Validation is available across layers (JSF, EJBs, JPA): JSF2 requires zero config, JPA2: validate on entity change. In general, Bean Validators can be injected as Resources in Java EE 6.

  • eBay: Best Practices for Large-Scale Web Sites
    by Randy Shoup (Lead Architect of eBay)
    I expected a special large scale Java EE architecture but it was the contradiction of it:
    - no JDBC client transactions, no distributed transactions (2PC, XA)
    - no DB constraints in the DB schema
    - no HTTP session states (the state is kept in a combination of cookie/URL-params/DB)
    - no EJBs
    - everything is asynchronously processed

    I was surprised about the architecture very much, somehow I could not believe it but due to the success of eBay, it is obviously like that...

    Some backgrounds:
    No DB Constraints: The user profiles are kept in a DB RAC, the auction items are kept in another DB RAC. The 1:many relation between user and item was not based on constraints but was solved by treating it in a bottom-up approach...

    The best practices in a nut shell were:
    - Partition Everything (e.g. User Profile DB RAC, Item DB RAC, split data by load and usage pattern
    - Async Everywhere: Synchronous designs must address peak load whereas asnyc designs can flatten out peak loads and compensate at time of low loads
    - Automate Everything: Based on feedback loops the systems adapt their configuration automatically (sizing). This is achieved by defining SLA between consumer and producer components. If the consumer tends to violate an SLA, it starts to scale itself horizontally.
    - Everything can fail: all systems must be tolerant of failure
    - Embrace Inconsistency: He introduced the CAP theorem: Consistency, Availability, Partitioning. As of the theorem you can have only two of them. eBay selected availability (7x24) and partitioning according to its priorities. Consistency is seen as a spectrum and is therefore not comparable to "normal Java EE" designs.

    Some numbers:
    - 1.6 millions of transactions per second worldwide
    - 88.3 millions of user profiles
    - 160 millions of items
    - 2 Tera Bytes of logfiles per day
    - 2 billion page views per day (

  • Drizzle: A New Database for the Cloud

  • Various:
    - SpringSource Tool Suite (STS) is now for free!
=== BOFs ===
  • Enterprise Web 2.0 Architectures
    by Brazilian Consultancy Company Globalcode
    Goal of the session was to show how they compared different web application stacks and which stack suits best for which customer environment. Stacks considered were:

    1.) Pure Web: JSF 1.2, Facelets 1.1.x

    2.) Web + JMS + EJB: Compared to Pure Web: Business Logic in EJBs, not in JSF managed beans anymore
    3.) Spring: Pure Web + Spring components, Spring AOP and Spring Security
    4.) Seam: Pure Web + JSF/Ajax + Seam components and JBoss Rules
    5.) Seam + Spring: As of some customer they have in Brazil, a migration from large-scale Spring based applications was required to a Seam based model. In this very special case, they found out that both worlds can live together at the same time in the same application. They also found out that injecting a Seam component into the Spring container was possible and vice versa.

    It is definitly worth going through these slides and see the last table (criterias vs stacks): red cells indicate high risk, orange a potential risk.
    A big surprise was the public availability of a web based CRUD generator where you can enter the data model, select the stack and export a sample application as ZIP file containing the IDE project... Really nice!
    Check it out here:

  • JavaFX and the Nintendo Wiimote
    Take a Wii Remote Controller, mount it near the image source (TV, Beamer) and mount the infrared sensors (that are normally mounted near the image source) on your moving objects, in this BOF a normal glove. Write some JavaFX and off you go with a virtual paint panel wherever the beamer is projecting to :-)

    painting on the wall by using fancy JavaFX gadgets...

=== After Dark Bash ===
Back in 1999, I was in San Francisco in the very same hall at the ISSCC (International Solid State Circuit Conference) presenting the diploma thesis from ETH Zurich. In the very same hall, the official JavaOne After Dark Bash party took place... impressive!! Very loud live rock band performing on a huge stage accompanied by a food buffet and various drink bars.
While Dani was still at some JavaFX labs exercise, I spent some 45 minutes there and enjoyed the short break :-) After that, I went back to the last BOF (while Dani enjoyed the last hour of the bashing party :-)...

=== Bookstore ===
As usual, the book store always attracts each day again... this time:
- JSF 2 and JBoss Seam / WebBeans

Cu tomorrow, last day!

Thursday, June 4, 2009

JavaOne 2009 Summary: Wednesday (Day 2)

Back again... well I'm sorry to write this but I could not make it yesterday to publish the summary of Wednesday. It was 2:15am and I was very exhausted after having been up since 7am. So, I still hope you enjoy this summary as I try to include as much infos as a can within the given time from different sources in the net and myself.

Related Posts so far:

JavaOne Day 2 Summary

=== Mobility General Session ===
  • Christopher David, Head of Development and Partner Engagement at Sony Ericsson, was the main speaker for the talk. During his presentation, Erik Hullman (a Senior Java Developer with Sony Ericsson) was given the task to develop a JavaFX Twitter client from scratch that at the end of the presentation should be deployed to three different devices!
    As if the task would not have been complex enough: People in the audience could send questions or comments to his Twitter accound that he answered in parallel to his programming efforts... and at the end, the same deployable artefact worked fine on all three devices. Sounds promising!!

    Rikko Sakaguchi, Corporate VP of Creation and Development

=== Technical Sessions Highlights ===
  • Hudson: Continuous Integration in the Cloud with Hudson
    (by Kohsuke Kawaguchi --> Blog)
    - I very much like the automated distribution approach: You start the Master Instance with Hudson installed as well as with the Hudson PXE Plugin (Prebuilt Execution Environment). After that you start the Slave Instance (on another machine) and boot from the network. That's it!
    - The defined target machines can be flagged with so called "labels" and can be used to ensure that Test Units aimed for Windows machines are executed on Windows boxes (and same for Unix boxes).
    - The Hudson Master instance can run on Windows or Unix.
    - Cloud: The demo was about the creation of a CI environment in Amazon EC2. It was very impressive how quickly the setup was done and executed successfully.
    - Hadoop: Kohsuke also mentioned the rather new plugin for Hadoop which makes Hudson run on Hadoop.
    - Slides: PPT

  • "Effective Java": Still effective after all these years
    (by Joshua Bloch)
    As in his other presentations, Joshua presented his content in a very nice way accompanied by his typical kind of humour... As of the end of the day, his book was again "Number 1" in the Bookstore's Top Seller List.

  • JPA 2.0 (by Linda DeMichiel)
    The new Criteria API as well as the introduction of the pessimistic locking modes were interesting to follow. Overall, the session was a little bit too much on the theoretical side.

  • WebBeans! Sorry: JCDI, Java Contexts and Dependency Injection: JSR-299
    (by Gavin King)
    I just like the way Gavin presents, he has his unique style, very straight forward and nice to follow. JCDI targets to support stateful objects, builds the glue between JSF and EJB, allows loose coupling with strong typing and introduces very nice concepts like BindingTypes and DeploymentTypes.

    After the speech we asked Gavin about the other "DI" related JSR submitted by Bob Lee (Google) and Rod Johnson (SpringSource): JSR-330. It states "This JSR targets Java SE, and it will lay a foundation for dependency injection in Java EE." So it seems that this is a big discussion at the moment as the JSR-299 has started 3 years ago and is nearly finalized now and could make it easily into the final release of Java EE 6 by end of this year whereas the newly submitted JSR would take at least 1 year until its finalization and would eventually postpone the release of Java EE 6 as 299 would directly depend on 330. I'm very curious how this gets resolved. My personal hope is that they agree on a common dependency injection foundation for SE and EE and include that one with potential EE specifics in the nearly finalized 299 (During the Java EE 6 Panel Discussion BOF, William Shannon meant that the EG would never accept two different DI specs on the Java Platform, so a common sense must be found, and quickly).
    Links around this discusssion:
    --> Bob Lee's initial post (from May 5th, 2009)
    --> Gavin King's statement (from May 7th, 2009)
    --> Bob's comment on Gavin's statement
=== BOFs ===
  • JSF Platform and Ajax: State of the Union
    with Ted Goddard (Lead Architect of ICEfaces), Andy Schwartz (Oracle ADF Faces) and Alexandr Smirnov (RichFaces)
    This kind of panel discussion was very interesting as each of the presenters talked about the current status and the progress towards JSF 2.0. RichFaces and ICEfaces convinced most (RichFaces because of its seemless integration with Seam and ICEfaces because of its architecture and the unique feature of automatic Ajax Push based on server-side DOM-diffing (more here)).
    Woodstock was not represented. As of the presenters there are no plans for further releases. On ICEfaces there is a migration plan described from Woodstock to ICEfaces.

    Ted Goddard

  • Java EE 6 Experts Discussion Panel
    hosted by Roberto Chinnici and William Shannon
    Good discussions, questions and comments... I was surprised that JSR-299 was not mentioned at all in the presentation about Java EE 6. After having asked the question why it is missing, a big *sigh* from Roberto Chinnici :-) (as expected), then responding that they were not yet sure about the inclusion of JSR-299 in Java EE 6. I reformulated my question what the current trend would be, rather "in" or "out". After eye-contacting with William Shannon, William meant "give him the full story"... Then the story around "JSR-299 vs JSR-330" has been described (see WebBeans above for more details).

    William Shannon and Roberto Chinnici

=== Pavilion ===
  • At the ICEfaces booth we met Micha Kiener (also from Switzerland) who is working for Mimacom. We were introduced to the overall architecture of ICEfaces and that looked really cool (server-side DOM diffing, Ajax Push). The demo showed a very elegant way of doing Interportlet Communication (IPC) on Liferay Portal 5.2. Really nice!!

  • And some pictures from the Pavilion and its entrance area...

    Dani at the SpringSource booth
    where it says "Eliminating Enterprise Java Complexity"


Wednesday, June 3, 2009

JavaOne 2009 Summary: Tuesday (Day 1)

Take a deep breath... Time is really rushing away, it is actually Wednesday night now (11pm), 50% already passed, but as promised in the previous post, there will be a summary of each day. So here it is!
Before kicking off, read the summary of Monday's ConferenceOne if you haven't done so already...

JavaOne Day 1 Summary

As every year, Day 1 started with the General Session, the key note by Sun itself and hosted this year by Sun's CGO (Chief Gaming Officer) Chris Melissinos.
Guests on stage were
  • James Barresse, VP of Architecture, Platforms and Systems with eBay
  • Alan Brunner, Senior VP for the Blackberry Platform
  • Dan Eklund, Executive VP of Advanced Technologies at Sony Pictures Home Entertainment
  • Lowell McAdam, President and CEO of Verizon
  • Diane Bryant, Executive VP at Intel
  • Ronan McBrien, JavaFX TV Architect (nice demo, video should be available here)
  • Nandini Ramani, Director for JavaFX
Some pictures:

Jonathan Schwarz about BDJ and BD Live

Java FX TV Demo:

=== Key Note Highlights ===
  • Oracle and the Future of Java:
    At the end of the key note, Scott McNealy called Oracle CEO Larry Ellison up on stage to address the $7.4 billion dollar question -- what will be the future of Java?
    My key notes from his answer are:
    - Oracle with a much greater R&D budget than Sun will be able to even more push Java forward. Quote: "I don't expect a lot of changes, just expanded investment and a lot of enthusiasm coming from Oracle."
    - He mentioned JavaFX many times, he wants OpenOffice to use JavaFX as UI. He also mentioned that it would be interesting to see Android based phones and netbooks from Sun running Java and JavaFX. Rumors say that pushing JavaFX will secure his seat in the UI battle between Silverlight and Flex.
    - "Look at the past to see the future": by this he most probably meant Oracle's dedication to Java since its birth, its commitment to support the community and to actively participate in Java's future.
    - Interesting Link about Larry's talk
    - Some pictures:
    Scott mentioning that Larry might have more luck
    to bring the JVM on the iPhone :-)

    "Mr. Oracle"

    - And enjoy the following video:

  • Java Store! presented by James Gosling: still in beta, community is asked to give feedback on how payments should be implemented.

  • Release of Java FX 1.2 !

  • "The classpath is dead": Chief Engineer of Java SE, Mark Reinhold, said this after having shown a nifty demo on how Java SE 7 manages modules.

  • "The web.xml is dead": CTO at Sun, Bob Brewin, said this while talking about the next enterprise release Java EE 6.

  • Announcement of JATAF ! The Java Application Terminal Alignment Framework is an open, collaborative community striving for a unified Java ME platform.

  • Project Dark Chat: Nice demo app for the JavaOne.
    --> Download this JNLP file (jre6u10 required)

  • DJ Anna: for me as a fan of electronic music, the opening sounds mixed live by DJ Anna, a local DJ of San Francisco, are always a pleasure to listen to...

  • and of course: Gosling's T-Shirt Tossing!!!

=== Technical Sessions Highlights ===
As it got already very late and I am still writing about yesterday!, more take aways from the technical sessions will follow (as CTP internal Knowledge Shares or in form of upcoming blog posts):
Interesting sessions were EJB 3.1, Servlet 3.0, Java EE 6 and GlassFish v3, Spring 3.0, JSF 2.0 and others...

=== BOFs ===
  • The most exciting BOF was of course the one of JavaPosse !
    Download the mp3 and listen yourself what happened!! :
    Episode 0x100 (#256)

    As last year, the beer got sponsored by Atlassian and started with some polls from the audience. After that, they talked about topics and news they picked up during the first day...
    After the show we joined them for some drinks at the Kate O'Briens pub near Moscone. I could finally tell Joe to accept my friend request on Xbox360 in order to see his hotlaps in Forza2 (he is actually a real race driver, watch this video if you don't believe me) and Carl told us some more details about his brand new Tesla (100% electric car)... A great moment in life indeed to finally get to know these dudes! :-) I could not talk much with Dick Wall unfortunately... One more reason to go again to JavaOne! ;-) At least one important thing I could tell him: Talk more about Enterprise stuff!

  • BOF about Lift: The Best Way to create RIAs with Scala
    (by David Pollak, Lead of the Lift Framework)

    to be honest, I can't comment on this content-wise... The way it was presented was cool (I like the humour of David Pollak), it was also interesting to see how he quickly implemented a fully functioning ajax based chat tool from scratch in less than 100 lines of code :-) but I could only take this one with me: Learn Scala first, then lift off with Lift.... ok! -> Scala book bought!!

Good night (oh no... in 5 hours the alarm kicks on :-),