status of the project
maeste Mar 23, 2009 5:10 PMHi all,
a long silence here. Sorry for that, but I've been very very busy in last weeks.
But what is the status of the project? What have I done for Wise in last weeks?
Well I was working on 1.0.1 version to integrate it in ESB 4.5, but I realized during this development (thanks to Kevin for that) that Wise-core version >=0.9 have 2 big issues to be well integrated in ESB:
1) Dependencies from JBoss Micro Kenel: ESB have its own configuration APIs and it have to used. Users don't have to put configurations in multiple places.
2) Class loading issues caused by our cache system. Caching Dynamiclient instances and smooks drive to class loading issues.
3) Moreover our synchronized solution to avoid 3ad safety problem of JBossWS-native Port is not acceptable in an high concurrent environment like ESB.
Another point that would be achieved is a better test coverage. I've worked a lot on this last point and (apart some classes that are under refactoring to remove smooks cache) we now have a great coverage (more or less 70%). Anyway I'll open soon (hopefully tonight) a 3ad about Wise's test because we need not only a good unit test coverage, but also some stress and integration tests.
I've worked also on point 1 and partially 2 and 3:
1) I have modified a bit our API to make possible to pass a WiseConfig instance during dynamic client creation. Code should be clear than any explanation here: start from this sample http://fisheye.jboss.org/browse/Wise/core/trunk/samples/AddressingAndSecurityNoMK and have a look to my last commits. A look to unit tests should help too. Javadoc is a bit out of synch or at least incomplete, but I'll try to fix that very soon (hopefully tonight)
2) I have worked partially on that. I have made optional dynamicClientCache. The same should be done on smooks cache. I'll take care soon
3) I have a git branch on my laptop with an almost complete solution based on a 3ad pool. It needs few refinement. Expect a commit on a branch next week or so.
I'm writing here mainly to ask your opinion on my changes, and in particular your opinion about the opportunity to totally remove MK dependency. Just to recall let me remark we are using to inject right implementation of various component (depending i.e. JAX-WS stack, reflection vs javaassist access to generated class, various kind of WS-*).
I still love our IOC pluggable approach, but it's a matter of fact that having 2 different kind of configuration (MK one and new code base one) could be a bit confusing for users and eventually also for new contributors.
Your opinion?
I'll look forward for your feedbacks.
PS: Another news about current development: JimMa is working on project mavenization