Definición Arquitectura

Anuncio
Descripción de Arquitectura
Repositorio de metadatos de componentes de software
1. Introducción.
1.1. Propósito.
1.2. Alcance.
1.3. Definiciones.
1.4 Contexto.
1.5. Referencia.
2. Objetivos y restricciones de la arquitectura.
3. Arquitectura y ventajas.
4. Identificación de StakeHolders y Objetivos.
4.1 Usuarios del sistema.
4.1.1 Perspectiva frente al sistema.
4.2 Desarrolladores del Sistema.
4.2.1 Perspectiva frente al sistema.
4.3 Viabilidad de la construcción del sistema.
4.4 Riesgos y operación del sistema (Operación de los stakeholders)
4.5 Instalación y evolución del sistema.
4.6.1 Posibles evoluciones de la arquitectura propuesta para proyectos posteriores.
5. Definición de puntos de vista por stakeholder.
6. Definición de vistas.
6.1 Consistencia entre puntos de vista.
7. Modelos arquitectura.
1. Introducción
1.1. Propósito
Este documento pretende dar a conocer la estructura de la arquitectura del repositorio de
metadatos de componentes de software, para lo cual utilizaremos diferentes vistas de
los stakeholders que puedan mostrar los aspectos más importantes del sistema.
1.2. Alcance
El alcance del documento es dar una visión global de la arquitectura del repositorio de
metadatos de componentes, con el fin de cumplir las diferentes funcionalidades del
sistema, definidas con anterioridad en el documento de requerimientos, enfocándonos
principalmente en construir un sistema robusto, así como también permitir ser
extensible a futuros desarrollos.
1.3 Definiciones
Objetivos: Son los intereses particulares de cada unos de los stakeholders frente
al
Sistema.
Puntos de vista: Es la agrupación de objetivos comunes que pueden tener
diferentes
Stakeholders frente al sistema
Vistas: Es la agrupación de puntos de vista en modelos generales que buscan
definir
y agrupar la totalidad de objetivos. La agrupación de vistas definen la
arquitectura del sistema.
1.4 Contexto
Se analizará la arquitectura desde el punto de vista de los usuarios y los desarrolladores,
principalmente sus intereses frente al sistema, también se tendrán en cuenta definiciones
más detalladas tales como funcionalidades y conexiones entre las diferentes capas de la
arquitectura propuesta.
1.5 Referencias
IEEE Std 1471 2000, IEEE
Recommended Practice for Architectural Description of
Software-Intensive Systems.
Pressman, Roger S, Ingeniería de software un enfoque practico, Mc Graw Hill,
2002
2. Objetivos y Restricciones de la Arquitectura
Es importante tener en cuenta los requerimientos más importantes y restricciones que
afectaran la arquitectura del sistema, como son:

La aplicación debe soportar multiplataforma para el acceso de los usuarios. Esta
será ejecutada a través de un navegador de Internet.

El sistema manejará la persistencia de datos a través de una base de datos relacional
Oracle 9i o SQL Server 2000.

El sistema poseerá seguridad para los datos que se almacenan en el mismo, de modo
que en el diseño de la arquitectura se deben tener en cuenta restricciones de
autenticación y autorización principalmente para los publicadores de componentes.

Los requerimientos que se establecieron en el documento de Especificación de
requerimientos deben ser tenidos en cuenta.
3. Arquitectura y ventajas.
La arquitectura escogida para el desarrollo del proyecto es J2EE ya que soporta las
características de robustez y escalabilidad de acuerdo a los requerimientos definidos
previamente.

Acceder a la aplicación a través de un Browser.

Soportar conexiones concurrentes, incluyendo solicitudes a la base de datos en
cualquier instante de tiempo.

Permitir desarrollos posteriores en cuanto a la transaccionalidad de documentos
XML, acceso a componentes de forma directa o link al proveedor principal.
4. Identificación de StakeHolders y Objetivos
Los stakeholders identificados para el repositorio de metadatos de componentes de
software son: usuarios del sistema, proveedores y desarrolladores del sistema.
4.1. Usuarios del sistema
Los usuarios del sistema serán en primera instancia las PyMEs del sector de
Transmisión de datos a través de redes y cualquier otra entidad o persona que
pudiera estar interesada en la consulta de componentes.
4.1.1.Perspectiva frente al sistema.



Los usuarios del sistema buscan un acceso vía Web al repositorio con el
fin de consultar los componentes de acuerdo a su funcionalidad, tipo de
arquitectura y lenguaje de programación (De acuerdo a los resultados de
las encuestas realizadas).
Las consultas deberán ser sencillas y permitir delimitarlas de acuerdo a
las principales características de los componentes tales como
funcionalidad, tipo de arquitectura y lenguaje de programación.
La interfaz de comunicación con el sistema debería ser sencilla en cuanto
al acceso a las funcionalidades de consulta.
4.2. Proveedores.
Serán los encargados de ingresar la descripción de componentes que se deseen
encontrar a través de la biblioteca.
4.2.1.Perspectiva frente al sistema

Facilidad de ingreso de información básica del componte a través de la
interfaz Web.
4.3. Desarrolladores del sistema
Los desarrolladores del sistema somos Rodrigo Fonseca y Dawid Junnco.
Somos los encargados de analizar los requerimientos definidos por el sector de las
PyMEs seleccionado por el estudio previo.
4.3.1.Perspectiva frente al sistema.

Nuestro interés se centra en definir una arquitectura que sastifaga los
requerimientos definidos por los usuarios del sistema, además de ser
robusta, confiable, y extensible para futuros desarrollos.
 Las herramientas de desarrollo de la aplicación serán de libre distribución
o en su defecto regidas por licencia académica.
4.4. Viabilidad de la construcción del sistema.
De acuerdo al conocimiento y estudios realizados previamente se determina que el
proyecto es viable bajo los parámetros establecidos para el cumplimiento de las
perspectivas expuestas por los stakeholders.
4.5. Riesgos y operación del sistema.
Los riesgos a los cuales se podrían ver enfrentados los usuarios son:
 Fallas en la red de comunicación.
 Fallas de disponibilidad del servicio por parte del servidor.
Los riesgos a los cuales se podrían ver enfrentados los desarrolladores son

Aparición de posibles fallas de las herramientas de libre distribución puesto
que no en la mayoría de los casos no existe soporte directo para la solución
de inconvenientes.
4.6. Instalación y evolución del sistema.
La instalación del sistema se hará en un servidor y las peticiones de los usuarios se
harán vía http sin que éstos requieran de una instalación previa en sus terminales de
acceso.
4.6.1 Posibles evoluciones de la arquitectura propuesta para proyectos posteriores.
Las siguientes propuestas han surgido a lo largo del proyecto y aunque no están
contempladas dentro del alcance del proyecto quedarán propuestas para futuros
desarrollos
1. Agregar un componente para permitir la prestación de servicios a través
de Web services, utilizando herramientas como AXIS y basados en la
arquitectura propuesta; con lo cual sistemas externos podrían consumir
y alimentar la biblioteca a través del intercambio de documentos XML
basados en el estándar utilizado en la definición de los componentes.
2. Cambiar la Base de datos relacional por una nativa en XML; con lo cual
se podrá lograr un diseño de la base de datos más compacto.
3. Agregar nuevas funcionalidades de lógica de negocio como actualizar la
descripción de los componentes, funcionalidades de administración
sobre el repositorio, acceso de forma directa a los componentes
almacenados en la base de datos, funciones de estadísticas de consulta.
4. Agregar una nueva funcionalidad para permitir que los componentes
puedan ser ejecutados de forma remota, es decir prestar los servicios del
componente sin necesidad de descargarlo desde el lado del cliente.
5. Definición de puntos de vista por stakeholder.











Nombre: Usuarios
Propósito: Consultas de componentes por funcionalidad, tipo de arquitectura
y lenguaje de programación.
Cuando será usado: Cuando este en producción el sistema.
Stakeholders: usuarios y proveedores.
Diagrama asociado: Diagrama de despliegue.
Nombre: Desarrolladores
Propósito: Definir arquitectura, satisfacer las necesidades de los usuarios y
proveedores del sistema.
Cuando será usado: Durante la fase de análisis e implementación del
sistema.
Stakeholders: Desarrolladores.
Diagrama asociado: Diagrama de despliegue.
Relación a otras vistas: Vista de usuario.
6. Definición de vistas.
6.1. Consistencia entre los puntos de vista.
Los puntos de vista son consistentes en cuanto a la viabilidad del desarrollo del
proyecto puesto que básicamente se trata de satisfacer las necesidades de los
usuarios y proveedores, por lo cual la vista de los desarrolladores se basa
específicamente en los requerimientos predefinidos anteriormente.
6.2. Vista desarrolladores del sistema.
La vista lógica del sistema está comprendida en 3 paquetes principales: Interfaz de
Usuario, Lógica de Negocio y Almacenamiento de información.
La Interfaz de Usuario contiene clases para cada una de las formas con las cuales los
usuarios se comuniquen con el sistema.
La lógica del Negocio contiene las clases controladoras para el manejo de la lógica
del negocio su función principal será la de recibir las peticiones de la capa Web en
cuanto a las consultas de componentes y presentar los resultados a la capa Web,
Almacenamiento de Información contiene las tablas que representan los metadatos
de los componentes descritos en el estándar.
Web
*
Vista
*
*
Usuario
Negocio
Interfaz
*
Controlador
Servlet
*
-JNDI
*
Contenedor EJB
Modelo
-JNDI
-JNDI
EJB Sesion
*
**
*
*
EJB Entity
*
-JDBC
Datos
*
-JDBC
*
6.3. Vista usuarios y proveedores
DAO
Usuario o Proveedor
Servidor
Http
Browser
Repositorio
JDBC
7. Modelo de arquitectura
La arquitectura que permite cumplir con las principales perspectivas tanto de usuarios,
proveedores y desarrolladores es la mostrada en la gráfica, la cual corresponde a J2EE, a
continuación definiremos en mayor detalle cada una de las capas que componen esta
arquitectura.
Descripción del diagrama general de arquitectura:
Capa de presentación: Es la encargada de interactuar con el usuario final del repositorio,
básicamente serán JSP’s bajo un browser.
Web Server: El contenedor web será Tomcat el cuál se encargará de procesar los JSP’s y
Servlet’s.
Application Server: El contenedor será JBoss el cual se encargará de procesar Los EJB’s
que definen la lógica de negocio y el datasource mediante el cual se tendrá acceso a la Base
de Datos.
Datos: Se encarga de la persistencia de los datos que describen los componentes y los
usuarios que acceden a publicar a la biblioteca. Las Bases de datos relacionales más
probables para la implementación serán Oracle9i o SQL Server 2000.
Descargar