viernes, 22 de septiembre de 2017

Introducción al Adaptador LDAP - SOA Suite 12c

En las empresas, los servidores LDAP se utilizan a menudo para almacenar credenciales y grupos de usuarios y compartirlos entre aplicaciones. Oracle SOA Suite 12c introduce un nuevo adaptador. El Adaptador LDAP (o LDAP Adapter) que permite una fácil integración con los servidores LDAP. En este articulo se mostrará una guia rápida y fácil en la instalación de un servidor LDAP y navegador (ApacheDS y Apache Directory Studio). También se describirá la configuración requerida para usar el LDAP Adapter y proveer un ejemplo a través de un proceso BPEL que permita la creación de nuevos usuarios en el servidor LDAP ApacheDS mediante llamadas a webservice.






Configuración del servidor LDAP

Instalación de un servidor LDAP

Para este ejemplo se utilizará ApacheDS como servidor LDAP y Apache Directory Studio como navegador LDAP. Primero descargue e instale Apache Directory Studio desde el siguiente link:
http://directory.apache.org/studio/downloads.html


A continuación, crear un servidor LDAP. Para ello, haga clic en la pestaña del servidor LDAP en la esquina inferior izquierda y haga clic en Nuevo servidor:




Seleccione ApacheDS 2.0.0, asignele un nombre al nuevo servidor local y haga clic en Finalizar:





Ahora puede iniciar su servidor LDAP seleccionándolo y haciendo clic en el botón de reproducción en color verde:




Crear una conexión al servidor LDAP

Junto a la pestaña LDAP Servers, hay una pestaña Conexiones. Crear una nueva conexión. Utilice localhost y el puerto 10389:





Haga clic en Siguiente y rellene las siguientes credenciales:

Bind DN or User: uid=admin,ou=system
Bind password: secret



 
Ahora puede conectarse a su servidor LDAP recién creado y explorarlo:




Configurando Weblogic

Configurar el Objetivo Del Adaptador

En Weblogic es necesario configurar una connection factory en la configuración del adaptador LDAP. Primero ingrese a la consola de Weblogic, diríjase a la lista de Despliegues (Deployments) y haga clic en LdapAdapter:




Por defecto, el adaptador no está apuntando a ningun servidor. Debe especificar un destino si desea utilizarlo. Para este ejemplo, sólo un objetivo puede ser seleccionado: soa_server1. Marque la casilla del servidor seleccionado y guárde los cambios:



Esto es necesario para acceder a las connection factories proporcionadas por el adaptador y, por ejemplo, poder buscarlas desde JDeveloper.



Configurar Connection Factory

Vaya a la Configuración de LdapAdapter -> Outbound Connection Pools:


 

 
En este punto es importante aclarar que en el trabajo del día a día, uno debería crear diferentes eis JNDI según la cantidad de Servidores LDAP a los que desee conectarse. Para este ejemplo decidí configurar eis/ldap/master y reutilizarlo. Haga clic en él y proporcione los ajustes necesarios (consultar la captura de pantalla).





Al hacer clic en save para se nos preguntará acerca del archivo Deployment Plan donde guardará las configuraciones realizadas.  La primera vez que se configura una connection factory para un adaptador, Weblogic pide el nombre del plan de configuración para usar. Es una buena práctica usar un nombre que deje claro para qué adaptador es la configuración (o ponerla en un directorio separado por el nombre del adaptador). Por ejemplo PlanLdap.xml.


 Una vez finalizada la configuración, reinicie el servidor. El LdapAdapter no se puede actualizar como el DbAdapter. Es más similar al BamAdapter en el comportamiento. El adaptador se despliega al iniciar el servidor. Tras la implementación, se aplica un cambio de configuración.



JDeveloper

Configuración del LdapAdapter

Cree una aplicación, cree un proyecto vacío con un proceso BPEL 2.0 síncrono. En el editor del composite, arrastre el nuevo adaptador LDAP al carril de Referencias para iniciar la configuración. La contraseña predeterminada sigue siendo "secret" (sin comillas... la que se configuro al principio del articulo).

 


Use el botón de exploración (el botón con la lupa después del campo "JNDI Name") para seleccionar eis/ldap/master. Si no puede, se olvidó de asignar un servidor (target) al adaptador.




Elija 'Add' como operación de salida. Utilice las siguientes clases: inetOrgPerson y Person y seleccione uid, userPassword como campos.



Ahora puedes hacer clic en Siguiente, Finalizar hasta el final del asistente y completar los detalles del proceso BPEL que llama al Adaptador LDAP.




La implementación propuesta para el BPEL es la siguiente:




Deployar y probar!



Viéndolo funcionar

Hemos creado un pequeño proceso BPEL que llama al adaptador. Ya que es relativamente fácil no se proporcionará capturas de pantalla para esto. Sin embargo tenga en cuenta lo siguiente: el userPassword debe ser al menos 5 caracteres y no debe contener el nombre del usuario. He elegido 'Welcome01' para esto. El DN debe ser tal y como se puede ver en el siguiente ejemplo con capturas de pantalla. Mediante la pantalla Test Webservice de la EM-Console, podemos ver que el servicio puede llamar con éxito al servidor LDAP.



 



 En Apache Directory Studio puede confirmar que el usuario realmente ha sido creado:




 Compruebe si un usuario ya está realmente creado en el Servidor LDAP!. El LdapAdapter devolverá OK incluso si ha fallado (o el servidor no devolvió un resultado de error correcto). Por ejemplo, después de una ejecución exitosa del composite, si se intenta crear un usuario con el mismo nombre el composite arrojará un error:



 Y obviamente porque el usuario ya existe en el servidor LDAP.

No hay comentarios:

Publicar un comentario