¿Qué es exactamente SOA? ¿Cuál es la función? "
En cuanto a SOA, he escuchado dos opiniones en este momento: una es que es una "arquitectura revolucionaria subversiva" y la otra es "cautelosa y expectante". Pero no hay duda de que SOA se ha desarrollado muy rápidamente en los últimos años y los principales fabricantes de software lo han seguido con un alto perfil. Hay innumerables informes sobre SOA. Con respecto a la "locura SOA", algunos programadores están emocionados y ansiosos, mientras que otros están confundidos. Cuando recientemente me comuniqué con programadores en el "Java Club" celebrado por Kingdee Middleware en Guangzhou, Shanghai y otras ciudades, ellos Con el. Con expresión de peregrino, decía: "La tecnología anterior orientada a objetos está obsoleta y la era SOA está aquí", o me preguntaba con seriedad una y otra vez: "Entonces, ¿qué es SOA? ¿Qué problemas puede resolver? ¿Cómo es?" ¿La solución está en marcha? ¿Estamos nosotros y los clientes preparados? La respuesta que di es "Sólo procesamiento, SOA, ahora en progreso". ¿Qué es exactamente SOA (Arquitectura Orientada a Servicios), es decir, el software está diseñado en servicios? funciones Estos servicios definen interfaces de manera estándar y se llaman a través de protocolos estándar. Las interfaces y los métodos de llamada definidos por SOA son independientes de los lenguajes de programación y las plataformas operativas. En un sentido amplio, SOA se puede implementar en función de diferentes tecnologías subyacentes. Como CORBA y servicios web, CORBA rara vez se usa porque es demasiado complejo e inflado, por lo que la mayoría de las SOA mencionadas actualmente se implementan en base a la tecnología de servicios web. Bajo la arquitectura SOA, el desarrollo de software comienza con el análisis de procesos comerciales. Se utilizan métodos de modelado de negocios en componentes para identificar y analizar varios modelos de negocios e integrar varias prácticas en ellos. Los casos de uso se crean en el ESB, y los casos de uso generan directamente BPEL. Estos BPEL se pueden integrar en un marco de integración de servicios, que describe el. información de varios servicios, unificando así los distintos módulos en el ESB para formar un enorme almacén de servicios. De esta manera, SOA es incluso el sueño de toda la gente de software: separar la capa intermedia y crear metadatos y arquitectura intertécnica. La lógica empresarial se encuentra en la capa intermedia, lo que la convierte en una arquitectura intertécnica, herencia a largo plazo y acumulación continua de bibliotecas empresariales y el activo de información más valioso, que es la biblioteca de componentes orientada a servicios, y esta biblioteca de componentes de servicios puede. También puede ser reutilizado por otras empresas y no depende de ninguna arquitectura técnica. Para exagerar, si todas las empresas de software utilizan la arquitectura SOA, la industria mundial del software sufrirá cambios radicales. Obviamente, dicho marco no es un producto, ni lo es. No es más que una tecnología, sino una metodología para resolver problemas en dos escenarios posibles y escenarios existentes. Pregunta: Entonces, ¿cuál es el problema que SOA quiere resolver? Creo que, técnicamente hablando, SOA se puede utilizar en dos escenarios: el primero es empresarial. la interconexión; el segundo es un sistema de transacciones cerrado, es decir, metadatos y lógica empresarial. Por ejemplo, en el primer escenario, cuando las empresas entre diferentes empresas necesitan llamarse entre sí, se puede utilizar la tecnología SOA en el segundo escenario; para transferir servicios dentro de la empresa Cuando se migra el sistema, se puede completar rápidamente utilizando los datos originales y los procesos comerciales definidos por la tecnología SOA. Sin lugar a dudas, SOA es una gran idea. Intenta definir una regla que todos (varios proveedores de software) "reconozcan" y "sigan". Todos utilizan este método para interconectarse e interoperar, logrando así una conectividad ilimitada, así como la herencia. reutilización de bibliotecas de componentes de servicio, liberando trabajo ineficaz y repetitivo. Para usar una metáfora menos apropiada, es como el lenguaje humano. SOA puede ser como la famosa historia de la "Torre de Babel" de la Biblia: el poder de las personas que se comunican en el mismo idioma es tan grande que casi construyeron una "Torre de Babel" en Babilonia para llegar al lugar de Dios. Sin embargo, en los dos escenarios de aplicación SOA, los problemas existentes también son obvios: El primer escenario: la interconexión empresarial, que es la interconexión de sistemas de aplicaciones.
La interconexión empresarial no es tanto una cuestión técnica sino una cuestión empresarial. Por ejemplo, la integración asincrónica de ERP y CRM y la integración a nivel de datos no pueden integrar bien los dos sistemas. SOA es solo una de las herramientas de implementación, y la integración. El efecto no lo es. No será mucho mejor. Podemos decir que antes no hay otras opciones, SOA es la forma más "no mala", pero no puede resolver todos los problemas. De hecho, EAI involucra una amplia gama de aspectos y sabemos que algunos problemas no se pueden resolver simplemente. La tecnología puede solucionarlo. El segundo escenario: sistema de comercio cerrado, la desventaja es el rendimiento lento y no existe una especificación clara para las transacciones basadas en servicios web. Generalmente se reconoce que el uso de XML para el intercambio de información es lento y que los problemas de rendimiento crearán cierta resistencia al desarrollo de SOA. Al mismo tiempo, la especificación SOA en sí no es perfecta. Por ejemplo, la especificación Transaction aún se está mejorando y el servicio web ha logrado poco éxito a lo largo de los años. En general, SOA todavía se encuentra en una etapa de desarrollo, aún se están formulando muchos estándares y todavía existen incompatibilidades entre los diferentes fabricantes. Por lo tanto, no se puede decir que SOA sea una tecnología madura todavía. "en curso". Por supuesto, como miembro de la organización JCP, Kingdee Middleware también promoverá la implementación de especificaciones SOA en la plataforma J2EE. La confusión de opciones realistas para los usuarios chinos Mientras esperamos las perspectivas que la tecnología SOA puede traer, tenemos que mirar hacia atrás y decir con calma: todavía hay una distancia entre SOA y nuestros clientes finales: las empresas chinas. El proceso de informatización de China es diferente al de Europa y Estados Unidos. Aún no se han establecido un gran número de sistemas empresariales básicos y la necesidad de integración no es tan grande como se imagina. Según nuestra comprensión de los clientes, descubrimos que pocos clientes tienen necesidades SOA. Un resumen simple es que no existe una base para la interoperabilidad, principalmente sistemas nuevos, y la demanda no es fuerte. En los mercados europeo y americano se han establecido una gran cantidad de sistemas empresariales y es necesario integrarlos. Desde esta perspectiva, SOA es adecuado para ellos. Al mismo tiempo, con muy pocos casos exitosos, SOA todavía se encuentra en su período de incubación y todavía existen ciertos riesgos al utilizar la tecnología SOA en nuevos sistemas comerciales cerrados. Una nueva tecnología necesita ser asimilada por el mercado. Las grandes empresas no se transferirán fácilmente a nuevas plataformas tecnológicas para proteger su inversión; e incluso no se puede decir que tecnologías maduras como J2EE tengan una posición dominante después de tantos años de desarrollo. SOA también requiere la promoción conjunta de usuarios y proveedores en toda la comunidad TI. ¿Qué tipo de arquitectura técnica necesita China para la informatización y qué tipo de precio de coste puede aceptar? Esto no es sólo algo que nuestros clientes deben considerar. Nosotros, los proveedores de software, pensamos con más claridad y más allá que nuestros clientes. En este mercado ferozmente competitivo y lleno de variables, sólo siendo tranquilos y pragmáticos podremos sobrevivir y desarrollarnos.