miércoles, 15 de septiembre de 2010

Acces: La base de datos mas sencilla de usar

Acces 2007 Aprovechando un pequeño modulo que prepare de acces, para los no informaticos aqui les dejo los artefactos para las personas inicien su estudio.

Que es una base de datos? Es un “almacén” que nos permite guardar grandes cantidades de datos de forma organizada para que luego podamos encontrar y utilizar fácilmente.

Que es Acces Es un sistema gestor de bases de datos relacionales (SGBD). Cuales son sus elementos Tablas Consultas Formularios Informes

1. Crear Base de datos


2.Crear Tablas

ç

3. Crear formularios

4. Crear consultas

jueves, 29 de julio de 2010

Introduccion a Hibernate con Netbeans

Introduccion a Hibernate con Netbeans Les dejo una pequeña muestra de Hibernate con netbeans. 1.Configuracion
2.Mapeo
3.Prueba


Archivos utilitarios:
private Session sesion;
private Transaction tx;

private void iniciaSession() throws HibernateException
{ sesion = HibernateUtil.getSessionFactory().openSession();
tx = sesion.beginTransaction();
}

private void HExcepcion(HibernateException he) throws HibernateException{
tx.rollback();
throw new HibernateException("Error ocurrido en Hibernate");
}


Mapeo de coleccion



column="idlibro"
class="entidad.Libro"/>

HIBÉRNATE: Framework Para el mapeo de Objetos en Java



Para la mayoría de las aplicaciones, almacenar y recuperar información implica alguna forma de interacción con una fuente de datos. Esta fuente de datos normalmente es una Base de datos relacional la cual presenta un problema para la gran mayoría de programadores puesto que el modelo relacional dista mucho del orientado a objetos, y no existe una estandarización para este manejo de datos.

El artículo busca mostrar del uso de Hibérnate como un Framework en Java que permita persistir un objeto de una forma transparente y fácil en una base de datos relacional.



1. Introducción

En la actualidad el paradigma utilizado por la mayoría de analistas programadores a la hora de construir software es el orientado a objetos; independientemente de los avances en esta área (nuevos paradigmas), la base fundamental es este estilo de programación. Partiendo de esta afirmación toda aplicación estaría conformada por una gran cantidad de objetos interactuando y compartiendo información, y a la hora, de que estos objetos tengan que trascender, (guardarlos permanentemente) inician una serie de problemas en la escogencia del modelo para persistir.

Este artículo busca mostrar las propiedades y ventajas del uso de hibérnate en una aplicación orientada a objetos y su relación con una base de datos relacional. Primero se aborda los conceptos generales como objetos, persistencia y Framework. Luego se toma el tema de hibérnate y se nombran sus características y ventajas mas importantes, para terminar mostrando los componentes básicos de Hibérnate.



2. Un Framework para persistir objetos en Java

Antes de tocar el tema de Hibérnate, es importante aclarar ciertos conceptos que fluyen através del mismo, que son independientes pero que al final se logran integrar con esta tecnología.

2.1. Un mundo de objetos



La vida real esta llena de objetos. Es fácil mirar a nuestro alrededor y ver un conjunto de objetos que podemos identificar con gran facilidad, por ejemplo si vamos por la calle podemos identificar carros, edificios, personas, animales, aviones, comida entre otras, y nos damos cuentas que existen muchos objetos parecidos, por ejemplo algunas personas que comparten las mismas características como Altura, Edad, color de cabello; Los Carros Marca, modelo, velocidad; Los animales Raza, edad , tipo; Y así podemos ir identificando en el mundo real un mundo de objetos diversos que interactúan y se relacionan, y que a la hora de llevarlos a representar al computador para manejar la información derivada de ellos es mucho mas simple y elegante hacerlos bajo el paradigma de orientación a objetos.


Un objeto es un ente lógico que trata los datos y acciones independientemente y que expresa las cosas de la vida real con gran certeza. Este estilo es el más utilizado y base de nuevos estilo de programación.

2.2. La persistencia

La palabra Persistencia viene del latin “persistere” que significa durar por largo tiempo. En el mundo de los objetos todo se maneja en memoria volátil, esto quiere decir que los objetos creados en un programa siempre son temporales, porque son almacenados en la memoria RAM. Lo que busca la persistencia es guardar un objeto permanentemente en un recurso de almacenamiento, base de datos o archivo, para recuperarlo mas adelante. El almacenamiento mas utilizado, son las bases de datos relacionales, el cual consiste en un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos. Las bases de datos pueden ser vistas como un “almacén” que permite guardar grandes cantidades de información de forma organizada para luego encontrarla y utilizarla fácilmente.

La persistencia puede ser trabajada desde dos puntos de vista diferentes; en el primero, el programador debe conseguir que sus datos (objetos) sobrevivan a la ejecución del proceso que los creo, de modo que puedan ser utilizados en otro proceso. Esto quiere decir que la persistencia es responsabilidad del propio programador. El segundo punto depende de un lenguaje de programación o de entorno de desarrollo para almacenar y recuperar el estado de los datos de modo que sobrevivan a los procesos que los manipulan. Actualmente existen muchos de estos entornos y es en donde se ubica Hibérnate

.


2.3. Framework

Los Framework están de moda en la actualidad en el mundo de la Ingeniería de Software, son entornos de desarrollo que hacen más fácil alguna tarea y que tienen internamente mucha programación y una estructura sólida bien definida. Para trabajar con Framework es indispensable conocer su metodología de trabajo la cual extiende o saber el uso de las librerías o paquetes de la cual se compone.

Al momento de crear una nueva aplicación de software, los programadores tienen diferentes alternativas para escoger, es decir, buscar que Framework les sirve más para desarrollar su trabajo. En el mundo de la Web y específicamente en java se reconocen Framework como: Struts, Spring, Jsf, entre otros, que han nacido como idea de un pequeño grupo de expertos y que han logrado llamar la atención del mundo de la informática. Es importante decir que los Framework, que aunque hacen mas fácil



la vida del programador, tiene una curva larga de aprendizaje para que los que apenas inician; pero una vez pasada esta barrera, la herramienta permitirá que los programadores puedan optimizar la lógica de programación si preocuparse de otros detalles mas simples del sistema.

3. Hibérnate


Con la conceptualización anterior, se puede llegar a definir Hibernate como: “un Framework para persistir objetos en una base de datos relacional”. La idea de Hibernate la tuvo Gavin King, Ingeniero actual Grupo de JBoss, el cual cansado de la ineficiencia y complejidad de los sistemas de persistencia de la época, ideo un sistema base que fue apoyado por un inmenso grupo de programadores alrededor del mundo. Esta idea de King se transformo en un proyecto robusto, con licencia libre que actualmente es el más utilizado, en cuanto a Framework dedicados a persistencia se refiere.


3.1. Características


Hibernate es un potente servicio de persistencia Objeto – Relacional de alto rendimiento que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación. Ofrece persistencia automatizada y transparente de objetos a tablas en una base de datos relacional, utilizando metadata que describe el mapeo entre objetos y la base de datos en si. Entre las características más importantes de destacan:

• Licencia LGPL
• Ofrece su propio lenguaje de consulta HQL
• Implementado con XML o Anotaciones (JPA)
• Excelente Documentación
• Fácil de aprender
• Comunidad Activa
• Soporte para Windows (NHibernate)

3.2. Ventajas

• Productividad: Evita mucho del código confuso de la capa de persistencia, permitiendo centrarse en la lógica de negocio.

• Mantenibilidad: Por tener pocas líneas de código permite que el código sea más claro. Al dividir la capa de persistencia se puede identificar los errores muy fácilmente.

• Rendimiento: Existe la tendencia a pensar que una solución “manual” es más eficiente que una “automática”. Hibérnate tiene un buen desempeño pero todo depende realmente de como se realicen las consultas y como se configure el Framework.

• Indepencia del proveedor: Una solución ORM te abstrae del SGBD. Permite desarrollar en local con bases de datos ligeras sin implicación en el entorno de producción.


3.3. Componentes básicos

Para utilizar Hibérnate es importante saber que este se compone de un conjunto de librerías reunidas en varios Apis, en donde, dependiendo del problema se debe escoger y configurar, las librerías necesarias en el proyecto. (https://www.hibernate.org/)



Figura 4. API de Hibérnate

De todo el conjunto de Apis de Hibérnate, existen varias clases que permiten el trabajo básico con el Framework. Entre estas se encuentran:

• Session: Corresponde con un objeto que representa una unidad de trabajo con la base de datos (transacción). Además representa el gestor de persistencia, ya que dispone de la API básica para poder cargar y guardar objetos.

• Transaction: La API de Hibérnate contiene utilidades para demarcar la transaccionalidad de operaciones de manera programática.

• Query: Este interfaz permite crear consultas y enlazar argumentos a parámetros de la consulta (binding). Permite definir consultas en HQL (Hibernate Query Language) o en SQL.

• SessionFactory: Es una factoría de sesiones. Proporciona objetos Session. Es thread-safe. Permite concurrencia.

4. Conclusiones

• En el mundo de software, el uso de Framework es una buena alternativa para los programadores de la actualidad, ya que mejoran sustancialmente su trabajo, dedicándose a otras tareas más significativas de la lógica del negocio.
• El uso de aplicaciones de persistencia de objetos en bases de datos relacionales es cada vez común. En el mercado existen muchos Framework dedicados a esta tarea que hacen el trabajo de almacenamiento de objetos de una forma transparente para el programador.
• Hibérnate es uno de los mejores Framework de persistencia de la actualidad ya que posee características in mejoradas como : buen soporte, facilidad de adaptación, categoría libre, soporte de java y .net , buena documentación y un grupo de programadores mundiales que soportan su crecimiento.





5. Bibliografía


• Núñez Ismael. Tutorial de Hibérnate. 2007
• Inoto Rubén. Framework de persistencia en java. Universidad de Alicante. 12 de mayo de 2006
• Pizarro Pablo. Mapeo del modelo de Objetos al modelo relacional. Universidad de Mendoza 2005
• Paradigma Tecnológico. Seminario de Hibérnate. 10 de Marzo de 2008.
• Ansari Majrul. Hibérnate Framework. 2008

Referencias Electrónicas

• http://es.wikipedia.org/wiki/Hibernate
• http://mundogeek.net/archivos/2007/01/27/hibernate/
• http://www.programacion.com/java/tutorial/hibernate/
• http://www.programacion.com/java/articulo/jap_persis_hib/
• http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
• http://www.bumeran.com.ar/articulos_aplicantes/200/83610/javaprogrammerlosmasbuscados.html

miércoles, 21 de julio de 2010

Lenguaje mas utilizado actualmente

Cuando uno trabaja en la docencia, y mas en la parte de tecnologia, especialemnte el area de programacion de computadoras. Uno hace un pare en el camino y empieza a preguntarse que lenguaje enseñar a los aprendices durante sus 4 años de carrera. Revisando habitualmente la Web, visito el sito TIOBE y cada vez me sorpende mas. El lenguaje C, un viejo conocido por los compañeros de mi epoca, tiene la misma o mas aceptacion que un lenguaje como Java de escasos 15 años. Entonces nace la pregunta ¿ que se debe enseñar actualmente en el area de lenguajes de programacion?.



Personalmente soy allegado mucho a Java y he tenido hasta ahora esa eleccion, porque es una tecnologia que si la aprendes una vez, mas adelante te sirve para crear cualquier producto, ya sea aplicaciones de escritorio, Web, tarjetas inteligentes, Telefonia.. etc. Ademas bajo el paradigma OO he encontrado una forma facil y amena de enseñarla que no necesita ningun tipo de requerimiento para aprender la OO.



Quisera sabe si TIOBE, puede servir de referencia para preparar a los futuros aprendices en programacion o existe otra fuente "mas creible".



Amanecera y veremos el futuro de la Programacion y su lenguaje estrella