Laboratorio 5
Consulta con Base de Datos
1. IntroducciónEste proyecto presenta la conexión a una base de datos y consulta, utilizando un formulario a continuación nuestra estrategia:
a) Enunciado del Proceso b) Modelando el Proceso
c) Creando una conexión a la BD d) Iniciando el Servidor
e) Ejecutando el Proceso
f) Interactuando con la Interfaz del Usuario d) Mejorando el proceso
2. Enunciado del Proceso Proyecto 5: ConexiónBD
El proceso se inicia cuando el usuario “examples\ewilliams”, inicia una consulta a una base de datos colocando el nombre del usuario “Mary”, cuya respuesta debe mostrar su apellido correspondiente, esta respuesta debe aparecer como una notificación para el usuario “examples\ewilliams”.
3. Modelando el proceso 3.1 Creando el proyecto
Nuestro proyecto se denominará “ConectaBD”
3.2 Creando la interfaz (formulario) para ingresar la consulta
Para que el usuario pueda ingresar el nombre de usuario del usuario “Mary” es necesario crear un formulario con una caja de texto.
Entonces, insertamos 1 caja de texto en nuestro formulario “FormularioConsulta.xform”:
3.3 Creando la interfaz (formulario) para recuperar la respuesta
Para que el usuario pueda conocer cual es el apellido de “Mary”, creamos otro formulario “respuesta.xform”:
Figura 02: Formulario para mostrar el apellido
3.4 Gestionando la conexión a la Base de Datos “Instituto”
Para poder conectar un proceso de negocios con una base de datos, es necesario que la Base de Datos este implementado con su estructura y datos, al menos para este ejemplo.
Entonces en MYSQL creamos la base de datos “instituto” y ejecutamos el siguiente query:
CREATE TABLE `empleados` ( `id` varchar(11) NOT NULL, `name` varchar(20) default NULL, `designation` varchar(30) default NULL, PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `empleados` VALUES ('1', 'Daniel', 'Administrador'); INSERT INTO `empleados` VALUES ('2', 'Juan', 'Desarrollador'); CREATE TABLE `usuarios` (
`id` int(11) NOT NULL auto_increment, `username` varchar(100) default NULL, `firstname` varchar(100) default NULL, `lastname` varchar(100) default NULL, `email` varchar(100) default NULL, `phone` varchar(100) default NULL, PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
INSERT INTO `usuarios` VALUES (1, 'examples\\msmith', 'Mark', 'Smith', '[email protected]', '1234567');
INSERT INTO `usuarios` VALUES (2, 'examples\\mary', 'Mary', 'Torres', '[email protected]', '123444555');
Esta base de datos, contiene 02 tablas y en una de ellas se encuentran los usuarios con sus respectivos campos. De acuerdo a los datos de la tabla el apellido de “Mary” es “Torres” y ese es el dato que se debe mostrar como resultado.
3.4.1 Creando una conexión a la Base de Datos
Para iniciar una conexión intalio con Mysql es necesario crear una conexión a la base de datos.
a) En el proyecto hacemos clic derecho y seleccionamos la opción “New”, luego “Database Connector”.
Figura 03: Seleccionando la opción Database Connector
a) A continuación creamos un nombre a esta conexión “consulta.sql”
b) A continuación hacemos un clic en el boton “New Connection Profile” y se mostrará las diferentes Gestores de Base de Datos y seleccionamos MYSQL y el nombre de esta conexión será “instituto”
Figura 05: Seleccionando la base de datos MYSQL
d) Seguidamente nos mostrará otra pantalla donde se especificará el controlador MYSQL JDBC, dependiendo de la versión
Figura 07: Seleccionando “New Driver Definition”
e) A continuación nos mostrará la siguiente pantalla, donde se seleccionará la versión de base de datos que tiene instalado en su computador
Figura 08: Lista de versiones de MYSQL
f) A continuación hacemos clic en la pestaña “Jar List”, antes de adicionar elegimos la opción “Clear All”
g) Ahora solo queda seleccionar el controlador correspondiente en este caso seleccionamos la opción “Add Jar/Zip…” ubicado en la carpeta “controlador” y cuyo nombre de archivo es “mysql-connector-5.0.4.jar”.
Figura 10: Adicionando el nuevo controlador
h) Para definir este nuevo controlador solo queda hace clic en el boton “ok”, a continuación aparecerá automáticamente la siguiente pantalla:
i) A continuación debe personalizar esta nueva conexión, en este caso el nombre de la base de datos es “instituto” y coloque el correspondiente password
Figura 12: Detalles de la nueva conexión
j) Antes de finalizar es necesario hacer el test correspondiente, entonces hacer clic en el boton “Test Connection”
Figura 13: Verificando conexión
k) Finalmente aparecerá el nombre de la conexión y se creará automáticamente un archivo SQL.
Figura 14: Comprobando Archivo SQL y nombre de la conexión
l) Para que se pueda utilizar en el diagrama este nuevo artefacto es necesario definir la consulta SQL, en este definimos el siguiente query:
select * from usuarios where firstname = ?
Figura 15: Definiendo el query en la consola de la conexión
3.5 Creando el Diagrama de Negocio de Procesos
Figura 16: Artefactos adicionados al proyecto
A continuación adicionamos un Diagrama de Procesos de negocio con el nombre “ModeloBD”, donde incorporaremos los artefactos correspondientes.
a) A continuación creamos 03 pool, una para el "Administrador", el "Servidor" y "Base de Datos". Donde el único pool ejecutable será las tareas del pool "Servidor".
Figura 17: Diagrama de Procesos de negocios con 03 pools
b) Luego insertaremos el primer formulario creado en el pool “Administrador”, con la opción “Use Formulario Consulta for people Initiation Process Activity”
c) A continuación adicionamos el segundo formulario en el pool “Administrador” con la opción “Use respuesta for Notification"
d) En el pool ejecutable insertamos las siguientes tareas "Recibe Datos", "Envia Consulta" y "Envia Resultado"
e) El último artefacto en adicionar será el archivo “consulta.sql” en el pool de la Base de Datos.
Figura 18: Vista previa de los artefactos en el diagrama
f) Ahora hacemos clic en el pool “Administrador” y asignamos el rol “examples\manager” para que el usuario “examples\ewilliams” pueda realizar la consulta
Figura 19: Asignado rol al pool “Administrador”
g) A continuación enlazamos las tareas utilizando las flechas de conexión, nuestro diagrama debe quedar de la siguiente manera.
Figura 19: Vista final del diagrama
3.6 Mapeando el proceso
a) En el primer caso hacemos clic en la tarea “Envia Consulta”, y mapeamos del Formulario hacia la consulta SQL.
Figura 20: Mapeando FormularioConsulta1InitProcessRequest con ConsultaRequest
b) En el segundo caso, hacemos clic en la tarea “Envia Resultado” y mapeamos del resultado SQL al formulario de notificación.
Figura 21: Mapeando ConsultaResponde con RespuestaNotiffy Request Importante: Debe marcar lastname y enlazarlo con El_apellido_Es
Como el diagrama recién esta terminado ahora si, guarde el proyecto
4. Ejecutando el proceso en el servidor
a) Ingresamos como usuario “admin” y verificamos que el nuestro proyecto y pool ejecutable este en la lista.
Figura 22: Verificando el estado del proceso
b) A continuación aperturamos una nueva ventana para colocar el siguiente URL
http://localhost:8080/ui-fw, y colocamos el usuario “examples\ewilliams” y cuyo password es “password”.
Figura 23: Ingresando el nombre “Mary”
c) A continuación puede verificar desde el usuario “examples\ewilliams” la respuesta como una notificación
. Figura 24: Mostrando el apellido de “Mary”
5. Mejorando el proceso
Para poder mejorar el proceso se pide:
a) Imprimir todos los campos como una notificación, inicia “examples\ ewilliams", pero los resultados son mostrados en el usuario “examples\ msmith".
b) Se pide que el proceso lo inicie "examples\ ewilliams", y recupere el nombre de “Mary”, luego el usuario "examples\ewilliams", modifique el nombre por “Maria”, finalmente actualice este nuevo nombre en la Base de Datos. (Por 2 puntos en el trabajo final)
Contenido Laboratorio 5
1. Introducción
2. Enunciado del Proceso 3. Modelando el proceso
3.1 Creando el proyecto
3.2 Creando la interfaz (formulario) para ingresar la consulta 3.3 Creando la interfaz (formulario) para recuperar la respuesta 3.4 Gestionando la conexión a la Base de Datos “Instituto”
3.4.1 Creando una conexión a la Base de Datos 3.5 Creando el Diagrama de Negocio de Procesos 3.6 Mapeando el proceso
4. Ejecutando el proceso en el servidor
Solución disponible en: http://bpm.somoslibres.org
Universidad Inca Gracilazo de la Vega
Facultad de Ingeniería de Sistemas, Cómputo y Telecomunicaciones
Asignatura: Gestión de Procesos de Negocios Docente: MSc. Daniel Alejandro Yucra Sotomayor
Ingeniero de Sistemas
Colegio de Ingenieros del Perú: 61845
Email: [email protected], [email protected] Lima Perú, 2011