architecture - que - soa oracle ejemplos
¿Cómo funciona el descubrimiento de servicios SOA(UDDI) en la práctica? (3)
Estoy leyendo en SOA y el registro de servicio / UDDI se menciona regularmente. Suena bien, pero ¿cómo se usa en la realidad?
- ¿El registro está destinado a desacoplar un servicio lógico de su implementación física (puerto, URL, etc.)?
- ¿El registro está destinado a ser examinado por un humano que busca un servicio interesante para jugar?
- ¿Sería ''incorrecto'' cablear una aplicación a los servicios que utiliza?
Encuentro que es más teóricamente útil que prácticamente útil. Se implementa con poca frecuencia y se usa con poca frecuencia. En realidad, DNS proporciona una herramienta de abstracción suficiente para la ubicación de los recursos en la red.
Un registro de servicio almacena y publica información sobre todos los servicios disponibles, principalmente su descripción de interfaz y su URI actual (ip, puerto, lo que sea). De esta forma, la aplicación puede simplemente solicitarle al registro el servicio que necesita y obtendrá los detalles de la implementación de un servicio de adaptación, y puede conectarse.
UDDI no es la única forma de obtener un registro para sus servicios. Pero recuerde que UDDI solo está destinado a servicios web, por lo que solo es útil si su SOA solo consta de servicios web.
1) Correcto.
2) No, en realidad no es para ojos humanos. Claro, hay herramientas para navegar por el directorio, pero son principalmente para ver si el registro obtuvo los servicios que necesita, etc. El uso real ocurre directamente entre su aplicación / servicio y el registro.
3) Eso depende de lo que quieras lograr. Si desea construir una SOA, cree que sería ''incorrecta'' porque esto contradice el paradigma de acoplamiento flexible de SOA. Si este es su único servicio, la única aplicación que lo usa y es probable que el servicio no cambie su URI definitivamente no hay problema en el cableado, pero no hay necesidad de separar este servicio :)
¿Qué hay de usar multicast para eliminar el servicio? ¿Como usar jgroups o SLP? Todos los servicios se descubrirán entre sí e inyectarán el que necesitan en un proxy. Luego construyendo abstracción sobre la implementación del transporte real. (por ejemplo, descanso, jabón, rmi)