DEVELOPMENT OF SPRING FRAMEWORK EXTENSION TO SUPPORT EVENTDRIVEN MICROSERVICE ARCHITECTURE
Software development using the monolithic method is not ideal for developing large scale software because of the complexity of the resulting software. One of the solutions is to implement Microservice Architecture to decompose the software into several microservices which can be maintained indepe...
Saved in:
Main Author: | |
---|---|
Format: | Final Project |
Language: | Indonesia |
Online Access: | https://digilib.itb.ac.id/gdl/view/50552 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Institut Teknologi Bandung |
Language: | Indonesia |
id |
id-itb.:50552 |
---|---|
spelling |
id-itb.:505522020-09-24T14:44:01ZDEVELOPMENT OF SPRING FRAMEWORK EXTENSION TO SUPPORT EVENTDRIVEN MICROSERVICE ARCHITECTURE Suhendi Indonesia Final Project event-driven architecture, microservice architecture, extension, Spring Framework, messaging INSTITUT TEKNOLOGI BANDUNG https://digilib.itb.ac.id/gdl/view/50552 Software development using the monolithic method is not ideal for developing large scale software because of the complexity of the resulting software. One of the solutions is to implement Microservice Architecture to decompose the software into several microservices which can be maintained independently. Furthermore, to reduce coupling, microservices can communicate using EventDriven Architecture. Event-Driven communication between microservices can be achieved by leveraging messaging systems. However, the implementation of EventDriven communication tends to cause coupling between the microservices and the messaging system that is being used. This in turn increase the difficulty to make changes to the microservices. To solve the coupling problem, an abstraction for event processing is developed to automatically forward events to messaging system. The abstraction is developed to leverage the event system provided by Spring Framework. For the event processing to be automatically forwarded to messaging system, there is a need to develop a Spring Framework extension. The extension is built so that the way for event-driven communication between microservices stay the same regardless of the messaging system that is being used. The benefit of this approach is that to change the messaging system that is being used, there is no need to modify the codes for event processing. Extension is built as several components. The first component is Event Provider abstract class that has concrete class implementation for each messaging system. The second component is Event Registry class to store information about events that are to be processed. To use the extension, simply define both components as Spring Bean. Apart from abstraction of event processing, the extension also helps the software development process. From the testing result, the extension can reduce the line of codes needed to process an event. This is achieved by the automation of repetitive tasks. Furthermore, from the testing result, switching the messaging system can be done simply by changing the extension’s configuration. text |
institution |
Institut Teknologi Bandung |
building |
Institut Teknologi Bandung Library |
continent |
Asia |
country |
Indonesia Indonesia |
content_provider |
Institut Teknologi Bandung |
collection |
Digital ITB |
language |
Indonesia |
description |
Software development using the monolithic method is not ideal for
developing large scale software because of the complexity of the resulting software.
One of the solutions is to implement Microservice Architecture to decompose the
software into several microservices which can be maintained independently.
Furthermore, to reduce coupling, microservices can communicate using EventDriven Architecture. Event-Driven communication between microservices can be
achieved by leveraging messaging systems. However, the implementation of EventDriven communication tends to cause coupling between the microservices and the
messaging system that is being used. This in turn increase the difficulty to make
changes to the microservices.
To solve the coupling problem, an abstraction for event processing is
developed to automatically forward events to messaging system. The abstraction is
developed to leverage the event system provided by Spring Framework. For the
event processing to be automatically forwarded to messaging system, there is a need
to develop a Spring Framework extension. The extension is built so that the way
for event-driven communication between microservices stay the same regardless of
the messaging system that is being used. The benefit of this approach is that to
change the messaging system that is being used, there is no need to modify the
codes for event processing.
Extension is built as several components. The first component is Event
Provider abstract class that has concrete class implementation for each messaging
system. The second component is Event Registry class to store information about
events that are to be processed. To use the extension, simply define both
components as Spring Bean. Apart from abstraction of event processing, the
extension also helps the software development process. From the testing result, the
extension can reduce the line of codes needed to process an event. This is achieved
by the automation of repetitive tasks. Furthermore, from the testing result,
switching the messaging system can be done simply by changing the extension’s
configuration.
|
format |
Final Project |
author |
Suhendi |
spellingShingle |
Suhendi DEVELOPMENT OF SPRING FRAMEWORK EXTENSION TO SUPPORT EVENTDRIVEN MICROSERVICE ARCHITECTURE |
author_facet |
Suhendi |
author_sort |
Suhendi |
title |
DEVELOPMENT OF SPRING FRAMEWORK EXTENSION TO SUPPORT EVENTDRIVEN MICROSERVICE ARCHITECTURE |
title_short |
DEVELOPMENT OF SPRING FRAMEWORK EXTENSION TO SUPPORT EVENTDRIVEN MICROSERVICE ARCHITECTURE |
title_full |
DEVELOPMENT OF SPRING FRAMEWORK EXTENSION TO SUPPORT EVENTDRIVEN MICROSERVICE ARCHITECTURE |
title_fullStr |
DEVELOPMENT OF SPRING FRAMEWORK EXTENSION TO SUPPORT EVENTDRIVEN MICROSERVICE ARCHITECTURE |
title_full_unstemmed |
DEVELOPMENT OF SPRING FRAMEWORK EXTENSION TO SUPPORT EVENTDRIVEN MICROSERVICE ARCHITECTURE |
title_sort |
development of spring framework extension to support eventdriven microservice architecture |
url |
https://digilib.itb.ac.id/gdl/view/50552 |
_version_ |
1822928483521658880 |