Vous êtes sur la page 1sur 18

SGO - Sistema de Gestin de Operaciones Administracin de Contratos Documento de Arquitectura de Software

Versin 1.3

SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software

Versin: 1.3 Fecha: 04/01/2007

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

SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software

Versin: 1.3 Fecha: 04/01/2007

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

SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software

Versin: 1.3 Fecha: 04/01/2007

Documento de Arquitectura de Software


1.Introduccin
Propsito Este documento provee un panorama general y comprensible de la arquitectura del sistema, el cual fue modelado con UML y pretende mostrar puntos importantes y/o relevantes para la toma de decisiones importantes sobre cambios o adecuaciones de los componentes de la arquitectura. Se pretende mostrar de una forma clara el porque de la Arquitectura elegida y su utilizacin en las distintas etapas del Desarrollo de Software apegado a la metodologa RUP (Racional Unified Process).

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.

Versin: 1.3 Fecha: 04/01/2007

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.]

3.Restricciones y Metas de la Arquitectura


Piezas de Software de Terceros. Se detalla a continuacin las piezas y/o software utilizados en la Arquitectura. Microsoft Applications Blocks Esta pieza de Software contiene las mejores prcticas propuestas por Microsoft en el rea de Manejo de Excepciones, Acceso a Datos, Configuracin, Seguridad, etc. En la arquitectura actual se utiliza VBCommenter Esta utilera se solicita tenerla instalada para la documentacin de la programacin. Mas detalles de cmo realizar comentarios en Guas de Programacin - SGO.doc. Esta herramienta es de licenciamiento gratuito y se encuentra disponible para utilizarlo en http://www.gotdotnet.com/team/ide/helpfiles/VBCommenter.aspx Restricciones Es importante notar que para el Diseo y Programacin existen guas que son importantes tomar en cuenta para las distintas etapas del desarrollo de software. El contenido de este Documento puede modificar sus alcances dependiendo de la madurez que se haya obtenido en las distintas iteraciones del desarrollo del sistema.

4.Vista de Casos de Uso


Listado de Casos de Uso. Id de CU CU-001 CU-002 CU-003 CU-004 CU-005 CU-006 CU-007 CU-008 CU-009 CU-010 CU-011 CU-012 Confidencial Nombre de CU Recibir Contrato Verificar Condiciones Previas Generar Orden de Inicio Procesar Solicitud de Pago de Anticipo Ingresar Solicitud de Estimacin Aceptar Solicitud de Estimacin Ingresar Solicitud de Estimacin Final (Liquidar Contrato) Aceptar Solicitud de Prorroga o Reasignacin Recalcular Saldos de Contrato y Notificar Procesar Solicitud de Suspensin Mantener Programacin de Contrato Registrar Avance de Contrato FISDL, Pgina 5 de 18

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

Versin: 1.3 Fecha: 04/01/2007

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.]

6.Vista de Puesta en Marcha (Deployment)


[Esta seccion describe una o ms configuraciones de hardware o redes fsicas sobre las cuales se pondr en produccin el sistema. Para cada configuracin se debe incluir por lo menos lo siguiente: nodos fsicos (computadoras, CPUs) que ejecutan el software y sus interconexiones (bus, LAN, punto a punto, ...). Tambin se incluye un mapeo de los procesos (Vista de Procesos) a los nodos fsicos.]

Confidencial

FISDL,

Pgina 6 de 18

SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software

Versin: 1.3 Fecha: 04/01/2007

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:

Versin: 1.3 Fecha: 04/01/2007

Cliente Servidor Web Externo


Capa de present acion Formularios

Firewall

Cliente

Internet

Cliente

Servidor de Aplicaciones Servidor de Datos


Base de datos Fachada de Servicios Capa de logica de negocios Capa de Entidades Empresariales Capa de Datos

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:

Versin: 1.3 Fecha: 04/01/2007

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

Versin: 1.3 Fecha: 04/01/2007

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:

Versin: 1.3 Fecha: 04/01/2007

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

SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software

Versin: 1.3 Fecha: 04/01/2007

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:

Versin: 1.3 Fecha: 04/01/2007

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

Versin: 1.3 Fecha: 04/01/2007

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

Versin: 1.3 Fecha: 04/01/2007

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

Versin: 1.3 Fecha: 04/01/2007

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

SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software

Versin: 1.3 Fecha: 04/01/2007

Capa de Entidades Empresariales

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

SGO - Sistema de Gestin de Operaciones Administracin de Contr Documento de Arquitectura de Software

Versin: 1.3 Fecha: 04/01/2007

Confidencial

FISDL,

Pgina 18 de 18