Orquestación de Servicios y SOA

4

Click here to load reader

description

Importancia de la orquestación de servicios en una SOA

Transcript of Orquestación de Servicios y SOA

  • 1. Java Developers Mexico https://www.facebook.com/JavaDevelopersMexicoOrquestacin de Servicios y SOASOA, o Service Oriented Architecture, es un enfoque para desarrollar sistemas empresarialesacoplando dbilmente servicios interoperables - pequeas unidades de software que ejecutantareas discretas cuando se le solicite - desde sistemas separados a travs de diferentes dominiosde negocio. SOA emergi en los pasados 2000s, ofrecindole a los departamentos de IT una formapara desarrollar servicios de negocio reutilizando componentes de programas existentes en laempresa ms que escribir cdigo de funcionalidad redundante desde cero y desarrollar nuevasinfraestructuras para soportarlas. Con SOA, las funcionalidades son expresadas como unacoleccin de servicios ms que una sola aplicacin, haciendo un cambio fundamental en la formaen cmo los desarrolladores enfocan el diseo de arquitecturas empresariales.Un aspecto crucial de SOA es la orquestacin de servicios. Como lo mostraremos en este artculo,los sistemas empresariales y proyectos de integracin diseados acorde a los principios de SOAdependen depende de una exitosa orquestacin de servicios. Encontrar una plataforma concapacidades mejoradas de orquestacin de servicios, es una alta prioridad para las empresas quebuscan construir sus sistemas acorde a SOA.Orquestacin de Servicios: Haciendo que una SOA trabajeDe forma similar a un workflow organizacional, la orquestacin de servicios es la coordinacin ydisposicin de mltiples servicios expuestos como un solo servicio agregado. Los desarrolladoresutilizan orquestacin de servicios para soportar la automatizacin de procesos de negocioacoplando dbilmente servicios a travs de diferentes aplicaciones y empresas y creandoaplicaciones compuestas de segunda-generacin. En otras palabras, la orquestacin de servicioses la combinacin de interacciones de servicios para crear servicios de negocio de alto nivel.La orquestacin de servicios trabaja a travs del intercambio de mensajes en la capa de dominiode las aplicaciones empresariales. Ya que los servicios individuales no son programados paracomunicarse con otros servicios, los mensajes deben ser intercambiados acorde a la lgica denegocio predeterminada y orden de ejecucin de forma que el servicio compuesto aplicacin puedacorrer como su fuera demandado por el usuario final. Esto usualmente es llevado a cabo a travsde enterprise application integration (EAI), lo cual permite la integracin de datos, y el uso de unmotor central de mensajera como es un bus de servicios empresariales (ESB), el cual enruta,transforma y enriquece mensajes.Relacionado a la orquestacin de servicios est la coreografa de servicios. Aunque ambas sonempleadas para crear servicios compuestos y aplicaciones en arquitecturas orientadas a servicios,vale la pena sealar las diferencias. Un modelo de coreografa de servicios trabaja sin un motor demensajera central u orquestador mientras que un modelo de orquestacin de servicios confa enun controlador central para acoplar servicios. En el primero, los servicios participantes cada unoconoce la lgica de negocio y secuencia y sincronizacin de intercambio de mensajes. En el ltimo,

2. Java Developers Mexico https://www.facebook.com/JavaDevelopersMexicolos servicios participantes no saben que ellos estn siendo orquestados como parte de un serviciode ms alto nivel; slo el controlador central conoce la lgica de negocio y secuencia de mensajes.Para tener un mejor sentido de la orquestacin de servicios, echemos un vistazo al siguienteejemplo. Un corredor de prstamos quiere hacer una solicitud de prstamo en nombre de uncliente y usa un Servicio de Solicitud de Prstamo automatizado. El corredor accesa al Servicio deSolicitud de Prstamo en el sistema empresarial para hacer la solicitud de prstamo inicial, la cuales enviada a un orquestador (el motor central de mensajera) que luego llama e invoca a otrosservicios en la empresa, sistemas asociados y/o la nube para procesar esa solicitud. Los sub-servicios individuales involucrados en la solicitud de prstamo incluyen un servicio para obtenerregistros de crdito de una agencia de crdito, un servicio para retomar una lista de prestamistas,un servicio para solicitar cuotas de un servicio bancario, y un servicio para procesar cuotas con losdatos de los otros servicios. Al mismo tiempo, los servicios orquestados componen al Servicio deSolicitud de Prstamo, el cual luego retorna una lista of cuotas de los prestamistas potenciales alcorredor quien hizo la solicitud original.Como lo ilustra el ejemplo anterior, la orquestacin de servicios es un aspecto fundamental de unaexitosa implementacin de SOA. En una arquitectura verdaderamente orientada a servicios, lasnuevas aplicaciones son creadas por orquestaciones nuevas de servicios existentes - noescribiendo cdigo nuevo.Los Retos de la Orquestacin de Servicios y SOADesde la superficie, la orquestacin de servicios y SOA son conceptos relativamente simples. Paralas empresas que se enfrentan con retos de integracin, el disparo de los presupuestos de TI y lasinfraestructuras cada vez ms complejas, la construccin de nuevas aplicaciones con componentesde software reutilizables y granulares es un enfoque comprensivamente atractivo para crearsistemas ms giles y competitivos y reducir el tiempo de entrada al mercado.La orquestacin de servicios y SOA, sin embargo, pueden ser difciles de llevar a cabo sin elconjunto correcto de herramientas. En sus primeros das, los CTOs de grandes compaasadoptaron con entusiasmo SOA y se fueron a su implementacin con un modelo quitar yremplazar. Tal enfoque result en altos costos financieros as como grandes inversiones de tiempoya que frecuentemente requiri que los desarrolladores orquestaran servicios a travs deprogramacin (p.e. escribir cdigo nuevo), rechazando el propsito final de la adopcin de SOA.Lo que era necesario es una forma ms simple y ms flexible para ejecutar orquestaciones deservicios e implementar SOA. El bus de servicios empresariales (ESB) emergi como elmecanismo go-to para la orquestacin de servicios y SOA. 3. Java Developers Mexico https://www.facebook.com/JavaDevelopersMexicoUsando la Plataforma Correcta para Orquestacin deServicios y SOALos ESBs y otras plataformas de integracin hacen al proceso de orquestacin de servicios muchoms simple y eliminan la necesidad de codificacin personalizada. Los ESBs permiten laintegracin de aplicaciones empresariales (EAI) y actan como orquestadores permitindoles a losservicios comunicarse entre ellos.Los ESBs open source como lo es Mule ofrecen interoperabilidad y flexibilidad incomparablehaciendo posible la reutilizacin de componentes de servicio de cualquier tipo y el intercambio demensajes de cualquier formato en la empresa y fuera de ella. De hecho, la versin ms reciente deMule ESB ha sido hecha ms simple para ejecutar la orquestacin de servicios introduciendo unanueva forma de combinar servicios con su caracterstica Flow. Los Flows de Mule te permitenseleccionar y elegir componentes para generar un flujo lineal de procesos de mensajes y crear unservicio compuesto en una forma intuitiva.Con la plataforma correcta, SOA cumple sus promesas de alinear los procesos de negocio con lossistemas de IT y reducir costos mientras se permanece gil y completamente robusto para manejarlos cambios en las demandas de los clientes y la integracin de nuevas aplicaciones. Cuando lacomposicin de nuevos servicios de negocio es hecha simple e intuitiva, SOA puede ser adoptadade forma exitosa - una orquestacin de servicios a la vez.Vistennos en nuestro sitio de Facebook:https://www.facebook.com/JavaDevelopersMexicoo escrbenos al correo:[email protected] Desales Lpez