Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a replacement library for CORBA in JDK 11 [closed]

JDK-11 will remove a lot of older parts of the JDK (JEP-320). For some of them (e.g. JAXB) functionality will be provided as regular library. You simply add another dependency and everything works fine again.

But not so for CORBA, because

There is no significant interest in developing modern applications with CORBA in Java

I am however in the painful situation of needing to maintain older applications that still require CORBA while still wanting to update to JDK-11.

Is there a replacement-library out there or another good way of migrating to JDK-11 without removing the CORBA functionality of these applications?

like image 237
rli Avatar asked Aug 06 '18 14:08

rli


People also ask

Does Java 11 support CORBA?

This package is located in the java. corba module and tied to the CORBA implementation therein, so there will be no support in Java SE once java. corba is removed.

Is CORBA deprecated?

Deprecated, for removal: This API element is subject to removal in a future version. Defines the Java binding of the OMG CORBA APIs, and the RMI-IIOP API. This module is upgradeable.

Is JDK 11 outdated?

It has been replaced by java. security. Policy and related classes since 1.2. This class is deprecated and subject to removal in a future version of Java SE.

What is removed in Java 11?

In JDK 11, the Java EE and CORBA modules were removed. These modules were deprecated for removal in JDK 9. The removed modules are: java.xml.ws: Java API for XML Web Services (JAX-WS), Web Services Metadata for the Java Platform, and SOAP with Attachments for Java (SAAJ) java.


3 Answers

You can definitely take a look at javaee/glassfish-corba. The documented home page reads -

The GlassFish ORB complies with the CORBA 2.3.1 specification, and with the CORBA 3.0 specifications for the Interoperable Name Service and Portable Interceptors. It includes both IDL and RMI-IIOP support. The GlassFish ORB has an open, extensible architecture that supports flexible configuration and extension through an open SPI.

Further what shall also interest developers, from the JEP itself -

The risks of removing the java.corba module are:

1. CORBA implementations will not compile or run if they include only a subset of the "endorsed" CORBA APIs and expect the JDK to provide the remainder.

2. Applications and CORBA implementations that use RMI-IIOP will not compile or run. The RMI-IIOP packages (javax.rmi and javax.rmi.CORBA) are located in the java.corba module and tied to the CORBA implementation therein, so there will be no RMI-IIOP support in Java SE once java.corba is removed.

3. Applications and CORBA implementations that use the javax.activity package will not compile or run. This package is located in the java.corba module and tied to the CORBA implementation therein, so there will be no support in Java SE once java.corba is removed.

and further down there

  • The transition of stewardship of Java EE from the JCP to the Eclipse

Foundation includes the GlassFish implementation of CORBA and RMI-IIOP.

additionally,

  • The "CORBA interop package" if required is implemented along with the artifact javax.transaction : javax.transaction-api.
like image 52
Naman Avatar answered Sep 21 '22 11:09

Naman


this dependency could be used in JDK11

        <dependency>             <groupId>org.glassfish.corba</groupId>             <artifactId>glassfish-corba-omgapi</artifactId>             <version>4.2.1</version>         </dependency> 
like image 39
slavb18 Avatar answered Sep 22 '22 11:09

slavb18


I haven't moved to Java 11 yet but I always had problems with the Java CORBA implementation anyway as it was incomplete and didn't support all the Object methods defined in the standards, didn't support ssliop, etc. etc. I always replaced it by placing th JacORB OMG jar in the endorsed directory and setting the system property to pont to the JacORB orb:

-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton

BTW. I do not agree that ""There is no significant interest in developing modern applications with CORBA in Java" after all what is J2EE sitting on?

like image 23
pkanis Avatar answered Sep 23 '22 11:09

pkanis