You are on page 1of 19

Elaboración de un sistema para el manejo de estados de cuenta de

propiedades de un negocio de bienes raíces

Índice
1. Herramientas ......................................................................................................................... 2
2. Base de Datos ........................................................................................................................ 2
2.1Diseño ................................................................................................................................... 2
2.2 creación SQL ........................................................................................................................ 2
3. Usuario y relación ...................................................................................................................... 3
3.1 creación usuario .................................................................................................................. 3
3.2 Asignación de privilegios y conexión ................................................................................... 4
4. Configuración Glassfish ......................................................................................................... 5
4.1 Generar pool y JDBC ............................................................................................................ 5
5. Ireport ................................................................................................................................... 6
5.1 Configuración ...................................................................................................................... 6
5.2 Consulta SQL y Como establecer una Conexión .................................................................. 8
5.3. Crear reporte ...................................................................................................................... 9
6. Proyecto Netbeans Enterprise Edition (EE) ......................................................................... 10
6.1Modelo ............................................................................................................................... 11
6.2 Dao .................................................................................................................................... 11
6.3Bl ......................................................................................................................................... 12
7. Código Bl.............................................................................................................................. 13
7.1 PropertyBL ......................................................................................................................... 13
7.2 customerBl ........................................................................................................................ 14
7.3 ExpensesBl ......................................................................................................................... 15
6.4 PaymentsBl ........................................................................................................................ 17
8. Código Bl Local .................................................................................................................... 18
8.1 Customer Bl Local .............................................................................................................. 18
8.2 Property Bl Local ............................................................................................................... 18
8.3 Expenses Bl Local ............................................................................................................... 19
8.4 Payments Bl Local .............................................................................................................. 19

Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces

1. Herramientas
Se trabajó con los siguientes programas y librerías.
Programas
 Netbeans 7.2.1
 MySql Workbeanch
 MySql Administrator
 Ireporty JasperReports
Librerías
 commons-beanutils-1.7
 commons-collections-2.1
 commons-digester-1.7
 commons-javaflow-20060411
 commons-logging-1.0.2
 jasperreports-2.0.4
 itext-1.3.1
 mysql-connector-java-5.1.29
2. Base de Datos
2. 1Diseño
Se crea el diseño de la BD con sus correspondientes tablas y relaciones

Ilustración 1. Diseño workbench
2. 2 creación SQL
Se elige la siguiente opción (ilustración 2) para ejecutar la BD y generar el archivo SQL, siguiendo los
pasos de la opción.
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces



Ilustración 2.exportar
Se cierra el modelo, se va al menú de inicio y se abre la conexión principal para ejecutar el SQL
(ilustración 3).


Ilustración 3.editor SQL
3. Usuario y relación
3. 1 creación usuario
Se crea un nuevo usuario para manejar la BD (ilustración 4) en MySql administrator se elige user
administration, add new user, se llenan los datos correspondientes ya creado se elige al usuario creado.

Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces


Ilustración 4-crear usuario
3. 2 Asignación de privilegios y conexión
Ya seleccionado el usuario se elige schema privileges para asignar la BD (ilustración 5) enseguida se le
asignan todos los privilegios.


Ilustración 5-asignar privilegios
Se genera una conexión en workbech , en connection ,new connection (ilustración 6), usando la BD y
usuarios creados anteriormente , al finalizar se hace una prueba ce conexión. Seleccionando la conexión
en connection e introduciendo la contraseña del usuario.
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces


Ilustración 6-nueva conexión
4. Configuración Glassfish

Se inicia el servidor, se va a servicios en las pestañas de la ventana principal en netbeans, se da clic en
botón derecho sobre Glassfish y se selecciona start.


Ilustración 7-inicia servidor
De la misma manera se da el clic en botón derecho y se elige la opción view domain admin console .
4. 1 Generar pool y JDBC
Se elige la opción jdbc en el menú y enseguida nuevo pool de conexión

Ilustración 8-pool
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces

Enseguida de eso se necesita llenar las propiedades en las que resaltan la contraseña, el usuario y url.
La contraseña y usuario son los creados , el url (ejemplo:
jdbc:mysql://localhost:3306/haciendaPropertyDB ) contendrá la dirección localhost y nombre de db.
Ya creado el pool se necesita un ping para comprobar la correcta conexión.

Ilustración 9-ping pool
Para generar el JDBC se utiliza un nuevo nombre y el pool creado anteriormente.

Ilustración 10-JDBC

5. Ireport
5. 1 Configuración
Abrir Netbeans, una vez abierto haga clic en el menú Tools y Seleccione Plugins.
Ahora haga clic en la pestaña Downloaded y enseguida en el botón Add Plugins.
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces


Ilustración 11-cargar Plugins Ireport
Ahora localice la ubicación del archivo con extensión NBM y después haga clic en el botón abrir.
A continuación nuestro complemento estará listo para instalarse, ahora pulse Install.

Ilustración 12-instalacion Ireport
Una vez que empiece la instalación aparecerá un Wizard que le guiara, solo haga clic en siguiente y
acepte los términos de la licencia.
Ireport se encuentra Instalado, para finalizar haga clic en la pestaña Installed.
Como podrá darse cuenta su Netbeans ha cambiado de apariencia, ya que se agregaron varios
componentes, además de las consolas de salida.
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces


Ilustración 13-nueva interfaz Netbeans
5. 2 Consulta SQL y Como establecer una Conexión
Debemos empezar por indicarle a Ireport que campos vamos a mostrar, de igual manera tendremos que
establecer una conexión para probar nuestro reporte para ello siga los siguientes pasos:
Haga clic en el botón situado al final de la barra de herramientas de Texto.

Ilustración 14-boton conexión
En la ventana Conexiones clic en “Nuevo”.
Aparecerá la ventana “Propiedades de Conexión” en la cual tendrá que seleccionar “Conexión Base
Datos JDBC”
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces


Ilustración 15-crear conexión
Esta es la última ventana que le aparecerá Coloque el nombre de la conexión, la URL y el nombre de
usuario junto con su password, puede hacer clic en el botón prueba para ver el estado de su conexión si
el test se efectúa con éxito haga clic en guardar, de lo contrario compruebe que los datos que haya
escrito estén correctos.

Ilustración 16-propiedades de conexión
5. 3. Crear reporte
En la dirección deseada se da clic derecho, nos vamos a nuevo, report Wizard.
Enseguida se asigna nombre, damos siguiente y creamos el query correspondiente.
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces


Ilustración 17.query para reporte
En next nos dará la opción para agregar las tablas necesarias, las agregamos y seleccionamos finalizar. Y
enseguida nos mostrara nuestro reporte listo para hacerle nuestras modificaciones.

Ilustración 18-reporte
6. Proyecto Netbeans Enterprise Edition (EE)
Se selecciona una nuevo proyecto en java EE , creando una nueva enterprise aplication.
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces


Ilustración 19-nuevo proyecto
6. 1Modelo
Para generar el modelo en el ejb del proyecto se creara un entity clas from data base,
siguiendo uno a uno los pasos indicados entre los que resaltan elegir el jdbc creado para
cargar las tablas correspondientes.
Se asigna nombre a el paquete y en mapping options se selecciona una until list.

Ilustración 20-crear entity classes from data base

Ilustración 21-paquete modelo
6. 2 Dao
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces

Para generar el dao se tiene que crear en nuevo paquete sesión bean for entity clases

Ilustración 22-session bean for entity clases
Ya seleccionado el tipo de paquete se asigna nombre y las tablas de la BD, de ahí se pasa al siguiente
paso y se pide que asigne también los archivos locales, enseguida aparecerá el paquete
correspondiente.

Ilustración 23-paquete dao
6. 3Bl
Para generar los bl se crea un nuevo paquete vacío en él se creara uno a uno los bl correspondientes
seleccionando un sesión bean, solo se coloca el nombre y se selecciona que se desea una interfaz local.
Ya listo se generar los métodos correspondientes dentro de cada uno de ellos.


Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces

7. Código Bl
El código bl corresponde a cada uno de los métodos que se podrá ejecutar sobre los registros de cada
tabla. Generando desde este espacio en cada método los comandos y ordenes necesarias para hacer lo
que se necesita. Desde registrar nuevos datos, eliminar, editar, generar listas, generar búsquedas entre
otros.
7. 1 PropertyBL
package mx.haciendaProperty.bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.hacienda.enumeraciones.EstadoProceso;
import mx.haciendaProperty.dao.PropertyDaoLocal;
import mx.haciendaProperty.modelo.Property;

* @author raygoza
@Stateless

public class PropertyBl implements PropertyBlLocal {

//// variable para controlar ejb

@EJB
private PropertyDaoLocal propertyDao;

//business methodo

//agrega registro
@Override
public EstadoProceso register(Property property) {
propertyDao.create(property);
return EstadoProceso.COMPLETE;
}

@Override
public EstadoProceso delete(Property property) {
//busca el dato dentro del id señalado
if(property.getIdproperty()==null||propertyDao.find(property.getIdproperty())==null){
return EstadoProceso.INCOMPLETE;
}else{

// remueve el dato del id señalado
propertyDao.remove(property);
return EstadoProceso.COMPLETE;
}
}

@Override
public EstadoProceso modify(Property property) {
// busca el dato en el id indicado
if(property.getIdproperty()==null||propertyDao.find(property.getIdproperty())==null){
return EstadoProceso.INCOMPLETE;
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces

//da la posibilidad de editar
}else{
propertyDao.edit(property);
return EstadoProceso.COMPLETE;
}
}


@Override
//regresa todos los elementos en una lista
public List<Property> getAll() {
return propertyDao.findAll();
}

@Override
public Property findById(Integer clave) {
return propertyDao.find(clave);
}
}

7. 2 customerBl
package mx.haciendaProperty.bl;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.hacienda.enumeraciones.EstadoProceso;
import mx.haciendaProperty.dao.CustomerDaoLocal;
import mx.haciendaProperty.modelo.Customer;

/**
*
* @author raygoza
*/
@Stateless
public class customerBl implements customerBlLocal {

//// variable para controlar ejb
@EJB
private CustomerDaoLocal customerDao;

//business methodo

@Override
public EstadoProceso register(Customer customer) {
customerDao.create(customer);
return EstadoProceso.COMPLETE;

}

Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces

@Override
public EstadoProceso delete(Customer customer) {
//busca el dato dentro del id señalado
if(customer.getIdcustomer()==null||customerDao.find(customer.getIdcustomer())==null){
return EstadoProceso.INCOMPLETE;
}else{
// remueve el dato del id señalado
customerDao.remove(customer);
return EstadoProceso.COMPLETE;
}
}

@Override
public EstadoProceso modify(Customer customer) {
// busca el dato en el id indicado
if(customer.getIdcustomer()==null||customerDao.find(customer.getIdcustomer())==null){
return EstadoProceso.INCOMPLETE;
//da la posibilidad de editar
}else{
customerDao.edit(customer);
return EstadoProceso.COMPLETE;
}
}

@Override
//regresa todos los elementos en una lista
public List<Customer> getAll() {
return customerDao.findAll();
}
@Override
public Customer findById(Integer clave) {
return customerDao.find(clave);
}

}

7. 3 ExpensesBl
package mx.haciendaProperty.bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.hacienda.enumeraciones.EstadoProceso;
import mx.haciendaProperty.dao.ExpensesDaoLocal;
import mx.haciendaProperty.modelo.Expenses;

Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces

/**
*
* @author raygoza
*/
@Stateless
public class expensesBl implements expensesBlLocal {
//// variable para controlar ejb
@EJB
private ExpensesDaoLocal expensesDao;

//business methodo

@Override
public EstadoProceso register(Expenses expenses) {


expensesDao.create(expenses);
return EstadoProceso.COMPLETE;
}

@Override
public EstadoProceso delete(Expenses expenses) {
//busca el dato dentro del id señalado
if(expenses.getIdexpenses()==null||expensesDao.find(expenses.getIdexpenses())==null){
return EstadoProceso.INCOMPLETE;
}else{
// remueve el dato del id señalado
expensesDao.remove(expenses);
return EstadoProceso.COMPLETE;
}
}


@Override
public EstadoProceso modify(Expenses expenses) {
// busca el dato en el id indicado
if(expenses.getIdexpenses()==null||expensesDao.find(expenses.getIdexpenses())==null){
return EstadoProceso.INCOMPLETE;
//da la posibilidad de editar
}else{
expensesDao.edit(expenses);
return EstadoProceso.COMPLETE;
}
}


@Override
//regresa todos los elementos en una lista
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces

public List<Expenses> getAll() {
return expensesDao.findAll();
}

@Override
public Expenses findById(Integer id) {
return expensesDao.find(id);
}
}
6. 4 PaymentsBl
package mx.haciendaProperty.bl;

import java.util.Date;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.hacienda.enumeraciones.EstadoProceso;
import mx.haciendaProperty.dao.PaymentsDaoLocal;
import mx.haciendaProperty.modelo.Payments;

/**
*
* @author raygoza
*/
@Stateless
public class paymentsBl implements paymentsBlLocal {
//// variable para controlar ejb
@EJB
private PaymentsDaoLocal paymentsDao;





//business methodo

@Override
public EstadoProceso register(Payments payments) {


paymentsDao.create(payments);
return EstadoProceso.COMPLETE;
}

@Override
public EstadoProceso delete(Payments payments) {
//busca el dato dentro del id señalado
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces

if(payments.getIdpayments()==null||paymentsDao.find(payments.getIdpayments())==null){
return EstadoProceso.INCOMPLETE;
}else{
// remueve el dato del id señalado
paymentsDao.remove(payments);

return EstadoProceso.COMPLETE;
}
}


@Override
public EstadoProceso modify(Payments payments) {
// busca el dato en el id indicado
if(payments.getIdpayments()==null||paymentsDao.find(payments.getIdpayments())==null){
return EstadoProceso.INCOMPLETE;
//da la posibilidad de editar
}else{
paymentsDao.edit(payments);
return EstadoProceso.COMPLETE;
}
}


@Override
//regresa todos los elementos en una lista
public List<Payments> getAll() {
return paymentsDao.findAll();
}

@Override
public Payments findById(Integer id) {
return paymentsDao.find(id);
}
}

8. Código Bl Local
En el código de bl local encontramos la declaración de los métodos generados en los bl, cada bl
cuenta con un bl local.
Los métodos se declaran con cada uno de sus tipos de retorno y variables que entran
en ellos.
8. 1 Customer Bl Local
8. 2 Property Bl Local
Elaboración de un sistema para el manejo de estados de cuenta de
propiedades de un negocio de bienes raíces

8. 3 Expenses Bl Local
8. 4 Payments Bl Local

Ilustración 1. Diseño workbench ................................................................................................... 2
Ilustración 2.exportar .................................................................................................................... 3
Ilustración 3.editor SQL ................................................................................................................. 3
Ilustración 4-crear usuario ............................................................................................................ 4
Ilustración 5-asignar privilegios ..................................................................................................... 4
Ilustración 6-nueva conexión ........................................................................................................ 5
Ilustración 7-inicia servidor ........................................................................................................... 5
Ilustración 8-pool .......................................................................................................................... 5
Ilustración 9-ping pool .................................................................................................................. 6
Ilustración 10-JDBC........................................................................................................................ 6
Ilustración 11-cargar Plugins Ireport ............................................................................................. 7
Ilustración 12-instalacion Ireport .................................................................................................. 7
Ilustración 13-nueva interfaz Netbeans ........................................................................................ 8
Ilustración 14-boton conexión ...................................................................................................... 8
Ilustración 15-crear conexión ........................................................................................................ 9
Ilustración 16-propiedades de conexión ....................................................................................... 9
Ilustración 17.query para reporte ............................................................................................... 10
Ilustración 18-reporte ................................................................................................................. 10
Ilustración 19-nuevo proyecto .................................................................................................... 11
Ilustración 20-crear entity classes from data base ..................................................................... 11
Ilustración 21-paquete modelo ................................................................................................... 11
Ilustración 22-session bean for entity clases .............................................................................. 12
Ilustración 23-paquete dao ......................................................................................................... 12