martes, 24 de mayo de 2011

Clasificación de Base de Datos

Este contenido sobre los tipos de bases de datos que hay, lo podria utilizar mas adelante en mi carrera o quien sabe y en mi trabajo.

Según la variabilidad de los datos almacenados

Bases de datos estáticas

Éstas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones y tomar decisiones.

Bases de datos dinámicas

Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de una tienda de abarrotes, una farmacia, un videoclub.

Según el contenido

Bases de datos bibliográficas

Solo contienen un surrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque si no, estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias —ver más abajo). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras.

Bases de datos de texto completo

Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas.

Bases de datos o "bibliotecas" de información química o biológica

Son bases de datos que almacenan diferentes tipos de información proveniente de la química, las ciencias de la vida o médicas. Se pueden considerar en varios subtipos:
Las que almacenan secuencias de nucleótidos o proteínas.
Las bases de datos de rutas metabólicas.
Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomoléculas-

Bases de datos clínicas.

Bases de datos bibliográficas (biológicas, químicas, médicas y de otros campos).



Referencias: http://www.netronycs.com/clasificacion_de_base_datos.html

Tutorial Interfaz grafica de usuario.

1. Controles básicos

Button
Chekboxes
Choice
List
Menu
Text Field

2. Otros controles

Slider
Scrollbar
Text Area
Canvas
Label
Panel
Scroll Panel



3. Concepto de Jerarquia de Componentes del programa

Una interfaz grafica lleva asociada una jerarquia (arbol)
P.ej.: las opciones de un menu son ‘hijas’ del menu, que a su vez es ‘hijo’ de la ventana en la que aparece, que a su vez es hijo del applet, etc...
Al [re]dibujar la interfaz, se hace siguiendo la jerarquia, de arriba a abajo.
Demasiado rapido para verse a simple vista


Tutorial Interfaz grafica

Gracias a este codigo que encontre me dio la idea de como hacer los paneles. yo pienso que es bueno ver el codigo de varios programas para darse como una guia y darse nuevas ideas.



Referencias: http://casidiablo.net/codigo-java-boxlayout-gridbaglayout/

Tutorial para conectar MySQL con Eclipse

Este es un tutorial que encontré donde es muy sencillo la conexión, con la base de datos y el compilador java. Solo instalar Eclipse, JDK y conector MySQL. Después de hacer estas 3 instalaciones realizar los siguientes pasos:

1. Ahora inicia el programa Eclipse.

2. Abre un nuevo perspectiva o entrono de trabajo (Open Perspective), se hace desde el icono situado arriba a la derecha de la ventana de eclipse, es un cuadrado con un signo más. Selecciona la opción: Other...

3. Verás una lista de posibles entornos, selecciona Database Development.

4. Una vez mostrada la perspectiva deberás añadir una base de datos claro. Ponte sobre la carpeta Databases y tras clicar con el botón derecho haz clic en New...

5. En esta nueva ventana y dado nuestro caso, desarrollar con bases de datos MySQL, seleccionaremos la opción: SQL Model-JDBC Connection.

6. Ponle un nombre al proyecto.

7. Seleciona un dirver de conexión, en este caso tendrás que añadirlo, haz clic en el botón con los tres puntos suspensibos [...]

8. En la nueva ventana baja hasta MySQL y haz clic en la versión 5.1. Luego haz clic en el botón añadir Add...

9. En la nueva ventana selecciona lo mismo y la sub-opción del driver. Mira que tengas marcada la casilla de debajo Edit driver definition imediantly. Deberás darle un nombre (el de tu proyecto o base de datos por ejemplo) y hacer clic en botón OK (ya sabes si lo tienes en castellano Aceptar)

10. En la nueva ventana el te indica un driver, pero este no existe, así que editalo, y búscalo en tu disco duro.

11. Si haces un poco más grande la ventana verás que bajo puedes modificar las propiedades, ya sabes, las base de datos, el usuario, la contraseña. Ojo en la línea Connection URL deberás dejar el principio pero cambiar database por el nombre de tu base de datos.

12. Acepta las 2 ventanas y en la última verás que bajo hay un botón que dice Test conection.

13. Haz clic y te dirá si lo has hecho bien. Ahora ya puedes finalizar.

14. Verás tu nueva base de datos, no olvides hacer clic con el botón derecho y clic en Connect

Referencias: http://plataformaeclipse.com/bases-de-datos/mysql-con-eclipse-y-otras-bases-de-datos/

Middleware (puntos extra)

Middleware es un software de computadora que conecta componentes de software o aplicaciones para que puedan intercambiar datos entre éstas. Es utilizado a menudo para soportar aplicaciones distribuidas. Esto incluye servidores web, servidores de aplicaciones, sistemas de gestión de contenido y herramientas similares. Middleware es especialmente esencial para tecnologías como XML, SOAP, servicios web y arquitecturas orientada a servicios.

Middleware es una incorporación relativamente reciente en la computación. Obtuvo popularidad en los 80 como una solución al problema de cómo conectar nuevas aplicaciones con viejos sistemas. De todas maneras el término ha sido usado desde 1968. También facilitaba el procesamiento distribuido: conexión de múltiples aplicaciones para crear una aplicación más grande, generalmente sobre una red.

Referencias: http://www.alegsa.com.ar/Dic/middleware.php http://homepages.mty.itesm.mx/al450951/ http://www.monografias.com/trabajos82/base-datos-distribuidas/base-datos-distribuidas.shtml#ventajasya

Web Service

Los Web Services permite la comunicación entre aplicaciones o componentes de aplicaciones de forma estándar a través de protocolos comunes (como http) y de manera independiente al lenguaje de programación, plataforma de implantación, formato de presentación o sistema operativo. Un Web service es un contenedor que encapsula funciones específicas y hace que estas funciones puedan ser utilizadas en otros servidores. Algunas ventajas que presentan los Web services son
· Son programables
· Estan basados en XML, que es un lenguaje abierto
· Son auto descriptivos
· Pueden buscar registros de otros Web services

Base de Datos Distribuida

En este tema hablare sobre sus ventajas y desventajas.

Ventajas

El acceso a los datos es más rápido debido a que los datos se localizan más cercanos al lugar donde se utilizan.

El procesamiento es rápido debido a que varios nodos intervienen en el procesamiento de una carga de trabajo,

Nuevos nodos se pueden agregar fácil y rápidamente.

La probabilidad de que una falla en un solo nodo afecte al sistema es baja y existe una autonomía e independencia entre los nodos.

Control local de los datos con que se interactúa.

Mayor tolerancia a los fallos

Desventajas

Es más complicado el control y la manipulación de los datos

Es compleja el aseguramiento de la integridad de la información en presencia de fallas no predecibles tanto de componentes de hardware como de software. La integridad se refiere a la consistencia, validez y exactitud de la información.

El control de concurrencia y los mecanismos de recuperación son mucho más complejos que en un sistema centralizado dado que los datos pueden estar replicados.

Nuevas Tecnologías (puntos extra)

MapReduce

Map(k1,v1) -> list(k2,v2)


La función de mapeo es aplicada en paralelo para cada ítem en la entrada de datos. Esto produce una lista de pares (k2,v2) por cada llamada. Después de eso, el framework de MapReduce junta todos los pares con la misma clave de todas las listas y los agrupa, creando un grupo por cada una de las diferentes claves generadas.

Reduce(k2, list (v2)) -> list(v2)

Cada llamada a Reduce típicamente produce un valor v2 o una llamada vacía, aunque una llamada puede retornar más de un valor. El retorno de todas esas llamadas se recoge como la lista de resultado deseado.
Por lo tanto, el framework MapReduce transforma una lista de pares (clave, valor) en una lista de valores. Este comportamiento es diferente de la combinación "map and reduce" de programación funcional, que acepta una lista arbitraria de valores y devuelve un valor único que combina todos los valores devueltos por mapa.

Referencia: http://es.wikipedia.org/wiki/MapReduce

Hadoop

Dentro de la Web de Hadoop encontramos la definición de Hadoop como:

“Apache Hadoop Core es una plataforma de software que permite el desarrollo y ejecución de aplicaciones que procesan ingentes cantidades de datos”

Es decir, Hadoop es un Framework para el desarrollo de aplicaciones de procesamiento paralelo utilizando MaReduce, por lo tanto, Hadoop en sí “no es nada”

lunes, 23 de mayo de 2011

Resumen sobre la entrega del proyecto

Ya que hice todo el proyecto de esta materia, pues me siento feliz porque cumpli con casi todo lo que me propuse, es decir, solo me faltaron unos detalles como ponerle imagenes al programa y hacer un login, en fin me gusto como me salio mi software y lo mas importante es que aplique todo lo que vimos en clase, polimorfismo, eventos, excepciones, interfaz grafica, base de datos con MySQL, entre muchas cosas mas. por ultimo me que decir que este me ayudo mucho en motivarme en mi carrera.