Arquitectura y Desarrollo

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
alrivera
Member II

Arquitectura y Desarrollo

Estimados,

Soy nuevo en esto, así que trataré de ser lo más entendible posible. Primero que todo tengo configurado mi ambiente de trabajo, para hacer un desarrollo con J2EE, en donde esta implementado de la siguiente manera.

Servidor: Centos 5.0
Contenedor Web: Apache o Glassfish
Motor de BD: MySql
Office: Open Oficce.

Bueno hasta aquí todo bien, pero el problema surge en lo siguiente.

Primero he hecho la instalación de Alfresco Gestión Documental sin ningún problema, en donde puedo trabajar sin ningún inconveniente. Ahora bien, lo quiero integrar con la aplicación que estoy desarrollando con J2EE, entonces, no se cómo trabajar el tema de la BD (Ambas en mySql), me explico.

Tengo una Base de datos, con mi programa en J2EE y la BD que trabaja con GD, la idea es como las integro, para seguir desarrollando mi aplicación, o tendre que trabajarlas de manera distintas.


Espero que me puedan ayudar.

Saludos
7 Replies
cristinamr
Intermediate

Re: Arquitectura y Desarrollo

Buenas.

A ver si te entendí bien: Tu problema está en que por un lado tienes la base de datos propia de alfresco y por otro la base de datos de tu aplicación y las quieres juntar?

Si es eso, sabiendo que el nombre de la base de datos de Alfresco, pongamos que se llame alfresco (el esquema) , tu simplemente construyes las tablas de tu app dentro de ese esquema de forma que si haces un select * from Alfresco deberá aparecerte además de las tablas típicas de alfresco como alf_properties, tus tablas.

En ese sentido no hay ningún problema. Pero, las buenas prácticas lo desaconsejan, porque si por ejemplo actualizas ese alfrsco de versión toca el core, ¿y si borra el esquema? Un drop database y fuera todas tus tablas. Quizás lo suyo sea que estén independientes la una de la otra para tener un mayor control e independencia en las apps.

Espero haberte aclarado algo, sino pregunta sin problemas  :wink:

Un saludo.
alrivera
Member II

Re: Arquitectura y Desarrollo

Gracias CristianMR, por la respuesta me queda super claro tu posición al momento de trabajar las BD.

Ahora bien, me inclinare por la separacion de las BD, por un tema de optimización y mantenimiento de información, sabiendo que mi aplicativo puede ir variando y por sobre todo ir modificandose la BD.

Entonces, corrigeme si estoy en lo INCORRECTO

1.- Tengo la Base de Datos propia de mi aplicación, esta tendra una tabla maestra que se únira con un campo de la tabla de la BD de Alfresco, la idea no es hacer una relación directa, si no mas bien trabajarlas con sentencias Join, donde pueda hacer el puente entre las dos BD.

Si, estoy en lo correcto, no deberia preocuparme por la BD de alfresco, ya que si subo la versión, el modelo de datos debería ser el mismo. Lo que no afectaria a las relaciones que haga por medio de Join con la BD de mi aplicativo.


Saludos cordiales.
cristinamr
Intermediate

Re: Arquitectura y Desarrollo

Sí, tienes razón pero ¿has pensado si se hace un drop o cambia el nombre del metadato clave de la tabla de alfresco con la que hagas el join? El problema es que tu no controlas esa BBDD, piensal bien como definirlo para no pillarte los dedos y listo ^__^
psantis
Active Member II

Re: Arquitectura y Desarrollo

si estas desarrollando no es necesario que te metas con la BD de alfresco todo lo que quieras implementar te recomiendo que lo hagas con los webscripts que proporciona alfresco con su API, meterse con la BD de alfresco es un lio, primero por que esta en binario y el modelo de datos es horrorosamente complicado
http://mi_host:8080/alfresco/service/index.html  aquí encontraras todo lo que necesitas para integrar tus propias appz con el viejo y querido alfresco. saludos
venzia
Senior Member

Re: Arquitectura y Desarrollo

Estoy con psantis, la mejor forma de interactuar con Alfresco es a través de sus APIs. Imagina que quieres enlazar un registro factura de tu app con el doc que la representa en Alfresco, pues bien, cuando realizas la asociación entre ambos desde tu aplicativo lo ideal es que almacenes el NodeRef de dicho doc, ya que es único en el repositorio .. todo esto a nivel conceptual, ya que la metodología para hacerlo varía en función del api que elijas (personalmente nos decantamos por el RESTFull API).
Como comentario adicional añadir que Alfresco MetaDBConnector, componente desarrollado por nuestra empresa y puesto a disposición de la comunidad, puede serte de mucha ayuda para el caso inverso, es decir, cuando es desde Alfresco donde quieres asociar dicho documento (factura) al registro de tu bbdd propia. Lo tienes disponible en http://addons.alfresco.com/addons/alfresco-metadbconnector-component .. échale un vistazo y verás que es realmente útil.

Espero que sirva de ayuda.
Saludos!
rquinga
Member II

Re: Arquitectura y Desarrollo

He revisado tu addons y felicito el aporte realizado.
Tengo una pregunta:
Funciona con las versiones 4.2 y 5.0 de alfresco?
Tengo una necesidad.
Estoy importando sitios y usuarios en alfresco share y enviando documentos al alfresco share via mail, con el aspecto emial alias.
Mi necesidad es guardar el node del sitio, la url del usuario, el noderef del documento cargado en mi base de datos y con esto saber que el sitio el usuario del sitio y el documento ya se encuentran cargados y no volver a crear
Puedo hacer esto con metadbconector?
Espero me puedas adyudar con esta consulta.
Saludos..
cristinamr
Intermediate

Re: Arquitectura y Desarrollo

rquinga, un apunte rápido, solo es compatible con las siguientes versiones:

Alfresco Version(s)

    Community 4.0.x
    Enterprise 4.0.x


En teoría eso que expones sí que se podría realizar, pero como comento solo está para la versión 4.0.x

Un saludo!