birt icon indicating copy to clipboard operation
birt copied to clipboard

Axis2 update planned?

Open AndreasIgelCC opened this issue 2 weeks ago • 5 comments

Hi everyone,

Is there a plan to update to axis2? The axis1 library hasn't been updated since 2006, and switching to axis2 would be a major change (see https://axis.apache.org/axis2/java/core/)), necessary for the upcoming Jakarta-Update. If you're open to this update, I'm willing to help with the transition and submit a pull request. Since this is a significant change, I want to make sure it's part of your plans before proceeding.

Best regards, Andreas

AndreasIgelCC avatar Dec 10 '25 07:12 AndreasIgelCC

There appears to be a monstrous AI generated PR for Jakarta migration that I assume is related, but I'm not sure you can call it a plan:

https://github.com/eclipse-birt/birt/pull/2310

I think it's a daunting task for the existing committers to do do such a complete overhaul in their free spare time, and it's not entirely clearly which upstream dependencies need to be migrated to which versions to get into a new state where all the tests pass and everything works as it does now, only with a new stack of dependencies.

merks avatar Dec 10 '25 08:12 merks

Hmm, I wonder where the WSDL file that was used to generate all that code with AXIS is at all. I just found out that BIRT uses SOAP WS as part of the viewer. The file birt/viewer/org.eclipse.birt.report.viewer/birt/WEB-INF/classes/org/eclipse/birt/report/soapengine/package.html says "Viewer aggregation classes.". My wild uneducated guess is that this is needed only for paging through HTML reports.

Actually I think dropping the viewer and recreate a new one from scratch using today's technology (ie JSON and REST) could be an interesting alternative. In 5 to 10 years from now probably most developers will not know anything about XML and SOAP anymore.

However, this would be a considerable amount of work.

hvbtup avatar Dec 10 '25 09:12 hvbtup

There appears to be a monstrous AI generated PR for Jakarta migration that I assume is related, but I'm not sure you can call it a plan:

#2310

I’m not a fan of these AI-generated changes that attempt to address everything in one big PR. Breaking the modernization into smaller, manageable pieces that can be worked on in parallel seems much more promising to me. Axis-update is something what even could be done in a way, so that it is independent from jakarta-migration.

Actually I think dropping the viewer and recreate a new one from scratch using today's technology (ie JSON and REST) could be an interesting alternative. In 5 to 10 years from now probably most developers will not know anything about XML and SOAP anymore.

I agree, but that would be an even more significant change. Currently, we’re blocked and stuck with an outdated dependency that’s no longer being updated. Migrating AXIS might be a less error-prone step, though it would still be a breaking change. I don’t want to proceed without a decision from the responsible parties in this repository.

AndreasIgelCC avatar Dec 11 '25 09:12 AndreasIgelCC

I guess the javax->jakarta topic can turn out as something which cannot be divided into smaller pieces.

But maybe it's worth to postpone that big step and start with "just" migrating from AXIS 1 to an older AXIS2 release (before 2.0.0).

hvbtup avatar Dec 11 '25 09:12 hvbtup

@AndreasIgelCC

If you really plan to work on this, I can try to help in terms of release engineering support. I think we'd need to add "axis2" to Orbit which only has this right now:

https://download.eclipse.org/tools/orbit/simrel/orbit-aggregation/table.html

But I don't want to invest the effort to add it if someone is not actually going to use it. So please let me know if you have real plans.

merks avatar Dec 11 '25 11:12 merks

But maybe it's worth to postpone that big step and start with "just" migrating from AXIS 1 to an older AXIS2 release (before 2.0.0).

Normally I would agree the approach to avoid the usage of the latest released version for such kind of (big) change. But the Axis2 version 2.0.0 includes some fixes of Tomcat 10 and 11 (see screen below), so I would prefer to use the latest version.

And when we have the target of March 2026 to use jakarta & Axis2 we should think about a new version number 5.0 instead of 4.23.

Image

speckyspooky avatar Dec 17 '25 15:12 speckyspooky