Mis à jour le 22 février 2021 : L’API Java Message Service (JMS) 2.0 sur Azure Service Bus Premium est maintenant mis à la disposition générale. Pour plus d’informations, consultez le billet de blog Annonce de la disponibilité générale de l’API Java Message Service (JMS) 2.0 sur Azure Service Bus Premium.
Azure Service Bus simplifie les scénarios de messagerie d’entreprise en tirant parti de la sémantique familière de l’abonnement aux files d’attente et aux rubriques sur le protocole AMQP (Advanced Message Queuing Protocol). Il propose aux clients une offre PaaS (Platform as a service) complètement managée avec des intégrations profondes dans les services Azure pour fournir un courtier de messages avec un débit élevé et une latence fiable, tout en garantissant une haute disponibilité, une conception sécurisée et une évolutivité dans le cadre d’une expérience de qualité entreprise. Nous avons l’intention de proposer Azure Service Bus pour les charges de travail des clients sur la plupart des piles et écosystèmes d’applications.
Dans cette optique, nous sommes ravis d’annoncer la prise en charge de la préversion de Java Message Service (JMS) 2.0 sur AMQP dans le niveau premium d’Azure Service Bus. Grâce à cela, nous offrons aux clients la possibilité de déplacer leurs charges de travail Java et Spring vers Azure tout en les aidant à moderniser leur pile d’applications avec le meilleur de la messagerie d’entreprise dans le cloud.
À mesure que les clients d’entreprise cherchent à déplacer leurs charges de travail vers Azure, ils peuvent saisir l’opportunité de moderniser leur pile d’applications en tirant parti des offres Azure natives cloud. Ceci est plus approprié pour les composants sur le plan des données, le stockage ou le déplacement de données, qui bénéficient du passage d’une configuration hébergée par une infrastructure en tant que service (IaaS) à une configuration PaaS plus native dans le cloud.
Avec les bases de données et les magasins de données, la mise en place d’API et de protocoles standardisés a ouvert la voie à une migration transparente, dans laquelle l’application est indépendante du fournisseur physique ou de l’implémentation de cette API standardisée ; avec des changements de code négligeables ou de configuration seulement, les applications peuvent passer de leur fournisseur physique local à l’offre PaaS complètement managée d’Azure sans changement de comportement.
L’écosystème de messagerie d’entreprise a été largement fragmenté par rapport à l’écosystème des données jusqu’à ce que la récente normalisation du protocole AMQP 1.0 en 2011 et son implémentation garantissent la cohérence du comportement de tous les courtiers de messages d’entreprise. Toutefois, faute de normalisation d’API depuis lors, la messagerie d’entreprise demeure fragmentée.
La communauté Java Enterprise (et par extension, Spring) a fait quelques progrès avec la spécification Java Message Service (JMS 1.1 et 2.0) pour normaliser l’API utilisée par les applications de production et de consommation lors des interactions avec un courtier de messagerie d’entreprise. La communauté Apache QPID a poursuivi dans cette voie en implémentant la spécification de l’API JMS sur AMQP. Qu’il soit autonome ou qu’il fasse partie du package Spring JMS, QPID-JMS est l’implémentation JMS de facto pour la plupart des entreprises clientes qui travaillent avec des courtiers de messages.
Connecter des applications existantes avec Azure Service Bus sur AMQP
Grâce à la liste des fonctionnalités prises en charge par cette préversion (avec une parité totale prévue par la disponibilité générale), Azure Service Bus prend en charge tous les contrats d’API Java Message Service, permettant aux clients de migrer leurs applications existantes vers Azure sans avoir à les réécrire. Voici la liste des fonctionnalités JMS prises en charge actuellement :
- Files d’attente.
- Rubriques.
- Files d’attente temporaires.
- Rubriques temporaires.
- Abonnements.
- Abonnements durables partagés.
- Abonnements non durables partagés.
- Abonnements durables non partagés.
- Abonnements non durables non partagés.
- QueueBrowser.
- TopicBrowser.
- Création automatique de toutes les entités ci-dessus (si elles n’existent pas encore).
- Sélecteurs de messages.
- Envoi de messages avec délai de remise (messages planifiés).
Migration transparente du fournisseur JMS hébergé localement ou IaaS vers Azure Service Bus
Pour connecter une application JMS existante avec Azure Service Bus, ajoutez simplement le package Azure Service Bus JMS Maven ou Azure Service Bus Starter pour Spring Boot au fichier pom.xml de l’application, puis ajoutez la chaîne de connexion Azure Service Bus aux paramètres de configuration.
Grâce aux changements de code effectués uniquement au niveau de la configuration, comme indiqué ci-dessus, les clients préservent l’indépendance de leur logique métier par rapport au courtier de messages et évitent tout verrouillage du fournisseur.
Tarification simple, déploiements aisés et réapprovisionnement scalable
En tirant parti du support JMS d’Azure Service Bus, les clients peuvent désormais éviter les frais liés à l’acquisition de licences, à la gestion d’un courtier de messagerie d’entreprise dans leur propre environnement IaaS Compute, simplifier la gestion des coûts grâce à un prix fixe par unité de messagerie, et tirer parti de la mise à l’échelle de l’approvisionnement automatique pour faire face à la variabilité des charges de travail.
Intégration à d’autres offres Azure pour aller plus loin dans la modernisation de votre pile d’applications
Vous pouvez également tirer parti de l’intégration d’Azure Service Bus à d’autres offres Azure pour moderniser et simplifier la pile d’applications. Voici quelques méthodes pour y parvenir.
- Azure Logic Apps : Utilisez les connecteurs Azure Logic Apps pour Azure Service Bus afin de remplacer différents workflows métier critiques par une offre serverless simple nécessitant peu de codage et avec paiement à l’utilisation.
- Azure Functions : Utiliser les déclencheurs Azure Functions pour Azure Service Bus afin de remplacer les applications personnalisées par une offre PaaS serverless simple avec paiement à l’utilisation.
- Azure Monitor et alertes : Utilisez Azure Monitor et les alertes pour garder un œil sur les indicateurs de performance de l’espace de noms, de la file d’attente, des rubriques et des niveaux d’abonnement Azure Service Bus.
- Azure KeyVault : Utilisez l’intégration dans Azure KeyVault pour chiffrer les données sur l'espace de noms avec une clé gérée par le client.
- Réseaux virtuels et points de terminaison privés : Sécurisez l’accès à Azure Service Bus en utilisant des points de terminaison de service de réseau virtuel. Connectez-vous à un service hébergé sur le cloud via une adresse hébergée sur votre réseau privé à l’aide de points de terminaison privés.
Commencez dès aujourd'hui
Commencez dès aujourd'hui par configurer un espace de noms Service Bus avec des fonctionnalités JMS et migrer vos applications Java et Spring existantes d’Apache ActiveMQ vers Service Bus.