UNIVERSIDAD DE GUAYAQUIL FACULTAD CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES TESIS DE GRADO DESARROLLO DE UN PROTOTIPO DE CONTROL PARA SEGURIDAD INDUSTRIAL ENFOCADA A LA PEQUEÑA Y MEDIANA EMPRESA Autor: Miguel Angel Rodríguez Carriel Tutor: Ing. Eduardo Antonio Alvarado Unamuno Guayaquil: Abril 2011 II ÍNDICE GENERAL CARATULA ................................................................................ ...............I ÍNDICE GENERAL .............................................................................................. II ÍNDICE DE TABLAS .......................................................................................... III ÍNDICE DE GRÁFICOS......................................................................................VI MANUEL TECNICO ................................................................................... 1 DICCIONARIO DE DATOS.............................................................. 1 NOMENCLATURA UTILIZADA PARA LAS VARIABLES Y OBJETOS DEL SISTEMA................................................................................. 1 NOMENCLATURA UTILIZADA EN LAS TABLAS........................... 2 ARQUITECTURA ASP.NET .......................................................... 15 BASES DE DATOS ....................................................................... 17 DIAGRAMA DE BASE DE DATOS CLIENTES ............................. 18 DIAGRAMA DE BASE DE DATOS DE ESTADO ................................ 19 DIAGRAMA DE BASE DE DATOS DE TRANSACCIÓN............... 20 DESCRIPCIÓN DE LA CLASEP .................................................. 21 CONFIGURACIÓN DE ASP.NET CON INTERNET INFORMATION SERVER........................................................................................ 21 BIBLIOGRAFIA ....................................................................................... 26 NETGRAFIA............................................................................................. 26 III ÍNDICE DE TABLAS TABLA N° 1 ................................................................................................ 2 CLASE DE CONEXIÓN A BASE DE DATOS TABLA N° 2 ................................................................................................ 2 NOMBRE DE BASES DE DATOS TABLA N° 3 ................................................................................................ 3 DESCRIPCION DE DISEÑO DE TABLA CL_CONTRATISTA TABLA N°4 ................................................................................................. 4 DESCRIPCION DE DISEÑO DE TABLA CL_EMPLEADOS_CONTRATISTA TABLA N° 5 ................................................................................................ 5 DESCRIPCIÓN DE DISEÑO DE TABLA CL_EMPLEADOS_NOVEDADES_CONTRATISTA TABLA N° 6 ................................................................................................ 6 DESCRIPCIÓN DE DISEÑO DE TABLA CL_USUARIO TABLA N° 7 ................................................................................................ 7 DESCRIPCIÓN DE DISEÑO DE TABLA ES_PAIS IV TABLA N° 8 ................................................................................................ 7 DESCRIPCIÓN DE DISEÑO DE TABLA ES_PROVINCIA TABLA N° 9 ................................................................................................ 8 DESCRIPCIÓN DE DISEÑO DE TABLA ES_CIUDAD TABLA N° 10 .............................................................................................. 8 DESCRIPCIÓN DE DISEÑO DE TABLA TR_LISTADO_PERSONAL TABLA N° 11 .............................................................................................. 9 DESCRIPCIÓN DE DISEÑO DE TABLA TR_CONTRATISTA_LABORA TABLA N° 12 ............................................................................................ 10 DESCRIPCIÓN DE DISEÑO DE TABLA TR_VALIDACION_DOCUMENTO TABLA N° 13 ............................................................................................ 11 DESCRIPCIÓN DE DISEÑO DE TABLA TR_CORREO TABLA N° 14 ............................................................................................ 12 DESCRIPCIÓN DE DISEÑO DE TABLA TR_ALMACENA_DOCUMENTO TABLA N° 15 ............................................................................................ 13 DESCRIPCIÓN DE DISEÑO DE TABLA TR_ORDEN V TABLA N° 16 ............................................................................................ 14 DESCRIPCIÓN DE DISEÑO DE TABLA TR_ORDEN_TRABAJO TABLA N° 17 ............................................................................................ 14 DESCRIPCIÓN DE DISEÑO DE TABLA TR_SECTOR_ORDEN TABLA N° 18 ............................................................................................ 15 DESCRIPCIÓN DE DISEÑO DE TABLA TR_TIPO_NOVEDAD VI INDICE DE GRÁFICOS GRÁFICO N° 1 ......................................................................................... 15 ARQUITECTURA ASP.NET GRÁFICO N° 2 ......................................................................................... 16 CAPAS ARQUITECTURA ASP.NET GRÁFICO N° 3 ......................................................................................... 18 DIAGRAMA DE BASE DATOS CLIENTES GRÁFICO N°4 .......................................................................................... 19 DIAGRAMA DE BASE DATOS ESTADOS GRÁFICO N° 5 ......................................................................................... 20 DIAGRAMA DE BASE DATOS DE TRANSACCION GRÁFICO N° 6 ......................................................................................... 21 DIAGRAMA DE CLASEP GRÁFICO N° 7 ......................................................................................... 23 APLICACIÓN WEB DE ASP.NET GRÁFICO N° 8 ......................................................................................... 24 CREACIÓN DE UNA APLICACIÓN WEB DE ASP.NET VII GRÁFICO N° 9 ......................................................................................... 25 CREACIÓN DE UN DIRECTORIO VIRTUAL EN IIS 1 MANUAL TÉCNICO Diccionario de datos Nomenclatura utilizada para las variables y objetos del sistema. Para etiquetas: lbl(nombre de la etiqueta) Ejemplo: lblnombre.Text Para combos: cmb(nombre del combo) Ejemplo: cmbnombrecontratista.Items.Add("") Para botones: btn(nombre del botón) Ejemplo: btncerrar_Click Para listado: lts(nombre de lista) Ejemplo: lstidemprec.Items.Clear() Para funciones nombre de la función()Z Ejemplo: cargarcontratista() Para paneles: Panel (nombre del panel) Ejemplo: panelsalir.Visible = True 2 TABLA #1 Clase de Conexión a Base de Datos Nombre de la clase ClaseP Donde se utiliza/como se utiliza: En todo el sistema Descripción del contenido: Permite hacer la conexión con la base de datos Información adicional: Contiene la función Conecion y Parametor Fuente : Prototipo de Control de Seguridad Industrial Elaboración: Miguel Rodríguez Carriel Nomenclatura utilizada para las bases de datos TABLA #2 Nombre de Bases de Datos BASES A CREAR ABREVIATURA CLIENTE CL ESTADO ES TRANSACCIÓN TR Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel Nomenclatura utilizada en las tablas Abreviatura de base de datos_nombre de la tabla Ejemplo: CL_contratista Abreviatura utilizada en los campos: nombre de origen/relación_nombre de campo. Ejemplo: cl_co_representante_legal la base_tabla de 3 TABLA #3 Descripcion de diseño de Tabla CL_CONTRATISTA Nombre de la tabla CL_CONTRATISTA Alias Ninguno Descripción: Guarda los datos del contratista Clave principal: cl_co_id Clave secundaria Nombre de variable Tipo de dato Tamaño cl_co_id Numeric 8 cl_co_ced_ruc Varchar (13) cl_co_razon_social Varchar (100) cl_co_direccion Varchar (150) es_ci_id Numeric 8 cl_co_telefono1 Varchar (15) cl_co_telefono2 Varchar (15) cl_co_correo Varchar (150) cl_co_representante_legal Varchar (100) cl_us_id Numeric 8 cl_co_fecha_creacion Datetime 10 cl_co_hora_creacion Datatime 10 cl_co_fecha_modificacion Datetime 10 cl_co_hora_modificacion Datatime 10 cl_co_estado Varchar (15) cl_co_fecha_eliminacion Datetime 10 cl_co_hora_eliminacion Datatime 10 Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel 4 TABLA #4 Descripcion de diseño de Tabla CL_EMPLEADOS_CONTRATISTA Nombre de la tabla CL_EMPLEADOS_CONTRATISTA Alias ninguno Descripción: Guarda los datos del empleado del contratista Clave principal: Cl_em_id Clave secundaria Nombre de columna Tipo de datos Tamaño cl_em_id numeric 8 cl_co_id numeric 8 cl_em_cedula Varchar (10) cl_em_nombres Varchar (150) cl_em_apellido_parterno Varchar (50) cl_em_apellido_materno Varchar (50) cl_em_direccion Varchar (150) cl_em_estado_capacitacion_si Varchar (1) es_ci_id numeric 8 cl_em_telefono1 Varchar (20) cl_em_telefono2 Varchar (20) cl_us_id numeric 8 cl_em_fecha_creacion datetime 10 cl_em_hora_creacion datetime 10 cl_em_fecha_modificacion datetime 10 cl_em_hora_modificacion datetime 10 cl_em_estado Varchar (15) cl_em_fecha_eliminacion datetime 10 cl_em_hora_eliminacion datatime 10 Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel 5 TABLA #5 Descripción de diseño de Tabla CL_EMPLEADOS_NOVEDADES_CONTRATISTA Nombre de la tabla CL_EMPLEADOS_NOVEDADES_CONTRATISTA Alias Descripción: Guarda las novedades del contratista Clave principal: cl_em_novcon_id Clave secundaria: Nombre de columna Tipo de dato Tamaño cl_em_novcon_id numeric 8 cl_em_id numeric 8 cl_em_novcon_tiponovedad varchar (80) cl_em_novcon_observacion varchar (250) cl_us_id numeric 8 cl_em_novcon_fecha_creacion datetime 10 cl_em_novcon_hora_creacion datatime 10 cl_em_novcon_fecha_modificacion datetime 10 cl_em_novcon_hora_modificacion datatime 10 cl_em_novcon_estado varchar (15) cl_em_novcon_fecha_eliminacion datetime 10 cl_em_novcon_hora_eliminacion datatime 10 Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel 6 TABLA #6 Descripción de diseño de Tabla CL_USUARIO Nombre de la tabla: CL_USUARIO Alias: Ninguno Descripción: Guarda los datos de los usuarios del sistema. Clave principal: cl_us_id Clave secundaria: Nombre de columna Tipo de dato Tamaño cl_us_id numeric 8 cl_us_nombre_usuario varchar (150) cl_us_usuario varchar (50) cl_us_clave varchar (20) cl_us_fecha_creacion datetime 10 cl_us_hora_creacion datatime 10 cl_us_fecha_modificacion datetime 10 cl_us_hora_modificacion datatime 10 cl_us_estado varchar (15) cl_us_fecha_eliminacion datetime 10 cl_us_hora_eliminacion datatime 10 cl_us_tipo numeric 8 Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel 7 TABLA #7 Descripción de diseño de Tabla ES_PAIS Nombre de la tabla ES_PAIS Alias: Ninguno Descripción: Guarda los países Clave primaria: Es_pa_id Clave secundaria: Nombre de columna Tipo de dato Descripción es_pa_id numeric 8 es_pa_pais varchar (50) es_pa_estado varchar (15) Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel TABLA #8 Descripción de diseño de Tabla ES_PROVINCIA Nombre de la tabla ES_PROVINCIA Alias: ninguno Descripción: Guarda las Provincias Clave primaria: Es_pr_id Clave secundaria: Nombre de columna Tipo de dato Descripción es_pr_id numeric 8 es_pa_id numeric 8 es_pr_provincia varchar (50) es_pr_estado Varchar (15) Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel 8 TABLA #9 Descripción de diseño de Tabla ES_CIUDAD Nombre de la tabla ES_CIUDAD Alias: Ninguno Descripción: Guarda las ciudades Clave primaria: es_ci_id Clave secundaria: Nombre de columna Tipo de dato Descripción es_ci_id Numeric 8 es_pr_id Numeric 8 es_ci_ciudad Varchar (50) es_ci_estado Varchar (15) Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel TABLA # 10 Descripción de diseño de Tabla TR_LISTADO_PERSONAL Nombre de la tabla TR_LISTADO_PERSONAL Alias: Ninguno Descripción: Guarda el listado del personal que posee el contratista Clave primaria: Tr_li_id Clave secundaria: Nombre de columna Tipo de dato Descripción tr_li_id Numeric 8 cl_em_id Numeric 8 tr_li_desde Datetime 10 tr_li_hasta Datetime 10 tr_li_responsable Varchar (150) cl_us_id Numeric 8 tr_li_fecha_creacion Datetime 10 9 tr_li_hora_creacion Datatime 10 tr_li_fecha_modificacion Datetime 10 tr_li_hora_modificacion Datatime 10 tr_li_estado Varchar (15) tr_li_fecha_eliminacion Datetime 10 tr_li_hora_eliminacion Datatime 10 Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel TABLA #11 Descripción de diseño de Tabla TR_CONTRATISTA_LABORA Nombre de la tabla TR_CONTRATISTA_LABORA Alias: Ninguno Descripción: Guarda los datos de los contratista que están laborando Clave primaria: tr_con_id Clave secundaria: Nombre de columna Tipo de dato Descripción tr_con_id Numeric 8 cl_co_id Numeric 8 tr_con_inicio_labor Datetime 10 tr_con_fin_labor Datetime 10 tr_con_estado_labor Varchar (15) cl_us_id Numeric 8 tr_con_fecha_creacion Datetime 10 tr_con_hora_creacion Datatime 10 tr_con_fecha_modificacion Datetime 10 tr_con_hora_modificacion Datatime 10 tr_con_estado Varchar (15) tr_con_fecha_eliminacion Datetime 10 tr_con_hora_eliminacion Datatime 10 Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel 10 TABLA #12 Descripción de diseño de Tabla TR_VALIDACION_DOCUMENTO Nombre de la tabla TR_VALIDACION_DOCUMENTO Alias: Ninguno Descripción: Guarda la validación de los documentos subidos. Clave primaria: Tr_va_id Clave secundaria: Nombre de columna Tipo de dato Descripción tr_va_id Numeric 8 cl_em_id Numeric 8 tr_con_id Numeric 8 tr_va_tipo_documento Varchar (50) tr_va_estado_documento Varchar (15) tr_va_fecha_documento Datetime 10 tr_va_hora_documento Datatime 10 cl_us_id Numeric 8 tr_va_fecha_creacion Datetime 10 tr_va_hora_creacion Datatime 10 tr_va_fecha_modificacion Datetime 10 tr_va_hora_modificacion Datatime 10 tr_va_estado Varchar (15) tr_va_fecha_eliminacion Datetime 10 tr_va_hora_eliminacion Datatime 10 Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel 11 TABLA #13 Descripción de diseño de Tabla TR_CORREO Nombre de la tabla TR_CORREO Alias: Ninguno Descripción: Guarda los datos de los correos enviados Clave primaria: tr_cor_id Clave secundaria: Nombre de columna Tipo de dato Descripción tr_cor_id Numeric 8 cl_co_id Numeric 8 tr_cor_correo_enviado Varchar (200) tr_cor_fecha_correo Datetime 10 tr_cor_hora_correo Datatime 10 cl_us_id Numeric 8 tr_cor_fecha_creacion Datetime 10 tr_cor_hora_creacion Datatime 10 tr_cor_fecha_modificacion Datetime 10 tr_cor_hora_modificacion Datatime 10 tr_cor_estado Varchar (15) tr_cor_fecha_eliminacion Datetime 10 tr_cor_hora_eliminacion Datatime 10 Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel 12 TABLA #14 Descripción de diseño de Tabla TR_ALMACENA_DOCUMENTO Nombre de la tabla TR_ALMACENA_DOCUMENTO Alias: Ninguno Descripción: Guarda los archivos de los empleados Clave primaria: tr_al_id Clave secundaria: Nombre de columna Tipo de dato tamaño tr_al_id Numeric 8 cl_em_id Numeric 10 tr_al_tipo_documento Varchar (15) tr_al_direccion_almacena Varchar (150) tr_al_estado_documento Varchar (15) cl_us_id Numeric 8 tr_al_fecha_creacion Datetime 10 tr_al_hora_creacion Datatime 10 tr_al_fecha_modificacion Datetime 10 tr_al_hora_modificacion Datatime 10 tr_al_estado Varchar (15) tr_al_fecha_eliminacion Datetime 10 tr_al_hora_eliminacion Datatime 10 Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel 13 TABLA #15 Descripción de diseño de Tabla TR_ORDEN Nombre de la table TR_ORDEN Alias: Ninguno Descripción: Guarda los datos de la orden de trabajo Clave primaria: Tr_or_id Clave secundaria: Nombre de columna Tipo de dato Ancho tr_or_id Numeric [18, 0) cl_co_id Numeric (18, 0) tr_or_tipo_orden Varchar 70 tr_or_duracion_orden Varchar 50 tr_or_sector Varchar 50 cl_us_id Numeric (18, 0) tr_or_fecha_creacion Datetime 10 tr_or_hora_creacion Datetime 10 tr_or_fecha_modificacion Datetime 10 tr_or_hora_modificacion Datetime 10 tr_or_estado Varchar 15 tr_or_fecha_eliminacion Datetime 10 tr_or_hora_eliminacion Datetime 10 Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel 14 TABLA #16 Descripción de diseño de Tabla TR_ORDEN_TRABAJO Nombre de la tabla TR_ORDEN_TRABAJO Alias: Ninguno Descripción: Orden de trabajo de contratista Clave primaria: Ninguna Clave secundaria: Nombre de columna Tipo de dato Tamaño tr_orden Varchar 50 tr_valor Numeric (18,0) Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel TABLA #17 Descripción de diseño de Tabla TR_SECTOR_ORDEN Nombre de la tabla TR_SECTOR_ORDEN Alias: Ninguno Descripción: Sector a donde va dirigida la orden de trabajo Clave primaria: Ninguna Clave secundaria: Nombre de columna Tipo de dato Tamaño tr_sector Varchar 50 tr_valor Numeric (18,0) Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel 15 TABLA #18 Descripción de diseño de Tabla TR_TIPO_NOVEDAD Nombre de la tabla TR_TIPO_NOVEDAD Alias: Ninguno Descripción: Guarda la clasificación o tipo de novedad leve alta moderada. Clave primaria: Ninguna Clave secundaria: Nombre de columna Tipo de dato Tamaño tr_tipo Nchar 50 tr_valor Numeric (18,0) Fuente : Diseño propio de Base de Datos Elaboración: Miguel Rodríguez Carriel Arquitectura ASP.Net Figura # 1. : Arquitectura Asp.Net Fuente : Elaboración Propia de Sistema Elaboración : Miguel Rodriguez Carriel 16 Una aplicación web creada con Asp Net de la forma en la que nuestros amigos de Microsoft la han ideado, implica una arquitectura de 2 capas como la siguiente: Figura # 2. : Capas Arquitectura Asp.Net Fuente : Elaboración Propia de Sistema Elaboración : Miguel Rodriguez Carriel En el caso de la capa de aplicación, Asp.Net 2.0 no requiere que se ubique necesariamente código de la lógica de la aplicac. en el archivo code-behind, ya que también se puede agregar el mismo en el código de presentación (.aspx). De todas formas siempre es aconsejable mantener separado las lógicas de aplicación y presentación. En el caso de la capa de acceso a datos, no es aconsejable acceder desde la capa de aplicación directamente a la BD ( ya sea a través del llamado a procedimientos almacenados ó vía ejecución de comandos SQL) , siempre es mejor crear clases que accedan a la tecnología usada en el acceso a datos; porque ? Porque con esta decisión de diseño, tendremos las siguientes ventajas: o El código de acceso a datos se aísla en una clase separada, por lo cual podemos poner a trabajar a nuestros expertos en BD, mientras los analistas y programadores de lógica de aplicación trabajan en la otra capa. o Podemos afinar la perfomance de la BD (tiempos de acceso, pruebas de stress, etc.) sin afectar el resto de la aplicación con nuestros cambios. o Podemos migrar de tecnología de acceso a datos, por ej.: de SqlServer a Oracle, ó a un ORM (Nhibernate ó Linq, etc); sin afectar las otras capas. (capas como módulos pluggables) 17 Bases de Datos El Prototipo de Control para Seguridad Industrial Enfocada a la Pequeña y Mediana consta de tres bases de datos: • Cliente • Estado • Transacción Cliente posee las siguientes tablas: • cl_contratista, • cl_empleados_contratista • cl_empleados_novedades_contratista • cl_usuario. Estado posee las siguientes tablas: • es_ciudad • es_pais • es_provincia. Transacción posee las siguientes tablas: • tr_almacena_documento, • tr_contratista_labora, • tr_correo, • tr_listado_personal, • tr_orden, • tr_orden_trabajo, • tr_sector_orden, • tr_tipo_novedad, • tr_validacion_documento. 18 Diagrama de Base de datos Clientes Cl_CONTRATISTA Cl_EMPLEADOS_CONTRATISTA cl_co_id cl_co_ced_ruc cl_co_razon_social cl_co_direccion es_ci_id cl_co_telefono1 cl_co_telefono2 cl_co_correo cl_co_representante_legal cl_us_id cl_co_fecha_creacion cl_co_hora_creacion cl_co_fecha_modificacion cl_co_hora_modificacion cl_co_estado cl_co_fecha_eliminacion cl_co_hora_eliminacion cl_em_id cl_co_id cl_em_cedula cl_em_nombres cl_em_apellido_parterno cl_em_apellido_materno cl_em_direccion cl_em_estado_capacitacion_si es_ci_id cl_em_telefono1 cl_em_telefono2 cl_us_id cl_em_fecha_creacion cl_em_hora_creacion cl_em_fecha_modificacion cl_em_hora_modificacion cl_em_estado cl_em_fecha_eliminacion cl_em_hora_eliminacion CL_EMPLEADOS_NOVEDADES_CON TRATISTA cl_em_novcon_id cl_em_id cl_em_novcon_tiponovedad cl_em_novcon_observacion cl_us_id cl_em_novcon_fecha_creacion cl_em_novcon_hora_creacion cl_em_novcon_fecha_modificacion cl_em_novcon_hora_modificacion cl_em_novcon_estado cl_em_novcon_fecha_eliminacion cl_em_novcon_hora_eliminacion Figura # 3. : Diagrama de Base Datos Clientes Fuente : Elaboración Propia de Sistema Elaboración : Miguel Rodriguez Carriel CL_USUARIO cl_us_id cl_us_nombre_usuario cl_us_usuario cl_us_clave cl_us_fecha_creacion cl_us_hora_creacion cl_us_fecha_modificacion cl_us_hora_modificacion cl_us_estado cl_us_fecha_eliminacion cl_us_hora_eliminacion cl_us_tipo 19 Diagrama de Base de Datos de Estado ES_PROVINCIA es_pr_id ES_CIUDAD es_pa_id es_ci_id es_pr_provincia es_pr_id es_pr_estado es_ci_ciudad es_ci_estado ES_PAIS es_pa_id es_pa_pais es_pa_estado Figura # 4. : Diagrama de Base Datos Estados Fuente : Elaboración Propia de Sistema Elaboración : Miguel Rodriguez Carriel 20 Diagrama de Base de Datos de Transacción TR_ORDEN tr_or_id cl_co_id tr_or_tipo_orden tr_or_duracion_orden tr_or_sector cl_us_id tr_or_fecha_creacion tr_or_hora_creacion tr_or_fecha_modificacion tr_or_hora_modificacion tr_or_estado tr_or_fecha_eliminacion tr_or_hora_eliminacion TR_LISTADO_PERSONAL tr_li_id cl_em_id tr_li_desde tr_li_hasta tr_li_responsable cl_us_id tr_li_fecha_creacion tr_li_hora_creacion tr_li_fecha_modificacion tr_li_hora_modificacion tr_li_estado tr_li_fecha_eliminacion tr_li_hora_eliminacion TR_SECTOR_ORDEN tr_sector tr_valor TR_VALIDACION_DOCUMENTO tr_va_id cl_em_id tr_con_id tr_va_tipo_documento tr_va_estado_documento tr_va_fecha_documento tr_va_hora_documento cl_us_id tr_va_fecha_creacion tr_va_hora_creacion tr_va_fecha_modificacion tr_va_hora_modificacion tr_va_estado tr_va_fecha_eliminacion tr_va_hora_eliminacion TR_CORREO tr_cor_id cl_co_id tr_cor_correo_enviado tr_cor_fecha_correo tr_cor_hora_correo cl_us_id tr_cor_fecha_creacion tr_cor_hora_creacion tr_cor_fecha_modificacion tr_cor_hora_modificacion tr_cor_estado tr_cor_fecha_eliminacion tr_cor_hora_eliminacion TR_ORDEN_TRABAJO tr_orden tr_valor TR_CONTRATISTA_LABORA tr_con_id cl_co_id tr_con_inicio_labor tr_con_fin_labor tr_con_estado_labor cl_us_id tr_con_fecha_creacion tr_con_hora_creacion tr_con_fecha_modificacion tr_con_hora_modificacion tr_con_estado tr_con_fecha_eliminacion tr_con_hora_eliminacion TR_ALMACENA_DOCUMENTO tr_al_id cl_em_id tr_al_tipo_documento tr_al_direccion_almacena tr_al_estado_documento cl_us_id tr_al_fecha_creacion tr_al_hora_creacion tr_al_fecha_modificacion tr_al_hora_modificacion tr_al_estado tr_al_fecha_eliminacion tr_al_hora_eliminacion TR_TIPO_NOVEDAD tr_TIPO tr_valor Figura # 5. : Diagrama de Base Datos de Transaccion Fuente : Elaboración Propia de Sistema Elaboración : Miguel Rodriguez Carriel 21 Descripción de la claseP Figura # 6. : Diagrama de ClaseP Fuente : Elaboración Propia de Sistema Elaboración : Miguel Rodriguez Carriel Configuración de ASP.Net con Internet Information Server Existen diversos elementos de configuración y administración en una aplicación Web de ASP.Net. Este tipo de aplicaciones se compone de un conjunto de ficheros almacenados en una carpeta dentro del servidor Web. Para ejecutar una aplicación Web de ASP.Net se necesita que el servidor Web sea compatible con ASP.Net. En este caso se va a utilizar IIS 5.0 (Internet Information Server) como servidor Web. El IIS es un componente de Windows incluido en las versiones profesionales de Windows 2000 y XP. Si no se tiene este componente, se debe proceder a su instalación mediante el icono de 'Agregar o quitar programas' en el panel de control y seleccionando 'Agregar o quitar componentes de Windows' en donde aparecerá el IIS para su instalación. El acceso al IIS se realiza mediante el icono de 'Servicios de Internet Information Server' situado en las 'Herramientas administrativas' dentro del panel de control. 22 El servidor Web IIS permite administrar las aplicaciones Web y comunicarse con los navegadores cliente mediante protocolo http (protocolo de transferencia de hipertexto). El IIS también ofrece otros servicios de protocolo, como transferencia de archivos (FTP), servicio de correo electrónico (SMTP) y servicio de noticias (NNTP). Con el clásico ASP 3.0 era suficiente con tener el IIS instalado en el servidor Web, ya que era el IIS el que directamente interpretaba el código ASP y enviaba la respuesta al cliente. Sin embargo, en ASP.Net se necesita que el servidor Web tenga instalado .Net Framework para poder procesar código de ASP.Net, como ocurre con cualquier otra aplicación de .Net. Es importante decir que los navegadores cliente que accedan a la aplicación Web no necesitan tener instalado IIS ni tampoco .Net Framework ya que es el servidor Web el que tiene que saber interpretar el código de ASP.Net. Cuando se solicita una página de tipo .aspx (página de ASP.Net) el servidor Web de IIS envía la solicitud a .Net Framework que es quien realmente procesa la petición de la página. De esta forma, las aplicaciones Web de ASP.Net se benefician de todas la ventajas de ejecución de código en .Net Framework, ya que el código es compilado y ejecutado por .Net Framework y devuelto al IIS para que éste a su vez lo envíe al cliente. Con ASP.Net también es posible tener código de ASP 3.0 dentro de páginas de ASP.Net, con la ventaja de que el código de ASP 3.0 también se compila junto con el código de ASP.Net aumentando el rendimiento del servidor Web. A continuación, se muestra un ejemplo de los distintos ficheros que pueden existir en una aplicación Web de ASP.Net. 23 Figura # 7. : Aplicación Web de Asp.Net Fuente : Elaboración Propia de Sistema Elaboración : Miguel Rodriguez Carriel Una vez creada la aplicación, el código de servidor se ensambla en un fichero .dll situado en la carpeta Bin de la aplicación Web. Por tanto, una vez realizada la compilación, los ficheros de código (.vb ó .cs) ya no son necesarios para la ejecución de la aplicación ya que están ensamblados en la dll y es aconsejable quitarlos del servidor para que no se pueda acceder desde el exterior a su contenido. En resumen, para que funcione una aplicación Web de ASP.Net se debe tener en el Servidor Web lo siguiente: • Tener instalado IIS 5.0 ó superior en el servidor Web y configurar un directorio virtual asociado a la aplicación Web. • Tener instalado en el servidor Web .Net Framework. • Los archivos .aspx correspondientes a las páginas Web. • Un archivo de ensamblado (DLL) situado en la carpeta Bin de la aplicación Web, que contiene el código de servidor que necesitan las páginas aspx. 24 • Un archivo llamado Global.asax que sirve para el control general de la aplicación durante su ejecución. • Un archivo llamado Web.config donde se establece la configuración de la aplicación. Aunque este fichero es opcional se necesita cuando se quieren establecer parámetros de configuración que no sean los de por defecto. • De manera adicional también puede aparecer en la carpeta Web otro tipo de archivos como: o Archivos .ascx (controles personalizados de usuario de ASP.Net) o Archivos .asmx (servicios Web XML de ASP.Net). o Páginas .htm ó .html (páginas Web estáticas) o Páginas .asp (páginas activas de servidor) o Archivos .css (hojas de estilo CSS, Cascade Style Sheet). o Documentos, imágenes, etc... Para terminar, se va a crear una aplicación Web de tipo ASP.Net y a instalarla en un servidor Web con IIS. El primer paso es crear la aplicación Web, para ello se entra en Visual Studio .Net y en el menú 'Archivo' se selecciona 'Nuevo proyecto'. Aquí se debe elegir uno de los lenguajes disponibles y seleccionar 'Aplicación Web ASP.Net'. Figura # 8. : Creación de una aplicación Web de Asp.Net Fuente : Elaboración Propia de Sistema Elaboración : Miguel Rodriguez Carriel 25 De forma automática, al crear un nuevo proyecto Web, Visual Studio .Net crea un directorio virtual en el IIS y lo asocia con la aplicación Web. Si se ha instalado IIS con la configuración por defecto, el sitio Web predeterminado (localhost) será 'c:\inetpub\wwwroot'. En el caso de que se tuviera una aplicación Web de ASP.Net ya creada y se desee instalar en un servidor Web, se debe copiar la carpeta con la aplicación en el servidor Web y asociarla manualmente a un directorio virtual. Para ello, dentro de IIS se selecciona el elemento de 'Sitio Web predeterminado' y pulsando con el botón derecho se selecciona la opción: 'Nuevo' > 'Directorio virtual' donde mediante un asistente se asocia la carpeta de la aplicación Web a un directorio virtual en el servidor. Figura # 9. : Creación de un directorio virtual en IIS Fuente : Elaboración Propia de Sistema Elaboración : Miguel Rodriguez Carriel 26 BIBLIOGRAFIA NETGRAFIA CONFIGURACION DE UNA Articulo creado por Francisco Recio y David APLICACIÓN EN ASP.NET Provencio de: http://www.desarrolloweb.com/articulos/1519. php ARQUITECTURA DE Publicado por Jorge Ercoli de: SISTEMAS DE http://metodologiasdesistemas.blogspot.c INFORMATICOS: om/2007/11/arquitectura-asp-net-clsica- ARQUITECTURA ASP.NET modelo-de.html CLASICA, MODELO DE WEBFORMS