Mostrando entradas con la etiqueta Servidor de Aplicaciones. Mostrar todas las entradas
Mostrando entradas con la etiqueta Servidor de Aplicaciones. Mostrar todas las entradas

lunes, 8 de septiembre de 2008

Planificación de ejecución de Meta4Objects

Sois bastantes los que me habéis preguntado cómo se puede delegar en el Planificador de Tareas (Job Scheduler) la ejecución de métodos de un Meta4Object.

Aquí redacto una forma de hacerlo. Esta forma no permite al usuario "final" la planificación de tareas de forma sencilla... necesita tener un poco de conocimiento. De todas formas para permitir a un usuario planificar ejecuciones contra el Planificador de Tareas desde un método Ln4, puedes consultar este post "Ejecución de Meta4Objects planificados en el Job Scheduler"

Imaginemos que disponemos de un Meta4Object llamado CXX_MI_META4OBJECT que en su nodo principal, CXX_MI_NODO, dispone de un método CXX_GESTION que realiza la carga del nodo y si hay información resultante de la carga envía un mail. Queremos que se ejecute todos los días a las 00:00 para controlar cierta información.

Nota: Haz click en las imagenes para verlas más grandes

a) Accederemos, inicialmente al Planificador de Tareas:



b) Pulsaremos en "Nuevo" para crear una nueva Tarea:


c) Rellenaremos todos los datos de la primera pestaña de la definición:

Son:
  • Planificación: Crearemos un ID Planificación nuevo: (i.e.) CXX_PLANIFICACION
  • Descripción: Crearemos una descripción que nos inforque que es lo que hace
  • Prioridad: En general "Normal" pero en función de tus necesidades puedes cambiarlo ("No urgente","Urgente"  o "Muy urgente")
  • Cola de ejecución: Podemos elegir entre los M4AppServers conectados a nuestra Base de Datos para decidir quien lo debe ejecutar. Podemos elegir, por ejemplo, un M4AppServer que corra sobre una máquina Windows para ejecutar exportaciones a Excel que una máquina UNIX o AIX sería imposible.

d) Rellenaremos todos los datos de la segunda pestaña de la definición:


Modificaremos:
  • Modo: "Inmediato" para una única ejecución, "Cíclico" hasta 500 ejecuciones que sigan algun patrón (todos los días, todos los martes,...), "Plan Anual" para ejecuiones que sigan planes anuales (1er, o último día meses pares, primer lunes de cada mes, cada 25 de cada mes,...) o "Lista de fechas" planficiaciones hechas para fechas concretas sin seguir patrón.
  • En cada uno de los casos existe diferentes opciones de planificación.
e) Rellenaremos todos los datos de la tercera pestaña de la definición, donde elegiremos una tarea llamada "Execute LN4 Code":



f) Rellenaremos todos los datos de la cuarta pestaña de la definición: 


Haz click en el campo de texto "Valor / Fuente" y pegaremos el siguiente código (link):




g) Rellenaremos todos los datos de la quinta pestaña de la definición, donde podremos indicar para que Sociedad se debe ejecutar este método (en mi caso sólo tengo una): 


h) Por último, inidicaremos en la sexta pestaña de la definición si deseamos, o no, estadísticas de la ejecución.  


Pulsaremos en "Finalizar" y PeopleNet nos avisará de la planificación de esta tarea


Ya está... espero que sea interesante.

martes, 22 de enero de 2008

Conexión de un OpenLDAP con Meta4 PeopleNet

He estado últimamente un poco liado con la conexión de un LDAP como repositorio externo de autenticación para Meta4, sobre todo con lo que se refiere a la conexión SSL, así que se me ha ocurrido añadir mi experiencia.

Pongamos primero el caso de estudio:

Tenemos un OpenLDAP (no certificado aún por Meta4) al que un cliente desea conectarse para autenticar las contraseñas introducidas en el cliente de desarrollo, el cliente rico y el ESS/MSS.

Datos de este OpenLDAP:

  1. Versión de LDAP: 3

  2. Máquina: openldap.cliente.org

  3. Puertos: 389 y 636 (este para SSL)

  4. Cadena de búsqueda (DN): uid=user,ou=people,dc=cliente,dc=org

  5. Servidor de aplicaciones sobre AIX

  6. El cliente quiere que la conexión se haga usando SSL, y para ello suministra un certificado “ca_raiz.cer”.

Conexión sin usar SSL

Para la hora de hacer pruebas es, creo, el más cómodo y el más rápido.


  • Crearemos en Meta4 el repositorio LDAP: para ello se debe acceder a: "Herramientas de Desarrollo / Configuración de la aplicación / Repositorios de autenticación". Crearemos uno con los siguientes datos:


  • Configuraremos en Meta4 el acceso al LDAP: Crearemos en "Herramientas de Desarrollo / Configuración de la aplicación / Repositorios LDAP" un repositorio con los siguientes datos:

  • Creamos o tomamos un usuario de Meta4, por ejemplo OSCARLG, que sabemos cuyo “uid” dentro del OpenLDAP es olopez y los mapeamos usando la opción de menú: "Herramientas de Desarrollo / Configuración de la aplicación / Mapeo usuarios LDAP". (Nota: también es posible usar como usuario de Meta4 olopez y así nos evitaríamos el mapeo)


  • Lo siguiente será configurar la aplicación para que al logarse este usuario el proceso no busque el usuario en el repositorio interno sino en el nuevo que hemos configurado. Para ello, debemos acceder a: "Herramientas de Desarrollo / Configuración de la aplicación / Parámetros de aplicación". Iremos a la vista “Avanzada” (Menú Herramientas / Avanzado...) y buscaremos, primero, “Parámetros generales”, segundo, “Parámetros de sesión” y tercero “ID Repositorio externo de autenticación”. Añadiremos en la pestaña “Valores por ámbito” un nuevo ámbito por “Usuario de aplicación” y seleccionaremos la “OSCARLG”.

  • Luego en el Valor añadiremos el identificador de nuestro nuevo repositorio “0002”.



  • Ya estamos en disposición de logarnos con el usuario OSCARLG de Meta4 en el LDAP con su contraseña y no con la de Meta4.

Conexión de un usuario con SSL (a entornos Windows)

Para Meta4 es necesario disponer de un almacén de certificados, pero no cualquiera. Es necesario que se genere usando la herramienta “certutil” que incorpora el Sun ONE Directory Server Resource Kit (yo he usado la versión 5.2) que puede ser descargado desde site de SUN en: http://www.sun.com/download/products.xml?id=3f74a0db.

Vamos, inicialmente a conseguir la conexión SSL con el LDAP desde un cliente de desarrollo en Windows luego explicaré como hacerlo en AIX.

  • Descomprime el Zip descargado (dsrk52-WINNT4.0_OPT.zip) en, por ejemplo, C:\temp\dsrk52-WINNT4.0_OPT. Ejecuta: java DSRK en la línea de comandos y obtendrás un asistente de instalación para instalar DSRK en tu máquina… yo lo he dejado en E:/DSRK.

  • A continuación debes crear un directorio para almacenar la base de datos de certificados… yo la crearé en c:\MyCertsDB.

  • Luego ejecuta desde la línea de comandos, o crea un .bat con, el siguiente comando:

    PATH=%PATH%;E:\DSRK\lib;E:\DSRK\lib\nss\lib
    E:\DSRK\lib\nss\bin\certutil -N -d "C:\MyCertsDB"

  • Esto creará en C:\MyCertsDB 3 archivos: cert7.db, key3.db y secmod.db
  • Lo siguiente es conseguir el certificado del LDAP, yo lo he dejado en C:\MyCertsDB por comodidad. Se llama ca_raiz.cer (y con un alias que llamaré ca_raiz_alias)
  • Luego ejecuta desde la línea de comandos, o crea un .bat con, el siguiente comando:

    PATH=%PATH%;E:\DSRK\lib;E:\DSRK\lib\nss\lib
    E:\DSRK\lib\nss\bin\certutil -A -n ca_raiz_alias -t "C,C,C" -d “C:\MyCertsDB” -i “C:\MyCertsDB\ca_raiz.cer”

  • Esto incorpora este certificado a la Base de Datos de certificados que creamos.
  • Ahora, de nuevo en Meta4, en Herramientas de Desarrollo / Configuración de la aplicación / Repositorios LDAP modificamos el repositorio “0002” con los siguientes datos:



Conexión de un usuario con SSL (a entornos AIX)



  • Descomprime el Zip descargado (dsrk52-AIX5.2_OPT.zip) en, por ejemplo, C:\temp\dsrk52-AIX5.2_OPT. Lleva a un AIX usando sftp en binario los archivos: dsrk52.zip y DSRK.class. Ejecuta: #java DSRK.class en la línea de comandos y obtendrás un asistente de instalación para instalar DSRK en tu máquina… yo lo he dejado en /opt/meta4/dsrk.

  • A continuación debes crear un directorio para almacenar la base de datos de certificados… yo la crearé en /opt/meta4/mycertsdb.

  • Luego ejecuta desde la línea de comandos, o crea un .sh con, el siguiente comando:

    #export LIBPATH=/opt2/meta4/dsrk/lib:/opt2/meta4/dsrk/lib/nss/lib
    #/opt2/meta4/dsrk/lib/nss/bin/certutil -N -d /opt2/meta4/mycertsdb


  • Esto creará en /opt/meta4/mycertsdb los 3 archivos: cert7.db, key3.db y secmod.db

  • Lo siguiente es conseguir el certificado del LDAP, yo lo he dejado en /opt/meta4/mycertsdb por comodidad. Se llama ca_raiz.cer (y con un alias que llamaré ca_raiz_alias)

  • Luego ejecuta desde la línea de comandos, o crea un .sh con, el siguiente comando:

    #export LIBPATH=/opt2/meta4/dsrk/lib:/opt2/meta4/dsrk/lib/nss/lib
    #/opt2/meta4/dsrk/lib/nss/bin/certutil -A -n ca_raiz_alias -t "C,C,C" -d /opt2/meta4/mycertsdb -i /opt2/meta4/mycertsdb/ca_raiz.cer
  • Esto incorpora este certificado a la Base de Datos de certificados que creamos.

  • Ahora, de nuevo en Meta4, en Herramientas de Desarrollo / Configuración de la aplicación / Repositorios LDAP modificamos el repositorio “0002” con los siguientes datos:


  • Ya estamos en disposición de logarnos con el usuario OSCARLG de Meta4 en el LDAP con su contraseña y no con la de Meta4 pero bajo conexión SSL y contra el servidor de aplicaciones en AIX

Espero que os ayude, … porque a mi me ha costado :-)

martes, 18 de diciembre de 2007

Detener la generación de archivos de benchmark del Servidor de aplicaciones

¿Cómo se puede detener, o limitar, la generación de los archivos de benchmark (benchmark_YYYY-MM-DD@XYZABC.txt) que genera el servidor de aplicaciones de Meta4?


Para desactivar la generación de los ficheros benchmark debes modificar el fichero startup.obl concretamente localizar el texto: “OUT_TO_FILE” dentro del bloque "COMMUNICATION_SERVER BLOCK10" y establece el valor "FALSE".


Puedes encontrar información referente a estas entradas en el manual Administración_Servidor_Aplicaciones.pdf , páginas 134 y 135.