Microservices Architecture for a Movie Review Application

Verified

Added on  2022/08/12

|11
|1572
|22
Project
AI Summary
This project details the design of a movie review application, focusing on a microservices architecture. The application allows users to rate movies, create collections, add reviews, and search for movies based on various criteria like genre, director, and actors. The design incorporates architectural principles like consistency and service monitoring. The project includes several architectural diagrams, such as sequence diagrams for user login, use case diagrams for system functionalities (creating movie entries, deleting movies, adding reviews), entity-relationship diagrams for database structure, and activity diagrams illustrating user actions within the application. The application is envisioned as a progressive web app to ensure reliability. The project also discusses the integration of a search bar to access data from external websites. The document also provides a comprehensive bibliography for further reading.
Document Page
MOVIE REVIEW APPLICATION Movie Scenario
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Contents
Introduction....................................................................................................................................2
Microservices..................................................................................................................................2
Architecture Principles.................................................................................................................2
Justification and explanation........................................................................................................3
Architectural designs and their justification...............................................................................3
Sequence diagram........................................................................................................................4
Use Case Diagram........................................................................................................................5
Entity Relationship Diagram........................................................................................................7
Activity Diagram..........................................................................................................................8
Conclusion......................................................................................................................................9
References.....................................................................................................................................10
1 | P a g e
Document Page
Introduction
When designing software solutions, different styles are used in presenting the solution in the best
way possible. In this case, an application that can be used for movie reviews is to be designed. It
is done in terms of how people have rated the movie out of ten after watching it.
The application will also provide reviews to movies that have not yet been watched by the user
making it easy for them to decide on what to watch during their free time. For the designs to be
made the following things will be put into consideration, they make the designer come up with a
detailed architectural design.
Microservices
Microservice is an emerging technique used for developing software that is said to be
standalone1. This means that services are grouped as modules and are linked to one another via
the REST APIs.
Microservices can be categorized as follows before looking at the whole application:
a) Module functionality and flexibility – this is concerned with the rate in which
information is passed from one part of the system to another.
b) API mechanism – which enables the client and server-side to be merged in such a way
that information is not lost while being passed through the system.
c) Data Traffic – this applies where the system has distributed servers which will make it
necessary for information to be transferred from one part to another.
d) Offloading data – this makes the application to have special operating systems that will
ensure information gotten from other sources is stored as required on the hard drive. This
is done to prevent malfunctioning of the system.
e) Instance Monitoring – this will ensure that the system does not crash due to the number
of files being handled.
Architecture Principles
The figure below shows the architecture used in modeling microservices, which shows both the
client browser and mobile app.
1 Nicola, Dragoni, GiallorenzoS ,averio, Alberto Lluch Lafuente, Manuel Mazzara, Fabrizio Montesi,
Ruslan Mustafin, and Larisa Safina. "Microservices: yesterday, today, and tomorrow." In Present and
ulterior software engineering, pp. 195-216. Springer, Cham, 2017.
2 | P a g e
Document Page
Figure :architecture principles2
The design used is the solution architecture which shows how various parts have been used in the
process.
Justification and explanation
Principle is shown Description of the principle
Consistency Maintains consistency during transaction
handling
Elastic search Helpfully while searching data in a large data
set. And it also autoscale making it perform
faster while searching.
Service monitoring This enables easy identification of errors that
may arise from the client-side or from the
server.
2 Johannes,Thönes, "Microservices." IEEE software 32, no. 1 (2015): 116-116.
3 | P a g e
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Architectural designs and their justification
Architectural designs are simply models that are used in showing various representations of the
application before it has not been fully implemented3. The designs will always illustrate
functions that will help developers when making the application and also not to forget other
functions during the process. Some of these architectural designs include:
a) Sequence diagram
b) Use case diagram
c) Entity Relationship diagram
d) Activity Diagram
Movie scenario
Sequence diagram
The sequence diagram is used to show a step by step procedure of how any activity is conducted
when an application is being used in performing a certain task. This diagram can be used to
troubleshoot errors faster in case they occur when the application is running. In our case, we are
going to look at what happens when the user wants to log in to the application.
3 Georgios Plataniotis, Kinderen Sybren, Dirk van der Linden, Danny Greefhorst, and Henderik A. Proper.
"An empirical evaluation of design decision concepts in enterprise architecture." In IFIP Working
Conference on The Practice of Enterprise Modeling, pp. 24-38. Springer, Berlin, Heidelberg, 2013.
4 | P a g e
Document Page
The above diagram shows the procedures being taken by users to authenticate themselves when
they want to use the application. It shows the event is being conducted step by step where logs in
to the main page and enters login details. When the details are validated the user can access the
interface otherwise he/she enters the forget password details which are to be verified according
to what is in the database. If the user has forgotten the password then he/she can simply rest it.
Use Case Diagram
The diagram is used in showing how the system works when performing functional requirement
that is imposed by the actors of the system when certain tasks are being conducted4. In our case,
4Rozilawat, Razali, Parnian Najafi, and Mirisaee Seyed Hadi. "Combining Use Case Diagram and
Integrated Definition's IDEFO—A preliminary study." In The 2nd International Conference on Software
5 | P a g e
Document Page
we have the system users who are acting as actors. From which we can get the relationship that
occurs while conducting specific scenarios, and at the same time maintaining all the
functionalities being shown within a boundary.
The Use Case diagram above is used in showing some of the activities being conducted by the
user such:
The user logging in his/her account.
Engineering and Data Mining, pp. 231-236. IEEE, 2010.
6 | P a g e
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
The user creating a new movie entry collection.
The user deleting movies that he/she has seen.
The user giving reviews about movies.
User adding movies to watch list.
Entity Relationship Diagram
The diagram is used in showing the relationship that occurs between objects that result from a
specific entity5. It also shows attributes of these entities and how they relate to other attributes
with similar entities. Through this, it helps in defining the logical structure of the database
The above diagram shows how the main class entity is used in connecting the attributes from
different entities to make the application run efficiently. It also shows the relationship that exists
5 Nergiz Ercil ,Cagiltay, Tokdemir Gul, Kilic Ozkan, Topalli and Damla. "Performing and analyzing non-
formal inspections of entity relationship diagram (ERD)." Journal of Systems and Software 86, no. 8
(2013): 2184-2195.
7 | P a g e
Document Page
in different entities be it association or inheritance. It also shows the functions being carried out
by each attribute.
Activity Diagram
Activity diagrams usually perform a similar function as the data flow diagram since it shows
how tasks are handled from one stage to another6. It shows the flow of events that normally
corresponds to what is found mainly in the Use case diagram, making it easy for people to follow
how activities are conducted throughout the application.
The above diagram shows the overall activities that may be considered by the users while
accessing the application. In this case, the user starts by logging in to the application where
he/she must enter the required credentials for verification. In the case where the credentials do
6 Geambaşu, Venera Cristina. "BPMN vs UML activity diagram for business process
modeling." Accounting and Management Information Systems 11, no. 4 (2012): 637-651.
8 | P a g e
Document Page
not much with what is saved in the database then the user is prompt to login again. The user will
be able to access the application functions once he/she is logged in. From this, the user will be
able to perform various tasks while using the application. When the user is done using the
application he/she finally logs out from the system.
Conclusion
This movie review application will work best when the application is made as a progressive web
app. This enables the user to continue with their sessions in case of network problems, which
will make it more reliable to its users. The above models are used in giving details required while
designing an application that is to be used by the application users. It also makes it easy for non-
programmers to identify steps and procedures that normally occur when the application is being
used.
It assumed that the user will need to know some of the latest movies that have not yet been
released. And to make it easier for them to access this information while searching through the
internet, the search bar will be integrated in such a way that it will be able to access data from
known websites.
The microservices in this document acts as a representation of a simple functional requirements
that are mostly conducted from the user's side. It also makes it easy for errors to be identified
easily before implementing the final project. This helps in reducing the cost of implementing the
application again.
9 | P a g e
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Bibligraphy
Cagiltay, Nergiz Ercil, Gul Tokdemir, Ozkan Kilic, and Damla Topalli. "Performing and
analyzing non-formal inspections of entity relationship diagram (ERD)." Journal of Systems and
Software 86, no. 8 (2013): 2184-2195.
Dragoni, Nicola, Saverio Giallorenzo, Alberto Lluch Lafuente, Manuel Mazzara, Fabrizio
Montesi, Ruslan Mustafin, and Larisa Safina. "Microservices: yesterday, today, and tomorrow."
In Present and ulterior software engineering, pp. 195-216. Springer, Cham, 2017.
Geambaşu, Cristina Venera. "BPMN vs UML activity diagram for business process
modeling." Accounting and Management Information Systems 11, no. 4 (2012): 637-651.
Plataniotis, Georgios, Sybren De Kinderen, Dirk van der Linden, Danny Greefhorst, and
Henderik A. Proper. "An empirical evaluation of design decision concepts in enterprise
architecture." In IFIP Working Conference on The Practice of Enterprise Modeling, pp. 24-38.
Springer, Berlin, Heidelberg, 2013.
Razali, Rozilawati, Parnian Najafi, and Seyed Hadi Mirisaee. "Combining Use Case Diagram
and Integrated Definition's IDEFO—A preliminary study." In The 2nd International Conference
on Software Engineering and Data Mining, pp. 231-236. IEEE, 2010.
Thönes, Johannes. "Microservices." IEEE software 32, no. 1 (2015): 116-116.
10 | P a g e
chevron_up_icon
1 out of 11
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]