oehf / ipf

Open eHealth Integration Platform
http://oehf.github.io/ipf-docs
Apache License 2.0
175 stars 65 forks source link

Support Jakarta EE 10 including major dependency updates (spring boot 3.3, camel 4.4, CXF 4.1) #414

Open Thopap opened 1 year ago

Thopap commented 1 year ago

As part of this issue, IPF will be updated to the Jakarta EE 10, which also require certain other major dependency updates.

ohr commented 1 year ago

There is a blocker so far as hapi-fhir is still on javax-based JEE version. There is increasingly interest documented in https://github.com/hapifhir/hapi-fhir/issues/2082. There is a survey on https://forms.gle/tMybKV9VrGRaTsrf9, end of 2023 could be a delivery date for Jakarta EE support

ohr commented 1 year ago

Another issue is HL7v3 request/response translation from IHE Gazelle JAXB models (net.ihe.gazelle:hl7v3-code-jar and its transitive dependencies) that are also annotated with the old XmlBind annotations. Same is true for herasaf-xacml-core

Thopap commented 1 year ago

For heras-xacml-core a new version 3.0.2 with J2EE 10 Jaxb compatiblity is now available.

kiranam786 commented 1 year ago

Hi @Thopap, We are using IPF's latest version i.e., 4.7.0. We wanted to upgrade our projects to spring 6 but due to incompatibility with IPF modules we could not do it. I could see there are couple of mile stones. Is there any timeline that we have for the release of IPF 5.0 ?

ohr commented 1 year ago

We mainly depend on https://github.com/hapifhir/hapi-fhir/issues/2082 to be fixed, which seems to be targeted towards November 2023. Camel 4.0 should have a release, too, but this can be expected soon.

Some HL7v3 model library is also stuck on javax, but I don't expect this to change anytime soon; so I would rather remove this library.

cyrillzadra commented 1 year ago

Some HL7v3 model library is also stuck on javax, but I don't expect this to change anytime soon; so I would rather remove this library.

Are you referring to the gazelle library? If this library is removed, does this also affect ITIs, such as ITI-44,ITI-45 which are based on it? Will they also be removed from ipf?

unixoid commented 1 year ago

@cyrillzadra No worries, this library is not essential for HL7v3 components. Moreover, we need these components by ourselves and would not remove them :-)

qligier commented 11 months ago

For info, HAPI FHIR has completed the migration to Jakarta:

HAPI FHIR 6.11.5-SNAPSHOT and later are using the new Jakarta APIs. This will be released as HAPI FHIR 7.0.0 in Feb 2024.

CXF 4.1 is then the last blocker?

ohr commented 11 months ago

HAPI FHIR has merged back the migration into its develop build, but there are no tags yet we could consume. I keep the feature/414-jee10 branch updated with all the other stuff, but I have left all FHIR libraries disabled there.

Regarding Gazelle HL7v3 model library (hl7v3-code): this library and its dependencies don't come with any licensing information, so we have to remove it from the IPF distribution. A license is a grant of rights. No license - no rights to use.

ohr commented 9 months ago

Still waiting for https://issues.apache.org/jira/browse/CXF-8671

Thopap commented 3 months ago

For documentation purpose:

CXF 4.0 + IPF 5 is basically working fine with the following limitation / special-case-exception: In Case a async webservice responder endpoint is used + cxf Message Logging is enabled, CXF will run into a NullPointer in Netty because CXF preserve the HTTP Servlet Request object even if the HTTP request / response is already done.

In IPF one testcase was affected (testIti56 ) which was currently fixed by disable the Message Logging (https://github.com/oehf/ipf/commit/84c8591f4d8acceb396f94b3ad06f9606074d06e)

So basically CXF 4.1 will fix this handling: https://issues.apache.org/jira/browse/CXF-9004

(Further details also here https://lists.apache.org/list?users@cxf.apache.org:2024-7)

rbastiaansen732 commented 3 months ago

Great work, all!

I'm testing our software in combination with this branch. The major upgrade is looking good.