Java

Tengo algunas dudas respecto al e-commerce en java. Para plantearme un aplicación de este tipo, había pensado en utilizar jsp, y una clase (bean), que tratasen el tema de carrito de la compra, y quizás un servlet par la conexión a la base de datos. ¿Estas de acuerdo con el planteamiento? ¿Cómo lo mejorarías?
¿Sabes de algún sitio donde pueda encontrar algún bean similar al que voy a implementar para facilitar la labor de desarrollo? También voy a realizar el diseño, y cualquier ayuda que me ahorre tiempo me seria muy valiosa.
Gracias.
vicente.saludos();

2 respuestas

Respuesta
1
Te diré lo primero que yo no he realizado ningún proyecto en java pero estoy implementando soluciones de comercio electrónico con php y el proceso es similar al que me describes. En realidad sólo difiere el código que utilices.
Yo estoy utilizando una clase (en php no se llaman beans pero es lo mismo) para gestionar el carrito de la compra. De hecho utilizo varias clases, una para gestionar los clientes (dar de alta, comprobaciones, gestión,...), otra para los productos (añadir, modificar, borrar,...), etc.
En general las clases te permiten reutilizar el código de modo que simplificas el programa y lo haces más fácil de depurar así que siempre son una buena idea.
Supongo que podrás encontrar beans en las que fijarte pero puede que no resuelvan exactamente tus necesidades así que quizá sea más conveniente, y más trabajoso, crearlas tú mismo.
Cuando estoy desarrollando mis clases en php lo primero que busco tener claro es qué voy a hacer con la clase (qué funciones usaré), qué datos voy a necesitar (qué variables voy a tratar) y cuál es la mejor forma de reutilizar el código.
Una clase básica para un carrito de la compra tendría funciones de añadir al carro, borrar del carro, calcular precios, crear el pedido y confirmar la orden. Como variables podría necesitar el id del producto y la cantidad. Esto tendrás que personalizarlo en tu proyecto.
Respecto a las conexiones hay que realizarlas de modo que también se reutilizen. PHP tiene alguna función al respecto que mantiene las conexiones abiertas (conexiones persistentes) para que no haya que estar constantemente creando nuevas conmexiones. Busca alguna manera de hacerlo así en java. Recuerda que en las conexiones se pierde un tiempo precioso así que intenta optimizarlas al máximo.
No repitas los datos de las conexiones una y otra vez. Utiliza variables o el servlet del que hablas para tener un sólo grupo de datos con todo lo necesario para realizar las conexiones que se lean siempre que sean necesarios. Así te será más fácil modificarlos si cambias de base de datos o servidor.
Recuerda que la reutilización de código es absolutamente necesaria. Si utilizas el mismo grupo de instrucciones varias veces puede ser una buena idea crear una función a la que llamas cuando la necesitas. Agrupa las funciones en unos pocos archivos a los que llamarás según se requiera.
Otro consejo muy importante es que separes la lógica de la presentación. Mantén el código por una lado y la parte gráfica de presentación de resultados en forma de plantillas a las que vas llamando. Es decir, si necesitas presentar una lista de productos mediante una tabla varias veces, crea una plantilla con el diseño de la tabla que lea los campos del resultado de acceder a la base de datos.
La conexión y la consulta a la bse de datos forman parte de la lógica y una vez obtenido el resultado lo presentas con dicha plantilla. De esta forma puedes reutilizar la misma presrentación para diferentes consultas una y otra vez y te ahorrarás código y dolores de cabeza.
Alberto
Respuesta
1
Tu solución me parece correcta. De hecho es como se hace siempre. Hay millones de carritos de la compra en millones de lenguajes puluando por toda la red.
Sin embargo casi todos los que se han hecho en Java son aplicaciones de pago (¿y sino de que vive WebLogic? :D )
En cuanto al diseño, sí puedo darte un consejo: en la base de datos crea una tabla llamada "articulos" y otras tablas para cada tipo de articulo. Relacionalas 1:1
De esta forma podrás serializar diferentes tipos de artículos en el carrito. Además, si creas una tabla "imagenes" 1:n con artículos, haces que todos los artículos tengan imágenes (herencia).
La serialización es muy importante para la buasqueda y para el carrito, por eso tienes que tenerla en cuanta :)
Otra cosa: te recomiendo que la información de los Beans al Servlet viaje (en ambos sentidos) en XML... así puedes tener carritos con muchos aspectos y poc esfuerzo ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas