0% found this document useful (0 votes)
35 views29 pages

Microservices Loan Application

This research analyzes the potential of implementing microservices architecture in the loan application system of PT XYZ, a cooperative enterprise in Indonesia, to replace its current monolithic IT system. The study highlights the limitations of the monolithic architecture, particularly in scalability and adaptability, and proposes a microservices-based design to enhance performance and reduce dependencies among applications. The findings suggest that adopting microservices could significantly improve the system's ability to handle increased demand and support digital transformation efforts.

Uploaded by

Sarathi Goswami
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views29 pages

Microservices Loan Application

This research analyzes the potential of implementing microservices architecture in the loan application system of PT XYZ, a cooperative enterprise in Indonesia, to replace its current monolithic IT system. The study highlights the limitations of the monolithic architecture, particularly in scalability and adaptability, and proposes a microservices-based design to enhance performance and reduce dependencies among applications. The findings suggest that adopting microservices could significantly improve the system's ability to handle increased demand and support digital transformation efforts.

Uploaded by

Sarathi Goswami
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Journal of Theoretical and Applied Information Technology

15th December 2022. Vol.100. No 23


© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

ANALYSIS AND DEVELOPMENT OF MICROSERVICES


ARCHITECTURE IN LOAN APPLICATION SYSTEM OF
COOPERATIVE ENTERPRISE IN INDONESIA
REYNALDI LIE1, AHMAD NURUL FAJAR2
1,
Information System Management Department,
BINUS Graduate Program - Master of Information Systems Management,
Bina Nusantara University,
Jakarta, Indonesia 11480
E-mail: reynaldi004@binus.ac.id, 2afajar@binus.edu
1

ABSTRACT

PT XYZ is a cooperation enterprise currently using monolithic IT (Information Technology) system


architecture. Load test and stress test results of the system showed that development of capabilities of the
loan application system of the enteprise is still possible to be done. This research is purposed to analyze the
loan application system design based on microservices as possible alternative to replace the current IT
monolithic system architecture in PT XYZ by enhancing the performance of the loan application system in
scaling up business with the ability to establish low dependency among applications. The research is
exclusively aimed to solve the system architectural problem in cooperative enterprises with PT XYZ as the
example. The method used in this research is microservices-based system design with DDD (Domain
Driven Design) approach by determining bounded contexts, followed by classification of entities,
aggregates, and services that are going to be materialized in the design. Analysis results confirmed that the
services can be seen from three different contexts, namely information context, loan application context,
and loan review context according to the functionalities of each service component. The researcher
suggested software stack emphasizing on processes automation at PT XYZ to support the microservices
architecture design.
Keywords: Service Oriented Architecture, Microservices Design, Domain Driven Design, System
Architecture, Loan Application

1. INTRODUCTION which end has yet to be seen, where many parties


might need fundings from cooperatives.
Savings and loan cooperatives are the
According to the records of OJK (Otoritas
pillars of Indonesia’s economy and have always
Jasa Keuangan), the Indonesian Financial Services
been an economic agent that synergizes with other
Authority, every year has saw the increase of credit
economic agents, namely BUMN (Badan Usaha
disbursement significantly [1]. The data retrieved
Milik Negara), the Indonesia’s equivalent for SOEs
from the period of December 2018 where the credit
(State-Owned Enterprises) and BUMS (Badan
disbursement of creditors in Java Island reached
Usaha Milik Swasta), the Indonesia’s equal of
about 19.62 trillion rupiahs whereas outside of Java,
private enterprise in the joint effort of bringing
the disbursement reached approximately 3.05
equally prospering society. To realize and develop
trillion rupiahs in amount. The following year, in
the democratization of economy, these economy
December 2019 showed drastic increase in the
agents, particularly enterprises, must be built in
credit disbursement where creditors in Java Island
accordance with the Article 33 Section (1) of UUD
disbursed 69.82 trillion rupiahs and creditors
1945 (The 1945 Constitution of the Republic of
outside of Java disbursed 11.67 trillion rupiahs. The
Indonesia). The success of the cooperatives will be
very next year also saw increase, exactly in
the determining factor of Indonesian economic
December 2020, where Java Island has accumulated
stability, especially in the uncertainty of Covid-19
disburse amount of 132.38 trillion rupiahs while
outside of Java counted as 23.52 trillion rupiahs.

7064
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

The accumulation of the disbursement amount were strategies and techniques to support the
calculated from various sources, namely from improvement of business, cooperatives are not an
borrowers’ accounts, including both consumer and exception to this.
working capital loans. More than 140 creditors are
The strategy for improving or perfecting
offering loan services across Indonesia annually.
cooperative business lines can be realized by
May 2020 has the greatest number of creditors
conducting digital transformation which demands
providing loan services to customers, at 161
an organization to be nimble and to adopt suitable
companies.
innovation method with good acceleration to ensure
The rise of Covid-19 outbreak at the that the newly developed digital services can be
beginning of 2020 has not reached its conclusion. brought to customers, partners, and staffs alike. To
Indonesia’s government, like many countries achieve this, many organizations took the approach
around the world, has enforced physical distancing of building a seamless application based on cloud
as a countermeasure against the viral infection, with good flexibility, where it is easier to add and
which the Indonesian government called PSBB renew digital services to suit the everchanging
(Pembatasan Sosial Berskala Besar) or literally business requirements and technological
translated as Large-Scale Social Distancing. This capabilities [4]. Old monolithic applications may be
limited people’s activities greatly and ended up acceptable for daily operations, yet these
reducing purchasing power immensely. This applications are not suited to construct digital
occurrence affected Indonesia’s economy services. The traditional monolithic system
negatively as in the same year, there was a decrease architecture and software development method will
with the percentage of 2.07% [2]. Business owners always be hinderances in pushing forward to the
responded to PSBB by implementing WFH (Work desired digital transformation within an
from Home) and WFO (Work from Office) rules. organization [5].
WFH and WFO are done alternately to maintain the
Information system is commonly built with
continuity of business activities without ignoring
monolithic architecture, where each component of
the government’s advice to physically distancing
the system is intended to be built as one unity. A
with each other to slowdown the spread of
single monolithic architecture usually comprises of
Covid-19. Another challenge for the business
tens or hundreds of business functions used
owners is the necessity of adapting and innovating
simultaneously in one software release.
amongst the Covid-19 situation. With or without the
Microservices, on the other hand, usually
pandemic itself, continuous adaptation and
summarizes a single business function so that it can
innovation are necessary to adjust with the present
be scaled and used separately. Developing
conditions and challenges. People have
application for a large enterprise by spreading cloud
insurmountable number of needs, along with the
facilities by creating and managing a number of
necessity of adapting and innovating, are the reason
microservices give the possibility of another
why a modern system must be developed to answer
alternative to improve monolithic architecture. The
those needs. One of the possible ways to provide
challenges that a developer might encounter within
the ability to keep doing activities while
monolithic architecture are the questionable
communicating with the society among a condition
adaptation capability of the system toward system
which greatly restricts face to face interaction is to
requirement changes, mainly in managing codes
adopt a well-established information system and
complexity and its maintainability, where this will
hasten the development of the digitalization of a
cause bottleneck to the services distribution process
company so that the company can move in a
due to tightly coupling of the codes. Therefore, a
dynamic way.
consideration of devising another architectural
Besides, the globalization era gives more alternative to create an adaptive system
opportunities for cooperative enterprises to increase management to suit requirement changes whenever
in number. The cooperatives are competing with needed, is needed [6]. In an architectural design
each other as the result [3]. This circumstance focused on services development, every company
forces every cooperative to be in constant should at least update the system and services
improvement and perfecting the business to be able weekly. PT XYZ, a cooperative enterprise in
to withstand the threat of competitors and to Indonesia situated at Jakarta that the researcher
maintain the cooperatives overall existence for long studied on, is no exception. The case study serves to
term. The advancement of business environment compare the updating process in monolithic
nowadays forces business owners to use many

7065
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

architectural design versus microservices duration variable and the number of services that
architectural design. the system can provide within a preset time, using
Execution Time as the parameter for measuring
Another challenge in using monolithic
duration and Concurrency as the parameter in
architecture is the system development dependence
measuring how many services can the system
on stack of the main technologies which limit the
provide within given duration. This measuring
possibility to develop new functions with newer
method is called load testing, which purpose is to
application framework or a different programming
measure how a website can be accessed within
language [7]. With the increasing functions amount,
certain parameters like execution time and
monolithic architecture gets more complex and
concurrency. RPS is used to gauge the amount of
need larger team of developers to support the
request that can be accepted by the web server
applications within [8]. Scalability in monolithic
within certain duration. Based on the test results as
architecture is also limited, as individual functions
shown in Table 1, the RPS in monolithic system
cannot be run repeatedly separately after usage. The
architecture can be considered as lacking.
repetition must be done to the entire application
which can be very time consuming.
Table 1: Load Testing of Monolithic Architecture
Based on these explanations, if the Using Apache Benchmark
previous system is maintained, it is going to bring No Execution Time (s) Concurrency (#)
Monolithic
disadvantages for the enterprises using the system, RPS (#/s)
1 10 10 2.98
particularly in competing with other enterprises in
2 50 10 3.02
fulfilling customers’ needs. The consequence of
3 100 10 2.92
using the traditional system is that the developers 4 150 10 2.99
have to face the complexity of system development 5 200 10 2.94
and must spare a lot of time to deal with it, which 6 250 10 2.92
can result in slowdown of the advancement of the 7 300 10 2.87
system compared to the system used by
competitors. High operating costs are inevitable in
handling complex system structure as the Apart from doing load testing, monolithic
management needs large team to run the process. architecture capabilities can also be tested with
stress testing. Stress testing is also done using
For instance, loan system in PT XYZ is a Apache Benchmark with the preset parameters
system using monolithic architecture where every being the number of services requested and the
components of the application inside are built, number of services requested at the same time.
designed, implemented, and maintained within a Stress testing is used to measure how a web can be
single union of codes [9]. The biggest drawback of resilient and responding requests from users even
this architecture is the developer might face though the number of requests are high, regardless
adversity in increasing capacity needed for the of the requests are made simultaneously or not. The
system. Constant fixing and improvement of the parameters for testing are Number of Request and
system is difficult as all components should be Concurrency, where Number of Request represents
increased in capacity, even if only one component the number of requests acceptable by the web server
needs capacity increase while the rest do not need and Concurrency represents the number of requests
changes in capacity. For example, the number of acceptable by the web server at the same time. The
SMEs (Small Medium Enterprises) in Indonesia is precise illustration for the stress testing result can
at 59.2 million. This number indicates the chance be seen in Table 2 below.
for request of application services coming from the
customers to be relatively high [10]. Monolithic Table 2: Stress Testing of Monolithic Architecture
system renders the application to be slow Using Apache Benchmark
responding and cannot keep up with the Number of Monolithic
No Concurrency (#)
ever-increasing number of users. Requests (#) RPS (#/s)
1 10,000 200 10.24
Apache Benchmark is used as a tool for 2 5,000 200 9.31
testing the services in PT XYZ with its currently 3 2,000 200 8.66
used monolithic architecture which showed that the
capability of the system can process request of to
3 RPS (Request Per Second). A series of test is also Test results indicated that monolithic
conducted afterwards by changing the testing architecture is capable of supporting the current
services layout, but by combining the results of

7066
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

both load testing and stress testing, it is safe to By understanding the basics of SOA, one
assume that the performance of the services present can recognize microservices architecture which is
at the current business type can be improved even an evolved form of SOA as one alternative of a
further. more measurable architecture with higher flexibility
than SOA. To encourage digital transformation
As implied by reference [11], with a total
efficiently, many organizations are exploring
time required for testing of three minutes, only a
methodologies and architectural style to develop
minute is necessary to discover that the average
new software. In microservices architecture,
response time of applications built on monolithic
information system is designed to be distributed
architecture is significantly lower than the response
into separate parts to provide more focused and
time needed for applications built on microservices
more specific services. Large issues will be
architecture. The accumulated usage of RAM
categorized into small pieces of solutions grouped
(Random Access Memory) by clients of
into one service, where each service has its own
applications built as microservices are higher than
responsibility. This approach creates an information
the RAM usage by clients on monolithic
system comprising of several services which can be
applications. Although the frequency of testing
managed and distributed independently. Thus, the
done was relatively low as most of the enterprises’
system can adapt better to changing needs [6].
server are strong, response time should not be a
problem. Similar result is also discovered in the Another reason for the suggestion of
usage of CPU (Central Processing Unit). microservice architecture in this research is to
reduce difficulty in the process of scaling up the
Microservices architecture originated from
current business, especially in the business segment
Service Oriented Architecture or abbreviated
of loan service in PT XYZ. Business scale up is the
commonly as SOA, one of the possible system
effort to prepare and support the growth and the
architectural style to develop business and
development of a business, be it from the system
technological solution in the form of software as
aspect, resources, processes, technology, or partners
composition of split logics loosely coupled for ease
[13]. An enterprise is ready to perform business
of operation and distribution into separate parts
scale up if the customer retention rate of that
without dependency on each other in order to shape
company is high to the point of receiving large
services. Service orientation or SO for short, is the
quantities of demand from customers, but with
new paradigm to shape services with a set of design
limited services capacity, facing difficulty in
principle like self-description, storing personal
fulfilling the requests. High dependency among
information, autonomous, abstraction, standard
applications in monolithic system can be a barrier in
contract, division of services contents, and ease of
scaling up business of a company. PT XYZ is also
use in locating the services. All of these are set to
vulnerable to the threat if system architecture
fulfill the principle of SOA. This paradigm is the
replacement is not done sooner. The need of
evolution from the traditionally object-oriented
migration from monolithic to microservices
business into components-based manipulation to
architectural style is to give PT XYZ the capacity of
enforce services with great flexibility and
balancing the readiness of the cooperative
interoperability, without neglecting the principle of
enterprise in scale up processes and helping in its
information hiding for the sake of privacy. SO is
realization.
intended to devise software solutions as single
and/or combined services, in regard to SOA A data from [14] indicated that 68% of for-
architectural style running in distributed profit company using IT system in running their
computerization or can be referred to as SOC business had implemented microservices to
(Service Oriented Computing). products and its development, while 26% of them
have learnt microservices but haven’t implemented
SOA approach has several advantages as
it. The remaining 6% didn’t learn and implement
opposed to traditional architectural approaches such
microservices. This reference also pointed out from
as the opportunity for repeated use, better
a case study in UppLabs, a Fintech company from
independency as a platform, lower maintenance and
United States that the company couldnot scale up
development cost, observable with results
the business without replacing the monolithic
determined by network variable and factor, and
architectural style.
various services to choose from with dynamic
composition and dynamic information stream [12]. The final desired outcome of using
microservices architecture is lessened difficulty in
doing business by improving services dedicated to

7067
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

stakeholders of enterprises, like bridging between 1. How using microservices architecture to


producers and buyers through an integrated design the loan application system for
information system. Digitalization in a company PT XYZ can reduce the difficulty of the
support guidance and accompaniment across space system design processes?
and time as the processes of delivering services can 2. How the DDD (Domain Driven Design)
be done in real-time and online environments. approach can help in designing microservices
for the loan application system of PT XYZ
Microservices infrastructure can be
cooperative enterprise?
developed using the approach of DDD (Domain
Driven Design). DDD’s main area of focus is 2. LITERATURE REVIEW
domains, including its conception, relationship with
each other, and existing business processes. DDD In this section, the researcher discussed
relies on bounded contexts to identify services related terminologies to provide better
within the microservices architecture. Business understanding of the theories surrounding the
processes must be grouped according to the research focus for the readers. The theories
functions. Every group will be treated as bounded consisted of definition and contribution of past
contexts of the system. These contexts will later researches, mainly from journals and literatures.
form microservices in the microservices
2.1 General Theory
architecture [15]. However, in real life practice,
General theories defined some terms with
there aren’t many companies taking total advantage
direct connection to the field of computer studies.
of information system. Some creditor companies,
These theories were taken from journals, books, or
like cooperatives, are still using manual system
previously documented researches that contained
which slowdown the process of
insights and suggestions to improve the area of IT
decision-making regarding loan disbursement and
(Information Technology).
several other things related with credit. Slow
2.1.1 Service oriented architecture
decision-making can hinder the process of
SOA is an architecture solution with loose
retrieving daily customer reports like loan applicant
coupling mechanism and one way to implement it
report and credit disbursement report. Data also
is by using web services. To answer the challenge
suffer to the risk of inaccuracy. These problems can
of competition from economic pressure, the IT
be tackled by building a computerized system with
industry in general has always tried to improve
better integration [16]. DDD approach is expected
system performance and customer services with
to be the beginning of formulating solutions to
efficient cost management. This tendency in
dissolve or solve these problems. The application of
behavior among IT industry agents somehow led to
DDD approach in designing microservices
the changing of IT system infrastructure into SOA
architecture can be beneficial in achieving the
for to have a nimbler system for the best interest of
maximum advantage of loose coupling with
business owners. This initiative, however, has
reduced implementation complexity by separating
brought to light the security issues that SOA
domains and subdomains using DDD approach.
possess [12].
The researcher is piqued to design
By implementing SOA, enterprises will
microservices architecture for PT XYZ’s loan
have effective, flexible, scalable, and repeatedly
application system with DDD approach. The design
useable IT infrastructure. This concept supports
idea for the loan application system is carried out
digital transformation in a company with the ability
by interviewing the CTO (Chief Technology
to be adaptive in either internal business structure
Officer) from the cooperative to learn more about
or external environment [17].
what the current monolithic system in loan
application system is capable of doing. The design SOA plays the role of illustrated
is hoped to offer an alternative of systemic solution architectural paradigm that is grouped into six
for PT XYZ in enhancing the performance of the separate dimensions which consists of business
loan application system in bringing convenience in value, strategic goals, intrinsic interoperability,
scaling up business with low dependency among combined services, flexibility, and evolutionary
applications. The research is exclusively aimed to improvement. The ultimate purpose of this
solve the system architectural problem in architectural paradigm is to divide several business
cooperative enterprises, as opposed to the referred procedures into smaller parts which can be
past studies that mainly involved IT companies. connected and reused in another business scenarios
Research questions are formulated as follows: whenever needed [18].

7068
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

SOA is formed by four core components, 2.1.2 Microservices architecture


they are application frontend, services, services Adoption of microservices architecture to
repository, and services bus of an enterprise. In develop software is getting more and more popular
application frontend, the users can initiate, control, as a mean to replace traditional system architecture
and cease the services, where functional units are since cohesive services group and loose coupling
separated so they are accessible from long distance are the benefits of adopting microservices
and taken care of and updated independently. architecture. Microservices are built as solutions
Different user groups can access the services from which take form as properly defined domains and
built communication networks and build generating many components with similar ability to
infrastructure that is divided into equal parts to communicate and operate together. Usage of
facilitate integration and collaboration, both microservices support the implementation and
internally and/or externally. Services repository has maintenance process with good resilience and
a structure to store and access services data to scalability. However, these perks can
enable the users to determine the services unintentionally create a more complex ecosystem
characteristics and functions as registry or that requires additional effort of communication
information contained in the database, which and collaboration in tackling the problems that
governs the SOA projects in access services might surface from the inside [20].
catalogue, all of which are improving continuously
Microservices is reliable in building tough,
in an interactive and controlled environment. After
measurable, independent, and fast improving
a series of processes, the enterprise’s service bus
applications. But since the services are autonomous
brings to conclusion by implementing
and are built from groups of small services, a
communication system across services where all of
careful approach is needed to build the applications.
them are connected by the already established SOA
Reference [21] provided a comprehensive
environment.
explanation about microservices such as the
Service consumer and service provider components, benefits, and challenges of
communication flows on the internet in SOA implementing the architectural style.
environment starts with the service provider
The components shaping microservices
component publishing information about the
comprises of these characteristics:
services in service registry. Service consumer will
1. Microservices are small in size, moves
find the service information and service provider
independently, and can be grouped flexibly.
component information from the service registry.
Thus, only a small team of developers are
Lastly, these two components will undergo the
needed to describe and maintain the services.
process of integration where both will bind with
2. Every service has separate code base.
each other through internet connection. This
3. Service can be updated separately without
processes are illustrated in Figure 1 below.
having to update the entire services.
4. Each service is responsible for their respective
data.
5. Every service can communicate with each
other through API. Implementation detail of
one service is hidden from another service.
6. It is not necessary for services to share the
same technological basis, user manual, and
workflow.
Other component beside the services itself
Figure 1: SOA Main Structure [19] that is also vital for the materialization of
microservices is API gateway. API stands for
SOA is very strict when it comes to Application Programming Interface and acts as an
privacy protection because information flow or entry point for clients. API gateway will forward
program codes cannot be seen by anyone, closing the request to suitable service in the backend part of
the possibility of knowing how the services will be the system.
grouped to complete certain processes in the
architectural environment. So, to measure the Converting to microservices provide
degree of potential information leak in SOA-based various benefits such as:
web services proves to be a challenging feat.

7069
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

1. Nimbleness. Fixing bugs and releasing new understanding about domains and the authenticity
features in applications are made easier by of generated design, DDD emphasizes on an agile
using microservices, as opposed to traditional collaborative modeling from domain experts and
architecture where new features release can be software engineers. Presently, microservices
put on halt whenever bugs are being fixed. architecture is developing as an architectural style
2. Small team and better focus, making creation, for distributed software system with high
testing, and implementation of new features to requirements for scalability and adaptive ability.
be less time consuming. DDD can also dissect domain and define contexts
3. Small code base, making addition of new among the domain, where each are grouped into a
features to be less challenging as each service coherent domain concept. These contexts are
are not reliant to each other. suitable for microservices functionality in providing
4. Freedom to combine many different different business capabilities. Putting DDD into
technologies to suit development needs. practice in microservices design, however, create
5. Isolation of error, like circuit breaking to some challenges regarding the exclusion of some
prevent errors in one service to affect another services from domain model, infrastructure
area of microservices architecture. components modeling, and domain modeling in an
6. The ability to adequately allocate resources autonomous group [22].
into certain areas of needs accordingly.
During strategic phase of DDD, business
7. Data isolation gives the ability to update at
domain are being mapped and defined as bounded
will, minimizing the potential unwanted
contexts for domain modeling. DDD is a tactical
updates to undesired parts of the services.
approach in classifying domain models with high
Microservices’ benefits also come with precision. This tactical pattern is applied into
new challenges that the developer team must tackle, bounded contexts. Applying entities and aggregates
like: pattern in microservices will help identifying
1. Increase in complexity of the entire system natural boundaries for internal services. Using
architecture. common principle, microservices must be greater
2. Development and testing of the services can than aggregates, and must be smaller than bounded
be difficult as available tools can lack in contexts. The initial step would be to supervise this
compatibility to gauge the dependency of a tactical pattern and apply it into the bounded
service, especially if the services are growing contexts. These are the summary for DDD’s tactical
fast. pattern:
3. Lack of proper governance, since 1. Entities, which can be defined as an object
microservices emphasized on decentralized with unique identity stuck and persist during
environment. the course of time. For instance, in banking
4. Possibility of congestion and latency in application, customers and bank accounts can
network. API must be designed carefully to be classified as entities. An entity can be
avoid getting into this issue. distinguished from another entity by looking
5. Data integration becomes a problem as each at GUID (Global Unique Identification
service being in charge of respective data, Number) or the main lock in a database.
generating data consistency issues. Entities identities can include some bounded
6. Logging management issues. contexts and can last longer than an
7. Versioning of services may lead to potential application usage period, e.g.: bank account or
backward or forward compatibility issues. customer ID issued by the bank are not tied to
8. Proper expertise are absolute requirement in application usage period. Entities attributes
handling microservices. The team of can change over time, like one’s legal name
developers that are going to be tasked with can be changed but not the main identity of
everything related with microservices cannot that person. An entity can be linked to other
be just anyone, it must be experts or people entity.
with experience in handling the complexity of 2. Value objects. These objects do not have an
microservices. identity. The only way to distinguish one
2.1.3 Domain driven design value object from another is to examine its
DDD (Domain Driven Design) is a attributes values. Value objects are immutable.
methodology based on models that is popular in use To renew value objects, new examples are
for capturing knowledge of certain domains with always required to replace the outdated value
relevance to a software design. To encourage objects. Value objects can have a method to

7070
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

summarize domain logic, but it shouldn’t have irrelevant in designing boundaries between
a side effect to the objects itself. The example microservices.
of value objects are color, date and time, and
2.2 Specialized Theory
currency value.
According to reference [23], Fintech, a
3. Aggregates, which define the consistency
portmanteau of the word financial and technology,
boundary around an entity or more. Entities in
is a usage of technology in delivering a new and a
aggregates are called root. Searching for an
better form of financial services. One of the reason
aggregate can be done by knowing the root
to adopt Fintech is despite the convenience of
entity identifier. Other entities that are derived
information technology has tackled costs and
from root can be referred to by following the
functionalities related issues, the seemingly
clues from the main root. Aggregates’ main
inevitable intermediary costs of using financial
purpose is to model a transactional invariance.
services never change for more than a century.
In real life, the relationship network between
each aggregate is more complex. For instance, Reference [24] stated that Fintech is a part
customers make a request, the request contains of the growth of innovation process in financial
product specification that the customers industry that is risky theoretically but valuable. This
desire, products are delivered by suppliers, finding is supported by the latest proof that Fintech
and so on. If the application modifies some gives substantial value to the investors. Reference
related objects, it is necessary to discover the [25] also stated that Fintech is the point where
way to guarantee its consistency, tracking the financial services and technology collides. This is
invariance, and enforce it. Traditional not a new phenomenon for banking companies and
application mostly uses database transaction to financial services providers in the era of Fintech the
ensure consistency. However, in a distributed last few years. The evolution of Fintech history are
application, this is almost impossible to do. as follows:
Single business transaction can only reach 1. Fintech 1.0 (1866 to 1967). The first Fintech
some of the data storage, or taking too much era began from the installation of the first
time to do, or maybe require assistance from transatlantic undersea telecommunication
third-party services. In the end, it depends on cable and the invention of ATM (Automatic
the application, not the data layers, to apply Teller Machine), where finance and
the invariance needed in the domain. This is technology are combined to mark the first
how modeling using aggregates are done. period of financial globalization. A technology
4. Domain services and applications. In DDD like telegraph also supported the relationship
terminologies, services are objects used to of finance across boundaries, enabling fast
implement some logics without any status. transmission in financial information
DDD differentiates between domain services exchange, transaction, and payment.
and application services, providing technical 2. Fintech 2.0 (1967 to 2008). The second
functionality, like user authentication or SMS evolution in Fintech history is when it
(Short Message Service). Domain services are remained in exclusive sectors for decades and
often used to model behavior surrounding was mainly dominated by conventional
many entities. financial services providers regulated by the
5. Domain events, to communicate with other authorities that used the technology to provide
parts of the system when something occurs. financial products and services. This Fintech
As the name suggests, domain events area of age is the witness of the beginning of the
concern is only the occurrences in a domain. introduction of electronic payment and
Example of a thing unrelated with a domain is clearing system. Also, usage of ATM was
“notes are put into the table” and the example commercialized with many units of the
of a domain event is “Delivery is cancelled”. machine being produced, which is also
Domain events are relevant in realization of supported by the deployment of online
microservices architecture, since banking system worldwide. In mid ‘90s,
microservices are distributed and not sharing financial services industry became the largest
data storage. And so, domain events serve as a purchaser of IT assets, a record which hasn’t
way for microservices to coordinate with each been surpassed until now.
other. Some DDD patterns like factory, 3. Fintech 3.0 (2008 to the present): Since the
repository, and module are useful in global financial crisis in 2008, startup
implementation of microservices, but companies with disruptive nature and

7071
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

powerful technology enterprises began to send (Credit Union) [27]. The purpose of CU is to
financial products and services directly to encourage its members to save their funds, allocate
business or known as B2B (Business-to- the accumulated funds from the members to provide
Business) and the society where newcomers loan for members in need according to the principle
had tendency to focus at providing single of democracy. There are approximately 88,000 CUs
solution designed to offer better experience in and other cooperatives around the world. In 1986,
only a single product or service. The key the membership of CUs almost reached 114 million
connection of this behavior with Fintech 3.0 is people with total accumulated savings of 540
that the competition amongst banks and other billion US dollars and total loan outstanding of 380
financial services providers were no longer billion US dollars.
from the same businesses. New competitors
2.3 Relevant Past Researches
have surfaced in the form of Fintech
Research by reference [28] entitled
companies, which reshaped the way financial
“Modeling Microservices with DDD” explained that
services are delivered by using advance
DDD can help in providing functional
technologies. Fintech companies in this era are
comprehension on microservices architecture.
capable of mirroring the disruption, as seen by
Although, the method to apply this idea is unclear
wider economic scope with the emergence of
to domain practitioners in common. DDD is a
online platforms like Amazon or Uber that
domain modeling technique developed in early
managed to overcome the already established
2000 while microservices are developed and
conventional financial system. Instead of
popularized years after in 2015. This past research
replacing the current system, Fintech
discussed the basic conception of DD and why and
companies have invented an important
how it can help developing microservices with
infrastructure instead. Fintech is also capable
better availability, scalability, reliability, and
of developing on its own and have been
capability of modification. The researcher navigated
acknowledged worldwide. McKinsey, a global
domain model built with DDD into microservices
consulting firm, has calculated that more than
design based on synchronous REST and
2,000 startup companies offered financial
asynchronous or reactive communication protocols.
services, and predicted that there might be
The researcher dwelled further into five scenarios
12,000 more that will become Fintech
of microservices surrounding the DDD’s
companies.
aggregates, bounded contexts, domain events, and
Nowadays, Fintech companies have vast other strategies for bounded contexts to interact
improvement, so the concept of Fintech itself must with each other.
be implemented to firms or organizations that
A research by reference [29] focused on an
support the improvement of economics, like
IT company developing e-procurement application
cooperatives, whose system currently are very
as the basic product system to fulfill the needs of
traditional. Cooperatives need to adopt a system
automation in internal procurement processes
that is used by Fintech companies, or else, the
discovered that the system was built on monolithic
cooperatives may be less favored by costumers of
architecture where the application is enveloped in a
the financial industry if they view Fintech
large package and had high dependency among
companies as a more attractive alternative to use
modules. The modules were defined as the entire
financial products and services.
process of integration, where if changes occurred to
Cooperative is derived from the Latin word certain module to adapt with business processes,
coopere which is translated literally as cooperation this will affect the other module functions. An
or cooperative in English. Cooperation means alternative for another system architecture style
striving together to achieve mutual goals. In should be put into consideration to have a more
accordance with the 1945 Constitution of the adaptive e-procurement application system and to
Republic of Indonesia Number 25 Article 1 Section be able to overcome issues generated from usage of
(1), cooperatives are business entities that aims to the old architectural style. This past research
bring prosperity to its members by cooperating with suggested the design of transformational process
each other through active participation in the using microservices architecture with DDD
services provided by the cooperatives [26]. approach. The results indicated that microservices
architecture is capable of being more adaptive
One of the most common types of
towards change where the modules are designed to
cooperatives easily found across the world, is
be standalone modules.
savings and loan cooperatives, or often called CU

7072
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

Research entitled “Implementation of adaptability to changes. Using the example of these


Microservices Architecture to Comrades past works, the design of microservices architecture
Application Backend” by reference [30] was using DDD approach for PT XYZ loan application
conducted with Comrades, a smart application that system is expected to yield satisfactory results.
acts as an information and educational medium However, these past researches have limited
about HIV/AIDS disease, as the research object. amount of information about the technological
Comrades help every HIV/AIDS sufferer to requirements needed to carry out the design
exchange information and console each other while processes of microservices, such as the software
able to interact with general society. In its stack. This research is done by circumventing the
development, this application partnered with the limitation with borrowing data from PT XYZ’s
community of HIV/AIDS patients within close existing system to learn more about the software
proximity. It was predicted that the users of the stack and which part of them can be complemented
application would increase due to the partnership. or replaced with a better alternative to better suit the
As a preventive measure to handle the surge of newly designed microservices architecture.
application usage, performance upgrade is
From a critical analysis of the literatures,
necessary for Comrades. This research sought to
research questions related with computing
improve the performance and availability of
contribution in the current research can be stated as
Comrades for its users. This could be achieved by
follows:
implementing microservices architecture into the
web application that was previously built on 1. What software requirements are ideal to
monolithic architecture. DDD was used as the support the design of microservices with DDD
approach to split the services. From architectural approach?
perspective, the physical aspect would change after 2. How improving the IT system can contribute
implementation of the currently advanced to improve the competitiveness of a
technologies like Docker, Kubernetes, and API cooperative enterprise toward Fintech
gateway. companies?
Reference [15] implied that Docker can 3. DESIGN METHODOLOGY
help developers to devise a system to develop,
implement, and spread services, especially to 3.1 Reference Framework
achieve the desired level of system performance in This research is motivated by the needs of
e-commerce web services. Docker will contain all converting PT XYZ’s system to a more advanced
information center and dependence of the system system architecture using microservices from the
used within a single package. This can simplify the currently used monolithic architecture.
process of implementation and distribution of the Microservices are chosen because it is tougher,
system. In designing system using microservices more measurable, can be implemented
architecture, the entire system is broken down into independently, and quicker in improvement than
several smaller services. Afterwards, some factors monolithic architecture. The steps that the research
of service separation should be paid attention to, is going to take begin with collecting data and
such as service dependency and service analyzing the existing architecture system.
communication. Microservices should be developed Adoption of DDD approach is going to be done to
with care unless the difficulties of system design microservices, followed by analysis of the
development will only increase. existing application functionalities to understand its
workflow before designing microservices.
Lessons learned from the conclusion of
each relevant past research suggested that the 3.2 Research Flow
advantages of using microservices architecture in The research flow to realize the design of
developing a system are flexibility and maintenance microservices architecture using DDD approach is
of the system. System performance can also be depicted in Figure 2 below.
maximized with the freedom to build the system
using different programming languages and
databases. Changes and improvement in one service
won’t affect the other services in work, as long as
the service does not depend on each other. This is
very important as business processes can continue
to improve, so long as the system has good

7073
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

1. Analyzing business domains in PT XYZ to


better understand the workflow of application
functionalities. This analysis will yield
informal domain descriptions which later will
be perfected to be a pack of formal domain
model.
2. Defining bounded contexts, where the
contexts contain domain model representing
related subdomains through a larger
application.
3. Applying tactical DDD patterns to define
entities, aggregates, and bounded contexts of
domain services from the loan application
system.
4. Using the results from previous steps to begin
Figure 2: Research Flow
designing microservices for PT XYZ.
3.2.1 Data collection and observation 3.2.4 Microservices design
Data is collected by interviewing the PIC Mapping of loan application concept
(Person in Charge) of the system management in needed by PT XYZ into features that will be
PT XYZ and by observing the existing system. developed into a new loan system is executed with
These PICs are the CTO and a representative from designing microservices with the previously done
the backend developer team. The purpose of DDD approach. Reimagining the system design
interviewing the parties responsible for the system with different architectural style, if done correctly
is to get a comprehensive details about the currently will reduce the difficulty of development.
running loan application system including the Definition of bounded contexts, entities,
system architecture to discover which areas of the aggregates, and services design strategy using DDD
system can be improved by migrating the entire approach will make this effort into less laborious
system into microservices architecture with every for the developers. The design processes are ended
aspects related with loan application as the top with writing conclusion of the research and giving
priority of concern. From the interview, the flaws suggestions for improvement possibilities.
of the current system is learnt. Another piece of 3.3 Research Object
valuable information showed that the loan PT XYZ, the cooperative enterprise
application system consists of 5 different modules, established since December 2019 in Indonesia is
namely Customer Services, Loan Application, Loan the research object in this study. The company
Calculation, Loan Information, and Register offers products like savings, collateral-based loan,
modules. and payroll loan. The current monolithic
3.2.2 Function analysis architecture used by PT XYZ has four layers, they
Function analysis identifies the business are: presentation layer, logic layer, data layer, and
processes in PT XYZ, including documenting the database as illustrated in Figure 3.
features in the existing system. Each feature has its
function and actor or user that can access certain
feature. This analysis is focused on the existing
components in the current system model, such as
user manual, user journey from the loan application
system. The function analysis results serve as the
reference and guidance to design system
specifications for the microservices architecture.
3.2.3 System design using DDD approach
DDD is intended to optimize the
microservices design for PT XYZ and is expected
to portray what the technology and system
configuration should be like for the migration to
take place. DDD processes identify and classify
domain model with these following approaches:

7074
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

e-commerce tycoon Alibaba such as Alibaba Cloud


which includes ECS (Elastic Computer Service),
OSS (Object Storage Service), and ApsaraDB
(Apsara Database). ECS is a virtual server with
stable performance and better efficiency than
physical server which can cost more due to heavy
requirement to buy capable hardware. Unstructured
data or objects like images in large numbers can be
stored in OSS while for grouping of data and
information to make it easier in identification of
data is handled with ApsaraDB. The concise
illustration of the existing infrastructure is as shown
in Figure 4.

Figure 3: Monolithic Architecture at PT XYZ


4. RESULTS AND DISCUSSION
Figure 4: Existing Infrastructure at PT XYZ
4.1 Collection of Secondary Data
The main source of data for this research is 4.2.2 Information workflow
retrieved from the internal documents of PT XYZ, Information workflow is divided into
such as BRD (Business Requirement Document), several parts according to the purpose of each
FSD (Functional Specification Document), and information. Information workflow in PT XYZ
TSD (Technical Specification Document) for includes Registration Workflow, Loan Application
written information and interview with the CTO Workflow, and Loan Calculation Workflow.
and backend developer representative to have
clearer ideas of the actual business processes of the Registration Workflow depicts the process
loan application system. Relevant literatures also of every individual that attempts to register for the
play prominent role in shaping framework of cooperative membership in PT XYZ. This is the
thinking for the system design planned in this basic procedure to be eligible for using the services
paper. The entirety of the information obtained of the company, like savings and loan to abide by
from the secondary data sources are discussed the mandatory requirement of a cooperative where
further in subsections in this chapter. only members are allowed to use the services of the
enterprise. The process begins by filling the
4.2 Current System Function Analysis registration form. One of the components required
Analysis on system functions reflect the in the registration form is the applicant’s e-mail
state of system that the research object currently (electronic mail). System will give different
uses to deliver loan services to the cooperative’s response to the submission of the e-mail, depending
members. on whether the e-mail has been registered
previously or not. If the e-mail has been registered
4.2.1 Existing infrastructure
before, the applicant is requested to submit another
The existing infrastructure is monolithic in
unused e-mail address. Once new e-mail address is
nature with a relatively simple workflow. The
submitted, the system will check for its validity. If
application in use is web-based that can only be
it is not used yet, the system will deem it valid and
accessed through the cooperative official website
send OTP (One Time Password) to the inbox of the
link given to users and visitors alike. Parties
registered e-mail address. Applicant must open the
attempting access to the application will be directed
e-mail containing OTP information from the
to Cloudflare interface. Cloudflare’s main function
applicant’s inbox and enter the correct combination
is to act as the security layer applied by PT XYZ to
to the provided column in the application interface.
protect the main system from the threat of DDoS
There is a possibility that the OTP combination will
(Distributed Denial-of-Service). The overall
enter the spam folder instead of the intended inbox
infrastructure used by the cooperative is using
folder as a safety precaution measure applied by the
third-party services. Aside from using Cloudflare,
e-mail service provider to prevent malicious e-mail
the enterprise also uses service from a well-known

7075
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

to enter the inbox folder of the e-mail address’ assessment to determine if the applicant is
owner. Inputting the correct OTP combination will creditworthy or not will be conducted. The
complete the registration processes, making the assessment consists of credit collectability rating in
applicant a formal member of the cooperative. PEFINDO credit bureau, an Indonesian credit
However, if the OTP combination is wrong, the bureau in charge of credit rating information
applicant should request for another OTP and nationwide, and appraisal of the offered collateral
recheck their e-mail folders and reinput the new by internal appraisal officer from PT XYZ. If both
OTP to complete the registration processes. assessment are passed, the application will be
approved. If one or both of the assessment are not
passed, application will be rejected. The applicant
is obliged to handover the asset that is offered as a
collateral for the loan after request for loan has
been granted. The collateral will be bound by law
via credit pact with a notary as the authorized
personnel to legalize the credit pact. Pact must be
signed by the applicant and a representative from
PT XYZ. Signed pact is required for credit
disbursement. After receiving loan, the applicant is
officially a borrower to the cooperative.

Figure 5: Registration Workflow at PT XYZ


Loan Application Workflow depicts the
process of applying for loan or credit involving two
parties, namely the cooperative member as the
applicant, and PT XYZ as the issuing party. Loan
application starts with the applying member filling
the application form and submit personal identity
documents like photocopies of ID Card and Tax ID.
Assigned staff will check the validity of the
documents by using e-KYC (electronic Know-
Your-Customer). If one of the submitted documents
do not comply with the terms, like unclear or poor
visibility of the information contained in the
documents and/or the information in the documents
do not match the records in e-KYC, then the
applicant is required to submit clearer documents.
If the applicant cannot comply or refuse to comply,
the application will be rejected immediately by the
staff. When the documents submitted met the Figure 6: Loan Application Workflow at PT XYZ
requirements of the cooperative, a survey and an
interview will be scheduled for the applicant to Loan Calculation Workflow is a simple
learn the reason for their application, to recognize workflow where the visitor to the web application
their personal background, and to know what of PT XYZ can access a calculator feature built on
collateral the applicant will offer to PT XYZ should it to estimate the costs to spend for paying loans
the loan application receives approval from the issued to the applying member should the loan
committee. Following the survey and interview, the request be granted. The process is very linear where

7076
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

it begin with the visitor accessing the application with a unique password to retrieve the respective
and clicking on the calculator feature without borrower’s loan information through the
having to login, as loan account is given only to application. These information are exclusive and
borrower. Visitor that is not a borrower doesn’t private to every holder of each respective account.
need to have a borrower account to access the Thus, only the owner of the account is authorized to
calculator feature. Then, on the loan calculation access it or PT XYZ’s staff with access
interface, the visitor must input the desired loan authorization. The flow is quite simple. Borrower
amount from the range between IDR 5 million to only needs to access application website, input the
IDR 1 billion and choose credit tenor with the range given account name and password, then the system
between 1 month to 12 months. The next step will direct to a number of information like
requires the visitor to click on Calculation button. borrower’s name, borrower’s unique identifier
The system will respond by displaying estimation number, loan amount, tenor, next payment amount,
of the costs with the composition such as provision payment due date, phone number of the PIC from
fee, amount of loan disbursed, and monthly interest PT XYZ assigned to the borrower’s account, and
based on tenor chosen. Calculation result cannot be another information related with the identity of the
displayed if the information is not properly given borrower. To exit from the information window, the
by the visitor. borrower as the user only needs to logout from the
account.

Figure 8: Loan Information Workflow at PT XYZ


Customer Services Workflow explains
how the website application visitors can discover
solutions to problems or issues the visitors faced or
may encounter in the scope of the cooperative’s
services independently, especially those related
with loan processes. Upon visiting the website, a
Figure 7: Loan Calculation Workflow at PT XYZ menu dedicated to answering questions from the
visitors can be located on the website. The menu,
4.2.3 User workflow when clicked, will direct the visitors to compilation
User workflow enables users to engage in of FAQs (Frequently Asked Questions). The FAQs
activities that may vary depending on users’ access are accompanied by relevant answers to help
rights. PT XYZ divided user workflow into two visitors in solving problems. If the FAQs cannot
parts, they are Information Workflow and Customer solve the problems or if the visitors are unable to
Services Workflow. find the expected answers, then the visitors can
Loan Information Workflow portrays the send request to be assisted by a customer service
process of retrieving borrowers’ personal using live chat feature.
information kept in the database. Every borrowing
member will be given access to a personal account

7077
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

Services, Loan Services, dan User Services.


Common Services have services assisting the
process of an individual attempting to join the
cooperative membership of PT XYZ. Loan Services
are a group of massive service helping in
processing loan applications from the members
from the initial step of applying through the
approval process by credit committee. The self-
service tool to count the estimation of credit costs
are also a part of the Loan Services. User Services
include services facilitating the members of the
cooperative in obtaining information to dissolve or
solve loan related problems, like the assistance
from appointed staff to answer inquiries that is not
contained in the list of FAQs. The complete list of
endpoints functionalities can be seen in Table 5 in
the appendices section.
4.3 Designing System with DDD Approach
Figure 9: Customer Services Workflow at PT XYZ One of the foundation of a proper software
development is to instill awareness about domain.
4.2.4 Endpoints identification This is the basis of the approach of DDD in
Endpoints in the existing infrastructure is designing microservices architecture as the
identified to make mapping of the problems easier replacement of the monolithic architecture PT XYZ
in the process of converting from monolithic uses in this study. This cooperative enterprise in its
architecture to microservices architecture. role as the deliverer of loan or credit to the
Identified endpoints are later grouped based on the members ought to consider the stakeholders
domains the endpoints interact with and categorized interests in loan-related activities, be it the
based on its functions. Endpoints came in the form cooperative members, or staffs in charge of
of API bridging applications with each other in delivering the loan products to the members, or
interacting with the backend system. API regulatory firms as the watchful eye toward the
versioning is also added to anticipate the need of loan delivery processes.
migrating application to new API while
maintaining REST API currently in use. Table 3 in The current system architecture is entirely
appendices section contains the full list of monolithic in handling every aspect of the
endpoints being part of the existing API. The list cooperative services, including loan services. The
can help in tracking the trails of the domains consequences of using this traditional system is the
interacting with the endpoints. heavily tied large number of codes required in
4.2.4.1 Endpoints ownership running the system functions properly. Services
Endpoints ownership correlates with delivery and features addition are slowed down as
parties involved in the business processes of PT the result. Microservices with DDD approach are
XYZ, particularly as users of respective endpoints. expected to reduce dependency among the loan
Ownership identification of endpoints are necessary services.
to tackle future problems or when APIs are Domains are crucial in deliverance of
changed. Owners that can create, maintain, and services in real life practice. Domains work by
modify the endpoints according to each owner informing the requirements and acceptance criteria
authorization in PT XYZ are grouped into of the to be developed system. Thus, domains can
Administrator & User, Credit Committee, dan display high-level of segregation to various
Customer Care, as listed in Table 4 in appendices business areas. Software developers using DDD
section. approach work in a team that must abide by the
4.2.4.2 Endpoints functionalities compliance to general patterns in software
In entirety, the loan services for the development to have every program capable in
cooperative members are divided into 3 major working together in building software. Precise
groups representing each respective function. The focus division is needed by putting contexts
existence of the services are complimenting with boundaries in designing the microservices for PT
each other. The services comprised of Common XYZ.

7078
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

Domain model captures the concept and


process of certain business domain that strongly
require understanding of the related business
domain. The best way to comply with the need is to
do event storming to better understand processes
carried out within a domain. Process begins from an
event context happening inside the domain which is
viewed as a fundamental element within a model.
4.4 Designing Microservices
The perks of using microservices
architecture highlighted in this design plan is the
capability of reducing dependency among services,
as explored before in this paper to achieve the
desired system outcomes. System design will use 3
service candidates derived from the existing
endpoints categories, such as Common Services,
Loan Services, and User Services. Services in the
microservices architecture design for PT XYZ will
be contained separately as independently functional Figure 11: Domain Analysis in PT XYZ
applications. In the architectural model, API
Every domain and subdomain have these
gateway will play a vital role as the entry point of
roles assigned to help the execution of these tasks:
clients to connect clients with the requested
1. Loan Application is centered in the diagram as
services. System management will connect the
it is the business core, to provide loan for the
services with nodes, identify failure should it occur,
cooperative’s members. Loan Application
and balance the services across nodes. Figure 10
consists of every process related to loan
illustrates the difference between the existing
applications submitted by members to the loan
monolithic architecture in PT XYZ and the design
department of PT XYZ. Subdomains
plan for microservices architecture.
correlated with this domain are PT XYZ
Member and Document Submission.
2. PT XYZ Member is acting as users’
management to connect cooperative members
as the candidate to apply loan with various
services, such as: Register, Customer Services,
Loan Calculator, and Loan Information.
3. Register helps an individual to register to
become member of the cooperative, in order to
be eligible for using the products and services
in the cooperative.
4. Customer Services acts as a self-service
feature to connect web application visitors
with FAQs about anything related with the
cooperative, including the loan product
Figure 10: Monolithic Versus Microservices in PT XYZ information. Chatbot subdomain is included
4.4.1 Domain analysis into Customer Services domain to deliver the
The interaction of domain with each other, FAQs and answers to the visitors. Live Chat
including subdomains based on the 5 modules of subdomain connects visitors with the staff
PT XYZ are as illustrated below in Figure 11. responsible for answering questions excluded
from the FAQs.
5. Loan Calculator helps visitors in estimating
the costs of loan services. Detailed discussion
of Loan Calculator can be found at the
information workflow subsection previously
discussed.

7079
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

6. Loan Information is exclusive to the


borrowers as it has private information related
with borrowers and will differ for every
borrower.
7. Document Submission focuses on handling
documents submitted by applicants of loan.
Identity Document and Collateral Information
are the extension of Document Submission,
where Identity Document handles applicants’
personal identity information and Collateral
Information handles information of the
collateral that the applicants offered to
PT XYZ as the loan issuing party.
8. Loan Application Review is a domain in
charge of the review processes of submitted
loan applications. There are 4 components of
review, which also included Identity
Document and Collateral Information and two
other components from other subdomains
namely, Credit Risk Rating Checking and
Internal Appraisal with the former is in charge
of obtaining credit collectability history of
related applicant and the later in charge of the
valuation of offered collateral. Loan
Application Review domain is also correlated
with Review Result Submission to Credit
Committee domain that is tasked with
collective review to determine the approval
status of loan applications—to reject it, or to
approve it, based on information from the
aforementioned 4 components. Figure 12: Bounded Contexts in Domain Model
4.4.2 Defining bounded contexts of PT XYZ
Bounded contexts can be regarded as a
contextual semantic border in a domain where 4.4.3 Defining entities
every component of software has its own meaning Following the completion of business
and unique set of tasks. Bounded contexts is a domain mapping and bounded contexts setting,
central pattern and the deciding factor of assigning entities modeling is necessary to govern domain
domain roles in DDD approach. Bounded contexts information. Entities modeling in DDD approach
are used by software developers to know when to basically involves data and behavior and
cease from pouring more concepts into the domain application of additional DDD patterns (aggregates,
model in design process. Bounded contexts set in value objects, etc.) that can support long term
this research are classified into Information success of the plan for designing microservices in
Context, Loan Application Context, and Loan this study.
Review Context. The merging of these domain Entities function by representing domain
contexts are executed by using context mapping objects, defined by identities, continuity, and
integration with RESTful HTTP (Representational persistence from time to time, and is not limited to
State Transfer Hypertext Transfer Protocol). The the attributes consisting of the entities itself.
illustration for bounded contexts set for the DDD Entities’ identity can span across microservices or
approach can be seen in Figure 12. bounded contexts. Although entities need identity,
there are objects in the system that doesn’t need
identity, like value objects. The following are
model design for entities that are going to be used
in domain design in this research, each
accompanied by respective explanations.

7080
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

User Entity is a part of the domain storing information needed by Loan Entity. Both entities
and managing access data and information of users are correlated with each other to realize the Loan
involved in accessing the loan system, such as Application domain processes, especially in Loan
cooperative members, reviewers, committees, and Application Review and Loan Application
admin staffs and customer service staffs. Approval involving Reviewer and Committee
teams. In reviewing and decision-making of loan
approval, Loan Entity will record ReviewerResult
information containing specific details of
examination, application status change, rejection of
application, or forwarding to the Committee team
for final approval process. CommitteeResult
Figure 13: User Entity records the final decision of approving or rejecting
the loan application, if the final decision is to
Member Entity is a part of the domain approve the application, it will also have details of
storing and manage data of processes in member the loan amount, payment terms, covenant to fulfill,
registration, where the record of the data in the and another piece of information related with loan
form of e-mail, name, national ID number, Tax ID, disbursement. All the approval results will also
and other forms of personal information lie inside. later be recorded as Loan Result Scheme. In every
Member Entity is connected to User Entity as the loan application information, system will also
User Entity is aggregated to OTP verification code record every changes in the process of application
information required in the process of membership in ApplicationStatus.
registration verification.

Figure 14: Member Entity Figure 16: Loan Entity

Borrower Entity is a part of the Loan Loan Result Scheme Entity is a part of the
Application domain. This entity is aggregated to Loan Information domain but also has relationship
Member Entity as an enforcement of a with Loan Application domain. This entity plays
cooperative’s basic rule where only a member is the role of keeping and managing the approval
allowed to apply for loan services. Information information and the loan specification exclusively
recorded in this entity are IdentityData and associated with the respective applicant. This entity
GuarantorData. IdentityData stores record of is aggregated to Borrower Entity that keeps
borrower’s personal information, similar to the essential information like borrower’s personal data.
member’s personal information stored in Member For easier information storing, Loan Result Scheme
Entity, whereas GuarantorData stores information Entity is further divided into smaller information
related with collateral ownership, like collateralized groups, such as: LoanAmount, LoanTenor,
asset certificate of ownership. Installment, Collateral, and LoanPaymentStatus.
LoanAmount has the accepted amount of loan
disbursement. The amount of loan could be equal or
less than the amount requested, but not greater.
LoanTenor is the credit term ranging from 1 month
to 12 months, depending on the approving decision
of the committee. Installment is monthly
expenditure that the borrower must pay as
Figure 15: Borrower Entity
obligatory act of using the loan in accordance with
Like Borrower Entity, Loan Entity is also a LoanTenor. Collateral has the collateralized asset
part of the Loan Application domain, which is information, consisting of the collateral type, name
responsible for storing and managing loan of the owner stated in the collateral legal document,
application data. Loan Entity is aggregated to and another information related with the collateral.
Borrower Entity that stores the important LoanPaymentStatus is useful in monitoring the

7081
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

payment status of the borrower to ensure that when entirely maintain its invariance in the context of
payment is due, the installment and other credit Loan Application as a domain in the system.
costs are paid accordingly to prevent the 4.4.5 Defining services as the core component
collectability rating of the borrower to fall into the of microservices design
category of NPL (Non-Performing Loan). Services to create the microservices design
needs to be formed in regard to the DDD approach.
The components for materialization of services into
the microservices architecture for PT XYZ loan
application system are discussed in the
subsubsections below.
4.4.5.1 Designing single services
Single services are designed to be able to
Figure 17: Loan Result Scheme Entity operate independently yet capable of
communicating with each other with a light
FAQ Entity is the central source of
connection mechanism, like HTTP. The services
information that acts as the knowledge base of
are designed to suit every business line capabilities
services and general information surrounding
for it to be able to run independently with automatic
PT XYZ. FAQ Entity is broken down into smaller
deployment by deployment server. Each service has
groups, they are Question and Answer. Question is
center management, enabling different
a compilation of the question mostly asked by
programming languages and database to be used for
visitors while Answer provides the answers to the
each service. The single services consist of a web
questions. Another small component called Topic is
server, focused service binary for certain domains,
applied to categorize each question and answer.
and Redis cache system.
4.4.5.2 Database for every service
Database are designed for every service
with respect to consistency of aggregate forms with
bounded contexts. Creating database this way will
reduce coupling of the services.
4.4.5.3 Container strategy
Figure 18: FAQ Entity
Planning for microservices architecture
design on loan application system comes with
4.4.4 Defining aggregates consideration for containing the service
Aggregates definition is done to model applications. This containing is executed to
transactional invariance. Business process in real distribute services in infrastructure level prioritizing
life has a complex relationship network, where convenient practice and service capabilities to
applications are often not properly distributed. A operate simultaneously yet independent. The
business transaction can span across several data researcher uses Docker for services containment in
storage, runs longer than expected, or require this design, which uses vary, i.e.:
third-party services to run. The execution in the end 1. Provide binary images that prepare
depends on the application to enforce invariance installation, configuration, and testing for
needed by domain, not the data layer. Aggregate every software needed to form the services for
modeling can help in bounding contexts around one the designed microservices architecture. Data
or more entities to ensure consistency, tracking distribution is made convenient with the
invariance, and enforce them. For instance, the inclusion of every necessary data needed for
defined aggregates depicted in Figure 19 in the the process.
appendices section has Loan Application running 2. Interactively create images for software
aggregate function to Borrower, particularly in developers to learn the software installation
determining borrower and guarantor information. process transparently. This ability ease the
These information are needed to be located and documentation process of system design with
maintained for consistency in business transaction. expected precision.
However, from aggregate’s perspective, Borrower 3. Usage of Docker can reduce the significance
aggregate is not responsible to Loan Application of fixing and improvement of the system with
aggregate to convince that BorrowerID is unique. It versioning, changes in system dependency,
is up to Loan Application aggregate itself to security level, addition of features, or deletion

7082
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

of outdated software that may potentially system to be able to run without disruption. By
harm the system. combining two communication protocols across
4. Docker tackles constraints in adoption and services, namely sync communication protocol and
reuse of existing system with its reproductive async communication protocol to suit various
capabilities for more convenient adaptation services requirements, the need for simultaneous
process to the existing system workflow by interaction can be carried out with less hassle.
management using script.
Sync communication protocol works when
Container has logic containing mechanism a request is sent, and system waits for response
where applications can be separated by decoupling from service receiving the request. The limitation
that will enable easier use with maintained of this protocol lies on the inability of clients
consistency. Different containers can exchange continuing tasks before server respond to the
information with each other with this mechanism. request. In contrast with sync communication
4.4.5.4 API gateway strategy protocol, async communication protocol doesn’t
API gateway connects clients and services rely on server’s response to continue doing tasks.
with its capabilities of running tasks across sectors The recommended sync communication protocol
with aggregation, SSL (Secure Sockets Layer) and async communication protocol for the
checking, and load balancing. In this design plan, microservices architecture design are HTTP and
the researcher recommends KrakenD, an API Kafka respectively.
gateway services with benefits including: 4.4.5.6 Proxy and firewall strategy
1. Information aggregation from various Firewall and proxy act as the first line of
information sources to the central endpoints. defense for system security to protect the system
2. Manipulating responses along with grouping from external threats like hackers attempting to
and wrapping. disable the system. Both protect the system from
3. Filtering and shrinking of response to enable harm yet located at different parts of the system.
abstraction. Firewall is located at network later whilst proxy is
4. Limiting unnecessary connection with rate placed at application layer. Firewall halts all
limiting function. unauthorized access to the system while proxy acts
5. Enabling circuit breaker and/or another system as an intermediary between the clients and the
security measures. network. Cloudflare, a software useful in mitigating
6. Providing various password protocol encoding DDoS attacks is capable of doing both tasks of
formats. securing the system. Cloudflare can mitigate the
7. Compatible with various middleware and risk of private information theft in the loan
plugins. application system like the cooperative members’
8. Configuration of DSL (Digital Subscriber data and borrowers’ data.
Line). 4.4.5.7 Resilience strategy
9. Support for usage of scripting language across Resilience in the context of IT system
sites. means capability of a system to recover partially or
10. Limiting host-based connection. fully from the aftereffect of system failure. Circuit
11. User quota management. breaker can be used in microservices architecture as
12. Support to SSL. a preventive mean to circumvent system failure.
13. Support to OAuth CCG (Open Authorization System defense can be upgraded if the circuit
Client Credential Grant). behavior is suited for partial or full network
14. Protection against clickjack. interaction with the services. Circuit breaker
isolates services with problems so cascading won’t
KrakenD offers benefits that normal API
spread to other services to ensure stability of the
gateway may not be capable of as it uses backend
clients and the overall services. The researcher
for frontend approach, enabling a more efficient
suggests for a custom build circuit breaker for the
process of adopting existing APIs into newer
microservices design to give convenience in
system’s API, making it suitable for designing
customization whenever needed.
microservices.
4.4.5.8 Monitoring strategy
4.4.5.5 Communication strategy
Services monitoring are going to be done
Services relying on microservices-based
with logging as a supporting tool in analyzing
system runs simultaneously across more than one
issues in the system and to better understand the
server or host. This simultaneous interaction
needs of borrowers as the service users to improve
becomes a necessity to maintain the complex
loan products and services performance.

7083
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

Graylog is a log management software 5. Using standard protocol that supports OpenID
suggested by the researcher to monitor the services Connect, OAuth 2.0, and SAML (Security
in PT XYZ microservices architecture design. It is Assertion Markup Language).
capable of reducing complexity and time required
In entirety, Keycloak is helpful to manage
to explore large amounts of data so clients of the
user authorization to suit the needs of developer
system can interpret data to make decision faster.
team or as desired.
4.4.5.9 Testing strategy
4.4.5.11 CI/CD (Continuous integration/
The tiniest unit of separated business logic
continuous development) strategy
is the basis of constructing microservices. To
As explained before, containing using
ensure the business logic can interact with each
Docker can be a solution to lessen the gap between
other through network, testing on this unit is
applications and system infrastructure. However, if
important. Testing is conducted by validating each
applications grow in number in the microservices
business logic or service separately.
architecture, the management and deployment of
Katalon Studio is a software suggested for services will be harder as services containment
testing of service applications qualities and won’t suffice. And so, usage of container on
functions. The software is capable of testing web- services can be merged with CI/CD approach for
based applications and APIs without requiring automatic deployment processes of the service
mastery of a specific programming language. This whenever update is needed to the applications.
removes one hurdle for testers in doing automated
testing. Both expert testers or beginners can utilize
Katalon Studio easily because of its simple yet
informative UI (User Interface). Testing can also be
done across different web browsers, which means
testing on several browsers can be done at the same
time to save time and effort from the testers.
4.4.5.10 IAM (Identify and access management)
strategy
IAM (Identify and Access Management)
can be utilized to manage access and user identities
surrounding system, application, and network so
each user can have access rights accordingly, or to
identify if the user is the authorized person, in
regard to access time and access purpose.
Keycloak can be used to support IAM
processes with its varying features, they are:
1. Users don’t have to authenticate the
applications one by one. The authentication
process can be replaced by Single-Sign On,
making one attempt is enough to login to all
applications. The same principle also applies
for logout, where Single-Sign Out enables
logging out from all applications with only
one attempt.
2. Login is made convenient with options to
login from social network.
3. Keycloak can be opted to connect to LDAP
(Lightweight Directory Access Protocol) or to
active directory.
4. Admin console makes it possible to activate or
deactivate application features, managing
application authorization and services, and
managing users.

7084
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

Figure 20: CI/CD Workflow in 15 Test Framework Katalon Studio


Microservices Design for PT XYZ 16 CI/CD Gitlab
17 Versioning Control Gitlab
CI/CD is a combination of CI (Continuous
Integration) and CD (Continuous Deployment). CI
is common in software development. It works by Modernization of loan services in a
storing application codes in the repository to be cooperative is semi-automatic. PT XYZ is no
tested automatically and quickly with high testing exception as the cooperative enterprise needs a
frequency. A completed CI process will be dynamic system architecture design that can move
continued to CD process immediately. CD works across sectors. Microservices as the evolution of
by using script that will take the codes from the traditional SOA, can answer that need. Use of
codes center in the repository to prepare for microservices is suitable for loan application
construction and installation of applications into the system of PT XYZ whose services are divided into
services environment. CD doesn’t manual domains and subdomains.
interference nor confirmation. Microservices architecture benefits that PT
CI/CD approach for the design in this XYZ can experience if this cooperative decides to
research will use GitLab, a multifunctional version convert from monolithic architecture into
control software to operates several software microservices architecture are as follows:
simultaneously. GitLab helps different developers 1. Distribution of software composition capable
to collaborate in system management and reduce of communicating to the entire network.
difficulty in program updating processes System failure related to loan business line
automatically without rendering the system to working across domains can be minimized or
experience downtime whenever update is needed. mitigated quickly.
For every update to be performed, the system must 2. Services dependency with each other can be
be able to continue working so that delivery of loan minimized by building a dedicated database
services to the cooperative members will be timely. for each service category.
Figure 20 shows the workflow of CI/CD that is 3. Services in loan business line can be contained
applied to microservices design for PT XYZ. and excluded from each other. Every service
can be programmed using a different
4.5 Findings and Discussion programming language.
A series of discussions surrounding the 4. Microservices design for PT XYZ is capable
services development aspect in microservices of producing a more effective API result and
design for PT XYZ correlates with recommended existing APIs can be reused in the future. All
software to shape the design into a solid of these processes can run in a system
architecture design. Software stack in this respect, environment with high flexibility.
is a unity of system pillar to support the system. 5. System users can choose which
Table 6 is listing down the software components communication protocol to use between sync
proposed for the design plan of microservices using or async protocols, depending on the needs.
DDD approach in this research paper. 6. Conversion into microservice architecture
doesn’t lower protection against threat of
Table 6: Software Stack for Microservices system attack by external parties.
Architecture Design of PT XYZ 7. If system failure occurs in one of the services,
No. Category Candidate Name the system can disable that service to prevent
1 Programming Language Golang the error from affecting other services.
2 Database Postgre Database
3 Cache Redis
8. Can effectively accommodate the effort to
4 Web Server Google Cloud monitor the services available because of the
Platform system capability of managing large amount
5 API Gateway KrakenD of data in a short time. Decision-making
6 Logging Graylog regarding issues surrounding the loan
7 WEB UI Next JS
8 Container Docker
application system can be made faster.
9 Firewall Cloudflare 9. Testing on the system is easy and fast and can
10 Proxy Cloudflare be performed by developers lacking the ability
11 Sync Communication HTTP of running difficult programming languages.
12 Async Communication Kafka 10. Better control to user access, especially in
13 Access Management Keycloak
14 Circuit Breaker Custom Build
assigning authorization for each system user.

7085
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

11. Continuous integration and services proposed design is going to be discussed in FGD
deployment are possible to do because every (Focus Group Discussion) where system
developers or system administrators can work practitioners in PT XYZ are taking part in the
together for maintenance or deployment of the discussion, including CTO and the IT team
services. comprises of UI/UX, system developer, frontend
developer, web developer, QA, and system analyst.
In comparison with the previous researches
The purpose of conducting FGD is conducted to
highlighted during the analysis of literatures to
reach consensus on which part of the proposed
construct the theoretical framework for this
design can be implemented in the future.
research, the microservices architecture design has
addressed the software requirements in a more 5. CONCLUSION
specific way compared to the referred past
researches. Moreover, these past researches only 5.1 Research Conclusions
mentioned the necessity of setting bounded contexts The design of microservices using DDD
among domains and its subdomains but lacking any approach yielded a detailed analysis that answers
concrete suggestions of what software are needed to these formulated research questions:
spawn a more realistic microservices architecture 1. How using microservices architecture to
design. Peering into the business orientation of a design the loan application system for
cooperative enterprise, the company emphasizes on PT XYZ can reduce the difficulty of the
delivering financial services to customers, which is system design processes?
similar to Fintech companies. Fintech companies, Reduction of dependency among service
particularly the Fintech 3.0 companies outshine groups in microservices architecture gives
cooperatives when it comes to utilization of convenience toward IT system design
information technologies in business. The processes at PT XYZ. Each service can be
revolutionary form of financial service providers contained without having to be dependent on
have been using technology to deliver services for each other.
customers since the day of the Fintech 3.0’s 2. How the DDD (Domain Driven Design)
inception. A cooperative enterprise can improve approach can help in designing microservices
significantly by merely enhancing the IT system of for the loan application system of PT XYZ
the cooperation. By adapting the use of a more cooperative enterprise?
computerized operating mechanisms that are SOA is implemented by focusing business into
properly regulated, the companies are more likely to services, where the main service in this case is
catch the attention of potential customers and loan service provided by PT XYZ for its
existing customers who favor the use of IT-based members. Microservices have pivotal role in
financial services. Converting to microservices will breaking apart the loan services into smaller
bring greater flexibility in modifying the system subcomponents. These subcomponents are
should the need arise in the future. With so little to visualized in 5 different modules, which is
no problems to face, the cooperative enterprises can also classified similarly in the current
dedicate more focus into delivering services to monolithic architecture, namely: Customer
customers. The use of IT itself is not just to increase Services, Loan Application, Loan Calculation,
competitiveness among financial service providers Loan Information, and Register modules. The
but is a complete necessity. Keeping up with the complexity of design using microservices are
technological trends in the financial industry can apparent due to it using large amounts of code,
also prevent the Fintech companies to dominate the creating a potential for security breach. To
entire industry. circumvent it, DDD (Domain Driven Design)
is used to define bounded contexts to reduce
Microservices design for PT XYZ doesn’t
the code base in every domain and subdomain
offer solutions without making room for possible
in the scope of designed system. The reduction
issues, mainly from security perspective. Even
of code base will reduce the chance of hacker
though with the mitigation measures to defend from
attacks.
cyber-attacks. That is why DDD approach with
proper setting of bounded contexts on domains and In addition, the realization of
subdomains are proposed to lessen the risk by microservices depends on the final decision of the
shrinking the code base of services. Large code authorized personnel in PT XYZ. The design
base can create a security hole where system is components take care of the monotony in the
more likely to be vulnerable to attacks. The current monolithic system design but may create

7086
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

the problem of complexity. Some components which area needs to be improved furthermore, in
require the handling by experts, while other order for the microservices to be able to run
components might be friendlier to inexperienced smoother with less issues. These recommendations
programmers. Dissection of the domains and are not limited to PT XYZ as the research object of
subdomains can be time consuming as it is this case study, but also for other researchers
necessary to execute the task carefully. Reducing interested in similar field of study to inspire future
code base with careful setting of bounded contexts researches to be conducted, with the hope that an
among domains and subdomains is essential to even better suggestions can be created to perfect the
prevent future errors to occur. Microservices, like already designed IT system architecture. These are
monolithic architecture also possess its own flaws those recommendations:
that should not be taken lightly. Despite these 1. Freedom to use various programming
difficulties, the potential benefits of implementing languages between services creates service
microservices can overshadow the design integration issue. Usage of technological
difficulties, among these benefits is the guaranteed enablers that support the development of
capability in handling large number of system microservices without relying on a specific
users, which in the end can boost PT XYZ’s programming language is advised to prevent
business performance in delivering loan for integration trouble.
members of the cooperation. 2. System practitioners in an organization or firm
must have knowledge of domain modeling in
Thus, by enhancing the performance of the
an IT system because it is indirectly useful in
loan application system in scaling up business with
reducing codes used to prevent hacking risk
the ability to establish low dependency among
from unauthorized parties.
applications, the research is exclusively aimed to
3. DDD implementation plan can unnecessarily
solve the system architectural problem in
waste effort and time. DDD is actually more
cooperative enterprises like PT XYZ.
effective to be used on a system with complex
5.2 Research Limitations domain structure. An approach of system
Determining the correct approach in development that is compatible with both
designing microservices can proved to be a simple and complex systems are strongly
challenge. Since there are a lot of mention about needed.
DDD in various literatures, the approach is believed 4. Microservices existence depend on automation
to be the most reliable in designing microservices process too much. Cloud technology used to
architecture. However, whether it truly is the most store data needs to be put into consideration
reliable approach in designing microservices is still carefully so in the case of force majeure, the
a matter of question. There is other approach called services can continue to work fine as is.
Clean Architecture proposed by a software
REFERENCES:
practitioner named Robert C. Martin or more well-
known by the nickname Uncle Bob [31]. The
author claimed that it is a method suitable for [1] Otoritas Jasa Keuangan, “Perkembangan
designing microservices, but the narratives are built Fintech Lending Desember 2020,” Otoritas
in a book instead of a research paper, making it not Jasa Keuang., pp. 1–11, 2020, [Online].
suitable to be cited for this research. Not to mention Available:
it is also viewed as being impractical and not https://www.ojk.go.id/id/kanal/iknb/data-dan-
suitable for rapid application development or statistik/fintech/Documents/Statistik Fintech
product prototyping [32]. It can be concluded that Lending Desember 2020.pdf.
the limitation of this research lies in the difficulty in [2] Badan Pusat Statistik, “Ekonomi Indonesia
discovering the possibility of other approaches 2020 Turun sebesar 2,07 Persen (c-to-c),”
better than DDD in designing microservices 2021.
architecture. https://www.bps.go.id/pressrelease/2021/02/0
5/1811/ekonomi-indonesia-202 (accessed Jul.
5.3 Future Research Recommendations
15, 2022).
Microservices might be the solution to
reduce dependence among services. However, [3] Sudarsono and Edilius, Koperasi dalam Teori
usage of microservices are more complicated & Praktik, 5th ed. Rineka Cipta, 2010.
compared to traditional system architecture, which [4] D. J. Teece, “Business models and dynamic
needs intensive care and special countermeasure to capabilities,” Long Range Plann., vol. 51, no.
tackle potential issues. The researcher recommends 1, pp. 40–49, Feb. 2017, doi:

7087
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

10.1016/J.LRP.2017.06.007. [14] UppLabs and T. Smirnova, “From legacy


[5] F. Dahri, A. M. El Hanafi, D. Handoko, and monolith app to microservices infrastructure.
N. Wulan, “Implementation of Microservices Case study,” 2020.
Architecture in Learning Management System https://upplabs.medium.com/from-legacy-
E-Course Using Web Service Method,” Sink. monolith-app-to-microservices-infrastructure-
J. dan Penelit. Tek. Inform., vol. 7, no. 1, pp. case-study-90b57821b7ea (accessed Sep. 05,
76–82, Jan. 2022, doi: 2022).
10.33395/SINKRON.V7I1.11229. [15] J. A. Suthendra and M. A. I. Pakereng,
[6] G. Munawar and A. Hodijah, “Analisis Model “Implementation of Microservices
Arsitektur Microservice Pada Sistem Architecture on E-Commerce Web Service,”
Informasi DPLK,” Sink. J. dan Penelit. Tek. ComTech, vol. 11, no. December, pp. 89–95,
Inform., vol. 3, no. 1, pp. 232–239, 2018, 2020, doi: 10.21512/comtech.v11i2.6453.
[Online]. Available: [16] S. Santoso, N. Azizah, and A. Astari,
https://jurnal.polgan.ac.id/index.php/sinkron/a “Aplikasi Sistem Informasi Pengajuan Kredit
rticle/view/197/125. Berbasis Web Pada PD. BPR Kerta Raharja
[7] Y. Sun, S. Nanda, and T. Jaeger, “Security-as- Cabang Balaraja,” Konf. Nas. Sist. Inf. 2018,
a-service for microservices-based cloud pp. 849–855, 2018, [Online]. Available:
applications,” IEEE 7th, pp. 50–57, 2015, doi: http://digilib.mercubuana.ac.id/manager/t!@fi
10.1109/CloudCom.2015.93. le_artikel_abstrak/Isi_Artikel_822617291516.
[8] C. Richardson and F. Smith, “Microservices: pdf.
From Design to Deployment,” NGINX, Inc., [17] C. Dremel, M. M. Herterich, J. Wulf, J.-C.
p. 80, 2016, [Online]. Available: Waizmann, and W. Brenner, “How AUDI AG
https://www.nginx.com/resources/library/desi Established Big Data Analytics in Its Digital
gning-deploying-microservices/. Transformation,” MIS Q. Exec., vol. 16, no. 2,
[9] M. Villamizar et al., “Evaluating the pp. 81–100, 2017, [Online]. Available:
Monolithic and the Microservice Architecture https://www.researchgate.net/publication/317
Pattern to Deploy Web Applications in the 232875_How_AUDI_AG_Established_Big_
Cloud,” 2015 10th Colomb. Comput. Conf. Data_Analytics_in_its_Digital_Transformatio
10CCC 2015, pp. 583–590, Nov. 2015, doi: n.
10.1109/COLUMBIANCC.2015.7333476. [18] M. Fischer, F. Imgrund, C. Janiesch, and A.
[10] K. Ayuwuragil, “Kemenkop UKM: 3,79 Juta Winkelmann, “Directions for future research
UMKM Sudah Go Online,” CNN Indonesia, on the integration of SOA, BPM, and BRM,”
2017. Bus. Process Manag. J., vol. 25, no. 7, pp.
https://www.cnnindonesia.com/ekonomi/2017 1491–1519, 2019, doi: 10.1108/BPMJ-05-
1115161037-78-255819/kemenkop-ukm-379- 2018-0130.
juta-umkm-sudah-go-online (accessed Jul. 15, [19] H. F. E. Yamany, M. A. M. Capretz, and D. S.
2022). Allison, “Quality of Security Service for Web
[11] A. Barczak and M. Barczak, “Performance Services within SOA,” Serv. 2009 - 5th 2009
comparison of monolith and microservices World Congr. Serv., no. PART 1, pp. 653–
based applications,” 2021, [Online]. 660, 2009, doi: 10.1109/SERVICES-
Available: I.2009.95.
https://www.iiis.org/CDs2021/CD2021Summ [20] I. L. Salvadori, A. Huf, B. C. N. Oliveira, R.
er/papers/SA354XK.pdf. dos S. Mello, and F. Siqueira, “Improving
[12] K. Anjaria and A. Mishra, “Quantitative entity linking with ontology alignment for
analysis of information leakage in service semantic microservices composition,” Int. J.
oriented architecture based web services,” Web Inf. Syst., vol. 13, no. 3, pp. 302–323,
Kybernetes, vol. 46, no. 3, pp. 479–500, 2017, 2017, doi: 10.1108/IJWIS-04-2017-0029.
doi: 10.1108/K-07-2016-0178. [21] Microsoft, “Microservices architecture
[13] Sasana Digital, “Scale Up Bisnis: Pengertian, design,” 2019. https://docs.microsoft.com/en-
Fungsi, Strategi, dan 7 Cirinya,” 2022. us/azure/architecture/microservices/ (accessed
https://sasanadigital.com/pengertian-dan- Jul. 17, 2022).
strategi-scale-up-bisnis/#:~:text=Scale Up [22] F. Rademacher, J. Sorgalla, and S. Sachweh,
Bisnis adalah suatu,proses%2C teknologi%2C “Challenges of Domain-Driven Microservice
hingga mitra. (accessed Sep. 05, 2022). Design,” IEEE Softw., pp. 36–43, 2018, doi:

7088
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

10.1109/MS.2018.2141028.
[23] A. V. Thakor, “Fintech and banking: What do
we know?,” J. Financ. Intermediation, vol.
41, 2019, doi: 10.1016/j.jfi.2019.100833.
[24] M. A. Chen, Q. Wu, and B. Yang, “How
Valuable Is FinTech Innovation?,” Rev.
Financ. Stud., vol. 32, no. 5, pp. 2062–2106,
2019, doi: 10.1093/rfs/hhy130.
[25] Consumers International, “Banking on the
future: An exploration of fintech and the
consumer interest,” Financ. Dev., vol. 56, no.
1, pp. 24–25, 2017, [Online]. Available:
https://www.consumersinternational.org/medi
a/154710/banking-on-the-future-full-
report.pdf.
[26] T. S. Partomo, L. Krisnawati, and R.
Soejoedono, Ekonomi skala kecil/menengah
dan koperasi. Ghalia Indonesia, 2002.
[27] World Council of Credit Unions, “World
Council of Credit Unions Official Website,”
2021. https://www.woccu.org/ (accessed Jul.
18, 2022).
[28] P. Merson and J. Yoder, “Modeling
Microservices with DDD,” Proc. - 2020 IEEE
Int. Conf. Softw. Archit. Companion, ICSA-C
2020, pp. 7–8, 2020, doi: 10.1109/ICSA-
C50368.2020.00010.
[29] A. N. Fajar, E. Novianti, and Firmansyah,
“Design and Implementation of Microservices
System Based on Domain-Driven Design,”
Int. J. Emerg. Trends Eng. Res., vol. 8, no. 7,
pp. 3058–3062, 2020, doi:
10.30534/ijeter/2020/30872020.
[30] C. S. Budi and A. M. Bachtiar, “Implementasi
Arsitektur Microservices pada Backend
Comrades,” p. 6, 2019, [Online]. Available:
https://elib.unikom.ac.id/files/disk1/801/jbptu
nikompp-gdl-cahyantose-40046-8-20.10114-
a.pdf.
[31] R. C. Martin, “Clean Architecture: A
Craftsman’s Guide to Software Structure and
Design,” Prentice Hall. p. 432, 2017,
[Online]. Available:
https://www.amazon.com/Clean-Architecture-
Craftsmans-Software-
Structure/dp/0134494164%0Ahttps://www.sa
faribooksonline.com/library/view/clean-
architecture-a/9780134494272/.
[32] D. Lezhnev, “When clean architecture is not
worth it,” 2017.
https://lessthan12ms.com/when-clean-
architecture-is-not-worth-it.html (accessed
Sep. 09, 2022).

7089
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

Table 3: Endpoints List in Existing Infrastructure of PT XYZ


No Function Name URL
1 Register Membership {domain}/api/v1/user/register
2 Verify Member Registration Form {domain}/api/v1/user/register/?email={email}
3 Get OTP {domain}/api/v1/user/getOTP
4 Verify OTP {domain}/api/v1/user/verifyOTP/?otp={otp_code}
5 Create Membership ID Number {domain}/api/v1/user/create
6 Apply Loan {domain}/api/v1/loan_application/
7 Check Applicant’s Personal Identity {domain}/api/v1/loan_application/checkBiodata/?npwp={npwp}&?k
Information tp={ktp}
8 Check Applicant’s Identity Documents {domain}/api/v1/loan_application/checkId/?data={data}
9 Check Collateral Information {domain}/api/v1/loan_application/checkCollateral/?data={data}
10 Check Guarantor Information {domain}/api/v1/loan_application/checkGuarantor/?data={data}
11 Created Unique Identifier for Loan {domain}/api/v1/loan_application/create
Application
12 Input Collateral Appraisal Information {domain}/api/v1/loan_application/editCollateral/?data={data}
13 Input Loan Collectability Information {domain}/api/v1/loan_application/editPaymentCollectibility/?data={
data}
14 Forward Loan Application to Committee {domain}/api/v1/loan_application/submitForApproval
15 Change Loan Application Data {domain}/api/v1/loan_application/edit/?applicant={applicant_id}
16 Change Loan Application Status {domain}/api/v1/loan_application/editStatus/?applicant={applicant_i
d}
17 Publish Loan Application Result {domain}/api/v1/loan_application/notify/?applicant={applicant_id}
18 Display Loan Application Approval Result {domain}/api/v1/loan_application/detail/?applicant={applicant_id}
19 Calculate Loan {domain}/api/v1/loan_calculator/
20 Check Loan Calculation Form {domain}/api/v1/loan_calculator/calculate/?tenor={tenor}&amount=
{amount}
21 Display Loan Calculation Result {domain}/api/v1/loan_calculator/result
22 Login {domain}/api/v1/login
23 Verify Login Form {domain}/api/v1/loan_information/verifyLogin/?id={memberId}&pa
ss={password}
24 Display Borrower’s Information Category {domain}/api/v1/loan_information/dashboard
25 Display Loan Amount Information {domain}/api/v1/loan_information/loanAmount
26 Display Tenor Information {domain}/api/v1/loan_information/tenor
27 Display Installment Information {domain}/api/v1/loan_information/installment
28 Display Collateral Information {domain}/api/v1/loan_information/collateral
29 Display Chatbot {domain}/api/v1/customer_service/chatbot
30 Display FAQ {domain}/api/v1/customer_service/chatbot/faq
31 Redirect to Live Chat {domain}/api/v1/customer_service/livechat

Table 4: Endpoints Ownership in Existing Infrastructure of PT XYZ


No Function Name Endpoints Ownership
1 Register Membership Administrator & User
2 Verify Member Registration Form Administrator & User
3 Get OTP Administrator & User
4 Verify OTP Administrator & User
5 Create Membership ID Number Administrator & User
6 Apply Loan Credit Committee
7 Check Applicant’s Personal Identity Credit Committee
Information
8 Check Applicant’s Identity Documents Credit Committee
9 Check Collateral Information Credit Committee
10 Check Guarantor Information Credit Committee
11 Created Unique Identifier for Loan Credit Committee
Application
12 Input Collateral Appraisal Information Credit Committee
13 Input Loan Collectability Information Credit Committee
14 Forward Loan Application to Committee Credit Committee
15 Change Loan Application Data Credit Committee
16 Change Loan Application Status Credit Committee
17 Publish Loan Application Result Credit Committee
18 Display Loan Application Approval Result Credit Committee

7090
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

19 Calculate Loan Administrator & User


20 Check Loan Calculation Form Administrator & User
21 Display Loan Calculation Result Administrator & User
22 Login Administrator & User
23 Verify Login Form Administrator & User
24 Display Borrower’s Information Category Administrator & User
25 Display Loan Amount Information Administrator & User
26 Display Tenor Information Administrator & User
27 Display Installment Information Administrator & User
28 Display Collateral Information Administrator & User
29 Display Chatbot Customer Care
30 Display FAQ Customer Care
31 Redirect to Live Chat Customer Care

Table 5: Endpoints Functionalities in Existing Infrastructure of PT XYZ


No Function Name Endpoints Ownership
1 Register Membership Common Services
2 Verify Member Registration Form Common Services
3 Get OTP Common Services
4 Verify OTP Common Services
5 Create Membership ID Number Common Services
6 Apply Loan Loan Services
Check Applicant’s Personal Identity
7 Loan Services
Information
8 Check Applicant’s Identity Documents Loan Services
9 Check Collateral Information Loan Services
10 Check Guarantor Information Loan Services
Created Unique Identifier for Loan
11 Loan Services
Application
12 Input Collateral Appraisal Information Loan Services
13 Input Loan Collectability Information Loan Services
14 Forward Loan Application to Committee Loan Services
15 Change Loan Application Data Loan Services
16 Change Loan Application Status Loan Services
17 Publish Loan Application Result Loan Services
Display Loan Application Approval
18 Loan Services
Result
19 Calculate Loan Loan Services
20 Check Loan Calculation Form Loan Services
21 Display Loan Calculation Result Loan Services
22 Login Loan Services
23 Verify Login Form Loan Services
Display Borrower’s Information
24 Loan Services
Category
25 Display Loan Amount Information Loan Services
26 Display Tenor Information Loan Services
27 Display Installment Information Loan Services
28 Display Collateral Information Loan Services
29 Display Chatbot User Services
30 Display FAQ User Services
31 Redirect to Live Chat User Services

7091
Journal of Theoretical and Applied Information Technology
15th December 2022. Vol.100. No 23
© 2022 Little Lion Scientific

ISSN: 1992-8645 www.jatit.org E-ISSN: 1817-3195

Figure 19: Domain Aggregate

7092

You might also like