sistemas significado servicios practicos orientada objetos negocios ejemplos definicion datos arquitectura soa definition

soa - significado - Arquitectura Orientada al Servicio: ¿Cómo la definirías?



soa pdf (9)

La arquitectura orientada al servicio 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?


Aquí hay una definición para ti:

SOA - Software Over 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 ENCENDIDO!



Un diseño SOA incluye componentes (es decir, servicios ) que pueden ser utilizados por el código independientemente de la implementación (es decir, cualquier sistema operativo o lenguaje). 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.


Yo iría con:

Definición de una serie de operaciones comerciales agnósticas de cliente sin estado creadas para ser aprovechadas en múltiples aplicaciones.


Intenté definir SOA en una de las publicaciones de mi blog . 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.


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 SOA de su SOA Glossary ( más ):

La arquitectura orientada a servicios representa un modelo arquitectónico que tiene como objetivo mejorar la agilidad y la rentabilidad de una empresa, al tiempo que reduce la carga global de 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, incluidos IBM, Oracle y Microsoft. Lo bueno de sus libros es que son los vendedores 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.


Wikipedia: "Una SOA es una arquitectura de software que usa 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 conocimiento de su plataforma subyacente implementación."

SOA no es tan nuevo, pero tiene potencial para lograr cosas increíbles. Pero la organización tiene que estar preparada para ello: la empresa tiene que pensar en los procesos y ese es el gran problema


Estoy de acuerdo con todas las personas que te señalan a Fowler en esto. Básicamente funciona así: la arquitectura orientada a servicios tiene la reputación de ser buena, por lo que 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 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 los servicios proporcionados por otras aplicaciones en ejecución en toda 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.


Una aclaración aquí: "La arquitectura orientada a servicios es un enfoque de integración de sistemas y reutilización de códigos donde las aplicaciones dependen de la conexión a los servicios proporcionados por otras aplicaciones en ejecución en toda la red ".

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

Los siguientes principios serían válidos aquí 1) apatridia 2) orientado al mensaje - acoplado débilmente desacoplado de hecho 3) extensible.

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