martes, 8 de julio de 2008

Quieres saber que es SOA



Introducción




En la actualidad el diseño de aplicaciones se orienta cada vez más a la creación de clases y servicios. El negocio es soportado por una arquitectura tecnológica donde se automatizan tareas en métodos de clases, disponible de forma transparente para cualquier usuario de la red privada o pública




Definición SOA


Acrónimo SOA => Arquitectura Orientada a Servicios




SOA es una arquitectura (software) de negocio para la construcción de aplicaciones basadas en servicios; disponibles en una red como la Web.


Procesos y SOA


El propósito fundamental de la Arquitectura Orientada a Servicios (SOA) es desarrollar soluciones que se centren en los sistemas de servicios que necesitan interrelacionarse, reutilizando las interfaces totalmente acopladas con modelos distribuidos (tecnología).




Con los modelos distribuidos, los sistemas pueden responder a las crecientes necesidades empresariales sin necesidad de rediseñar y reconstruir a gran escala.


Un sólido diseño de arquitectura garantiza que la solución de sistemas esté basada en los requisitos del proceso de negocio (BPM). Se ha comprobado que el alcance de una arquitectura para el análisis y el diseño supone un ahorro importante en el coste del desarrollo del producto final, sin mencionar la calidad garantizada de la solución obtenida.



El uso de una metodología de desarrollo de la arquitectura garantiza que se han documentado y comprendido las necesidades del negocio, en particular garantiza una clara comprensión de los procesos, datos, diseños de la organización y dirección estratégica de la empresa.


La arquitectura orientada a servicios:




  • Ofrece un marco de trabajo para alinear los procesos de negocio con la tecnología .


  • Representan procesos de negocio y que se combinan entre sí para ofrecer soluciones adecuadas a las diferentes necesidades de negocio.


Definición Servicio (implementación de tareas)
Un servicio es la implementación de una función de negocio, que será utilizado por los clientes desde diferentes aplicaciones o procesos de negocios.






Tecnología SOA


La implementación de SOA es se realiza con Web Services, una tecnología diseñada para permitir la interoperabilidad entre sistemas a través de una red. Y la interoperabilidad se logra mediante un conjunto de estándares abiertos basados en XML, tales como WSDL, SOAP y UDDI. Estos estándares proporcionan un enfoque común para definir, publicar y utilizar Web Services.

Por ejemplo Java 2 Enterprise Edition (J2EE) es una plataforma para desarrollar los Web Services con que se implementa SOA. Ofrece las herramientas necesarias para construir, probar e implantar tanto servicios Web como clientes, que interoperan con otros servicios Web o clientes, ya sea sobre plataformas basadas o no en Java (portabilidad).

La plataforma .net, en los lenguajes de programación ASP y C# también permiten la creación de componentes SOA (web services)



Características de SOA



SOA en el nivel de implementación:



  • SOA separa en niveles el proceso, por ejemplo la interfaz de servicio y el negocio; el negocio y el acceso a datos.

  • El acceso a servicios es transparente en la red, es decir a los consumidores de servicios (Aplicaciones front end) no les interesa conocer la forma en que estos responden a sus solicitudes.

  • Los servicios deben ser en la medida de lo posible especializados en una tarea; eso con la finalidad de incrementar el grado de reutilización de los componentes.

  • Los servicios estan dispersos por toda la red (Repositorio de servicios)

  • Los consumidores invocan los servicios sin conocer donde se ubican y otros servicios se encargan de direccionarlos (Service Bus)
Conclusiones

La arquitectura orientada a servicios constituye una evolución del concepto de reingeniería de procesos, con el uso de la tecnología web services. SOA es un trabajo a nivel de procesos de negocio que se consolida con tecnología.
SOA es una herramienta clave para adecuar los negocios a las exigencias de mercado competitivo y cambiante que vivimos en la actualidad.