Ejemplo 2
Ejemplo 2
Ejemplo 2
DEPARTAMENTO
Tecnología Digital
CARRERA
Diseño y Desarrollo de Software
ELABORADO POR:
Tantahuilca Torres, Josimar Javier
ASESOR
Castañeda Alban, Jorge Eduardo
LIMA – PERÚ
2023
2
ÍNDICE DE CONTENIDOS
RESUMEN .............................................................................................................................................................. 4
I. PLANTEAMIENTO Y DEFINICIÓN DEL PROBLEMA ................................................................................... 6
1.1 Formulación del Problema .................................................................................................................. 6
1.1.1 Análisis del Sector ...................................................................................................................... 6
1.1.2 Análisis de la Empresa ............................................................................................................... 7
1.1.3 Planteamiento del Problema ...................................................................................................... 7
1.1.4 Análisis de Causas ..................................................................................................................... 8
1.1.5 Diagnóstico ................................................................................................................................. 9
1.1.6 Árbol de Objetivos ...................................................................................................................... 9
1.2 Justificación del Proyecto ................................................................................................................ 10
II. OBJETIVOS ................................................................................................................................................. 11
2.1 Objetivo General ................................................................................................................................ 11
2.2 Objetivos Específicos ....................................................................................................................... 11
III. FUNDAMENTO TEÓRICO ...................................................................................................................... 12
3.1 Requisitos de la Solución ................................................................................................................. 12
3.2 Posibles Soluciones .......................................................................................................................... 13
3.3 Determinación de la Solución Óptima ............................................................................................. 15
3.4 Marco Teórico y Estado del Arte de la Solución ............................................................................. 15
3.4.1 Marco Teórico ........................................................................................................................... 15
3.4.2 Estado del Arte.......................................................................................................................... 17
3.4.3 Bases Teóricas.......................................................................................................................... 18
IV. DESARROLLO DE LA SOLUCIÓN ......................................................................................................... 21
4.1 Diagrama de Gantt ............................................................................................................................. 21
4.2 Diagrama de Base de Datos ............................................................................................................. 22
4.3 Maquetados de la Aplicación ........................................................................................................... 23
4.4 Requerimientos Funcionales ............................................................................................................ 26
4.5 Requerimientos no Funcionales ...................................................................................................... 26
V. EVALUACIÓN DE RESULTADOS ............................................................................................................... 27
5.1 Resultados de las Pruebas ............................................................................................................... 27
5.1.1 Pruebas de Funcionalidad ....................................................................................................... 27
5.1.2 Pruebas de Rendimiento .......................................................................................................... 27
5.1.3 Pruebas de Usabilidad ............................................................................................................. 27
5.1.4 Pruebas de Seguridad .............................................................................................................. 27
5.2 Beneficios Obtenidos ........................................................................................................................ 27
CONCLUSIONES ................................................................................................................................................. 29
RECOMENDACIONES ......................................................................................................................................... 30
REFERENCIAS BIBLIOGRÁFICAS ...................................................................................................................... 31
3
RESUMEN
Este informe técnico detalla el desarrollo de un microservicio de listado de widgets para una
Este informe ofrece una exploración en los aspectos técnicos del desarrollo del microservicio
en el proceso. También examina los beneficios tangibles de este microservicio, arrojando luz
sobre los avances en la experiencia del usuario y sus posibles implicaciones para el desarrollo
ABSTRACT
This technical report details the development of a widget listing microservice for a mobile
application, emphasizing its construction, implementation, and the achieved results. The
project aimed to enrich the mobile app's functionality by providing users with seamless access
deployment. Beginning with meticulous planning and architecture design, the microservice
was strategically crafted to integrate seamlessly into the mobile app's existing framework.
Considerations included system architecture, API design, data storage, security protocols,
efficiency, responsiveness, and scalability. It was carried out using C# as the core
programming language, leveraging the power of gRPC (google Remote Procedure Call) and
The outcome of this endeavor was a highly optimized and responsive widget listing
microservice. Enhancing functionality within the mobile app, with quick and intuitive access to
a variety of widgets.
This report offers an exploration of the technical aspects of the widget listing microservice
development, outlining the methodologies, tools, and technologies employed in the process.
It also examines the tangible benefits of this microservice, shedding light on the
advancements in user experience and their potential implications for future app development
(2022):
Los contratistas que utilizan software para techados tienen una ventaja
futuros clientes.
7
significativo.
del techado en los Estados Unidos, cuyo nombre es reservado por políticas de
negocio.
usuarios.
una brecha en brindar a los usuarios acceso rápido e intuitivo a una amplia
gama de widgets, una característica que podría mejorar aún más la eficiencia
en la ejecución de tareas.
Problema General:
Problemas Específicos:
8
crezca con la creciente demanda, sino que también siga siendo modular,
a. Acceso limitado: La aplicación no ofrecía una plataforma intuitiva para que los
nuevas funcionalidades.
1.1.5 Diagnóstico
widgets.
Figura 1
Árbol de objetivos
usuarios pueden acceder y utilizar fácilmente una variedad de ellos, lo que hace que
compromiso con la innovación y se posiciona como un líder del mercado que escucha
d. Eficiencia operativa: Para los contratistas de techado, el tiempo suele ser esencial.
Esta incorporación garantiza que dediquen menos tiempo a buscar y más tiempo a
utilizar las herramientas que necesitan, lo que en última instancia conduce a una mejor
II. OBJETIVOS
crezca con la creciente demanda, sino que también siga siendo modular, facilitando
competente una lista de widgets disponibles, que satisfagan las diversas preferencias
Igualmente, cruciales son los puntos de integración. Para lograr una sinergia perfecta
buscar hasta actualizar los detalles del widget. Para mantenerse actualizado y
ajustar los detalles de los widgets existentes o incluso ocultar ciertos widgets de los
listados.
con la seguridad, la confiabilidad juega un papel vital. Con el objetivo de lograr una
de inactividad.
Tabla 1
Alternativas de la solución
Alternativas Descripción
A Integración monolítica
B Microservicio alojado en la nube
C Microservicio en contenedores
Fuente: Elaboración propia.
Tabla 2
Ponderación y peso
Ponderación Peso
Excelente 4 puntos
Bueno 3 puntos
Regular 2 puntos
Malo 1 punto
Fuente: Elaboración propia.
14
Tabla 3
Matriz de evaluación
Alternativa Costo (20%) Tiempo (20%) Calidad (30%) Seguridad (30%) Puntaje Total
Analizando los resultados de la Tabla 3. Teniendo en cuenta los requisitos y los objetivos del plan de modernización, la opción C surge
como la solución óptima, proveer el microservicio en contenedores que utiliza Docker y Kubernetes. Se alinea con las prácticas actuales
de la empresa y ofrece los beneficios técnicos deseados. La alternativa B es una propuesta igual de llamativa, usando microservicios
alojados en la nube empleando Amazon Web Services – AWS – Lambda o Azure Functions, pero tienen la desventaja de no estar en
uso en la empresa, esto conlleva a un mayor tiempo de desarrollo. Por último, la alternativa A es la opción menos deseada por ser
obsoleta y no se alinea con el plan de modernización de la empresa a utilizar microservicios como base.
15
contendores. Esta alternativa se diferencia de las otras por las siguientes razones:
el desarrollo.
una plataforma en la nube, todo sin ningún cambio. Esta portabilidad reduce los
Antecedentes
sistemas.
Object Access Protocol– evolucionó, se volvió más complejo y lento. Esto llevó
–REST– entre 2008 y 2010 como un sustituto más sencillo. Al utilizar HTTP –
Hypertext Transfer Protocol– para las funciones CRUD –Create Read Update
modulares (Thönes, 2015). Otra figura importante que decidió migrar fue
Azure functions: Es una solución sin servidor que le permite escribir menos
(AWS, s.f.).
(Microsoft, 2014).
información entre dos partes como un objeto JSON. Los JWT se utilizan
Envía registros a topics específicos, haciendo que los datos estén disponibles
(Kreya, s.f.).
Figura 2
Diagrama de Gantt
Figura 3
Diagrama Entidad-Relación
Figura 4 Figura 5
Opción de configuración Opción de configuración bloqueada
24
Figura 6 Figura 7
Listado de widgets Listado de widgets después de actualización
25
Figura 8 Figura 9
Mensaje de error al ingresar a la configuración Mensaje de error al tratar de editar
26
Tabla 4
Requerimientos Funcionales
# RQF Descripción
RQF-001 Diseñar tablas involucradas en el listado de widgets
RQF-002 Listado de widgets globales
RQF-003 Actualizar widgets globales
RQF-004 Agregar widgets globales
RQF-005 Listado de widgets por compañía
RQF-006 Actualizar widgets por compañía
Versión 1.0
Autores Josimar Javier Tantahuilca Torres
Tabla 5
Requerimientos no Funcionales
# RQNF Descripción
RQNF-001 Tiempo de respuesta
RQNF-002 Rendimiento
RQNF-003 Tolerancia a fallos
RQNF-004 Identificación
RQNF-005 Auditoría de tablas
RQNF-006 Documentación del servicio
Versión 1.0
Autores Josimar Javier Tantahuilca Torres
27
V. EVALUACIÓN DE RESULTADOS
moderada de peticiones.
correctamente.
Los resultados de las pruebas confirman que el microservicio de widgets cumple con los
CONCLUSIONES
de widgets dentro del marco de la aplicación móvil logró el cometido esperado dando forma
a este para que sea más robusta y eficiente, en consonancia con el plan de modernización
El microservicio fue diseñado para integrarse en la arquitectura del sistema existente. Esto
resultó fundamental. Estas prácticas aseguraron el cumplimiento del proyecto con estándares
RECOMENDACIONES
los requisitos empresariales y las necesidades de los usuarios. Esto garantiza que el
elegidas.
pruebas automatizadas deben ser parte del proceso de CI/CD para detectar
gestión de microservicios.
REFERENCIAS BIBLIOGRÁFICAS
Association for Project Management. (2021). What is a Gantt chart? Association for Project
Management. https://www.apm.org.uk/resources/find-a-resource/gantt-chart/
Auer, F., Lenarduzzi, V., Felderer, M., & Taibi, D. (2021). From monolithic systems to
Microservices: An assessment framework.Elsvier
Bashari Rad, B., Bhatti, H. J., & Ahmadi, M. (2017). An Introduction to Docker and Analysis
of its Performance, 17(3), 228-235. IJCSNS International Journal of Computer
Science and Network Security
Bin Ali, M. (31 de agosto de 2023). The History of Microservices: From Thought Experiment
to Industry Standard [Publicación]. LinkedIn. https://www.linkedin.com/pulse/history-
microservices-from-thought-experiment-industry-muaath-bin-ali
Dataforma. (02 de febrero de 2022). 7 Ways Roofing Software Is Changing the Game.
https://www.dataforma.com/blog/7-ways-roofing-software-is-changing-the-game/
Dragoni, N., Giallorenzo, S., Lluch-Lafuente, A., Mazzara, M., Montesi, F., Mustafin, R., &
Safina, L. (2016). Microservices: yesterday, today, and tomorrow. Researchgate
Lenovo. (s.f.). Modularity: What is It and How Does it Enhance Business Productivity?
https://www.lenovo.com/us/en/glossary/modularity/?orgRef=https%253A%252F%252
Fwww.google.com%252F
Market Research Intellect. (2023). Global Roofing Software Market Size & Forecast.
https://www.marketresearchintellect.com/product/global-roofing-software-market-
size-forecast/?utm_source=Pulse&utm_medium=019
Microsoft. (19 de mayo de 2023). Design for scaling - Microsoft Azure Well-Architected
Framework. https://learn.microsoft.com/en-us/azure/well-
architected/scalability/design-scale
Nunes, J. P. K. S., Bianchi, T., Iwazaki, A. Y., & Nakagawa, E. Y. (2021). State of the Art on
Microservices Autoscaling: An Overview. Anais do XLVIII Seminário Integrado de
Software e Hardware
Rensin, D. K. (2015). Kubernetes: Scheduling the Future at Cloud Scale. O’Reilly Media