¿Aún no tienes una cuenta? Crea una ahora y accede a tus listas favoritas, tu histórico de cuentas y muchas más cosas...
Pedidos y atención al cliente
PARTICULARES: 963 392 051 - FAX: 963 615 480 / LIBRERÍAS: 963 610 048 ext. 1005 - FAX: 963 694 151
La Arquitectura Orientada a Servicios (SOA) es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio. SOA facilita la interacción entre diferentes sistemas tanto propios como de terceros, y puede dar soporte a actividades de integración y consolidación. A diferencia de la arquitectura basada en objetos, consigue que los componentes de software desarrollados sean reutilizables. Este manual le proporcionará los conocimientos necesarios sobre los fundamentos y características esenciales de SOA. Aprenderá a utilizar lenguajes de script como JRuby o Groovy para construir componentes, y a combinar servicios creados con Apache Tuscane para completar un proceso de negocio. Agradecimientos Prefacio Sobre este libro Desarrollo de la obra Convenciones y descargas Código fuente Autor en línea Acerca de la ilustración de la portada Parte I. Historia y principios 1. Fundamentos de la arquitectura SOA Repaso a la historia de la computación distribuida Problemas relacionados con las soluciones basadas en llamadas RPC Fundamentos del estilo de mensaje del protocolo SOAP La aparición de la arquitectura SOA Los servicios Web como solución para implantar SOA Fundamentos de las características principales de SOA Interfaz o contrato de servicios Transparencia del servicio Acoplamiento bajo del servicio y ausencia de estado Composición de servicios Registro de servicios y su publicación Tecnologías de la plataforma SOA Gestión de procesos de negocios BPM Gestión de la toma de decisiones empresariales Bus de servicio de empresa Procesador de flujos de eventos El servicio de mensajería de Java (JMS) El registro Componentes de servicio y su composición Mediación de servicios Web Un modelo maduro para arquitecturas SOA Resumen 2. Definición de la plataforma SOA de software libre Evaluación de productos de software libre Elección de la solución BPM Criterio de evaluación para productos BPM Productos BPM de software libre Selección de una solución BPM apropiada Fundamentos de JBoss jBPM Selección de una solución de toma de decisiones de nivel empresarial Criterios de evaluación de productos EDM Productos EDM de software libre Selección del sistema EDM Fundamentos de JBoss Rules (Drools) Selección de un bus ESB Criterio de evaluación de productos ESB Productos ESB de software libre Selección del bus ESB Fundamentos de Synapse como producto ESB ligero Selección de una solución ESP ¿En qué consiste el procesamiento de flujos de eventos? Fundamentos de Esper Selección de una solución para el registro Criterios de evaluación de productos de registro Productos de software libre Selección del sistema de registro Fundamentos del Registro de WSO2 Selección de un entorno de componentes de servicio y servicios compuestos Fundamentos de la arquitectura SCA Fundamentos de Apache Tuscany Selección de una solución para la mediación de servicios Web Resumen Parte II. Ensamblaje de componentes y servicios 3. Creación de servicios usando Apache Tuscany ¿Qué son los componentes de servicios y las composiciones? El modelo de ensamblaje SCA Fundamentos de los archivos de servicios compuestos Configuración de los componentes Definición de servicios Manejo de las propiedades Opciones de implementación Uso de referencias para la asignación de dependencias Definición de las vinculaciones disponibles Resumen 4. Características avanzadas de la arquitectura SCA Configuración utilizando tipos de componentes Modelos de interacción SCA Uso de conversaciones Fundamentos de las retro llamadas Soporte de los lenguajes de script Creación del componente en Ruby Creación de la interfaz java utilizando el método Ruby Modificación de la clase de implementación del servicio Modificación del ensamblaje del servicio compuesto Conceptos avanzados de Tuscany y SCA Despliegue en un entorno de producción Fundamentos de SDO Funcionalidades SDO avanzadas Resumen Parte III. Gestión de procesos de negocio 5. Introducción a jBPM Gestión BPM: El ingrediente secreto de la arquitectura SOA Historia y visión general de JBoss jBPM Desarrollo del ciclo de vida de un proceso jBPM Programación orientada a grafos y jBPM Fundamentos de los nodos Tipo de nodo: Nodo Tipo de nodo: Nodo de tarea Tipo de nodo: Estado Tipo de nodo: Correo electrónico Tipo de nodo: Decisión Tipo de nodo: Bifurcación/unión Uso de las transiciones Fundamentos del uso de acciones Instanciación de las propiedades de las clases de acción Uso de expresiones de acciones Uso de eventos para capturar los cambios en el ciclo de vida de un proceso Gestión del contexto utilizando variables Variables de proceso Variables locales Resumen 6. Tareas jBPM ¿Qué son las tareas? Gestión de tareas utilizando la consola jBPM Configuración del elemento task Gestión de usuarios de las tareas Actores y asignaciones de tareas Fundamentos de swimlanes Fundamento del uso de temporizadores Controladores de tareas Uso del API para el desarrollo de tareas Identificación de los procesos dentro de una instancia jBPM Identificación de las instancias de proceso en ejecución para un determinado proceso Búsqueda de tareas abiertas dentro de la instancia de un proceso Búsqueda de todas las tareas asignadas a un usuario Búsqueda del conjunto de tareas para un determinado actor Tareas completadas Resumen 7. Funcionalidades avanzadas de jBPM Funcionalidades empresariales de jBPM relevantes Súper estados como agrupación de nodos Uso de subprocesos para gestionar la complejidad Gestión de excepciones Script con BeanShell Registro de auditoría Fundamentos de las continuaciones asíncronas Integración con SCA/SDO Uso de un cliente SCA para la integración de servicios Habilitación de servicios jBPM Desarrollo de la operación ListProcesses del servicio Desarrollo del servicio CreateProcessInstance Resumen Parte IV. Procesamiento, integración y mediación en los flujos de eventos 8. Manejo de eventos complejos mediante Esper Eventos de negocio dentro de las empresas Fundamentos sobre eventos Diferencias entre monitorización BAM y procesamiento ESP Arquitectura dirigida por eventos y Arquitectura SOA ¿Qué es Esper? Primeros pasos con Esper ¿Qué son los objetos de eventos? Definición y registro de sentencias de consulta Especificación de suscriptores Opciones de configuración Fundamentos del lenguaje EPL Eventos de consulta Uso de variables Fundamentos de las vistas de Esper Creación de nuevos flujos de eventos utilizando ventanas con nombre Funcionalidades avanzadas de Esper Extensión del lenguaje mediante funciones Uso de patrones de eventos Uso de JDBC para establecer conexiones remotas Servicios Web de Esper Creación de un framework y de sus componentes Creación de un servicio Esper y de un gestor de sesiones Desarrollo del servicio compuesto SCA Prueba de los servicios Web mediante la herramienta de prueba soapUI Resumen 9. Integración empresarial y buses ESB Relación entre buses ESB y la arquitectura SOA Historia de los buses ESB Funcionalidades ESB centrales Uso apropiado de un bus ESB Uso inapropiado de los buses ESB Fundamentos de Apache Synapse Adaptadores de protocolos Middleware Orientado a Mensajes Mensajería basada en XML Enrutamiento inteligente y distribución Transformación de mensajes Tareas y temporizadores Calidad del servicio y mediación Web Monitorización y administración Interfaz API extensible Fundamentos de mediación de mensajes y servicios de Apache Synapse Ejemplo sencillo de mediación de mensajes Ejemplo sencillo de mediación de servicios Resumen 10. Implementar ESB con Apache Synapse Synapse a través de un estudio de caso Fase 1: Típica mediación de servicio Web utilizando la gestión de errores, el enrutamiento y conmutación de transporte Fase 2: Protocolo/puenteado de transporte y propagación de eventos Fase 3: Utilizar la integración de tareas, la automatización y las bases de datos Fase 4: Calidad de la mediación de servicios Fase 1: Mediación sencilla de servicio Web Iniciar el pedido Configurar el proxy de mediación de servicios y utilizar la mediación de validación Configurar la mediación XSLT Conmutación de transporte de HTTP a JMS Conmutación de transporte de JMS a HTTP Fase 2: VFS, CSV, correo electrónico y mensajes de intervención telefónica Utilizar el transporte VFS Trabajar con archivos CSV Administrar excepciones y transporte SMTP Utilizar el modelo de mensajes de intervención telefónica Fase 3: Tareas, mediador DB e iterator Configurar las tareas de Synapse Utilizar el mediador iterator para dividir mensajes Utilizar el mediador DB Fase 4: QoS con Synapse Implementar WS-Security Utilizar el mediador limitación de peticiones de Synapse Resumen Parte V. Gestión de decisiones empresariales 11. Reglas de negocio con JBoss Drools Entender las reglas de negocio Beneficios y conductores del enfoque de regla de negocio Relación con SOA Características de un motor de reglas Sistema de gestión de reglas de negocio Drools Hello World, Drools! Ejecutar Hello World, Drools! Introducción al lenguaje de reglas Drools (DRL) Elementos de encabezado de Drools package import expander global function Definir las reglas en Drools Modificar el comportamiento de las reglas con atributos Parte condicional de las reglas (parte cuando) Parte consecuencia de la afirmación de una regla (parte entonces) Preguntar datos en Drools RuleFlow de Drools para la organización de reglas Alternativas al Lenguaje de reglas de Drools Utilizar DSL para la creación del usuario profesional Definir reglas utilizando tablas de decisión Resumen 12. Implementar Drools Estudio de caso Definir las reglas DRL Funcionar como motor incorporado Reglas sencillas para el usuario usando un DSL Gestionar reglas usando Guvnor de Drools Perspectiva general de la funcionalidad de Guvnor Crear reglas utilizando Guvnor Desarrollar servicios de decisión ¿Qué son los servicios de decisiones? Diseñar el servicio de decisión Implementar el servicio de decisión utilizando Tuscany y Drools Comprobación Resumen ??ndice alfabético