When jar files are not jar files

In the Open ESB project (and its documentation, examples, wiki pages) there are too many references to .jar files where technically speaking the artifacts are actually misnamed zip files. Even some of the tooling file wizards default to looking for .jar file extension names for artifacts that the JSR-208 specification clearly describes as zip files.

This has lead to some confusion. One customer reasonably asked if he could just add an Open JBI Component .jar file to his classpath (no, since the component archives are actually zip files containing jbi.xml and implementation files).

When using some NetBeans-based tools, I always have to remember to change the file pattern filter from the inappropriate default  *.jar to find a .zip file I’m trying to install or deploy.

Technically, jar files contain class files and can be added to a classpath. JBI archives (components and service assemblies) really should be (named as) zip files, since they almost never can be added to a classpath (I’ll leave it as an exercise how to make a JBI archive actually also usable on a classpath, but I haven’t seen a use-case for this yet).

JBI zip files usually contain nested archives (sometimes also misnamed as .jar files).  In the case of a component installation archive, the nested files are, in fact, .jar files containing the actual component implementation.  However, theoretically they could just contain class files, and these don’t have to be in the standard place for class files within a normal jar file.

For JBI Service Assemblies, the nested Service Unit archives are zip files, generally containing XML.  However, the Service Units can contain anything in addition to the jbi.xml; the rest is specified to be “opaque” to the JBI management layer and only needs to make sense to the target component.  (In rare cases, a Service Unit could contain classes or nested jar files, if it was being deployed to some JBI Binding or Engine that was provisioned somehow via compiled Java instead of XML.)

So, if you create a JBI artifact, try to remember to name it with a .zip file extension.  Please :-)

Category: glassfish esb, jbi, netbeans, open-esb

Posted by: Mike Wright on: December 19, 2008

Tags:

SOA Friday #7

Some weekly SOA news:

Category: camel se, glassfish, glassfish esb, netbeans, open-esb

Posted by: Mike Wright on: November 21, 2008

Tags:

SOA Friday #4

Happy Halloween!

Some updated wiki pages and blog posts for the past week:

Category: general, glassfish, glassfish esb, open-esb, project fuji

Posted by: Mike Wright on: October 31, 2008

Tags:

SOA Friday #2

In an attempt to highlight some SOA related news each week, this is the second SOA Friday blog post.

(SOA-related how? GlassFish ESB bundles GlassFish v2 and NetBeans SOA tools; future Open ESB work (and GlassFish v3) embrace OSGi, and virtualization is handy for developing/testing ESBs)

Category: glassfish, glassfish esb, virtualbox

Posted by: Mike Wright on: September 19, 2008

Tags:

Netbeans Weekly Newsletter

From this week’s edition of the Netbeans Weekly Newsletter,

here are a couple of highlights:

  1. Under Calendar:
  2. Under Projects:

    “Project OpenESB is an Open Source project that is building an ESB that consists of both a runtime and a design time tooling based completely on NetBeans. In the last few years, OpenESB has made important contributions to the NetBeans IDE, for example, the WSDL editor, the CASA editor, the BPEL editor, and more. GlassFish ESB, the first milestone of a commercially supported binary distribution, is now available. The distribution includes NetBeans and adds extra components, such as JAXB based code seeding, a JCA wizard, and more, that are not available in the IDE’s standard downloads.”

You can also subscribe to the newsletter(s).

Category: glassfish esb, netbeans, open source, open-esb

Posted by: Mike Wright on: September 16, 2008

Tags:

SOA Friday

Some Open ESB related news of interest (at least to me) this week:

Category: glassfish esb, open-esb, virtualbox

Posted by: Mike Wright on: September 12, 2008

Tags: