Sun expected to announce open source and JRE bundling annoucements at JavaOne

In a recent press conference, Sun mentioned that they will be making announcements regarding the bundling of the JRE in order to make distribution/installation of the JRE easier on other platforms, such as Linux.

Also, they mentioned they have one other major announcement regarding the JRE itself, possibly connected to Open Sourcing? Hmm, sounds interesting.

Sun will be making the announcements at JavaOne which starts May 16th in SF.

Artima: Questions on EJB3.0 spec

There is a post on the Artima site collecting questions for an upcoming interview with Linda DeMichiel, co-spec lead for JSR 220, Enterprise JavaBeans 3.0.

Although there aren’t many questions there so far, the interview should be an interesting read once they’ve collected some questions.

Will Schwartz announce Open Sourcing Java at JavaOne next month?

There has been a lot of community pressure (and also apparently from inside Sun) to Open Source Java. I’m still unsure if this is a good idea. I think Sun have done a great job so far of shepherding the language’s development, and the Java language and platform really has developed in leaps and bounds since the first 1.0.x versions.

Jonathan Schwartz as the new Sun Microsystems CEO may have other ideas. He has already been involved in the Open Sourcing of the company’s flagship operating system, Solaris, and so may be thinking along the same lines for Java.

With JavaOne approaching, people are speculating whether he may be preparing for a significant annoucement regarding Java’s future.

Selecting a Code Generator: Tools for generating Java application code

On several occasions over the last few years I’ve thought ‘hmm, wouldn’t it save time if we could generate this code from xyz’, and in some cases I’ve written my own code generators using template engines such as Velocity.

The pages in all the web applications I’ve worked on always follow a well defined set of project standards and implement a slice across defined architectural layers. In most cases, it would also be easy to generate skeleton code that implements the standard Create/Retrieve/Update/Delete (CRUD) functionality using code for each of the layers in the application.

I have a new project to build an online store that I’m currently thinking about. The great thing about ‘green-field’ projects is that it’s a great opportunity to start with something new – new technologies and new methods. This application is going to have typical CRUD pages for each of the entities involved, so rather than writing Entities, DAOs, Business Logic, and MVC style front end from scratch, I’ve been thinking and looking at the options out there for generating the code.

The first option would be to generate a skeleton app using AppFuse. Although not entirely what I’m looking for, at least this would generate the skeleton code complete with project layout and build scripts for the technologies that I choose.

The other options are tools that generate code from either UML models or existing DB schemas. The first that keeps coming to the top of my Google results is JAG – Java Application Generator. This looks like a promising tool. I’ve been meaning to download this and give it a go – it generates a working web app with CRUD functionality from an exported UML model in XMI format, using Hibernate, EJB2.1/3 and Struts. The only thing that is currently putting me off is that the frontend is using Struts. Given this current opportunity to start with a clean slate for this new app, I would not pick Struts for the web tier, since Struts lifespan is seriously limited at this point with JSF as the new kid in town.

Other generation tools I’m considering: JBoss Eclipse IDE have a CRUD generator that generates a skeleton app using their new Seam framework, using JSF and EJB3.0. This is currently the most attractive option, but I’m not too excited about the JBoss Eclipse IDE. The last time I used it (1.5) a couple of months ago everthing was great, apart from the hideous packaging interface for building the dependencies between projects as Jars, WARs and EARs. Having lived in the IBM WSAD/RAD world for the past couple of years, this part of the tool in comparison to what I’ve been used to really was lame. I even showed one of my colleagues and he just laughed. Anyway, JBoss have a demo Flash movie on their site of the generation part of the IDE, which looks interesting.

The other option which initially looked very promising was the ‘JSF Pages from Entity’ generator option in Netbeans 5.5. I say this in the past tense because I’ve tried it out, ran into exceptions in the wizard, and when I finally did get it to work, it would not deploy on JBoss 4.0, which will be my target platform. This is a great shame because this was the most attractive so far, but if it doesn’t work then it’s no good to me.

I haven’t chosen any solution yet, but I’ll post an update once I’ve investigated some of these options further and come up with a direction to go with.