2008-09-12 15 views
15

La arquitectura orientada a servicios parece ser cada vez más una cita caliente en estos días, pero después de preguntar por la oficina he descubierto que parece que tengo muchas definiciones diferentes para ella. ¿Cómo definirías SOA? ¿Cuál considerarías la definición oficial?Arquitectura orientada a servicios: cómo la definiría

Respuesta

3

Un diseño SOA incluye componentes (es decir, servicios) que pueden ser utilizados por código independientemente de la implementación (es decir, cualquier SO o idioma). Una instancia única de un servicio también puede ser utilizada por múltiples aplicaciones, mientras que, por ejemplo, una DLL debería duplicarse para cada aplicación y requerir la misma tecnología de implementación que la aplicación de enlace.

Los servicios en un diseño SOA generalmente se implementan como servicios web interoperables.

5

me gustaría ir con:

Definir una serie de apátrida, cliente operaciones comerciales agnósticos crean deje sentir en múltiples aplicaciones .

+1

+1 "cliente agnóstico sin estado" lo más claro que he oído –

0

Intenté definir SOA en one of my blog posts. Aquí hay un extracto ...

Durante años, ha sido una práctica estándar separar la funcionalidad en funciones, clases y módulos. La idea siempre ha sido que estos componentes más pequeños y altamente especializados son más fáciles de compartir y mantener que los bloques monolíticos de código.

Funcionalmente, SOA no es muy diferente. Los objetivos son los mismos: reutilización y mantenimiento sencillo. La mayor diferencia, en el caso de un servicio web SOA, es que la biblioteca compartida incluida en su aplicación se reemplaza por una llamada HTTP.

2

No hay una definición oficial como Ryan mencionó eariler. Sin embargo, considero que la visión de Thomas Erl sobre toda la orientación al servicio está bien estructurada y es relevante. Aquí está la definición de la arquitectura SOA de su SOA Glossary (more):

la arquitectura orientada a servicios representa un modelo arquitectónico que tiene como objetivo mejorar la agilidad y la rentabilidad de una empresa, mientras que la reducción de la carga global de la TI en una organización .

Thomas Erl es el autor de muchos títulos de SOA, la mayoría de ellos con el respaldo de proveedores de SOA como IBM, Oracle y Microsoft. Lo bueno de his books es que son los proveedores de SOA más independientes posible. Significa que aprende más acerca de la orientación del servicio y menos sobre el middleware de algún proveedor que admite SOA.

6

Wikipedia: "A SOA es una arquitectura de software que utiliza servicios de software débilmente acoplados para satisfacer los requisitos de los procesos de negocios y usuarios de software.Los recursos en una red en un entorno SOA están disponibles como servicios independientes a los que se puede acceder sin tener conocimiento de la implementación de su plataforma subyacente. "

SOA no es tan nuevo, pero tiene el potencial de lograr cosas sorprendentes. tiene que estar preparado para eso: la empresa tiene que pensar en procesos y ese es el gran problema

1

Estoy de acuerdo con todas las personas que te señalan a Fowler en esto. Básicamente funciona así: la arquitectura orientada al servicio tiene reputación como bueno, cualquier cosa que las personas quieran asociar con lo bueno lo llaman SOA. En realidad, tiene muchas desventajas y puede crear un Gridlock orientado a servicios o una arquitectura orientada a la dependencia.

Aquí está mi ir en una definición: Service Oriented Architecture es un enfoque de integración de sistemas y reutilización de códigos donde las aplicaciones dependen de la conexión a servicios proporcionados por otras aplicaciones en ejecución a través de la red. Esto es distinto de las arquitecturas de los componentes, donde los componentes de software se comparten de forma estática entre las aplicaciones en forma de bibliotecas o SDK, por ejemplo.

1

Una aclaración aquí - "arquitectura orientada a servicios es una integración y el código de enfoque reutilización sistemas en los que las aplicaciones dependen de conexión a los servicios prestados por otras aplicaciones que se ejecutan a través de la red."

Tengo un escenario en el que dos aplicaciones j2ee se han integrado utilizando mensajes basados ​​en eventos. Aquí las frases anteriores de integración de sistemas y que conectan a los servicios proporcionados por otras aplicaciones en ejecución a través de la red son válidas. ¿Puedo llamar a esto SOA?

Los siguientes principios se mantenga bien aquí 1) apatridia 2) orientada mensaje - de acoplado) extensible de acoplamiento flexible de hecho 3.

Sin embargo, lo siguiente no se aplica 1) independencia de la plataforma: ninguna de las aplicaciones que se integran ha sido diseñada para funcionar en una plataforma diferente. 2) Las aplicaciones son aplicaciones j2ee simples que no se han diseñado con todos los conceptos de SOA.

0

Aquí hay una definición para usted:

SOA - Software a través de Architected. La inclusión de un marco de interfaz funcional inútil y abarrotado llamó a una arquitectura en un sitio web bonito con una carpeta gráfica 3d que volaba de un lado a otro donde "dir/s> a.txt | ftp -s: upload.ftp" hizo el trabajo.

Los componentes de software no son ladrillos, no se pueden generalizar mediante patrones funcionales comunes y la arquitectura emerge en la empresa de las buenas prácticas, no del buen diseño. El software no está diseñado, está diseñado.

SCRUM ON!

Cuestiones relacionadas