2.- Identifica los elementos arquitectónicos-modulares del caso con base en el patrón Proxy de
los sistemas adaptables.
3.-Representa los objetos (locales o remotos) y los elementos proxy que se pueden agregar en
base al caso:
a. Remoto
b. Virtual
c. Protección
b. Virtual
c. Protección
Incubeit
En esta compañía se utiliza una metodología de cascada, no se utiliza
ni se conoce nada sobre DAS
Asesoftware
Se utiliza la metodología RUP, no se utiliza ni se conoce nada sobre DAS
Bisa Corporation
Se utiliza UML, bajo un estándar propio de la compañía, no se utiliza
ni se conoce nada sobre DAS
DataSixx
Se utiliza una metodología propia basada en SAP Blueprint no se
utiliza ni se conoce nada sobre DAS
Heinsohn
Se utiliza UML, bajo un estándar propio de la compañía, no se utiliza
ni se conoce nada sobre DAS
EDS
Se utiliza RUP y se están realizando investigaciones para la
utilización de XP (Programación extrema), no se utiliza DAS
Alpha GL
Se utiliza UML, bajo un estándar propio, no se utiliza ni se conoce nada sobre DAS
Sybase
No se conoce nada sobre DAS, en cuanto a la metodología utilizada
la información no fue suministrada
TinySoft
No se conoce nada sobre DAS, en cuanto a la metodología utilizada la
información no fue suministrada
1 Ciclo
37
o Quinta iteración 16/10/2004
Se corrigieron algunas actividades y componentes de los ciclos de
análisis, diseño e implementación.
2 Ciclo
3 Ciclo
39
o Undécima iteración 28/03/2005
De acuerdo a la recomendación del comité de investigación se cambió
el término e-business por e-commerce.
4 Ciclo
5 Ciclo
40
o Tercera iteración 10/12/2004
Se corrigieron errores en la transaccionalidad de los CMP
o Cuarta iteración 15/12/2004
Se agregaron métodos a la clase Business Delegate
o Quinta iteración 07/01/2005
Se integraron todos los componentes del Framework y la lógica del negocio
o Sexta iteración 31/01/2005
Se realizaron ajustes de acuerdo a las pruebas realizadas.
6 Ciclo
Para finalizar el documento se definió un cronograma tentativo para cada una de las
actividades.
42
ANALISIS
Primero se empezó con el ciclo de análisis de la aplicación, este ciclo nos plantea
las siguientes actividades:
Definir el dominio del Framework: Esta actividad es muy importante, ya
que aquí se definió el alcance a nivel funcional que tendrá nuestro
Framework, además este factor es de vital importancia para el éxito del
desarrollo ya que es imposible intentar cubrir todos los requerimientos de
todas las aplicaciones en todos los dominios28.
Análisis de Requerimientos: Después de observar varias tiendas de
comercio electrónico, en Latinoamérica y en el mundo (DeRemate.com,
ebay, exitovirtual.com, TowerRecords, Amazon) se sacó una lista
preliminar de requerimientos de acuerdo a la funcionalidad y
transaccionalidad que manejan en común estas tiendas. Esta lista se fue
refinando, a medida que avanzaba el proyecto.
43
Después de esto se identificaron los actores del sistema, estos
fueron el administrador y el cliente.
44
Para una información mas detallada acerca del análisis del Framework (Ver Anexo
B Análisis Framework).
Con esto se finalizo el segundo ciclo, del desarrollo del Framework, este ciclo fue
revisado y corregido a medida que se fueron implementando los otros ciclos.
DISEÑO
Las actividades que se llevaron a cabo en este ciclo son las siguientes:
Definición Modelo de Datos: De acuerdo a los requerimientos definidos
en el ciclo de análisis se diseño un modelo de datos para la aplicación, en
este se especificaron las entidades y sus correspondientes relaciones.
El modelo de datos puede verse a continuación.
45
Arquitectura del Framework: Para este desarrollo utilizaremos
una arquitectura J2EE, se escogió este tipo debido a que es
una de las arquitecturas mas utilizadas para el desarrollo de
aplicaciones empresariales de e-commerce.
46
En este diagrama tenemos que nuestro cliente accedería al sistema por
medio de el Business Delegate para obtener la lógica del negocio del
sistema, esto puede ser mediante interfaces graficas, JSP dependiendo
de las necesidades del cliente, es decir nos da acceso a los servicios del
negocio, este a su vez hace una petición al ServiceLocator el cual es el
encargado de ubicar los servicios, este realiza la conexión con la tienda
(SessionEJB), Tienda es de tipo Stateless y Carro de compras StateFul,
debido a que necesitamos que este guarde su estado dependiendo de
la sesión (cliente), es decir necesitamos que los productos que estén
en el carro de algún cliente se mantengan si se presenta algún problema
en la sesión (error de conexión), estos productos se eliminarán una vez
el cliente haya terminado su sesión. A su vez el Session Tienda se
comunica con un Session Cliente y un Session administrador
dependiendo la clase de usuario, estos dos Session a su vez se
comunican y administran los Entities Cliente, Administrador, Tarjeta,
Orden de compra y ProductoFisico, encargados de la comunicación con
la Base de Datos. El producto depende del tipo de producto que se quiera
vender, es decir es configurable según las necesidades del cliente.
Además dependiendo del servicio que se necesite la tienda puede
acceder a la base de datos mediante un DAO, el cual es el encargado
de realizar consultas, y/o peticiones (Querys) que no pueden hacer los
EntitiesEJB.
47
que la aplicación pueda acceder a la Base de Datos. Además de esto el
servidor de aplicaciones esta encargado de realizar el Despliegue
(‘deploy’) de la aplicación.
El Framework cuenta con una clase, NombreReferencia, la cual nos
permite configurar los JNDI Names, de la aplicación.
o Business Delegate
Para la aplicación se utilizó una clase Business Delegate30 la
cual es la encargada de proporcionar el acceso a la lógica del
negocio, esta a su vez es la encargada de comunicarse con
el Session tienda.
El cliente utiliza a esta clase para acceder a todos los
métodos de la lógica del negocio.
o Service Locator
Es el encargado de realizar las conexiones entre los Beans, la base de
datos,
Data Source, y demás componentes que requieran un servicio.
o Factory (ProductoCreator)
Esta clase permite crear varias clases de productos
específicos a través de la herencia de la clase producto. Para
este, las clases de productos específicos que se vayan a
crear deben extender de la clase producto, la cual maneja
unos atributos y métodos generales de los productos.
48
Bean, AdministradorMgr Bean, TiendaMgr Bean y KartMgr
Bean respectivamente.
49
REFERENCIAS:
María Isabel Alfonso Galipienso. (2005). Ingeniería del software. Madrid: Pearson.
50