You are on page 1of 3

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.

Contenido

1 Terminologa 2 Diseo y desarrollo de SOA 3 Lenguajes de alto nivel 4 Diferencias con otras arquitecturas 5 Beneficios 6 Vase tambin 7 Literatura 8 Enlaces externos

Terminologa
Trmino Servicio Definicin / Comentario Una funcin sin estado, auto-contenida, que acepta una(s) llamada(s) y devuelve una(s) respuesta(s) mediante una interfaz bien definida. Los servicios pueden tambin ejecutar unidades discretas de trabajo como seran

editar y procesar una transaccin. Los servicios no dependen del estado de otras funciones o procesos. La tecnologa concreta utilizada para prestar el servicio no es parte de esta definicin. Existen servicios asncronos en los que una solicitud a un servicio crea, por ejemplo, un archivo, y en una segunda solicitud se obtiene ese archivo Orquestacin Secuenciar los servicios y proveer la lgica adicional para procesar datos. No incluye la presentacin de los datos. Coordinacin. Sin estado No mantiene ni depende de condicin pre-existente alguna. En una SOA los servicios no son dependientes de la condicin de ningn otro servicio. Reciben en la llamada toda la informacin que necesitan para dar una respuesta. Debido a que los servicios son "sin estado", pueden ser secuenciados (orquestados) en numerosas secuencias (algunas veces llamadas tuberas o pipelines) para realizar la lgica del negocio. Proveedor La funcin que brinda un servicio en respuesta a una llamada o peticin desde un consumidor. Consumidor La funcin que consume el resultado del servicio provisto por un proveedor

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[cita requerida].

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.

You might also like