Curso (2-9) Implementación de SOA mediante el uso de Java EE
Definición
La arquitectura orientada a servicios de cliente (en inglés Service Oriented Architecture), es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio.
Permite la creación de sistemas de información altamente escalables que reflejan el negocio de la organización, a su vez brinda una forma bien definida de exposición e invocación de servicios (comúnmente pero no exclusivamente servicios web), lo cual facilita la interacción entre diferentes sistemas propios o de terceros.
SOA define las siguientes capas de software:
* Aplicaciones básicas - Sistemas desarrollados bajo cualquier arquitectura o tecnología, geográficamente dispersos y bajo cualquier figura de propiedad;
* De exposición de funcionalidades - Donde las funcionalidades de la capa aplicativa son expuestas en forma de servicios (generalmente como servicios web);
* De integración de servicios - Facilitan el intercambio de datos entre elementos de la capa aplicativa orientada a procesos empresariales internos o en colaboración;
* De composición de procesos - Que define el proceso en términos del negocio y sus necesidades, y que varía en función del negocio;
* De entrega - donde los servicios son desplegados a los usuarios finales.
SOA proporciona una metodología y un marco de trabajo para documentar las capacidades de negocio y puede dar soporte a las actividades de integración y consolidación.
Contenido Temático
* Parte 1 : Vista General
o Capítulo 1 : Introducción
+ 1.1. Productos y Servicios
+ 1.2. Servicios orientados a software
+ 1.3. Servicios web
+ 1.4. SOA
+ 1.5. Servicios web y oportunidades SOA
o Capítulo 2 : Evolución de las arquitecturas IT
+ 2.1. La progresiòn de la arquitectura orientada a servidor
# 2.1.1. La progresión de la arquitectura mainframe
# 2.1.2. La progresión de la arquitectura cliente / servidor
# 2.1.3. La progresión de la arquitectura distribuida
# 2.1.4. Internet y la World Wide Web
+ 2.2. Progresión de la arquitectur por parte del cliente
# 2.2.1. Termnales como clientes
# 2.2.2. Clientes gruesos
# 2.2.3. Clientes livianos
# 2.2.4. Clientes de navegador
# 2.2.5. Clientes mobiles
+ 2.3. Arquitectura orientada a servicios y servicios web
# 2.3.1. Servicios web
# 2.3.2. Llegada de la infraestructura SOAP, WSDL y UDDI
o Capítulo 3 : Evolución de la arquitectura orientada a servicio
+ 3.1. Arquitectura orientada a servicio - la descripción
# 3.1.1. Arquitectura primarias/anteriores
* 3.1.1.1. IMS
* 3.1.1.2. CICS
* 3.1.1.3. Corba
* 3.1.1.4. DCOM
# 3.1.2. Cambios de paradigma
* 3.1.2.1. Java y Java 2 Edición Empresarial
* 3.1.2.2. XML Lenguaje de Marcación Extensiva
* 3.1.2.3. Servicios Web - XML-RPC y SOAP
# 3.1.3. Llegada de los servicios web y SOA
* 3.1.3.1. Primera generación de servicios web
* 3.1.3.2. Segunda generación de servicios web
* 3.1.3.3. SOA mediante la implementación de servicios web
* 3.1.3.4. Beneficios y desafios con SOA
# 3.1.4. Tecnologías de implementación de SOA
* 3.1.4.1. Tecnología .NET de Microsoft
* 3.1.4.2. Tecnología de Java Edición Empresarial de Oracle
* Parte 2 : Conceptos esenciales de arquitectura orientada a servicios
o Capítulo 4 : Servicios orientados a mensajeria y SOAP
+ 4.1. Convenciones de SOAP
# 4.1.1. Sobre del mensaje
# 4.1.2. Reglas de codificación
# 4.1.3. Convención RPC
# 4.1.4. Binding
+ 4.2. Anatomía del SOAP
# 4.2.1. Modelo SOAP básico
# 4.2.2. Modelo SOAP detallado
+ 4.3. Detalles de codificación del SOAP
# 4.3.1. Tipo de codificación sencilla
# 4.3.2. Tipo de codificación compleja
+ 4.4. SOAP binding en el protocolo de transporte
+ 4.5. Interacción mediante el uso del protocolo SOAP
# 4.5.1. Modelo de intercambio de mensaje
+ 4.6. Respuesta SOAP y el mecanismo de manejo de errores
# 4.6.1. SOAP <fault>
# 4.6.2. SOAP <faultcode>
# 4.6.3. SOAP <faultstring>
# 4.6.4. SOAP <faultactor>
# 4.6.5. SOAP <detail>
+ 4.7. Diferencias de versión de SOAP y Dependencias
# 4.7.1. Versionamiento de SOAP
# 4.7.2. Nueva versión del SOAP
o Capítulo 5 : Servicios Web y Descripción de lenguaje de servicios web
+ 5.1. WSDL - Un vocabulario de descripción de servicios web basado en XML
# 5.1.1. El triangulo de servicios web
+ 5.2. Fundamentos sobre invocación del servicio
# 5.2.1. Invocación sincrónica y fundamentos del mecanismo RPC
+ 5.3. Invocación de servicio y WSDL
# 5.3.1. Creación del servicio
# 5.3.2. Generación de descripción del servicio web para el servicio
# 5.3.3. Registro del servicio web
# 5.3.4. Publicación del servicio web
# 5.3.5. Descubrimiento del servicio web
+ 5.4. Entendiendo la semántica de los servicios web
# 5.4.1. Invocación del servicio web
+ 5.5. Descripción de los servicios web - El modo XML
# 5.5.1. Elementos WSDL y su sencuencia de aparición
# 5.5.2. Anatomía de un documento WSDL
+ 5.6. Diferencias de versión de WSDL y dependencias
o Capítulo 6 : Registros y UDDI
+ 6.1. Definición de UDDI
# 6.1.1. Taxonomía basada en información de negocios
# 6.1.2. Las especificaciones y los servicios UDDI
# 6.1.3. Public Registries Versus Private Registries
+ 6.2. Nomenclatura UDDI
# 6.2.1. Establece el nodo API
# 6.2.2. Nodo UDDI
# 6.2.3. Registros UDDI
# 6.2.4. Estructura de datos
# 6.2.5. Modelo de Información
+ 6.3. UDDI Core
# 6.3.1. La estructura de datos <businessEntity>
# 6.3.2. La estructura de datos <businessService>
# 6.3.3. La estructura de datos <bindingTemplate>
# 6.3.4. La estructura de datos <tModel>
+ 6.4. Publicación de información de negocio
# 6.4.1. Creación y modificación de la información de negocio
# 6.4.2. Borrado de información de negocio
# 6.4.3. Descubrimiento de servicios web
# 6.4.4. Navegación a través de la información y recuperación
# 6.4.5. Información Drill-Down
o Capítulo 7 : Orquestació y Coreografía
+ 7.1. Importancia del proceso de negocio y flujo de orquestación
# 7.1.1. Lenguaje de ejecución de negocio de negocio WS
# 7.1.2. Procesando BPEL
+ 7.2. Coreografìa
+ 7.3. Orquestación y SOA
+ 7.4. Coreografìa y SOA
o Capítulo 8 : Infraestructura avanzada de servicios web para la implementación del SOA
+ 8.1. Patrones de intercambio de mensaje
+ 8.2. WS* la proxima generación
# 8.2.1. Direccionamiento WS
# 8.2.2. Transacción atómica WS
* 8.2.2.1. Coordinación WS
* 8.2.2.2. Eventos WS
* 8.2.2.3. Intercambio de metadatos WS
* 8.2.2.4. Notificación WS
* 8.2.2.5. Marco de políticas WS
* 8.2.2.6. Mensajeria WS confiable y confiabilidad
* 8.2.2.7. Seguridad WS
# 8.2.3. WS* Una definición de trabajo
* 8.2.3.1. Direccionamiento
* 8.2.3.2. Confiabilidad y mensajería confiable
* 8.2.3.3. Seguridad
# 8.2.4. WS* y SOA
* 8.2.4.1. Mensajería confiable WS y SOA
* 8.2.4.2. Seguridad WS y SOA
# 8.2.5. WS-I Perfil básico
* Parte 3 : Plataforma Java, Edición Empresarial y ESB
o Capítulo 9 : Plataforma Java, Vista general de la edición
+ 9.1. Categorías de Tecnologías Java EE
# 9.1.1. Tecnologías de aplicación web
# 9.1.2. Tecnologías de servicios web
# 9.1.3. Tecnologías de aplicación empresarial
# 9.1.4. Tecnologías de plataforma común
+ 9.2. Que hay de nuevo en la plataforma Java EE
# 9.2.1. Anotaciones Java
# 9.2.2. Modelo POJO
# 9.2.3. Productividad de desarrollador
+ 9.3. Modelo de Componente en Java EE
# 9.3.1. Aplicación Cliente
# 9.3.2. Componentes Web
# 9.3.3. Componentes EJB
# 9.3.4. Adaptador de Recursos
+ 9.4. Calidad de Servicios Java EE
# 9.4.1. Distribución
# 9.4.2. Calidad de Servicios
# 9.4.3. Seguridad
# 9.4.4. Desempeño y escalabilidad
# 9.4.5. Disponibilidad
# 9.4.6. Interoperabilidad
# 9.4.7. Concurrencia
o Capítulo 10 : Tecnologías Web en Java EE
+ 10.1. Java Servlet
+ 10.2. JSP
+ 10.3. JSP Libreria estándar de etiquetas
+ 10.4. JSF
# 10.4.1. Paradigma MVC mediante JSF
# 10.4.2. Infraestructura de componentes de interface de usuario
# 10.4.3. Modelo de navegación
# 10.4.4. Beans gestionados
# 10.4.5. Lenguaje de Expresión unificado
# 10.4.6. Conversión de datos y validación
# 10.4.7. Eventos JSF
+ 10.5. Aproximación al Backin Bean
o Capítulo 11 : Enterprise JavaBeans y Persistencia
+ 11.1. Core EJB 3.0 API
# 11.1.1. Inyección de Dependencia
# 11.1.2. Servicios de contendor
# 11.1.3. Interceptores
+ 11.2. Nuevo JPA
# 11.2.1. Clases de entidad
# 11.2.2. Relaciones
# 11.2.3. Herencia
# 11.2.4. Gestor de entidad
# 11.2.5. Operaciones de ciclos de vida de entidad
# 11.2.6. Lenguaje de Consulta de Persistencia Java
# 11.2.7. Mapeo objeto relacional
# 11.2.8. Mapeo relacional
# 11.2.9. Mapeo de herencia
o Capítulo 12 : Vista general de servicios web de Java
+ 12.1. Implementando un servicio web
+ 12.2. Mapeo entre Java y WSDL
# 12.2.1. Anotaciones de Servicios Web
* 12.2.1.1. @WebService
* 12.2.1.2. @WebMethod
* 12.2.1.3. @Oneway
* 12.2.1.4. @WebParam
* 12.2.1.5. @WebResult
* 12.2.1.6. @HandlerChain
* 12.2.1.7. @SOAPBinding
# 12.2.2. Acceso de servicios web
# 12.2.3. Protocolo y transporte
# 12.2.4. Características avanzadas en JAX-WS
* 12.2.4.1. Manejador de framework
* 12.2.4.2. Interacciones asincrónicas
* 12.2.4.3. API de Mensajería
+ 12.3. Arquitectura Java para XML Binding
# 12.3.1. Evolución de esquema
o Capítulo 13 : Enterprise Service Bus e Integración con java Business
+ 13.1. El Bus de servicios y Enterprise
# 13.1.1. ESB - Una perspectiva de negocio
# 13.1.2. Características principales de la ESB
# 13.1.3. Java Business Integration-Java y ESB
* Parte 4 : Implementación de SOA mediante el uso de la plataforma Java
o Capítulo 14 : Arquitectura Orientada a Servicio y la capa Web
+ 14.1. Entrega de servicios a travès de la capa web
# 14.1.1. Vista general
+ 14.2. Patrones de diseño a nivel de capa web y SOA
# 14.2.1. Patrones de diseño de nivel de presentación
# 14.2.2. Marcos de trabajo y la prestación de servicios
# 14.2.3. Servicios de parto usando JSF
# 14.2.4. Deciding on the Right Framework
o Capítulo 15 : Arquitectura Orientada a Servicios y la capa de negocios
+ 15.1. Entrega de servicios a través de la capa de negocios
# 15.1.1. Vista general de la capa de negocios
+ 15.2. Capa de Negocio Patrones de diseño y SOA
+ 15.3. Patrones de diseño de negocios de nivel
# 15.3.1. La capa de presentación-to-Business de patrones de diseño de nivel
# 15.3.2. Objeto de transferencia de diseño de patrones
+ 15.4. Patrones de diseño de nivel de integración
# 15.4.1. El acceso a datos de objetos de patrones
+ 15.5. Intrabusiness Nivel patrones de diseño
# 15.5.1. De servicios de aplicaciones de diseño de patrones
o Capítulo 16 : Arquitectura orientada a servicio avanzada
+ 16.1. Patrones en SOA
# 16.1.1. Patrones de Mensajeria Asincrónica
# 16.1.2. Patrones de conversión
# 16.1.3. Patrones de orquestación
# 16.1.4. Patrones de flujo de datos
* Parte 5 : Casos de Estudio
o Capítulo 17 : Desarrollo de aplicaciones orientadas a servicio
+ 17.1. La perspectiva de la industria
# 17.1.1. Distribución de mensajes en la OTA
# 17.1.2. Objetivos de la OTA
# 17.1.3. Planes y especificaciones de OTA
# 17.1.4. Miembros de la alianza
+ 17.2. Casos de estudio
# 17.2.1. Desafios
# 17.2.2. Estrategias de implementación de solución
# 17.2.3. Servicios de reserva de viaje
# 17.2.4. El flujo de trabajo o la definición del proceso
# 17.2.5. Consideraciones de solución de plataforma
o Capítulo 18 : Entrega de servicios SOA mediante el uso del paquete Netbeans SOA Pack
+ 18.1. Vista general de la estrategia de implementación
+ 18.2. Netbeans IDE
# 18.2.1. Invocaciòn de Netbeans
# 18.2.2. Explorando el IDE
# 18.2.3. Conceptos básicos de proyecto
# 18.2.4. Creación del proyecto