Necesito ideas para un proyecto


#1

Hola a todos

Necesito que me deis ideas par un proyecto. Hay unas 10 aplicaciones que
corren en Ms Access, Ms SQL Server y Oracle. Pero estas aplicaciones son
independientes, y no comunican las unas con las otras.

El proyecto consiste en crear una solucion que permita intercambiar
informacion de alguna forma para que cuando un usuario necesita un
informe que combina 2 o mas aplicaciones sea posible imprimirlo. O por
ejemplo si nececista correr un query que implique datos en diferentes
aplicaciones que se a posible hacerlo.

enfin a ver si me dais ideas de como analizar, diseñar este proyecto
porque no se por donde empezar.

gracias


#2

quizas algo relacionado con data integration
http://en.wikipedia.org/wiki/Data_integration

Alguien tiene exeriencia en ello?


#3

Hola.

Te puedo dar una pequeña idea que tal vez te permita proyectarte de
mejor manera en la solución que buscas implementar:

  • Puedes usar algo similar a la fragmentación vertical (cada columna de
    las
    tablas se guarda en base de datos) y la aplicación se encarga de crear
    una tabla lógica.
  • Podrías hacer que se considere a las diferentes tablas de las
    diferentes
    aplicaciones que tienes como si fueran parte de una base mayor
    (virtual).

Lo que deberías hacer, es generar un poco de metadatos (információn que
te diga que tablas tienes, en que base de datos esta, que cadena de
conexión
hay que usar, etc.)

Espero haberte ayudado en algo.

Saludos,
Vladimir


#4

Espartaco,

gracias por tus comentarios, la fragmentación vertical, y la base
virtual, donde podria obtener mas informacion al respecto.

En la fragmentación vertical no entiendo muy bien como funcionaria lo de
guardar las columnas de una tabla en la base, y crear tablas logicas.

gracias

Robles wrote:

Hola.

Te puedo dar una pequeña idea que tal vez te permita proyectarte de
mejor manera en la solución que buscas implementar:

  • Puedes usar algo similar a la fragmentación vertical (cada columna de
    las
    tablas se guarda en base de datos) y la aplicación se encarga de crear
    una tabla lógica.
  • Podrías hacer que se considere a las diferentes tablas de las
    diferentes
    aplicaciones que tienes como si fueran parte de una base mayor
    (virtual).

Lo que deberías hacer, es generar un poco de metadatos (információn que
te diga que tablas tienes, en que base de datos esta, que cadena de
conexión
hay que usar, etc.)

Espero haberte ayudado en algo.

Saludos,
Vladimir


#5

Hola Jose.

Bueno, de la fragmentación vertical puedes revisar este documento, es
bueno:

http://www.cs.cinvestav.mx/SC/prof_personal/adiaz/Disdb/Cap_3.html

La idea es bastante simple, la idea de la fragmentación es guardar las
columnas
de una tabla en una base de datos, y otras columnas en otra base de
datos.
Por ejemplo (de lo que recuerdo):

Si tienes la tabla Persona con las columnas(cedula, nombres, apellidos,
dirección,
teléfono), guardas la información de la siguiente manera:

En MySQL guardas las columnas:

cedula | nombres | apellidos

En PostgreSQL guardas las columnas:

cedula | dirección | teléfono

Y así en cada base, como te puedes fijar, tienes la cédula (clave
primaria)
que te permite enlazar los datos de forma coherente.

Puedes hacer algo similar para tu sistema, tener un campo de enlace o
una tabla que relacione registros de las diferentes bases de datos.

Cualquier cosa, es un gusto poder ayudar.
Saludos,

Vladimir.