Professional Documents
Culture Documents
Versin
5.0
Modificado Por
Fecha
Comentarios
Andrs Felipe
29 de
Ovalle Crdenas
Julio de
Intermediaria ArqSw
2008
Tabla de Contenido
1
1.1
Contexto ............................................................................................................ 5
Problemas a Resolver ....................................................................... 5
1.1.1Descripcin General del Sistema a Desarrollar .......................................... 5
1.1.2Objetivos ..................................................................................................... 6
1.2
Fundamento de la Solucin.............................................................. 6
1.2.1Aproximaciones Arquitecturales ................................................................. 7
1.2.2Cubrimiento de Requerimientos ................................................................. 8
Stakeholders ................................................................................................... 12
Atributos de Calidad....................................................................................... 16
3.1
Perspectivas .................................................................................... 16
3.1.1Evolucin .................................................................................................. 16
3.2
3.3
3.4
3.5
4
4.1
4.2
5
5.1
Referencias ......................................................................................................47
Directorio..........................................................................................................48
7.1
ndice .................................................................................................48
7.2
7.3
Acrnimos.........................................................................................48
ii
Lista de Figuras
Figura 1:
Figura 2:
Figura 4:
Figura 5:
Figura 6:
Interfaces ......................................................................................................... 36
Figura 10:
Informacin de un Pedido.............................................................................. 42
Figura 15:
Informacin de un Proveedor.........................................................................43
Figura 17:
Informacin de un Cliente...............................................................................44
Figura 17:
Figura 18:
Lista de Tablas
Tabla 1:
Tabla 2:
Tabla 3:
Tabla 4:
Tabla 5:
Tabla 6:
1 Contexto
1.1 Problemas a Resolver
Desde una perspectiva global, el problema principal es desarrollar una aplicacin que facilite los procesos de
intermediacin entre el comprador y un proveedor, con respecto a la demanda de una serie de productos que son
ofrecidos por este ltimo.
De esta manera, el problema se divide en los siguientes subproblemas, cuyas soluciones se implementan a travs de la
arquitectura del sistema propuesta.
1.
Es necesario que los clientes puedan consultar una serie de productos, por medio de diferentes tipos de
consultas de forma tal, que pueda encontrar fcilmente aquellos que demande su actividad comercial. Es as
que debe aclararse
2.
Los clientes deben poder acumular en una lista, el conjunto de productos, con su informacin inherente y
cantidades especficas, a lo largo de la sesin que establezca con el sistema de intermediacin. De esta
manera, tan pronto el cliente finalice su interaccin con el sistema, se debe impedir que otro usuario revise las
peticiones y preferencias del anterior cliente.
3.
Finalmente, el cliente debe poder interactuar con el sistema de forma tal, que pueda modificar las
cantidades solicitadas de un producto, agregar otros productos y eliminar peticiones que haya realizado con
anterioridad.
1.1.2 Objetivos
A continuacin se presentan los objetivos generales que guan el desarrollo de la arquitectura propuesta, para la
construccin de la aplicacin intermediaria para ArqSw.
1.
Ofrecer una percepcin del sistema a implementar, desde diferentes puntos de vista, con el propsito de
lograr la satisfaccin de las necesidades planteadas por los stakeholders identificados en ArqSw.
2.
Proponer diferentes arquitecturas candidatas que ofrezcan la flexibilidad necesaria, frente a los
requerimientos funcionales manifestados por los stakeholders y los requerimientos no funcionales identificados
durante la fase de levantamiento de informacin y a lo largo del desarrollo de la arquitectura y su concertacin.
3.
Teniendo en cuenta el anterior diagrama, es posible visualizar a los actores y a los casos
de uso inicialmente contemplados, para el desarrollo arquitectural propuesto; y en ese
orden de ideas los elementos anteriormente mostrados son descritos en detalle a
continuacin.
Tabla 1:
Gerente Comercial
Descripcin
Actor
Descripcin
el manejo y ciclo de vida de los clientes, proveedores,
productos, categoras o usuarios del sistema en cuestin.
Representa a la persona que solicita una serie de productos en
Cliente
Proveedor
Usuario
Tabla 2:
Ingresar al sistema
Descripcin
Buscar productos
Registrar producto
Modificar producto
Deshabilitar producto
Caso de Uso
Descripcin
los clientes no puedan hacer peticiones, ni los proveedores
puedan suministrar ninguna cantidad sobre el mismo.
Realizar pedido
Modificar pedido
Eliminar pedido
Listar pedidos
Registrar categora
de
productos
al
sistema
su
informacin
Consultar categora
Deshabilitar categora
Registrar usuario
10
Caso de Uso
Descripcin
utilizar los servicios ofrecidos por el mismo.
Modificar usuario
Consultar usuario
Inhabilitar usuario
Se requiere aclarar que los anteriores casos de uso y actores identificados, influyen de manera
directa con el desarrollo del functional viewpoint, el cual es indispensable para la implementacin
de los procesos y procedimientos en los cuales intervienen los usuarios finales de la
implementacin del sistema.
11
2 Stakeholders
Esta seccin presenta una lista de los stakeholders involucrados en el proyecto. Para cada uno de ellos, se deben listar
los concerns que van a ser tenidos en cuenta en el documento de arquitectura. Esta informacin se presenta en forma de
matriz, donde las filas representan los stakeholders y las columnas los concerns. Cada celda determina el grado de
relevancia del concern para el stakeholder. Finalmente, basados en los concerns relevantes a cada stakeholder se
determinan los puntos de vista que se le presentarn.
El standard ANSI/IEEE 1471-2000 propone que al menos los siguientes stakeholders sean considerados: usuarios,
clientes, desarrolladores y administradores.
Customer
Project manager
External organizations
Communications engineers
Infrastructure software
developers
Trainers
Program management
Maintainers
End users
Auditors
Tabla 3:
Gerente Comercial
Descripcin
Cliente
Proveedor
Director de Sistemas
12
Stakeholder
Descripcin
Tambin es la persona encargada de coordinar las labores de
configuracin, mantenimiento y supervisin del hardware,
software y de las redes de comunicaciones de ArqSw.
Representa al grupo de personas encargadas del desarrollo,
Communications Engineers
Trainers
Tabla 4:
Stakeholder
Concerns
Gerente Comercial
1.
2.
3.
4.
5.
13
Stakeholder
Concerns
travs de diferentes criterios.
Cliente
1.
2.
3.
4.
Usar un sistema de carrito de compras virtual, por medio del cual sea
posible agregar, modificar o eliminar pedidos de productos con las
respectivas cantidades solicitadas.
Proveedor
1.
2.
Director de Sistemas
1.
2.
1.
1.
Communications Engineers
1.
Trainers
1.
14
Tabla 5:
Stakeholder
Viewpoints
Gerente Comercial
Cliente
Operational viewpoint.
Proveedor
Operational viewpoint.
Director de Sistemas
Communications Engineers
Trainers
15
3 Atributos de Calidad
3.1 Perspectivas
Esta seccin describe el comportamiento y los atributos de calidad de los requerimientos que afectan la arquitectura de
software, incluidos escenarios de calidad.
3.1.1 Evolucin
Teniendo en cuenta la presente arquitectura y los requerimientos no funcionales
planteados por los stakeholders, es posible garantizar la capacidad de evolucin del
sistema, considerando el diseo funcional propuesto. De esta manera, se presentar con
un mayor nivel de detalle, como la arquitectura elegida exhibe de una forma adecuada el
cumplimiento de este atributo de calidad, as.
3.1.1.1 Calidad Deseada
Teniendo en mente lo anterior, es posible decir que esta perspectiva afecta de manera
transversal al punto de vista funcional y en igual magnitud, al punto de vista de
informacin, dado que esta flexibilidad del sistema frente al cambio, solo puede ser
lograda a travs de la estructura de componentes ofrecida, los servicios manejados por
medio de las interfaces diseadas, la estructura esttica de datos presentada, los estados
definidos para las unidades informacionales y los flujos de datos identificados entre
componentes.
Sin embargo, con lo anterior no se est afirmando, que esta perspectiva no afecte otros
puntos de vista; sino que su influencia es mayor en los viewpoint contemplados.
3.1.1.3 Concerns
16
Plantear los tradeoff posibles frente a los cambios identificados y su impacto en los puntos
de vista funcional y de informacin.
Finalmente, implementar los cambios arquitecturales a los que haya lugar, teniendo en
cuenta las consideraciones y resultados, obtenidos por medio de esta perspectiva de
evolucin.
3.1.1.5 Tcticas
17
Producto.
3.3.1.3 Estimulo
Las entidades del sistema, los session bean, los entity bean y la capa WEB.
3.3.1.5 Ambiente
Se tiene un ambiente de desarrollo (eclipse) con el proyecto creado y listo para hacer
deployment. Ya fue probado el deployment del componente antes del cambio.
3.3.1.6 Respuesta
Los desarrolladores logran hacer el cambio y hacer deployment sin errores, las tablas de
la base de datos son actualizadas para las nuevas entidades al hacer deployment y la
interfaz grfica permite crear los clientes con el nuevo campo.
3.3.1.7 Medida de la Respuesta
18
Durante una fase de consulta de informacin concurrente, por parte de los clientes de
ArqSw, el servidor de aplicaciones de esta rea sufre una falla en el suministro elctrico y
por ende, no puede responder a las peticiones de informacin que se le estn haciendo
desde los browsers de los mismos clientes. Se requiere, que el sistema de intermediacin
comercial vuelva a responder al 95% de las peticiones en un periodo inferior a 5 minutos,
utilizando el servicio de backup del clster de servidores de clientes y redistribuyendo la
carga transaccional del servidor de aplicaciones principal a los dems servidores
funcionales.
3.4.1.2 Fuente
Clientes.
3.4.1.3 Estimulo
Este sistema de backup y de balanceo de carga debe entrar a responder el 95% de las
peticiones no resueltas por parte de los browsers de los clientes, en un periodo inferior a 5
minutos.
19
Proveedores.
3.5.1.3 Estimulo
20
4 Puntos de Vista
Teniendo en cuenta los concerns identificados en cada uno de los stakeholders, se proponen los siguientes puntos de
vista, con el fin de comunicar y describir como sus necesidades sern satisfechas a travs de la arquitectura que se
propone.
4.1.1 Descripcin
A travs de los siguientes modelos de plataforma de ejecucin, red y de dependencias
tecnolgicas, es posible observar que la propuesta arquitectural pretende utilizar un
servidor de aplicaciones corporativo, encargado de centralizar la funcionalidad de la
aplicacin intermediaria; permitiendo la sincronizacin de los servicios de
almacenamiento, la presentacin de la informacin a travs de un ambiente WEB;
distribuyendo los servicios prestados por el sistema de intermediacin comercial entre los
Customer Application Server y Supplier Application Server de la compaa.
De igual forma es posible, observar que el Server Core est conformado, por los WEB
Server, Corporate Application Server, Database Server, Customer Application Server y
Supplier Application Server; de manera tal, que esta regin del sistema est siendo
protegida a travs de un sistema de Firewall que regulan las conexiones establecidas por
parte de usuarios externos como clientes y proveedores de ArqSw.
21
Como se puede apreciar en la figura 2, cada parte del server core maneja un sistema de
clster o granjas de servidores, con el fin de ofrecer un mecanismo de balanceo de cargas,
permitindole a los servicios ofrecidos soportar una alta concurrencia de conexiones,
provenientes de los usuarios del sistema de intermediacin comercial.
As mismo, a travs de esta infraestructura de granjas de servidores se conforma un
sistemas de backup, en los cuales si un servidor deja de funcionar, las conexiones son
redireccionadas y redistribuidas sobre los dems servidores funcionales del sistema.
A continuacin se describir el funcionamiento de cada uno de los nodos presentes en el
diagrama anteriormente mostrado.
Tabla 6:
Nodo
Descripcin
Caractersticas
Customer,
Supplier and
ArqSw machine.
22
Nodo
Descripcin
Caractersticas
Firewall 1
Manufacter: ZyWALL
2003 R2 SP2
Memory: 128 GB
WEB server
Manufacter: Intel
Clustered
Corporate
application server
2003 R2 SP2
Memory: 128 GB
Manufacter: Intel
Clustered
2003 R2 SP2
Memory: 16 GB
CPU: Quad Core 3 GHz
Manufacter: Intel
SAN
Customer
application server
2003 R2 SP2
Memory: 64 GB
23
Nodo
Descripcin
Caractersticas
Supplier
application server
2003 R2 SP2
Memory: 64 GB
de respaldo.
Manufacter: Intel
Clustered
Firewall 2
Manufacter: ZyWALL
SP2
Memory: 1 GB
CPU: 1.8 GHz
Manufacter: Intel
24
Tabla 7:
Conexin
Caractersticas
Protocol: HTTP
Port: 80
WAN
Bandwidth: 300 Kbps
Protocol: TCP
Port: 4589
LAN
Bandwidth: 1 Gbps Ethernet
Protocol: TCP
Port: 5000
LAN
Bandwidth: 1 Gbps Ethernet
Protocol: TCP
Port: 5001
LAN
Bandwidth: 1 Gbps Ethernet
Protocol: TCP
Port: 5002
LAN
Bandwidth: 1 Gbps Ethernet
Protocol: TCP
Port: 5003
LAN
Bandwidth: 1 Gbps Ethernet
Protocol: TCP
Port: 5004
LAN
Bandwidth: 1 Gbps Ethernet
Protocol: TCP
Port: 5005
25
Conexin
Caractersticas
LAN
Bandwidth: 1 Gbps Ethernet
Protocol: TCP
Port: 5006
LAN
Bandwidth: 1 Gbps Ethernet
Protocol: HTTP
Port: 5007
LAN
Bandwidth: 1 Gbps Ethernet
Protocol: HTTP
Port: 5007
LAN
Bandwidth: 100 Mbps Ethernet
Componente
Requiere
machine
Database server
26
WEB server
Firewall
ZyWALL 70
WAN conection
VPN conection
27
4.2.1 Descripcin
Por medio de los siguientes modelos de estructura funcional, es posible identificar que
para esta arquitectura se conformaron 3 componentes referentes a procesos especficos de
negocio para el sistema de intermediacin. Es as que se obtuvieron los componentes de
Usuarios, Pedidos y Productos.
Por otro lado es de gran importancia explicar que a cada uno de los componentes les
fueron asignadas unas responsabilidades especficas y por ende, se les definieron unas
interfaces con una serie de servicios discriminados, teniendo en cuenta que estas servirn
como puentes de comunicaciones con otros componentes.
Adems es necesario aclarar que no todos los servicios deban encapsularse a travs de
una misma interfaz, dado que desde una perspectiva de seguridad y desempeo es
aconsejable que los componentes receptores solo obtengan la informacin mnima
necesaria para el desarrollo y ejecucin de sus propios procesos de negocio.
28
29
Teniendo en cuenta el anterior diagrama se defini una funcin especfica para cada uno
de estos elementos arquitecturales identificados, y la descripcin de cada uno de los
mismos se expresa a continuacin.
30
Tabla 9:
Elemento Arquitectural
Funciones
Producto
Proveedor
Pedido
Categora
Carrito de Compras
Cliente
Significado
31
ProductoProveedor
ProductoCategora
ProductoPedido
PedidoCarrito de Compras
Carrito de ComprasCliente
Ahora es necesario tener en cuenta, que la asignacin de colores realizada para cada uno
de los elementos, no fue hecha de manera arbitraria, sino que a travs de esta convencin
se expresa que cada uno de estos subconjuntos de elementos, evidencian una cohesin
mucho mayor que la que existe entre los elementos de color diferente.
Es as, que se decide que el elemento Producto guarda una mayor cohesin con el
elemento de Categora, teniendo en cuenta que estos se realiza la caracterizacin de los
productos ofrecidos para su consulta y venta en el sistema de intermediacin comercial.
Por otra parte, se establece una asociacin entre el elemento de Pedido y el de Carrito de
Compras, dado que por medio de estos se compone la descripcin completa de la
solicitud tanto de los productos como de sus cantidades, por parte de un cliente
especfico.
Finalmente, los elementos de Proveedor y Cliente, fueron agrupados teniendo en cuenta
que comparten el manejo del sistema, a pesar de utilizar diferentes servicios de acuerdo a
sus roles de usuario.
En ese orden de ideas, a continuacin se expondrn las responsabilidades que le fueron
conferidas a cada uno de los elementos arquitecturales identificados y los servicios
prestados por las interfaces de comunicacin construidas para los componentes
conformados.
32
Teniendo en cuenta el anterior desarrollo conceptual, ahora es necesario definir una serie
de interfaces de servicios, a travs de las cuales se ofrecer la posibilidad de implementar
los procesos de negocio requeridos y especificados para el sistema de intermediacin
comercial ArqSw. En ese orden de ideas, el diseo de interfaces propuesto comprende
unas que permiten la realizacin de consultas y otras que permiten la administracin de
las entidades funcionales anteriormente descritas y es as que se proponen los siguientes
diagramas de composicin y agregacin.
4.2.3.3 Componente de Productos
33
Para este caso, es necesario aclarar que aunque las entidades funcionales de proveedor y
producto, no guardan relaciones de dependencia alguna; son agrupadas teniendo en
cuenta que el componente del cual hacen parte, permite realizar un mejor control de roles
de usuario de forma centralizada, para este sistema de intermediacin comercial.
Es as, que por medio de este componentes se exponen cuatro interfaces de servicios, de
las cuales dos son de consultas y las otras dos son de administracin, tanto de
proveedores como de clientes; de forma tal que se puede recuperar informacin de estas
dos entidades funcionales al igual que se posibilita, el registro, la modificacin y el
cambio de estado para clientes y proveedores, que deseen controlarse desde esta
aplicacin.
34
En este paso final y despus del anterior diseo de las interfaces de servicios para los
componentes construidos, solo queda presentar cuales de estos requieren consumir
servicios de otros, para la implementacin de sus procesos de negocio en el sistema de
intermediacin comercial. En ese orden de ideas, el modelo funcional para la aplicacin
intermediaria ArqSw es la siguiente.
35
36
4.3.1 Descripcin
Para un entendimiento adecuado de este punto de vista de informacin y sin violar la
independencia que existe entre los diferentes viewpoint del diseo arquitectural
propuesto, es de gran utilidad observar la convencin de colores que se manej, con el fin
de confirmar que para cada uno de los componentes diseados desde el functional
viewpoint se estableci una correspondencia con las unidades de informacin que
deberan manejar, dada su naturaleza especializada en el funcionamiento de la empresa
ArqSw.
37
Figura 10: Aplicacin Intermediaria ArqSw: Modelo General de Estructuras Estticas de Datos
De esta manera, puede observarse en este modelo general que la convencin de colores es
equivalente a la usada en el functional viewpoint de manera intencional, para expresar el
hecho de que unidades informacionales son usadas, manipuladas y administradas a travs
de cada uno de los componentes planteados. En ese orden de ideas, las asociaciones
anteriormente presentadas tienen los siguientes significados.
Tabla 11: Asociaciones entre Entidades de Informacin para la Aplicacin Intermediaria
ArqSw
Asociacin
Significado
ProductoCategora
PedidoProducto
Carrito de ComprasPedido
ClienteCarrito de Compras
38
Figura 11: Aplicacin Intermediaria ArqSw: Modelo Detallado de Estructuras Estticas de Datos
39
Como se puede visualizar en la ilustracin anterior, los estados por los que pasa un
producto, inician con la clasificacin del mismo dentro de una categora, de forma tal que
si no existe categora alguna, el producto no puede ser registrado. Sin embargo, si se
encuentra alguna categora para el producto en cuestin, este es registrado y habilitado en
el sistema para ser ofertado.
Sin embargo, los productos pueden ser modificados por los proveedores, en relacin a sus
atributos y es por eso que, esta entidad puede pasar a un estado de modificacin,
volviendo al estado de habilitado, tan pronto los cambios en sus caractersticas se hayan
realizado.
40
Figura 13: Aplicacin Intermediaria ArqSw: Modelo de Ciclo de Vida de Informacin de una
Categora
Como se puede observar en la anterior figura, el esquema de este ciclo de vida no es muy
diferente del de producto, pero es necesario tener en cuenta que la importancia de este
ciclo radica en el simple hecho, de que si esta entidad informacional no est disponible,
ningn producto podra ser registrado a menos que su correspondiente categora haya
sido registrada y habilitada por alguno de los administradores del sistema de
intermediacin.
41
Para este ciclo, debe tenerse en cuenta, que la entidad informacional referente a un pedido
determinado no podr registrarse, en el caso que durante el inicio o una fase de
modificacin, el nmero de unidades del producto especificadas exceda, las disponibles
dentro de las existencias del inventario.
42
Figura 15: Aplicacin Intermediaria ArqSw: Modelo de Ciclo de Vida de Informacin del Carrito
de Compras
Para el presente modelo no hay mayor complicacin, dado que simplemente expresa que
el carrito de compras de un cliente y su informacin en el sistema, solo se puede
encontrar en tres estados, los cuales comprenden la adicin, la modificacin y la
eliminacin de los pedidos que se hayan realizado a travs del sistema.
4.3.3.5 Modelo de Ciclo de Vida de Informacin de Proveedor y Cliente
43
Como se puede apreciar en los anteriores de ciclos de vida de informacin, ni los clientes
ni los proveedores, son eliminados alguna vez del sistema de intermediacin comercial,
sino que ms bien son deshabilitados del mismo, impidiendo que estos sean validados al
ingresar con sus roles de usuario.
44
Usuarios
LMC
LMC
LMC
LMC
LMC
LMC
LMC
Productos
LMC
Pedidos
Cliente
Proveedor
Compras
Carrito de
Pedido
Producto
Categora
LMC
Proveedores
Usuarios
LMC
Clientes
Usuarios
LMC
LMC
Administradores
LMC
45
5 Evaluacin de la Arquitectura
Despus de la descripcin con respecto a la infraestructura tecnolgica que debera
soportar el sistema de intermediacin, el diseo funcional propuesto teniendo en cuenta
los procesos de negocio principales y la definicin de las entidades informacionales y
flujos de datos, se presenta la siguiente evaluacin arquitectural, con el fin de priorizar el
grado de atencin que se debe tener con respecto a los requerimientos no funcionales
planteados, proyectando el grado de accin que se debe ofrecer para la satisfaccin de los
mismos.
Como se puede apreciar en este rbol de atributos de calidad, es posible afirmar que los
escenarios planteados en su mayora, tienen una dificultad alta de implementacin y
adems, son crticos para la consecucin de los objetivos de la empresa.
Sin embargo, a travs de estos quiere mostrase que representan factores de riesgo que
conviene tener en cuenta en la implementacin de la arquitectura de software propuesta, a
pesar de que por medio de los puntos de vista desarrollados se exhiba el cumplimiento de
los requerimientos no funcionales identificados.
46
6 Referencias
DocumentingSoftwareArchitectures:ViewsandBeyonds,Clements,Paul.AdissonWesley,
2002.
PresentacionesdisponiblesparaelcursodeArquitecturadeSoftware.
TutorialJavaServerFaces.
47
7 Directorio
7.1 ndice
7.2 Glosario de Trminos
Trmino
Definicin
software architecture
view
viewpoint
7.3 Acrnimos
Trmino
SAN
Definicin
Storage Area Network
DocumentingSoftwareArchitectures:ViewsandBeyonds,Clements,Paul.AdissonWesley,
2002.
48