5.1 INTRODUCCIÓN
Un Objeto de Acceso a Datos o Data Access Object (DAO) son una serie de
objetos que le permiten tener acceso y manipular datos mediante programación en
bases de datos locales o remotos. Puede utilizar DAO para administrar bases de
datos, así como sus objetos y su estructura.
Es un componente de software que suministra una
interfaz común entre la aplicación y uno o más dispositivos de almacenamiento
de datos, tales como una Base de datos o un archivo. El término se aplica
frecuentemente al Patrón de diseño Object.
Los Objetos de Acceso a Datos son un Patrón de
Diseño Core J2EE y considerados una buena práctica.
Los Objetos de Acceso a Datos pueden usarse en
Java para aislar a una aplicación de la tecnología de persistencia Java
subyacente(API de Persistencia Java), la cual podría ser JDBC, JDO,
EJB,CMP(Persistencia controlada por el Contenedor), TopLink, Hibernate, iBATIS,
o cualquier otra tecnología de persistencia. Usando Objetos de Acceso de Datos
significa que la tecnología subyacente puede ser actualizada o cambiada sin
cambiar otras partes de la aplicación.
La flexibilidad tiene un precio. Cuando se
añaden DAOs a una aplicación, la complejidad adicional de usar otra capa de persistencia
incrementa la cantidad de código ejecutado durante tiempo de ejecución. La
configuración de las capas de persistencia requiere en la mayoría de los casos
mucho trabajo.
Para tener acceso y manipular datos mediante
programa debe comprender la jerarquía de DAO. El orden de los objetos en DAO se
conoce como su modelo de objetos. El modelo de objetos de DAO le permite
escribir código que puede aprovechar la funcionalidad de la base de datos.
5.2 MODELOS DE OBJETO DE
ACCESO A DATOS
En software de computadores,
un Data Access Object (DAO, Objeto de Acceso a Datos) es un componente de
software que suministra una interfaz común entre la aplicación y uno o más
dispositivos de almacenamiento de datos, tales como una Base de datos o un
archivo.
VENTAJAS:
Los
Objetos de Acceso a Datos son un Patrón de los subordinados de Diseño Core J2EE
y considerados una buena práctica. La ventaja de usar objetos de acceso a datos
es que cualquier objeto de negocio (aquel que contiene detalles específicos de
operación o aplicación) no requiere conocimiento directo del destino final de
la información que manipula.
Los
Objetos de Acceso a Datos pueden usarse en Java para aislar a una aplicación de
la tecnología de persistencia Java subyacente (API de Persistencia Java), la cual
podría ser JDBC, JDO, Enterprise JavaBeans, TopLink, EclipseLink, Hibernate,
iBATIS, o cualquier otra tecnología de persistencia.
Usando Objetos de Acceso de Datos significa
que la tecnología subyacente puede ser actualizada o cambiada sin cambiar otras
partes de la aplicación.
JDBC:
Java Database Connectivity, más conocida, es una API que permite la ejecución
de operaciones sobre bases de datos desde el lenguaje de programación Java,
independientemente del sistema operativo donde se ejecute o de la base de datos
a la cual se accede, utilizando el dialecto SQL del modelo de base de datos que
se utilice.
Otra
ventaja de usar objetos de acceso a datos es que cualquier objeto de
negocio (aquel que contiene detalles específicos de operación o aplicación) no
requiere conocimiento directo del destino final de la información que manipula.
DESVENTAJAS:
La
flexibilidad tiene un precio. Cuando se añaden DAOs a una aplicación, la
complejidad adicional de usar otra capa de persistencia incrementa la cantidad
de código ejecutado durante tiempo de ejecución. La configuración de las capas
de persistencia requiere en la mayoría de los casos mucho trabajo.
Las
aplicaciones críticas con el rendimiento no deberían usar DAOs.
5.4
XML
Siglas
en inglés de eXtensible Markup Language ('lenguaje de marcas extensible'), es
un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C)
utilizado para almacenar datos en forma legible. Deriva del lenguaje SGML y
permite definir la gramática de lenguajes específicos (de la misma manera que
HTML es a su vez un lenguaje definido por SGML) para estructurar documentos
grandes. A diferencia de otros lenguajes, XML da soporte a bases de datos,
siendo útil cuando varias aplicaciones se deben comunicar entre sí o integrar
información. (Bases de datos Silberschatz).
XML
no ha nacido sólo para su aplicación para Internet, sino que se propone como un
estándar para el intercambio de información estructurada entre diferentes
plataformas. Se puede usar en bases de datos, editores de texto, hojas de
cálculo y casi cualquier cosa imaginable.
XML
es una tecnología sencilla que tiene a su alrededor otras que la complementan y
la hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un
papel muy importante en la actualidad ya que permite la compatibilidad entre
sistemas para compartir la información de una manera segura, fiable y fácil.
VENTAJAS:
·
Es extensible: Después de diseñado y puesto
en producción, es posible extender XML con la adición de nuevas etiquetas, de
modo que se pueda continuar utilizando sin complicación alguna.
·
El analizador es un componente estándar, no
es necesario crear un analizador específico para cada versión de lenguaje XML.
Esto posibilita el empleo de cualquiera de los analizadores disponibles. De
esta manera se evitan bugs y se acelera el desarrollo de aplicaciones.
·
Si un tercero decide usar un documento creado
en XML, es sencillo entender su estructura y procesarla. Mejora la
compatibilidad entre aplicaciones. Podemos comunicar aplicaciones de distintas
plataformas, sin que importe el origen de los datos, es decir, podríamos tener
una aplicación en Linux con una base de datos Postgres y comunicarla con otra
aplicación en Windows y Base de Datos MS-SQL Server.
· Transformamos datos en información, pues se
le añade un significado concreto y los asociamos a un contexto, con lo cual
tenemos flexibilidad para estructurar documentos.
ESTRUCTURA
DE XML:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE
Edit_Mensaje SYSTEM "Edit_Mensaje.dtd">
<Edit_Mensaje>
<Mensaje>
<Remitente>
<Nombre>Nombre del
remitente</Nombre>
<Mail> Correo del
remitente </Mail>
</Remitente>
<Destinatario>
<Nombre>Nombre del
destinatario</Nombre>
<Mail>Correo del
destinatario</Mail>
</Destinatario>
<Texto>
<Asunto>
Este es mi documento con
una estructura muy sencilla
no contiene atributos ni
entidades...
</Asunto>
<Parrafo>
Este es mi documento con
una estructura muy sencilla
no contiene atributos ni
entidades...
</Parrafo>
</Texto>
</Mensaje>
</Edit_Mensaje>
5.5 JSON
JSON,
acrónimo de JavaScript Object Notation, es un formato ligero para el
intercambio de datos. JSON es un subconjunto de la notación literal de objetos
de JavaScript que no requiere el uso de XML.
La simplicidad
de JSON ha dado lugar a la generalización de su uso, especialmente como
alternativa a XML en AJAX. Una de las supuestas ventajas de JSON sobre XML como
formato de intercambio de datos en este contexto es que es mucho más sencillo
escribir un analizador sintáctico (parser) de JSON. En JavaScript, un texto
JSON se puede analizar fácilmente usando la función eval(), lo cual ha sido
fundamental para que JSON haya sido aceptado por parte de la comunidad de
desarrolladores AJAX, debido a la ubicuidad de JavaScript en casi cualquier
navegador web.
EJEMPLO
DE JSON
En
teoría, es trivial analizar JSON en JavaScript usando la función eval()
incorporada en el lenguaje. Por ejemplo:
miObjeto
= eval('(' + json_datos + ')');
En
la práctica, las consideraciones de seguridad por lo general recomiendan no
usar eval sobre datos crudos y debería usarse un analizador JavaScript distinto
para garantizar la seguridad. El analizador proporcionado por JSON.org usa
eval() en su función de análisis, protegiéndola con una expresión regular de
forma que la función sólo ve expresiones seguras.
DIFERENCIA
ENTRE XML Y JSON:
A continuación se muestra un ejemplo simple de definición de
barra de menús usando JSON y XML.
JSON:
{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}
}
XML:
<menu id="file" value="File">
<popup>
<menuitem value="New" onclick="CreateNewDoc()" />
<menuitem value="Open" onclick="OpenDoc()" />
<menuitem value="Close" onclick="CloseDoc()" />
</popup>
</menu>
No hay comentarios:
Publicar un comentario