1. Arquitecturas distribuidas orientadas a servicios
1.1. Arquitectura de sistemas distribuidos
1.1.1. Arquitectura de sistemas distribuidos
1.1.2. Origen de las arquitecturas orientadas a servicios
1.1.3. Características del software de servicios distribuidos
1.2. Modelo conceptual de las arquitecturas orientadas a servicios
1.2.1. Basados en mensajes
1.2.2. Basados en recursos
1.2.3. Políticas y contratos de servicios
1.2.4. La arquitectura SOA y la arquitectura de microservicios
1.3. Aspectos de seguridad en arquitecturas orientadas a servicios
1.3.1. Seguridad de datos
1.3.2. Seguridad de mensajes
1.3.3. Control de acceso. El modelo RBAC y el modelo ABAC
1.3.4. Seguridad en comunicaciones. Protocolos seguros
1.3.5. Ataques a la seguridad de los servicios web
1.4. Implementación de arquitecturas orientadas a servicios mediante tecnologías web
1.4.1. Especificaciones de servicios web de uso común: SOAP y REST
1.4.2. Lenguajes de definición de servicios: el estándar WSDL, WADL, RAML, Open API Specification y API Blueprint
1.4.3. Estándares de seguridad en servicios web: WS-Security, SAML y XACML
1.5. Implementación de la seguridad en arquitecturas orientadas a servicios
1.5.1. Conceptos básicos de criptografía
1.5.2. Tipos de criptografía
1.5.3. Entidades certificadoras
1.5.4. Certificados digitales. Características
1.5.5. Identificación y firma digital mediante certificados digitales
1.5.6. Cifrado de datos
1.6. Directorios de servicios
1.6.1. Concepto de directorio
1.6.2. Ventajas e inconvenientes
1.6.3. Directorios distribuidos
1.6.4. Estándares sobre directorios de servicios: UDDI
EJERCICIOS
2. Programación de servicios web en entornos distribuidos
2.1. Componentes software para el acceso a servicios distribuidos
2.1.1. Definición de servicios
2.1.2. Generación automática de servicios
2.2. Programación de diferentes tipos de acceso a servicios
2.2.1. Servicios basados en publicación/suscripción
2.2.2. Servicios basados en repositorios
2.2.3. Servicios accesibles desde agentes de usuario
2.2.4. Proveedores y consumidores de servicios en entorno servidor
2.3. Herramientas para la programación de servicios web
2.3.1. Comparativa
2.3.2. Bibliotecas y entornos integrados (frameworks) de uso común
2.4. Implementación de aplicaciones con servicios web mediante Jakarta EE
2.4.1. Acceso y programación de servicios web basados en SOAP con JAX-WS
2.4.2. Acceso y programación de servicios web basados en REST con JAX-RS
EJERCICIOS
Bibliografía