Transformer l’essai SOA grâce aux microservices
L’approche microservice est une nouvelle façon d’appréhender les architectures SOA. SOA a tendance à multiplier les équipes qui participent à la mise en place d’une capacité métier (équipe « ESB », équipe « Services Applicatifs et Fonctionnels », équipe « Services d’accès aux données », équipe « expert SQL » etc).
L’approche microservice au contraire propose de mettre en place pour chaque microservice une équipe unique, une « pizza team », autonome dont la mission est de livrer un « produit » fonctionnant en déploiement. D’où l’utilisation de l’approche DevOps.
Sur le plan technique, un microservice publiera des API managées. De plus, cette approche remplace les batchs de synchronisation des données par un bus d’événement, mais ce bus n’implémente aucun traitement métier, il a pour seul rôle l’acheminement fiable des événements métier entre le microservice émetteur et les consommateurs (microservices ou legacy).
Un microservice pourra également proposer un microFrontEnd pour les interfaces hommes machines.
EMOXA propose ses services pour les études d’opportunité, la conception, la réalisation et le déploiement des microservices.
La conception des microservices s’appuie sur les différents standards permettant de spécifier des API et de développer les MICROSERVICES associés: OPEN API, AsyncAPI, GRAPHQL, ECLIPSE MICROPROFILE, OPEN MICROSERVICES SPECIFICATION. Grâce à GRAPHQL il est possible de construire très facilement des API et des MICROSERVICES d’accès à des sources de données variées.
La réalisation de MICROSERVICES s’appuie sur JAVA, avec le framework SPRING (SPRING BOOT, SPRING MVC), les bases de données NOSQL (MONGODB) et SQL (POSTGRESQL, mySQL, MARIADB).
Les microFrontEnd seront réalisés de préférence en JAVASCRIPT avec le framework REACT et ses nombreuses librairies de composants, connecté à des MICROSERVICES via REST, GRAPHQL, SOAP / WSDL, WebSockets, ou SSE.
La publication des API se fait via les outils WSO2 API MANAGER et WSO2 IDENTITY SERVER. Le bus d’événement pourra s’appuyer sur le middleware KAFKA ou sur WSO2 ENTERPRISE INTEGRATOR. Notre compétence KAFKA comprend KAFKA STREAMS et KSQLDB.
KSQLDB est une base de données orientée événement basée sur KAFKA. Grâce à KAFKA et KSQLDB, il est possible de développer des MICROSERVICES réactifs.
La gestion de log pourra utiliser l’outil d’indexation et de recherche ELASTICSEARCH et la stack ELK.
La pratique DEVOPS ou plus exactement DEVSECOPS s’appuie sur les outils de virtualisations et les containers de package. Les outils associés sont VMWARE, DOCKER et KUBERNETES.