Mapa interactivo de los temas 5.1 y 5.2
LUZ OFELIA LARA GUZMϿ�N
Created on November 27, 2024
Over 30 million people build interactive content in Genially.
Check out what others have designed:
Transcript
Líneas de Productos de Software (Software Product Lines, SPL)
Automotriz
Línea completa desde el inicio
Recursos compartidos
Integración gradual
Concepto
Desventajas
Dispositivos IoT
Personalización en masa
Ventajas
Gestión de variabilidad
Reutilización de componentes
Concepto
Definición
Ventajas y Desventajas
Características
Ejemplos de Uso
Estrategias de Implementación
1
3
2
5
4
Arquitectura Orientada a Servicios (SOA)
Bus de Servicio Empresarial (ESB)
Servicios
Contrato de Servicio
Registro de Servicios
Concepto
Desventajas
Sistema de Gestión de Reservas de Viaje
Reutilización
Ventajas
Independencia
Interoperabilidad
Concepto
Definición
Ventajas y Desventajas
Características
Ejemplo de Implementación
Componentes principales
1
3
2
5
4
Componentes comunes disponibles para distintos productos.
Ventajas:
- Reducción de costos de desarrollo y mantenimiento.
- Incremento en la productividad.
- Garantía de calidad consistente entre productos.
Aprovechamiento de módulos previamente desarrollados.
Construcción eficiente basada en componentes reutilizables.
Configuraciones personalizadas de vehículos según las especificaciones del cliente.
Familia de productos relacionados que comparten características comunes.
Adaptación de productos para diferentes necesidades.
Variaciones según el entorno, como dispositivos para el hogar o la industria.
Diseño integral de la línea desde el principio.
Incorporación paulatina de variabilidad.
Control y manejo de las diferencias entre los productos.
Desventajas:
- Alta inversión inicial para establecer la infraestructura.
- Complejidad en la gestión de componentes y variabilidad.
Son unidades funcionales que realizan tareas específicas y se exponen a través de interfaces estándar.
Ventajas:
- Escalabilidad: Los servicios pueden ser escalados independientemente.
- Flexibilidad: Permite la integración de sistemas heterogéneos, lo que facilita la comunicación entre aplicaciones desarrolladas con diferentes tecnologías.
- Mantenimiento mejorado: Al ser independientes, los servicios son fáciles de mantener y actualizar.
- Reutilización: La reutilización de servicios existentes reduce los costos de desarrollo.
- Adaptabilidad: SOA es adecuado para entornos en constante cambio, permitiendo la adaptación a nuevas necesidades.
Los servicios pueden comunicarse entre diferentes plataformas y tecnologías.
SOA es un enfoque de diseño de software basado en servicios autónomos que se comunican entre sí a través de interfaces bien definidas.
Los servicios pueden estar distribuidos en una red y pueden interactuar independientemente de las tecnologías subyacentes.
Los servicios son diseñados para ser reutilizados en diferentes aplicaciones o contextos.
Caso: Sistema de Gestión de Reservas de Viaje
- Servicios involucrados:
- Servicio de Reserva de Vuelos: Consultar disponibilidad y realizar reservas de vuelos.
- Servicio de Alojamiento: Gestionar reservas de hoteles.
- Servicio de Pago: Procesar pagos y transacciones financieras.
- Todos estos servicios están conectados a través de un ESB, lo que permite a los usuarios realizar una reserva completa sin importar la tecnología subyacente.
Repositorio que almacena los servicios disponibles, permitiendo su descubrimiento dinámico.
Middleware que facilita la comunicación y coordinación entre servicios.
Cada servicio es autónomo, lo que facilita su mantenimiento y actualización sin afectar a otros servicios.
Desventajas
- Complejidad inicial: La implementación de SOA puede ser costosa y compleja.
- Sobrecarga de comunicación: Las interacciones entre los servicios pueden generar latencia y afectar el rendimiento.
- Gestión de seguridad: Proteger los servicios y los datos transferidos requiere un enfoque robusto de seguridad.
- Gestión de transacciones: Coordinar transacciones entre múltiples servicios puede ser complicado.
- Dependencia de estándares: La interoperabilidad depende de la adherencia a estándares comunes, como SOAP o REST.
Definición formal de la interfaz de un servicio, incluyendo la forma en que debe ser invocado.