1. SOA
Sistemas Integrales para las Organizaciones
Ocampo Pierre Karina
Vargas Lara Angélica
UNIVERSIDAD VERACRUZANA
Trabajo Final:
SOA
Sistemas Integrales para las Organizaciones
UNIVERSIDAD VERACRUZANA
S O A
1
2. SOA
Sistemas Integrales para las Organizaciones
IN TRODUCCIÓN
L
a realidad hoy día en las empresas de IT es que la infraestructura es heterogénea a través
de sistemas operativos, aplicaciones, software de sistemas creados en diferentes
momentos y bajo distintos paradigmas.
Algunas aplicaciones existentes son usadas para correr procesos de negocio claves, por lo
tanto empezar desde cero a construir una nueva infraestructura no es una opción.
Las empresas deben responder rápidamente a los cambios de negocio, escalando las
inversiones existentes en aplicaciones, soportando nuevos canales de interacciones con
los clientes, socios y proveedores; y definir una arquitectura que soporte negocios
orgánicos.
SOA con su naturaleza desacoplada, permite a las empresas conectar nuevos servicios o
escalar servicios existentes en un modo granular para atender a los nuevos
requerimientos de negocio, proveer la opción de hacer servicios consumibles a través de
diferentes canales y exponer las aplicaciones actuales y las heredadas como servicios ,
salvando así la inversión previa en infraestructura.
S O A
1
3. SOA
Sistemas Integrales para las Organizaciones
SOA
Ocampo Pierre Karina
Vargas Lara Angélica
♣ ¿Qué es SOA?
• SOA es una arquitectura conceptual.
• Organiza funciones de negocio como servicios interoperables.
• Permite reutilización de servicios para satisfacer necesidades de negocio.
• SOA es basado en estándares.
• Independencia de fabricantes.
• SOA es una estrategia de IT a nivel empresarial.
SOA es un estilo de arquitectura en el cual se exponen los procesos de negocio del sistema a
construir como servicios independientes de alta cohesión y bajo acoplamiento que
encapsulan dichos procesos y pueden ser invocados a través de interfaces bien definidas.
♣ ¿Qué no es SOA?
SOA como tal no es:
• Metodología de Desarrollo de Proyectos.
• Metodología de Arquitectura Empresarial.
SOA como estilo arquitectónico
• Componente: Servicio
• Conectores: Antes, RPC – Ahora, paso de mensajes.
• Configuración: Distribuido
• Restricciones (Constraint): Bajo acoplamiento, independencia de modelo de programación,
independencia de plataforma, transporte y protocolo por acuerdo de industria
♣ Arquitectura orientada a servicios
La Arquitectura Orientada a Servicios (en inglés Service Oriented Architecture), es un
concepto de arquitectura de software que define la utilización de servicios para dar
soporte a los requisitos del negocio.
Permite la creación de sistemas altamente escalables que reflejan el negocio de la
organización, a su vez brinda una forma estándar de exposición e invocación de servicios
S O A
(comúnmente pero no exclusivamente servicios web), lo cual facilita la interacción entre
diferentes sistemas propios o de terceros.
1
4. SOA
Sistemas Integrales para las Organizaciones
SOA define las siguientes capas de software:
• Aplicaciones básicas - Sistemas desarrollados bajo cualquier arquitectura o tecnología,
geográficamente dispersos y bajo cualquier figura de propiedad;
• De exposición de funcionalidades - Donde las funcionalidades de la capa aplicativas son
expuestas en forma de servicios (servicios web);
• De integración de servicios - Facilitan el intercambio de datos entre elementos de la capa
aplicativa orientada a procesos empresariales internos o en colaboración;
• De composición de procesos - Que define el proceso en términos del negocio y sus
necesidades, y que varía en función del negocio;
• De entrega - donde los servicios son desplegados a los usuarios finales.
SOA proporciona una metodología y un marco de trabajo para documentar las
capacidades de negocio y puede dar soporte a las actividades de integración y
consolidación.
Todas las arquitecturas SOA tienen las siguientes caracteristicas clave :
• Los servicios SOA auto describen su interfaz en documentos XML que son
independientes de la plataforma. WSDL (Web Service Description Language) es
el lenguaje utilizado para describir los servicios.
• Los servicios SOA se comunican con mensajes formalmente definidos via un
esquema XML.La comunicación entre consumidores y proveedores de servicios
típicamente ocurre en un ambiente heterogeneo , con poco o ningun
conocimiento sobre el proveedor.
• Los servicios SOA son mantenidos en una empresa por un registro que actua
como un directorio. Las aplicaciones pueden mirar los servicios en este registro e
invocarlos. UDDI (Universal Description , Definition and Integration).
♣ Definiciones SOA
S O A
1
5. SOA
Sistemas Integrales para las Organizaciones
Término Definición / Comentario
Una función sin estado (Existen servicios asíncronos en los que una
solicitud a un servicio crea, por ejemplo, un archivo, y en una segunda
solicitud se obtiene ese archivo), auto-contenida, que acepta una(s)
Servicio llamada(s) y devuelve una(s) respuesta(s) mediante una interfaz bien
definida. Los servicios pueden también ejecutar unidades discretas de
trabajo como serían editar y procesar una transacción. Los servicios no
dependen del estado de otras funciones o procesos. La tecnología concreta
utilizada para prestar el servicio no es parte de esta definición.
Orquestación Secuenciar los servicios y proveer la lógica adicional para procesar datos.
No incluye la presentación de los datos. Coordinación.
No mantiene ni depende de condición pre-existente alguna. En una SOA
los servicios no son dependientes de la condición de ningún otro servicio.
Sin estado
Reciben en la llamada toda la información que necesitan para dar una
respuesta. Debido a que los servicios son "sin estado", pueden ser
secuenciados (orquestados) en numerosas secuencias (algunas veces
llamadas tuberías o pipelines) para realizar la lógica del negocio.
Proveedor La función que brinda un servicio en respuesta a una llamada o petición
desde un consumidor.
Consumidor La función que consume el resultado del servicio provisto por un
proveedor.
♣ Un vistazo a los beneficios
SOA puede ayudarle a evolucionar, para:
• Mejora en los tiempos de realización de cambios en procesos.
• Facilidad para evolucionar a modelos de negocios basados en tercerización.
• Facilidad para abordar modelos de negocios basados en colaboración con otros
entes (socios, proveedores).
S O A
• Poder para reemplazar elementos de la capa aplicativa SOA sin disrupción en el
proceso de negocio
1
6. SOA
Sistemas Integrales para las Organizaciones
• Facilidad para la integración de tecnologías
• Obtener mejor visibilidad de la información a través de toda su organización.
• Responder a las necesidades de negocios y las oportunidades de mercado.
• Optimice sus procesos de negocios.
♣ Antes y Después de SOA Después de SOA
S O A
1
7. SOA
Sistemas Integrales para las Organizaciones
Servicios
compartid
os
Cooperati
vo
Interoper
able
Integrado
Después:
Con una
Arquitect
ura
Orientada
a
Servicios
(SOA), los
usuarios
ya no
tienen
que iniciar
sesión en
varios
sistemas,
buscar los
datos
relevantes
e integrar
los
resultados
manualm
S O A
ente. Los
datos de
las
actividade
s de los
1 procesos
de
negocios
8. SOA
Sistemas Integrales para las Organizaciones
Separado
en silos,
no
integrados
Cerrado
Monolític
o
Frágil,
vulnerable
Antes:
En las
arquitectu
ras de TI
tradiciona
les, las
actividade
s del
proceso
de
negocios,
las
aplicacion
es y los
datos con
frecuencia
están
encerrado
s en
"silos"
independi
entes e
incompati
bles que
son caros
S O A
de
mantener
y dejan a
1
9. SOA
Sistemas Integrales para las Organizaciones
♣ Razones para usar SOA
Existen varias razones para que una empresa adopte un enfoque SOA, y más
concretamente un enfoque SOA basado en servicios web:
• Reutilización: El factor fundamental en el cambio a SOA es la reutilización de los
servicios de negocio. Las funciones de negocio, dentro de una empresa y con los business
partners , pueden ser expuestos como servicios web y ser reutilizadas para cubrir nuevas
necesidades de negocio.
• Interoperabilidad: El objetivo de una arquitectura débilmente acoplada es que los
clientes y servicios se comuniquen independientemente de la plataforma en que residan.
Los protocolos de comunicación con servicios web son independientes de la plataforma,
lenguaje de codificación y sistema operativo por lo que facilitan la comunicación con los
business partners.
• Escalabilidad: Como los servicios de SOA están débilmente acoplados, las aplicaciones
que usan esos servicios escalan fácilmente. Esto es debido a que existe muy poca
dependencia entre las aplicaciones clientes y los servicios que usan.
• Flexibilidad: Es otra de las características que proporciona el acoplamiento débil entre
los servicios. Cualquier cambio en la implementación de uno de ellos no afectaría al resto
siempre que se mantenga la interfaz.
• Eficiencia de coste: Las arquitecturas SOA se basan en la exposición de servicios ya
existentes para ser reutilizados. Al usar servicios web, para exponer estos servicios, se
reutilizan la infraestructura web existente en virtualmente todas las organizaciones por lo
que se limita considerablemente el coste.
♣ Elementos esenciales de una Arquitectura Orientada a
Servicios
En las Arquitecturas Orientadas a Servicios, el elemento básico es el servicio. Pero únicamente
con este concepto, no podríamos diseñar una arquitectura SOA.
Cuatro son los elementos esenciales necesarios para la construcción de una Arquitectura
Orientada a Servicios:
S O A
1. Operación: Es la unidad de trabajo o procesamiento en una arquitectura SOA.
1
10. SOA
Sistemas Integrales para las Organizaciones
2. Servicio: Es un contenedor de lógica. Estará compuesto por un conjunto de operaciones,
las cuales las ofrecerá a sus usuarios.
3. Mensaje: Para poder ejecutar una determinada operación, es necesario un conjunto de
datos de entrada. A su vez, una vez ejecutada la operación, esta devolverá un resultado.
Los mensajes son los encargados de encapsular esos datos de entrada y de salida.
4. Proceso de negocio: Son un conjunto de operaciones ejecutadas en una determinada
secuencia (intercambiando mensajes entre ellas) con el objetivo de realizar una
determinada tarea.
Por lo tanto, una aplicación SOA estará formada por un conjunto de procesos de
negocio. A su vez esos procesos de negocio estarán compuestos por aquellos que
servicios que proporcionan las operaciones que se necesitan ejecutar para que el
proceso de negocio llegue a buen término. Por último para ejecutar esas
operaciones es necesario el envío de los datos necesarios mediante los
correspondientes mensajes.
♣ Infraestructura SOA
S O A
1
11. SOA
Sistemas Integrales para las Organizaciones
Para implementar SOA las empresas necesitan una arquitectura de servicios , como se muestra en
la siguiente figura :
Aquí los consumidores se servicios invocan servicios por medio de mensajes. Estos
mensajes son típicamente transformados y enrutados por un Bus de servicios para una
implementación apropiada del servicio. Esta arquitectura puede proveer también una
infraestructura de administración que gestiona los servicios, y permite actividades como
auditoria , facturación o registro.
♣ Diseño y desarrollo de SOA
La metodología de modelado y diseño para aplicaciones SOA se conoce como análisis y
diseño 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 implementación.
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 términos de
planificación, herramientas e infraestructura.
Cuando la mayoría de la gente habla de una arquitectura orientada a servicios están
hablando de un juego de servicios residentes en Internet o en una intranet, usando
servicios web. Existen diversos estándares relacionados a los servicios web. Incluyen los
siguientes:
S O A
• XML
• HTTP
1
12. SOA
Sistemas Integrales para las Organizaciones
• SOAP
• WSDL
• UDDI
Hay que considerar, sin embargo, que un sistema SOA no necesariamente necesita
utilizar estos estándares 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 mayoría de las definiciones de SOA identifican la utilización de
Servicios Web (empleando SOAP y WSDL) en su implementación, no obstante se puede
implementar SOA utilizando cualquier tecnología basada en servicios.
S O A
1
13. SOA
Sistemas Integrales para las Organizaciones
CONCLUSIÓN
E
n conclusión pensamos que en el competitivo mercado global de hoy, permanecer en el
mismo lugar significa estar atrasado, es por ello que es fundamental la introducción de
nuevas ideas y frecuentemente requiere hacer un cambio tecnológico, es por eso que las
demandas hechas a la TI siguen creciendo con mayor transparencia, mayor flexibilidad y
sistemas de integración más herméticos.
Consideramos que la respuesta a todo ello es SOA, (Oriented Architecture Services) que
le asegura que todas las aplicaciones que son críticas al éxito de su negocio se pueden
comunicar entre si sin problema.
Servicios SOA administra todos los procesos esenciales en forma transparente y en todas
las aplicaciones, siguiendo el siguiente principio: Cada aplicación está conectada a la
plataforma central de Servicios SOA. El sistema coordina las peticiones que entran y las
envía a la solución de software correspondiente en el formato correcto.
S O A
1
14. SOA
Sistemas Integrales para las Organizaciones
BIBLIOGRAFÍA.
“Enterprise Integration”.Beth Gold-Bernstein, William Ruh. 2005. (Addison-Wesley)
"Service Orientation : Winning Strategies and Best Practices". P. Allen, S. Higgings, P.
McRae, H. Schlamman. 2006. (Cambridge University Press)
"Enterprise Service Oriented Architectures : Concepts, Challenges,
Recommendations". J. McGoverns, O. Sims, A. Jain, M. Little. 2006. (Springer)
"Service-Oriented Architecture : A Planning and Implementation Guide for Business
and Technology". Eric A.Marks, Michael Bell. 2006. (Wiley)
"Enterprise SOA : Designing IT for Business Innovation". D. Woods, T. Matterns.
2006. (O'Reilly Media)
"Service Orient or Be Doomed! : How Service Orientation Will Change Your
Business". J. Bloomberg, R. Schmelzer. 2006. (Wiley)
“Understanding Enterprise SOA ”.E. Pulier, H. Taylor. 2006. (Manning)
“Service-Oriented Architecture Compass”.N. Bieberstein, S. Bose, M. Fiammante, K.
Jones, R. Shah. 2006. (IBM Press)
“Understanding SOA with Web Services”.E. Newcomer, G. Lomow. 2005. (Addison-
Wesley)
“Enterprise SOA. Service-oriented Architecture Practices”.D. Krafzig, K. Banke, D.
Slama. 2005. (Prentice Hall)
“WebServices Platform Architecture”.S. Weerawarana, F. Curbera, F. Leymann, T.
Storey, D. Ferguson. 2005. (Prentice Hall)
S O A
“Service-Oriented Architecture. Concepts, Technology, and Design”.Thomas Erl.
2005. (Prentice Hall)
1
15. SOA
Sistemas Integrales para las Organizaciones
“Service-Oriented Architecture. A field Guide to integrating XML and Web Services”.
Thomas Erl. 2004. (Prentice Hall)
“WebServices. Concepts, Architectures and Applications”.G. Alonso, F. Casati, H.
Kuno, V. Machiraju. 2004. (Springer)
“WebServices and Service-Oriented Architectures. The Savvy Manager Guide”.
’s
Douglas Barry. 2003. (Morgan Kaufmann)
“Loosely Coupled. The Missing Pieces of Web Services”.Doug Kaye. 2003. (Kaye)
“NextGeneration Application Integration”.David S. Linthicum. 2004. (Addison-
Wesley)
“Enterprise Service Bus”.David A. Chappell. 2004. (O’Reilly)
“Enterprise Integration”.Fred A. Cummins. 2002. (Wiley)
S O A
1