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
	Rela 
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.