Full text
Escola Tècnica Superior d’Enginyeria Informàtica Universitat Politècnica de València Proceso genérico bajo la plataforma de Adobe LiveCycle Proyecto Final de Carrera Ingeniería Técnica Informática de Gestión Autor: [Said Bahajji] Director: [Eliseo J. Marzal Calatayud] [12/09/2012]
Resumen El objetivo de este proyecto es conocer muy de cerca la plataforma Adobe LiveCycle y utilizando un ejemplo real de uso de esta tecnología tan utilizada últimamente por la mayoría de las empresas dada su facilidad de adaptación a la entornos corporativos. Esta plataforma nos proporciona una servicio de de tramitación de solicitudes de cualquier tipo mediante unos formularios inteligentes de Adobe lo que agiliza y facilita los diversos trámites que realizan los ciudadanos y las empresas vía telemática con los departamentos. El uso de estos formularios permite a las administraciones la construcción de un registro totalmente telemático de de los/las ciudadanos/ as. Nuestro proyecto consiste en el diseño un proceso genérico, y algún formulario/proceso de ejemplo que nos permitirán la creación de solicitudes. Los beneficios aportados se traducen en que la información se recoge automáticamente, evitando errores y mejorando su calidad y también permite validar automáticamente cierta información y recuperar otra para realizar los “pre-rellenados” en los formularios de trámites posteriores. Palabras clave: Palabras clave: Adobe, procesos Adobe, LiveCycle, formularios Telemáticos, Enterprise suite LiveCycle, LCES . Tabla de contenidos 1. Introducción ..........................................................................................................................5 1.1.1 Alcance de los cambios 5 1.1.2 Objetivos de la tarea. 5
Guía de despliegue y configuración procesos LCES2 Pág. 3 de 37 1.1.3 Información de Entorno. 6 1.2 Análisis Detallado de Cambios 7 Enunciados aportados 7 Situación actual ampliada 7 1.2.1 Ampliar el acceso a la plataforma de Adobe desde cualquier portal. 7 Descripción de las soluciones propuestas 8 - Ampliar el acceso a la plataforma de Adobe desde cualquier portal. 8 Requisitos adicionales considerados 9 2 Formato de la entrega 10 2.1 Componentes 10 3 Despliegue 10 3.1 Despliegue del proceso genérico 11 3.2 Creación de grupos de usuario asociados al proceso. 11 3.3 Creación de un nuevo rol. 12 3.4 Asignar permisos y roles a los grupos. 13 3.5 Asignar servicios a un grupo/usuario. 14 3.6 Dar acceso al proceso 19 3.7 Modificar los properties 24 3.8 Crear usuario con permiso “invoker” 25 4. Configuración de procesos. 28 4.1 Configuración del proceso loadGlobalProcessVariables 28 4.2 Importar aplicaciones desde el workbench 30 4.3 Nomenclatura de Procesos 30 4.4 Variables de proceso 30 4.5 Configuración de los procesos con gestión o intervención humana. 33 4.6 Configuración de los procesos desde la consola LiveCycle. 34 4.7 Política de despliegue 36
Guía de despliegue y configuración procesos LCES2 Pág. 5 de 37 1. Introducción En el presente documento se presentan la soluciones técnicas detalladas para el desarrollo de una peticione concreta de cambio técnico / funcionales en el producto Livecycle ES2 SP2 de Adobe (CE 9.0.0.2). Así que incluye conceptos y procedimientos necesarios para el correcto funcionamiento del proyecto y también detalla los pasos a respetar a la hora de desplegar y/o configurar un entorno para alojar el proceso genérico bajo la plataforma de Adobe LiveCycle. 1.1.1 Alcance de los cambios Implica la implementación de ciertas funcionalidades comunes para los actuales/futuros procesos Adobe, con la salvedad de que dichos procesos han de ser complementarios y no deben modificar partes internas del sistema. Estas funcionalidades generales serán diseñadas como nuevas herramientas configurables que podrán ser añadidas a las sucesivas versiones de LC con un mínimo de intervención prevista. Se aportan soluciones en el ámbito de infraestructura, componentes y extensión del API existente de servicios como añadido en forma de nuevos procesos LCA y componentes Java para implementar los complementos de proceso necesarios. 1.1.2 Objetivos de la tarea. Posibilitar el arranque de procesos sin usar el interfaz de arranque Flex (Workspace LC). Implica la descarga y uso de los formularios existentes
mediante enlaces a un servició REST de provisión en LC que, usando dichos formularios PDF/XDP, precargados con los datos configurados, presenten al usuario la opción de envío de sus contenidos a un proceso de cabecera REST (HTTP/POST) común, configurable e independiente del WorkSpace actual. En el primer proceso (provisión) se suministrarán los formularios correspondientes al indicado en un parámetro de la URL suministrada, convenientemente precargados con los datos indicados en tiempo de diseño. Finalmente el segundo proceso (cabecera) asociará la recepción del documento a un proceso configurable de forma independiente, e invocará a procesos ya existentes (reutilizados) o nuevos en XML, emulando al workspace. 1.1.3 Información de Entorno. La versión de LC actual provista es la ES2 + SP2 (9.0.0.2) con la parte cliente (aplicativo desarrollado con el lenguaje Adobe Flex (WorkSpace), Pretendemos que las instalaciones del servidor de aplicaciones JBoss usando la JDK 1.6 serán el estándar y que la base de datos MySql. por tanto todo lo realizado deberá ser integrado en estas versiones o compatibles (WAS,DB2,Oracle…) esquemáticamente entendemos el sistema según el diagrama siguiente, que utilizaremos para describir los puntos de acción de las soluciones:
Guía de despliegue y configuración procesos LCES2 Pág. 7 de 37 Wks L C Flex LC2 SP2 (9.0.0.2) WAS 7.0.0.11 SPI LCA en WAS HTTP Request HTML PDFs LDAP DB2 Navegador estándar Cookie SSO C HTML->HTTP HTTP+AMF 1.2 Análisis Detallado de Cambios Enunciados aportados Identificador cambio Requisito01 Categoría Funcional Fecha 06/09/201 2 Nombre Requisito Cambio Ampliar el acceso a la plataforma de Adobe desde cualquier portal. Prioridad Alta Requisito a Construir Dar la capacidad a un formulario pdf de solicitud para ser incrustado dentro de un portal existente y ser llamado vía REST para iniciar un proceso sin entrar en la interface de usuario (Workspace). Cada nuevo proceso deberá ser parametrizado para poder ser llamado por un proceso genérico y disponer de esta funcionalidad. Situación actual ampliada 1.2.1 Ampliar el acceso a la plataforma de Adobe desde cualquier portal. No es posible la invocación de un proceso Adobe desde fuera del wokspace Adobe. Para la utilización de un proceso Adobe es necesario acceder previamente a dicho aplicativo llamado ( workspace ) La versión explotada de LC (ES2-SP2), permite aportar entradas mediante HTTP/Post (REST) para alimentar al EndPoint de un proceso dado mediante PDF o XML. No se efectuará ningún desarrollo específico en el lado cliente. La identificación y autorización del usuario se supone válida para iniciar el proceso. La precarga de valores en los formularios se efectúa en el mismo acto de la provisión del mismo, esto es, en la misma invocación que descarga el formulario.
No se considera el uso de firmas digitales, encriptación o certificados en este proceso cliente. Los procesos desplegados serán invocados desde un proceso genérico vía REST que ofrecerá como ultimo resultado la inserción el contenido. El seguimiento posterior del proceso queda fuera del ámbito de este proyecto. Descripción de las soluciones propuestas - Ampliar el acceso a la plataforma de Adobe desde cualquier portal. Proporcionaremos, por una parte, un servicio de provisión de formularios y por otra, otro de cabecera para iniciar procesos configurados con los datos ingresados al mismo, estos últimos serán enviados mediante mediante REST (http-post XML). Adjuntamos un esquema del proceso: Cabecera REST Provisión REST Navegador abre y asocia por mime/type el PDF al plugin de acrobat reader PDFs Procesos comunes de entrada Navegador estándar sin workspace Cookie del SSO C HTTP request js FU-0001 1 3 2 Mapas provisión Mapas procesos submit REST(PDF) con precarga de datos Página con enlaces al servicio de provisión Panel Info prc. HTTP response (xml) 4 5 El formulario es descargado mediante invocación al servicio REST de provisión de formularios que, según el parámetro identificador recibido, usa el mapa de configuración para obtener y “precargar” el formulario indicado. Se quedará entonces a la espera del ingreso de los datos por parte del usuario. Tras el ingreso de los datos por parte del usuario se invocará mediante el submit preprogramado en el formulario , al proceso REST de cabecera con el parámetro correspondiente al identificador del proceso receptor que, según el mapeador de procesos, remitirá el XML representativo de lo introducido al proceso correspondiente . Tras su inserción, el estado del proceso se podrá consultar mediante el workspace estándar de LC.
Guía de despliegue y configuración procesos LCES2 Pág. 9 de 37 Entendemos que los formularios no reciben ni utilizan certificados digitales. Requisitos adicionales considerados Hemos considerado de relevancia y han condicionado lo anterior, los siguientes requisitos enunciados en la lista a continuación: Las posibles extensiones y componentes aportados en la parte servidora harán uso de las API’s existentes y las del propio servidor J2EE JBOSS para aportar funcionalidad añadida, sin modificar la existente y utilizando la abstracción necesaria para inmunizarlo a los cambios de las versiones menores que se vayan incorporando a los servidores en explotación. En especial no se hará uso de accesos directos a la BBDD. Las soluciones aportadas incluirán la documentación técnica necesaria. También se documentarán las modificaciones existentes respecto al suministrado por Adobe para posibilitar su posterior mantenimiento por propios o terceros. Los desarrollos serán suministrados como objetos compilados más su correspondiente código fuente.
[ Procesos LCES2 ] 16 8. Buscar el grupo.
17 9. Pulsar sobre el grupo encontrado y asignarle los permisos:
[ Procesos LCES2 ] 18
19 Repetir los mismos pasos para los servicios siguientes: FileUtilsService Script RepositoryService RepositoryProviderService JdbcService FormsService ReaderExtensionsService TrustConfigurationService CredentialService ArquitecturaSAN/Process/CargaProvincias 3.6 Dar acceso al proceso Una vez desplegado el proceso y creados los grupos o usuarios, se configuran las personas o grupos que podrán acceder a este proceso. Para ello hacemos lo siguiente para el proceso genérico como para los procesos que van a ser invocados Mediante REST
[ Procesos LCES2 ] 20 Por ejemplo para el proceso bajas de bureaux se configuran los dos recursos. Ejemplo para el proceso genérico: 1. Accederemos y nos logaremos en el administrador http://servidor:puerto/adminui 2. Una vez logados accederemos a Home > Services > Applications and Services> Applications management >Seleccionamos el proceso a configurar, en nuestro caso es el proceso genérico. esto nos muestra la lista de archivos del proceso
21 3. Seleccionamos el proceso y accedemos a la pestaña de seguridad 4. pulsamos sobre el grupo y le asignamos estos permisos.
[ Procesos LCES2 ] 22 5. salvar. 6. pinchar en la pestaña Endpoints y seleccionar el valor REST dentro del ComboBox y pulsar sobre Add (en estos ultimos pasos he puesto como ejemplo el proceso bajas de bureaux)
23
[ Procesos LCES2 ] 24 Esto permitirá que cuando estos usuarios accedan al portal y esta autenticado podrá realizar solicitudes de este tipo de proceso. 3.7 Modificar los properties En la carpeta Recursos hay varios ficheros todos con extensión .txt, hay que modificar este fichero cada vez que cambiemos de entorno: properties_url_async_invoke.txt En este fichero tenemos las url’s correspondientes a todos los procesos separados por una coma (,) en este formato: http://[nombre host]: [puerto]/ruta_proceso1,http://[nombre host]: [puerto]/ruta_proceso2,… Hay que modificar [nombre host]: [puerto] por las correspondientes según el entorno de despliegue, aquí un ejemplo de uso:
25 En el fichero servicios.txt hay que añadir a todos los procesos que van a ser llamados mediante REST con sus correspondientes códigos separados por una coma y siempre en la misma línea del fichero “no saltar línea”. Ejemplo: 0124,Bajas de Bureaux/Process/BajasBureaux,0164,ActasCalidadDaVinci/Process/ActasCalidadDaVinci 3.8 Crear usuario con permiso “invoker” Para evitar problemas causados por “activar, desactivar Proxy IP” del entorno. Vamos a crear un usuario que tenga permiso para invocar a procesos. Accederemos y nos logaremos en el administrador http://servidor:puerto/adminui una vez logados accederemos a: Home > Settings > User Management > Users and Groups>New User Fichero Valor Entorno Desarrollo Valor Entorno preproducción Descripción properties_url_async _invoke.txt url_desarrollo/rest/a sync_invoke/ActasCal idadDaVinci/Process/ ActasCalidadDaVinci: 1.1 url_Preproduccion/r est/async_invoke/Act asCalidadDaVinci/Pr ocess/ActasCalidadDa Vinci:1.1 Ejemplo : url_desarrollo = http://lifecycle1.upv.d ev.corp:80
[ Procesos LCES2 ] 32
33 o Proceso XXX Todos los procesos No Prepare_Data XXX tienen que seguir el mismo patrón: 3El único parámetro de entrada es él de Tipo XML y tiene que tener el check (Input) activado y el check (Output) desactivado. 4-Todos los demás parámetros tienen que tener los dos cheks (Input, Output) desactivados. 4.5 Configuración de los procesos con gestión o intervención humana. 1acceder al proceso.
[ Procesos LCES2 ] 34 1. al pulsar 2 veces la caja que tiene imagen de usuario. 2. a la izquierda seleccionar all y la opción “Task Access Control List (ACL)” 3. añadir “/process_data/@numempleadoSolicitante ” pulsando el botón del medio. 4.6 Configuración de los procesos desde la consola LiveCycle. Una vez desplegado un proceso se configura de la siguiente manera: 1. Accederemos y nos logaremos en el administrador http://servidor:puerto/adminui
35 2. Una vez logados accederemos a Home > Services > Applications and Services> Applications management >Seleccionamos el proceso a configurar, esto nos muestra la lista de archivos del proceso 3. Seleccionamos el proceso y accedemos a la pestaña de seguridad
[ Procesos LCES2 ] 36 4.7 Política de despliegue Para cualquier modificación de los procesos hay seguir la política de
37 • Check out applications. • Checking • Deploy : 1pulsar el botón derecho sobre la application y seleccionar Deploy. 2si hay “assets” que no están desplegados con la aplicación, en “Check In Assets dialog box”, especificar qué ficheros quieres desplegar : • Check In All Files: Workbench ES2 checks in todos los ficheros. • Check In Selected Files: Workbench ES2 checks in solamente los ficheros seleccionados. • Check In None Of The Files: Workbench ES2 no hace el “check in” de ningun fichero. Link para descargar el software: http://www.adobe.com/content/dotcom/en/devnet/livecycle/downloads.html