lunes 16 de junio de 2008

Una aproximación a la Fototeca

Bueno, esta es la primer entrada luego de la creación del blog así que antes que nada voy a explicar un poco cual es la idea de esto. No se si fue la mejor idea publicar esto en un blog pero bueno, es la mas simple y me sirve como para ver que tan interesante puede resultarle esto a la comunidad, si veo que despierta algo de interés despues puedo armar un sitio un poco mas completo en mi servidor casero.

¿Que es Fototeca?
Es el nombre provisorio de un mini proyecto que armamos con unos amigos/colegas para aprender, probar, practicar, etc. con las tecnologias Java EE. Desde el punto de vista del usuario se trata de una aplicacion para gestionar albumes de fotos, una especie de Picasa (Google) (y solo para dar una idea rapida, no queremos copiar nada a nadie) pero con la diferencia de que un usuario debe estar logueado para utilizar el sistema, y este puede utilizarse solamente online. Con esta idea un usuario puede loguearse desde cualquier lugar del planeta y acceder a sus albumes, y tambien crear otros nuevos, subir fotos, compartir sus albumes con otros usuarios, ver albumes de otros usuarios, etc.

¿En que tecnologias se implementara Fototeca?
La arquitectura del sistema se diseñara siguiendo el modelo n-tiers de JavaEE
Fototeca Servidor/res: EJB 3.0, Jboss y/o Glassfish, Mysql, todo sobre Linux.
Fototeca Cliente/es: la idea es que se puedan implementar clientes en distintas tecnologias tambien para aprenderlas y poner a prueba sus capacidades, entre las cuales tenemos QT Jambi, JavaFX, Swing, Swt, html con ajax.


¿Bajo que licencias se va a publicar todo lo que hagamos?
La primera que se me viene a la mente es GPL v2, no pense mucho que licencia particular utilizar pero lo que si esta muy en claro, y es una de las premisas del proyecto, es que todo tiene que ser completamente libre, tanto la parte de clientes como la parte de servidor, y no solo liberar el codigo sino tambien toda la documentacion como documentos de diseño, etc. La idea es aprender y compartir ideas, desde el diseño hasta la produccion, para esto necesariamente tiene que ser todo libre.

¿Cuales son las prioridades en este desarrollo?
1) Diseño en general
2) Diseño de las GUI (poniendo mucho enfasis en esto, al punto de ser molestos)

3) Documentacion de todas las ideas, por que se planteo tal solucion a cual problema, etc., basicamente justificar todo lo que se hace ya que la idea es aprender y compartir conocimientos.

4) Buenas practicas en el desarrollo, particularmente en la implementacion o codificacion.


¿Cual es el estado actual del proyecto?
Hace un par de meses que comenzamos con esto pero le dedicamos muy poco tiempo, y esa es una de las razones por las que estoy publicando esto, para ver si podemos darle un envion mas interesante al proyecto. Tenemos algunos documentos como diagramas de casos de uso, diagramas de clases, y no mucho mas. Todo esto lo tenemos en un servidor SVN en mi servidor casero, al cual por ahora no puede accederse anonimamente, simplemente porque no fue necesario hasta ahora. Estos diagramas los vinimos encribiendo en Netbeans, con su plugin para UML.

¿Que tecnologias usamos para el desarrollo?
Por ahora utilizamos Netbeans 6.0.1 y 6.1 para los diagramas UML, y pensamos utilizar esta herramienta para la implementacion del servidor (los modulos EJB3) y tambien para la implementacion del cliente en JavaFX. Para el cliente en QT Jambi vamos a utilizar Eclipse ya que la misma Troltech provee un plugin que se integra bastante bien al Eclipse. Para los clientes en otras tecnologias como Swing y SWT tovavia no tenemos nada pensado. En mi servidor "casero" tengo instalados unos cuantos servidores, valga la redundancia, como ser Apache web Server con PhpMyAdmin, Glassfish, Tomcat, Mysql, Postgre, CVS, SVN, FreeNX, ProjectPier (para gestion de proyectos online), y capaz algun otro que no recuerdo, todo esto corriendo sobre Ubuntu 8.04.

Como introduccion creo que ya esta bien, espero que a alguien le interese la idea y se prenda. Estoy a la escucha de comentarios, cunsultas, sugerencias, criticas, todo viene bien. Saludos, y que anden bien