Beruflich Dokumente
Kultur Dokumente
Los WS suponen una interconexin punto a punto que, por s sola, no proporciona la capacidad de integracin y flexibilidad frente cambios que se necesitan en los SSII de grandes organizaciones
Justificacin de SOA
SOA aborda el problema de organizaciones cada vez ms dinmicas pero inundadas de sistemas de SSII que son:
Muy diversos Monolticos Cerrados No interoperables (conectores ad-hoc)
El conjunto de tcnicas, recomendaciones y tecnologas que denominamos Service-Oriented Architecture (SOA) buscan que los nuevos SSII sean:
Modulares Basados en componentes Abiertos Independientes de la tecnologa de implementacin
Servicios en red
Con SOA, toda la infraestructura de tecnologas de la informacin (TI) presenta sus funcionalidades como servicios que ofrecen un claro valor de negocio Los usuarios dentro y fuera de la organizacin podrn usarlos (modularidad, reutilizacin...) con independencia de la tecnologa del proveedor de los mismos y de la tecnologa de sus consumidores As, SOA puede ser una aproximacin a la computacin distribuida que utiliza recursos software dispersos como servicios disponibles en red
Convergencia de voz, datos, vdeo y fijo - mvil Comunicacin gil de informacin multimedia
XML
XML
Puestos de trabajo de alto rendimiento e incorporacin de nuevos dispositivos multimedia Nuevas formas de trabajo
XML
Ubicacin de la informtica donde sea ms eficiente para el negocio Eficiencia por proximidad o agrupacin y obtencin de economas de escala
Por su capacidad para poner en contacto a individuos, negocios, empresas y administraciones Su capacidad para proporcionar acceso ubicuo a todo tipo de informacin, aplicaciones y servicios
Principios de SOA
La arquitectura que nos presenta SOA parte de las necesidades del negocio o actividad de la organizacin, para despus ir bajando hasta la solucin tecnolgica Para ello se basa en dos principios bsicos:
El negocio dirige los servicios y los servicios dirigen la tecnologa (los servicios son una capa de abstraccin entre el negocio y la tecnologa) La agilidad del negocio es un requerimiento fundamental del propio negocio (la habilidad para responder a cambios en los requisitos en un requisito en s mismo)
El analista de negocio conoce el funcionamiento de la organizacin y sus necesidades de SSII. Su visin de stos es a muy alto nivel: a partir de un modelo de servicios disponibles disea composiciones y flujos (orquestaciones) entre los mismos para definir los procesos de negocio de la organizacin, los cuales dependen de los requisitos y sus variaciones
Frente a esto, SOA organiza los SSII alrededor de servicios, no aplicaciones (arquitectura desacoplada):
Automatiza los procesos en workflows mediante la composicin (orquestacin, coreografa, ) de dichos servicios Puede adaptar mejor los SSII a los procesos y evolucionar con ellos
En este punto, con la herramienta adecuada podramos trabajar ya con los procesos: compartirlos, extenderlos, simplificarlos, combinarlos incluso hacer simulaciones con ellos sin ni siquiera tener su implementacin an (muy til para detectar a tiempo ineficiencias, cuellos de botella, etc.)
Servicios: definicin
Es la unidad bsica de funcionalidad en la arquitectura SOA. Los elementos de que se compone son:
Interfaz: contrato entre proveedor y consumidor. Define la forma y el procedimiento para acceder a su funcionalidad Lgica de negocio: implementacin propiamente dicha Canal de comunicacin: el medio fsico y el conjunto de procedimientos parar poner en contacto (tpicamente de forma remota) a los consumidores del servicio con su proveedor
Servicios: caractersticas
Componente software Servicio No toda entidad que posea interfaz, lgica y ofrezca una funcionalidad es un servicio:
Servicios manejan conceptos de negocio ( nivel abstraccin, granularidad) Servicios accesibles por protocolos abiertos e independientes de la implementacin Servicios estn menos acoplados que los componentes Servicios con mayor grado de autonoma (tienen sentido incluso de forma aislada) Servicios tienen sus propias polticas de escalabilidad, seguridad, tolerancia a fallos, etc.
Principalmente, tres estndares definidos en la arquitectura SOA intervienen en este ciclo de vida: WSDL, UDDI y SOAP
Y todo esto, con el requisito de una total independencia y desacoplamiento entre las partes (lenguajes, sistema operativo, infraestructura de comunicaciones)
Las reglas para la codificacin de los datos (tpicamente se utilizan esquemas XSD) Las convenciones de RPC, que definen la forma de declarar el mecanismo de invocacin remota (unidireccional, peticin y respuesta, etc.)
Nivel de procesos:
Formado por las herramientas para definir, gestionar y ejecutar los procesos de negocio de la organizacin Se apoya en el nivel inferior (servicios) para definir los flujos de invocacin a los mismos que implementan los procesos
Nivel de integracin:
Canaliza las comunicaciones entre los servicios y con otras aplicaciones legacy (p.ej. SAP, CRM) Tpicamente esta funcin la desempea un bus de mensajes denominado ESB (Enterprise Service Bus)
Nivel de gobernabilidad:
Monitoriza en tiempo real el uso de las infraestructuras, el uso de los servicios y su estado de disponibilidad Responsable de la monitorizacin de actividades de negocio (BAM), con mtricas sobre la ejecucin de los procesos Gestiona el ciclo de vida (versionado) de servicios y procesos, las dependencias entre ellos y su despliegue en distintos entornos
Productos comerciales
Tpicamente encontraremos suites que agrupan una multitud de herramientas que, conjuntamente, cubren los distintos niveles de una arquitectura SOA La tecnologa predominante en todas ellas es J2EE, por lo que la mayora de esas suites tiene un servidor de aplicaciones como componente central Algunos ejemplos:
Oracle SOA Suite IBM WebSphere Process Server Jboss Enterprise Middleware
Algunas referencias
Etham Cerami. Web Services Essentials. OReilly & associates David A. Chappel, Tyler Jewel. Java Web Services. OReilly & associates Eric Newcomer. Understanding Web Services: XML, WSDL, SOAP and UDDI. Addison-Wesley Dirk Krafzig, Karl Banke, Dirk Slama. Enterprise SOA: ServiceOriented Architecture Best Practices, Prentice Hall