View
0
Download
0
Category
Preview:
Citation preview
S.E.P. S.E.S. D.G.E.S.T.
CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO TECNOLOGICO
INTERMEDIARIO FACILITADOR DEL COMERCIO ELECTRONICO PARA PYMES BASADO EN WEB
T E S I S PARA OBTENER EL GRADO DE M A E S T R O E N C I E N C I A S EN CIENCIAS DE LA COMPUTACION P R E S E N T A : R O B E R TO V E G A C A S T I L L O
DIRECTOR DE TESIS DR. JOAQUIN PEREZ ORTEGA
CODIRECTOR DE TESIS DR. RODOLFO A. PAZOS RANGEL
CUERNAVACA, MORELOS, MEXICO AGOSTO DEL 2005
i
Dedicatorias
A mi esposa, por todo su amor, apoyo, paciencia y comprensión que me
permitieron concluir mis estudios de postgrado.
A mi hija, por ser mi inspiración, motivación y la fuerza para continuar en
los tiempos difíciles.
ii
Agradecimientos Al Centro Nacional de Investigación y Desarrollo Tecnológico por darme
la oportunidad de realizar mis estudios de postgrado.
A COSNET y SEP por brindarme su apoyo económico, ya que sin éste
no hubiera sido posible la conclusión de esta tesis.
A mis compañeros de generación por ser grandes amigos y brindarme
su apoyo incondicional en todo momento.
A mi director de tesis Dr. Joaquín Pérez Ortega, por guiarme y
orientarme durante el desarrollo de mi trabajo de tesis.
iii
Tabla de contenido
Lista de figuras……………………………………………………………………. vi
Lista de tablas……………………………………………………………………... vii
1. Introducción……………………………………………………………………. 1
1.1. Contexto de la Tesis……………………………………………………... 3
1.2. Planteamiento del problema……………………………………………. 5
1.3. Objetivos…………………………………………………………………... 7
1.4. Organización del documento…………………………………………… 8
2. Marco Teórico…………………………………………………………………. 9
2.1. Comercio electrónico…………………………………………………….. 10
2.2. Aplicaciones Web………………………………………………………… 15
2.3. Arquitecturas Web orientadas a tecnologías java……………………. 16
2.4. Tecnologías java orientadas a aplicaciones Web……………………. 20
2.5. Marcos de trabajo para aplicaciones Web…………………………….. 23
3. Estado del arte………………………………………………………………… 29
3.1. Trabajos de tesis relacionados…………………………………………. 30
3.2. Tabla comparativa de trabajos relacionados………………………….. 34
4. Arquitectura y diseño del sistema…………………………………………… 35
4.1. Esquema general de operación del sistema………………………….. 36
4.2. Arquitectura detallada del sistema……………………………………... 36
4.3. Detalles en la implementación de los módulos del prototipo……….. 39
4.3.1. Módulo de administración………………………………………… 39
4.3.2. Módulo de catálogos……………...………………………………. 43
4.3.3. Módulo de diseño………………………………………………… 44
4.3.4. Sitio de comercio electrónico…………………………………….. 45
iv
5. Plan de pruebas………………………………………………………………. 48
5.1. Consideraciones generales de los casos de prueba………………… 49
5.2. Casos de prueba…………………………………………………………. 50
6. Conclusiones…………………………………………………………………... 69
6.1. Conclusiones generales…………………………………………………. 70
6.2. Trabajos futuros………………………………………………………….. 70
6.3. Publicaciones…………………………………………………………….. 72
Referencias……………………………………………………………………….. 73
v
Lista de figuras
Figura 1.1 Arquitectura del prototipo de la tesis “Arquitectura de un Sistema de
Comercio Electrónico para Pequeñas y Medianas Empresas”.
Figura 1.2. Arquitectura del prototipo de la tesis “Desarrollo de un Prototipo de
Comercio Electrónico Incorporando Sistemas de Pago”.
Figura 2.1 Modelo MVC.
Figura 2.2 Modelo 1.
Figura 2.3 Modelo 2.
Figura 2.4 Modelo 2X.
Figura 2.5 Petición de una página JSP
Figura 2.6 Pasos del ciclo de vida petición-respuesta JavaServer Faces.
Figura 2.7 Esquema del marco de trabajo Struts.
Figura 4.1 Esquema general del sistema.
Figura 4.2 Arquitectura del submódulo de creación de sitios de CE del módulo
de administración.
Figura 4.3 Arquitectura del submódulo de edición del módulo de catálogos.
Figura 4.4 Arquitectura del submódulo de diseño del módulo de catálogos.
Figura 4.5 Arquitectura del submódulo de publicación del módulo de catálogos.
Figura 4.6 Creación de sitios de comercio electrónico.
Figura 4.7 Consulta de los sitios de comercio dentro de la plaza.
Figura 4.8 Reiniciar o detener aplicaciones dentro de la plaza.
Figura 4.9 Iniciar una aplicación ya registrada dentro de la plaza.
Figura 4.11 Agregar un nuevo producto al catálogo.
Figura 4.12 Modificar o eliminar un producto del catálogo.
Figura 4.13 Personalizar la apariencia del sitio de comercio electrónico.
Figura 4.14 Proceso de serialización.
Figura 4.15 Esquema del sitio de comercio electrónico.
Figura 4.16 Extensión del marco de trabajo Struts.
Figura 5.1 Contexto de la aplicación de comercio electrónico dentro del servidor
Web.
Figura 5.2. Menú del administrador.
vi
Figura 5.3. Formulario para alta de sitio de comercio electrónico.
Figura 5.4. Confirmación de datos de sitio de comercio electrónico.
Figura 5.5. Confirmación de alta de sitio de comercio electrónico.
Figura 5.6. Resultados de la consulta del estado de los sitios existentes en la
plaza de comercio electrónico.
Figura 5.7. Elegir la aplicación de comercio electrónico a detener.
Figura 5.8. Confirmar detener la aplicación de comercio electrónico.
Figura 5.9. Confirmación de que la aplicación de comercio electrónico se
detuvo.
Figura 5.10. Confirmar reiniciar la aplicación de comercio electrónico.
Figura 5.11. Confirmación de que la aplicación de comercio electrónico se
reinició.
Figura 5.12. Confirmar iniciar la aplicación de comercio electrónico.
Figura 5.13. Confirmación de que la aplicación de comercio electrónico se
inició.
Figura 5.14. Confirmar eliminar la aplicación de comercio electrónico.
Figura 5.15. Confirmación de que la aplicación de comercio electrónico se
eliminó.
Figura 5.16. Menú de la empresa.
Figura 5.17. Formulario de captura de datos de nuevo producto.
Figura 5.18. Elegir imagen nuevo producto.
Figura 5.19 Elegir categoría nuevo producto.
Figura 5.20. Confirmar datos nuevo producto.
Figura 5.21. Confirmación eliminar producto del catálogo.
Figura 5.22. Elegir el producto a modificar.
Figura 5.23. Confirmación modificación de producto.
Figura 5.24. Lista de productos en el catálogo.
Figura 5.25. Datos de la empresa que publica el sitio de comercio electrónico.
Figura 5.26. Logotipo de la empresa que publica el sitio de comercio
electrónico.
Figura 5.27. Datos, logotipo y plantilla de diseño de la empresa que publica el
sitio de comercio electrónico.
vii
Lista de tablas
Tabla 3.1. Tabla comparativa de trabajos relacionados
1
Capítulo 1 Introducción
En este capítulo se exponen los antecedentes que motivaron la realización de
la presente tesis. Además se incluye la descripción del problema, los alcances,
limitaciones y los objetivos de la misma.
Capítulo 1. Introducción
2
El Comercio Electrónico es una de las áreas de mayor evolución y
desarrollo en Internet durante los últimos años, debido principalmente a
factores tales como el crecimiento exponencial de los usuarios de Internet, el
desarrollo de nuevas herramientas de software, el interés por parte de las
empresas en participar en el comercio electrónico y la apertura de la banca
comercial para brindar servicios de transacciones en línea.
El concepto de comercio electrónico no solamente abarca actividades
tales como la compra-venta electrónica de bienes, información o servicios, sino
que incluye actividades previas y posteriores a la venta, tales como la
publicidad, la búsqueda de información, negociaciones, trámites
administrativos, etc.
Actualmente en México existen grandes empresas que utilizan Internet
como mecanismo de venta de sus productos y servicios; sin embargo, no es el
caso de las pequeñas y medianas empresas (PyMEs). Las PyMEs tienen
características muy diferentes a las de las grandes corporaciones, tanto en
organización como en recursos, por lo que requieren aplicaciones a la medida y
al alcance de sus posibilidades económicas.
Desde hace poco más de 2 años, dentro del CENIDET se ha trabajado
en un proyecto institucional, cuyo objetivo es desarrollar aplicaciones de
comercio electrónico orientadas a los modelos de negocio de las pequeñas y
medianas empresas de México. Los requerimientos principales de estas
aplicaciones de comercio electrónico son: bajo costo y fácil uso [Bravo 2003].
Actualmente se cuenta con un prototipo de comercio electrónico que
cumple con los requerimientos estipulados, sin embargo, la funcionalidad de
este prototipo es limitada, en lo particular, está orientado a una sola tienda, y el
mantenimiento tiene que hacerse directamente sobre el código fuente.
Debido a estas limitaciones se planeó el dar funciones de administración
adicionales a este prototipo, algunas de las cuales fueron desarrolladas en la
presente tesis.
Capítulo 1. Introducción
3
1.1. Contexto de la tesis
El presente trabajo de tesis forma parte de un proyecto institucional cuyo
objetivo es desarrollar aplicaciones de comercio electrónico orientadas a los
modelos de negocio de las pequeñas y medianas empresas de México.
Previo a la realización del presente trabajo de tesis se desarrollaron dos
trabajos de tesis más sobre esta línea de investigación.
A) “Arquitectura de un Sistema de Comercio Electrónico para Pequeñas y
Medianas Empresas” [Baeza 2002].
B) “Desarrollo de un Prototipo de Comercio Electrónico Incorporando
Sistemas de Pago” [Bravo 2003].
A continuación se da un resumen de estos trabajos:
[Baeza 2002] su objetivo fue proponer la arquitectura de un sistema de
comercio electrónico que integre componentes de bajo costo, que esté
orientado a la pequeña y mediana empresa, e implementar un prototipo que
muestre las bondades de la arquitectura propuesta.
La Figura 1.1 muestra la arquitectura propuesta para el sitio de comercio
electrónico, misma que se utilizó para el desarrollo del prototipo de tesis.
Debido a que este prototipo fue pensado para ser de bajo costo, fue
desarrollado con herramientas de software de código abierto, tales como: el
sistema operativo Linux, SMBD PostgreSQL, Servidor Web Tomcat y Java
como lenguaje de programación.
Las características de este prototipo, desafortunadamente son limitadas;
concretamente, está orientado a una sola tienda, y el mantenimiento de los
catálogos se realiza por comandos sobre el SMBD del sistema. A pesar de esto
se han logrado incorporar funciones tales como: el manejo de un carrito de
Capítulo 1. Introducción
4
compras, registro de los clientes y mecanismo de seguridad a través del
protocolo SSL, entre otras.
Figura 1.1 Arquitectura del prototipo de la tesis “Arquitectura de un Sistema de
Comercio Electrónico para Pequeñas y Medianas Empresas”
[Bravo 2003] Su objetivo principal fue el desarrollo e implementación de un
prototipo de comercio electrónico, de bajo costo, que incorpore sistemas de
pago por Internet, y que esté orientado a las pequeñas y medianas empresas
de México.
En general, dicho trabajo se realizó un análisis de los sistemas de pago
por Internet, con el objeto de determinar los requisitos establecidos por los
bancos para el manejo de transacciones en línea. Como resultado de este
análisis se desarrolló un nuevo prototipo, con el fin de demostrar la factibilidad
de implementación de un sistema de comercio electrónico orientado a las
pequeñas y medianas empresas que incorpore sistemas de pago en línea. La
arquitectura de este sistema se representa en la Figura 1.2.
Capítulo 1. Introducción
5
Figura 1.2. Arquitectura del prototipo de la tesis “Desarrollo de un Prototipo de
Comercio Electrónico Incorporando Sistemas de Pago”
1.2. Planteamiento del problema
La problemática general para las pequeñas y medianas empresas que desean
incursionar en el comercio electrónico, se presenta principalmente en la etapa
de implantación y en la etapa de mantenimiento del sitio de comercio
electrónico.
Durante la etapa de implantación, el monto de la inversión necesaria
para el establecimiento de un sitio de comercio electrónico es muchas veces
una limitante para empresas con pocos recursos.
Capítulo 1. Introducción
6
La conjunción de esfuerzos individuales (cooperativas, sociedades
anónimas) en busca de la disminución de costos ha sido una alternativa
probada que ha obtenido buenos resultados. Aplicando esta práctica a la
tecnología de comercio electrónico, nos encontramos con agrupaciones de
sitios de comercio electrónico denominadas plazas virtuales de comercio
electrónico, las cuales ofrecen ventajas en cuanto a la disminución de costos
de operación, mantenimiento y comercialización.
Durante la etapa de mantenimiento, el problema más común tiene que
ver con la forma en que se han de actualizar los datos de los productos
publicados en el sitio de comercio electrónico.
Actualmente, en muchos sitios de comercio electrónico se invierte
mucho tiempo y esfuerzo para mantener actualizada la información de los
productos que ahí se comercializan. Muchos de estos sitios todavía hacen la
actualización de sus catálogos de productos de manera manual. Al trabajar de
esta forma, se requiere de personal con conocimientos sobre la arquitectura del
sistema y sobre la tecnología utilizada para crear el sitio de comercio
electrónico.
Si consideramos el ejemplo de un sitio de comercio electrónico de
mediana magnitud, tal vez se requiera un número moderado de actualizaciones
al día. En cambio, si se trata de administrar varios sitios a la vez, se convierte
en un problema de considerable magnitud.
Cabe mencionar que se han hecho desarrollos tanto en empresas
dedicadas a proporcionar soluciones de tecnología Web, como en instituciones
de educación e investigación, para tratar de facilitar las labores de actualización
de catálogos de productos para sitios de comercio electrónico. Sin embargo, no
son muchos los que han invertido su tiempo en el desarrollo de prototipos
orientados a pequeñas y medianas empresas.
Capítulo 1. Introducción
7
Existen muchas propuestas de arquitecturas y tecnologías para el
desarrollo de sitios y plataformas de comercio electrónico, sin embargo ninguna
ha destacado tanto sobre las demás como para considerarse una tendencia y
mucho menos un estándar.
En lo que se refiere a México, la AMECE (Asociación Mexicana de
Estándares de Comercio Electrónico) en conjunto con la AMCE (Asociación
Mexicana de Comercio Electrónico) se han dado a la tarea de definir
estándares y proponer soluciones para ofrecer a las empresas sistemas de
comercio electrónico. Actualmente tienen disponible un sistema de publicación
de catálogos denominado “cat@logalo” [AMECE 2005], el cual permite a las
empresas que lo soliciten, publicar su catálogo de productos y a su vez
consultar el catálogo de todas las empresas registradas, a través de un
directorio de empresas. Desgraciadamente, es necesario que la empresa que
adopte estas soluciones cuente previamente con una infraestructura
informática de alto costo (que permita la implantación de un
DATAWAREHOUSE), infraestructura que no existe en la mayoría de las
PyMEs de México.
El problema a resolver en la presente tesis consiste en el desarrollo de
un módulo de software para la administración de catálogos de productos para
un sitio de comercio electrónico y un módulo adicional que represente una
plaza virtual, que permita la adición de nuevos sitios, así como su modificación
y su salida del sistema, que cuente con un esquema de seguridad y que sea de
fácil uso.
1.3. Objetivos
El objetivo general de esta tesis es el de desarrollar un prototipo de un sistema
computacional que represente una plaza virtual de comercio electrónico
orientada a las pequeñas y medianas empresas de México.
Capítulo 1. Introducción
8
Objetivos específicos.
a) Desarrollar un sistema computacional que represente una plaza virtual
de comercio electrónico, que cuente con herramientas de administración
para la misma.
b) Desarrollar una herramienta de software de ayuda al diseño y
mantenimiento de catálogos de productos, que permita la definición,
publicación y actualización de catálogos por las propias empresas.
1.4. Organización del documento
El presente documento de tesis se organiza de la siguiente manera:
Capítulo 2: En este capítulo se presenta la teoría relacionada con la
implementación de sistemas de comercio electrónico.
Capítulo 3: En este capítulo se presenta un resumen de los trabajos de
comercio electrónico relacionados con la presente tesis en los ámbitos
nacional y mundial.
Capítulo 4: En este capítulo se presenta la arquitectura de los módulos
del prototipo de tesis, así como los detalles de implementación del mismo.
Capítulo 5: En este capítulo se describen los casos de prueba para el
prototipo. En cada caso se especifica su objetivo, el procedimiento a seguir y
los resultados de dicho procedimiento.
Capítulo 6: En este capítulo se presentan las conclusiones y
aportaciones del presente trabajo de tesis. Además se sugieren trabajos
futuros, los cuales pueden ser desarrollados a partir de los resultados
obtenidos en este proyecto.
9
Capítulo 2
Marco Teórico
En este capítulo se presenta la teoría relacionada con la implementación de
sistemas de comercio electrónico.
Capítulo 2. Marco Teórico
10
2.1. Comercio electrónico
El comercio electrónico se puede definir como cualquier forma de transacción o
intercambio de información comercial basada en la transmisión de datos sobre
redes de comunicación como Internet. En este sentido, el concepto de
comercio electrónico no solamente incluye la compra y venta electrónica de
bienes, información o servicios, sino también el uso de la red para actividades
anteriores o posteriores a la venta, como los siguientes [Ministerio 1999]:
• La publicidad.
• La búsqueda de información sobre productos y proveedores.
• La negociación entre comprador y vendedor sobre el precio y
condiciones de entrega.
• La atención al cliente antes y después de la venta.
• El cumplimiento de trámites administrativos relacionados con la actividad
comercial.
• La colaboración entre empresas con negocios comunes (a largo plazo).
Estas actividades no necesariamente tienen que estar presentes en todos
los escenarios de comercio electrónico. En el comercio electrónico participan
como actores principales las empresas, los consumidores, las instituciones
bancarias y las administraciones públicas.
2.1.1. Tipos de comercio electrónico
A) Entre empresas B2B (business to business)
Este tipo de comercio se realiza entre dos o más empresas con el objetivo de
intercambiar bienes o servicios, a través de Internet o de otras redes de
comunicaciones. Es comúnmente utilizado para el intercambio de
presupuestos, pedidos y facturas entre otros.
Capítulo 2. Marco Teórico
11
B) Entre empresa y consumidor B2C (business to consumer)
En este caso, el intercambio de bienes y servicios a través de Internet o de
otras redes de comunicaciones, se realiza entre empresas y clientes finales. El
crecimiento y popularidad de este tipo de comercio electrónico se debe a que
agiliza y minimiza los costos, ofreciendo productos de forma más rápida y
económica.
C) Entre empresa y administración B2A (business to administration)
Este tipo de comercio abarca todas las transacciones entre las empresas y las
organizaciones gubernamentales; por ejemplo, el pago de impuestos o
servicios a través de Internet.
D) Entre consumidor y administración C2A (consumer to administration)
Este tipo de comercio vincula la administración y los consumidores finales. A
través de esta modalidad del comercio electrónico, los gobiernos pueden
posibilitar el pago de algunos servicios.
2.1.2. Elementos de un sistema de comercio electrónico
Una tienda virtual es un tipo concreto de aplicación Web, donde todo el diseño
se orienta al máximo rendimiento del proceso comercial. Los elementos más
comunes dentro de un sistema de comercio electrónico son los siguientes [IAE
2005]:
A) Catálogo de productos
Se trata del vértice de la aplicación, y su finalidad es la de mostrar el abanico
de productos o servicios ofertados en la tienda virtual.
Capítulo 2. Marco Teórico
12
El catálogo de productos ha de ser estructurado en familias o categorías,
permitiendo así la facilidad de localización de un artículo dentro de un rango de
productos concretos.
Del mismo modo, la información de los productos en el catálogo ha de
ser completa, proveyendo la información necesaria para la identificación única
e inequívoca del artículo.
B) Buscador de productos
Cuando un catálogo de productos contiene una cierta cantidad de artículos, es
altamente recomendable la incorporación a la tienda virtual de un buscador de
productos. De esta forma se elimina la necesidad de tener que navegar por
diferentes familias de productos para alcanzar un producto concreto.
C) Carrito de compras
En el carrito de compras es donde propiamente se realiza la acción del
comercio electrónico, puesto que es el lugar en el que se registran los artículos
solicitados por el cliente o distribuidor, y a partir del cual se iniciará el proceso
de compra electrónica.
D) Medios de pago
Para que una operación comercial se lleve a cabo, se debe hacer efectiva una
transacción económica por la cual el cliente abona a la empresa el importe
requerido por ésta, según se indica en el carrito de la compra.
Los medios de pago son aquellos intermediarios entre la empresa y el
cliente por las cuales se hacen efectivas las transacciones económicas, y son
de vital importancia para el ejercicio del comercio electrónico.
Capítulo 2. Marco Teórico
13
La importancia de los medios de pago viene determinada por la
percepción que de éstos tienen los clientes, puesto que pueden constituirse en
una barrera si les provocan desconfianza.
E) Seguimiento de pedidos
Una tienda virtual no sólo debe proporcionarle al cliente un medio fácil y
confiable de compra de productos o servicios, sino que debe considerar en
todo momento la satisfacción del cliente. El plazo entre el proceso de compra y
la recepción del producto es vital para la percepción del sistema de comercio
electrónico por parte del cliente, y por ello resulta muy satisfactorio el contar
con información continua sobre el estado del pedido.
F) Integración en buscadores
El éxito de una tienda virtual viene determinado por las ventas que se generen
a partir de ella, y el número de éstas es un factor directamente proporcional al
número de visitas que reciba.
La principal fuente de visitas en Internet son los buscadores: más del
80% de visitantes provienen de los principales motores de búsqueda. Por eso
es vital que exista una adecuada integración de una tienda virtual en los
buscadores más usados, permitiendo que los productos ofertados puedan ser
localizados por los potenciales clientes a través de ellos.
G) Administración remota
Al igual que el comercio tradicional, el escaparate y el catálogo de productos
deben ser actualizados periódicamente. Un adecuado sistema de comercio
electrónico para compras por Internet, debe permitir renovar con facilidad la
información publicada de los productos.
Capítulo 2. Marco Teórico
14
De la misma forma, la tienda virtual debe proveer al administrador un
método eficiente para las labores administrativas, permitiendo consultar
pedidos, entregas, cobros, etc.
H) Integración en la infraestructura informática existente
Una adecuada solución para tiendas virtuales no debe proporcionar tan sólo
soluciones puntuales de presencia en Internet, sino que todo el proceso
comercial debe estar integrado en la infraestructura informática existente en la
empresa: la gestión de artículos, clientes y pedidos debe estar perfectamente
integradas, convirtiendo a la tienda virtual en un escaparate más de la
empresa.
2.1.3. Beneficios del comercio electrónico
Una adecuada implantación de un sistema de comercio electrónico apropiado
repercute en importantes beneficios [PADSOFT 2005]:
A) Para la empresa
• Crecimiento de mercado: las fronteras desaparecen, expandiendo la
cobertura geográfica, permitiéndole así captar nuevos clientes.
• Reducción de costos: Internet es un medio económico, por lo que
ahorrará en comparación con los medios de comunicación tradicionales
(teléfono, fax, correo ordinario, etc.).
• Reducción de tiempos de producción: la velocidad en las
comunicaciones por Internet hace posible la minimización de tiempos de
espera, acelerando el proceso productivo en cualquiera de sus etapas.
• Posición estratégica (competitividad): la empresa es capaz de rivalizar
con las de su sector, ofreciendo mejores servicios.
Capítulo 2. Marco Teórico
15
• Amortización a corto plazo: la inversión realizada se amortiza
rápidamente con los nuevos clientes adquiridos y por la satisfacción de
sus clientes existentes.
• Percepción por parte del cliente: el cliente adquiere una imagen de
empresa dinámica y flexible que se adapta a las nuevas tendencias
tecnológicas, proyectando en el cliente la imagen de empresa
emprendedora.
B) Para los clientes
• Disponibilidad: los clientes podrán establecer comunicación con la
empresa sin depender de horarios, pudiendo relacionarse en el
momento en que lo consideren necesario.
• Velocidad: los accesos a los servicios no requieren colas de espera ni
trámites especiales, por lo que los clientes obtienen lo que necesitan en
el instante.
• Comodidad: a los clientes no les supone desempeñar esfuerzos
adicionales para conseguir sus objetivos, los pueden llevar a cabo
cómodamente sentados frente a sus computadoras.
• Flexibilidad: los clientes pueden realizar cualquier tipo de operaciones y
consultas adecuándolas a sus necesidades en todo momento.
• Economía: los clientes ahorrarán tiempo y dinero en las comunicaciones
establecidas con la empresa.
• Atención personalizada: podrá adecuar los contenidos ofrecidos a los
clientes, procurándoles los servicios a su medida.
2.2. Aplicaciones Web
Una "aplicación Web" es un conjunto de páginas Web cuyo contenido puede
variar de forma automatizada dependiendo de fuentes internas o externas
(bases de datos o sistemas servidores de información), las cuales, el usuario
Capítulo 2. Marco Teórico
16
invoca usando un navegador el cual contacta algún servidor vía Internet. Para
los usuarios y navegadores pasa usualmente inadvertida a diferencia entre
contactar un servidor Web que tenga solamente páginas estáticas y uno que
contenga solamente aplicaciones Web, pero a diferencia de las páginas
estáticas, las aplicaciones Web crean sus páginas dinámicamente. Un sitio
Web construido dinámicamente utiliza un programa de computadora para
conseguir el dinamismo. Este tipo de aplicaciones dinámicas pueden ser
escritas en algún tipo de lenguaje de programación [ZOPE 2005].
2.3. Arquitecturas Web orientadas a tecnologías java
La arquitectura Web provee la manera más simple y eficiente de construir,
administrar y mantener cualquier tipo de aplicación Web, optimizando los
costos y tiempos de desarrollo. Las arquitecturas de las aplicaciones Web
están evolucionando hacia modelos más avanzados que les permitan
adaptarse a los nuevos enfoques de desarrollo. Siguiendo esta tendencia, en
los últimos años se han propuesto múltiples arquitecturas y marcos de trabajo
orientados a tecnologías Java, las cuales se describen brevemente a
continuación.
2.3.1. MVC
En el paradigma MVC (Figura 2.1), los datos que maneja la aplicación, la lógica
de negocio y la vista que el usuario recibe están explícitamente separados en 3
objetos, cada cual especializado en su tarea. La vista gestiona el aspecto de la
presentación gráfica (look & feel) que recibe el usuario [Kofman 2003].
El controlador interpreta los datos que da el usuario coordinando la vista
y el modelo para que la aplicación se comporte conforme a lo esperado. Y por
último, el modelo maneja los datos y el estado de la aplicación, responde a las
peticiones de información sobre su estado que hace la vista y responde a las
instrucciones que le da el controlador para que modifique su estado.
Capítulo 2. Marco Teórico
17
Figura 2.1 Modelo MVC.
2.3.2. Modelo 1
En los inicios de los JSPs (JavaServer Pages), la forma natural de trabajar era
la de usar estos mismos para realizar casi todas las tareas dentro de la
aplicación Web, tales como: extraer los parámetros de la solicitud HTTP, hacer
llamadas a las clases de la lógica del negocio (implementada en los
JavaBeans) o directamente dentro de los JSPs, manejar la sesión de HTTP
(HyperText Transfer Protocol) y generar el documento HTML (HyperText
Markup Language) de salida. Este enfoque de programación fue denominado
“Modelo 1” y es mostrado en la Figura 2.2.
Aunque el Modelo 1 es ideal para aplicaciones sencillas, no lo es tanto
para aplicaciones más complejas, debido a que hace difícil el mantenimiento, la
escalabilidad y el rehúso de componentes, el código tiende a no ser modular, y
se duplica gran cantidad de código ya que varias páginas implementan las
mismas rutinas [Orbeon 2004].
Capítulo 2. Marco Teórico
18
Figura 2.2 Modelo 1.
2.3.3. Modelo 2
El Modelo 2, mostrado en la Figura 2.3, es una implementación de la
arquitectura MVC (Model-View-Controller) orientada a tecnologías Java. En el
Modelo 2 el controlador está constituido por servlets, los cuales tienen la
función de controlar el flujo de la aplicación, el modelo está integrado por
JavaBeans, los cuales encapsulan la lógica del negocio, y la vista se construye
con JSPs, cuya función es la de elaborar el código HTML de salida.
Figura 2.3 Modelo 2.
Capítulo 2. Marco Teórico
19
Este modelo permite una separación más clara de la lógica del negocio y
la presentación, haciendo más fáciles las tareas de mantenimiento y rehúso de
componentes. Los elementos de la vista no deben conocer los objetos del
modelo y viceversa. El ejemplo más popular de un marco de trabajo que
implementa el Modelo 2 es un proyecto de Apache Jakarta llamado Struts
[Seshadri 2004].
2.3.4. Modelo 2X
Los marcos de trabajo basados en el Modelo 2 son un gran paso en la
dirección correcta, sin embargo, en algunos casos no es óptimo entregar
código HTML directamente de los JSPs al navegador Web del usuario.
Figura 2.4 Modelo 2X.
El modelo 2X, mostrado en la Figura 2.4, surge como una evolución del
Modelo 2, con el objeto de dar solución a la necesidad de desarrollar
aplicaciones multicanal; es decir, aplicaciones Web que pueden ser accedidas
desde diferentes tipos de clientes remotos. Así una aplicación Web multicanal
Capítulo 2. Marco Teórico
20
podrá ejecutarse desde una PDA (Personal Digital Assistant), un teléfono móvil,
o desde cualquier navegador en una computadora personal. La forma para
poder publicar la misma aplicación para distintos dispositivos, es usando
plantillas XSL (eXtensible Stylesheet Language) para transformar los datos
contenidos en documentos XML (eXtensive Markup Language) al formato de
salida que se ajuste al dispositivo que hace la solicitud, ya sea WML (Wireless
Markup Language), HTML, etc [Orbeon 2004].
2.4. Tecnologías java orientadas a aplicaciones Web
A). JavaServer Pages
La tecnología de las JavaServer Pages (JSP) aparece para aliviar la molestia
que supone generar páginas Web mediante servlets. Además, de esta forma es
posible dividir el trabajo de construir una aplicación Web entre programadores
(servlets) y diseñadores gráficos (JSPs).
Una página JSP no es más que una página HTML que contiene ciertas
etiquetas especiales (acciones) o fragmentos de código (scriptlets) para incluir
contenido dinámico en dicha página. El código HTML se añade tal cual a la
respuesta, mientras que los elementos dinámicos se evalúan con cada petición.
Cuando un cliente pide esa página al servidor (Figura 2.5) de
aplicaciones, se traduce a un archivo fuente de Java que implementa un
Servlet, se compila y se ejecuta para devolver el resultado de la petición. Una
vez compilado el servlet, las peticiones posteriores se reducen a ejecutar dicho
servlet en lugar de realizar el proceso una y otra vez. Esta es la razón por la
que la primera petición tarda mucho más en responderse que las siguientes.
Dado que una JSP no es más que un servlet, hay que recordar que todo
el código se ejecuta en el servidor y las respuestas son puramente páginas
HTML.
Capítulo 2. Marco Teórico
21
Figura 2.5 Petición de una página JSP
B). Servlets
Los servlets son módulos que extienden los servidores orientados a petición-
respuesta, como los servidores Web compatibles con Java. Por ejemplo, un
servlet podría ser responsable de tomar los datos de un formulario de entrada
de pedidos en HTML y aplicarle la lógica de negocios utilizada para actualizar
la base de datos de pedidos de la compañía.
Los servlets son para los servidores lo que los applets son para los
navegadores. Sin embargo, al contrario que los applets, los servlets no tienen
interfaz gráfica de usuario. Son un reemplazo efectivo para los scripts CGI.
Proporcionan una forma de generar documentos dinámicos que son fáciles de
escribir y rápidos en ejecutarse.
Los servlets también solucionan el problema de hacer la programación
del lado del servidor con APIs específicos de la plataforma. Estos pueden ser
incluidos en muchos servidores diferentes porque el API Servlet que se utiliza
no supone nada sobre el entorno o protocolo del servidor.
Capítulo 2. Marco Teórico
22
C). JavaBeans
Los JavaBeans se idearon como un mecanismo para diseñar componentes,
generalmente de tipo gráfico, que pudiesen ser reutilizados por los entornos de
desarrollo integrado (IDE).
Para ello la interfaz de un JavaBean debería ser capaz de mostrar su
contenido en tiempo de ejecución. Esta característica ha hecho que los
JavaBeans se utilicen en otros entornos, tal como el desarrollo de aplicaciones
Web.
Un JavaBean no es más que una clase java que sigue ciertas
convenciones en el nombrado de sus métodos, de forma que sea posible
operar con ella en tiempo de ejecución. Se dice que un JavaBean tiene
propiedades o atributos, y dependiendo de que los métodos getPropiedad() y
setPropiedad() estén definidos, la propiedad será de lectura, de escritura o de
lectura/escritura.
D). XML
XML "Extensible Markup Language" es un metalenguaje usado para definir
documentos que contienen datos estructurados. Las características y
beneficios del XML se pueden agrupar en tres áreas principales:
Extensibilidad: Como metalenguaje, XML puede usarse para crear sus
propios lenguajes de marcas. Hoy en día existen muchos lenguajes de marcas
basados en XML, incluyendo "Wireless Markup Language" (WML).
Estructura precisa: HTML sufre de una pobre estructura que hace difícil
procesar eficientemente documentos HTML. Por otro lado, los documentos
XML están bien estructurados, cada documento tiene un elemento raíz y todos
los demás elementos deben estar anidados dentro de otros elementos.
Capítulo 2. Marco Teórico
23
Hay dos tipos principales de documentos XML.
• Documentos válidos: un documento XML válido está definido por una
"Document Type Definition" (DTD), que es la gramática del documento
que define qué tipos de elementos, atributos y entidades podría haber en
el documento. El DTD define el orden y también la ocurrencia de
elementos.
• Documentos bien-formados: un documento XML bien formateado no
tiene que adherirse a una DTD, pero debe seguir dos reglas: 1) todo
elemento debe tener una etiqueta de apertura y otra de cierre, y 2) debe
haber un elemento raíz que contenga todos los otros elementos.
Extensión poderosa: Como se mencionó anteriormente, XML sólo se usa
para definir la sintaxis. En otras palabras, se usa para definir contenido. Para
definir la semántica, el estilo o la presentación, necesitamos usar "Extensible
Stylesheet Language" (XSL). Un documento podría tener múltiples hojas de
estilo que podrían ser usadas por diferentes usuarios.
El XML se ha convertido en el formato estándar de facto para la representación
de datos en Internet. Los datos XML se pueden procesar e interpretar en
cualquier plataforma. XML es un compañero perfecto para las aplicaciones
Java que necesitan datos portables.
2.5. Marcos de trabajo para aplicaciones Web
Los marcos de trabajo orientados a objetos son la piedra angular de la
moderna ingeniería del software, y están ganando rápidamente la aceptación
debido a su capacidad para promover la reutilización del código del diseño y el
código fuente. Los marcos de trabajo son los generadores de aplicaciónes que
se relacionan directamente con un dominio específico, es decir, con una
familia de problemas relacionados.
Capítulo 2. Marco Teórico
24
La capacidad de reutilización del código y del diseño de marcos de
trabajo orientados a objetos permite una productividad mayor y un tiempo de
entrega breve en el desarrollo de aplicaciones, en comparación con el
desarrollo tradicional de los sistemas de software.
Existen múltiples beneficios en el uso de marcos de trabajo, entre los que
se encuentran:
• Apego a estándares y políticas.
• Congruencia de la aplicación sobre múltiples plataformas.
• Proporciona un método para el rehusó de componentes.
• Producción de aplicaciones más robustas, rápidas, estables y
consistentes.
• Menor tiempo de programación.
• Permite extensiones para darle mayor funcionalidad.
A continuación se describen algunos marcos de trabajo para aplicaciones
Web basados en tecnologías java.
2.4.1. Cocoon
Apache Cocoon es un marco de trabajo basado en XML y tecnologías XSLT,
diseñado para obtener un mejor desempeño y escalabilidad en base a
procesamiento SAX. Cocoon ofrece un ambiente flexible basado en la
separación de contenidos, lógica y estilo. Cocoon interactúa con múltiples
fuentes de datos, incluyendo sistema de archivos, RDBMS, LDAP, bases de
datos nativas XML y orígenes de datos sobre redes de trabajo. Adapta los
contenidos de salida a las capacidades de diferentes dispositivos como HTML,
WML, PDF, SVG y RTF, entre otros [Garvey 2003].
Capítulo 2. Marco Teórico
25
2.4.2. JavaServer faces
La tecnología JavaServer Faces [Armstrong 2003] es un marco de trabajo de
interfaces de usuario (UI) del lado de servidor para aplicaciones Web basadas
en tecnología Java. Los principales componentes de la tecnología JavaServer
Faces son:
• Un API y una implementación de referencia para: representar
componentes UI y manejar su estado; manejar eventos, validar del lado
del servidor y convertir datos; definir la navegación entre páginas;
soportar internacionalización y accesibilidad; y proporcionar
extensibilidad para todas estas características. • Una biblioteca de etiquetas JavaServer Pages (JSP) personalizadas
para dibujar componentes UI dentro de una página JSP.
Este modelo de programación bien definido y la biblioteca de etiquetas para
componentes UI, facilitan de forma significativa la tarea de construcción y
mantenimiento de aplicaciones Web con UIs del lado del servidor.
Una de las grandes ventajas de la tecnología JavaServer Faces es que
ofrece una clara separación entre el comportamiento y la presentación. Las
aplicaciones Web construidas con tecnología JSP conseguían parcialmente
esta separación. Sin embargo, una aplicación JSP no puede mapear peticiones
HTTP al manejo de eventos específicos de los componentes o manejar
elementos UI como objetos con estado en el servidor. La tecnología
JavaServer Faces nos permite construir aplicaciones Web las cuales
implementan una separación entre el comportamiento y la presentación del
lado del cliente.
Otro objetivo importante de la tecnología JavaServer Faces es mejorar los
conceptos familiares de componente-UI y capa-Web sin limitarnos a una
tecnología de script particular o un lenguaje de marcas. Aunque la tecnología
JavaServer Faces incluye una biblioteca de etiquetas JSP personalizadas para
Capítulo 2. Marco Teórico
26
representar componentes en una página JSP, los APIs de la tecnología
JavaServer Faces se han creado directamente sobre el API JavaServlet. Esto
nos permite hacer algunas cosas: usar otra tecnología de presentación junto a
JSP, crear nuestros propios componentes personalizados directamente desde
las clases de componentes, y generar salida para diferentes dispositivos
cliente.
Pero lo más importante, la tecnología JavaServer Faces proporciona una
rica arquitectura para manejar el estado de los componentes, procesar los
datos, validar la entrada del usuario, y manejar eventos.
El ciclo de vida de una página JavaServer Faces es similar al de una página
JSP: El cliente hace una petición HTTP de la página, y el servidor responde
con la página traducida a HTML. Sin embargo, debido a las características
extras que ofrece la tecnología JavaServer Faces, el ciclo de vida proporciona
algunos servicios adicionales mediante la ejecución de algunos pasos extras.
Figura 2.6 Pasos del ciclo de vida petición-respuesta JavaServer Faces.
Capítulo 2. Marco Teórico
27
Los pasos que se ejecutan en el ciclo de vida dependen de si la petición se
originó o no desde una aplicación JavaServer Faces y si la respuesta es o no
generada con la fase de renderizado del ciclo de vida de JavaServer Faces. El
procesamiento de una solicitud se divide en 6 pasos principales, los cuales se
muestran en la Figura 2.6.
2.4.3. Struts
Es un marco de trabajo que implementa el patrón de la arquitectura MVC en
Java (Modelo 2). Simplifica notablemente la implementación de una
arquitectura según el patrón Modelo 2; separa muy bien lo que es la gestión del
flujo de trabajo de la aplicación, del modelo de objetos de negocio y de la
generación de interfaz.
Figura 2.7 Esquema del marco de trabajo Struts.
Capítulo 2. Marco Teórico
28
El controlador mostrado en la Figura 2.7 ya se encuentra implementado
por Struts, aunque de ser necesario se puede heredar y extender o modificar, y
el flujo de trabajo de la aplicación se puede programar desde un documento
XML. Las acciones que se ejecutarán sobre el modelo de objetos de negocio,
se implementan basándose en clases predefinidas por el marco de trabajo y
siguiendo el patrón Facade [Gamma 1995]. La generación de interfaz se
soporta mediante un conjunto de tags (etiquetas) predefinidas por Struts cuyo
objetivo es evitar el uso de Scriplets (los trozos de código Java entre "<%" y
"%>"), lo cual genera ventajas de mantenibilidad y de desempeño [Antoniucci
2004].
Logísticamente, Struts separa claramente el desarrollo de interfaz del
flujo de trabajo y la lógica de negocio, permitiendo desarrollar ambas en
paralelo o con personal especializado. También es evidente que potencializa el
rehúso, el soporte de múltiples interfaces de usuario (HTML, sHTM (Server
HTML), WML, Desktop Applications, etc.) y de múltiples idiomas, localismos,
etc.
29
Capítulo 3
Estado del arte
En este capítulo se presenta un resumen de algunos de los trabajos de
comercio electrónico relacionados con la presente tesis en los ámbitos
nacional y mundial.
Capítulo 3. Estado del arte
30
3.1. Trabajos Relacionados
A XML-Based Catalogs for B2B Electronic Commerce
B. Omelayenko, D. Fensel.
Division of Mathematics and Computer Science, Vrije Universiteit.
[Omelayenko, 2001]
Los mercados electrónicos orientados al comercio electrónico B2B reúnen una
gran cantidad proveedores y consumidores en línea. Para que éstos puedan
funcionar adecuadamente se requiere de la integración de múltiples catálogos
de productos, proporcionados por los participantes en el mercado electrónico.
Cada participante puede utilizar su propio formato para representar los
productos en su catálogo de productos. Si un mercado electrónico es un
intermediario entre n proveedores y m consumidores, entonces éste debe ser
capaz de relacionar cada uno de los n catálogos de los proveedores con los m
formatos de los consumidores, realizando n x m relaciones. Los valores de n y
m pueden ser suficientemente altos como para hacer que el problema de
creación y mantenimiento de las reglas de integración deje de ser trivial.
Los diferentes proveedores tienden a usar esquemas de representación
completamente diferentes, incluso para un concepto tan simple como lo es una
dirección. Afortunadamente la mayoría de éstos usan la sintaxis XML en su
codificación, pero las estructuras de las descripciones difieren grandemente y
un número de variantes han sido desarrolladas e implementadas.
Este trabajo de tesis se enfoca a los métodos para la aplicación de
tecnologías XSLT en el intercambio de documentos B2B en base a resultados
hechos en investigaciones previas.
Con la utilización de un catálogo intermedio, al cual se ha llamado
Catálogo Unificado, el mercado electrónico solamente tiene que realizar una
sola relación entre el catálogo de cada proveedor o consumidor y el Catálogo
Unificado y por lo tanto solamente requiere de n + m relaciones.
Capítulo 3. Estado del arte
31
Existen 2 estrategias opuestas para la selección de los elementos para la
inclusión en el Catálogo Unificado.
1. El Catálogo Unificado almacena la menor cantidad de atributos por cada
producto.
2. El Catálogo Unificado almacena la mayor cantidad de atributos por cada
producto.
B e-CoUSAL
F. García.
Departamento de Informática y Automática, Universidad de Salamanca.
[García 2002]
En este trabajo se presenta una propuesta de arquitectura de comercio
electrónico dirigida a las pequeñas y medianas empresas, que basan su
negocio en la venta por catálogos de productos.
También propone el desarrollo de una herramienta de software que
permite la definición, publicación y actualización de catálogos de productos,
junto con una arquitectura para un servidor Web para permitir a los clientes el
acceso a la herramienta de definición de catálogos.
La arquitectura de comercio electrónico ofrece una plataforma uniforme
que implementa los servicios comerciales principales para una estrategia de
desarrollo de comercio electrónico, reduciendo la cantidad de recursos
necesarios para la organización.
La arquitectura propuesta se centra en negocios basados en la venta por
catálogo de productos, aunque la arquitectura está definida de manera
genérica para permitir la implementación de distintas políticas del lado del
servidor.
Capítulo 3. Estado del arte
32
Los objetivos de dicho trabajo son:
1. Incrementar la flexibilidad en el ambiente de negocios, para permitir que
la organización adapte el modelo de negocio a sus necesidades.
2. Que la empresa pueda mantener su negocio electrónico de manera
autónoma y así eliminar las dependencias de entidades externas a la
organización.
C) Desarrollo de un Prototipo de Comercio Electrónico Incorporando Sistemas de Pago.
M. Bravo.
Centro Nacional de Investigación y Desarrollo Tecnológico
[Bravo 2003]
En este trabajo de tesis, se propuso el desarrollo e implementación de un
prototipo de comercio electrónico, de bajo costo, que incorpore sistemas de
pago por Internet, y que esté orientado a las pequeñas y medianas empresas
de México.
En general, dicho trabajo se realizó un análisis de los sistemas de pago
por Internet, con el objeto de determinar los requisitos establecidos por los
bancos para el manejo de transacciones en línea. Como resultado de este
análisis se desarrolló un nuevo prototipo, con el fin de demostrar la factibilidad
de implementación de un sistema de comercio electrónico orientado a las
pequeñas y medianas empresas que incorpore sistemas de pago en línea.
Centra su atención en los procedimientos para realizar transacciones en
línea con las diferentes instituciones bancarias, y para tal efecto se desarrolló
un prototipo para simular el proceso real de las transacciones.
Capítulo 3. Estado del arte
33
D) El comercio electrónico en la pequeña empresa mexicana
A. Pérez, J. Leyva.
Universidad de Sonora en Hermosillo
[Pérez 2004]
El presente trabajo de investigación consistió en un estudio de la situación
actual del empresario de la pequeña empresa en el noroeste de México ante
los negocios electrónicos y una evaluación de su nivel de capacitación para
ingresar a esta nueva forma de transacciones comerciales.
La metodología consistió en la aplicación de encuestas y entrevistas a
los responsables de las empresas en una de las ciudades más importantes del
Noroeste de México, que es la ciudad de Hermosillo en el estado de Sonora, en
el sector comercial. Para la aplicación de las encuestas se formaron grupos de
características comunes considerando el giro al que se dedican. A las
empresas encuestadas se les preguntó, entre otros aspectos, las actividades y
productos que manejan, el uso de correo electrónico en la empresa, compras
efectuadas por Internet, elementos de publicidad en la red, ventas realizadas
con apoyo de estos elementos, y seguridad en las compras por medios
electrónicos.
El estudio concluye que los empresarios en esta región, no cuentan con
la información suficiente para ingresar a Internet como una nueva forma de
proyectar su imagen. Se requieren además planes de capacitación para la
utilización de esta nueva forma de realizar negocios y de ofertar productos y/o
servicios.
Capítulo 3. Estado del arte
34
3.2. Tabla comparativa de trabajos relacionados
Tabla 3.1. Tabla comparativa de trabajos relacionados
TRABAJOS RELACIONADOS CARACTERÍSTICA A COMPARAR
ACTUAL A B C D
1 Se desarrolló un prototipo ✔ ✔ ✔ ✔
2 Herramienta de definición de catálogos ✔ ✔ ✔
3 Módulo Administrativo ✔
4 Multiplataforma ✔ ✔ ✔
5 Basado en Web ✔ ✔ ✔ ✔
6 Basado en XML ✔ ✔ ✔
7 Modulo de pagos en línea ✔ ✔
8 Configuración por medio de asistentes ✔
9 Estructura del catálogo variable ✔ ✔ ✔
10 Utiliza patrones de diseño, marcos de trabajo ✔
11 Manejo de conexiones seguras ✔ ✔
12 Categorías multinivel ✔ ✔
13 Soporta varios tipos de moneda ✔
14 Soporta varios idiomas ✔
35
Capítulo 4
Arquitectura y diseño del sistema
En este capítulo se presentan la arquitectura de los módulos del prototipo de
tesis así como los detalles de implementación del mismo.
Capítulo 4. Arquitectura y diseño del sistema
36
4.1. Esquema general de operación del sistema
Figura 4.1 Esquema general del sistema.
Cabe mencionar la existencia de diferentes tipos de usuarios del prototipo, los
cuales se muestran en la Figura 4.1. Por una parte están las PyMEs, las cuales
accederán al sistema para publicar la información de su empresa y productos
que comercializa, también están los usuarios de Internet, quienes podrán
consultar la información que esté disponible de las empresas que han
publicado su información dentro del prototipo; y finalmente están los
administradores, quienes tendrán la responsabilidad de configurar y mantener
la integridad del sistema.
4.2. Arquitectura detallada del sistema
4.2.1. Módulo de administración
Las funciones del módulo de administración incluyen: generación de sitios de
comercio electrónico, generación de reportes y estadísticas del estado de los
múltiples sitios de comercio electrónico, y algunos aspectos de seguridad de la
plaza virtual.
Capítulo 4. Arquitectura y diseño del sistema
37
El módulo de administración (Figura 4.2) está diseñado para ser operado
por el administrador del sistema, que tiene a su cargo la responsabilidad de
configurar y mantener la integridad del sistema.
Figura 4.2 Arquitectura del submódulo de creación de sitios de CE del módulo
de administración.
Para la creación de un sitio de comercio electrónico, el administrador del
sistema debe acceder al módulo de administración y usar el asistente para la
creación de sitios. Este toma como entrada los datos básicos de la empresa
que desea contar con su sitio, y como salida se obtiene un sitio de comercio
electrónico y los datos de autentificación para la empresa. Estos servirán para
posteriormente acceder al módulo de catálogos, y así poder diseñar y editar
sus páginas y su propio catálogo de productos.
4.2.2. Módulo de catálogos
La arquitectura del módulo de catálogos se divide en tres secciones principales:
edición, diseño y publicación.
La función del submódulo de edición, mostrada en la Figura 4.3 es la de
asistir al usuario (PyME) en la construcción del catálogo de productos de su
propio sitio de comercio electrónico; primeramente en la edición de la
Capítulo 4. Arquitectura y diseño del sistema
38
estructura del catálogo (campos que contiene el catálogo) y posteriormente en
el ingreso del contenido del propio catálogo.
Figura 4.3 Arquitectura del submódulo de edición del módulo de catálogos.
El submódulo de diseño se encarga de la apariencia de las páginas del
sitio de comercio electrónico. Permite especificar la apariencia deseada,
seleccionando alguna de las múltiples vistas disponibles (Plantillas de XSL) y
permite editar la información de la empresa que se exhibe en el sitio. Esta
sección se muestra en la Figura 4.4.
Figura 4.4 Arquitectura del submódulo de diseño del módulo de catálogos.
Capítulo 4. Arquitectura y diseño del sistema
39
El submódulo de publicación hace uso de APIs (Application Program
Interface) de Java, primero para extraer los datos que se van a presentar en el
catálogo del origen de datos y estructurarlos en un documento XML, y
posteriormente combinarlos con la plantilla (XSL) para construir una página que
se presentará al usuario final (en formato HTML). Esta sección se muestra en
la Figura 4.5.
Figura 4.5 Arquitectura del submódulo de publicación del módulo de catálogos.
4.3. Detalles en la implementación de los módulos del prototipo
4.3.1. Módulo de administración
Funciones
A) Creación de sitios de comercio electrónico
Para dar de alta un sitio de comercio electrónico (CE) dentro de la plaza,
primeramente el usuario (administrador) debe introducir los datos del nuevo
sitio a través de un formulario. Posteriormente el sistema realizará las
siguientes acciones: crear las tablas del sitio de CE y usuario del sitio dentro de
Capítulo 4. Arquitectura y diseño del sistema
40
la base de datos del sistema, copiar la carpeta de la aplicación base a la
carpeta webapps del contenedor Tomcat y finalmente hacer una petición a la
aplicación manager del Tomcat, para lo cual se forma la cadena de comando
en donde se le especifica la acción “install”, la ruta de la carpeta de la
aplicación y el nombre que deseamos para nuestra aplicación. Este proceso se
muestra en la Figura 4.6.
Figura 4.6 Creación de sitios de comercio electrónico
B) Consulta de los sitios de comercio dentro de la plaza
Para obtener la lista de las aplicaciones existentes dentro de la plaza,
primeramente se hace una petición a la aplicación manager del Tomcat, para lo
cual se forma la cadena de comando en donde se le especifica la acción “list”.
Posteriormente se procesa la respuesta y se extraen los nombres, los estados
y las conexiones activas de cada aplicación. Finalmente se pasa por un filtro la
lista de aplicaciones para dejar fuera las aplicaciones que pudieran existir en el
contenedor, pero que no están registradas en el sistema. Este proceso se
muestra en la Figura 4.7.
Además se pueden filtrar las aplicaciones dependiendo de su estado
STOPPED o RUNNING que nos indica si están o no en línea.
Capítulo 4. Arquitectura y diseño del sistema
41
Figura 4.7 Consulta de los sitios de comercio dentro de la plaza
C) Reiniciar o detener aplicaciones dentro de la plaza
Para reiniciar o detener algún sitio dentro de la plaza, se debe elegir la
aplicación que se desea reiniciar/detener, se forma la cadena de comando en
donde se le especifica la acción “reload/stop”, y se hace una petición a la
aplicación manager del Tomcat. Este proceso se muestra en la Figura 4.8.
Figura 4.8 Reiniciar o detener aplicaciones dentro de la plaza
Capítulo 4. Arquitectura y diseño del sistema
42
D) Iniciar una aplicación ya registrada dentro de la plaza
Para iniciar algún sitio dentro de la plaza se debe elegir la aplicación que se
desea iniciar, se forma la cadena de comando en donde se le especifica la
acción “start”, y se hace una petición a la aplicación manager del Tomcat. Este
proceso se muestra en la Figura 4.9.
Figura 4.9 Iniciar una aplicación ya registrada dentro de la plaza
E) Eliminar un sitio de comercio dentro de la plaza
Para eliminar algún sitio dentro de la plaza se debe de elegir la aplicación que
se desea eliminar, y se sigue el proceso inverso a la creación de un sitio:
primero se forma la cadena de comando en donde se le especifica la acción
“remove”, y se hace una petición a la aplicación manager del Tomcat; después
se eliminan las tablas y el usuario del sitio y se elimina la carpeta de la
aplicación. Este proceso se muestra en la Figura 4.10.
Figura 4.10 Eliminar un sitio de comercio dentro de la plaza.
Capítulo 4. Arquitectura y diseño del sistema
43
4.3.2. Módulo de catálogos
Funciones
A) Agregar un nuevo producto al catálogo
Este es un proceso sencillo en donde se capturan los datos del producto y la
imagen a través de formularios, y posteriormente se almacenan en las tablas
de la aplicación (Figura 4.11).
Figura 4.11 Agregar un nuevo producto al catálogo.
B) Modificar o eliminar un producto del catálogo
Figura 4.12 Modificar o eliminar un producto del catálogo.
Capítulo 4. Arquitectura y diseño del sistema
44
Primeramente se extraen los productos de la base de datos y se presentan
para que se elija el que se desea modificar/eliminar. Para modificar el producto
se presentan los datos y la imagen para que sean introducidos los nuevos
datos y se almacenan en la base de datos. Para eliminar, simplemente se
borran de la base de datos (Figura 4.12).
4.3.4. Módulo de diseño
Funciones A) Personalizar la apariencia del sitio de comercio electrónico
Para personalizar la apariencia de un sitio de comercio, se debe de modificar el
archivo de configuración config-site.xml, para lo cual se sigue un sencillo
proceso basado en formularios. Primeramente se extraen los datos del archivo
de configuración (deserialización) con ayuda de la API JOX, la cual nos permite
pasar los valores del documento XML a un objeto JavaBean, posteriormente se
capturan los nuevos datos, logotipo y apariencia del sitio (plantilla XSL) y
finalmente se almacenan los datos en el documento XML (serialización) con
ayuda de la API JOX y un DTD del documento XML. Este proceso se muestra
en la Figura 4.13.
Figura 4.13 Personalizar la apariencia del sitio de comercio electrónico.
Capítulo 4. Arquitectura y diseño del sistema
45
En la Figura 4.14 se muestra un ejemplo de cómo se llevaría a cabo la
serialización de un objeto JavaBean a un documento XML. El único requisito es
que exista una correspondencia entre los métodos get y set de los atributos del
objeto con las etiquetas dentro del documento XML.
Figura 4.14 Proceso de serialización.
4.3.5 Sitio de comercio electrónico
Características
El desarrollo de un sitio de comercio electrónico no estaba contemplado en el
plan de trabajo, pero debió realizarse este desarrollo debido a que los
prototipos anteriores tienen un grado de acoplamiento muy grande, lo cual hace
imposible la reutilización de dicho código.
Figura 4.15 Esquema del sitio de comercio electrónico.
Capítulo 4. Arquitectura y diseño del sistema
46
Por lo tanto se decidió desarrollar nuevamente este módulo, haciendo
una reestructura en base al Modelo 2 sobre el marco de trabajo Struts.
Este módulo tiene las funciones básicas de todo sitio de comercio
electrónico: un catálogo de productos, un carrito de compras, módulo de
autenticación y registro de clientes, módulo de pagos, etc. (Figura 4.15)
Cabe aclarar que el módulo de pagos no lleva a cabo el cobro del
importe de las ventas, debido a que no es el propósito de la tesis el
implementar dicha función.
El sitio de comercio electrónico se diseñó para implementar el modelo
2X, con el fin de lograr una separación entre los datos y el diseño (diseño
gráfico del sitio, imágenes, colores) y permitir que el diseño se adecue a las
preferencias de la empresa a la que pertenece el sitio de comercio.
Figura 4.16 Extensión del marco de trabajo Struts.
Capítulo 4. Arquitectura y diseño del sistema
47
Debido a que el marco de trabajo Struts no soporta el modelo 2X, se
desarrollo una extensión o adaptación para permitir la implantación de dicho
modelo sobre Struts. En la Figura 4.16 se muestra un esquema de la extensión
para soporte al modelo 2X.
48
Capítulo 5
Plan de pruebas
En este capítulo se describen los casos de prueba para el prototipo. En cada
caso se especifica su objetivo, el procedimiento a seguir y los resultados de
dicho procedimiento.
Capítulo 5. Plan de pruebas
49
5.1. Consideraciones generales de los casos de prueba
Figura 5.1 Contexto de la aplicación de comercio electrónico dentro del servidor
Web.
Los casos de prueba del prototipo se llevaron a cabo usando el servidor de
aplicaciones Apache Tomcat 4.0.4 y el sistema manejador de bases de datos
MySQL sobre una plataforma Windows (Figura 5.1).
Para que el sistema de la plaza virtual funcione apropiadamente se requiere
que las carpetas de las aplicaciones sean dispuestas dentro del servidor de
aplicaciones tal y como se muestra en la Figura 5.1 y de la configuración de
ciertos parámetros en tres archivos de configuración:
1. En el archivo “config-site.properties” se especifica el directorio donde se
encuentra la carpeta de la aplicación de la plaza virtual y la carpeta de la
aplicación del sitio de comercio electrónico.
Capítulo 5. Plan de pruebas
50
2. En el archivo “config-tomcat.properties” se define la IP y el puerto
designado para peticiones HTTP del servidor de aplicaciones, así como
el usuario y contraseña de la aplicación MANAGER del Apache Tomcat
(este usuario y contraseña se especifican en el archivo conf/tomcat-
users.xml Apache Tomcat).
3. Finalmente en el archivo “struts-config.xml” se especifican los
parámetros para la conexión a la base de datos así como el número de
conexiones activas que se manejarán en el pool de conexiones.
5.2. Casos de prueba
A continuación se describen los casos de prueba para cada uno de los
módulos y submódulos del prototipo. Dichos casos de prueba se dividen en tres
secciones: casos de prueba para el módulo de administración, casos de prueba
para el módulo de catálogos y casos de prueba para el sitio de comercio
electrónico. Para cada caso se especifica su objetivo, el procedimiento a seguir
y los resultados de dicho procedimiento.
5.2.1. Casos de prueba para el módulo de administración 5.2.1.1. Caso 1: Creación de un nuevo sitio de comercio electrónico
Objetivo: Dar de alta un nuevo sitio de comercio electrónico dentro de la plaza
virtual.
Procedimiento:
1. Seleccionar la opción “Crear nuevo sitio” dentro del menú del
administrador (Figura 5.2).
Capítulo 5. Plan de pruebas
51
Figura 5.2. Menú del administrador.
2. Llenar el formulario que se presenta con los datos de la empresa que
solicita el sitio, y presionar en el botón Siguiente (Figura 5.3).
Figura 5.3. Formulario para alta de sitio de comercio electrónico.
Capítulo 5. Plan de pruebas
52
3. Presionar el botón Finalizar para confirmar que los datos son correctos e
iniciar el proceso de creación del sitio de comercio electrónico (Figura
5.4).
Figura 5.4. Confirmación de datos de sitio de comercio electrónico.
Resultados: Al finalizar este proceso se presenta una pantalla donde se
confirma que se ha creado el sitio de comercio electrónico y que se encuentra
en funcionamiento (Figura 5.5).
Figura 5.5. Confirmación de alta de sitio de comercio electrónico.
Capítulo 5. Plan de pruebas
53
En caso de que ocurra algún incidente durante el proceso, se presentará uno
de los siguientes mensajes de error:
• El nombre del sitio ya ha sido registrado anteriormente.
• El nombre de usuario ya ha sido registrado anteriormente.
• La confirmación de la contraseña del usuario es incorrecta.
• Error al generar el sitio de comercio electrónico.
• Error al montar el sitio de comercio electrónico en el contenedor Web.
5.2.1.2. Caso 2: Consultar el estado de los sitios de comercio electrónico
existentes en la plaza virtual
Objetivo: Obtener la lista de todos los sitios de comercio electrónico registrados
en la plaza, conocer el estado actual (activo o inactivo) y cuántos usuarios
visitan cada sitio en ese instante.
Procedimiento:
1. Seleccionar la opción “Consultar sitios” dentro del menú del
administrador.
Resultados: Como resultado se nos presenta una tabla con la lista de todos los
sitios de comercio electrónico registrados en la plaza, su estado actual (activo ó
inactivo) y el número de usuarios que visitan cada uno de estos (Figura 5.6).
Figura 5.6. Resultados de la consulta del estado de los sitios existentes en la
plaza de comercio electrónico.
Capítulo 5. Plan de pruebas
54
5.2.1.3. Caso 3: Detener temporalmente el funcionamiento de un sitio de comercio electrónico de la plaza
Objetivo: Desactivar momentáneamente un sitio de comercio electrónico de la
plaza, ya sea por cuestión de mantenimiento o por solicitud de la empresa que
contrató dicho sitio.
Procedimiento:
1. Seleccionar la opción “Detener sitio” dentro del menú del administrador.
2. Elegir el nombre del sitio de comercio electrónico a detener dentro de la
lista desplegable (Figura 5.7) que se presenta, y presionar el botón
Siguiente.
Figura 5.7. Elegir la aplicación de comercio electrónico a detener.
3. Presionar el botón Finalizar para confirmar que se desea detener el sitio
de comercio electrónico elegido (Figura 5.8).
Figura 5.8. Confirmar detener la aplicación de comercio electrónico.
Resultados: Al finalizar este proceso se presentará una pantalla donde se nos
confirma que el sitio de comercio electrónico ha sido desactivado, o en caso de
que ocurra algún incidente, se informará que este proceso no concluyó
satisfactoriamente (Figura 5.9).
Capítulo 5. Plan de pruebas
55
Figura 5.9. Confirmación de que la aplicación de comercio electrónico se
detuvo.
5.2.1.4. Caso 4: Reiniciar un sitio de comercio electrónico de la plaza virtual
Objetivo: Inicializar el sitio de comercio electrónico de la plaza, ya sea por
cambios mayores en el sitio o por solicitud de la empresa que contrató dicho
sitio.
Procedimiento:
1. Seleccionar la opción “Reiniciar sitio” dentro del menú del administrador.
2. Elegir el nombre del sitio de comercio electrónico a reiniciar dentro de la
lista desplegable que se presenta, y presionar el botón Siguiente.
3. Presionar el botón Finalizar para confirmar que se desea reiniciar el sitio
de comercio electrónico elegido (Figura 5.10).
Figura 5.10. Confirmar reiniciar la aplicación de comercio electrónico.
Resultados: Al finalizar este proceso se presenta una pantalla donde se
confirma que el sitio de comercio electrónico ha sido reiniciado, o en caso de
que ocurra algún incidente, se informará que este proceso no concluyó
satisfactoriamente (Figura 5.11).
Capítulo 5. Plan de pruebas
56
Figura 5.11. Confirmación de que la aplicación de comercio electrónico se
reinició.
5.2.1.5. Caso 5: Iniciar un sitio de comercio electrónico de la plaza virtual
Objetivo: Poner en funcionamiento un sitio de comercio electrónico de la plaza,
el cual había sido desactivado anteriormente.
Procedimiento:
1. Seleccionar la opción “Iniciar sitio” dentro del menú del administrador.
2. Elegir el nombre del sitio de comercio electrónico a iniciar dentro de la
lista desplegable que se presenta, y presionar el botón Siguiente.
3. Presionar el botón Finalizar para confirmar que se desea poner en
funcionamiento el sitio de comercio electrónico elegido (Figura 5.12).
Figura 5.12. Confirmar iniciar la aplicación de comercio electrónico.
Resultados: Al finalizar este proceso se presenta una pantalla donde se
confirma que el sitio de comercio electrónico se encuentra en funcionamiento, o
en caso de que ocurra algún incidente, se informará que este proceso no
concluyó satisfactoriamente (Figura 5.13).
Capítulo 5. Plan de pruebas
57
Figura 5.13. Confirmación de que la aplicación de comercio electrónico se
inició.
5.2.1.6. Caso 6: Eliminar un sitio de comercio electrónico de la plaza virtual
Objetivo: Remover un sitio de comercio electrónico de la plaza virtual.
Procedimiento:
1. Seleccionar la opción “Eliminar sitio” dentro del menú del administrador.
2. Elegir el nombre del sitio de comercio electrónico a eliminar dentro de la
lista desplegable que se presenta, y presionar el botón Siguiente.
3. Presionar el botón Finalizar para confirmar que se desea eliminar el sitio
de comercio electrónico elegido (Figura 5.14).
Figura 5.14. Confirmar eliminar la aplicación de comercio electrónico.
Resultados: Al finalizar este proceso se presenta una pantalla donde se
confirma que el sitio de comercio electrónico ha sido eliminado de la plaza
virtual (Figura 5.15), en caso de que ocurra algún incidente durante el proceso,
se presentará uno de los siguientes mensajes de error:
Capítulo 5. Plan de pruebas
58
Figura 5.15. Confirmación de que la aplicación de comercio electrónico se
eliminó.
• Error al detener el sitio de comercio electrónico.
• Error al eliminar las tablas de la base de datos.
• Error al eliminar la carpeta de la aplicación del contenedor Web.
5.2.2. Casos de prueba para el módulo de catálogos
5.2.2.1. Caso 7: Agregar un producto al catálogo de productos
Objetivo: Añadir un nuevo producto al catálogo de productos.
Procedimiento:
1. Elegir la opción “Agregar producto” dentro del menú de usuario (Figura
5.16).
Figura 5.16. Menú de la empresa.
Capítulo 5. Plan de pruebas
59
2. Llenar el formulario que se presenta con los datos del producto (nombre,
descripción, precio, etc.), y presionar el botón Siguiente (Figura 5.17).
Figura 5.17. Formulario de captura de datos de nuevo producto.
3. Seleccionar la fotografía o imagen del producto y presionar el botón
Siguiente, en caso de que no se desee mostrar una imagen, solamente
presionar el botón Omitir (Figura 5.18).
Figura 5.18. Elegir imagen nuevo producto.
Capítulo 5. Plan de pruebas
60
4. Elegir la categoría en la que se agrupará el producto o especificar el
nombre de una nueva categoría, y presionar el botón siguiente (Figura
5.19).
Figura 5.19 Elegir categoría nuevo producto.
5. Presionar el botón Finalizar, para confirmar y almacenar los datos
(Figura 5.20).
Figura 5.20. Confirmar datos nuevo producto.
Capítulo 5. Plan de pruebas
61
Resultados: Como resultado de este procedimiento, los datos del producto son
almacenados en la base de datos, para posteriormente ser publicados en el
catálogo de productos.
5.2.2.2. Caso 8: Eliminar un producto del catálogo de productos
Objetivo: Remover un producto del catálogo de productos.
Procedimiento:
1. Elegir la opción “Eliminar producto” dentro del menú de usuario.
2. Elegir la categoría a la que pertenece el producto que se desea eliminar.
3. Elegir el producto que se desea eliminar.
4. Presionar el botón Finalizar para confirmar la eliminación del producto.
Resultados: Al finalizar este proceso se presenta una pantalla donde se
confirma que el producto ha sido removido del catálogo de productos (Figura
5.21).
Figura 5.21. Confirmación eliminar producto del catálogo.
5.2.2.3. Caso 9: Modificar los datos de un producto del catálogo de productos
Objetivo: Cambiar uno o varios datos de un producto que se encuentra
publicado en el catálogo.
Procedimiento:
Capítulo 5. Plan de pruebas
62
1. Elegir la opción “Modificar producto” dentro del menú de usuario.
2. Elegir la categoría a la que pertenece el producto que se desea
modificar.
3. Elegir el producto que se desea modificar (Figura 5.22).
Figura 5.22. Elegir el producto a modificar.
4. Llenar el formulario que se presenta con los nuevos datos del producto
y presionar el botón Siguiente.
5. Elegir la nueva imagen del producto u omitir este paso para conservar la
imagen actual, y presionar el botón Siguiente.
6. Elegir la nueva categoría en la que se agrupará el producto.
7. Presionar el botón Finalizar, para confirmar los datos y almacenar los
cambios.
Resultados: Al término de este proceso se presenta una pantalla donde se
informa si el proceso se llevó a cabo satisfactoriamente (Figura 5.23); en caso
de que ocurra algún incidente durante el proceso, se presentará el mensaje de
error apropiado.
Figura 5.23. Confirmación modificación de producto.
Capítulo 5. Plan de pruebas
63
5.2.2.4. Caso 10: Consultar los productos registrados en el catálogo de productos
Objetivo: Consultar la lista de todos los productos existentes en el catálogo de
productos.
Procedimiento:
1. Elegir la opción “Consultar productos” dentro del menú de usuario.
Resultados: Como resultado se obtiene la lista de todos los productos
registrados en el catálogo de productos (Figura 5.24).
Figura 5.24. Lista de productos en el catálogo.
5.2.2.5. Caso 11: Elegir diseño (apariencia) del sitio y especificar los datos particulares de la empresa que publica dicho sitio
Objetivo: Personalizar el sitio de comercio electrónico para que se adapte lo
más posible a la identidad de la empresa que publica dicho sitio.
Procedimiento:
Capítulo 5. Plan de pruebas
64
1. Elegir la opción “Elegir diseño” dentro del menú de usuario.
2. Elegir la plantilla deseada de entre las opciones disponibles, y presionar
el botón Siguiente.
3. Llenar el formulario que se presenta con los datos que se desea que se
publiquen en el sitio de comercio electrónico (nombre de la empresa,
slogan, datos de localización, etc.), y presionar el botón Siguiente
(Figura 5.25).
Figura 5.25. Datos de la empresa que publica el sitio de comercio electrónico.
4. Especificar la ruta donde se encuentra la imagen que representa el
logotipo de la empresa y presionar el botón Siguiente (Figura 5.26).
Figura 5.26. Logotipo de la empresa que publica el sitio de comercio
electrónico.
Capítulo 5. Plan de pruebas
65
5. Presionar el botón Finalizar, para confirmar y almacenar los datos
introducidos (Figura 5.27).
Figura 5.27. Datos, logotipo y plantilla de diseño de la empresa que publica el
sitio de comercio electrónico.
Resultados: Los datos personalizados para el sitio de comercio electrónico son
almacenados en el archivo config-site.xml (estos datos son usados para
generar las páginas del sitio de comercio electrónico en tiempo de ejecución).
5.2.2.6. Caso 12: Modificar los datos particulares de la empresa que
publica el sitio de comercio electrónico
Capítulo 5. Plan de pruebas
66
Procedimiento:
1. Elegir la opción “Cambiar datos del sitio” dentro del menú de usuario.
2. Llenar el formulario que se presenta con los nuevos datos que se desea
que se publiquen en el sitio de comercio electrónico y presionar el botón
Siguiente.
3. Especificar la ruta donde se encuentra la imagen que representa el
logotipo de la empresa, y presionar el botón Siguiente u omitir este paso
si es que se desea continuar usando la imagen proporcionada
anteriormente.
4. Presionar el botón Finalizar, para confirmar y almacenar los datos
introducidos.
Resultados: Los datos personalizados para el sitio de comercio electrónico son
almacenados en el archivo config-site.xml (estos datos son usados para
generar las páginas del sitio de comercio electrónico en tiempo de ejecución).
5.2.2.7. Caso 13: Modificar el diseño del sitio de comercio electrónico
Objetivo: Cambiar la apariencia del sitio de comercio electrónico de la empresa
propietaria del mismo.
Procedimiento:
1. Elegir la opción “Cambiar Plantilla” dentro del menú de usuario.
2. Elegir la plantilla deseada de entre las opciones disponibles y presionar
el botón siguiente.
3. Presionar el botón Finalizar, para confirmar y almacenar los datos.
Resultados: Los datos personalizados para el sitio de comercio electrónico son
almacenados en el archivo config-site.xml (estos datos son usados para
generar las páginas del sitio de comercio electrónico en tiempo de ejecución).
Capítulo 5. Plan de pruebas
67
5.2.3. Casos de Prueba para el sitio de comercio electrónico
5.2.3.1. Caso 14: Proceso de compra en el sitio de comercio electrónico
Objetivo: Realizar una compra dentro de algún sitio de comercio electrónico de
la plaza virtual.
Procedimiento:
1. Entrar al catálogo de productos de alguno de los sitios de comercio
electrónico de la plaza virtual.
2. Seleccionar alguna de las categorías de productos dentro del menú de
categorías.
3. Seleccionar el producto de la lista que se presenta para ver su
descripción.
4. Presionar el botón “Agregar al carrito” para añadir dicho producto al
carrito de compras.
5. Dentro del carrito de compras es posible aumentar o disminuir la
cantidad de productos de un tipo, especificando la cantidad deseada en
el cuadro de texto “Cantidad” y presionando el botón Actualizar. También
es posible suprimir un producto del carrito presionando el botón Eliminar
contiguo al producto.
6. El proceso se puede repetir nuevamente del paso 1 al 5 las veces que
sea necesario.
7. Cuando se presiona el botón “Finalizar compra” se solicita la
autenticación del usuario, en caso de no contar con los datos para la
autenticación, se procede al registro como nuevo usuario.
8. Se pide la confirmación de los datos de la compra (carrito de compras).
9. Se pide la confirmación de los datos de envío.
10. Se pide la confirmación de los datos de facturación.
11. Se solicita la elección del tipo de pago (depósito referenciado o tarjeta
de crédito). Si se elige la opción “deposito referenciado”, se continúa en
el siguiente paso, si se eligió la opción “tarjeta de crédito”, se solicita que
Capítulo 5. Plan de pruebas
68
se especifique el tipo de tarjeta (Visa/Mastercard o American Express)
así como el número de tarjeta y el código de seguridad.
12. El pedido es almacenado y se envía un e-mail de confirmación.
13. Se muestra una pantalla de confirmación, donde se notifica que el
pedido ha sido registrado y el pedido se encuentra en proceso de
entrega.
Resultados:
Por parte del sitio de comercio electrónico se registra el pedido en la base de
datos; y si el pago fue realizado con tarjeta de crédito, se realiza el cargo a la
cuenta proporcionada.
Por parte del cliente, se obtiene una pantalla de confirmación que sirve como
comprobante de la compra y un e-mail con los detalles de la transacción
realizada.
69
Capítulo 6
Conclusiones
En este capítulo se presentan las conclusiones y aportaciones del presente
trabajo de tesis. Además se sugieren trabajos futuros, los cuales pueden ser
desarrollados a partir de los resultados obtenidos en este proyecto.
Capítulo 6. Conclusiones
70
6.1. Conclusiones generales
En base a los resultados obtenidos en el desarrollo del presente proyecto de
tesis se concluye lo siguiente.
• Se cumplieron los objetivos de la tesis de desarrollar un sistema que
representa una plaza virtual de comercio electrónico y un modulo de
definición y administración de catálogos de productos para un sitio de
comercio electrónico. Adicionalmente se desarrollo un módulo de diseño,
el cual permite adaptar la vista (presentación gráfica) del sitio a la
identidad de la empresa que publica dicho sitio en la plaza virtual.
• Se logró la asimilación y se pusieron en práctica técnicas avanzadas
para el desarrollo de aplicaciones Web orientadas a marcos de trabajo
(Struts, Cocoon, Java Server Faces) y patrones de diseño (MVC, Modelo
1, Modelo 2, Modelo 2X).
• La principal aportación de este proyecto de tesis está dirigida a la línea
de investigación sobre la que estuvo trabajando. En general se hereda
una plataforma de comercio electrónico robusta basada en marcos de
trabajo y patrones de diseño. De esta manera se potencializa la
extensibilidad y el rehúso de los componentes de software de la
plataforma.
6.2. Trabajos futuros
Durante la realización del presente trabajo de tesis surgieron varias propuestas
de trabajos futuros como respuesta a necesidades inherentes a este tipo de
proyecto y algunas otras en base a los resultados obtenidos en este proyecto.
Se considera de gran importancia el desarrollo de estos trabajos a fin de
abarcar todas las posibles necesidades de un sistema de comercio electrónico
Capítulo 6. Conclusiones
71
de este tipo. A continuación se describen los módulos de software que
constituyen dichos trabajos futuros.
Módulo de seguimiento de envíos, el cual permita a los clientes
potenciales de la plaza virtual de comercio electrónico obtener
información detallada y en tiempo real del estado de su pedido.
Módulo de facturación, el cual permita la impresión de facturas de las
compras realizadas por los clientes en los sitios de comercio electrónico
de la plaza. La impresión de dichas facturas debe adaptarse a los
formatos preestablecidos por cada empresa propietaria de un sitio en la
plaza, o bien trabajar con el esquema de facturación electrónica.
Módulo cotizador de envíos. Debido a que en la plaza virtual existen
múltiples sitios de comercio electrónico, los cuales pueden poseer
distintos domicilios, la cotización de un envío se debe realizar en base a
múltiples parámetros (domicilio del cliente y de la empresa vendedora,
peso y medidas del paquete, etc.).
Módulo de estadísticas y bitácoras, el cual genere informes del acceso y
movimientos en los sitios de la plaza virtual.
Módulo generador de la vista, el cual genere en tiempo de ejecución la
salida (páginas) que se presentan a los clientes que navegan en los
sitios de la plaza virtual, y además adapte esta salida al formato mas
adecuado para el agente de usuario.
Módulo de comercialización, el cual administre de manera centralizada
todos los pagos de cada sitio de la plaza virtual y posteriormente abone
los montos de las ventas a los propietarios de cada sitio.
Capítulo 6. Conclusiones
72
6.3. Publicaciones
Del trabajo realizado en la presente tesis se publicaron varios artículos en
foros nacionales e internacionales.
Desarrollo de un Prototipo de Comercio Electrónico Incorporando Sistemas de Pago, en la 14ª reunión de otoño de comunicaciones,
computación y electrónica (IEEE ROC&C’2003), en Acapulco, Guerrero,
3003.
Arquitectura de un Sistema de Comercio Electrónico para Pequeñas y Medianas Empresas de México, en el Primer Taller
Internacional de Comercio Electrónico, en La Habana, Cuba, 2003.
Intermediario Facilitador del Comercio Electrónico para PyMEs Basado en Web, 1er Congreso de Sistemas y Computación del Instituto
Tecnológico de Zihuatanejo, en Zihuatanejo, Guerrero, 2004.
73
Referencias
[Amstrong 2003] E. Armstrong, J. Ball, S. Bodoff, D. Bode, M. Fisher, S. Fordin,
D. Green, K. Haase, E. Jendrock, “The Java Web Services Tutorial“
http://java.sun.com/webservices /docs/1.2/tutorial/doc/index.html, 2003.
[Antoniucci 2004] J. Antoniucci. “Manual Básico de Struts”. Madrid España,
http://programacion.com/java/tutorial/joa_struts/, 2004.
[Baeza 2002] C. Baeza, “Arquitectura de un Sistema de Comercio Electrónico
para pequeñas y Medianas Empresas”, tesis de maestría. CENIDET, 2002.
[Bravo 2003] M. Bravo, “Desarrollo de un Prototipo de Comercio Electrónico
Incorporando Sistemas de Pago”, tesis de maestría, CENIDET, 2003.
[AMECE 2005] Asociación Mexicana de Comercio Electrónico, “Catálogo
Electrónico de Productos AMECE", http://www.amece.org.mx/catalogalo/
index.php, 2005.
[Gamma 1995] E. Gamma, R. Helm, R. Johnson y J. Vlissides, “Design
Patterns: Elements of Reusable Object-Oriented Software”, 1995.
[García 2002] F. García, “e-CoUSAL: Una Arquitectura para Pequeñas y
Medianas empresas”, Departamento de Informática y Automática, Facultad
de Ciencias, Universidad de Salamanca, 2002.
[Garvey 2003] P. Garvey, M. Gratacos, J. Jairo, C. Smith, “The Berkeley XML
Application Infrastructure”, School of Information Management and Systems,
University of California, Berkeley http://groups.sims.berkeley.edu/CDE/
report/go-five-final-report.html, 2003.
74
[IAE 2005] Instituto de Apoyo Empresarial, “Tienda On-Line”, Madrid España,
http://www.iaedirecto.net/iframe.php?file=secciones/servicios/internet/tienda.
htm, 2005.
[Ministerio 1999] Ministerio de Ciencia y Tecnología, “Estudio de la Situación
del Comercio Electrónico en España”, Madrid España,
http://www.sgc.mfom.es/sat/ce/sec2/ par212.html, 1999.
[Omelayenko, 2001] B. Omelayenko, D. Fensel, “XML-Based Catalogs for B2B
Electronic Commerce”, Division of Mathematics and Computer Science, Vrije
Universiteit., Holanda, 2001.
[Orbeon 2004] Orbeon, Inc. “Model 2X Introduction”, http://www.orbeon.com/
oxf/doc/model2x-intro, Mountain View, California E.U., 2004.
[PADSOFT 2005] Programación, Análisis y Desarrollo para Empresas,
“Beneficios del Comercio Electrónico”, http://www.padsoft.net/internet/
comercio-electronico/beneficios.asp, 2005.
[Pérez 2004] A. Pérez, J. Leyva, “El Comercio Electrónico en la Pequeña
Empresa Mexicana”, Universidad de Sonora en Hermosillo, 2004.
[Seshadri 2004] G. Seshadri, “Understanding JavaServer Pages Model 2
architecture”, Java World, http://www.javaworld.com/javaworld/jw-12-1999/
jw-12-ssj-jspmvc.html. California, E.U, 2004.
[Kofman 2003] V Kofman, “Applying MVC to Web-Based Applications with
Generic Views”, http://www.developer.com/java/web/article.php/
10935_3115111_2, 2003.
[ZOPE 2005] Zope Community, “The Zope Book (2.6 Edition)”, www.zope.org,
2005.
Recommended