2005/06/27
Last changed: Jun 29, 2005 16:37 by Stephan Janssen

JSR 277, Java Module System has been submitted this month by Sun. The target is to solve Jar deployment problems. I think that this initiative was needed since a long time. Relationships and dependencies between Jars cannot be enforced and consequently managed properly at deployment time.

But it seems that this JSR is only a part of the solution to this problem.

Let?s take an example. I have a component x.jar that requires log4j-1.2.8 and another component y.jar that requires another version of log4j. What happens if my application uses both x.jar and y.jar ?

Today, it is already possible to define jar dependencies in the jar file manifest. But as soon as we have 2 different log4j implementations with identical names and packages for some interfaces or classes, the class loader will load only one of the 2 implementations according to which jar comes first in the class loading process.

In J2EE, it?s the same behavior, we might have less problems between war files because those web apps get their own private classloader but we still have the problem for EJBs that all share the same classloader.

One of the possibilities is to use different class or package names in each version of the jar files we use (log4j jar files in our example). By doing so, we can perfectly have at the same time different implementations loaded. But who?s doing that? Nobody! Developers hate version numbers in package names and class names for the simple reason that they want to minimize the effort of upgrading to a new version.

The result is that we are now obliged to choose for one single version of log4j and try to have both components happy with it. Could become a painful experience when the number of jars in an application grows.
So having dependencies managed between Jar files is a good thing but the goal should be to let the classloading mechanism follow the move.

I would like to have x.jar and y.jar using each their own version of log4j in their own private virtual machine memory space. This behavior should not be the default behavior but could be configurable before or after the jar creation time.

Relaxing the classloading principles, taking into consideration the where the invocation of a jar file is coming from looks to me as the most challenging part. This change should target J2SE and J2EE from day 1.

Is that the scope of this JSR 277?

I will meet Stanley Ho, who is the spec leader of this JSR today. I will keep you updated.

Posted at 27 Jun @ 11:02 AM by Robin Mulkers | 2 comments
Last changed: Jun 27, 2005 20:19 by Stephan Janssen

Straight from the BEA JavaOne keynote

(view as slideshow)
       
  Mark Carges   Mark Carges and Spring   BEA and Spring
 

BEA will certify and support the open-source frameworks such as Struts and the Spring Framework.

BEA has signed a partnership with Interface21, the company behind the Spring Framework.
This means that developers will receive support via helpdesks and probably SLA's will also
cover these open-source frameworks. The integration with these open-source frameworks will
be available in the next release of the BEA WebLogic Server.

BEA will also support other production deployment environments such as Tomcat and Geronimo
from within the Eclipse BEA plug-in environment. (I'm again happy to be a BEA Technical Director)

Wauw I never would have thought the above open source "products" would be linked to each
other in the same blog post. So is there an Oracle and IBM keynote at JavaOne where Rod will also speak ??!

The only main API which is missing in the BEA portofolio is support for Enterprise Java Beans version 3.
I was hoping to get an announcement that BEA would have acquired an EJB 3.0 company like Solarmetric...
maybe at JavaPolis this year

This means that BEA developers will now have access to new techniques like Aspect Oriented Programming,
Inversion Of Control and wiring of Beans resulting in a very loosely coupled environment.

Good stuff !!!

-Stephan
PS: Thanks to Gerard Maas for the great foto's.

Posted at 27 Jun @ 4:54 PM by Stephan Janssen | 2 comments
Last changed: Jun 29, 2005 16:32 by Stephan Janssen

Free JavaOne Content ??!

Any Sun Developer Network member, which is a free membership, will receive FREE access around
late August 2005 to all of the multimedia sessions from this years JavaOne conference !! PDFs of the
conference content will be made freely available without registration to all web site visitors.

From a spread-the-Java-word perspective this is great news, but I wonder which effect this strategy will
have on the number of attendees during next years JavaOne !? I mean, why would people continue to pay 1.500$
if they can get the content 6 or 8 weeks later... interesting strategy

Stephan

Posted at 27 Jun @ 5:42 PM by Stephan Janssen | 1 comment
Last changed: Jun 29, 2005 16:33 by Stephan Janssen

We had today numerous presentations illustrating the use of annotations in Java Enterprise Edition 5.
The intention is to simplify creation of web applications, to substitute XML files and often code generation by few additional lines of code.

Cool, simplification is definitely needed in Java EE.

I was attending the JAX-WS 2.0 presentation and Roberto Chinicci has showed how to use annotations to configure the security (authentication, integrity and sensitivity) of a web services developed in a Java EE 5 container.

I think we might have been too far here. Should it be the responsibility of a developer to set-up the security of the services implemented in its application ? Moreover, security requirements are not the same in development or production environments. How are we supposed to tackle that issue with annotations?

Annotations is a new way of working, we have no experience, best practices yet. Are we doing the same ?XML deployment descriptors? mistake again but the other way around?

Robin.

Posted at 27 Jun @ 7:13 PM by Robin Mulkers | 2 comments
Last changed: Jun 29, 2005 16:35 by Stephan Janssen

I was really waiting for SOA related content from this 10th edition of JavaOne.
Vendors do have all SOA on their lips for the moment, and I believe there was a lot to be said about Service Oriented Architectures.

The few presentations I have already seen were disappointing at best. I am now getting a very introductory session about SOA, showing that there is still a long way to go in the perception of what a SOA really is.

I was expecting more from a worldwide conference like JavaOne.

The best conversation I had so far about SOA was at the booth, with Microsoft. I am not really a fan of Microsoft tools and technologies that are not really as open as I think they should be.
I must admit that the vision of Microsoft around SOA seems much clearer to me than the vision I get here at JavaOne.

Microsoft is preparing a thing called ?Indigo?. Indigo is a service container. It is only dedicated to hosting services, no BPM in it, no user interfaces and it will be available for free, of course ?free? means that you still have to purchase the Windows operating system.

I am convinced that the Java Community should bring a standard alternative to Indigo. We have right now all the technologies available to make an Indigo killer platform in the Java world. The problem is that Java EE 5 looks like an overkill infrastructure compared to the Microsoft lightweight service container.

On the Java Standard Edition front, nothing will arrive until version 6, due mid-2006. In this release of the Java SE, there will be an implementation of JAX-WS 2.0 and several other Web services related APIs but the lightweight HTTP listener that will be embedded in it will not be robust enough to create a serious alternative for an enterprise class service container.

I am wondering how far Indigo will be a treat to Java on the front of Service Oriented Architectures and I do not think that I will come back home with an answer this time.

Posted at 27 Jun @ 8:35 PM by Robin Mulkers | 0 comments
June 2005
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

Jun 27, 2005
Jun 27, 2005

Adaptavist Theme Builder Powered by Atlassian Confluence