Posteado por: uviyin | abril 1, 2011

¿Qué es SOA?

Dicho esto, debemos hacer notar que SOA (Service Oriented Architecture) no es una tecnología ni un producto que podamos comprar e instalar. SOA es un conjunto de patrones, principios y prácticas para construir piezas de software que puedan interoperar independientemente de la tecnología empleada en su implementación. En este sentido, SOA implica la superación de tecnologías como Java RMI o .NET Remoting que no permiten la interoperabilidad entre distintas tecnologías de desarrollo de software. La clave de la arquitectura SOA está en la exposición de interfaces abstractas que aíslen de la implementación particular de cada pieza de software. Para conseguir este objetivo resulta especialmente útil el uso de servicios web basados en los estándares SOAP, XML y WSDL. Sin embargo, hay que tener en cuenta que es posible tener web services y no por ello tener SOA dado que como hemos comentado, SOA es un problema de diseño y no de aplicación de una determinada tecnología. Como características típicas de una arquitectura SOA podemos comentar: ◦SOA está basado en estándares, por ejemplo las especificaciones WS-*. ◦Los servicios deben ser autónomos y granulares. ◦Los proveedores y consumidores deben estar débilmente acoplados. Por último, comentar que la aplicación de una arquitectura SOA en el contexto de un problema de integración se conoce como SOI o Integración Orientada a ServiciosEs un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio.
SOA es una metodología y una guía de trabajo, que permite documentar las competencias del negocio, aportando apoyo a las actividades de integración y consolidación dentro de las empresas u organizaciones. A diferencia de las arquitecturas orientadas a objetos, SOA está conformada por servicios de aplicación acoplados y trascendentalmente interoperables, para comunicarse entre sí. Para algunos, SOA, es la evolución de conceptos y tecnologías existentes, soportadas por el uso de estándares abiertosLas capas de SOA
Capa 1: Sistemas Operacionales.Esta capa consiste en las aplicaciones existentes dentro de la empresa, conocidas como legacy systems. Entre estas capas podemos tener CRM´s, ERP´s, aplicaciones de BI, Orientadas a objetos, etc. Todas estas aplicaciones se integran a través de SOA.
Capa 2: Capa de ComponentesEsta capa es la que contiene los componentes que se encargan de brindar la funcionalidad que exponen los servicios. Esta capa tipicamente usa tecnologías para contener los componentes que existen dentro de esta, tales como servidores de aplicaciones, los cuales a su vez ayudan a llevar a cabo tareas como implementar componentes, a manejar el balanceo de los componente, la disponibilidad, etc.
Capa 3: Capa de Servicios: En esta capa residen los servicios que la organización decide exponer. Pueden ser descubiertos, referenciados directamente, o ser parte de una orquestación o de un servicio compuesto. Normalmente estos servicios exponen la funcionalidad de negocio a través de contratos que permiten invocar los componentes de negocio que se encuentran en la capa de componentes de la empresa. Estos contratos permiten cambiar la forma en que se llevan a cabo las tareas sin necesidad de hacer redeploy de los servicios expuestos.
Capa 4: Procesos de Negocio – Orquestación: En esta capa se exponen las orquestaciones de los servicios. Los servicios están ligados a estos workflows, y por lo tanto actúan como una sola aplicación. Aqui se utilizan herramientas visuales para construir los flujos de trabajo tales como el diseñador de orquestación de Biztalk Server, o alguna herramienta de terceros que me permita crear workflows en notación BPEL.
Capa 5: Capa de Presentación. Normalmente esta capa no forma parte de SOA, pero cada día se vuelve más relevante. Los usuarios acceden los servicios y las orquestaciones invocando desde diversas interfaces de usuario la funcionalidad que desean consumir.
Capa 6: Integración ( ESB – Enterprise Service Bus ). Esta capa facilita la integración de servicios a través de la introducción de un conjunto de capacidad tales como ruteo, mediación de protocolos, mecanismos de transformación, etc. Con el WSDL ( Web Service Description Language ) se especifica el binding, el cual implica la localización del servicio que se provee. Al mismo tiepmo, el ESB nos da la facilidad de tener independencia de la ubicación del servicio para su integración, ya que es el ESB el que al final controla el ruteo de los mensajes que le llegan para ser procesados.
Capa 7: Administración, Monitoreo y Calidad del Servicio. Esta capa nos da las características requeridas para monitorear, administrar y mantener la calidad del servicio en áreas tales como seguridad, desempeño, y disponibilidad. Se le conoce como el SOA governance.
– Menor costo de integración
– Mayor flexibilidad, reutilización de los activos y servicios existentes.
– Un enfoque basado en estándares e interoperabilidad.
– Soa Apuntan fundamentalmente a satisfacer en las organizaciones, la rapidez operativa como consecuencia del entorno comercial en que se desenvuelven. Para lograrlo se hace necesario que los  componentes de esta infraestructura sean tan reutilizables y poco interdependientes que permitan una rápida reestructuración de los mismos.
-Tiende a Forzar un cambio en las organizaciones, un alto esfuerzo.  No siendo sencillo, para la mayoría de las organizaciones adoptar SOA. Sobre éste aspecto, quizás la principal ventaja de implementar SOA
-Genera más  beneficios a las organizaciones. Debido a que SOA  está presente en la aplicación  de las tarjetas de crédito, la aplicación de cuenta corriente, de cuenta de ahorro. La de créditos comerciales, créditos hipotecarios, de automóviles.In order to efficiently use a SOA, the architecture must meet the following requirements:
Con el fin de utilizar eficientemente una SOA, la arquitectura debe cumplir los siguientes requisitos: Interoperability among different systems and programming languages that provides the basis for integration between applications on different platforms through a communication prot
La interoperabilidad entre diferentes sistemas y lenguajes de programación que proporciona la base para la integración entre las aplicaciones en diferentes plataformas a través de un protocolo de comunicación. One example of such communication depends on the concept of messages . Un ejemplo de la comunicación depende del concepto de mensajes. Using messages across defined message channels decreases the complexity of the end application, thereby allowing the developer of the application to focus on true application functionality instead of the intricate needs of a communication protocol. Usando mensajes a través de canales de mensajes definidos disminuye la complejidad de la aplicación final, lo que permite al desarrollador de la aplicación para centrarse en la funcionalidad verdadera aplicación en lugar de las necesidades complejas de un protocolo de comunicación.

  1. 5.       Application level Authentication and Authorization: Every application is accessed in its own Silo A nivel de aplicación de autenticación y autorización: Todas las aplicaciones se accede en su propio Silo .
  2. Loose Authentication control: Some applications are on LDAP Perder el control de autenticación: Algunas aplicaciones están en LDAP
  3. Tight directory controlled authentication: SSO enabled across most applications Estrecha autenticación del directorio controlado: SSO habilitado en la mayoría de las aplicaciones
  4. Centrally controlled Identity and Access Management Controlada de forma centralizada de identidades y acceso de administraciónMaster Data
  5. Datos maestros

    • Application Controlled: All applications control their master data Aplicación controlada: Todas las aplicaciones de control de sus datos maestros
    • Partial sharing: Some applications share master data but not all masterdata Parcial compartir: Algunos datos de compartir aplicaciones amo, pero no todos Masterdata.
    • Centralized Master Data Maintenance: Most master data is shared and maintained through some MDM implementation Maestra Centralizada de Datos de Mantenimiento: La mayoría de los datos maestros es compartida y mantenida a través de alguna aplicación. 

    Conclusiones. Soa es una  arquitectura que está  orientada a brindar un gran soporte a  la tomo de decisiones ayuda a la integración de  procesos de la organización, como son los procesos internos y externo.Soa ofrece un sistema de interoperabilidad entre diferentes sistemas y lenguajes de  programación.

    

    Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: