Wow, this sounds very scary to me, speaking as someone who's company uses the Axis technology in their products. Please remember that Axis is now "real", not a research project.
How many API changes will this type of thing expose? Will I be able to use Axis 1.x (x >0) as a drop in replacement for 1.0? If not, then consider this a -0.5 on ripping the guts of Axis to do this. Why does Axis needs this functionality? (looking for a rationale, not flaming). -- Tom Jordahl Macromedia Server Development -----Original Message----- From: James M Snell [mailto:jasnell@;us.ibm.com] Sent: Wednesday, October 23, 2002 7:04 PM To: [EMAIL PROTECTED] Subject: [IMPORTANT!] Proposed Axis Async Development Plan On the phone call today, we discussed the fact that the Internal Message Exchange proposal represents a significant change to the Axis internals and should ideally be broken up so that it can be incrementally introduced into the code. Here's my proposal for how to break up the work. Phase 1: Interfaces, Thread Management and Helper classes. This work can be done without touching any existing Axis code. This essentially means taking my prototype, tweaking and fine tuning it. Phase 2: Transport modifications. This would involve taking all of the current Axis transports and migrating them over to use the new MessageExchange interfaces (rather than invoke) This would require changing all of the code that directly uses Transports. The end result would be a synchronous axis engine capable of using async transports Phase 3: Provider modifications This would involve taking all of the current Axis providers and migrating them over to use the new MessageExchange interfaces (rather than invoke) This would require changing all of the code that directly uses Providers The end result would be a synchronous axis engine capable of using async providers Phase 4: AxisEngine/AxisClient/AxisServer modifications This would involve migrating the AxisEngine to use the MessageExchange interface (rather than invoke) This would require changing all of the code that directly uses the AxisEngine The end result would be an async axis engine but the Client API that sits on top of the engine would still be synchronous Phase 5: Client API modifications This would involve changing or augmenting the Call object so that it could take advantage of the async engine capabilities Phase 6: WSDL2Java/Java2WSDL changes * At the end of each phase, we could theoretically have a point release on the code if there are other fixes/etc that need to go out. * I would conservatively set an initial target for Phase 6 Completion at 3/4 months. * I would also posit that Phase 6 completion would represent a major release of the code given the significant new functionality that would be introduced. I will continue to serve as a coordinator for this effort. Please vote to approve or provide feedback if you think the plan needs tweaking/further development. - James Snell IBM Emerging Technologies [EMAIL PROTECTED] (559) 587-1233 (office) (700) 544-9035 (t/l) Programming Web Services With SOAP O'Reilly & Associates, ISBN 0596000952 Have I not commanded you? Be strong and courageous. Do not be terrified, do not be discouraged, for the Lord your God will be with you whereever you go. - Joshua 1:9