Академический Документы
Профессиональный Документы
Культура Документы
Versin 1.3
Histrico Revisiones
Fecha 16/Agosto/2006 11/Septiembre/2006 20/Octubre/2006 Versin 1.0 1.1 1.2 Descripcin Creacin del Documento Se modific Vista de Deployment y Vista de Implementacin Se modific Caractersticas y Links de Vista de Deployment e Implementacin. Se agrego informacin en Secciones 1 a la 7. Autor Elmer Caras Lissette Rivas Elmer Caras
04/Enero/2007
1.3
Elmer Caras
Confidencial
FISDL,
Pgina 2 de 18
Tabla de Contenido
1. Introduccin Propsito Alcance Definiciones, Acrnimos y Abreviaturas Referencias 2. Representacin de la Arquitectura 3. Restricciones y Metas de la Arquitectura 4. Vista de Casos de Uso 5. Vista Lgica Descripcin General Paquetes de Diseo Realizaciones de Casos de Uso 6. Vista de Puesta en Marcha (Deployment) 7. Vista de Implementacin Descripcin General Capas Contempladas en la Arquitectura Capa de Presentacin Capa de Procesamiento de Presentacin 8.2.3 Capa de Fachada de Servicios 8.2.4 Capa de Lgica de Negocios Capa de Acceso a Datos Capa de Entidades Empresariales 4 4 4 4 4 5 5 5 6 6 6 6 6 8 8 10 11 13 14 15 16 17
Confidencial
FISDL,
Pgina 3 de 18
Alcance En este documento se propone la Arquitectura Base para el desarrollo del Proyecto, se provee tambin de Clases Base para todas las capas involucradas, se proporciona el cdigo fuente de cada clase, esto quiere decir que tambin se deja abierto a implementar mas funcionalidad genrica para cada Clase y7o mejorar la lgica actual. Definiciones, Acrnimos y Abreviaturas Componente: Es un elemento con comportamiento, relaciones o dependencias; en el contexto que se utilice tambien puede ser una pieza de software de alta complejidad, as como un servicio de comunicacin con otro Sistema; a su vez se enfatiza que un componente no es la correspondiente tecnologa de Desarrollo (COM, CORBA Component Model o EJB). RUP: Rational Unified Process. UML: Unified Modeling Language. Referencias Documento ArquitecturaDistribuida.htm En este Descripcin documento encontrar diagramas de Componentes representando la topologa del sistema, para tener una idea mas clara sobre la Arquitectura y su implementacin. SGO - Guas de Diseo.doc SGO - Guas de Programacin.doc SGO.chm Confidencial Este documento provee los lineamientos bsicos para el Anlisis y Diseo del sistema. Este documento provee los lineamientos y estndares de para la Programacin de cada capa del sistema. Documentacin Tcnica de las Clases Base de la FISDL, Pgina 4 de 18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software Arquitectura.
2.Representacin de la Arquitectura
[Esta seccin describe lo que es la arquitectura para el sistema, y cmo se representa. Por ejemplo, el modelo sugerido con UML para arquitectura es el llamado 4+1 Vistas, que incluye vistas de Casos de Uso, vista lgica, vista de componentes, vista de procesos y vista de puesta en marcha. En general, debe describir las vistas que se incluyen, los tipos de modelos, diagramas y propsito de c/u.]
SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software CU-013 CU-014 CU-015 CU-016 CU-017 CU-018 CU-019 CU-020 CU-021 CU-022 CU-023 CU-024 CU-025 Procesar Penalidades Calcular Multas Generar Notificaciones de Multas Generar Alertas Configurar Alertas Procesar Rescisin - Resciliacin Procesar Multas Intervencin de Afianzadora Verificar Seal de Pago contra Factura Mantener Garantas Generar Solicitud de Rescisin - Resciliacin Ingresar Solicitud de Prrroga - Reasignacin Generar Modelo de Convenio
5.Vista Lgica
[Esta seccin describe las partes significativas del modelo de diseo, descomponsicin en subsistemas y paquetes, y sus respectivas clases y utileras. Se pueden incluir diagramas que muestren las relaciones, operaciones y atributos importantes.] Descripcin General [Descripcin breve de paquetes, jerarquas y propsito.] Paquetes de Diseo [Para cada paquete, incluya una subseccin con el nombre respective, descripcin breve, diagrama y todas las clases significativas del mismo. Para cada clase, incluya el nombre, breve descripcin, y descripcin de algunas de las responsabilidades importantes, operaciones y atributos.] Realizaciones de Casos de Uso [Esta seccin ilustra como trabaja el software al darle a los casos de uso algunos scenarios (realizaciones) y explicar como algunos elementos de diseo contribuyen a la funcionalidad.]
Confidencial
FISDL,
Pgina 6 de 18
La configuracin de hardware y red, sobre la cual se pondr en produccin el sistema SGO es la siguiente: Esquema con DMZ Interna de Aplicaciones Distribuidas:
Cliente
Firewall
Cliente
Cliente
Servidor de Datos
Base de datos
Servidor de Aplicaciones
Capa de present acion Formularios Capa de logica de negocios Capa de Entidades Empresariales Capa de Datos
Confidencial
FISDL,
Pgina 7 de 18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software Esquema con DMZ Externa de Aplicaciones Distribuidas:
Firewall
Cliente
Internet
Cliente
7.Vista de Implementacin
En esta se describe la estructura general de la arquitectura, su distribucin en capas y componentes de arquitectura de software. Descripcin General Las diferentes capas que se utilizaran para la vista de implementacin son: Capa de Presentacin, Fachada de servicios, Capa de lgica de negocios, Capa de Datos, Capa de Entidades Empresariales.
Confidencial
FISDL,
Pgina 8 de 18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software Diagrama de Componentes SGO:
AccesoAplicacionesExternas
SGOWeb
SGOWin
SGO_BL
SGO_EL SGO_DL
SGO_WinUC
SGO_WebUC
Confidencial
FISDL,
Pgina 9 de 18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software Capas Contempladas en la Arquitectura
Ver Diagramas Interactivos de la Arquitectura en: ArquitecturaDistribuidaWebGeneral.htm Ver Detalle de Clases Base de la Arquitectura en: SGO.chm La arquitectura en su estructura de las capas esta basada en la propuesta que Microsoft hace como mejores practicas para el diseo de Aplicaciones Distribuidas de alto nivel, aplica a las aplicaciones transaccionales u OTLP que se ajusten a un diseo en capas y se puedan distribuir en diversos niveles fsicos con las siguientes tecnologas: ASP.NET, Servicios Web, Enterprise Services (COM+), Remoting, ADO.NET y SQL Server. Ya que las decisiones tomadas al respecto tendrn un impacto en las caracteristicas del sistema como lo son seguridad, escalabilidad, disponibilidad y mantenimiento, entre otras; as como la implementacin que se realiza de las distintas capas. A continuacin puede observar como Microsoft propone que se distribuyan las capas.
Para el caso en la arquitectura propuesta solo se utilizan las siguientes capas: Componentes de IU : Capa de Presentacin Componentes de proceso de IU : Capa de Procesamiento de Presentacin Fachada de Servicios: Capa de Fachada de Servicios (si es necesario, esta capa aplica cuando el esquema incluye una publicacin Web o Aplicacin Windows Distribuida fsicamente.) Componentes Empresariales: Capa de Lgica de Negocios Entidades Empresariales: Capa de Entidades Empresariales Componentes lgicos de acceso a datos: Capa de Acceso a Datos
Confidencial
FISDL,
Pgina 10 de 18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software Capa de Presentacin En esta capa se utilizaran dos clases base que son:
ucWBase: Que se debera de heredar de esta clase cuando se creen Controles de Usuario Web, ya que aqu se dispone de funcionalidad genrica para la aplicacin.
wfBase: Esta clase se utiliza como ancestro de las pginas principales de una opcin a la que se le de acceso aun usuario, ya que en la misma se valida que un usuario tenga acceso a una opcin segn el esquema de seguridad. Esta capa para el caso tiene que ser un Proyecto Web o Windows que har referencia al(los) Web Service(s)(solo en el caso que sea necesario) necesario(s) que definan en la capa de Fachada de Servicios. Nota: Esta capa se implementa con un Proyecto del tipo Web o Windows(segn aplique) en Visual Studio .Net.No es imprescindible utilizar Web Service para la Lgica de Negocios, ya que eso depende de la Implementacin fsica en los servidores. ucWBase: Clase base para los Controles de Usuario, contiene funcionalidad genrica para Obtener el nombre de Usuario, mostrar mensajes, ya sean alertas o no, etc. wfBase: Clase base para las pginas de la aplicacin, contiene la funcionalidad para autorizar el acceso por usuario, ya que verifica que si el usuario conectado tiene acceso a la pgina que se requiere.
Confidencial
FISDL,
Pgina 11 de 18
Confidencial
FISDL,
Pgina 12 de 18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software Capa de Procesamiento de Presentacin En esta capa se utilizar la clase base:
cpBase.vb: Del cual se deben de heredar todas las clases de Procesamiento de Presentacin. En esta clase se define que tipo de implementacin se esta utilizando, si es una Publicacin Externa o si es en la Intranet.
Nota: Del tipo de Implementacin del Caso de Uso depende el acceso directamente a la Lgica de Negocios o la utilizacin de la Fachada de Servicios. Esto variara para cada Caso de Uso, y se espera que aunque actualmente un Caso de Uso solamente se utilice solo en la Intranet, ya se deje la posibilidad de poder utilizarlo desde Internet.
Confidencial
FISDL,
Pgina 13 de 18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software 8.2.3Capa de Fachada de Servicios
Esta capa solo sirve de intermediario con la capa de Lgica de negocios, ya que los mtodos y funciones creadas en esta capa solamente sern llamados a mtodos y funciones de la Capa de Negocios. Esta capa se crea con un Proyecto Web Service el cual incluir la referencia a la Capa de Lgica de Negocios y a la Capa de Entidades Empresariales. Nota: Esta capa se implementa con un Proyecto ws del tipo Web Service en Visual Studio .Net.
Confidencial
FISDL,
Pgina 14 de 18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software 8.2.4Capa de Lgica de Negocios
Esta capa contiene la lgica de procesamiento, actualizacin y consistencia de los datos que maneja el sistema, para esto es bueno manejar aqu transacciones atmicas, adems se pueden hacer funciones y/o mtodos para hacer las validaciones de Negocio como por ejemplo Verificar la disponibilidad de fondos para una transaccin, y para el caso sern las validaciones que los Casos de Uso ya tienen definido. Para la interaccin con otros Sistemas no existir una referencia directa a los Assemblies de las mismas, sino que se tendr referencia al Assembly de Interfaces Comunes, y a travs de cargado dinmico del Assembly se instanciaran con Reflection las clases de Lgica de Negocios de otros sistemas. Nota: Esta capa se implementa con un Proyecto _BL del tipo Librera de Clases en Visual Studio .Net.
Confidencial
FISDL,
Pgina 15 de 18
SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software Capa de Acceso a Datos
Esta capa es la que tiene las operaciones CRUD de cada entidad empresarial persistente y operaciones (querys) a las entidades que lo ameriten, pero cada clase har referencia a una sola entidad, (si es el caso de interactuar con mas de una tabla, se tiene que implementar la lgica en la Capa de Negocios y hacer las llamadas respectivas puntuales a las clases de la capa de Datos en las transacciones atmicas). Aqu se hace referencia a la Capa de Entidades Empresariales y al cliente de la base de datos respectiva con el cual se conectarn, la conexin a la base de Datos debe de ser por el cliente nativo o en su caso por ODBC, aunque lo mas recomendable es que no sea por ODBC para poder utilizar todas las bondades del Cliente Nativo de la base de datos en uso y tambin as se evita la dependencia de la sintaxis que los ODBCs manejan con las limitantes que se pueden investigar dependiendo la base de datos. Las tablas que se almacenan en la base central cumplirn con el estndar de precedencia de conformacin de las llaves primarias de cada tabla, para que el Generador de Aplicaciones funcione de la mejor forma. Para esto la capa de datos debe de tomar en cuenta si es que existen campos de auditora como pueden ser usuarioActualiza y fechaActualizacion, que guardan el usuario y fecha de actualizacin del registro. Considerando el uso de estos dos campos al momento de insertar y actualizar un registro, para que con fines de auditora se pueda utilizar dicho usuario. Para poder saber cual es el usuario que actualiza se cre la propiedad global que esta en la clase configuracin de la Capa de Entidades (_EL), esto se explica posteriormente en la capa de entidades. Nota: Esta capa se implementa con un Proyecto _DL del tipo Librera de Clases en Visual Studio .Net.
Confidencial
FISDL,
Pgina 16 de 18
Esta capa incluye clases que son representacin de una entidad persistente en la base de datos, y adems se pueden agregar clases no persistentes que se componen de varias tablas. Aqu se deben de crear clases que son colecciones de entidades, y al igual que las Clases de Entidades pueden ser de Tablas persistentes o no. La funcionalidad de esta capa es para el traslado de datos entre capas, aunque tambin en casos por facilidad del programador se puede hacer con DataSets o algn otro objeto nativo de .Net. Nota: Esta capa se implementa con un Proyecto _EL del tipo Librera de Clases en Visual Studio .Net.
Confidencial
FISDL,
Pgina 17 de 18
Confidencial
FISDL,
Pgina 18 de 18