Want to make interactive content? It’s easy in Genially!

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.