Go beyond SOA thanks to microservices
The microservice approach is a new way of understanding SOA architectures. SOA tends to increase the number of teams involved in setting up a business capacity (“ESB” team, “Application and Functional Services” team, “Data access services” team, “SQL expert” team, etc.) .
The microservice approach, on the contrary, proposes to set up for each microservice a unique team, a “pizza team”, an autonomous team whose mission is to deliver a “product” until and including the deployment phase. Hence the use of the DevOps approach.
Technically, a microservice will publish managed APIs. In addition, this approach replaces the data synchronization batches with an event bus, but this bus does not implement any business processing, its sole role is the reliable routing of business events between the sending microservice and the consumers (microservices or legacy).
A microservice could also offer a microFrontEnd for human machine interfaces.
EMOXA offers its services for the opportunity studies, the design, the realization and the efficient deployment of microservices.
The design of microservices is based on the different standards allowing API specification and associated MICROSERVICES to be developed: OPEN API, AsyncAPI, GRAPHQL, ECLIPSE MICROPROFILE, OPEN MICROSERVICES SPECIFICATION.
Thanks to GRAPHQL it is possible to very easily build APIs and MICROSERVICES for accessing various data sources.
The realization of MICROSERVICES is based on JAVA, with the SPRING framework (SPRING BOOT, SPRING MVC), the NOSQL (MONGODB) and SQL (POSTGRESQL, mySQL, MARIADB) databases.
The microFrontEnds will preferably be produced in JAVASCRIPT with the REACT framework and its numerous component libraries, connected to MICROSERVICES via REST, GRAPHQL, SOAP / WSDL, WebSockets, or SSE.
API publication is done using the WSO2 API MANAGER and WSO2 IDENTITY SERVER tools. The event bus can rely on KAFKA middleware or WSO2 ENTERPRISE INTEGRATOR. Our KAFKA competence includes KAFKA STREAMS and KSQLDB.
KSQLDB is an event-oriented database based on KAFKA. Thanks to KAFKA and KSQLDB, it is possible to develop responsive, or streaming, MICROSERVICES.
Log management can use the ELASTICSEARCH indexing and search tool and the ELK stack.
The DEVOPS practice or more exactly DEVSECOPS is based on virtualization tools and package containers. The associated tools are VMWARE, DOCKER and KUBERNETES.