WebRatio GUÍA RÁPIDA DE DESARROLLO CON WEBRATIO

Anuncio
WebRatio
GUÍA RÁPIDA DE DESARROLLO CON WEBRATIO
Versión 1.8
Área de Integración y Arquitectura de Aplicaciones
WebRatio
Preparación Entorno de Desarrollo
Hoja de Control
Título
Guía Rápida de Desarrollo con WebRatio
Documento de Referencia
Responsable
Área de Integración y Arquitectura de Aplicaciones
Versión
1.8
Fecha Versión
24/02/2014
Registro de Cambios
Versión
Causa del Cambio
Responsable del Cambio
Fecha del Cambio
Área de Integración y Arquitectura
1.0
Versión inicial del documento
Modificado plugin de subversion a
Subversive
Área de Integración y Arquitectura
1.1
Nueva nomenclatura de tags en
subversion con guiones bajos no con
puntos en el nombre de versión
Área de Integración y Arquitectura
1.2
1.3
Aclaraciones sobre cómo realizar una
Área de Integración y Arquitectura
entrega y rellenar ficha en GPAP.
de Aplicaciones
Correcciones mínimas.
23/10/2012
1.4
Cambios en realización de una
entrega.
05/11/2012
de Aplicaciones
de Aplicaciones
de Aplicaciones
Área de Integración y Arquitectura
2 de 81
17/09/2012
17/10/2012
19/10/2012
WebRatio
Preparación Entorno de Desarrollo
Versión
Causa del Cambio
Responsable del Cambio
Fecha del Cambio
Indicar el nombre de la base de datos de Aplicaciones
en la solicitud de instalación.
1.5
Modificaciones para incluir proyectos Área de Integración y Arquitectura
Webratio con WorkFlows
de Aplicaciones
11/02/2013
Añadir desconectar despues de
copiar la plantilla
Quitar el commit después de subir
Borrar entidades del modelo durante
el proceso de borrado de todo
1.6
No es necesario hacer el generate full Área de Integración y Arquitectura
web project antes de ejecutar el plan de Aplicaciones
de despliegue
13/05/2013
Incluir "Find model problems" para
ver que no hay problemas.
Revisar entregas incrementales de
modelo de datos, comparar contra
preproducción
1.7
Incluidas modificaciones necesarias
Área de Integración y Arquitectura
para desplegar en Tomcat en lugar de
de Aplicaciones
en Weblogic
13/01/2014
1.8
Apartado 4.1.4: Tras la primera
instalación de una aplicación ATLAS o
WEBRATIO, nos deben devolver el Área de Integración y Arquitectura
fichero
environment.properties de Aplicaciones
configurado, y debemos copiarlo a
nuestro proyecto.
24/02/2014
3 de 81
WebRatio
Preparación Entorno de Desarrollo
Índice
1.
INTRODUCCIÓN................................................................................................................................................ 6
2.
REQUISITOS ....................................................................................................................................................... 6
3.
CREACIÓN DEL PROYECTO Y CONFIGURACIÓN ................................................................................. 6
4.
3.1.
SOLICITAR EL ALTA DEL PROYECTO A TRAVÉS DE LA WEB DE SOPORTESW ................................................. 6
3.2.
CREAR UN PROYECTO WEB A PARTIR DEL ICM_PLANTILLA ......................................................................... 7
3.3.
SUBIDA DEL PROYECTO AL REPOSITORIO SUBVERSION ............................................................................... 11
3.4.
APERTURA DEL MODELO .............................................................................................................................. 17
3.5.
CONFIGURACIÓN DE USO DE WORKFLOWS .................................................................................................. 21
3.5.1.
Uso SIN WorkFlows .............................................................................................................................. 21
3.5.2.
Uso CON WorkFlows ............................................................................................................................ 25
3.6.
CONFIGURACIÓN DE BASE DE DATOS PARA EL MODELO ............................................................................... 32
3.7.
PRUEBA DE CONEXIÓN .................................................................................................................................. 33
3.8.
CONFIGURACIÓN DEL FICHERO WEBRATIO.PROPERTIES .............................................................................. 34
3.9.
CREACIÓN DEL MODELO INICIAL EN BASE DE DATOS ................................................................................. 35
3.10.
CONFIGURACIÓN DE LA AUTENTICACIÓN ................................................................................................. 38
3.11.
PRUEBA DE LA APLICACIÓN ...................................................................................................................... 40
SUBIDA DE CAMBIOS A SUBVERSION Y REALIZACIÓN DE UNA ENTREGA ............................... 43
4.1.
5.
REALIZACIÓN DE UNA ENTREGA .................................................................................................................. 44
4.1.1.
Generación de la aplicación .................................................................................................................. 44
4.1.2.
Generación del Script para el Modelo de Datos ................................................................................... 46
4.1.3.
Actualización de Subversion y Creación del TAG ................................................................................. 49
4.1.1.
Solicitud de la Instalación ..................................................................................................................... 56
DESARROLLO DE MODELO DE DATOS ................................................................................................... 59
5.1.
DESARROLLO DEL MODELO DE DATOS .......................................................................................................... 59
5.2.
CREAR UNA NUEVA ENTIDAD ........................................................................................................................ 59
4 de 81
WebRatio
Preparación Entorno de Desarrollo
6.
7.
8.
5.3.
AÑADIR ATRIBUTOS A LAS ENTIDADES ......................................................................................................... 60
5.4.
EDITAR LAS PROPIEDADES DE LOS ATRIBUTOS ............................................................................................. 60
5.5.
SINCRONIZACIÓN DE LA BASE DE DATOS ...................................................................................................... 61
DESARROLLO DE MODELO DE NEGOCIO ............................................................................................. 61
6.1.
SELECCIONAR SITEVIEW ............................................................................................................................... 61
6.2.
MODELIZADO EN EL ÁREA DE TRABAJO ........................................................................................................ 63
DESARROLLO DE CAPA DE PRESENTACIÓN ........................................................................................ 72
7.1.
LINKS E ICONOS ............................................................................................................................................. 72
7.2.
PERSONALIZACIÓN DE CADENAS .................................................................................................................. 72
CREACIÓN DE PÁGINAS DE GESTIÓN DE GRUPOS Y MÓDULOS ................................................... 73
ANEXO: DESPLIEGUE EN EL ENTORNO DE DESARROLLO/ENTREGAS SIN SOLICITUD POR
GPAP .......................................................................................................................................................................... 75
5 de 81
WebRatio
Preparación Entorno de Desarrollo
1. INTRODUCCIÓN
En este manual se explican los pasos a seguir para el desarrollo de una aplicación con WebRatio. En el apartado 2
se muestran los requisitos necesarios para el desarrollo de aplicaciones. En el apartado 3, se muestra cómo
configurar el modelo de datos. En el apartado 4 se muestran los pasos a seguir para configurar el modelo de
negocio. En el apartado 5 se muestran los temas relacionados con la capa de presentación, y en el apartado 6 la
gestión de perfiles y módulos.
2. REQUISITOS
Para poder utilizar esta guía es necesario haber instalado y configurado el entorno de Webratio según se muestra
en el manual WR_MUS_Preparacion_Entorno_Desarrollo.
3. CREACIÓN DEL PROYECTO Y CONFIGURACIÓN
En este apartado se muestran los pasos a dar para poder crear un proyecto nuevo utilizando WebRatio, y
configurarlo para conectar correctamente con base de datos, servidor de Subversion y autenticación a través de la
intranet (conectando con LDAP).
3.1. Solicitar el Alta del proyecto a través de la web de SoporteSW
Se debe solicitar al Área de Arquitectura:
-
La creación de un esquema WR_XXXX en el entorno de desarrollo, siendo XXXX el código del
proyecto, cuya base de datos será la que se emplee (no será necesaria la instalación de un gestor de
base de datos en local).
-
La creación de un grupo en LDAP en USU, así como la indicación de los perfiles y usuarios que se
deseen tener en el entorno de desarrollo.
-
La creación de un repositorio de Subversion asociado al proyecto
La solicitud debe realizarse a través de la herramienta de soporte disponible en la URL:
http://www.madrid.org/soportesw/
Se indicará la categoría “WEBRATIO” en la solicitud, según se muestra en la siguiente pantalla:
6 de 81
WebRatio
Preparación Entorno de Desarrollo
Una vez creado todo esto en desarrollo, podemos proceder con los siguientes pasos de esta guía.
3.2. Crear un proyecto Web a partir del ICM_Plantilla
Seleccionar Window > Open Perspective > WebRatio para cambiar a la perspective correcta:
Nos aseguramos de que vemos el proyecto “Para poder ver el proyecto “ICM_plantilla” en nuestro listado, es
necesario que activemos la opción “Show All Projects” según se muestra a continuación:
7 de 81
WebRatio
Preparación Entorno de Desarrollo
En el panel WebRatio Explorer pulsamos botón derecho sobre el proyecto ICM_Plantilla y seleccionamos la opción
“Copy”:
Pulsamos con el botón derecho sobre la carpeta “Other Projects” y seleccionamos Paste:
Introducimos el nombre del proyecto seguido de “_wr” y pulsar Finish (recordar que el nombre del módulo ténico
según la normativa es: XXXX_wr):
8 de 81
WebRatio
Preparación Entorno de Desarrollo
Aparecerá el nuero proyecto en la lista de “Other Projects” con el nombre de nuestro proyecto:
Antes de poder subir el proyecto a Subversion, y dado que hemos partido de la plantilla que ya estaba en
Subversion, debemos “desconectar” el proyecto de Subversion. Para ello, debemos pulsar sobre el proyecto
recién generado y seleccionar “Team -> Disconnect”:
9 de 81
WebRatio
Preparación Entorno de Desarrollo
En ese momento preguntará si deseamos borrar la meta-información de subversion, seleccionamos la opción
“Also delete the SVN meta-information from the file system” y pulsamos sore “Yes”:
10 de 81
WebRatio
Preparación Entorno de Desarrollo
3.3. Subida del proyecto al Repositorio Subversion
En este momento ya tenemos creado nuestro proyecto de partida, y es necesario subirlo al repositorio de código
Subversion. La subida inicial de cualquier proyecto desarrollado con Webratio se hace desde el propio entorno.
Los pasos a realizar son:
1. El área de Arquitectura nos proporciona la URL del proyecto en Subversion, por ejemplo:
https://subversion01.madrid.org:8443/svn/semu
Dentro de este repositorio, existe la carpeta entregas (para los tags) y la de versión del proyecto donde se
mantendrá el desarrollo del proyecto (por ejemplo v0).
2. Crear una nueva “Repository Location”. Para ello, seleccionamos en la zona superior izquierda la
perspectiva “SVN Repository Exploring”:
3. En la vista “SVN Repositories” pulsamos con el botón derecho “New -> Repository Location”:
11 de 81
WebRatio
Preparación Entorno de Desarrollo
4. En la siguiente pantalla introducimos la URL del repositorio que nos han indicado, así como las
credenciales de autenticación contra el repositorio de subversion:
5. Ya hemos configurado la “Repository Location” apuntando al repositorio, ahora volvemos a pulsar sobre la
perspectiva “Webratio”, y vamos a enganchar el proyecto con el repositorio, pulsando el botón derecho
sobre la capeta principal y seleccionando Team->Share Project… , mapeado a la carpeta del módulo
técnico dentro de la dirección de la versión proporcionada en el repositorio del proyecto:
12 de 81
WebRatio
Preparación Entorno de Desarrollo
6. Seleccionamos la opción “SVN” y pulsamos sobre “Next”:
13 de 81
WebRatio
Preparación Entorno de Desarrollo
7. Seleccionamos la opción “Use existing repository Location” y el respositorio que acabamos de crear, y
pulsamos “Next”:
8. IMPORTANTE: Introducimos la URL que se nos ha proporcionado, seguida de “/v0/xxxx/xxxx_wr”, según
se muestra a continuación:
14 de 81
WebRatio
Preparación Entorno de Desarrollo
9. Pulsamos Finish, y si nos lo pide introducimos un comentario antes de subir todos los cambios.
10. En este momento ya tenemos el proyecto subido al servidor Subversion. Podemos comprobarlo abriendo
cualquier navegador y accediendo a la URL del proyecto -> v0
15 de 81
WebRatio
Preparación Entorno de Desarrollo
Y pulsando dentro de la carpeta con el nombre del proyecto, accedemos al módulo “XXXX_wr”:
16 de 81
WebRatio
Preparación Entorno de Desarrollo
3.4. Apertura del Modelo
La plantilla de ICM para proyectos de WebRatio incluye una carpeta inicial con el nombre del proyecto, y varias
subcarpetas dentro de éste:
Cada carpeta contiene una parte del proyecto:
·
bpm: directorio con un ejemplo de workflow por si se desea desarrollar un proyecto con esta
característica.
·
src: directorio con el modelo del proyecto (se corresponde con el proyecto webratio, y en el siguiente
paso lo abriremos).
·
web: directorio con la web a desplegar (esta web ser genera a partir del proyecto de webratio utilizando
un plan de despliegue).
·
war: directorio con carpetas para cada uno de los entornos y con los correspondientes ficheros
enviroment.properties. Estos ficheros los utiliza el área de ICM correspondiente de la instalación en los
distintos entornos para configurar la aplicación (el desarrollador no los modifica).
Para abri el modelo de Webratio contenido en el directorio “src”, debemos ir al menú “File -> Import…”, y
seleccionamos la opción “Existing Projects into Workspace”:
17 de 81
WebRatio
Preparación Entorno de Desarrollo
En la siguiente pantalla seleccionamos “Select root directory”, y pulsando sobre “Browse…”, buscamos el
directorio “src” de nuestro proyecto.
MUY IMPORTANTE: desbemos DESACTIVAR la casilla “Copy Projects into Workspace”.
18 de 81
WebRatio
Preparación Entorno de Desarrollo
Vemos que aparece el proyecto “ICM_Modulo_WebRatio”. Dejamos su casilla activada, y pulsamos sobre
“Finish”. En nuestro entorno de trabajo ya podemos ver el proyecto importado:
19 de 81
WebRatio
Preparación Entorno de Desarrollo
Pulsamos con el botón derecho sobre el proyecto, y pulsamos sobre “Rename” para renombrar el proyecto:
Establecemos el nuevo nombre a xxxx:
20 de 81
WebRatio
Preparación Entorno de Desarrollo
Con esto ya tenemos el proyecto importado y enlazado con el servidor subversión:
3.5. Configuración de uso de WorkFlows
Existen dos tipos de proyecto que pueden realizarse partiendo de la plantilla, el que utiliza WorkFlows y el que no
los utiliza. Dependiendo de cada tipo, deben realizarse en este momento una serie de acciones, que se describen
en los siguientes sub-apartados.
3.5.1. Uso SIN WorkFlows
NOTA IMPORTANTE: Sólo se seguirán los pasos indicados en este apartado si nuestra aplicación Web NO va a
hacer uso de WorkFlows, de lo contrario se seguirán los pasos indicados en el próximo.
Hacemos doble click sobre el fichero “Model.wr” para abrir el modelo:
21 de 81
WebRatio
Preparación Entorno de Desarrollo
Pulsamos con el botón derecho sobre el módulo “BP Administration” y seleccionamos la opción “Delete”:
Hacemos lo mismo con el módulo “Lane 1”:
Hacemos doble click sobre el módulo “Activity View”:
22 de 81
WebRatio
Preparación Entorno de Desarrollo
Eliminaremos los módulos “Gestión usuarios”, “Activity Info” y “Pool 1”, pulsando con el botón derecho sobre
ellos y seleccionando “Delete”:
Seleccionamos la opción “Data Model”:
23 de 81
WebRatio
Preparación Entorno de Desarrollo
Eliminamos TODAS las entidades del modelo EXCEPTO “User”, “Group” y “Module”, el modelo de datos debe
quedar así:
Desde la vista general de Webratio, en la zona “Other Projects” localizamos el proyecto xxxx_wr. Pulsamos con el
botón derecho sobre la carpeta “bpm” y seleccionamos “Delete”:
24 de 81
WebRatio
Preparación Entorno de Desarrollo
Pulsamos sobre “OK” en la pantalla de confirmación:
3.5.2. Uso CON WorkFlows
NOTA IMPORTANTE: Sólo se seguirán los pasos indicados en este apartado si nuestra aplicación Web SI va a hacer
uso de WorkFlows, de lo contrario se seguirán los pasos indicados en el anterior.
Para abri el modelo de BPM contenido en el directorio “bpm”, debemos ir al menú “File -> Import…”, y
seleccionamos la opción “Existing Projects into Workspace”:
25 de 81
WebRatio
Preparación Entorno de Desarrollo
En la siguiente pantalla seleccionamos “Select root directory”, y pulsando sobre “Browse…”, buscamos el
directorio “bpm” de nuestro proyecto.
MUY IMPORTANTE: desbemos DESACTIVAR la casilla “Copy Projects into Workspace”.
26 de 81
WebRatio
Preparación Entorno de Desarrollo
Vemos que aparece el proyecto “ICM_Modulo_BPM”. Dejamos su casilla activada, y pulsamos sobre “Finish”. En
nuestro entorno de trabajo ya podemos ver el proyecto importado:
27 de 81
WebRatio
Preparación Entorno de Desarrollo
Pulsamos con el botón derecho sobre el proyecto “ICM_Modulo_bpm”, y pulsamos sobre “Rename” para
renombrar el proyecto:
Establecemos el nuevo nombre a xxxx_bpm:
Ahora es necesario enlazar el proyecto BPM con el proyecto Webratio. Para ello, abrimos el proyecto de Webratio,
pulsamos con el botón derecho sobre “Project” y seleccionamos la opción “Synchronize BPM to Web Project…”:
28 de 81
WebRatio
Preparación Entorno de Desarrollo
En la siguiente ventana pulsamos sobre “Finish”:
29 de 81
WebRatio
Preparación Entorno de Desarrollo
Si desplegamos la opción “BPM Resources” de nuestro proyecto Webratio, podemos ver que ya tenemos el
proceso BPM sincronizado:
Debemos también modificar el nombre del proceso BPM de ejemplo incluido en el proyecto, para ello dentro del
proyecto del BPM desplegamos la carpeta “Processes” y pulsamos con el botón derecho sobre el “Proceso
XXXX.bpm”, seleccionando la opción “Rename”:
Sustituimos XXXX por el nombre de nuestro proyecto:
30 de 81
WebRatio
Preparación Entorno de Desarrollo
Por último, debemos eliminar dos “SiteView” que no se utilizan en los modelos con WorkFlow, denominados
“usuario” y “administrador”. Para ello, pulsamos con el botón derecho sobre cada uno de ellos y seleccionamos la
opción “Delete”:
31 de 81
WebRatio
Preparación Entorno de Desarrollo
3.6. Configuración de base de datos para el modelo
En este momento debemos disponer de un esquema propio en la base de datos del entorno de desarrollo (porque
se solicitó), así que asociamos la misma al nuevo proyecto que hemos creado.
Hacemos doble click sobre el fichero “Model.wr”, para abrir el modelo:
Hacemos doble click sobre “Data Model”. Desde la vista Data Model, en el panel Outline se muestra un nodo de
base de datos denominado “WR_XXXX”, lo seleccionamos:
La conexión a la base de datos en el entorno local del desarrollador se realiza vía jdbc (en los entornos de ICM, con
DataSource). En la vista Properties, se deben modificar las propiedades de la base de datos:
32 de 81
WebRatio
Preparación Entorno de Desarrollo
·
Name: WR_XXXX (sustituir por el nombre del proyecto).
·
Type: Oracle 10g (Thin Driver)
·
URL: jdbc: oracle:thin:@<host>:<port>:<sid>, según nos hayan indicado desde Arquitectura en la
solicitud de creación de la base de datos, como por ejemplo
jdbc:oracle:thin:@icm21:1521:denivel2
·
Username: WR_XXXX siendo XXXX el nombre del proyecto
·
Password: La proporcionada por Arquitectura
·
Default Schema: WR_XXXX siendo XXXX el nombre del proyecto
3.7. Prueba de conexión
Se puede probar la conexión a la base de datos pulsando el botón derecho en el nodo de la base de datos en el
panel Outline y seleccionar la opción Refresh. Si la conexión está correctamente establecida, se mostrará un
rectángulo verde en el icono de la base de datos.
33 de 81
WebRatio
Preparación Entorno de Desarrollo
ATENCION
En este momento, si aparece el siguiente error en pantalla, comprobar que se han
seguido correctamente los pasos indicados en la guía de configuración del entorno
relativa a la instalación de las librerías ICM_Librerias.zip.
3.8. Configuración del fichero WebRatio.properties
Debemos configurar el fichero en el que se encuentran los datos de nuestra aplicación. Para ello, tenemos que
desplazarnos hasta el fichero WebContent->WEB-INF->classes->WebRatio.properties, y pulsar sobre él para
editarlo:
34 de 81
WebRatio
Preparación Entorno de Desarrollo
Una vez en este fichero, debemos modificar, como mínimo, las siguientes variables:
-
application=XXXX (El valor debe ser el nombre de nuestro proyecto EN MAYÚSCULAS.Ej: SEMU)
-
icmauth.database.user=WR_XXXX (XXXX es el nombre del proyecto en mayúsculas).
-
trazas.ficheroLog=ZZZZ (Directorio donde queremos dejar el log, por ejemplo C:/)
3.9. Creación del Modelo Inicial en Base de Datos
Para poder conectarnos a nuestra aplicación de forma autenticada, es necesario que generemos el modelo de
datos que viene configurado en la plantilla.
Desde el área de trabajo Data Model, pulsando botón derecho, se elige el commando Synchronize.
35 de 81
WebRatio
Preparación Entorno de Desarrollo
Es posible que se muestre una pantalla en la que deberemos seleccionar el único esquema que aparece y pulsar
sobre “OK”:
Se abre el Synchronize Wizard que muestra los elementos entrantes y salientes:
36 de 81
WebRatio
Preparación Entorno de Desarrollo
Se selecciona el botón Export All Objects del menú y se pulsa el botón Next.
Se muestra el código SQL empleado para la sincronización, y se pulsa el botón Finish.
37 de 81
WebRatio
Preparación Entorno de Desarrollo
Como resultado, en el nodo de Metadata, en el panel Outline, se muestra la metadata de los tablas y vistas
creadas.
3.10.
Configuración de la Autenticación
NOTA IMPORTANTE: Si se trata de un modelo con Workflows, no se debe seguir este apartado, se debe
consultar con Arquitectura para generar un fichero específico para el proyecto que contenga los roles de
la aplicación concreta.
Para poder conectarnos a nuestra aplicación de forma autenticada, es necesario ejecutar un script sql que viene
incorporado en el directorio “DBScripts”, llamado “grupos_modulos.sql”:
38 de 81
WebRatio
Preparación Entorno de Desarrollo
Abrimos una herramienta de ejecución de comandos SQL (por ejemplo PL/SQL Developer), accediendo a la base
de datos con WR_XXXX:
Copiamos el contenido del script en la herramienta, y lo ejecutamos:
39 de 81
WebRatio
Preparación Entorno de Desarrollo
Con esto ya hemos configurado nuestra aplicación para poder autenticarse contra el modelo de datos (intranet).
3.11.
Prueba de la Aplicación
Ya tenemos configurada nuestra aplicación, es el momento de proceder a probarla. Para ello pulsamos sobre el
botón “Generate And Run” (
), de forma que aparecerá la pantalla de autenticación:
40 de 81
WebRatio
Preparación Entorno de Desarrollo
Si hemos configurado la autenticación correctamente según los pasos que se indican en este documento,
podremos acceder a la aplicación con los usuarios que se soliciten en la creación del repositorio del proyecto.
NOTA IMPORTANTE: En el entorno de desarrollo, si no se solicita nada específico se crean dos usuarios de
distintos perfiles:
·
CONSU/CONSU: Para usuarios normales
·
ADMON/ADMON: Para usuarios administradores
41 de 81
WebRatio
Preparación Entorno de Desarrollo
42 de 81
WebRatio
Preparación Entorno de Desarrollo
4. SUBIDA DE CAMBIOS A SUBVERSION Y REALIZACIÓN DE UNA ENTREGA
Durante el desarrollo de nuestro proyecto, debemos ir subiendo las modificaciones al repositorio de Subversion.
Para ello, pulsamos con el botón derecho sobre el proyecto y seleccionamos “Team -> Commit”:
Escribimos un comentario sobre la subida de cambios, y pulsamos sobre “Ok”:
43 de 81
WebRatio
Preparación Entorno de Desarrollo
4.1. Realización de Una Entrega
4.1.1. Generación de la aplicación
Si deseamos realizar una entrega para que la aplicación sea instalada en alguno de los entornos de ICM, debemos
realizar los siguientes pasos:
1. Modificar la variable ${deploy_loc} para que apunte al subdirectorio “web” de nuestro proyecto XXXX_wr.
Para ello accedemos a “Window -> Preferences” y seleccionamos la opción “WebRatio -> Variables”:
Seleccionamos la variable ${deploy_loc} y pulsamos sobre “Edit Variable”, y así buscamos el directorio
“web” dentro de nuestro proyecto llamado XXXX_wr:
44 de 81
WebRatio
Preparación Entorno de Desarrollo
Pulsamos sobre “Ok” y ya habremos modificado la variable.
2. Antes de generar la entrega, comprobamos que el modelo no tiene errores. Para ello, pulsamos sobre el
icono de Menú “Find Model Problems”:
Comprobamos que no salen Problemas en la solapa “Problems”:
3. El siguiente paso es ejecutar el plan de despliegue CREAR_ENTREGA que se adjunta en cada proyecto
webratio creado a partir de la plantilla. Este realiza una copia de la aplicación web generada dentro de la
carpeta web del módulo técnico, para posteriormente realizar el war de despliegue.
45 de 81
WebRatio
Preparación Entorno de Desarrollo
4.1.2. Generación del Script para el Modelo de Datos
4.1.2.1.
Primera instalación en un entorno productivo
Si se trata de la primera instalación en un entorno y el modelo de datos no estaba previamente generado,
se genera el script total de la base de datos con el comando Generate SQL… de WebRatio. Deben marcase
como opción Refresh Database Metadata e Ignore database schema.
46 de 81
WebRatio
Preparación Entorno de Desarrollo
En la siguiente pantalla debe definirse el nombre del fichero generado, que seguirá la nomenclatura
xxxx_total_YYYYMMDD_vA_B_C.sql.
Ejemplo: semu_total_20120921_v1_0_0.sql
47 de 81
WebRatio
Preparación Entorno de Desarrollo
Los ficheros .sql se generan en la carpeta DBScripts.
48 de 81
WebRatio
Preparación Entorno de Desarrollo
4.1.2.2.
Actualizaciones del modelo de datos de una aplicación
Si NO se trata de la primera instalación en un entorno (el modelo de datos ya estaba previamente
generado) , se genera el script con las diferencias introducidas. Para generar el script parcial con las
modificaciones del modelo de datos que se deseen incorporar, se ejecuta el comando “Synchronize…” sobre
la base de datos según se indicó en apartados anteriores.
NOTA IMPORTANTE: Es posible que para ver las diferencias reales entre el modelo y la versión de
producción, sea necesario realizar la comparación del modelo contra la base de datos de pre-producción.
Para ello se solicitará a la Unidad de Paso a Producción un usuario de acceso sólo-lectura al entorno de
preproducción para poder comparar el modelo.
En la siguiente pantalla debe definirse el nombre del fichero generado, que seguirá la nomenclatura
nomenclatura xxxx_incremental_YYYYMMDD_vA_B_C.sql.
Ejemplo: semu_incremental_20120921_act_v1_0_1.sql
4.1.3. Actualización de Subversion y Creación del TAG
Antes de crear el TAG en subversión debemos subir todos los cambios que tenemos en local al repositorio. Para
ello:
4. Revisar el fichero info.txt en la carpeta raíz, revisando que esté correcto el número de versión. Cada nueva
entrega tiene que tener un número de versión distinto, si no la entrega será rechazada durante su
instalación.
49 de 81
WebRatio
Preparación Entorno de Desarrollo
5. Refrescar la carpeta raíz (xxxx_wr). Para ello pulsamos con el botón derecho sobre la carpeta raíz y
pulsamos sobre la opción “Refresh”.
6. Realizamos un Update desde el directorio raíz del proyecto (semu_wr), para bajarnos los cambios que
hayan podido realizar otros desarrolladores, pulsando botón derecho sobre la carpeta y seleccionando
Team->Update:
50 de 81
WebRatio
Preparación Entorno de Desarrollo
7. Realizamos un Commit del proyecto, seleccionando la carpeta raíz (semu_wr), pulsando botón derecho y
seleccionando Team->Commit…:
51 de 81
WebRatio
Preparación Entorno de Desarrollo
52 de 81
WebRatio
Preparación Entorno de Desarrollo
8. Crear el TAG para la entrega pulsando boton derecho sobre carpeta raíz (semu_wr), y eligiendo Team>Tag…:
9. En ese momento aparece un cuadro de diálogo en el que debemos introducir la URL del repositorio en la
que queremos crear el TAG. La URL tendrá el formato que se indica en el siguiente cuadro:
53 de 81
WebRatio
Preparación Entorno de Desarrollo
URL del servidor de Subversion para crear un TAG
URL:
https://RutaServidorSVN/svn/ProyectoMinusculas/entregas/Fecha_Version/ProyectoMinusculas_wr
Valores de las variables:
·
·
·
·
RutaServidorSVN: Ruta del servidor de Subversion (por defecto es
https://subversion01.madrid.org:8443 )
ProyectoMinusculas: Nombre del proyecto en minúsculas (Ej: semu).
Fecha: Fecha en la que se crea el TAG, con formato AAAAMMDD
Version: Versión de la que se trata, separada por guiones bajos, no
por “.”. Ej: 1_0_0
Ejemplo:
https://subversion01.madrid.org:8443/svn/semu/entregas/20120921_1_0_0/semu_wr
En el cuadro de diálogo, introducimos la URL del TAG y un comentario:
54 de 81
WebRatio
Preparación Entorno de Desarrollo
Pulsamos sobre “OK”, y con esto hemos finalizado la creación del TAG. Podemos comprobar que el TAG está
creado correctamente abriendo cualquier navegador y navegando por el servidor hasta el TAG recién creado:
55 de 81
WebRatio
Preparación Entorno de Desarrollo
4.1.4. Solicitud de la Instalación
10. Debemos solicitar la instalación de este TAG en el entorno desesado, utilizando la aplicación GPAP
(Gestión de Pasos a Producción). En la solicitud deberemos indicar, como mínimo:
-
URL del TAG de Subversion.
Ej: https://subversion01.madrid.org:8443/svn/semu/entregas/20120921_v1_0_0/
-
El entorno en el que se desea instalar.
Ej: entregas, validación, producción, etc.
56 de 81
WebRatio
Preparación Entorno de Desarrollo
-
Si deseamos Instalar la Aplicación, el Modelo de Datos, o ambos
-
En caso de instalar el modelo de datos, se deberá indicar:
o
Si se trata de la primera entrega en ese entorno (es necesario crear el esquema) o no.
o
El nombre de la instancia de base de datos donde se desea instalar (ej: icm21_denivel2).
o
El/Los nombres de los scripts SQL a ejecutar
Ejemplo: semu_incremental_20120921_v1_0_1.sql
11. Si se trata de la primera solicitud de instalación de este módulo técnico, en la solicitud a través de GPAP
hay que adjuntar la “Ficha de Instalación de Módulos Técnicos”, disponible en la siguiente URL:
http://intranet.madrid.org/ppro/
Para rellenar la ficha:
1) En la zona “TECNOLOGÍA” seleccionar “WEBRATIO”:
2) En la zona “ENTORNOS DE INSTALACIÓN” seleccionar la opción deseada en función de la
aplicación:
3) En la zona “URL de acceso en DESARROLLO” configurar la URL de nuestra aplicación:
4) Si se han incluído variables en el fichero “environment.properties” que no son las estándar que
vienen con la plantilla, deberá indicarse en la zona “VARIABLES DE
ENVIRONMENT.PROPERTIES”:
57 de 81
WebRatio
Preparación Entorno de Desarrollo
5) En la zona “GESTIÓN DE USUARIOS CENTRALIZADA”, si queremos que se copien los usuarios de
USU o USUI de un entorno de origen (por ejemplo “desarrollo”) a otro de destino (en el que
estamos instalando, por ejemplo “validación”), debemos especificarlo:
Nota
Tras la primera instalación de una aplicación en los entornos de ICM (*), si se
trata de una aplicación en tecnología ATLAS o tecnología WEBRATIO, la Unidad
de Paso a Producción deberá devolvernos el fichero “environment.properties”
configurado correctamente para el entorno (el que ha modificado y utilizado
para desplegar la aplicación).
Debemos sobreescribir nuestro fichero local asociado a ese entorno (en la
carpeta “war”) con el que se nos proporciona.
*: Excepto en el entorno de producción, en el cuál no se devuelve el fichero
environment.properties
58 de 81
WebRatio
Preparación Entorno de Desarrollo
5. DESARROLLO DE MODELO DE DATOS
A continuación se describen los pasos a seguir para desarrollar el modelo de datos y disponer de una base de
datos soporte del mismo.
5.1. Desarrollo del modelo de datos
Desde el panel Data Model se pueden ir incorporando los distintos elementos del modelo de datos: entidades con
sus atributos, relaciones y generalizaciones.
El modelo de datos de WebRatio cuenta de partida con tres entidades que no pueden borrarse:
·
Users: Entidad para gestión interna de usuarios (actualmente sin uso pues se emplean los usuarios
del LDAP corporativo).
·
Groups: son los perfiles de los usuarios, tal y como se han dado de alta en el LDAP que deben
replicarse en esta entidad. También define los módulos a los que tienen acceso y el módulo por
defecto al que acceden los usuarios de un perfil determinado.
·
Modules: son los ID de los distintos elementos del proyecto (suite views, áreas, páginas,...) a los
que se les da acceso restringido.
En el ICM_template se cuenta con módulos predefinidos para la gestión de los módulos y grupos desde las
aplicaciones por parte de los administradores.
5.2. Crear una nueva entidad
Para incorporar una entidad en el modelo, seleccionamos el icono Entity
trabajo.
59 de 81
y pulsamos dentro del área de
WebRatio
Preparación Entorno de Desarrollo
Editamos las propiedades de la entidad en el panel propiedades, como son Name y Duration (ver documento de
normativa sobre nombres y uso de los tipos de persistencia).
5.3. Añadir atributos a las entidades
El siguiente paso es añadir atributos a las entidades, para locual pulsamos botón derecho sobre la entidad y
seleccionamos Add Attribute en el menú de comandos.
5.4. Editar las propiedades de los atributos
Con el atributo seleccionado, se pueden modificar sus propiedades en la vista Properties. Indicaremos su nombre,
tipo y si es un atributo derivado. WebRatio incorpora automáticamente un atributo Id en las entidades que sirve
como atributo clave.
60 de 81
WebRatio
Preparación Entorno de Desarrollo
Y creamos atributos adicionales para el Apellido1, Apellido2 y Email.
5.5. Sincronización de la base de datos
Una vez comprobado que existe conexión a la base de datos y definido el modelo, puede sincronizarse el modelo
de datos con la base de datos. Para ello repetir los pasos indicados anteriormente en este documento, en el
apartado “Creación del Modelo Inicial en Base de Datos”.
6. DESARROLLO DE MODELO DE NEGOCIO
Como ejemplo, se desarrolla un modelo CRUD para gestión de un catálogo. En estas operaciones intervienen
principalmente las unidades Entry Unit, Data Unit, Create Unit, Modify Unit, Is Not Null Unit y Delete Unit.
Los pasos a seguir para realizar estas operaciones sobre una entidad Entity son los siguientes:
6.1. Seleccionar Siteview
Al partir de una copia de ICM_template, se cuenta con dos site views para el desarrollo del modelo de negocio:
·
Public es donde los usuarios de la aplicación acceden, contando con una unidad módulo Login
marcada como Home para restringir el acceso, y donde aencuentra toda su funcionalidad. Este
módulo Login ha de tener la propiedad Custom URL Name con el valor “login” para poder llevar a
cabo la redirección del usuario a dicho módulo en el momento de que este pierda la sesión en la
aplicación.
·
Private es una vista privada que sólo podrán acceder aquellos miembros de grupos con acceso a
este Site View y previamente se hallan logueado en la vista pública a través del formulario de login
que se les presenta al acceder a la aplicación.
61 de 81
WebRatio
Preparación Entorno de Desarrollo
Dentro de este Site View podemos encontrar tres elementos principalmente:
o
Master Page: Página cuyo contenido será visible durante la navegación del site view o
vista private. Como contenido de esta master page podemos encontrar una unidad
específica de ICM que nos devuelve los datos del usuario logueado, enlazada con una
Multi Message Unit que nos permite mostrar al usuario un mensaje. En este mensaje va el
nombre del usuario logueado así como un enlace para cerrar la sesión del mismo.
o
Módulo de gestión de grupos: Módulo con todo lo necesario para poder realizar la gestión
de los grupos de la aplicación. Con este módulo podremos realizar las operaciones típicas
de CRUD (Create, Read, Update y Delete) sobre la entidad group.
o
Módulo de gestión de usuarios: Módulo con todo lo necesario para poder realizar la
gestión de los módulos de la aplicación. Con este módulo podremos realizar las
operaciones típicas de CRUD (Create, Read, Update y Delete) sobre la entidad module.
Nos posicionamos en el site view Public, seleccionando la pestalla que da acceso a su área de trabajo.
62 de 81
WebRatio
Preparación Entorno de Desarrollo
6.2. Modelizado en el área de trabajo
Los pasos a seguir para el desarrollo de una aplición CRUD de gestión de un catálogo son:
1. Incluimos una página y dentro de la misma introducimos una Power Index que muestre todos los atributos
de la entidad SEMU_CLIENTES y una alternativa con dos páginas en su interior.
2. Dentro de la página marcada por defecto incluimos una No Op Content Unit que nos permitirá navegar de
la página marcada por defecto a la otra. Con esto conseguiremos mostrar el formulario de gestión de los
datos de la entidad SEMU_CLIENTES, solo cuando el usuario desee modificar una instancia de la misma o
crear una nueva.
63 de 81
WebRatio
Preparación Entorno de Desarrollo
En la página no marcada por defecto, incluimos por tanto una Entry unit con todos los campos de
SEMU_CLIENTES y Para ello seleccionamos la unidad, pulsamos botón derecho y seleccionamos Field
Wizard.
Y elegimos la entidad SEMU_CLIENTES y pulsamos Next
Seleccionamos todos y marcamos los mismos como preloaded para poder ser precargados a la hora de
modificar una instancia.
64 de 81
WebRatio
Preparación Entorno de Desarrollo
Además, el campo oid tenemos que marcarlo como oculto (hidden) y no modificable (modifiable), y lo
precargaremos en el momento de llevar a cabo una modificación. Para seleccionamos la unidad y
pulsándo botón derecho elegimos la opción Edit Entry Unit:
Y ajustamos las opciones:
3. Incluimos un selector unit en la página no marcada por defecto que nos permitirá llevar a cabo la precarga
de los datos del formulario a la hora de llevar a cabo una modificación eligiendo como entidad
SEMU_CLIENTES t dentro del selector el Oid como atributo de selección:
65 de 81
WebRatio
Preparación Entorno de Desarrollo
Incluimos un enlace de tipo normal, llamado Modificar, entre la Power Index Unit y el selector que
acabamos de incluir, en el coupling de dicho enlace, botón derecho sobre el enlace y Parameters coupling,
asignamos el oid del elemento seleccionado en la Power Index Unit al selector unit.
Incluimos otro enlace entre la No Op Content Unit y el selector, llamado Nuevo cliente y en el coupling de
este último enlace lo dejaremos vacío para que no precargue ninguna información. Adicionalmente
incluímos un enlace de transporte entre el selector y la Entry Unit con el formulario y en el coupling
pasamos todos los campos. Nos queda finalmente:
66 de 81
WebRatio
Preparación Entorno de Desarrollo
4. Introducimos en el modelo 3 unidades de operación Delete Unit, Modify Unit y Create Unit seleccionando
SEMU_CLIENTES como entidad y el oid como parámetro de selección (que se ha seleccionado
automáticamente).
5. Añadimos un enlace entre la Power Index Unit y la Delete Unit y lo denominamos “Eliminar”.
Comprobamos que el coupling de este último enlace es el correcto pasando el oid entre ambas unidades.
67 de 81
WebRatio
Preparación Entorno de Desarrollo
Añadimos una Is Not Null Unit que nos permitirá conocer si la operación a realizar es una creación o una
modificación de una instancia de la entidad Entity. Para dicho fin tenemos que incluir un enlace entre la
Entry Unit y la Is Not Null Unit, llamado Aceptar y en el coupling de dicho enlace especificamos en el valor
input value el campo oid de la Entry Unit que en el caso de ser nulo definimos que la operación es una
creación y en caso contrario una modificación.
Es obligatorio marcar en el enlace la opción Empty String As Null para que haga correctamente la
comparación:
68 de 81
WebRatio
Preparación Entorno de Desarrollo
Incluimos, a continuación, un OK Link y un KO link que tengan como origen la Is Not Null Unit y como
destino el primero la Modify Unit y el segundo la Create Unit.
6. Insertamos en el modelo dos enlaces de tipo transporte, uno entre la Entry Unit y la Create Unit y otro
entre la Entry Unit y la Modify Unit. En ambos enlaces realizamos el coupling de tal forma que los datos
introducidos por el usuario son transferidos a la Create Unit y Modify Unit para que se lleve a cabo la
operación que corresponda. Para la Modify Unit:
69 de 81
WebRatio
Preparación Entorno de Desarrollo
Y para la Create Unit:
Quedando finalmente:
70 de 81
WebRatio
Preparación Entorno de Desarrollo
7. A continuación, incluimos en la página marcada como por defecto en la alternativa (Page 12) una Multi
Message Unit con la que mostrar los mensajes que tienen como origen las unidades de operación Create
Unit, Modify Unit y Delete Unit con los OK Link y KO Link y el coupling en ellos incorporados.
8. Por último, incluimos una Data Unit, denominada Detalles Cliente, conectada a la Power Index Unit
mediante un enlace de tipo normal, llamado Detalle, que nos permita mostrar la información detallada de
una instancia de la entidad SEMU_CLIENTES seleccionada a través de la Power Index Unit. En las
propiedades de la Data Unit hay que marcar la opción Display Attributes.
71 de 81
WebRatio
Preparación Entorno de Desarrollo
7. DESARROLLO DE CAPA DE PRESENTACIÓN
Al derivar el proyecto desde el template, el estilo ICM_style es seleccionado directamente, mostrando la imagen
corporativa en la aplicación.
7.1. Links e iconos
El template desarrollado para ICM asocia automáticamente los iconos según los nombres de los links. En el
siguiente cuadro, se muestra la relación entre el icono y el nombre del enlace que debe incorporarse en el
modelo.
Títulos de enlace
Icono
Search, filtrar, buscar, consult o consultar
New, nuevo, nueva o añadir
Export o exportar
Pdf
Excel
Importar
Generar o generate
Eliminar, delete o borrar
Save, salvar, guardar o almacenar
Modify, modificar, cambiar o editar
Word
Ayuda, help o ayudar
Adjuntar, attachment o attach
Clean o limpiar
Imprimir o print
Mas o plus
Descargar o download
Configurar, config, ajustes o settings
Examinar
Linkedin
Twitter
Doodle
Facebook
Aceptar o accept
Cancelar o cancel
Izquierda, izq o volver
Derecha o der
7.2. Personalización de cadenas
72 de 81
WebRatio
Preparación Entorno de Desarrollo
Para modificar los textos de las cadenas, se debe seleccionar la opción de Localized en las propiedades del
siteview y al pulsar el botón Localize. Desde la opción All o la del siteview, se pueden gestionar las distintas
cadenas de las unidades.
Para modificar los textos de la cabecera, se debe seleccionar la opción de Localized en las propiedades del
siteview y al pulsar el botón Localize, en la sección Custom aparecerán los mensajes.
Para modificar las cadenas, hay que generar la totalidad del proyecto con el botón Generate Full Web Project.
8. CREACIÓN DE PÁGINAS DE GESTIÓN DE GRUPOS Y MÓDULOS
Para gestionar desde la aplicación los perfiles existentes y las secciones a las que tienen acceso, se cuenta en el
siteview Private con dos Module Units denominadas Grupos y Módulos. Dichas unidades pueden incorporarse en
áreas o páginas, que al marcarlas como landmark, aparecerán en el menu de opciones del administrador
permitiendo la gestión:
73 de 81
WebRatio
Preparación Entorno de Desarrollo
74 de 81
WebRatio
Preparación Entorno de Desarrollo
ANEXO: DESPLIEGUE EN EL ENTORNO DE DESARROLLO/ENTREGAS SIN SOLICITUD POR GPAP
Siempre que queramos instalar una aplicación la primera vez en el entorno de desarrollo/entregas, debemos
realizarlo a través de una solicitud con la herramienta GPAP. Sin embargo, las siguientes veces el desarrollador
puede ser autónomo y desplegar sin necesidad de realizar solicitudes adicionales (sólo en el entorno de
desarrollo/entregas).
Lo primero que haremos seguir los pasos indicados en el apartado “4.1.1 Generación de la Aplicación” de este
documento.
Después, desde WebRatio configuraremos las variables necesarias en el fichero “environment.properties” situado
en “xxxx_wr\war\entregas”:
Una vez configurado el fichero, pulsaremos con el botón derecho sobre el fichero “xxxx_wr\build.xml”, y
seleccionaremos “Run As -> Ant Build…”:
75 de 81
WebRatio
Preparación Entorno de Desarrollo
En la ventana que aparece seleccionaremos la pestaña “Classpath”, y pulsaremos sobre “User Entries -> Add
External JARs…”. Nos desplazaremos hasta el directorio “librerias_ant” situado en el directorio de instalación de
WebRatio, y eligiremos los dos archivos que allí se encuentran:
76 de 81
WebRatio
Preparación Entorno de Desarrollo
77 de 81
WebRatio
Preparación Entorno de Desarrollo
Accederemos a la pestaña “Main” y en la zona “” añadiremos el contenido “-Dentorno=entregas”.
IMPORTANTE: Si la aplicación se encuentra desplegada en los servidores TOMCAT y no en los servidores
WEBLOGIC, se debe incluir la variable “-Dtomcat=true”. De lo contrario, no se debe incluir:
78 de 81
WebRatio
Preparación Entorno de Desarrollo
Despliegue en Weblogic:
Despliegue en Tomcat:
79 de 81
WebRatio
Preparación Entorno de Desarrollo
Pulsamos sobre “Apply” y luego sobre “Run”. Entonces se ejecutará la tarea que despliega automáticamente la
aplicación en el entorno de desarrollo/entregas, apareciendo el mensaje “BUILD SUCCESSFUL”:
80 de 81
WebRatio
Preparación Entorno de Desarrollo
81 de 81
Descargar