Optimalizace e-mailového messagingu cloudové služby
Loading...
Downloads
2
Date issued
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoká škola báňská - Technická univerzita Ostrava
Location
Signature
Abstract
The bachelor thesis describes e-mail messaging optimization of a cloud service. The core of optimization is a microservice which is the subject of fulfilling the requirements of given service optimization. The main requirement is to optimize the process of sending e-mail messages between different microservices and employees within a given project or customers using the service. The cloud service is based on the microservice architecture. The main requirement incorporates creating the functionality of sending e-mails with the use of HTTP protocol while maintaining the best practice for creating software communication interfaces REST(Representational State Transfer). Microservice also manages to send messages in an alternative way with the use of asynchronous message broker RabbitMQ. The need for sending e-mail messages comes from the requirement of informing all the project employees or any other internal project customers about any kind of event that could happen within the scope of functionality and goal of different microservices within the entire architecture of the could service. The initial request for creating and sending e-mail message comes from other microservices within the whole project architecture.
Microservice which provides the core optimization functionality takes over the responsibility to convert received message to matching form and it’s sending to an SMTP server. The records of sent e-mails are saved within the relational database. As the core tool for providing needed functionalities, we used the Spring Framework together with the programming language Java. For sending e-mail messages in an asynchronous way, we used the RabbitMQ. The forwarding of e-mail messages with the use of HTTP protocol was managed by the Rest Controller, a part of the Spring Framework. Transactional persisting of records was achieved by Hibernate Framework, together with the Spring Data JPA(Java Persistence API). The microservice used in the optimization also uses Maven, a software tool for project dependency and library management. The need for sending e-mail messages asynchronously is covered by the asynchronous message broker RabbitMQ. The integration of RabbitMQ with our microservice was done using the library of the Spring Framework – Spring AMQP(Advanced Message Queuing Protocol). For receiving messages, we used a special listener object – RabbitListener, which listens for external events of receiving RabbitMQ messages within a specific queue, forwarded to our microservice.
Given microservice was successfully accepted by the submitter of initial requirements to optimize e-mail messaging. The implementation of the microservice was successful and is currently used as a tool for forwarding e-mails within the entire project of the cloud service. Currently, our microservice forwards e-mails with informative content between different microservices within the entire cloud service architecture and employees or other internal customers working on the development of given cloud service.
Description
Subject(s)
microservice, e-mail messaging, optimization of e-mail messaging, Spring Framework, Java, RabbitMQ, asynchronous messaging, Maven, Hibernate