56 votes

Existe-t-il une bibliothèque de remplacement pour CORBA dans le JDK 11 ?

Le JDK-11 supprimera un grand nombre d'anciennes parties du JDK ( JEP-320 ). Pour certaines d'entre elles (par exemple JAXB), la fonctionnalité sera fournie sous forme de bibliothèque ordinaire. Il suffit d'ajouter une autre dépendance et tout fonctionne à nouveau.

Mais ce n'est pas le cas pour CORBA, car

Il n'y a pas d'intérêt significatif pour le développement d'applications modernes avec CORBA en Java.

Je me trouve cependant dans la situation douloureuse de devoir maintenir des applications plus anciennes qui nécessitent encore CORBA tout en voulant faire la mise à jour vers JDK-11.

Existe-t-il une bibliothèque de remplacement ou un autre bon moyen de migrer vers JDK-11 sans supprimer la fonctionnalité CORBA de ces applications ?

11 votes

Je ne sais pas pourquoi ça a été DV, c'est une question très pertinente. La réponse est malheureusement "non", mais d'après les recherches que j'ai effectuées jusqu'à présent, c'est certainement possible pour qu'il soit intégré dans une bibliothèque externe, mais je n'ai encore vu personne s'en saisir. Il est possible qu'il n'y ait pas assez d'intérêt pour que quelqu'un s'en occupe de façon open source.

0 votes

@MichaelBerry C'est sans doute hors sujet car il s'agit d'une demande de recommandation de bibliothèque. Je suppose que la personne qui a émis le vote serré pour cette raison était également celle qui a voté contre (je peux me tromper, cependant). Il semble que cette question puisse être un cas limite dans la règle, cependant ; il pourrait être utile d'en discuter sur Meta (en particulier parce que les votes positifs suggèrent que la plupart des votants - moi y compris - pensent apparemment que la question vaut la peine d'être considérée).

6 votes

@EJoshuaS Il y a une grande différence entre une question qui dit "recommande-moi une bibliothèque pour faire x "et un autre qui dit "J'ai fait x depuis 15 ans en Java et qui devra migrer vers Java 11, quelle est la meilleure façon de procéder étant donné que cette fonctionnalité a été supprimée ?" Il s'agit notamment le cas, car les mises à jour gratuites de Java 8 doivent prendre fin dans quelques mois.

29voto

nullpointer Points 1135

Vous pouvez certainement jeter un coup d'œil à javaee/glassfish-corba . Le document page d'accueil lit -

L'ORB GlassFish est conforme à la spécification CORBA 2.3.1, et aux spécifications CORBA 3.0 pour le service de nom interopérable (Interoperable Name Service) et les intercepteurs portables. Il inclut le support IDL et RMI-IIOP. L'ORB GlassFish possède une architecture ouverte et extensible qui prend en charge les éléments suivants configuration flexible et l'extension par le biais d'un SPI ouvert.

D'autres éléments qui intéresseront également les développeurs, provenant du PEC lui-même -

Les risques liés à la suppression de la java.corba module sont :

1. Les implémentations CORBA ne seront pas compilées ou exécutées si elles ne comprennent qu'un sous-ensemble du "API CORBA "endossées et attendre du JDK qu'il fournisse le le reste.

2. Les applications et les implémentations CORBA qui utilisent RMI-IIOP ne sera pas compiler ou s'exécuter. Les paquets RMI-IIOP ( javax.rmi y javax.rmi.CORBA ) sont situés dans le java.corba et lié à l'implémentation CORBA qui s'y trouve, il n'y aura donc pas de RMI-IIOP en Java SE une fois java.corba est supprimé.

3. Les applications et les implémentations CORBA qui utilisent le javax.activity ne sera pas compilé ou exécuté. Ce paquet est situé dans le répertoire java.corba et lié à l'implémentation CORBA qui s'y trouve, donc il n'y aura pas de support dans Java SE une fois java.corba est supprimé.

et plus bas

en plus,

13voto

slavb18 Points 41

Cette dépendance pourrait être utilisée dans le JDK11

        <dependency>
            <groupId>org.glassfish.corba</groupId>
            <artifactId>glassfish-corba-omgapi</artifactId>
            <version>4.2.1</version>
        </dependency>

7 votes

C'est juste l'API. Pour fonctionner avec le JDK 11, il faut l'implémentation réelle. Celle qui fonctionne pour moi est : glassfish-corba-orb

5voto

pkanis Points 41

Je ne suis pas encore passé à Java 11 mais j'ai toujours eu des problèmes avec l'implémentation de Java CORBA de toute façon car elle était incomplète et ne supportait pas toutes les méthodes Objet définies dans les standards, ne supportait pas ssliop, etc. etc. Je l'ai toujours remplacée en plaçant le jar de JacORB OMG dans le répertoire endossé et en configurant la propriété système pour qu'elle soit pontée vers l'orbe de JacORB :

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

BTW. Je ne suis pas d'accord avec l'affirmation selon laquelle ""Il n'y a pas d'intérêt significatif pour le développement d'applications modernes avec CORBA en Java"" après tout, sur quoi est assis J2EE ?

1 votes

Je ne suis pas sûr que cela réponde à la question. JacORB peut-il être utilisé dans java 11 ? Un développeur devrait-il arrêter d'utiliser les interfaces de java 8 et utiliser les classes d'implémentation de JacORB à la place ?

0 votes

Je ne suis pas non plus d'accord avec la citation d'Oracle. J'ai un produit commercial qui prend en charge la répartition des équipes de feu de brousse et qui utilise 50 000 objets CORBA distants par instance. Je trouve cela significatif.

0voto

John A Draga Points 1

JDK 11 est entièrement supporté par tous les ORB fournis par Micro Focus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X