Zobrazit minimální záznam

dc.contributor.advisorNovák, Vítězslav
dc.contributor.authorPolaček, Patrik
dc.date.accessioned2019-06-26T04:23:58Z
dc.date.available2019-06-26T04:23:58Z
dc.date.issued2019
dc.identifier.otherOSD002
dc.identifier.urihttp://hdl.handle.net/10084/135574
dc.description.abstractBakalárska práca popisuje spôsob optimalizácie e-mailového messagingu cloudovej služby. Jadrom optimalizácie je mikroslužba, ktorá zabezpečuje naplnenie požiadavkou na optimalizáciu danej služby, teda optimalizáciu procesu rozosielania e-mailových správ medzi mikroslužbami a pracovníkmi projektu cloudovej služby alebo zákazníkmi používajúcimi danú cloudovú službu. Cloudová služba je postavená na architektúre mikroslužieb. Primárna požiadavka zahŕňa vytvorenie funkcionality preposielania e-mailov pomocou protokolu HTTP, pri zachovaný zásady softvérovej architektúry rozhraní REST(Representational State Transfer). Mikroslužba umožňuje taktiež preposielanie správ alternatívnou cestou prostredníctvom asynchrónneho message brokeru RabbitMQ. Potreba posielania e-mailových správ zo strany mikroslužieb vyplýva z nutnosti informovania pracovníkov projektu, prípadne iných interných zákazníkov projektu alebo aj zákazníkov používajúcich cloudovú službu o rôznych udalostiach, ktoré môžu vzniknúť v rámci funkcionalít a zámeru jednotlivých mikroslužieb tvoriacich celkový projekt. Záujem o vytvorenie e-mailovej správy prichádza zo strany ostatných mikroslužieb v celkovej architektúre cloudovej služby. Mikroslužba zabezpečujúca optimalizáciu preberá zodpovednosť za prevedenie prijatej správy na vhodnú formu a jej následne odoslanie na stranu SMTP serveru. Záznamy o odoslaných e-mailoch sú transakčne ukladané v relačnej databáze. Pre zabezpečovanie požadovaných funkcionalít sme ako základný prostriedok použili Spring Framework a programovací jazyk Java, pre asynchrónne preposielanie e-mailových správ nástroj RabbitMQ. Preposielanie e-mailových správ s využitým protokolu HTTP pri zachovaní zásady programových rozhraní REST zabezpečil Rest Controller, súčasť Spring Frameworku. Transakčné ukladanie dát bolo realizované technikou objektovo-relačného mapovania s pomocou frameworku Hibernate, spoločne s implementáciou Spring Data JPA(Java Persistence API). Mikroslužba zabezpečujúca optimalizáciu používa na správu a riadenie programových knižníc a na automatizáciu a štandardizáciu zostavenia aplikácie nástroj Maven. Schopnosť asynchrónneho preposielania e-mailových správ zabezpečuje asynchrónny message broker RabbitMQ. Integrácia tohto nástroja s mikroslužbou prebieha pomocou knižnice Spring Frameworku - Spring AMQP(Advanced Message Queuing Protocol). Prijímanie správ prebieha pomocou špecifického objektu RabbitListener, reagujúceho na externú udalosť príchodu novej správy predstavujúcej požiadavku na vytvorenie e-mailu na stranu nástroju RabbitMQ, ktorá je špecificky smerovaná a určená pre našu mikroslužbu. Vytvorená mikroslužba bola úspešne prijatá zadávateľom požiadavku na optimalizáciu procesu e-mailového messagingu. Implementácia mikroslužby prebehla úspešne a je v určitej miere používaná ako nástroj preposielania e-mailových správ v rámci celkového projektu cloudovej služby. Pomocou mikroslužby zabezpečujúcej optimalizáciu sú v súčasnosti preposielané e-maily s informatívnym charakterom medzi rôznymi mikroslužbami tvoriacimi celkovú cloudovú službu a zamestnancami, pracujúcimi na vývoji projektu, prípadne inými internými zákazníkmi projektu.cs
dc.description.abstractThe 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.en
dc.format.extent1954484 bytes
dc.format.mimetypeapplication/pdf
dc.language.isocs
dc.publisherVysoká škola báňská - Technická univerzita Ostravacs
dc.subjectmikroslužbacs
dc.subjecte-mailový messagingcs
dc.subjectoptimalizácia procesu rozosielania e-mailovcs
dc.subjectSpring Frameworkcs
dc.subjectJavacs
dc.subjectRabbitMQcs
dc.subjectasynchrónny messagingcs
dc.subjectMavencs
dc.subjectHibernatecs
dc.subjectmicroserviceen
dc.subjecte-mail messagingen
dc.subjectoptimization of e-mail messagingen
dc.subjectSpring Frameworken
dc.subjectJavaen
dc.subjectRabbitMQen
dc.subjectasynchronous messagingen
dc.subjectMavenen
dc.subjectHibernateen
dc.titleOptimalizace e-mailového messagingu cloudové službycs
dc.title.alternativeEmail Messaging Optimization of a Cloud Serviceen
dc.typeBakalářská prácecs
dc.contributor.refereeBačovský, Jiří
dc.date.accepted2019-06-04
dc.thesis.degree-nameBc.
dc.thesis.degree-levelBakalářský studijní programcs
dc.thesis.degree-grantorVysoká škola báňská - Technická univerzita Ostrava. Ekonomická fakultacs
dc.description.department155 - Katedra aplikované informatikycs
dc.thesis.degree-programSystémové inženýrství a informatikacs
dc.thesis.degree-branchInformatika v ekonomicecs
dc.description.resultvýborněcs
dc.identifier.senderS2751
dc.identifier.thesisPOL0350_EKF_B6209_6209R017_2019
dc.rights.accessopenAccess


Soubory tohoto záznamu

Tento záznam se objevuje v následujících kolekcích

Zobrazit minimální záznam