Buscar
Social
Ofertas laborales ES
« Resumen de Apache Lucene Eurocon 2011 | Main | Alerta de seguridad para usuarios de JBoss: hay un gusano que se propaga por las instancias de este servidor »
domingo
oct232011

Ejemplo de aplicación Java EE: Una tienda Online

Hace aproximadamente un año publicamos en javaHispano un tutorial básico sobre Java EE. Ese tutorial lo usé yo dentro de un curso universitario de introducción a la programación web en una titulación de ingeniería informática. Juan Diéz-Yanguas, uno de los alumnos que tomó el curso, fue el que desarrolló el mejor proyecto dentro de la asignatura. Una vez concluida la propia asignatura, él continuó mejorando el proyecto.

El proyecto se trata de una tienda online. La tienda cuenta con una interfaz de administración que permite hacer altas y bajas de productos, así como ver informes de las ventas. Por supuesto, también cuenta con una interfaz de usuario final que permite realizar compras. Los usuarios finales pueden registrarse en la web, enviándose un e-mail para confirmar el registro. También se les envía un e-mail cada vez que realiza una compra resumiendo lo que han comprado.

La aplicación no sólo pone en práctica todo lo cubierto en el tutorial básico de Java EE sino que añade nuevos conceptos como uso de Java Mail, cómo realizar uploads con imágenes, realiza una validación fuerte de los datos y se protege contra ataques XSS e inyecciones SQL empleando la librería ESAPI, y realiza validación de los campos de los formularios en el cliente empleando técnicas AJAX, entre otros.

La aplicación puede emplear como mecanismo de persistencia la base de datos MYSQL o (configurando el descriptor de despliegue) emplear un conjunto de ficheros en el disco duro. También se ha hecho bastante énfasis en el desarrollo de la aplicación en no cometer errores de concurrencia.

Además de desarrollar toda la aplicación, Juan se ha molestado en documentarla bastante bien, a través de un tutorial bastante extenso (60+ páginas donde explica el funcionamiento de la aplicación, no desde el punto de vista del usuario sino desde el punto de vista de un programador) más un video. Y todo el código de la aplicación es opensource.

Creo que toda esta documentación, que podéis encontrar en el blog de Juan, es un excelente recurso para cualquier persona que esté comenzando a programar en Java EE. Y sin duda se lo recomiendo a cualquiera que haya leído el tutorial básico de Java EE y quiera dar un paso más en su formación. Aquí os dejo enlaces a toda la documentación:

  • Documentación 
  • Repositorio en GitHub
  • Documentación en GitHub
  • Configuración de las bases de datos
  • Videotutorial en vimeo
  •  

     

    Ejemplo Java EE: Una tienda online from Juan on Vimeo.

    PrintView Printer Friendly Version

    EmailEmail Article to Friend

    Reader Comments (13)

    Muchas gracias por esta reseña Abraham. No se que decir después de leer tus palabras.

    Se te ha olvidado nombrar tu tiempo dedicado a ayudarme a perfeccionarlo y la idea de la publicación. Muchas gracias de nuevo.

    Como ya he dicho otras muchas veces espero que sea de utilidad y aquel que tenga alguna duda, mejora o idea que no dude en comunicármelo, estaré a su disposición.

    Un saludo!

    octubre 23, 2011 | Unregistered CommenterJuan

    Muchas gracias, buen trabajo.

    Es una chorrada, pero para mí es más sencillo para cargar la BD, lo dejo por si alguien le interesa:

    Para cambiar el nombre de la bd en todas las tablas:

    perl -p -i -e 's/nameBD/miNuevoNombre/g' ExportModelo.sql

    Para crear y cargar la bd en un momento:

    mysqldump --user=usuario --pass=password --host=localhost miNuevoNombre < ExportModelo.sql


    Saludos

    octubre 24, 2011 | Unregistered Commenterdroid86

    Excelente aporte...y claro que va a ser de mucha utilidad, sobre todo para los que estamos arrancando con el tema....Muchas gracias por compartir!!!

    octubre 25, 2011 | Registered Commenterju4n

    Muchas gracias a todos por los comentarios.

    Si cuento con vuestro permiso podría llevar los comentarios como el de droid86 respetando su autoría por supuesto al artículo que publiqué en mi blog para que los consejos y añadidos interesantes lleguen lo más lejos posible. De momento ya he publicado un enlace a la entrada y aconsejado que se lean los comentarios publicados aquí.

    Siempre es interesante que se aporten mejoras al trabajo realizado para aprender más.

    Muchas gracias de nuevo.

    octubre 25, 2011 | Unregistered CommenterJuan

    Excelente aporte, soy un novato en java con ganas de superar esa fase y tu aportación me ayuda mucho; gracias y espero pronto seguir tu ejemplo.

    octubre 26, 2011 | Unregistered CommenterRodolfo

    Hola, gracias por la buena voluntad en publicar este proyecto, me ha ayudado bastante.

    febrero 4, 2012 | Unregistered CommenterErnesto B.

    Alguien sabe como conectar, JEE con SAP?

    abril 24, 2012 | Registered Commenterdrake316

    Muy bueno el proyecto pero la documentacion le faltan cosas, por ejemplo se deberia al menos dejar llena la tabla de usuarios con un administrador de ejemplo porque en el deploy del proyecto sale:
    WARNING: RAR5117 : Failed to obtain/create connection from connection pool [ mysql_namedBD ]. Reason : com.sun.appserv.connectors.internal.api.PoolingException: No password credential found
    WARNING: RAR5114 : Error allocating connection : [No password credential found]
    SEVERE: Error obteniendo el numero de administradores
    java.sql.SQLException: No password credential found

    julio 31, 2013 | Unregistered Commenterjjsainzc

    tengo ese problema y nose como solucionarlo the module has not been deployed. see the server log for details build-impl.xml:1137

    junio 25, 2014 | Unregistered Commenterjunior

    Hola, al hacer Deploy me aparece este error, alguien saber qué me ha podido pasar?Gracias!

    In-place deployment at C:\Users\Alejandro\Documents\NetBeansProjects\OnlineShop\build\web
    GlassFish Server 4.1, deploy, null, false
    C:\Users\Alejandro\Documents\NetBeansProjects\OnlineShop\nbproject\build-impl.xml:1137: The module has not been deployed.
    See the server log for details.
    BUILD FAILED (total time: 6 seconds)

    junio 5, 2015 | Unregistered CommenterAlex

    Hola, a mi me pasa lo mismo. al hacer Deploy me aparece este error, alguien saber qué me ha podido pasar?Gracias!

    In-place deployment at C:\Users\Alejandro\Documents\NetBeansProjects\OnlineShop\build\web
    GlassFish Server 4.1, deploy, null, false
    C:\Users\Alejandro\Documents\NetBeansProjects\OnlineShop\nbproject\build-impl.xml:1137: The module has not been deployed.
    See the server log for details.
    BUILD FAILED (total time: 6 seconds)

    octubre 8, 2015 | Registered Commenterfmartinf

    gracias por el pase men, ia no deje terseras xd

    mayo 16, 2017 | Unregistered CommenterELKAKERDELAFISICOMATE

    Hola Chicos,

    Por favor me pueden aclarar, indicandome cual es la URL que hay que colocar en la consola de administracion de glassfish, porque estoy empezando y no se cual seria ese dato, yo coloco jdbc:mysql://localhost pero al parecer no funciona.

    Lo mismo el servername, yo le coloco localhost, pero no se si este bien.

    Quedo atento.

    abril 12, 2018 | Unregistered CommenterCARLOS

    PostPost a New Comment

    Enter your information below to add a new comment.

    My response is on my own website »
    Author Email (optional):
    Author URL (optional):
    Post:
     
    Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>