Sunteți pe pagina 1din 6

Conceptos Basicos

Entorno SOA

Arquitectura orientada a servicios


La arquitectura orientada a servicios de cliente (en ingls Service Oriented Architecture), es un concepto de arquitectura de software que define la utilizacin de servicios para dar soporte a los requisitos del negocio. Permite la creacin de sistemas de informacin altamente escalables que reflejan el negocio de la organizacin, a su vez brinda una forma bien definida de exposicin e invocacin de servicios (comnmente pero no exclusivamente servicios web), lo cual facilita la interaccin entre diferentes sistemas propios o de terceros. SOA define las siguientes capas de software:

Aplicaciones bsicas - Sistemas desarrollados bajo cualquier arquitectura o tecnologa, geogrficamente dispersos y bajo cualquier figura de propiedad; De exposicin de funcionalidades - Donde las funcionalidades de la capa aplicativa son expuestas en forma de servicios (generalmente como servicios web); De integracin de servicios - Facilitan el intercambio de datos entre elementos de la capa aplicativa orientada a procesos empresariales internos o en colaboracin; De composicin de procesos - Que define el proceso en trminos del negocio y sus necesidades, y que vara en funcin del negocio; De entrega - donde los servicios son desplegados a los usuarios finales.

SOA proporciona una metodologa y un marco de trabajo para documentar las capacidades de negocio y puede dar soporte a las actividades de integracin y consolidacin.

Diseo y desarrollo de SOA


La metodologa de modelado y diseo para aplicaciones SOA se conoce como anlisis y diseo orientado a servicios. La arquitectura orientada a servicios es tanto un marco de trabajo para el desarrollo de software como un marco de trabajo de implementacin. Para que un proyecto SOA tenga xito los desarrolladores de software deben orientarse ellos mismos a esta mentalidad de crear servicios comunes que son orquestados por clientes o middleware para implementar los procesos de negocio. El desarrollo de sistemas usando SOA requiere un compromiso con este modelo en trminos de planificacin, herramientas e infraestructura.

Cuando la mayora de la gente habla de una arquitectura orientada a servicios estn hablando de un juego de servicios residentes en Internet o en una intranet, usando servicios web. Existen diversos estndares relacionados a los servicios web. Incluyen los siguientes:

XML HTTP SOAP REST WSDL UDDI

Hay que considerar, sin embargo, que un sistema SOA no necesariamente necesita utilizar estos estndares para ser "Orientado a Servicios" pero es altamente recomendable su uso. En un ambiente SOA, los nodos de la red hacen disponibles sus recursos a otros participantes en la red como servicios independientes a los que tienen acceso de un modo estandarizado. La mayora de las definiciones de SOA identifican la utilizacin de Servicios Web (empleando SOAP y WSDL) en su implementacin, no obstante se puede implementar SOA utilizando cualquier tecnologa basada en servicios.

Lenguajes de alto nivel


Los lenguajes de alto nivel como BPEL o WS-Coordination llevan el concepto de servicio un paso adelante al proporcionar mtodos de definicin y soporte para flujos de trabajo y procesos de negocio.

Diferencias con otras arquitecturas


Al contrario de las arquitecturas orientado a objetos, las SOAs estn formadas por servicios de aplicacin dbilmente acoplados y altamente interoperables. Para comunicarse entre s, estos servicios se basan en una definicin formal independiente de la plataforma subyacente y del lenguaje de programacin (p.ej., WSDL). La definicin de la interfaz encapsula (oculta) las particularidades de una implementacin, lo que la hace independiente del fabricante, del lenguaje de programacin o de la tecnologa de desarrollo (como Plataforma Java o Microsoft .NET). Con esta arquitectura, se pretende que los componentes de software desarrollados sean muy reutilizables, ya que la interfaz se define siguiendo un estndar; as, un servicio C# podra ser usado por una aplicacin Java. En este sentido, ciertos autores definen SOA como una Sper-Abstraccin.

Beneficios
Los beneficios que puede obtener una organizacin que adopte SOA son:

Mejora en los tiempos de realizacin de cambios en procesos. Facilidad para evolucionar a modelos de negocios basados en tercerizacin.

Facilidad para abordar modelos de negocios basados en colaboracin con otros entes (socios, proveedores). Poder para reemplazar elementos de la capa aplicativa SOA sin disrupcin en el proceso de negocio. Facilidad para la integracin de tecnologas dismiles.

Qu es SOA, la arquitectura orientada a servicios?


La urgencia de datos, la exactitud y la seguridad a partir de un final de un proceso de negocio al otro son ahora un mandato de negocio. Las organizaciones que pueden hacer esto tienen una distintiva ventaja competitiva. Pero la integracin por la integracin no es el objetivo exclusivo. El objetivo final de contar con un sistema unificado, significa para las compaas estar preparadas para cambiar sus focos y recursos desde el mantenimiento de las aplicaciones separadas al desarrollo de procesos de negocios de punta a punta basados en el servicio al cliente. Asimismo, la flexibilidad de un sistema unificado hace esto posible para cambiar aquellos procesos en una respuesta rpida a los cambios en las necesidades de los negocios. La arquitectura orientada a servicios (SOA) no se trata de software o de un lenguaje de programacin, SOA es un marco de trabajo conceptual que permite a las organizaciones unir los objetivos de negocio con la infraestructura de TI integrando los datos y la lgica de negocio de sus sistemas separados. Desarrollada a finales de los 90, SOA establece un marco de trabajo para servicios de red o tareas comunes de negocios para identificar el uno al otro y comunicarlo. La necesidad de tal marco se deriva de la evolucin del software de negocio. En los comienzos, los desarrollos de aplicaciones de negocio se concentraban en necesidades especficas: contabilidad, compras, nmina de sueldos, transporte. Cada aplicacin fue desarrollada sin consideracin de otros sistemas en la empresa y como comunicarse con ellos. Porque las aplicaciones eran auto suficientes, la informacin comn a toda la empresa (como por ejemplo: la direccin del cliente) y funciones especficas de negocios (como por ejemplo: buscar un nombre) aparecan en todas partes y requeran un cdigo complejo para, todos o muchos de los sistemas independientes. Por consiguiente, los diversos sistemas de TI de la mayora de las empresas hoy no pueden acceder o procesar los datos desde el uno al otro. Un simple proceso de negocio (como una venta para un pedido a un depsito enviado a una cuenta por cobrar) que tomara segundos si los sistemas se podran comunicar, ahora puede tomar semanas.

Qu puede hacer una empresa? Debera tener inversiones masivas en hardware, software y perfiles de individuos involucrados en la ejecucin de cada una de las aplicaciones separadas? Con SOA, una empresa puede mantener sus inversiones en los sistemas legacy y la gente necesaria para mantenerlos. Esto evita continuos y costosos proyectos "de integracin", como las mejoras a cualquier aplicacin son transparentes a todas las otras. La informacin de negocio es siempre "hasta el ltimo minuto", permitiendo mejores decisiones de negocio y mejorar las relaciones entre clientes y partners. A menudo, SOA es una solucin prometedora para los problemas de integracin. El desafo es cmo llegar ah. Cmo crear un ambiente SOA El desarrollo de un ambiente SOA involucra un nmero de pasos. El primer paso es asegurar que todo el software nuevo que se instale sea compatible con SOA. El segundo paso es identificar las funciones dentro de los sistemas legacy que desean integrar y publicarlas como servicios. Por supuesto, esto no es tan fcil como suena. El desarrollo de estos servicios puede requerir de perfiles que no existen en la empresa. Y las herramientas necesarias para examinar los desarrollos y las etapas de despliegue pueden venir de diferentes proveedores, cada uno con su propia instalacin, entrenamiento y temas de comunicacin. El Desarrollo de Aplicaciones Orientadas a Servicios (SODA) est diseado para vencer muchos de los problemas de lenguajes de software inherentes en los sistemas legacy. SODA permite reutilizar aplicaciones existentes y proveer un camino para construir nuevas, basadas en estndares, con interfases flexibles. Esta adopcin habilita un alto nivel de abstraccin tecnolgica. Es decir, SODA encapsula y abstrae tecnologas tales como bases de datos, J2EE, .NET y CORBA de modo que los desarrolladores no afronten la complejidad tcnica de la interaccin con aplicaciones heterogneas y sistemas de infraestructura. SODA as reduce significativamente el esfuerzo requerido para traducir nuevos desafos de negocios dentro de aplicaciones funcionales.

Consultor
Un consultor (del latn consultus que significa "asesoramiento") es un profesional que provee de consejo experto en un dominio particular o rea de experiencia, sea mantenimiento, contabilidad, tecnologa, ley, diseo, recursos humanos, ventas, medicina, finanzas, relaciones pblicas, comunicacin, aprendizaje de lenguas extranjeras u otros. La principal funcin de un consultor es asesorar en las cuestiones sobre las que posee un conocimiento especializado. Los consultores tambin poseen una especializacin dentro de su actividad, ejemplo de esto es un consultor contable, con un nivel de especializacin mayor en los aspectos relacionados con la contabilidad o economa en una empresa a diferencia de un consultor comercial, que a veces pueden poseer un conocimiento general pero no necesariamente profundo en algunas reas. Caractersticas del consultor 1. Paciente: Base del xito del consultor dentro de la empresa: Se debe recordar que la paciencia es el principio de una buena relacin entre el consultor y el cliente. Recuerda que tu cliente generalmente ya no la tiene y que t debes conservarla. Debes permitir que la gente experimente contigo. 2. Objetivo: No se debe perder en ningn momento el sentido de lo que estamos haciendo. Los problemas y desacuerdos nos pueden hacer perder la visin y el objetivo de nuestra misin. Debemos siempre tener en cuenta hacia donde va nuestra principal contribucin. Orintate a procesos, no a funciones. 3. Independiente: El consultor no es parte integrante de ninguno de los equipos de la organizacin, y puede ofrecer un punto de vista imparcial, comprometido slo con los grandes objetivos de la organizacin, ms all de los marcos de referencia (paradigmas) y los intereses particulares de las diferentes reas. 4. Analtico: La misin del consultor es identificar los lmites y definirlos. Debes ver ms atrs de lo que se te ofrece. Tu anlisis tiene que tomar en cuenta, entre otros aspectos: Identificacin de: Qu hago yo?, Con qu herramientas dispongo?, Qu es lo que hago mejor?, Qu es lo que me falta aprender? Dnde estn los procesos de negocio? Un proceso de negocio: Dnde se hace el dinero en la empresa? Tomar en cuenta el ambiente que rodea a nuestro cliente: clientes, proveedores, etc., y atacar todos los puntos posibles del problema. Aspectos psicolgicos en tu cliente, considerar la viabilidad del trabajo en equipo, dar el enfoque de ser socios de negocio con nuestro cliente.

Cuestinate siempre todo. 5. Especfico: No solamente se debe dar "que hacer", tambin se debe dar el cmo y el cuando hacerlo. Debes ser cuidadoso al dar tus opiniones y juicios de valor. Definir los lmites de intervencin del modelo. 6. Generador de alternativas: El cliente espera que se le den alternativas. Haz preguntas especficas sobre todos los aspectos de la empresa, Genera un modelo de intervencin que te permita crear y proponer nuevos caminos y soluciones. Utiliza tu inventiva en las entrevistas con tu cliente para obtener la informacin que necesitas. Haz preguntas: tu cliente tiene la respuesta.

S-ar putea să vă placă și