sábado, 14 de junio de 2014

Data Access Object en PHP




Bien dicen que la Universidad es para fortalecer los conocimientos, esto nos lleva a DAO.
DAO es un patrón de diseño para crear una capa de persistencia.
El Data Access Object (DAO) es un componente de software que suministra una interfaz común entre una aplicación y uno o mas dispositivos de almacenamiento, como puede ser una Base de Datos o un simple archivo
.





Como funciona?
Bien DAO lo que hace es encapsular el acceso a la Base de datos. Digamos cuando la logica de negocio necesita acudir  a la Base de Datos este accede mediante los métodos muy conocidos CRUD
(Create, Read, Update, Delete) o traducido (Crear, Leer,Actualizar y Borrar).

Un ejemplo, digamos que nuestro Business Object necesita guardar un dato en nuestra Base de Datos
y llamara a nuestro metodo Create, al Business Object no le interesa lo que haga este metodo, este depende del DAO por lo cual lo debe de implementar.
Lo unico que debe saber el Business Object que el metodo Create va a guardar los datos y digamos el método Delete los va a eliminar como asi con los demas.

En una Base de Datos relacional por cada Tabla debemos crear un DAO.
Resumiendo el DAO es la que interactua con la Base de Datos y sus metodos dependen de que lo que queremos hacer pero por lo normal se implementan los metodos del CRUD.


BusinessObject

El BusinessObject representa al cliente datos. Es el objeto que requiere el acceso a la fuente de datos para obtener y almacenar datos. 

DataAccessObject

El DataAccessObject es el objeto principal de este patrón. El DataAccessObject abstrae la implementación subyacente de acceso a datos para el BusinessObject para permitir un acceso transparente a la fuente de datos. El BusinessObject también delegados de carga de datos y operaciones de la tienda a la DataAccessObject.

DataSource

Esto representa una implementación de fuente de datos. Una fuente de datos podría ser una base de datos tal como un RDBMS, SGBDOO, repositorio XML, sistema de archivo plano, y así sucesivamente.

TransferObject

Esto representa un Transfer Object se utiliza como soporte de datos. El DataAccessObject puede utilizar un Transfer Object para devolver los datos al cliente. El DataAccessObject también puede recibir los datos del cliente en un Transfer Object para actualizar los datos del origen de datos.
Bien una breve explicación del Tranfer Object.
Son utilizados para transportar datos desde la Base de Datos hacia la capa de logica de negocio y viceversa.
En el ejemplo del método Create digamos que inserta un nuevo dato, pero, ¿cual es el dato? este dato se pasara a través del Transfer Object y es un objeto común que tiene como atributos del modelo, con sus respectivos métodos (getters and setters).
Si tenemos una tabla en nuestra Base de Datos llamada Usuario, nuestro Transfer Object tendría que ser una clase llamada Usuario con atributos por ejemplo, id, nombre, apellidopaterno.... etc. 
Entonces cuando nuestro Business Object ahora si quiera guardar un dato, este debe crear un objeto de tipo Usuario y se lo pasara a el método Create.
Nuestro DataSource.

lunes, 9 de junio de 2014

Autosugestión como Facebook con Ajax





Facebook contiene una seccion de busqueda, la cual accede a los registros de la base de datos mostrandolos en tiempo real.

 







Vamos a realizar esto usando la tecnologia de Ajax, JQuery, PHP  y MySQL como Gestor de Base de Datos.









Creamos nuestra tabla con los registros a usar.



Nuestra clase de conexion a la base de datos.


sábado, 7 de junio de 2014

Aplicacion CRUD en ASP.NET MVC3

En la clase de Programación Visual estuvimos viendo el patron de arquitectura Modelo Vista Controlador (MVC) este nos permite separar los datos y la logica de negocio de negocio de una aplicación  de la interfaz de usuario y el modulo encargado de gestionar los eventos y las  comunicaciones.







Como proyecto final nos dejo elaborar una aplicacion CRUD (Create, Read, Update y Delete), fue una aplicacion sencilla, ya que teniamos que conectar a una base de datos MySQL con dos tablas, una de Usuarios y una de Perfiles.


Modelo Relacional.


Digrama de clases.