Rechercher

Les douze solutions d’intégration des applications Java EE

Les applications Java EE s’intègrent avec les autres systèmes En utilisant différents protocoles comme HTTP(S), SOAP, RMI, FTP, TCP, FIX et autres protocoles propriétaires. Le format d’échange de messages peut être JSON, XML, Text (CSV, TAB, délimité), etc …




#1 XML ou JSON sur HTTP (S). RESTFul utilise JAX-RS. Le service Web RESTful est le style d'intégration le plus répandu, car il est facile à mettre en œuvre, conçu pour le Web et utilise la mise en cache HTTP pour améliorer les performances. JSON est le format d'échange de messages le plus populaire en raison de sa concision.



#2 SOAP sur HTTP (s) est une spécialisation de XML. SOAP utilise JAX-WS. SOAP est préférable lorsque la sécurité et l’intégrité des transactions sont de la plus haute priorité. Par exemple, l'intégration avec des entreprises externes ou avec des systèmes plus anciens pouvant uniquement prendre en charge SOAP.



#3 MOM Traditionnellement, les produits middleware orientés (MOM) utilisaient des protocoles propriétaires pour la communication entre les applications client et les brokers. Cela signifie qu’une fois que vous avez sélectionné le broker de messagerie d’un fournisseur particulier, vous devez utiliser les bibliothèques de ce fournisseur pour connecter vos applications clientes à ce broker. Cela couple fortement votre code avec un fournisseur particulier.


#3-1 Le protocole AMQP (Advanced Message Queuing Protocol) est un protocole de messagerie efficace, fiable et de niveau bas que vous pouvez utiliser pour créer des applications de messagerie robustes et multiplates-formes.


#3-2 JMS est une interface qui élimine le couplage fort de votre code avec un fournisseur de MOM traditionnel en Java. JMS vous permet de basculer d'un broker de messages compatible JMS (par exemple, Web Methods) avec un autre (par exemple, WebspehreMQ) en apportant peu ou pas de modifications à votre code source. C'est comme JDBC, qui vous permet de changer de base de données sous-jacente.




#4 JavaMail pour l’envoi d’e-mails et la bibliothèque SMS Simplewire Java pour l’envoi de SMS.



#5 Le batch de nuit qui s’exécute pour charger des flux de données avec Spring Batch ou les nouveaux Jobs Batch de JEE. Ce sont des tâches ETL (Extract Transform and Load). Vous utilisez Hadoop pour ingérer des données volumineuses via ELT (Extract Load & Transform).



#6 Utilisation de frameworks d’intégration open source telles que Spring Integration, Mule ESB, Apache Camel, etc. Cela vous aide à intégrer les systèmes de manière normalisée, conformément aux modèles d’intégration d’entreprise (EIP). Apache Camel est une infrastructure d'intégration légère qui vous permet d'utiliser HTTP, FTP, JMS, EJB, JPA, RMI, JMS, JMX, LDAP et Netty, pour n'en nommer que quelques-uns.





#7 Utilisation d'un ESB (Enterprise Service Bus) pour intégrer vos applications. Par exemple, Oracle Service Bus, TIBCO ESB, WebMethods, Mule ESB, etc. Sous le capot, l'ESB utilise également une infrastructure d'intégration et fournit davantage de services et de fonctionnalités de gestion comme la surveillance, la haute disponibilité, le clustering, une interface utilisateur graphique pour le routage et la configuration. , etc. En général, un ESB est un produit complexe et puissant avec une courbe d’apprentissage plus longue. Convient aux très grands projets d'intégration. Projets nécessitant une intégration BPM (Business Process Management) et d’autres services intégrés tels que la surveillance, la mise en cluster, etc. Mule fournit un support de connecteur propriétaire pour des systèmes tels que SAP, Tibco Rendezvous, PayPal, Sibel CRM, IBM CICS, etc.




#8 Intégration au niveau de socket basée sur TCP :

#8-1 MINA est un framework populaire pour la communication au niveau des sockets non bloquante (NIO) basée sur TCP. MINA est basé sur EDA (Event Driven Architecture). Dans EDA, les producers et les consumers des «Event» sont faiblement couplés via un «EventHub» et un «Event». Un “EventHub” est utilisé pour enregistrer et désenregistrer des consumers.




#8-2 Akka est un framework du haut niveau offrant une couche d’abstraction permettant de créer des applications scalables, tolérantes aux pannes et pilotées par événements. Akka utilise la programmation réactive avec son Actor Model.


#8-3 RxJava est une bibliothèque de programmation réactive permettant de composer des programmes asynchrones et basés sur des événements en utilisant des séquences observables. C'est une bibliothèque avec un riche ensemble d'opérations de programmation fonctionnelle qui vous permet de transformer, combiner, diviser et composer des sources de données.


Qu'est-ce que la programmation réactive?


La programmation réactive concerne tous les flux de données asynchrones avec des principes tels que :

1) être réactif (responsive) pour répondre aux demandes des utilisateurs, même sous la charge.

2) résilient et scalable.

3) piloté par message, qui constitue le fondement de l'écriture de systèmes scalable, résilients et réactifs.


Les programmes réactifs sont de 2 types:


1) Concurrence événementielle: par exemple RxJava. Ceci est basé sur les événements, qui sont surveillés par zéro ou plusieurs observateurs. La grande différence entre le style basé sur les événements et le style impératif est que l'appelant ne bloque pas et ne conserve pas le thread en attendant une réponse.

2) Concurrence dirigée par message: par exemple Akka. Basé sur Actor Model où les messages sont envoyés à un acteur via une boîte aux lettres. Les acteurs peuvent échanger des messages, voire les transmettre à eux-mêmes. Apache Spark est un moteur d'exécution rapide et général pour les données à grande échelle développé sur le «modèle d'acteur».



#8-4 Spray est une boîte à outils open source asynchrone et basée sur le «modèle d'acteur» permettant de créer des couches d'intégration basées sur REST / HTTP au-dessus de Scala et d'Akka. C’est un excellent moyen d’intégrer vos applications Scala.


#8-5 Netty basé sur NIO (Non Blocking Input/Output) et travaille à un niveau inférieur à celui d’Akka. Plus au niveau du réseau en prenant en charge TCP, UDP, HTTP, FTP, SSL, etc. Akka abstrait le niveau de réseau pour que vous puissiez vous concentrer sur la logique métier.


#9 Appel de procédures distantes via RMI, Burlap et Hessian. Les objets distants Burlap / Hessian ne sont que des objets Java ordinaires qui implémentent certaines interfaces. Ils n’ont pas besoin de classes spéciales de proxy, de Home ou Remote. L'un des avantages inhérents de ce modèle objet-interface est qu'il favorise la bonne pratique de conception orientée objet, conception par interface.


#10 Le Protocole FIX pour échanger des informations financières. FIX signifie Financial Information eXchange, un protocole ouvert destiné à rationaliser les communications électroniques dans le secteur des valeurs financières. La plupart des échanges utilisent cette norme pour les communications, telles que l’envoi de commandes, d’exécutions, de MarketData, etc. QuickFIX / J et CameronFIX sont des infrastructures FIX populaires pour Java.




#11 Intégration avec les systèmes data-warehouse pour la création de rapports multidimensionnels. Les données OLTP (OnLine Transaction Processing) sont résumées et envoyées aux systèmes OLAP (OnLine Analytical Processing) pour la veille stratégique, l'exploration de données et la création de rapports complexes. IBM Cognos, JasperSoft, le serveur Oracle Enterprise BI, etc. sont des systèmes OLAP.




#12 Mashups côté serveur et côté client. La fusion des services et du contenu de plusieurs sites Web de manière intégrée et cohérente est appelée un mashup.


Un mash-up côté serveur intègre le contenu dans le serveur et le transmet au client. Par conséquent, ce style de mash-up est également appelé un mash de style proxy, car le serveur agit en tant que proxy.




Un mash-up côté client intègre les services et le contenu sur le client en mashing directement les données ou les fonctionnalités des autres applications Web. Vous devez également connaître les restrictions cross-domaines imposées par JavaScript pour les appels Ajax et vous pouvez les surmonter avec JSONP ou CORS (Cross Origin Resource Sharing). Le CORS est une solution plus industrielle.




0 vue

#Suivez-Nous

+213560764957

©2020 by DIGITAL GROWING.