Actividad 7 Proyecto Integrador Etapa 2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

Universidad del Valle de México

Tecnologías de construcción de servicios web

Actividad 7: Proyecto
Integrador - Etapa 2

Profesor: Fajardo Rendon, Marcos


Estudiantes:
- Daniel Villalón Rivera
- Gerardo Fabian Nava Cano
- Norberto Ortiz Nava

Foto por Brian Patrick Tagalog en Unsplash


Planteamiento

Una empresa distribuidora de abarrotes quiere mejorar su servicio de preventa de sus productos al mayoreo y
medio mayoreo, poniendo a disposición de todos sus clientes una aplicación móvil para que puedan realizar sus
pedidos a surtir por parte de su servicio de repartición. La aplicación móvil debe contar con las siguientes
características:

• La aplicación debe poder acceder al catálogo actualizado de los productos a la venta. Los productos deben
estar organizados en categorías (p.e. artículos de limpieza, perecederos, lácteos, refrescos, etc.)
• Cuando el cliente puede acceder a la descripción al detalle de los productos para consultar el nombre, marca,
imagen/fotografía, precio, unidades disponibles, presentación (caja, bolsa, bote, etc.)
• El cliente puede agregar los productos que desea que le surtan a un carrito de ventas, indicando la cantidad
deseada de cada producto.
• Una vez agregados los productos deseados al carrito de ventas, puede confirmar su pedido, modificar su
pedido o eliminarlo.
• La empresa desea que la aplicación móvil sea desarrollada para la plataforma Android dado que la gran
mayoría de sus clientes cuentan con teléfonos con este sistema operativo.

I. Propuesta de proyecto de servicio web


1.1 Descripción de la organización

Describe de manera detallada las características de la organización: nombre de la empresa, misión, visión, giro o
sector que atiende, posicionamiento actual en el mercado, productos/servicios que proporciona

• Nombre de la empresa: Abarrotes UVM


• Misión: Ofrecer productos de abarrotes de alta calidad a precios competitivos, asegurando una
experiencia de compra rápida y conveniente para clientes mayoristas y semi-mayoristas a través de
tecnología de vanguardia.
• Visión: Ser el líder en distribución de abarrotes al mayoreo y medio mayoreo en la región, innovando
constantemente en nuestros procesos y servicios para superar las expectativas de nuestros clientes.
• Giro o sector que atiende: Distribución de abarrotes al mayoreo y medio mayoreo.
• Posicionamiento actual en el mercado: Empresa emergente con un enfoque innovador en el uso de
tecnología móvil para mejorar el servicio de distribución, empezando a captar la atención de grandes
clientes en el sector debido a su eficiencia y calidad en el servicio.
• Productos/servicios que proporciona: Venta y distribución de productos de abarrotes categorizados en
artículos de limpieza, perecederos, lácteos, refrescos, etc. Todos los pedidos se realizan a través de una
aplicación móvil intuitiva que permite a los clientes gestionar sus compras de manera eficaz.

1.2 Impacto de los servicios web en una organización

Describe a partir de los documentos revisados la importancia e impacto que tienen los servicios web en las
organizaciones, su evolución y ventajas para la creación de valor, así como las tendencias más significativas de
las tecnologías de construcción de servicios web.

Los servicios web han transformado profundamente la manera en que las organizaciones operan y se comunican
con sus clientes y socios, ofreciendo múltiples ventajas para la creación de valor. Permiten la interoperabilidad
entre sistemas diferentes a través de protocolos estándares como SOAP y REST, lo que facilita la integración y
automatización de procesos empresariales, mejorando la eficiencia y reduciendo costos operativos.

A lo largo del tiempo, los servicios web han evolucionado desde arquitecturas basadas en SOAP, que son más
rígidas y complejas, hacia el uso de REST, que es más flexible y fácil de implementar. Esto ha permitido el
desarrollo rápido de aplicaciones escalables y el aprovechamiento de tecnologías emergentes como la
computación en la nube, el Internet de las Cosas (IoT) y la inteligencia artificial.

Las tendencias actuales destacan la adopción de microservicios, que permiten descomponer aplicaciones en
componentes pequeños e independientes que pueden ser desarrollados, desplegados y escalados de manera
individual. Esto conduce a sistemas más resilientes y adaptativos, capaces de responder rápidamente a las
necesidades del mercado y a las expectativas de los usuarios.

1.3 Problemática detectada

Identifica una problemática o situación que sea viable de implementarse a partir de alguna solución de
desarrollo de servicio web en la organización, puedes organizarla a partir del planteamiento de un análisis FODA.

Para abordar el desarrollo de soluciones de servicio web en la organización "Abarrotes UVM" y mejorar su
plataforma de pedidos en línea, realizaré un análisis FODA centrado en el área de pedidos web y luego
identificaré una problemática específica que se pueda abordar mediante el desarrollo de servicios web.

Análisis FODA para "Abarrotes UVM" en el contexto de pedidos web:

• Fortalezas:
o Fuerte conocimiento del mercado de abarrotes al mayoreo y medio mayoreo.
o Tecnología existente que permite a los clientes realizar pedidos a través de una aplicación móvil.
• Oportunidades:
o Expansión del mercado online y aumento de la demanda de servicios de compra digital debido a
cambios en los hábitos de consumo.
o Posibilidad de integrar nuevas tecnologías como IA para personalizar ofertas y mejorar la
experiencia del cliente.
• Debilidades:
o Falta de funcionalidades avanzadas en la aplicación móvil, como recomendaciones
personalizadas o análisis de compra.
o Dependencia de procesos manuales en algunas áreas del sistema de pedidos, lo que reduce la
eficiencia.
• Amenazas:
o Competencia creciente de otras plataformas de e-commerce que ofrecen servicios similares con
mejor tecnología.
o Vulnerabilidades en la seguridad de la información que pueden afectar la confianza del cliente.

Problemática identificada
Desarrollo de una plataforma web de pedidos mejorada: Abarrotes UVM enfrenta el desafío de no poder
escalar eficientemente su capacidad de gestionar pedidos en línea debido a la falta de funcionalidades
automatizadas y personalizadas en su actual plataforma móvil.

La implementación de una solución de servicio web que integre tecnologías avanzadas como algoritmos de
recomendación, análisis de comportamiento del consumidor, y una interfaz de usuario más intuitiva y
adaptable, puede resolver estos problemas. Esta plataforma no solo mejorará la eficiencia de los procesos de
pedido y distribución, sino que también ofrecerá una experiencia de compra más atractiva y personalizada,
ayudando a Abarrotes UVM a diferenciarse de la competencia y captar una mayor cuota de mercado.

1.4 Descripción de la metodología de desarrollo del servicio web

Describe de manera general los pasos necesarios en los que proyectes el desarrollo del servicio web, incluyendo
los recursos humanos, materiales y tecnológicos necesarios para tu desarrollo.

Para desarrollar el servicio web mejorado para Abarrotes UVM, es fundamental estructurar un plan que abarque
desde la concepción inicial hasta la implementación y mantenimiento. A continuación, se describen los pasos
generales y los recursos necesarios:
Pasos para el desarrollo del servicio web:

1. Planificación y Análisis de Requisitos:


o Definición de objetivos del proyecto y requisitos funcionales y no funcionales con stakeholders.
o Análisis del mercado y competencia.
2. Diseño de Arquitectura:
o Selección de la arquitectura del sistema (por ejemplo, monolito).
o Diseño de la base de datos y la interfaz de usuario.
3. Selección de Tecnología:
o Decidir sobre las tecnologías de back-end y front-end (por ejemplo, Python, React).
o Selección de herramientas para bases de datos, servidores y otras infraestructuras.
4. Desarrollo y Pruebas:
o Codificación del backend y frontend.
o Realización de pruebas unitarias, de integración y de usuario.
5. Despliegue y Lanzamiento:
o Configuración del entorno de producción.
o Despliegue de la aplicación y monitoreo del lanzamiento.
6. Mantenimiento y Actualizaciones:
o Resolución de problemas técnicos y errores reportados.
o Actualizaciones para mejorar funcionalidades y seguridad.

Recursos necesarios:

• Recursos Humanos:
o Equipo de desarrollo de software (desarrollador(es) front-end y back-end).
o Diseñadores UX/UI.
o Ingenieros de QA para pruebas.
o Gerente de proyecto.
• Recursos Materiales y Tecnológicos:
o Servidores y/o servicios de alojamiento en la nube (AWS).
o Software de desarrollo (IDEs, repositorios de código como GitHub).
o Herramientas de seguimiento de proyectos y errores (Jira, Trello).
o Plataformas de comunicación para el equipo (Slack, Microsoft Teams).
• Capacitación y Soporte:
o Capacitación en nuevas tecnologías para el equipo de desarrollo.
o Soporte técnico continuo para la operación y mantenimiento del servicio.

Este plan asegura una estructura organizada para el desarrollo, implementación y operación del nuevo servicio
web, maximizando la eficiencia y efectividad del proyecto.
1.5 Descripción de arquitectura a emplear

Detalla las características del tipo de arquitectura a utilizar para el desarrollo de la solución web (SOAP, REST o
ambas) y justifica la elección poniendo en relación la problemática planteada.

Para el desarrollo de la solución web de Abarrotes UVM, se optará por utilizar una arquitectura REST con JSON.
Aquí están las características y la justificación para esta elección:

Características de la Arquitectura REST:

• Comunicación Sin Estado: Cada solicitud de cliente a servidor contiene toda la información necesaria
para entender y procesar la solicitud. Esto hace que la interacción entre cliente y servidor sea más
simple y eficiente.

• Sistema de Recursos: Los datos y funcionalidades se conceptualizan como "recursos" accesibles


mediante URLs. Cada recurso se manipula usando los métodos HTTP estándar (GET, POST, PUT, DELETE).

• Formato de Mensaje Interoperable: Utiliza JSON para el intercambio de datos, lo que facilita la
integración con diversas plataformas y lenguajes de programación debido a su amplia adopción y
facilidad de uso.

Justificación de la Elección:

• Eficiencia y Escalabilidad: REST es ligero en comparación con SOAP, ya que no necesita procesar y enviar
un gran volumen de metadatos que SOAP requiere en sus mensajes. Esto es crucial para mejorar la
escalabilidad y el rendimiento de la plataforma de pedidos en línea de Abarrotes UVM, especialmente
bajo cargas de tráfico elevadas.

• Facilidad de Desarrollo y Mantenimiento: Programar en Python con REST es generalmente más sencillo
y directo. Python ofrece una amplia gama de bibliotecas para desarrollar APIs REST, como Flask y Django
REST Framework, que facilitan la implementación y el mantenimiento.

• Compatibilidad y Flexibilidad: REST con JSON asegura una alta compatibilidad con tecnologías web
modernas y permite una fácil expansión de la aplicación móvil y otras interfaces de usuario que puedan
desarrollarse en el futuro.
• Documentación con OpenAPI 3.0: La utilización de la especificación OpenAPI 3.0 para documentar la
API REST asegura que la documentación sea clara, estándar y útil para los desarrolladores internos y
externos, lo que contribuye a una mejor integración y adopción de la plataforma.

Por estas razones, la arquitectura REST con JSON es la más adecuada para abordar las necesidades y desafíos de
Abarrotes UVM, proporcionando una solución robusta, escalable y fácil de integrar.

ETAPA II

II. Diseño de la arquitectura del servicio web


2.1 Diagrama

Elabora un diagrama que incluya los siguientes elementos:

♦ Diseño arquitectónico del servicio web basado en el tipo de servicio seleccionado previamente.
♦ Identificación de los servicios, procesos distribuidos y métodos empleados.

2.2 Justificación del diseño arquitectónico

Con base en el diagrama desarrollado explica la ventajas y desventajas del diseño arquitectónico propuesto
como si lo expusieras a los responsables de la organización, destaca el valor de los servicio, procesos y métodos
empleados y como esto apoya el logro de la misión y visión de la organización.

Con el anterior diagrama exponemos los siguientes puntos claves:

• Servicio web dinámico


• Base de datos
• Recomendaciones de productos a los clientes personalizados
• Actualización de productos
• Actualización del servidor
Los puntos anteriores son lo más importantes en la arquitectura del servicio web, puesto que son variantes que
nos destacaran del resto de competidores directos.

La principal ventaja es el servicio web dinámico, ya que al seleccionar un producto en la APP estaremos
interactuando directamente con el servidor, esto hará que la experiencia del usuario sea gratificante y cumpla
en su mayoría las expectativas.

Otra ventaja es la actualización del servidor por consiguiente de productos (precio, presentación nombre) con
esto primero lograremos llevar un control interno de los precios, si subió o bajo el precio, si tenemos ofertas o si
un producto está en desabasto, y el cliente tendrá datos reales de los productos que vendemos, así como su
precio y presentación.

Por último, una ventaja más es la “automatización” con base a la preferencia de los clientes con el que contara
la APP.

La única desventaja de este proyecto es el costo, ya que a diferencia de un servicio web estático, implementar
un servicio web dinámico conlleva una inversión mayor.

El tiempo de entrega del proyecto no será una desventaja ya que nos comprometemos a entregar la APP con los
requerimientos solicitados en el tiempo pactado.

Bibliografía
1. GitBook (6 de julio de 2021). Creación de una API [Página web]. Recuperado de
https://juanda.gitbooks.io/webapps/content/api/arquitectura-api-rest.html Texto completo
2. Zapata, M. (Productor). (12 abril de 2020). 6 consejos para que diseñes bien tu API REST [Archivo de
video] recuperado de https://www.youtube.com/watch?v=bUmy7Nvsh4s

3. Auribox Training (Productor). (18 de mayo de 2018). Desarrollo de un servicio Web tipo REST en formato
JSON con Python y Flask [Archivo de video]. Recuperado de
https://www.youtube.com/watch?v=yAEaMFFsgSw&list=PLG1t8jaLbxA99Q0dExzfBsrzKDuJ6WtSC&inde
x=7
4. Meneses R., E. (Productor) (2020). Integración de soluciones - Arquitectura de software Haga clic para
ver más opciones [Archivo PDF]. Recuperado de
https://www.uv.mx/personal/ermeneses/files/2020/09/Clase1-Introduccion.pdf
5. Dyouri, A. (2022, March 9). How to Use Flask-SQLAlchemy to Interact with Databases in a Flask
Application. DigitalOcean. https://www.digitalocean.com/community/tutorials/how-to-use-flask-
sqlalchemy-to-interact-with-databases-in-a-flask-application

También podría gustarte