Passer au contenu

Poornima BR (iCMG) : ” Prototyper en EJB et déployer en C++ à l’aide du modèle CCM “

iCMG sort le premier serveur d’applications commercial mettant en ?”uvre le modèle de composants CCM. Une menace pour J2EE ?

Au vu de la très large popularité dont bénéficie le modèle EJB aujourd’hui, ne pensez-vous pas que le modèle de composants Corba 3 (CCM ?” Corba Component Model) arrive trop tard ?Grâce aux EJB, à Sun et à son budget marketing colossal, la prise de conscience de l’intérêt d’un modèle de programmation par composants s’est accrue. Le niveau de compréhension des architectures à objets distribués a mûri. La communauté de développeurs trouvera en CCM une bonne alternative aux EJB. Notamment en raison du caractère multilangage du modèle Corba 3. Le développement à base d’EJB est un phénomène récent. Et, dans leur majorité, ces jeunes applications couvrent la partie frontale web, ou encore des domaines comme la chaîne logistique, le workflow, etc. Malheureusement, les systèmes applicatifs de production des entreprises ?” parfois vieux de plus de dix ans ?” ont été écrits en Cobol, C et C++.Mais la spécification J2EE prévoit de s’intégrer à cet existant…Nos prospects veulent poursuivre de nouveaux développements en réutilisant leur infrastructure en place. Ils aimeraient pouvoir utiliser un modèle de composants exploitant C ou C++, intégrer leurs objets C++ aux EJB et transformer leur patrimoine applicatif Cobol ou Fortran en composants. A ce titre, nous pouvons classer les logiciels d’entreprise en deux catégories : d’un côté, les applications métier ?” logistique, relation client sur internet, etc. ?”, de l’autre, les applications d’ingénierie ?” contrôle de trafic aérien, simulation, CAO, infrastructure mobile, services sans fil, banque de détail, etc. Alors que les serveurs d’applications J2EE et les serveurs CCM réduits à une mise en ?”uvre Java satisfont la première catégorie, les implémentations C++ de CCM sont mieux adaptées à la seconde.Peut-on imaginer que les fournisseurs de serveurs d’applications J2EE ?” en particulier ceux qui ont fondé leur produit sur un bus Corba, comme Iona ou Borland, prennent, à l’avenir, la direction de CCM ?Paul Harmon, Senior Consultant au sein du Cutter Consortium, a écrit un article très intéressant à ce sujet (*). Il y mentionnait que, tôt ou tard, Sun devra décider soit d’étendre la norme EJB à d’autres langages ?” et, dans ce cas, réinventer CCM ?”, soit de la faire évoluer vers CCM. Plutôt qu’un standard soutenu par un industriel unique, les grands comptes ont toujours préféré une norme émanant d’organisations indépendantes.Le modèle de composants CCM est-il une amélioration technique des EJB ?CCM propose deux niveaux de composants. Un niveau basique, qui comprend quatre types de composants ?” au lieu de deux avec les EJB ?”, et un niveau étendu. Le premier fournit les principes d’interopérabilité des EJB. Le second offre des capacités d’assemblage de composants à l’exécution, favorisant de cette manière la prise en compte des services web : il est plus facile d’étendre IDL (Interface Description Language) et CIDL (Corba IDL) au standard XML WSDL (Web Services Description Language) que de définir la correspondance d’une classe Java avec WSDL.Quatre types de composants pour CCM, et deux seulement pour les EJB. D’où vient cette différence ?Un composant Service peut être comparé à un programme d’un moniteur transactionnel, comme un service Tuxedo ou une transaction CICS. Il fournit une façon simple d’enrober les applications procédurales. C’est l’équivalent d’un EJB session Bean sans état. Un composant Session, lié à une politique de durée de vie des transactions, est utile pour modéliser des fonctions itératives nécessitant un état transitoire, non persistant, tant que la session d’interaction client reste ouverte. C’est l’équivalent des EJB Session Bean avec état. Un composant Process sert à modéliser, plutôt que des entités ?” clients, comptes, etc. ?”, des objets représentant des processus métier (gestion de prêts bancaires, création d’une commande, etc.). La différence entre un composant Process et Entity, c’est que le premier n’expose pas son identité persistante au client appelant. Les composants Entity de CCM pouvant être utilisés pour mettre en ?”uvre les EJB Entity Beans.Beaucoup d’entreprises sont-elle prêtes à faire appel à votre serveur d’applications K2 Component Server ?La demande augmente, émanant de secteurs variés : l’aérospatial, la défense, les télécoms, l’énergie, etc. Ces entreprises adoreraient combiner EJB et CCM. Un exemple : l’un de nos prospects planifiait de construire un pont entre J2EE et ses processus en C++ en ajoutant une bibliothèque garantissant l’interopérabilité entre composants C++ et Java Beans. Il s’est vite rendu compte que cette approche aurait conduit à toutes sortes de problèmes. Sans compter qu’elle ne relève pas d’un vrai modèle de composants. Avec CCM, rien n’empêche de combiner Java et C++. Un scénario séduisant consisterait à retenir les EJB pour prototyper les composants Java en phase de développement, pour, ensuite, les changer en composants C ou C++ au sein de CCM en vue de leur mise en production dans un environnement d’exécution plus performant. Ce cas de figure encouragerait l’usage d’outils instrumentant la démarche MDA (Model Driven Architecture), prônée par l’OMG.Etes-vous en contact avec des intégrateurs ou des éditeurs en France ou en Europe ? La recherche d’accords OEM fait-elle partie de votre stratégie ?Nous développons des relations avec ces deux types de sociétés en France, en Angleterre, en Suisse, en Russie, en Italie et en Suède, entre autres. Nous avons ainsi signé un accord technologique avec l’éditeur suédois mi4e, qui développe une plate-forme de services mobiles permettant de déployer des services sans fil via toutes les technologies mobiles actuellement disponibles. Son offre conjugue C et C++ en son c?”ur et J2EE pour la partie interface graphique d’administration.(*) www.paul-harmon.com/Publications/CCM/ccm.html

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Stéphane Parpinelli