Estilos Arquitectónicos Sommerville (Lectura T3) ISW
Estilos Arquitectónicos Sommerville (Lectura T3) ISW
Estilos Arquitectónicos Sommerville (Lectura T3) ISW
163)
Nombre Cliente-servidor
Descripción En una arquitectura cliente-servidor, la funcionalidad del sistema se
organiza en servicios, y cada servicio lo entrega un servidor independiente.
Los clientes son usuarios de dichos servicios y para utilizarlos ingresan a los
servidores.
Ejemplo La figura es un ejemplo de una filmoteca y videoteca (videos/DVD)
organizada como un sistema cliente-servidor.
Cuándo se usa Se usa cuando, desde varias ubicaciones, se tiene que ingresar a los datos
en una base de datos compartida. Como los servidores se pueden replicar,
también se usan cuando la carga de un sistema es variable.
Ventajas La principal ventaja de este modelo es que los servidores se pueden
distribuir a través de una red. La funcionalidad general (por ejemplo, un
servicio de impresión) estaría disponible a todos los clientes, así que no
necesita implementarse en todos los servicios.
Desventajas Cada servicio es un solo punto de falla, de modo que es susceptible a
ataques de rechazo de servicio o a fallas del servidor. El rendimiento
resultará impredecible porque depende de la red, así como del sistema.
Quizás haya problemas administrativos cuando los servidores sean
propiedad de diferentes organizaciones.
Arquitectura de repositorio (Sommerville, pág. 159)
Nombre Repositorio
Descripción Todos los datos en un sistema se gestionan en un repositorio central,
accesible a todos los componentes del sistema. Los componentes no
interactúan directamente, sino tan sólo a través del repositorio.
Ejemplo La figura es un ejemplo de un IDE donde los componentes usan un
repositorio de información de diseño de sistema. Cada herramienta de
software genera información que, en ese momento, está disponible para
uso de otras herramientas.
Cuándo se usa Este patrón se usa cuando se tiene un sistema donde los grandes
volúmenes de información generados deban almacenarse durante mucho
tiempo. También puede usarse en sistemas dirigidos por datos, en los que
la inclusión de datos en el repositorio active una acción o herramienta.
Ventajas Los componentes pueden ser independientes, no necesitan conocer la
existencia de otros componentes. Los cambios hechos por un componente
se pueden propagar hacia todos los componentes. La totalidad de datos se
puede gestionar de manera consistente (por ejemplo, respaldos realizados
al mismo tiempo), pues todos están en un lugar.
Desventajas El repositorio es un punto de falla único, de modo que los problemas en el
repositorio afectan a todo el sistema. Es posible que haya ineficiencias al
organizar toda la comunicación a través del repositorio. Quizá sea difícil
distribuir el repositorio por medio de varias computadoras.
Arquitecturas de aplicación (Sommerville, págs. 164 – 169)
Los sistemas de aplicación tienen la intención de cubrir las necesidades de una empresa u
organización. Todas las empresas tienen mucho en común: necesitan contratar personal, emitir
facturas, llevar la contabilidad, etcétera. Las empresas que operan en el mismo sector usan
aplicaciones comunes específicas para el sector. De esta forma, además de las funciones
empresariales generales, todas las compañías telefónicas necesitan sistemas para conectar
llamadas, administrar sus redes y emitir facturas a los clientes, entre otros. En consecuencia,
también los sistemas de aplicación que utilizan dichas empresas tienen mucho en común.
Un ejemplo de una transacción es una petición de cliente para retirar dinero de una cuenta
bancaria mediante un cajero automático. Esto incluye obtener detalles de la cuenta del cliente,
verificar y modificar el saldo por la cantidad retirada y enviar comandos al cajero automático
para entregar el dinero. Hasta que todos estos pasos se completan, la transacción permanece
inconclusa y no cambia la base de datos de la cuenta del cliente.
Por lo general, los sistemas de procesamiento de transacción son sistemas interactivos donde
los usuarios hacen peticiones asíncronas de servicios. La figura 6.14 ilustra la estructura
arquitectónica conceptual de las aplicaciones de TP. Primero, un usuario hace una petición al
sistema a través de un componente de procesamiento I/O. La petición se procesa mediante
alguna lógica específica de la aplicación. Se crea una transacción y pasa hacia un gestor de
transacciones que, por lo general, está embebido en el sistema de manejo de la base de datos.
Después de que el gestor de transacciones asegura que la transacción se ha completado
adecuadamente, señala a la aplicación que terminó el procesamiento.
2. Sistemas de Información
Todos los sistemas que incluyen interacción con una base de datos compartida se consideran
sistemas de información basados en transacciones. Un sistema de información permite acceso
controlado a una gran base de información, tales como un catálogo de biblioteca, un horario de
vuelos o los registros de pacientes en un hospital. Cada vez más, los sistemas de información
son sistemas basados en la Web, cuyo acceso es mediante un navegador Web.
La figura 6.16 presenta un modelo muy general de un sistema de información. El sistema se
modela con un enfoque por capas, donde la capa superior soporta la interfaz de usuario, y la
capa inferior es la base de datos del sistema. La capa de comunicaciones con el usuario maneja
todas las entradas y salidas de la interfaz de usuario, y la capa de recuperación de información
incluye la lógica específica de aplicación para acceder y actualizar la base de datos. Como se verá
más adelante, las capas en este modelo pueden trazarse directamente hacia servidores dentro
de un sistema basado en Internet.
Como ejemplo de una instancia de este modelo en capas, la figura 6.17 muestra la arquitectura
del MHC-PMS. Recuerde que este sistema mantiene y administra detalles de los pacientes que
consultan médicos especialistas en problemas de salud mental. En el modelo se agregaron
detalles a cada capa al identificar los componentes que soportan las comunicaciones del usuario,
así como la recuperación y el acceso a la información:
Los sistemas de gestión de información y recursos, por lo general, son ahora sistemas basados
en la Web donde las interfaces de usuario se implementan con el uso de un navegador Web. Por
ejemplo, los sistemas de comercio electrónico son sistemas de gestión de recursos basados en
Internet, que aceptan pedidos electrónicos por bienes o servicios y, luego, ordenan la entrega
de dichos bienes o servicios al cliente. En un sistema de comercio electrónico, la capa específica
de aplicación incluye funcionalidad adicional que soporta un “carrito de compras”, donde los
usuarios pueden colocar algunos objetos en transacciones separadas y, luego, pagarlos en una
sola transacción.