Programando con Café

Programando con Café es el lugar de encuentro de todos sus tutoriales de programación que usted necesita en diferentes lenguajes de programación y base de datos

domingo, marzo 11, 2012

Creación de log de errores - Parte III(Patrones de Diseño)

"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"

1. INTRODUCCION

En el post anterior habíamos terminado la clase de AccesoDB, en esta 3er parte del tutorial, completaremos la parte de acceso a base de datos usando el Patron DAO y la parte del funcionamiento de la aplicación mediante el Patron MVC.

Para lo cual es importante mencionar que los patrones de diseño son recomendaciones probadas y sirven como modelo para dar soluciones a problemas comunes en el desarrollo del software. Son consideraciones en la actualidad como buenas practicas en la ingeniería de software.

Como mencionamos en el primer parrafo, haremos uso de 2 patrones de diseño:

1.1 Patron DAO: Abstrate y encapsula todo el acceso a la fuente de datos , cuyas caracteristicas se describen a continuacion:
  • DAO administra las conexiones con la fuente de datos ,recupera y almacena informacion en la fuente de datos.
  • Independiente del mecanismo de almacenamiento persistente.
  • DAO actua como adaptador entre los componentes de negocio y la fuente de datos.
Los sistemas tienen la necesidad de persistir datos en algun momento , ya sea serializados , guardandolos en una base de datos relacional,etc . Para hacer esto , la aplicacion interactua con la base de datos . El 'como interactua ' NO debe ser asunto de la capa de logica de negocio de la aplicacion, ya que para eso esta la capa de persistencia , que es la encargada de interactuar con la base de datos. En base a esto se puede decir que DAO es un patron de diseño utilizado para la capa de persistencia.

Que sucederia si NO tenemos dividida la capa de logica de negocio de la capa de persistencia , y de un momento a otro el jefe del proyecto no comenta que se cambiara de motor de base de datos , lo primero que se nos viene en mente es lo cambios ah realizar en la capa de logica de negocio. Esto no ocurriria si hubieramos tenido por separado la capa de logica de negocio de la de persistencia ,habrido sido suficiente con modificar la capa de persistencia para que la aplicacion pudiera utilizar el nuevo motor de base de datos, sin tener que modificar la capa de logica de negocio.


1.2. Patron DAO: El sistema se divide en tres partes.
  • Modelo: Encapsula los datos y la funcionalidad de la aplicacion(logica que da solucion al problema)
  • Vista: Interfaz de Usuario para el ingreso y presentacion de datos generados por el modelo.
  • Controlador: Es el que controla el flujo de la aplicacion quien es el responsable de dar solucion a un problema;se comunica con el modelo y la vista.

2.- DESARROLLO

2.1. iniciar Aptana Studio 3.

2.2. Se trabajara con sesiones, por lo tanto crear dentro de la carpeta util, la clase Session.php



2.2. Construccion de la clase UsuarioDAO, utilizando el patron de diseño DAO. crear un carpeta dao ,y dentro agregar una clase llamada UsuarioDAO
2.3. Construccion del inicio de sesion por el usuario, para esta parte se utilizara el patron de diseño MVC.
2.4. Crearemos una carpeta model y dentro una clase llamada loginmodel.php
2.5. Crearemos una carpeta controller y dentro una clase llamada logincontroller.php
2.6. Crearemos una carpeta view y dentro una clase llamada ok.php y validar.php
2.7. Crearemos una pagina index.php , que invocara a la pagina validar.php
2.8. Finalmente la estructura del proyecto queda como se muestra en la figura

3.- EJECUCION

3.1. ingresar en la barra de direccion: (tener iniciado el servicio del wamp server)


http://localhost/proyectolog/pylog/view/validar.php

3.2. Ingresar usuario:hmendozap y clave : 123456



Si quieren prueben ingresando otro usuario o clave y se veran los mensajes de error




3.3. Si en la AccesoDB, cambiamos el valor de paremetro PASS(password) , veremos que en el archivo prueba.log, se registra la siguiente informacion.




Bueno espero este tutorial les sea de utilidad, y hasta la proxima :)....... Saludos.

lunes, marzo 05, 2012

JAVA - CONFIGURAR DATASOURCE EN GLASSFISH

1. Entorno




  • GlassFish Server Open Source Edition, descargar de AQUÍ
  • Driver SQL Server 2008, descargar de AQUÍ


2. Desarrollo



2.1. Colocamos el driver  jdbcsql.jar en la carpeta  lib del GlassFish para poder realizar la conexión















2.2. Iniciamos el GlassFish y nos vamos a la opción de "Recursos --> JDBC --> Pools de Conexiones de JDBC"

















2.3. Y presionamos el botón de nuevo para crear un nuevo Pool de Conexiones JDBC

















2.4. Creamos el Pool de conexiones. Colocamos en nombre,tipo de recurso,y poveedor de la base de datos como se muestra en la siguiente figura









2.5. Activamos el PING para verificar las conexiones con la base de datos











2.6. Configuramos todas las propiedades necesarias de conexión a la base de datos











2.7. De ahí debemos de ir a "Recursos --> Recursos JDBC" y presionamos Nuevo












2.8. Y ponemos el nombre JNDI que vamos a usar











Y para obtener la conexión desde Java usamos las siguientes lineas

Context ctx=new InitialContext();
DataSource ds=(DataSource) ctx.lookup("jdbc/SQL2008");
ds.getConnection();

domingo, marzo 04, 2012

JAVA - CONFIGURAR SVN CON NETBEANS

1. Entorno




  • JDK 1.6.0 - 24
  • Windows 7 Professional
  • VisualSVN, lo puede descargar de AQUÍ
  • TortoiseSVN Client 1.7.5, lo puede descargar de AQUÍ


2. Introducción




Subversion es un sistema de control de versiones diseñado específicamente para reemplazar al popular CVS. Es software libre bajo una licencia de tipo Apache/BSD y se le conoce también como svn por ser el nombre de la herramienta utilizada en la línea de comando.
Una característica importante de Subversion es que, a diferencia de CVS, los archivos versionados no tienen cada uno un número de revisión independiente, en cambio, todo el repositorio tiene un único número de versión que identifica un estado común de todos los archivos del repositorio en un instante determinado. [Fuente Wikipedia]
También debemos de tener en cuenta lo siguiente cuando trabajamos sobre un repositorio:

  • Trunk (tronco): la línea principal de desarrollo, donde se llevan a cabo los cambios menos complejos del día a día. Idealmente debería poder compilarse y pasar todas las pruebas en todo momento (ver Integración continua). 
  • Branch (rama): cuando se van a llevar a cabo cambios importantes que romperán la compilación, pruebas, experimentos o intentos de optimización, debe crearse una nueva rama de desarrollo, con la que no molestemos a los compañeros, esto es un branch: una copia del código o la rama de la que deriva. En esta copia haremos nuestros cambios, integraremos los arreglos que puedan haberse ido haciendo en el trunk, y, una vez terminado el desarrollo en la rama, integraremos (o no) los cambios en el trunk. También puede crearse una rama para una versión terminada, hacer mantenimiento de esta versión sobre esta rama, y continuar el desarrollo de la nueva versión en el trunk.
  • Tag (etiqueta): etiquetas que sirven para identificar un cierto momento en el desarrollo que queremos preservar. Se utilizan habitualmente para marcar cambios de versión (alfas, betas, RC, RTM) y puntos de interés. Sobre un tag no se puede / no se debe hacer cambio.

3. Desarrollo



3.1. Configuración del VisualSVN

3.1.1. Debemos de bajar el VisualSVN de la pagina que se indico al inicio
















3.1.2. Ejecute el archivo descargado y presione Next para comenzar la instalación.
















3.1.3. Acepte los términos de la licencia y presione Next para continuar.
















3.1.4. Seleccione la opción VisualSVN Server and Management Console y presione Next.
















3.1.5.  Ingrese los directorios de instalación y de repositorios o deje los que hay por defecto si lo desea. Si desea que la comunicación con el repositorio se realice a través de HTTPS seleccione el cuadro de chequeo Use secure connnection (https://) y seleccione la opción Use subversion autentication para administrar los usuarios directamente desde el repositorio. Si el puerto que viene por defecto está en uso, cámbielo.
















3.1.6. Presione el botón Install para ejecutar la instalación.
















3.1.7. Espere que el proceso de instalación termine y seleccione la opción Start VisualSVN Server. Presione finish para terminar.
















3.1.8. Luego debemos de crear un nuevo repositorio, haga clic derecho sobre la Repositories y seleccione Create New Repository.



3.1.9. Ingrese un nombre para el repositorio, seleccione la opción Create default structure para que los directorios estándar se creen automáticamente.












3.1.10. Luego de ahí debe de crear los usuarios para que tengan acceso a esta aplicación

















3.1.11. Ingrese un nombre de usuario y una contraseña para acceder al repositorio.












3.2. Configuración del repositorio con TortoiseSVN

3.2.1. Después de haber instalado creamos una carpeta en nuestro sistema operativo y con el cliente de TortoiseSVN hacemos Checkout















3.2.3. De ahi debemos de decir al Tortoise de donde bajara las fuentes y debemos de poner la URL en donde hemos configurado nuestro repositorio.
















3.2.4. De ahí nos pedirá que aceptemos la configuración y luego que aceptamos ponemos nuestro usuario y clave














3.3. Creación del proyecto en Netbeans

3.3.1. Lo único que debemos de hacer es crear un proyecto y ubicarlo en nuestro repositorio local que hemos creado y esta sincronizado por medio del Tortoise














3.3.2. De ahí en nuestro proyecto debemos de hacer COMMIT para que suba el proyecto al repositorio



















3.3.3.Y cuando alguien haga un cambio podemos sincronizarlo con el repositorio remoto y  ver los cambios desde Netbeans













4. Resumen



Espero que el tutorial les haya sido de mucha ayuda, si desean mas información sobre como sincronizar los proyectos en Netbeans visitar el siguiente ENLACE

Creación de log de errores - Parte II

"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"

1. Entorno

  • IDE: Aptana Studio 3 descargar de
  • Windows 7 Professional
  • Lenguaje de Programacion PHP
  • WampServer descargar de
  • Base de Datos: MySQL

2. Desarrollo

2.1. Crear en la carpeta C:\wamp\www una carpeta con el nombre de proyectolog. La carpeta wamp/www se crear luego de instalar WAMPSERVER.
2.2. Luego iniciar Aptana Studio 3, el cual no pedira crear un espacio de trabajo. el cual lo direccionamos a C:\wamp\www\proyectolog
2.3. Luego nos pedirá crear un proyecto
2.4. Elegimos PHP Project, damos clic en Next
2.5. Luego nos pedira un nombre de proyecto : pylog , damos clic en Finish
2.6. Luego creamos una carpeta de nombre util, da clic derecho y selecciona folder
2.7. Luego seleccionamos la carpeta util, damos clic derecho y agregamos un File, de nombre Util.php
2.8.Luego colocamos el siguiente codigo en la clase Util.php
2.10.Utilizando el MySQL Query Browser, creamos la base de datos bdlog y la tabla Usuario
2.11. Ingresamos dos registros a la tabla usuario
2.12. Luego creamos una carpeta ds y dentro de dicha carpeta creamos un File con el nombre de AccesoDB.php, A continuacion muestro el codigo de la clase AccesoDB.php, y en el metodo executeQuery , se usa el metodo save_log de la clase Util.php, para registrar los errores en el archivo prueba.log
2.13.Hasta el momento nuestro proyecto debe estar estructurado de la siguiente manera.
2.14.No vemos en la siguiente 3er parte del tutorial :)