Escribir Aplicaciones Avanzadas para la Plataforma Java 2

El desaf�o de escribir un libro sobre el desarrollo de una aplicaci�n avanzada para la plataforma Java 2 es encontrar un proyecto lo suficientemente peque�o, pero al mismo tiempo, los suficientemente completo para garantizar las tecnicas de programaci�n avanzadas.

El proyecto presentado en este tutorial es una casa de subastas basada en web. La aplicaci�n est� inicialmente escrita para la plataforma Enterprise JavaBeans. En los cap�tulos posteriores expandieremos el coraz�n del ejemplo descrito aqu� a�adiendo funcionalidades avanzadas, mejoras y soluciones alternativas a algunas de las cosas que obtendr�s gratis cuando uses la plataforma Enterprise JavaBeans.

Para mantener la explicaci�n sencilla, la aplicaci�n de ejemplo s�lo tiene un conjunto b�sico de transaciones para poner y pujar �tems a subasta. Sin embargo, la aplicaci�n escala para manejar m�ltiples usuarios, proporciona un entorno de tres filas basado en transaciones, controla la seguirad, e integra sistemas basados en la legalidad. Este cap�tulo cubre c�mo determinar los requerimientos del proyecto y el modelo de aplicaci�n -- pasos importantes que siempre deber�an realizarse antes de empezar a codificar.

.�Requerimientos del Proyecto y Modelado

El primer paso para determinar los requerimientos del proyecto es la entrevista con el usuario base para saber que se espera de una subasta on-line. Este es un paso importante, y no puede pasarse por alto porque es una base s�lida de informaci�n que nos ayudar� a definir las capacidades clave de nuestra aplicacion.

El cap�tulo 2 pasea a trav�s del c�digo de la aplicaci�n, explica como trabaja la plataforma Enterprise JavaBeans, y nos cuenta c�mo ejecutar una demostraci�n en vivo. Si nunca has visto o usado una subasta on-line, aqu� hay una maqueta de las p�ginas HTML de la aplicaci�n de ejemplo.

.�Entrevista al usuario Base

Por la dicusi�n y por mantener las cosas sencillas, esta explicaci�n asume que en las entrevistas con los usuarios base se encontraron los siguientes requerimientos para la casa de subastas:

Requerimientos de la Casa de Subastas

  • Informaci�n Necesaria del Comprador y Vendedor
  • Notas de Vendedores para postear �tems
  • Grabar e Informar de las transaciones diarias

Requerimientos del usuario

  • Pujar por o Vender un �tem
  • Buscar o ver �tems en venta
  • Notificar las ventas al vendedor y al comprador

.�Modelo de Proyecto

Despu�s de analizar los requerimientos, podemos construir un diagrama de flujo de la aplicaci�n para obtener un mejor entendimiento de los elementos necesarios en la aplicaci�n y c�mo interactua.

Un diagrama de flujo muestra la relaci�n entre los actores y procesos dentro del sistema. Un proceso es una funci�n �nica en un sistema, y un actor es la persona o software que realiza la acci�n o proceso. Por ejemplo, un comprador es el actor que realiza la funci�n (proceso) de pujar por un �tem de la subasta, y el vendedor es el actor que realiza el proceso de postear un �tem para su subasta.

Aunque, no todos los actores son personas. Por ejemplo, el software es el actor que determina cuando un �tem se ha cerrado, encuentra la puja m�s alta, y notifica la venta al comprador y al vendedor.

El Unified Modeling Language (UML) es la herramienta que se usa para los diagramas de procesos. El siguiente diagrama usa UML para describir los procesos del comprador y del vendedor para una aplicaci�n de subasta on-line.

En UML, los sistemas se agrupan en cuadrados, los actores se representan por figuras humanas, los procesos se denotan mediante �valos, y las l�neas muestran como los actores usan el sistema.

La siguiente descripci�n define el proyecto. Estas descripciones no son parte del UML, pero son una herramienta �til para la definici�n de proyectos.

.�La Casa Identifica a Compradores y Vendedores

Una aplicaci�n de subastas es usada por compradores y vendedores. Un comprador necesita saber qu�en es el vendedor a quien tiene que pagarle, y el vendedor necesita conocer a los compradores para responder a sus preguntas sobre el producto y para finalizar la venta. Por eso, para postear o pujar por un �tem de la subasta, los compradores y vendedores necesitan estar registrados. El registro necesita obtener la siguiente informaci�n sobre los compradores y vendedores:

  • User ID y password para comprar y vender.
  • Direcci�n de E-mail para que pueda comunicarsele la puja m�s alta cuando se cierre la subasta.
  • Informaci�n de la tarjeta de cr�dito para que la casa de subastas pueda cobrar al vendedor por listar sus �tems.

Una vez registrado, el usuario puede postear o pujar por un �tem en venta.

.�La Casa Determina la Puja m�s alta

La aplicaci�n de subastas hace consultas a la base de datos y graba e informa de las transaciones diarias. La aplicaci�n busca �tems que se han cerrado y determina la puja m�s alta.

.�La Casa Notitica a los Compradores y Vendedores

La aplicaci�n subasta usa el e-mail para notificar al que ha pujado m�s alto y al vendedor, y cobrarle al vendedor por los servicios.

.�Alguien Busca un �tem

Los compradores y vendedores introducen un string de b�squeda para localizar todos los �tems en subasta de la base de datos.

.�Alguien Ve los �tems en Venta

Para popularizar la subasta y conseguir nuevos vendedores y compradores, la aplicaci�n pemite que cualquiera vea los �tems de la subasta sin requerir que est� registrado. Para hacer esto sencillo, la subasta permite que cualquiera vea una lista de los �tems de alguna de estas tres formas:

  • Todos los �tems en subasta.
  • Nuevos �tems listados hoy.
  • �tems que se cierran hoy.

.�Alguien Ve los Detalles de un �tem

La lista sumarizada enlaza con la siguiente informaci�n detallada de cada �tem. Esta informaci�n est� disponible para cualquiera sin necesidad de identificaci�n.

  • Sumario del �tem.
  • N�mero del �tem en la subasta.
  • Precio Actual
  • N�mero de pujas
  • Fecha de puesta en subasta
  • Fecha de cierre del �tem
  • ID del vendedor
  • Puja m�s alta
  • Descripci�n del �tem

.�El Vendedor Postea �tems para su Venta

Para postear un �tem para su venta, un vendedor necesita identificarse a s� mismo y describir el �tem, de esta forma:

  • User ID y password para la identificaci�n del vendedor
  • Descripci�n sumaria de �tem
  • Precio de puja inicial
  • Descripci�n detallada del �tem
  • N�mero de d�as que el �tem estar� en la subasta

.�El Comprador Puja por Items

Una p�gina de sumario detallado por cada �tem permite a los usuarios registrados identificarse a s� mismos y pujar por el �tem proporcionando la siguiente informaci�n:

  • User ID
  • Password
  • Cantidad de la Puja

.�Diagrama de Actividad

El diagrama de actividad muestra el flujo de tareas dentro de la casa de subastas como una totalidad. Este diagrama muestra la aplicaci�n subasta. El c�rculo negro de la izquierda muestra el principio de las actividades, y el c�rculo blanco punteado en el centro denota donde terminan las actividades.

.�Elegir el Software

Con la aplicaci�n modelada y los requerimientos del proyecto definidos, es hora de pensar en los APIs de Java que vamos a usar. La aplicaci�n est� claramente basada en cliente y servidor porque queremos acomodar desde 1 hasta n compradores, vendedores y mirones al mismo tiempo. Como el registro de los datos de los �tems en subasta deben almacenarse y recuperarse de alguna manerar, necesitaremos el API para acceder a bases de datos.

.�Los APIs de Java

El coraz�n de la aplicaci�n se puede crear de muchas formas usando uno de los siguientes APIs:

  1. APIs de Sockets, multithreads y JDBC
  2. .
  3. APIs de Remote Method Invocation (RMI) y JDBC.
  4. Plataforma Enterprise JavaBeans

Enterprise JavaBeans proporciona una forma sencilla de crear aplicaciones de clientes multi hilos porque maneja transaciones y control de estado, multithreads, recursos y otros complejos detalles de bajo nivel. La forma m�s sencilla para codificar la aplicaci�n de subastas es con la plataforma Enterprise JavaBeans.

El cap�tulo 2 explica el c�digo del coraz�n de la aplicaci�n y como configurar y ejecutar el ejemplo.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR

SIGUIENTE ARTÍCULO