I've had a few requests for status information on JiBX, so figured I'd 
send this to the list and update everyone at once.

For the last year I've been working mostly on web services hooks for 
JiBX, including improving the Axis2 support, developing the Jibx2Wsdl 
code, and also working on JiBX/WS, the long-awaited replacement to 
JibxSoap, and on code generation from schema as part of JiBX 2.0. Here's 
a status by area:

_JiBX 1.1_

I've been very lax in releasing updates to the existing 1.1 code. There 
are a considerable number of fixes and changes in the current codebase 
compared to the last release, and a number of new bug reports in Jira I 
need to investigate and try to fix. I'm going to traveling for trainings 
and meetings over the next two weeks, but will make the JiBX 1.1.6 
release a priority when I get back. I'll take care of as many of the 
bugs as I have time for as part of this. Expect the release by the end 
of this month.

_JiBX 1.2 (including Jibx2Wsdl)_

Most of what was originally planned for JiBX 1.2 is now implemented in 
the 1.1 code, including the new versions of code->binding+schema and 
code+binding->schema that are part of Jibx2Wsdl. What remains to be done 
is to create the proper documentation for all the components, and also 
take care of some issues that people have encountered in using 
Jibx2Wsdl. I'll push to have this out by mid-February.

The Jibx2Wsdl code is designed to support converting JAXB 2.0 
annotations to customizations, so that people with legacy JAXB code will 
be able to easily upgrade to JiBX in the future. Implementing the 
conversions is not high on my list at the moment, but if anyone is 
interested in working in this area I can help you get started.

_JibxSoap / JiBX/WS_

JiBX/WS is the official replacement for the old JibxSoap demonstration 
code. Nigel Charman has been working on this with me, and at this point 
we have most of the functionality in place that I wanted to see for a 
beta-level release. This includes POX support in addition to SOAP, and 
support for a DIME-based TCP transport in addition to HTTP. It also 
includes support for using XBIS encoding as a higher-performance 
alternative to text XML. Right now I've got a performance issue to track 
down in the XBIS support, and we also need to put together updated 
documentation and examples. I'd also like to include real REST support 
as part of this. The first official release of this will be in 
conjunction with JiBX 1.2.

_JiBX 2.0_

My biggest project over the last year has been to lay the groundwork for 
JiBX 2.0. Philosophically, the biggest difference from JiBX 1.X is that 
JiBX 2.0 will be much more schema-oriented. That's an approach which I 
feel is forced by the ever-increasing dominance of schema in the world 
of XML data exchange, especially in web services.

I now have a solid code generation from schema implementation which IMHO 
generates better code (in particular, code which does a better job of 
exposing the schema structure to the developer) than any of the 
alternative data binding frameworks for Java. It includes support for 
Java 5 generic collections and enumerations, but makes these features 
optional to retain compatibility with Java 1.4.X. I'm currently working 
on generating the actual binding code to implement JiBX conversion of 
the generated data structures to and from XML, and expect to have that 
working this month. Initially this will be used only by a couple of my 
client companies, but in the longer term it will become part of the 2.0 
release.

The next step is to generate the binding code from a binding definition, 
rather than as part of the code generation from schema. Initially this 
will be implemented using source code generation - a major change from 
JiBX 1.X - but it's being written to support JiBX 1.X-style direct 
bytecode generation in the future. My intention is to implement this 
using bytecode generation from an abstract syntax tree (AST) of the Java 
code, so that the binding code can always just work with the AST 
irrespective of whether the output is going to be as source or as 
bytecode enhancements to existing class files.

I'm using the Eclipse AST for all the source code work, and although I'm 
not thrilled by some aspects of the model (it has some lame aspects, 
especially that every component of the AST - even a variable or field 
name - is linked into a DOM-style tree structure and hence cannot be 
reused under any circumstances) it delivers adequate performance for 
source code generation. Using the Eclipse AST should offer some nice 
advantages for adding JiBX 2.0 support in Eclipse, but the AST is 
independent of the rest of the framework and does not require Eclipse.

My hope is to have an initial JiBX 2.0 release by April. This will 
include both the code generation from schema and the source code binding 
generator, along with the 2.0 runtime.

_Schedules_

I know I've done a poor job of holding with planned schedules in the 
past. I tend to be a little obsessive about getting the code structured 
in the way that feels right to me, and that often means going back and 
tearing up what I've already done to replace it with something better. 
That's been a major issue in the code generation from schema, in 
particular. At this point I think I'm far enough along to give a high 
confidence level for the dates I've given in this email. Beginning with 
the 1.1.6 release of JiBX I will try to update the web site status page 
at least once a month so that the information stays current.

My thanks to everyone who's using JiBX, and especially to those who are 
helping out other users on the mailing list. I'll do my best to see that 
your faith in JiBX is rewarded with continuing enhancements and advances 
over the next year, so that JiBX becomes not only the fastest and most 
flexible way of working with XML in Java, but also the easiest 
(including for people who are starting from schemas or WSDLs).

  - Dennis

-- 
Dennis M. Sosnoski
SOA and Web Services in Java
Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users

Reply via email to