Universidad de Cuenca Facultad de Ingeniería Maestría en Telemática Proyecto: Diseño de una solución Telemática para el Sistema de Parqueo Tarifado de la ciudad de Cuenca. Título de la Tesis: Diseño e implementación de la Red IP y del Sistema de Información. Tesis previa a la obtención del grado de Magíster en Telemática. Autor: Ing. Adriana Paola Méndez Rojas. Director: Ing. Raúl Ortiz Gaona. Cuenca - Ecuador junio, 2008. Universidad de Cuenca – Facultad de Ingeniería RESUMEN La investigación presenta una solución innovadora para la automatización del sistema de parqueo tarifado de la ciudad de Cuenca, analiza las diferentes tecnologías y su factibilidad de aplicación de acuerdo a la situación concreta de nuestra ciudad, de los usuarios y de la empresa municipal Sistema de Estacionamiento Rotativo Tarifado (SERT). Esta investigación se fundamenta en el análisis técnico del uso de tarjetas de Identificación por Radio Frecuencia (RFID) y tarjetas con código de barras para la identificación de vehículos; receptores GPS para la captura de las coordenadas geográficas de los vehículos, arquitectura orientada a servicios, Sistemas de Información Geográfica y determina la solución adecuada en tecnología para la implementación del sistema de parqueo automatizado en la ciudad de Cuenca. Como complemento, se realiza la evaluación financiera para demostrar la factibilidad y viabilidad de ejecución de la alternativa recomendada. El primer capítulo se inicia con una caracterización de la situación mundial y en el Ecuador sobre la administración y control del parqueo; luego se introduce la investigación con el planteamiento del problema, la formulación de objetivos, Adriana Paola Méndez Rojas 2 Universidad de Cuenca – Facultad de Ingeniería alcance, el diseño metodológico y la justificación del proyecto de tesis. En el segundo capítulo se aborda temas tales como la Arquitectura de Software, Arquitectura Orientada a servicios (SOA) y la arquitectura de software utilizada en el desarrollo de la solución telemática del sistema de parqueo tarifado de la ciudad de Cuenca, definiéndose una arquitectura de tres capas, en donde la capa de presentación se realizó en Visual C#, la de aplicación o de negocio se desarrolló por medio de servicios web y para la de datos se utilizó la base de datos Microsoft SQL Server. El tercer capítulo se inicia con el diagrama de contexto de la solución propuesta para el sistema de parqueo de la ciudad de Cuenca; se describe el diseño y la implementación de la solución donde se indica los algoritmos utilizados en la capa de presentación, los principales servicios web utilizados en la capa de aplicación y por último, el diagrama y estructura de la base de datos del sistema. En el cuarto capítulo se realiza un estudio técnico y de precios de las diferentes alternativas tecnológicas para la identificación de vehículos. Se analiza principalmente la tecnología RFID y la tecnología del código de barras. En este capitulo también se Adriana Paola Méndez Rojas 3 Universidad de Cuenca – Facultad de Ingeniería investiga la tecnología GPS, que nos permite capturar las coordenadas geográficas de un punto de interés. En el capítulo quinto se analizan las alternativas tecnológicas para el transporte de datos; indicando sus precios, características, ventajas, desventajas y evolución tecnológica de las redes GSM/GPRS y CDMA2000; finalmente se realiza un estudio comparativo de estas tecnologías. En el sexto capítulo se analizan las principales características de funcionamiento del sistema actual: procedimiento de registro de parqueo, sitios de estacionamiento tarifado, personal, equipamiento y estadísticas sobre el uso de lugares de parqueo, tasas de irrespeto, montos de recaudación por infracciones, entre otros. Complementariamente, se realiza la evaluación financiera del sistema propuesto, efectúandose la determinación de las inversiones, costos, gastos e ingresos, en definitiva el flujo de efectivo con el propósito de establecer los recursos requeridos para su implementación y el rendimiento de los mismos. En el capitulo séptimo se plantean las principales conclusiones de esta tesis y las conclusiones del proyecto general, así como algunas recomendaciones. Adriana Paola Méndez Rojas 4 Universidad de Cuenca – Facultad de Ingeniería El presente proyecto de tesis forma parte de un proyecto de mayor alcance denominado “Solución Telemática para el Sistema de Parqueo Tarifado de la ciudad de Cuenca”, donde la parte complementaria está desarrollado en la tesis del Ing. Patricio Pesantez Sarmiento. Palabras Claves: Arquitectura en capas, Arquitectura orientada a servicios (SOA), CDMA2000, Flujo de Efectivo, GSM/GPRS, Servicios WEB(Web Service), Sistemas de Información Geográfica(GIS), Sistema de Posicionamiento Global (GPS), Tarjetas con código de barras, Tarjetas de Identificación por Radio Frecuencia (RFID), TIR, VAN. RESUMEN ................................................................................................................................................................ 2 AGRADECIMIENTO.............................................................................................................................................. 8 INDICE DE CONTENIDO ................................................................................................................................... 11 ÍNDICE DE GRÁFICOS....................................................................................................................................... 14 ÍNDICE DE TABLAS ............................................................................................................................................ 16 CAPITULO I.- INTRODUCCIÓN ...................................................................................................................... 19 CAPITULO II.- SELECCION DE LAS PLATAFORMAS Y SOFTWARE A SER UTILIZADO EN EL SISTEMA ................................................................................................................................................................ 36 CAPITULO III.- DISEÑO, IMPLEMENTACION Y EVALUACION DE LA SOLUCION....................... 93 CAPITULO IV.- ANALISIS DE PRECIOS DE LAS ALTERNATIVAS TECNOLÓGICAS PARA LA IDENTIFICACIÓN DE LOS VEHÍCULOS Y POSICIONAMIENTO GEOGRÁFICO .......................... 167 CAPITULO V.- ESTUDIO DE PRECIOS DE LAS ALTERNATIVAS TECNOLÓGICAS PARA EL TRANSPORTE DE DATOS ............................................................................................................................... 193 CAPITULO VI.- EVALUACIÓN FINANCIERA DEL SISTEMA DE ESTACIONAMIENTO ROTATIVO TARIFADO ACTUAL Y PROPUESTO.................................................................................... 213 CAPITULO VII.- CONCLUSIONES Y RECOMENDACIONES................................................................. 255 BIBLIOGRAFIA .................................................................................................................................................. 263 ACRÓNIMOS ....................................................................................................................................................... 267 ANEXOS................................................................................................................................................................ 269 Adriana Paola Méndez Rojas 5 Universidad de Cuenca – Facultad de Ingeniería ABSTRACT The investigation presents an innovative solution for the automation of the Rotating Paid Parking System for Cuenca city, it also analyzes the different technologies and their feasibility of application according to the concrete situation of our city, its users and the municipal company Rotating Paid Parking System (SERT). This investigation is based on the technical analysis of the use of cards for radio frequency identification (RFID) and bar code cards for the identification of vehicles; GPS receptors to capture the geographic coordinates of vehicles, service oriented architecture, Geographical Information Systems as to determine a suitable technological solution for the implementation of the Paid Parking System for Cuenca city. As a complement, there is a financial evaluation to demonstrate the feasibility and viability of implementation of the recommended alternative. Chapter one starts up with a characterization of the situation worldwide and in Ecuador on the administration and control of the parking spaces; next, the investigation is introduced with eliciting the problem, objectives formulation, reach, methodology and justification of the thesis project. Chapter two discusses topics such as the software architecture, service oriented architecture ( SOA ) and software architecture used for the development of data com solution of the Rotating Paid Parking System for Cuenca city, by defining a threelayer architecture, where the presentation layer was developed in Visual C #, the application or business layer is based on Web services and the data base on Microsoft SQL Server. Chapter three starts up with the context diagram for the proposed solution for the Parking System for Cuenca city; the design and implementation of the solution are described where the algorithms used in the presentation layer are indicated, the main web services used in the application layer are described and finally, the diagram and structure of the system data base. Adriana Paola Méndez Rojas 6 Universidad de Cuenca – Facultad de Ingeniería Chapter four describes a technical and pricing study of the different technological alternatives for the identification of vehicles. It also examines principally RFID and bar code technologies. It also deals with GPS, which allows us capturing the geographic coordinates of a particular spot. Chapter five examines the technological alternatives for data transportation; indicating their prices, characteristics, advantages, disadvantages and technological evolution of GSM/GPRS and CDMA2000 networks; finally a comparative study of these technologies is presented. Chapter six analyzes the principal functioning characteristics of the present-day system: parking registration procedure, places for paid parking, staff, equipment and statistics on the use of parking areas, rates of disrespect, amounts collected for infractions, among others. As a complement, the financial evaluation of the proposed system is presented by considering the determination of investment, costs, expenditure and income, in brief, the cash flow in order to establish the resources required for its implementation and performance. Chapter seven contains the principal conclusions of this thesis and those of the general project, as well as some recommendations. The thesis project herein is a part of a broader project named, Telematic Solution for the Paid Parking System for Cuenca city, whose complement is developed in the thesis presented by engineer Patricio Pesantez Sarmiento. Adriana Paola Méndez Rojas 7 Universidad de Cuenca – Facultad de Ingeniería AGRADECIMIENTO Esta tesis de Maestría es fruto de la dedicación y esfuerzo desplegado a lo largo de los últimos meses, así como de la guía espiritual de Dios en mi vida y del apoyo incondicional de mis Padres y Hermanos. A mi Director de Tesis, Ing. Raúl Ortiz Gaona, quién supo impartir sus valiosos conocimientos. A mi compañero Patricio Pesantez, quién con su criterio abierto y visionario, colaboró para realizar satisfactoriamente este trabajo de investigación. A todos ellos, mi profundo agradecimiento. Paola. Adriana Paola Méndez Rojas 8 Universidad de Cuenca – Facultad de Ingeniería CERTIFICACIÓN Yo, Ing. Raúl Ortiz Gaona, CERTIFICO que bajo mi supervisión y dirección la Ing. Paola Méndez Rojas elaboró la tesis titulada “Diseño e implementación de la red IP y del sistema de información” que forma parte del proyecto Diseño de una solución telemática para el sistema de parqueo tarifado de la ciudad de Cuenca”. __________________________ Ing. Raúl Ortiz Gaona. DIRECTOR DE TESIS Adriana Paola Méndez Rojas 9 Universidad de Cuenca – Facultad de Ingeniería El contenido de esta tesis es de absoluta responsabilidad del autor. _____________________ Ing. Paola Méndez Rojas Adriana Paola Méndez Rojas 10 Universidad de Cuenca – Facultad de Ingeniería INDICE DE CONTENIDO RESUMEN ................................................................................................................................................................ 2 AGRADECIMIENTO.............................................................................................................................................. 8 INDICE DE CONTENIDO ................................................................................................................................... 11 ÍNDICE DE GRÁFICOS....................................................................................................................................... 14 ÍNDICE DE TABLAS ............................................................................................................................................ 16 CAPITULO I........................................................................................................................................................... 19 INTRODUCCIÓN .................................................................................................................................................. 19 1.1 ANTECEDENTES ............................................................................................................................................ 22 1.2 ESTADO DEL ARTE......................................................................................................................................... 23 1.2.1 Realidad mundial................................................................................................................................... 23 1.2.2 Situación en el Ecuador......................................................................................................................... 26 1.3 OBJETIVOS .................................................................................................................................................... 27 1.3.1 Objetivos generales ............................................................................................................................... 27 1.3.2 Objetivos específicos ............................................................................................................................. 28 1.4 ALCANCE ....................................................................................................................................................... 29 1.5 METODOLOGÍA DE TRABAJO......................................................................................................................... 31 1.6 DESCRIPCIÓN DE PROBLEMAS Y NECESIDADES .......................................................................................... 32 1.6.1 Necesidades a ser satisfechas................................................................................................................ 32 1.6.2 Problemas a ser resueltos ..................................................................................................................... 32 1.7 JUSTIFICACIÓN .............................................................................................................................................. 33 1.7.1 Beneficios para el usuario..................................................................................................................... 33 1.7.2 Beneficios para la municipalidad ......................................................................................................... 34 1.7.3 Beneficios para el maestrante ............................................................................................................... 34 CAPITULO II ......................................................................................................................................................... 36 SELECCION DE LAS PLATAFORMAS Y SOFTWARE A SER UTILIZADO EN EL SISTEMA ......... 36 2.1 ARQUITECTURA DEL SOFTWARE .................................................................................................................. 36 2.2 ARQUITECTURA EN CAPAS ........................................................................................................................... 38 2.2.1 Capas o niveles ...................................................................................................................................... 42 2.3 ARQUITECTURA ORIENTADA A SERVICIOS (SOA) ...................................................................................... 44 2.3.1 Introducción........................................................................................................................................... 44 2.3.2 Concepto ................................................................................................................................................ 45 2.3.3 Elementos que constituyen una Arquitectura Orientada a Servicios................................................... 47 2.3.4 Estándares Empleados .......................................................................................................................... 50 2.3.5 Beneficios de SOA.................................................................................................................................. 51 2.4 ARQUITECTURA DE SOFTWARE UTILIZADA ................................................................................................... 54 2.4.1 Capa de Presentación............................................................................................................................ 54 2.4.2 Capa Lógica de aplicación o de negocio.............................................................................................. 61 2.4.3 Capa de Datos ....................................................................................................................................... 91 Adriana Paola Méndez Rojas 11 Universidad de Cuenca – Facultad de Ingeniería CAPITULO III ....................................................................................................................................................... 93 DISEÑO, IMPLEMENTACION Y EVALUACION DE LA SOLUCION ..................................................... 93 3.1 DIAGRAMA DE CONTEXTO ............................................................................................................................ 94 3.2 DIAGRAMA DE NIVEL ..................................................................................................................................... 99 3.3 Descripción del Funcionamiento del Sistema........................................................................................ 100 3.4 CAPA DE PRESENTACIÓN ........................................................................................................................... 101 3.4.1 Interfaces del Sitio Web....................................................................................................................... 101 3.4.2 Algoritmos de la Capa de Presentación del Sitio web........................................................................ 119 3.4.3 Algoritmos de la Capa de Presentación del Sistema de registro de parqueo.................................... 133 3.5 CAPA LÓGICA DE APLICACIÓN O DE NEGOCIO ........................................................................................... 154 3.6 CAPA DE DATOS .......................................................................................................................................... 160 3.6.1 Diagrama de Base de Datos del Sistema de Parqueo Tarifado Automatizado ................................. 160 3.6.2 Estructura de la Base de Datos........................................................................................................... 160 CAPITULO IV...................................................................................................................................................... 167 ANALISIS DE PRECIOS DE LAS ALTERNATIVAS TECNOLÓGICAS PARA LA IDENTIFICACIÓN DE LOS VEHÍCULOS Y POSICIONAMIENTO GEOGRÁFICO .............................................................. 167 4.1 ANTECEDENTES .......................................................................................................................................... 167 4.2 ANÁLISIS DE PRECIOS DE LA TECNOLOGÍA RFID ..................................................................................... 169 4.2.1 Lector RFID......................................................................................................................................... 170 4.2.2 TAG RFID............................................................................................................................................ 173 4.2.3 Precios de TAGS RFID........................................................................................................................ 177 4.3 ANÁLISIS DE PRECIOS DEL CÓDIGO DE BARRAS ....................................................................................... 181 4.3.1 Códigos de Barras ............................................................................................................................... 181 4.3.2 Lector de Códigos de Barras............................................................................................................... 181 4.4 ANÁLISIS DE PRECIOS DEL SISTEMA DE POSICIONAMIENTO GLOBAL (GPS).......................................... 182 4.4.1 El Sistema de Posicionamiento GPS................................................................................................... 182 4.4.2 Aplicaciones del GPS .......................................................................................................................... 185 4.4.3 Tipos de Receptores GPS .................................................................................................................... 187 4.4.4 Precios de Receptores GPS ................................................................................................................. 189 CAPITULO V ....................................................................................................................................................... 193 ESTUDIO DE PRECIOS DE LAS ALTERNATIVAS TECNOLÓGICAS PARA EL TRANSPORTE DE DATOS................................................................................................................................................................... 193 5.1 RED GSM/GPRS ....................................................................................................................................... 193 5.1.1 Evolución y Costos de la Red GSM/GPRS.......................................................................................... 193 5.1.2 Precios del Transporte de datos de la Red GPRS y EDGE/GPRS..................................................... 197 5.2 RED CDMA2000........................................................................................................................................ 199 5.2.1 Evolución de la Red CDMA2000 ........................................................................................................ 199 5.2.2 Precios del Transporte de datos de la Red CDMA2000..................................................................... 203 5.3 ESTUDIO COMPARATIVO DE LA RED GPRS Y CDMA2000..................................................................... 204 5.4 CÁLCULO DE TRÁFICO Y DIMENSIONAMIENTO DE LA RED IP..................................................................... 206 5.4.1 Volúmen de Transferencia................................................................................................................... 206 5.4.2 Ancho de Banda................................................................................................................................... 208 CAPITULO VI...................................................................................................................................................... 213 EVALUACIÓN FINANCIERA DEL SISTEMA DE ESTACIONAMIENTO ROTATIVO TARIFADO ACTUAL Y PROPUESTO.................................................................................................................................. 213 Adriana Paola Méndez Rojas 12 Universidad de Cuenca – Facultad de Ingeniería 6.1 SISTEMA DE ESTACIONAMIENTO ROTATIVO TARIFADO ACTUAL .............................................................. 213 6.1.1 Descripción General............................................................................................................................ 214 6.1.2 Sitios de Estacionamiento Tarifado .................................................................................................... 216 6.1.3 Descripción del Personal que labora en la SERT .............................................................................. 216 6.1.4 Arquitectura del Software del Sistema de la SERT............................................................................. 218 6.1.5 Equipamiento ....................................................................................................................................... 220 6.2 DESCRIPCIÓN DE LA PROPUESTA TÉCNICA PARA EL PARQUEO TARIFADO DE LA CIUDAD DE CUENCA 221 6.2.1 Obtener y usar la Tarjeta .................................................................................................................... 221 6.2.2 Sistemas de Consulta y Recarga ......................................................................................................... 223 6.2.3 Lectores de Consulta ........................................................................................................................... 226 6.3 FLUJOS DE DATOS ....................................................................................................................................... 227 6.3.1 Flujo de Datos de la Transacción ....................................................................................................... 227 6.3.2 Flujo de Datos de la Recarga.............................................................................................................. 228 6.3.3 Flujo de la venta de Tarjetas............................................................................................................... 229 6.4 EVALUACIÓN FINANCIERA ........................................................................................................................... 230 6.4.1 Características del funcionamiento del Sistema Actual ..................................................................... 231 6.4.2 Evaluación Financiera de la solución propuesta ............................................................................... 239 CAPITULO VII .................................................................................................................................................... 255 CONCLUSIONES Y RECOMENDACIONES................................................................................................. 255 7.1 CONCLUSIONES ........................................................................................................................................... 255 7.2 RECOMENDACIONES ................................................................................................................................... 260 BIBLIOGRAFIA .................................................................................................................................................. 263 ACRÓNIMOS ....................................................................................................................................................... 267 ANEXOS............................................................................................................................................................... 269 Adriana Paola Méndez Rojas 13 Universidad de Cuenca – Facultad de Ingeniería ÍNDICE DE GRÁFICOS CAPITULO II SELECCION DE LAS PLATAFORMAS Y SOFTWARE A SER UTILIZADO EN EL SISTEMA Figura 2.1 Arquitectura cliente-servidor ….....…………..………………………...…………………….. 37 Figura 2.2 Arquitectura en tres capas …….………………….......………….………………………….. 39 Figura 2.3 Arquitectura web en cuatro capas ….……….…..………………………...………………... 41 Figura 2.4 Arquitectura web en tres capas ….………..….……………………………………………... 41 Figura 2.5 Arquitectura Orientada a Servicios (SOA) …..……..……………………………….………. 45 Figura 2.6 Elementos de SOA ………………..……………….………………………….………….…… 47 Figura 2.7 Elementos de SOA: Servidores ….…..…………….…………………….……….…………. 48 Figura 2.8 Definición ASP ….…………..……………………….…………………………………...…… 69 Figura 2.9 Comunicación usando SOAP ….....……………….………………………………………… 74 Figura 2.10 Servicios web en funcionamiento …...……..…….…………….………………………….. 75 Figura 2.11 Estructura de un mensaje SOAP ….……………….………..…………………………..… 81 Figura 2.12 SOAP, WSDL, UDDI y Web Services ….………….……….………………………...…… 85 Figura 2.13 GIS Vectoriales y GIS Raster ….…………………………….…………………………….. 89 CAPITULO III DISEÑO, IMPLEMENTACION Y EVALUACION DE LA SOLUCION Figura 3.1 Diagrama General de la solución telemática del Sistema de Parqueo Tarifado de la ciudad de Cuenca .…………………………………………………………………………………………………….. 96 Figura 3.2 Diagrama de contexto del diseño de la solución telemática del Sistema de Parqueo Tarifado de la ciudad de Cuenca ………………………………………………………………..…………. 97 Figura 3.3 Diagrama de contexto detallado del diseño de la solución telemática del Sistema de Parqueo Tarifado de la ciudad de Cuenca …………..………………………………………...………….. 98 Figura 3.4 Diagrama de Nivel del Diseño de una solución Telemática para el Sistema de Parqueo Tarifado de la Ciudad de Cuenca. Subtema: Diseño e Implementación de la Red IP y del Sistema de Información ……………………………………..……………………….……………..……………………… 99 Figura 3.5 Pantalla principal del sitio web…………………..…..…………………….………………….. 102 Figura 3.6 Búsqueda de Infracciones……………………………………..…..……………………..….... 104 Figura 3.7 Resultado de la búsqueda de infracciones…………..…………..………………………..… 105 Figura 3.8 Consulta de Infracciones………………………………..………………………………..….… 106 Figura 3.9 Ubicación del vehiculo infraccionado ……………………..………..………………………... 110 Figura 3.10 Consulta a la Base de Datos ……………………………………….……………………….. 112 Figura 3.11Control de Tiempo en las Tarjetas RFID …………………………………………..…..…… 115 Figura 3.12 Recarga de Tiempo en las Tarjetas RFID ……..……………………………………..…… 116 Figura 3.13 Consulta de vehículos estacionados ……………………………………………….………. 117 Figura 3.14 Consulta a la base de datos del vehículo estacionado ………………………...….... 118 Adriana Paola Méndez Rojas 14 Universidad de Cuenca – Facultad de Ingeniería CAPITULO IV ANALISIS DE PRECIOS DE LAS ALTERNATIVAS TECNOLÓGICAS PARA LA IDENTIFICACIÓN DE LOS VEHÍCULOS Y POSICIONAMIENTO GEOGRÁFICO Figura 4.1 Lector RFID Fijo ………………………………..……………………………………………… 171 Figura 4.2 Lector RFID Fijo de la empresa ZeitControl utilizado en el prototipo ..………………….. 171 Figura 4.3 Lector RFID Móvil …………………………………………………………..…………………. 172 Figura 4.4 PDA con lector RFID ……………………………………………………………..…………... 173 Figura 4.5 Detalle de una tarjeta SMART RFID …..……………………………………………...…….. 174 Figura 4.6 Tipos de TAGs RFID de la empresa ZeitControl ……………………………..……………. 175 Figura 4.7 Diferentes tipos de TAGs RFID con varios modelos de la Empresa ZeitControl ………. 176 Figura 4.8 Lector de Código de Barras para PDA ……………………………………….…….……….. 181 Figura 4.9 Triangulación de satélites para determinar la posición geográfica …..…….…………….. 184 Figura 4.10 Estación de referencia DGPS ……………………………………………….….…………... 185 Figura 4.11 Aplicación del GPS para la navegación en combinación con un mapa de la zona …....187 Figura 4.12 Equipo GPS marca TOMTOM …….……………………….……………………………..... 191 CAPITULO V ESTUDIO DE PRECIOS DE LAS ALTERNATIVAS TECNOLÓGICAS PARA EL TRANSPORTE DE DATOS Figura 5.1 Red de Datos para la comunicación entre dispositivos móviles y el Servidor Central (Municipio de Cuenca - SERT) …..…………………………………………………………….…………. 198 Figura 5.2 Evolución de la tecnología celular GSM y CDMA2000 …………………………...………. 205 CAPITULO VI EVALUACIÓN FINANCIERA DEL SISTEMA DE ESTACIONAMIENTO ROTATIVO TARIFADO ACTUAL Y PROPUESTO Figura 6.1 Tarjeta de estacionamiento usada actualmente………………………..…………………… 214 Figura 6.2 Toma de datos por parte del Inspector del vehículo que cometió la infracción……….… 216 Figura 6.3 Interface para el ingreso de los datos de la Infracción ……………………………………. 219 Figura 6.4 Interface para el ingreso de los datos de Control …………………………..……………… 220 Figura 6.5 Servicio IVR ……...…………………………………………………………………….……..... 225 Figura 6.6 Tarjeta/Monedero para Recarga …….…………………………………………….….……… 226 Figura 6.7 Lector de Tarjeta en un Centro Comercial ………………………………………....…….…. 227 Figura 6.8 Flujo de Datos de la Transacción …………………………………………………….…….... 228 Figura 6.9 Flujo de Datos de la recarga de la tarjeta RFID …………………………………………..... 229 Figura 6.10 Flujo de ventas de las tarjetas RFID ……………………………………….…………..….. 230 Figura 6.11 Comparación de la Tasa de irrespeto en los últimos períodos registrados ……..…….. 235 Figura 6.12 Parque Automotor de la Provincia del Azuay ………….………….……..………….……. 241 Adriana Paola Méndez Rojas 15 Universidad de Cuenca – Facultad de Ingeniería ÍNDICE DE TABLAS CAPITULO III DISEÑO, IMPLEMENTACION Y EVALUACION DE LA SOLUCION Tabla 3.1 Tipos de Infracción………….……………………………….……….………………………..... 108 CAPITULO IV ANALISIS DE PRECIOS DE LAS ALTERNATIVAS TECNOLÓGICAS PARA LA IDENTIFICACIÓN DE LOS VEHÍCULOS Y POSICIONAMIENTO GEOGRÁFICO Tabla 4.1 Precios de Lectores RFID Móviles y de Escritorio………………………………...….…….. 173 Tabla 4.2 Precio de TAGs de la Empresa Zeit Control………………………………….…….….……. 178 Tabla 4.3 Características de las tarjetas RFID Mifare Classic 1k y 4k…………………….…….…… 179 Tabla 4.4 Precios de TAGs RFID de la empresa SmartCardWorld………………………………..…. 180 Tabla 4.5 Precios de Lectores Código de Barras para PDAs……….………………………...........… 182 Tabla 4.6 Análisis Comparativo de precios de receptores GPS…………………………………..…... 191 CAPITULO V ESTUDIO DE PRECIOS DE LAS ALTERNATIVAS TECNOLÓGICAS PARA EL TRANSPORTE DE DATOS Tabla 5.1 Evolución de la tecnología GSM…………………………………..…….…………………..... 196 Tabla 5.2 Precios del transporte de datos para PDAs que utilizan la red GPRS de PORTA …...... 198 Tabla 5.3 Precios del transporte de datos utilizando Internet…..………………….…………….….… 199 Tabla 5.4 Evolución de la tecnología CDMA2000……………………..……..……….………………… 202 Tabla 5.5 Precios del transporte de datos utilizando la tecnología CDMA2000 1xRTT y 1xEV-DO de ALEGRO para PDAs usando Internet………..……..………………………..... 203 Tabla 5.6 Precios del transporte de datos utilizando la tecnología CDMA2000 1xRTT y 1xEV-DO de ALEGRO para PCs y laptops……………………………………...………….… 203 Tabla 5.7 Precios del transporte de datos utilizando la tecnología CDMA2000 1xRTT de MOVISTAR……………………………………………………………….…….……………..… 204 Tabla 5.8 Tráfico de datos del Sistema de Parqueo Tarifado ………………….…….……………..… 207 Tabla 5.9 Transferencia de datos del Sistema de Parqueo Tarifado ………….….………………..… 208 Tabla 5.10 Probabilidad de que estén ocupadas (x) PDAs …………….……….…………………..… 211 CAPITULO VI EVALUACIÓN FINANCIERA DEL SISTEMA DE ESTACIONAMIENTO ROTATIVO TARIFADO ACTUAL Y PROPUESTO Tabla 6.1 Area de Estacionamiento Tarifado…………………………………….…….……..……..…... 231 Tabla 6.2 Cantidad promedio de vehículos que se parquean diariamente en el Centro Histórico ….………………………….…………………….…..……………….. 236 Adriana Paola Méndez Rojas 16 Universidad de Cuenca – Facultad de Ingeniería Tabla 6.3 Recaudación de infracciones en el año 2007…………………………….…….…………..… 237 Tabla 6.4 Personal que labora en la SERT…………………………..…………….………………..…... 238 Tabla 6.5. Parque Automotor de la provincia del Azuay…………………………….……………….…. 240 Tabla 6.6 Numero de tarjetas RFID que se venderán en el Sistema de Parqueo Tarifado propuesto…………………………………………………………………………………….…...……...….. 243 Tabla 6.7 Número de tarjetas de parqueo vendidas actualmente por la SERT……….………….…. 244 Tabla 6.8 Número de tarjetas con código de barras para el sistema de parqueo propuesto………. 244 Tabla 6.9 Proyecciones de precios para las Tarjetas RFID…………………….……….….……..…... 245 Tabla 6.10 Proyecciones del costo de las Tarjetas con Código de Barras …………………….……. 246 Tabla 6.11 Cantidad de información (en Mb) transferida mensualmente por cada PDA …………... 247 Tabla 6.12 Costos de inversión ………………………………………………………….……………...... 249 Tabla 6.13 Flujo de Efectivo del Sistema de Parqueo propuesto …………………….……………..... 251 Adriana Paola Méndez Rojas 17 Universidad de Cuenca – Facultad de Ingeniería ANEXOS Anexo 1 Diagrama de Base de Datos del Sistema de Estacionamiento Rotativo Tarifado implementado en el prototipo…………………………………………….………………………………… 269 Anexo 2 Estacionamiento Tarifado en el Centro Histórico de la ciudad de Cuenca. …………………………………………………………………………………….…………………………... 270 Anexo 3 Estacionamiento Tarifado en el Mercado El Arenal de la ciudad de Cuenca ………….……………………………………………………….…………………………………………..… 271 Adriana Paola Méndez Rojas 18 Universidad de Cuenca – Facultad de Ingeniería CAPITULO I INTRODUCCIÓN Es conocido el vertiginoso desarrollo tecnológico que nos ha tocado vivir en las últimas décadas, especialmente lo relacionado con la biotecnología y los sectores de las comunicaciones y la informática, de manera que muchos sostienen que estamos viviendo un cambio de época y no una época de cambios. Este último aspecto, posibilita la aplicación de diversas alternativas relacionadas con el intercambio de información en los diferentes sectores de la actividad económica. Consecuentemente, el desarrollo de la teleinformática se convierte en el eje fundamental para el progreso de la sociedad. El Sistema de Parqueo Tarifado tiene en las telecomunicaciones un sólido fundamento para poder expandir su cobertura, optimizar los sistemas de control interno y externo, perfeccionar el acceso y mejorar la calidad de los servicios, implementando lo que ahora se conoce como Sistema de Parqueo Tarifado Automatizado. En los últimos años nuevas tecnologías han sido desarrolladas para facilitar el acceso en línea, que contribuyen a obtener la información necesaria relacionada con las Infracciones de Adriana Paola Méndez Rojas 19 Universidad de Cuenca – Facultad de Ingeniería Estacionamiento / Parqueo. Los sistemas hasta ahora desarrollados en nuestro país, en su mayor parte no han orientado sus esfuerzos a la utilización de la infraestructura de la tecnología móvil celular o sistemas Wi–Fi para la prestación de servicios, particularmente a los de parqueo tarifado. La posibilidad de transmitir información desde un dispositivo móvil a través de tecnologías como GPRS, CDMA o Wi-Fi, han permitido el desarrollo de nuevas aplicaciones con impacto social, como los que se han implementado en la ciudad de Quito, para el telepeaje en varias avenidas y carreteras; y, para el sistema masivo de transporte urbano que se está implementando en estos últimos días. Con la aplicación desarrollada se pretende implantar nuevos servicios basados en telemática, que significan modificar la forma de prestar servicios y al mismo tiempo los procesos de la propia institución que los adopta, constituyéndose en una excelente alternativa para la coordinación de los agentes internos involucrados en su utilización, facilitando el acceso a la información en cualquier lugar geográfico de la ciudad o del país y porque no decirlo del mundo entero; y, se facilita la integración y coordinación entre las diferentes instituciones y organismos que requieran la información. Adriana Paola Méndez Rojas 20 Universidad de Cuenca – Facultad de Ingeniería Las redes del futuro, emplearán un método radicalmente diferente ya que no están diseñadas para soportar ninguna aplicación particular. En lugar de ello, la nueva arquitectura de red permitirá ofrecer los diferentes tipos de aplicaciones mediante la convergencia de servicios. Con estas soluciones, algunos servicios específicos de una red se pueden ofrecer a través de otra red de servicios. El presente proyecto de tesis forma parte de un proyecto de mayor extensión denominado “Solución Telemática para el Sistema de Parqueo Tarifado de la ciudad de Cuenca”, donde la parte complementaria del mismo está desarrollado en la tesis del Ing. Patricio Pesántez Sarmiento. Adriana Paola Méndez Rojas 21 Universidad de Cuenca – Facultad de Ingeniería 1.1 Antecedentes En los centros urbanos de las principales ciudades del país existe desorden y abuso en el estacionamiento por lo que los municipios se han visto en la necesidad de ordenar el parqueo. En ese sentido ciudades como Loja y Cuenca han dado los primeros pasos al implementar un sistema de Parqueo Tarifado manual. Y, desde este año ciudades como Riobamba y Ambato contarán con un sistema Tarifado de Estacionamiento en el centro de la ciudad [1] [2]. Teniendo en cuenta que la operación de estacionamientos tarifados implican una ágil y efectiva atención al usuario se hace necesario la utilización de ayudas tecnológicas para un efectivo desarrollo del sistema. Para tal fin se va a requerir implementar plataformas de hardware, sistemas de software y sistemas de comunicación con la finalidad de desarrollar e implementar soluciones de parqueo tarifado innovadoras [3]. El desarrollo y mantenimiento de este tipo de sistemas deben ser realizados de tal forma que los clientes tengan una mejor y rápida solución y, además asegurar una alta calidad de respuesta a las necesidades del usuario. Adriana Paola Méndez Rojas 22 Universidad de Cuenca – Facultad de Ingeniería 1.2 Estado del arte 1.2.1 Realidad mundial Algunas municipalidades alrededor del mundo han estado usando sistemas de parqueo empleando una tecnología obsoleta de hace más de 50 años. Actualmente la nueva tendencia es a proporcionar una solución diferente, innovadora y única basada en la última tecnología wireless, teléfono de comunicación, una administración centralizada de las TIC y una tarjeta prepago personalizada. El resultado es una solución moderna basada en las últimas necesidades de los usuarios y los requerimientos de los municipios para un eficiente y fácil desarrollo del servicio. Entre las principales soluciones que se han implementado en algunos países se pueden citar: Pago de Parqueo por medio de simples tarjetas.- En Atenas, para los conductores visitantes se utilizan simples tarjetas que se pueden encontrar en kioskos y centros comerciales. Por ejemplo hay tres tipos de valores de tarjetas: 0,50, 1,00 y 2,00 euros para diferentes tiempos. Raspando la tarjeta en ciertas áreas, se puede especificar el día, mes, año y tiempo de arribo. Esta tarjeta se coloca en lugares visibles del vehículo, en caso de que no sea así el usuario está sujeto a multa [4]. Adriana Paola Méndez Rojas 23 Universidad de Cuenca – Facultad de Ingeniería IVR (Interactive Voice Responder – Respuesta de voz interactiva).- Los usuarios finales interactúan con el sistema usando el teléfono celular a través de una tecnología de respuesta de voz interactiva avanzada. Los conductores cuando arriban a una zona de parqueo siguen el siguiente procedimiento: - Llaman al número de teléfono del área de parqueo - Digitan el código de la tarjeta prepago de parqueo - Colocan la tarjeta de prepago en un lugar visible - El vehículo estará legalmente parqueado para el tiempo máximo de estacionamiento indicado. Cuando los conductores salen de la zona de parqueo deben hacer lo siguiente: - Llamar al número de teléfono del área de parqueo - Digitar el código de la tarjeta prepago de parqueo - El Sistema adaptará el pago al tiempo de parqueo efectivo. Sistema de Pregunta de parqueo avanzado.- Los conductores al ingresar a la ciudad pueden preguntar al sistema remotamente y conseguir un espacio para parquearse en un área específica de la ciudad. Adriana Paola Méndez Rojas 24 Universidad de Cuenca – Facultad de Ingeniería Estudio de Parqueo Automatizado.- En este caso los agentes de parqueo están equipados con dispositivos PDA que se conectan a la base de datos central a través de la red GPRS o de algún otro sistema de comunicación. El agente puede verificar la legalidad del parqueo y preguntar al sistema central por cualquier información adicional. Opcionalmente se puede disponer de impresoras PDA portables y cámaras PDA integradas con la finalidad de facilitar a los agentes estudiar y mejorar el sistema eficientemente. Las tarjetas de parqueo prepago son generadas por los administradores del parqueo y los usuarios pueden comprar las tarjetas directamente en puntos de venta autorizados. Para tener un sistema de administración de parqueo eficiente en donde se integre las diferentes tecnologías como las tarjetas RFID, cámaras PDA e impresoras PDA se debe disponer de un ambiente de red de banda ancha [5]. En países como Reino Unido, los Países Bajos, Francia, Alemania, España, Grecia, Medio Este se han implementado sistemas de parqueo en los que la parte principal es una tarjeta transponder de Identificación de Radio Frecuencia (RFID), la Adriana Paola Méndez Rojas 25 Universidad de Cuenca – Facultad de Ingeniería cual es 100% a prueba de fraude reemplazando al tradicional papel y al sticker del código de barras. La tarjeta transponder puede contener cualquier tipo o combinación de información permitida. Esta información puede ser llevada a los lectores RFID, los mismos que pueden tener una conexión GPRS con la finalidad de chequear en línea el estado de la misma [3]. 1.2.2 Situación en el Ecuador En ciudades como Loja y Cuenca desde el año 2002 se ha establecido el parqueo tarifado pero se lo realiza de una forma manual. El procedimiento en la ciudad de Cuenca es el siguiente: los usuarios compran una tarjeta donde llenan la fecha y el tiempo que van hacer uso del parqueo. A su vez, la empresa encargada de realizar el control dispone de 75 inspectores quienes revisan que se cumplan los tiempos de parqueo. En caso de infringir toman datos como el número de placa, marca, modelo, tipo, color, hora detectada, hora intervenida y a través de un radio transmisor, estos datos son enviados a la central, también toman una fotografía del vehículo, que al final de la jornada es descargada en la central. De las estadísticas se establece que se cometen en promedio 170 infracciones diarias. De otra parte, la recaudación anual correspondiente a los rubros de infracciones y venta de Adriana Paola Méndez Rojas 26 Universidad de Cuenca – Facultad de Ingeniería tarjetas, asciende aproximadamente a $800.000 USD en el año 2007. Ciudades como Riobamba, Ambato tienen planificado implementar el Sistema de Parqueo Tarifado con la finalidad de que exista un estacionamiento ordenado de los vehículos y además representaría un ingreso económico para los municipios y se prevee, en el caso de Riobamba, que cada año el municipio recaudará aproximadamente $356.000 USD [1]. El sistema que se implementaría en estas ciudades sería muy parecido al de Cuenca y Loja. De ahí se vuelve importante desarrollar un sistema de administración de parqueo tarifado automatizado y de esta manera se estaría impulsando la modernización de gobiernos locales en beneficio de los ciudadanos. 1.3 Objetivos 1.3.1 Objetivos generales El principal objetivo al desarrollar la tesis es aplicar la formación teórica, investigativa, tecnológica y metodológica para diseñar e implementar un prototipo que permita un servicio adecuado del parqueo tarifado en la ciudad de Cuenca en beneficio de la ciudadanía y la Municipalidad. Adriana Paola Méndez Rojas 27 Universidad de Cuenca – Facultad de Ingeniería Se define como servicio adecuado el buscar la optimización de los recursos humanos y tecnológicos, impulsando la innovación y además que permita mayores y más justos niveles de recaudación por concepto del parqueo tarifado, y brindando un servicio más cómodo, ágil y justo a los usuarios. 1.3.2 Objetivos específicos Objetivos tangibles El objetivo de esta tesis es el diseño de la Red IP que de soporte al Sistema Telemático de Estacionamiento Tarifado y el desarrollo de un Sistema de Información que permita mejorar el control y dar un mejor servicio a los usuarios y a la municipalidad. Objetivos intangibles • Satisfacción de usuarios. • Nivel de aceptación que tendría esta nueva tecnología. • Adquirir experiencia en el desarrollo e innovación de una tecnología inteligente. • Disposición más inmediata de la información para la administración y los usuarios. Adriana Paola Méndez Rojas 28 Universidad de Cuenca – Facultad de Ingeniería 1.4 Alcance La cobertura para el Sistema de Parqueo Tarifado será el área urbana de la ciudad de Cuenca. En primera instancia se realiza un análisis de precios de las tecnologías disponibles para la identificación de vehículos, considerando las tecnologías de las tarjetas con código de barras, tarjetas RFID, telefonía celular, entre otras. Además se estudia los precios de diferentes tipos de receptores GPS para capturar las coordenadas geográficas de los vehículos estacionados e infraccionados, información que será utilizada en el Sistema de Información Geográfica para mostrar la ubicación del vehículo en el mapa de la ciudad de Cuenca. Para el servicio de Internet y transporte de datos se analiza los precios de las tecnologías inalámbricas GPRS, EDGE-GPRS y CDMA que existen actualmente en la ciudad de Cuenca. La operadora PORTA y MOVISTAR utilizan la tecnología GPRS, EDGE-GPRS y la operadora ALEGRO PC trabaja con tecnología CDMA. La tecnología WI-FI no está implementado en la ciudad de Cuenca, motivo por el cuál no fue posible realizar este análisis. Para el desarrollo del prototipo se estudia la Arquitectura Orientada al Servicio (SOA) con el propósito de crear servicios Adriana Paola Méndez Rojas 29 Universidad de Cuenca – Facultad de Ingeniería y aplicaciones que puedan existir con independencia de las diferentes tecnologías. Además es necesario estudiar los diferentes componentes para proporcionar un Sistema de información adecuado y de calidad. Analizando los tipos de sitios web, para ofrecer al usuario de forma fácil e integrada, el acceso a una serie de recursos y servicios, como documentos, consultas por parte de los usuarios para saber el tiempo disponible e información de interés para la municipalidad como los vehículos tarifados, infracciones cometidas. Finalmente, se estructura la Base de Datos que permitirá administrar y gestionar los datos del Sistema de Parqueo Tarifado. Este sistema posibilitará enviar y recibir datos desde y hacia los equipos móviles que disponen los inspectores para indicarles por ejemplo que ya ha terminado el tiempo de estacionamiento del vehículo, para actualizar los datos del sistema cuando el usuario indique la hora de parqueo, para recargar la tarjeta, etc. Igualmente se han desarrollado interfaces que permitan la comunicación de los diferentes puntos de venta con el servidor central facilitando la administración de los datos. Es importante manifestar, como ya se expresa con anterioridad, que esta tesis forma parte de un proyecto más grande denominado “Solución Telemática para el Sistema de Parqueo Adriana Paola Méndez Rojas 30 Universidad de Cuenca – Facultad de Ingeniería Tarifado de la ciudad de Cuenca”, cuya parte complementaria se desarrolla en la tesis del Ing. Patricio Pesántez Sarmiento. 1.5 Metodología de Trabajo 1. En primer lugar se va realizar una identificación de los problemas y necesidades del Sistema de Parqueo Tarifado. 2. Luego se va a realizar un estudio de precios de un conjunto de tecnologías para determinar las características con respecto a sus ventajas y desventajas. 3. En base a los requerimientos y al estudio previo establecer una solución de las plataformas y software a ser implementada en el Sistema de Parqueo Tarifado. 4. Diseño de la solución mediante la integración de las tecnologías seleccionadas. 5. Evaluación financiera del sistema propuesto que contemple entre otros, inversiones, costos, gastos e ingresos para determinar la factibilidad de ejecución del mismo. 6. Implementación de un prototipo para comprobar la funcionalidad de la integración de las diferentes tecnologías y módulos. 7. Conclusiones. Adriana Paola Méndez Rojas 31 Universidad de Cuenca – Facultad de Ingeniería 1.6 Descripción de problemas y necesidades 1.6.1 Necesidades a ser satisfechas Con la automatización del Sistema de Parqueo Tarifado lo que se introducen son mejoras: • Desde el punto de vista del usuario se trata de conseguir que pague una tarifa justa por el tiempo que utilizó el espacio de parqueo. • Y, desde el punto de vista de la municipalidad se pretende tener un mejor control sobre los vehículos que están tarifados. 1.6.2 Problemas a ser resueltos Serán los siguientes: • Con la implementación del sistema integral se permite optimizar el talento humano en el control de rutas por parte de los inspectores, permitiendo cubrir mayores zonas con el personal existente. • Evitar la alteración de tarjetas • Incumplimiento de reglamentos por parte de usuarios • Proveer de centros de acopio de tarjetas para el servicio • Disponer información en línea acerca de vehículos estacionados con/sin servicio y tiempo restante del uso del servicio • Optimizar las rutas de los inspectores. Adriana Paola Méndez Rojas 32 Universidad de Cuenca – Facultad de Ingeniería • Permitir la comunicación en línea de los inspectores con la estación central. • Tener registro de transacciones en línea, cierre diario de caja y por períodos, estadísticas del servicio como uso, multas, etc. • Mantener un registro aproximado de ubicación del vehículo a través de la transacción y control por parte del inspector. • Permitir el registro de transacciones digitales disponibles para auditoria interna y externa. 1.7 Justificación 1.7.1 Beneficios para el usuario La implementación de este tipo de sistemas permiten a los usuarios: • Tener una mejor y rápida solución y, asegurar una alta calidad de respuesta a las necesidades del usuario. • Al utilizar las tarjetas RFID y la telefonía celular se puede conseguir que el usuario pague precisamente el costo de la duración de su parqueo, es decir, se va a pagar por el tiempo específico que el usuario ocupó la zona de parqueo. No así en el caso de utilizar tarjetas simples para el pago, debido al hecho que no se puede precisar el tiempo de parqueo que necesitará el usuario. Adriana Paola Méndez Rojas 33 Universidad de Cuenca – Facultad de Ingeniería • Permitirá que se empiece a utilizar el monedero electrónico en lugar de dinero para la cancelación del parqueo. • Los usuarios tendrán un mejor servicio personalizado. 1.7.2 Beneficios para la municipalidad • Tener un mejor control sobre los vehículos que están tarifados. • Proveer información transparente y oportuna sobre las recaudaciones del Sistema de Parqueo Tarifado para los directivos. 1.7.3 Beneficios para el maestrante Entre los principales beneficios tenemos: • Poner en práctica conocimientos adquiridos durante la maestría en configuración de redes en plataformas Linux y Windows: configuración básica, subneting, wireless, seguridad, servidor NIS, NTP y Portal Web. • Desarrollar nuevas capacidades competitivas a partir de las oportunidades que ofrece la rápida evolución de las tecnologías digitales de información y comunicación. • Utilizar las potencialidades de las TIC y la autopista de la información, para impulsar la modernización del Estado en beneficio de los ciudadanos y en la creación de empresas Adriana Paola Méndez Rojas 34 Universidad de Cuenca – Facultad de Ingeniería que se desarrollen sobre una base de tecnología inteligente (hardware, software, servicios y soporte), serían una gran oportunidad para contribuir con el progreso y desarrollo de la ciudad. Adriana Paola Méndez Rojas 35 Universidad de Cuenca – Facultad de Ingeniería CAPITULO II SELECCION DE LAS PLATAFORMAS Y SOFTWARE A SER UTILIZADO EN EL SISTEMA 2.1 Arquitectura del Software La arquitectura de software, también denominada arquitectura lógica, define de manera abstracta, los componentes que llevan a cabo alguna tarea de computación, sus interfaces y la comunicación ente implementada en ellos. una Toda arquitectura arquitectura física, debe que ser consiste simplemente en determinar qué computadora tendrá asignada cada tarea. La definición oficial de Arquitectura del Software es la IEEE Std 1471-2000 que define así: “La Arquitectura del Software es la organización fundamental de un sistema formada por sus componentes, las relaciones entre ellos y el contexto en el que se implantarán, y los principios que orientan su diseño y evolución” [6]. La arquitectura de software, tiene que ver con el diseño y la implementación de estructuras de software de alto nivel. Es el resultado de ensamblar un cierto número de elementos arquitectónicos de forma adecuada para satisfacer la mayor Adriana Paola Méndez Rojas 36 Universidad de Cuenca – Facultad de Ingeniería funcionalidad y requerimientos de desempeño de un sistema, así como requerimientos no funcionales, como la confiabilidad, escalabilidad, portabilidad, y disponibilidad. Lo habitual es adoptar una arquitectura conocida en función de sus ventajas e inconvenientes para cada caso en concreto. Así, las arquitecturas más universales son: Monolítica.- El software se estructura en grupos funcionales muy acoplados. Cliente-servidor.- Entendiendo por cliente una aplicación que inicia el diálogo con otra denominada servidor para solicitarle servicios que éste puede atender. Figura 2.1 petición Base de datos Aplicaciones cliente respuesta CLIENTE SERVIDOR Figura 2.1 Arquitectura cliente-servidor En un modelo cliente servidor clásico existen dos procesos independientes que cooperan para intercambiar información: el definido por el cliente y el definido por el servidor. Estos Adriana Paola Méndez Rojas dos procesos están ubicados 37 Universidad de Cuenca – Facultad de Ingeniería normalmente en máquinas diferentes y se comunican entre sí mediante protocolos estándar o particulares [7]. Arquitectura de tres niveles.- Especialización de la arquitectura cliente-servidor donde la carga se divide en tres partes (o capas) con un reparto claro de funciones: una capa para la presentación (interfaz de usuario), otra para el cálculo (donde se encuentra modelado el negocio) y otra para el almacenamiento (persistencia). Una capa solamente tiene relación con la siguiente. Es importante tener en consideración la diferencia entre los términos “capas” y “niveles”, el término “capa” hace referencia a la forma como una solución es segmentada desde el punto de vista lógico: Presentación/ Lógica de Negocio/ Datos. En cambio, el término “nivel”, corresponde a la forma en que las capas lógicas se encuentran distribuidas de forma física. De esta manera, en nuestro prototipo se utilizo una arquitectura de tres niveles y tres capas [8]. 2.2 Arquitectura en Capas La estrategia tradicional de utilizar aplicaciones compactas causa gran cantidad de problemas de integración en sistemas de software complejos como pueden ser los sistemas de Adriana Paola Méndez Rojas 38 Universidad de Cuenca – Facultad de Ingeniería gestión de una empresa o los sistemas de información integrados consistentes en más de una aplicación. Estas aplicaciones suelen encontrarse con importantes problemas de escalabilidad, disponibilidad, seguridad e integración. Para solventar estos problemas se ha generalizado la división de las aplicaciones en capas que normalmente serán tres: una capa que servirá para guardar los datos (base de datos), una capa para centralizar la lógica de negocio (modelo) y por último una interfaz gráfica que facilite al usuario el uso del sistema. Figura 2.2 Figura 2.2.- Arquitectura en tres capas Esta arquitectura nos otorga algunas ventajas: Adriana Paola Méndez Rojas 39 Universidad de Cuenca – Facultad de Ingeniería El desarrollo se puede llevar a cabo en varios niveles y en caso de algún cambio solo se ataca al nivel requerido sin tener que revisar entre código mezclado. Centralización de los aspectos de seguridad y transaccionalidad, que serían responsabilidad del modelo. No replicación de lógica de negocio en los clientes: esto permite que las modificaciones y mejoras sean automáticamente aprovechadas por el conjunto de los usuarios, reduciendo los costes de mantenimiento. Mayor sencillez de los clientes. Si intentamos aplicar esto a las aplicaciones web, debido a la obligatoria sencillez del software cliente que será un navegador web, nos encontramos con una doble posibilidad: 1) Crear un modelo de 4 capas, Figura 2.3, separando cliente, servidor web, modelo y almacén de datos. Esto nos permite una mayor extensibilidad en caso de que existan también clientes no web en el sistema, que trabajarían directamente contra el servidor del modelo. Adriana Paola Méndez Rojas 40 Universidad de Cuenca – Facultad de Ingeniería Figura 2.3. Arquitectura web en cuatro capas 2) Mantener el número de capas en 3, Figura 2.4, integrando interfaz web y modelo en un mismo servidor aunque conservando su independencia funcional. Ésta es la distribución en capas más común en las aplicaciones web. Figura 2.4. Arquitectura web en tres capas Adriana Paola Méndez Rojas 41 Universidad de Cuenca – Facultad de Ingeniería 2.2.1 Capas o niveles 1.- Capa de presentación: es la que ve el usuario (denominada también “capa de usuario”), presenta el sistema al usuario, le comunica la información y captura la información del usuario dando un mínimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato), es decir, es la capa con la que interactúa el usuario. Esta capa se comunica únicamente con la capa de negocio. En nuestro prototipo, la capa de presentación está formada por los formularios web y los controles que se encuentran en los formularios, los mismos que permitirán desplegar la información a través de un sitio web. Los formularios web fueron desarrollados usando Microsoft Visual Studio 2005 y Macromedia Dreamweaver MX. 2.- Capa de negocio: es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envían las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lógica del negocio) pues es aquí donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos, Adriana Paola Méndez Rojas 42 Universidad de Cuenca – Facultad de Ingeniería para solicitar al gestor de base de datos para almacenar o recuperar datos de él. Esta capa en nuestro prototipo está representada por los objetos que van a ser manejados por toda la aplicación, representados por las clases y los DataTables que se crean en el sitio web y los servicios web, los mismos que fueron desarrollados usando C# de Microsoft Visual Studio 2005. Esta capa reside en el servidor web FTP: ftp://ftp.ecuapatec.com. Además, es necesario utilizar un sistema de información geográfica (GIS), en el caso nuestro por medio de ASPMAP. 3.- Capa de datos: es donde residen los datos y es la encargada de acceder a los datos. Está formada por uno o más gestores de bases almacenamiento de de datos datos, que reciben realizan todo solicitudes el de almacenamiento o recuperación de información desde la capa de negocio. En el prototipo se utilizó la base de datos SQL SERVER, la misma que se encuentra ubicada en el host con dirección IP 64.187.108.29 y el nombre de la base de datos es saohos_dbecuapate [9]. Adriana Paola Méndez Rojas 43 Universidad de Cuenca – Facultad de Ingeniería 2.3 Arquitectura Orientada a Servicios (SOA) 2.3.1 Introducción La Arquitectura Orientada a Servicios (SOA, Service Oriented Architecture) es un marco de trabajo conceptual que permite a las organizaciones unir los objetivos de negocio con la infraestructura de TI, integrando los datos y la lógica de negocio de sus sistemas separados, de tal manera, que una colección heterogénea de sistemas distribuidos y aplicaciones complejas se puedan transformar en una red de recursos integrados, simplificada y sumamente flexible. Figura 2.5 Un servicio se define como la funcionalidad concreta que puede ser descubierta en la red y que describe tanto lo que puede hacer como el modo de interactuar con ella. Desde la perspectiva de la empresa, un servicio realiza una tarea concreta: puede corresponder a un proceso de negocio tan sencillo como introducir o extraer un dato como “Código del Cliente”. Pero también los servicios pueden acoplarse dentro de una aplicación completa que proporcione servicios de alto nivel, con un grado de complejidad muy superior, por ejemplo, “introducir datos de un pedido”, un proceso que, desde que comienza hasta que termina, puede involucrar varias aplicaciones de negocio. Adriana Paola Méndez Rojas 44 Universidad de Cuenca – Facultad de Ingeniería Figura 2.5. Arquitectura Orientada a Servicios (SOA) 2.3.2 Concepto Service-Oriented Architecture (SOA) es un modelo de componente que interrelaciona unidades funcionales diferentes de una aplicación, denominado servicios, a través de interfaces y contratos bien definidos entre estos servicios. La interfaz se define de una manera neutral que debe ser independiente de la plataforma de hardware, del sistema operativo y del lenguaje de programación en los que se implemente el servicio. Esto permite que los servicios, construidos en una variedad de tales sistemas, interactúen entre sí de una manera uniforme y universal [10]. SOA permite la creación y/o cambios de los procesos de negocio desde la perspectiva de TI de forma ágil, a través de la Adriana Paola Méndez Rojas 45 Universidad de Cuenca – Facultad de Ingeniería composición de nuevos procesos utilizando las funcionalidades de negocio que están contenidas en la infraestructura de aplicaciones actuales o futuras (expuestas bajo la forma de webservices). Además, proporciona una metodología y un marco de trabajo para documentar las capacidades de negocio y puede dar soporte a las actividades de integración y consolidación [11]. Para definir el modelo de arquitectura SOA, se necesita únicamente la descripción del servicio. Es decir, es necesario definir cómo toda la aplicación realiza su flujo de trabajo entre los servicios y, encontrar el punto de transformación entre las operaciones del negocio versus las operaciones del software utilizado en el negocio. De este modo, un SOA deberá poder relacionar los procesos comerciales de un negocio con sus procesos técnicos, y correlacionar las relaciones de flujo de trabajo entre los dos. Por ejemplo, el acto de pagarle a un proveedor es un proceso de negocio, mientras que actualizar su base de datos para incluir un envío recientemente provisto es un proceso técnico. Así, el flujo de trabajo también desempeña un rol importante en el diseño del SOA. Asimismo, el flujo de trabajo de un negocio dinámico puede incluir operaciones no sólo entre departamentos, sino con otros asociados externos, sobre los que no se tiene control. De este Adriana Paola Méndez Rojas 46 Universidad de Cuenca – Facultad de Ingeniería modo y para ser efectivo, se necesita definir las políticas acerca de cómo deben ser las relaciones entre los servicios, frecuentemente en la forma de convenios de nivel de servicio y políticas operativas [10]. 2.3.3 Elementos que constituyen una Arquitectura Orientada a Servicios. Los principales componentes de una arquitectura orientada a servicios son: 1. Servidores 2. Repositorio de Servicios 3. Bus de Servicios 4. Consumidores Figura 2.6. Elementos de SOA Adriana Paola Méndez Rojas 47 Universidad de Cuenca – Facultad de Ingeniería Servidores Un servicio de negocio es un componente reutilizable de software, con significado funcional completo, y que está formado por: Contrato: especificación de la finalidad, funcionalidad, forma de uso y restricciones del servicio. Interfaz: mecanismo de exposición del servicio a los usuarios. Implementación: debe contener la lógica o el acceso a datos. Figura 2.7. Elementos de SOA: Servidores Repositorio de Servicios Un repositorio de servicios proporciona facilidades para descubrir servicios y adquirir la información necesaria para su uso, en particular fuera del alcance temporal y funcional del proyecto en el que se crearon. Adriana Paola Méndez Rojas 48 Universidad de Cuenca – Facultad de Ingeniería Además de la propia información de contrato, los repositorios pueden proporcionar información acerca de: Localización. Personas de contacto. Restricciones técnicas. Acuerdos de Niveles de Servicio (SLAs -Service Level Agreements). Bus de servicios El bus de servicios es el elemento de las arquitecturas SOA que conecta los servicios con sus consumidores y que proporciona: Conectividad: el propósito principal de un bus de servicios es interconectar a los participantes de una arquitectura SOA. Soporte a la heterogeneidad de tecnologías: debe ser capaz de conectar a participantes basados en distintos lenguajes de programación, sistemas operativos, entornos de ejecución y protocolos de comunicación. Soporte a la heterogeneidad de paradigmas de comunicación: debe ser capaz de mantener distintos modos de comunicación (por ejemplo comunicaciones síncronas y asíncronas). Adriana Paola Méndez Rojas 49 Universidad de Cuenca – Facultad de Ingeniería Consumidores de Servicios Los consumidores de servicios, se definen como aquellos elementos de una arquitectura SOA que: Pueden descubrir servicios a través de un repositorio. Realizan llamadas a los mismos de acuerdo al contrato y a través del interfaz definido para tal efecto. [12] 2.3.4 Estándares Empleados XML (eXtensible Markup Language).- Es un estándar aceptado. Es suficientemente flexible para la definición de lenguajes de descripción de servicios y protocolos. SOAP (Simple Object Access Protocol).- Protocolo basado en XML, que permite la interacción entre varios dispositivos y que tiene la capacidad de transmitir información compleja. Se puede utilizar también protocolos XML-RPC (XML Remote Producer Call). Otros protocolos (HTTP, FTP, SMTP).- Los datos en XML también pueden enviarse de una aplicación a otra mediante protocolos normales como HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer Protocol). WSDL (Web Service Description Language).- Es el lenguaje de la interfaz pública para los servicios Web. Es una descripción basada en XML de los requisitos Adriana Paola Méndez Rojas 50 Universidad de Cuenca – Facultad de Ingeniería funcionales necesarios para establecer una comunicación con los servicios Web. UDDI (Universal Description, Discovery and Integration).Protocolo para publicar la información de los servicios Web. Describe como organizar la información sobre un servicio y, como construir repositorios dónde se pueda registrar e interrogar dicha información. WS-Security (Web Service Security).- Protocolo de seguridad aceptado (Organization for the como estándar Advancement por of OASIS Structured Information Standards). Garantiza la autenticación de los actores y la confidencialidad de los mensajes enviados. 2.3.5 Beneficios de SOA El beneficio de un sistema debidamente acoplado es su agilidad y capacidad para sobrevivir a cambios evolutivos en la estructura e implementación de las partes internas de cada servicio que compone toda la aplicación. Por otra parte, las interfaces entre los diferentes componentes de una aplicación están estrechamente interrelacionados en función y forma, haciendo que sean frágiles cuando se requiera alguna forma de cambio en partes de la aplicación o en toda la misma. De esta manera, los principales beneficios al adoptar una arquitectura orientada a servicios son: Adriana Paola Méndez Rojas 51 Universidad de Cuenca – Facultad de Ingeniería Mejora en los tiempos de realización de cambios en procesos. Facilidad para evolucionar a modelos de negocios basados en tercerización. Facilidad para abordar modelos de negocios basados en colaboración con otros entes (socios, proveedores). Facilita la reutilización de componentes. Mejora la flexibilidad entre procesos. Simplifica la integración entre los nuevos componentes y los existentes. Desde el punto de vista de los departamentos de TI, la orientación a servicios supone un marco conceptual mediante el cual se puede simplificar la creación y mantenimiento de sistemas y aplicaciones integrados, y una fórmula para alinear los recursos de TI con el modelo de negocio y las necesidades y dinámicas de cambio que le afectan. Aplicaciones más productivas y flexibles. La estrategia de orientación a servicios permite a TI conseguir una mayor productividad de los recursos de TI existentes – como pueden ser las aplicaciones y sistemas ya instalados e incluso los más antiguos- y obtener mayor valor de ellos frente a la organización sin necesidad de aplicar soluciones Adriana Paola Méndez Rojas de integración desarrolladas 52 Universidad de Cuenca – Facultad de Ingeniería específicamente para este fin. La orientación a servicios permite además el desarrollo de una nueva generación de aplicaciones compuestas que ofrecen capacidades avanzadas y multifuncionales para la organización con independencia de las plataformas y lenguajes de programación que soportan los procesos de base. Más aún: puesto que los servicios son entidades independientes de la infraestructura subyacente, una de sus características más importantes es su flexibilidad a la hora del diseño de cualquier solución. Desarrollo de aplicaciones más rápido y económico. El diseño de servicios basado en estándares facilita la creación de un repositorio de servicios reutilizables, que se pueden combinar en servicios de mayor nivel y, aplicaciones compuestas en respuesta a nuevas necesidades de la empresa. Con ello se reduce el coste del desarrollo de soluciones y de los ciclos de prueba, se eliminan redundancias y se consigue poner en operación en menos tiempo. Además, el uso de un entorno y un modelo de desarrollo unificados simplifica y homogeniza la creación de aplicaciones, desde su diseño y prueba hasta su puesta en marcha y mantenimiento. Adriana Paola Méndez Rojas 53 Universidad de Cuenca – Facultad de Ingeniería Aplicaciones más seguras y manejables. Las soluciones orientadas a servicios proporcionan una infraestructura común para desarrollar servicios seguros, predecibles y gestionables. Conforme van evolucionando las necesidades de negocio, SOA facilita la posibilidad de añadir nuevos servicios y funcionalidades para gestionar los procesos de negocio críticos. Se accede a los servicios y no a las aplicaciones, y gracias a ello la arquitectura orientada a servicios optimiza las inversiones realizadas en TI potenciando la capacidad de introducir mejoras. Además, puesto que se utilizan mecanismos de autenticación y autorización robustos en todos los servicios –y puesto que los servicios existen de forma independiente unos de otros y no se interfieren entre ellosla estrategia de SOA permite dotarse de un nivel de seguridad superior. 2.4 Arquitectura de software utilizada Para desarrollar el Sistema de Parqueo Tarifado Automatizado se usó la arquitectura orientada a servicios (SOA) de tres capas. 2.4.1 Capa de Presentación La capa de presentación está formada por las páginas web utilizadas para presentar el Sistema de Parqueo Tarifado Automatizado al usuario. Adriana Paola Méndez Rojas 54 Universidad de Cuenca – Facultad de Ingeniería Para la creación de las páginas web se generó un estándar para el diseño de interfaces, de modo que el sistema posea un aspecto homogéneo y emplee cierto tipo de controles. Pagina Web Una página web es una fuente de información adaptada para la World Wide Web (WWW) y accesible mediante un navegador de Internet. Esta información se presenta generalmente en formato HTML y puede contener hiperenlaces a otras páginas web, constituyendo la red enlazada de la World Wide Web. Las páginas web pueden ser cargadas de un ordenador o computador local o remoto, llamado Servidor Web, el cual servirá de HOST. Las páginas web son solicitadas y transferidas de los servidores usando el Protocolo de Transferencia de Hipertexto (HTTP – Hypertext Transfer Protocol). La acción del Servidor HOST de guardar la página web, se denomina “HOSTING”. Las páginas web generalmente incluyen instrucciones para el tamaño y el color del texto y el fondo, así como hipervínculos a imágenes y algunas veces otro tipo de archivos multimedia. Las páginas web pueden ser estáticas o dinámicas. Las páginas estáticas generalmente usan la extensión de archivo .htm o .html. En cambio, las páginas dinámicas usan Adriana Paola Méndez Rojas 55 Universidad de Cuenca – Facultad de Ingeniería extensiones que generalmente reflejan el lenguaje o tecnología que se utilizó para crear el código, como .php (PHP), .jsp (JavaServer), etc. En estos casos, el servidor debe estar configurado para esperar y entender estas tecnologías. Cuando las páginas web son almacenadas en un directorio común de un servidor web, se convierten en un website. El website generalmente contiene un grupo de páginas web que están ligadas entre sí. La página más importante que hay que almacenar en el servidor es la página de índice (index). Cuando un navegador visita la página de inicio (homepage) de un website o algún URL apunta a un directorio en vez de a un archivo específico, el servidor web mostrara la página de índice [13]. Formularios Web Los formularios web permiten crear páginas web programables como parte de una aplicación web. Al crear estas páginas, se pueden usar controles del lado del servidor para crear elementos comunes de la interfaz de usuario y programarlos para que realicen las tareas necesarias. La utilización de este tipo de formularios simplifica el desarrollo de las aplicaciones web porque: Adriana Paola Méndez Rojas 56 Universidad de Cuenca – Facultad de Ingeniería Proporcionan un modelo de programación basado en eventos en el servidor parecido al que conocemos de los formularios Windows. Permiten una completa separación entre el formato HTML y la lógica de la aplicación, o código asociado a la página, que normalmente se escribe en un fichero separado. Son compatibles con un amplio y útil conjunto de controles y componentes .NET que ofrecen un modelo coherente de objeto de tipo seguro. Además, el marco de trabajo se presta de manera natural a la extensibilidad mediante los componentes personalizados y de otros fabricantes [7]. Protocolo de Transferencia de Hipertexto El protocolo de transferencia de hipertexto (HTTP, HyperText Transfer Protocol) es el protocolo usado en cada transacción de la Web (WWW). HTTP fue desarrollado por el consorcio W3C y la IETF, colaboración que culminó en 1999 con la publicación de una serie de RFCs, siendo el más importante de ellos el RFC 2616, que especifica la versión 1.1. HTTP define la sintaxis y la semántica que utilizan los elementos software de la arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor. Al cliente que efectúa la petición (un navegador) se lo conoce como "user agent" (agente del Adriana Paola Méndez Rojas 57 Universidad de Cuenca – Facultad de Ingeniería usuario). A la información transmitida se la llama recurso y se la identifica mediante un URL. Los recursos pueden ser archivos, el resultado de la ejecución de un programa, una consulta a una base de datos, la traducción automática de un documento, etc. HTTP es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente mantener estado. Para esto se usan las cookies, que es información que un servidor puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web instituir la noción de "sesión", y también permite rastrear usuarios ya que las cookies pueden guardarse en el cliente por tiempo indeterminado. Transacciones HTTP Una transacción HTTP consiste de un encabezado seguido, opcionalmente, por una línea en blanco y algún dato. El encabezado especificará cosas como la acción requerida del servidor, o el tipo de dato retornado, o el código de estado. El uso de campos de encabezados enviados en las transacciones HTTP le dan gran flexibilidad al protocolo. Estos campos permiten que se envíe información descriptiva en la transacción, permitiendo así la autenticación, cifrado e Adriana Paola Méndez Rojas 58 Universidad de Cuenca – Facultad de Ingeniería identificación de usuario. Un encabezado es un bloque de datos que precede a la información propiamente dicha, por lo que muchas veces se hace referencia a él como metadato porque tiene datos sobre los datos-. Si se reciben líneas de encabezado del cliente, el servidor las coloca en las variables de ambiente de CGI con el prefijo HTTP_ seguido del nombre del encabezado. Cualquier caracter guión ( - ) del nombre del encabezado se convierte a caracteres "_". El servidor puede excluir cualquier encabezado que ya esté procesado, como Authorization, Content-type y Content-length, puede también excluir algunos o todos los encabezados del sistema como por ejemplo las variables HTTP_ACCEPT y HTTP_USER_AGENT. Ejemplo de un diálogo HTTP Para obtener un recurso con el URL http://www.tuhost.example/index.html 1. Se abre una conexión al host www.tuhost.example, puerto 80 que es el puerto por defecto para HTTP. 2. Se envía un mensaje en el estilo siguiente: GET /index.html HTTP/1.1 Host: www.example.com User-Agent: HTTPsfasdgsdasdfa HECTORTool/1.0 Connection: close [Línea en blanco] 1. La respuesta del servidor está formada por encabezados seguidos del recurso solicitado, en el caso de una página web: HTTP/1.1 200 OK [Código de respuesta] Date: Fri, 31 Dec 2003 23:59:59 GMT Adriana Paola Méndez Rojas 59 Universidad de Cuenca – Facultad de Ingeniería Content-Type: text/html Content-Length: 1221 <html> <body> <h1>Página principal de tuHost</h1> (Contenido) . . </body> </html> Códigos de respuesta Son códigos de tres dígitos [14]: 1xx Mensajes N° - 100 111 Conexión rechazada 2xx Operación exitosa N° 200 201-203 204 205 206 3xx Redirección hacia otro URL N° 300 301 303 304 305 307 Descripción OK Información no oficial Sin Contenido Contenido para recargar Contenido parcial Descripción Múltiples posibilidades Mudado permanentemente Vea otros No modificado Utilice un Proxy Redirección temporal 4xx Error por parte del cliente N° 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 Descripción Solicitud incorrecta No autorizado Pago requerido Prohibido No encontrado Método no permitido No aceptable Proxy requerido Tiempo de espera agotado Conflicto Ya no disponible Requiere longitud Falló precondición Entidad de solicitud demasiado larga URL de solicitud demasiado largo Tipo de medio no soportado Rango solicitado no disponible Adriana Paola Méndez Rojas 60 Universidad de Cuenca – Facultad de Ingeniería 417 Falló expectativa 5xx Error por parte del servidor N° 500 501 502 503 504 505 Descripción Error interno No implementado Pasarela incorrecta Servicio no disponible Tiempo de espera de la pasarela agotado Versión de HTTP no soportada 2.4.2 Capa Lógica de aplicación o de negocio Servidor WEB Un servidor web es un programa que implementa el protocolo HTTP. Este protocolo está diseñado para transferir lo que llamamos hipertextos, páginas web o páginas HTML: textos complejos con enlaces, figuras, formularios, botones y objetos insertados como animaciones o reproductores de música. Sin embargo, el hecho de que HTTP y HTML estén íntimamente ligados no debe dar lugar a confundir ambos términos. HTML es un lenguaje de marcas y HTTP es un protocolo. La función principal del servidor web es mantenerse a la espera de peticiones HTTP llevada a cabo por un cliente HTTP que normalmente se le conoce como navegador. El navegador realiza una petición al servidor y éste le responde con el contenido que el cliente solicita. A modo de ejemplo, al digitar http://www.ucuenca.edu.ec/ en nuestro navegador, éste realiza Adriana Paola Méndez Rojas 61 Universidad de Cuenca – Facultad de Ingeniería una petición HTTP al servidor de dicha dirección. El servidor responde al cliente enviando el código HTML de la página; el cliente, una vez recibido el código, lo interpreta y lo muestra en pantalla. Como vemos en el ejemplo, el cliente es el encargado de interpretar el código HTML, es decir, de mostrar las fuentes, los colores y la disposición de los textos y objetos de la página; el servidor tan sólo se limita a transferir el código de la página sin llevar a cabo ninguna interpretación de la misma [15]. Sitio Web Un sitio web es un conjunto de páginas web, típicamente comunes a un dominio de Internet o subdominio en la World Wide Web en Internet. A las páginas de un sitio web se accede desde una URL raíz común llamada portada, que normalmente reside en el mismo servidor físico. Las URLs organizan las páginas en una jerarquía, aunque los hiperenlaces entre ellas controlan cómo el lector percibe la estructura general y cómo el tráfico web fluye entre las diferentes partes de los sitios. Es importante diferenciar entre un sitio web y una pagina web. La pagina web es sólo un archivo HTML, y forma parte de un sitio web. Los sitios web están escritos en HTML (Hyper Text Adriana Paola Méndez Rojas 62 Universidad de Cuenca – Facultad de Ingeniería Markup Language) y se acceden usando un navegador web, también conocido como un cliente HTTP. Un sitio web está alojado en una computadora conocida como servidor web, también llamada servidor HTTP. Los programas comúnmente usados como servidor web son el Apache y el Internet Information Services (IIS) de Microsoft. Los sitios web pueden ser: Estatico.- Un sitio web estático tiene contenido que no cambia frecuentemente y el mantenimiento lo realiza manualmente la persona encargada, usando diferentes tipos de editores. En nuestro prototipo para el desarrollo de las páginas web se utilizó Macromedia Dreamweaver MX, donde el sitio se edita usando una interfaz GUI y el HTML subyacente se genera automáticamente con el programa editor. Dinámico.- Un sitio web dinámico tiene cambios frecuentes en la información. Cuando el servidor web recibe una petición para una determinada página de un sitio web, la página se genera automáticamente por el software como respuesta directa a la petición de la página. Existen varios lenguajes de programación disponibles para generar sitios web dinámicos, entre los mas usados Adriana Paola Méndez Rojas 63 Universidad de Cuenca – Facultad de Ingeniería tenemos PHP, Active Server Pages (ASP), y Java Server Pages (JSP). Los sitios dinámicos a menudo incluyen contenido que se recupera de una o más bases de datos o usando tecnologías basadas en XML. El HTML dinámico también proporciona a los usuarios interactividad y el elemento de actualización en tiempo real entre páginas web [16]. Para el prototipo se desarrolló un sitio web dinámico utilizando el lenguaje de programación ASP .NET. Tipos de Sitios Web Existen muchas variedades de sitios web, cada uno especializándose en un tipo particular de contenido o uso, y puede ser arbitrariamente clasificado de muchas maneras. Unas pocas clasificaciones pueden incluir: 1. Sitios Web de IIS (Internet Information Server) locales Se utiliza cuando se desea crear páginas Web en un equipo local que tiene una copia de IIS instalada en el equipo. Cuando se crea un sitio Web de IIS local, las páginas y carpetas del sitio se almacenan en una carpeta situada en la carpeta de IIS predeterminada. Adriana Paola Méndez Rojas 64 Universidad de Cuenca – Facultad de Ingeniería De forma alternativa, se puede crear un directorio virtual de IIS. En este caso, las páginas y carpetas para el sitio Web pueden estar en cualquier carpeta a la que tengan acceso los usuarios, y un directorio virtual en la copia local de IIS debe señalar a la ubicación del archivo. Visual Studio Web crea también una configuración de IIS para que IIS reconozca el sitio Web como una aplicación. 2. Sitios Web del sistema de archivos En un sitio Web del sistema de archivos, se puede crear y editar archivos de la carpeta que desee, ya sea que se encuentren en el equipo local o en una carpeta de otro equipo al que se tiene acceso a través de un recurso compartido de red. No se exige que ejecute IIS en su equipo. En su lugar, se pueden probar las páginas utilizando el servidor de desarrollo de ASP.NET. En un sitio Web del sistema de archivos, los archivos estáticos, como imágenes y hojas de estilos, están sujetos a las reglas de autorización de ASP.NET. Por ejemplo, los archivos estáticos de un sitio Web del sistema de archivos no atenderán a un usuario anónimo cuando se deshabilite el acceso anónimo a esos archivos. Sin embargo, cuando se crea un proyecto de Adriana Paola Méndez Rojas 65 Universidad de Cuenca – Facultad de Ingeniería sitio Web en una ubicación HTTP, IIS atiende los archivos estáticos sin utilizar reglas de autorización. 3. Sitios Web implementados en FTP Visual Studio Web permite abrir y editar sitios Web que están disponibles en un servidor FTP. Éste es un escenario típico si el sitio Web se encuentra en un sitio de alojamiento. Se puede conectar con cualquier servidor FTP en el que tenga permisos de lectura/escritura y puede crear y editar páginas Web en dicho servidor. Si el servidor FTP está configurado con ASP.NET y una raíz virtual de IIS señala al directorio FTP, puede ejecutar también las páginas desde el servidor para probarlas. 4. Sitios Web remotos Un sitio Web remoto es un sitio que utiliza IIS pero está en otro equipo al que se puede tener acceso a través de una red de área local. El equipo remoto debe tener IIS instalado y estar configurado con Extensiones de servidor de FrontPage 2002 de Microsoft. Cuando se crea un sitio Web remoto, las páginas y carpetas del sitio se almacenan en la carpeta de IIS predeterminada del equipo remoto. Cuando se ejecutan las páginas, éstas se proporcionan utilizando IIS en el equipo remoto [17]. Adriana Paola Méndez Rojas 66 Universidad de Cuenca – Facultad de Ingeniería En el prototipo del Sistema de Estacionamiento Rotativo Tarifado, se utilizó un sitio web de IIS con el propósito de probar localmente. Además, se implementó en el servidor ftp: ftp://ftp.ecuapatec.com para tener acceso por internet. Servidor ASP.NET ASP.NET es un conjunto de tecnologías de desarrollo de aplicaciones web comercializado por Microsoft. Es usado por programadores para construir sitios web domésticos, aplicaciones web y servicios XML. Forma parte de la plataforma .NET de Microsoft y es la tecnología sucesora de la tecnología Active Server Pages (ASP). Precedentes Microsoft introdujo esta tecnología llamada Active Server Pages en diciembre de 1996, por lo que no es nada nueva. Es parte del Internet Information Server (IIS) desde la versión 3.0 y es una tecnología de páginas activas que permite el uso de diferentes scripts y componentes en conjunto con el tradicional HTML para mostrar páginas generadas dinámicamente. La definición contextual de Microsoft es que "Las Active Server Pages son un ambiente de aplicación abierto y gratuito en el que se puede combinar código HTML, scripts y componentes ActiveX del servidor para crear soluciones dinámicas y poderosas para el web". Adriana Paola Méndez Rojas 67 Universidad de Cuenca – Facultad de Ingeniería ASP ha pasado por cuatro iteraciones mayores, ASP 1.0 (distribuido con IIS 3.0), ASP 2.0 (distribuido con IIS 4.0), ASP 3.0 (distribuido con IIS 5.0) y ASP.NET (parte de la plataforma .NET de Microsoft). Las versiones pre-.NET se denominan actualmente (desde 2002) como ASP clásico. Definición Microsoft desarrolló una nueva tecnología denominada ASP.NET -como parte de su estrategia .NET- para el desarrollo Web, con el objetivo de resolver las limitaciones de ASP y posibilitar la creación de software como servicio. ASP es una tecnología dinámica funcionando del lado del servidor, lo que significa que cuando el usuario solicita un documento ASP, las instrucciones de programación dentro del script son ejecutadas para enviar al navegador únicamente el código HTML resultante. La ventaja principal de las tecnologías dependientes del servidor radica en la seguridad que tiene el programador sobre su código, ya que éste se encuentra únicamente en los archivos del servidor que al ser solicitado a través del web, es ejecutado, por lo que los usuarios no tienen acceso más que a la página resultante en su navegador [18]. Adriana Paola Méndez Rojas 68 Universidad de Cuenca – Facultad de Ingeniería Figura 2.8. Definición ASP Evolución respecto al ASP clásico En el modelo de desarrollo web basado en páginas activas, la programación ASP actual tiene diversas limitaciones: Para que todo ocurra en una página web, es habitual escribir una gran cantidad de código para resolver necesidades sencillas. ASP.NET incorpora un modelo declarativo a la programación web: los controles de servidor funcionan en una página Web simplemente declarándolos. Cuando se carga la página ASP.NET, se instancian los controles listados en la página ASP y es responsabilidad del control emitir código HTML que el navegador pueda entender. ASP clásico es un tanto desorganizado. En una página ASP podemos incluir casi todo: HTML plano, código script, objetos COM y texto. No hay una distinción formal entre el Adriana Paola Méndez Rojas 69 Universidad de Cuenca – Facultad de Ingeniería contenido de una página y su comportamiento: simplemente, insertamos código en la página, y a ver qué pasa. ASP.NET impone un cierto orden sobre el modelo de programación estándar ASP. La tercera limitación en el desarrollo con ASP es que utiliza lenguajes de scripting no tipados como VBScript o JScript. En cambio, ASP .NET puede ser escrito en cualquier lenguaje soportado por el .NET Framework, es decir: Visual Basic .NET, C# y JScript .NET. ASP .NET es un lenguaje totalmente orientado a objetos. Ventajas de ASP .NET Rendimiento: la aplicación se compila una sola vez al lenguaje nativo, y luego, en cada petición tiene una compilación Just In Time, es decir se compila desde el código nativo, lo que permite mucho mejor rendimiento. También permite el almacenamiento del caché en el servidor. Rapidez en programación: utilizando diversos controles y con pocas líneas de código se puede hacer rutinas complejas y mostrar toda una base de datos. Servicios Web: trae herramientas para compartir datos e información entre distintos sitios. Adriana Paola Méndez Rojas 70 Universidad de Cuenca – Facultad de Ingeniería Escalabilidad y disponibilidad: ASP.NET fue diseñado teniendo en cuenta la escalabilidad, con características diseñadas específicamente a medida, con el fin de mejorar el rendimiento en entornos agrupados y de múltiples procesadores. Además, el motor de tiempo de ejecución de ASP.NET controla y administra los procesos de cerca, por lo que si uno no se comporta adecuadamente (filtraciones, bloqueos), se puede crear un proceso nuevo en su lugar, lo que ayuda a mantener la aplicación disponible constantemente para controlar solicitudes. Posibilidad de personalización y extensibilidad. ASP.NET presenta una arquitectura bien diseñada que permite a los programadores insertar su código en el nivel adecuado. Además, es posible extender o reemplazar cualquier subcomponente del motor de tiempo de ejecución de ASP.NET con su propio componente escrito personalizado. Seguridad. Con la autenticación de Windows integrada y la configuración por aplicación, se puede tener la completa seguridad de que las aplicaciones están a salvo. Uso actual del lenguaje Actualmente una aplicación ASP.NET puede ejecutarse de dos formas distintas: Adriana Paola Méndez Rojas 71 Universidad de Cuenca – Facultad de Ingeniería 1. Aplicaciones cliente/servidor.- Estas aplicaciones están típicamente en formato de ejecutables compilados. Estos pueden integrar toda la riqueza de una interfaz de usuario, tal es el caso de las aplicaciones de desempeño y productividad, pero no se reúne la lógica de negocio como un recurso que se pueda reutilizar. Además acostumbran ser menos gestionables y escalables que las demás aplicaciones. 2. Aplicaciones que utilizan el navegador.- Dichas aplicaciones están caracterizadas por contar con una interfaz de web rica y muy útil. La interfaz gráfica integra varias tecnologías, las cuales son el HTML, XHTML, scripting, etc; siempre y cuando el navegador que se esté utilizando soporte estas tecnologías. Dado que estas aplicaciones tienen la capacidad de ser compatibles entre navegadores, no se incluyen funcionalidades que pueden estar incorporadas únicamente en un determinado navegador, y se restringe el uso a tecnologías comunes o estandares como es el caso de HTML o Java [19]. Servicios WEB Un servicio web (en inglés Web service) es una colección de protocolos y estándares que sirven para intercambiar datos entre aplicaciones y sistemas. Las aplicaciones, escritas en Adriana Paola Méndez Rojas 72 Universidad de Cuenca – Facultad de Ingeniería diversos lenguajes de programación y ejecutándose en distintas plataformas pueden utilizar los servicios Web para intercambiar datos sobre una red de ordenadores como Internet, de una forma similar a la comunicación entre procesos en un solo ordenador. En los servicios Web, todos los datos se formatean con etiquetas XML [20]. Las organizaciones OASIS y W3C1 son los comités responsables de la arquitectura y reglamentación de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares [21]. Los servicios web se ejecutan en el servidor y suelen implementar la capa de reglas de negocio. Al igual que los componentes tradicionales, los servicios web muestran una interfaz a través de la cual otras aplicaciones acceden a los servicios ofrecidos. Lo importante de esta tecnología es que un servicio web está disponible a través de protocolos web, lo que lo hace compatible con programas que se ejecutan en diferentes Adriana Paola Méndez Rojas 73 Universidad de Cuenca – Facultad de Ingeniería lenguajes, en diferentes equipos e, incluso, en diferentes sistemas operativos. Esto es, se trata de un componente al que se puede acceder desde cualquier aplicación que sea capaz de generar mensajes e interpretar mensajes escritos en SOAP. Actualmente SOAP es un protocolo simple y ligero basado en XML que viaja sobre protocolos de transporte estándar como http. Figura 2.9 EQUIPO CLIENTE SERVIDOR DE APLICACIONES Petición SOAP sobre HTTP Aplicación Cliente Servicio Web XML Respuesta XML Figura 2.9 Comunicación usando SOAP Es importante indicar que el objetivo principal de los servicios Web es crear componentes reutilizables, con la potencia de las aplicaciones .NET, que puedan ser localizados y llamados sobre el estándar http para que estén disponibles para cualquier aplicación en cualquier sistema, y que expongan su interfaz para que cualquiera pueda determinar qué métodos están disponibles y cómo pueden llamarse [7]. 1 W3C (http://www.w3.org/) es una iniciativa creada en 1994, en la que participan 400 organizaciones, y que pretende que el World Wide Web alcance su máximo potencial desarrollando protocolos Adriana Paola Méndez Rojas 74 Universidad de Cuenca – Facultad de Ingeniería Funcionamiento de un Servicio Web La Figura 2.10, muestra cómo interactúan un conjunto de Servicios Web: Figura 2.10 Servicios web en funcionamiento Según el ejemplo de la figura, un usuario (que juega el papel de cliente dentro de los Servicios Web), a través de una aplicación, solicita información sobre un viaje que desea realizar haciendo una petición a una agencia de viajes que ofrece sus servicios a través de Internet. La agencia de viajes ofrecerá a su cliente (usuario) la información requerida. Para proporcionar al cliente la información que necesita, esta agencia de viajes solicita a su vez información a otros recursos (otros Servicios Web) en relación con el hotel y la compañía comunes que permitan su evolución y aseguren su interoperabilidad. Adriana Paola Méndez Rojas 75 Universidad de Cuenca – Facultad de Ingeniería aérea. La agencia de viajes obtendrá información de estos recursos, lo que la convierte a su vez en cliente de esos otros Servicios Web que le van a proporcionar la información solicitada sobre el hotel y la línea aérea. Por último, el usuario realizará el pago del viaje a través de la agencia de viajes que servirá de intermediario entre el usuario y el servicio Web que gestionará el pago [22]. Ventajas de los servicios Web Aportan interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen. Los servicios Web fomentan los estándares y protocolos basados en texto, que hacen más fácil acceder a su contenido y entender su funcionamiento. Al apoyarse en HTTP, los servicios Web pueden aprovecharse de los sistemas de seguridad firewall sin necesidad de cambiar las reglas de filtrado. Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados. Permiten la interoperabilidad entre plataformas de distintos fabricantes por medio de protocolos estándar. Adriana Paola Méndez Rojas 76 Universidad de Cuenca – Facultad de Ingeniería Inconvenientes de los servicios Web Para realizar transacciones no pueden compararse en su grado de desarrollo con los estándares abiertos de computación distribuida como CORBA (Common Object Request Broker Architecture). Su rendimiento es bajo si se compara con otros modelos de computación distribuida, tales como RMI (Remote Method Invocation), CORBA, o DCOM (Distributed Component Object Model). Es uno de los inconvenientes derivados de adoptar un formato basado en texto. Y es que entre los objetivos de XML no se encuentra la eficacia de procesamiento. Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewall cuyas reglas tratan de bloquear o auditar la comunicación entre programas a ambos lados de la barrera. Razones para crear servicios Web 1. Se basan en HTTP sobre TCP (Transmission Control Protocol) en el puerto 80. Dado que las organizaciones protegen sus redes mediante firewalls -que filtran y bloquean gran parte del tráfico de Internet-, cierran casi todos los puertos TCP salvo el 80, que es, precisamente, el que usan los navegadores. Los servicios Web se Adriana Paola Méndez Rojas 77 Universidad de Cuenca – Facultad de Ingeniería enrutan por este puerto, por la simple razón de que no resultan bloqueados. 2. Antes de que existiera SOAP, no había buenas interfaces para acceder a las funcionalidades de otros ordenadores en red. Las que había eran ad hoc y poco conocidas, tales como EDI (Electronic Data Interchange), RPC, u otras Application Programming Interface APIs. 3. Pueden aportar gran independencia entre la aplicación que usa el servicio Web y el propio servicio. De esta forma, los cambios a lo largo del tiempo en uno no deben afectar al otro. Esta flexibilidad será cada vez más importante, dado que la tendencia a construir grandes aplicaciones a partir de componentes distribuidos más pequeños es cada vez mayor [21]. Para la implementación de este servicio se puede utilizar SOAP (Simple Object Access Protocol ) debido a que es un protocolo propuesto por el W3C basado en XML para la comunicación de información estructurada entre aplicaciones. Protocolo de acceso a objetos simple (SOAP) Precedentes SOAP es un protocolo para el intercambio de mensajes sobre redes de computadoras, generalmente usando HTTP. Está Adriana Paola Méndez Rojas 78 Universidad de Cuenca – Facultad de Ingeniería basado en XML, a diferencia de DCOM y CORBA que son binarios; esto facilita la lectura por parte de los humanos, pero también los mensajes resultan más largos y, por lo tanto, considerablemente más lentos de transferir. Existen múltiples tipos de modelos de mensajes en SOAP pero, por lejos, el más común es el RPC, en donde un nodo de red (el cliente) envía un mensaje de solicitud a otro nodo (el servidor) y el servidor inmeditamente responde el mensaje al cliente. Los mensajes SOAP, son independientes del sistema operativo, y pueden transportarse en varios protocolos de internet como SMTP, MIME y HTTP. SOAP al principio significaba Simple Object Access Protocol, luego fue Service Oriented Architecture Protocol, pero actualmente es simplemente SOAP. El acronismo inicial, fue dejado de lado en la versión 1.2, cuando se volvió una recomendación de la W3C el 24 de junio de 2003, porque su nombre daba a confusión. SOAP fue diseñado por David Winer, Don Box, Bob Atkinson y Mohsen Al-Ghosein en 1998 con respaldo de Microsoft. Adriana Paola Méndez Rojas 79 Universidad de Cuenca – Facultad de Ingeniería Actualmente, la especificación SOAP es mantenida por el XML Protocol Working Group de la W3C [23]. Definición SOAP no es más que un protocolo estándar que permite la comunicación y la interoperabilidad entre diversas aplicaciones Web desarrolladas bajo tecnologías diferentes. Objetivos primordiales de SOAP a. Establecer un protocolo estándar de invocación de servicios remotos, basado en protocolos estándares de Internet: HTTP (Protocolo de transporte de Hipertexto) para la transmisión y XML (lenguaje de marcado extensible) para la codificación de datos. b. Independencia de plataforma, lenguaje de desarrollo e implementación (modelo de objetos). El protocolo de comunicación HTTP es el empleado intrínsecamente para la conexión sobre Internet. Garantiza que cualquier cliente con un navegador estándar pueda conectarse con un servidor remoto. La transmisión de datos se empaqueta con XML, que se ha convertido en el estándar del intercambio de datos, salvando las incompatibilidades entre otros protocolos, tales como el NDR (Network Data Representation) o el CDR (Common Data Representation). Adriana Paola Méndez Rojas 80 Universidad de Cuenca – Facultad de Ingeniería Por otra parte, los servidores Web pueden procesar las peticiones de usuario, empleando las tecnologías de Servlets, paginas ASP (Active Server Pages) o JSP (Java Server Pages), o un servidor de aplicaciones, invocando objetos de tipos CORBA, COM o EJB [24]. Estructura de un mensaje SOAP Estos mensajes constan de 3 secciones: envelope, header y body. Figura 2.11 Estructura de un mensaje SOAP Donde: envelope (envoltura): Es el elemento raíz del mensaje para describir su contenido y la forma de procesarlo. header (encabezado): Es la información de identificación del contenido. Un grupo de reglas de codificación para expresar las instancias de tipos de datos definidos por la aplicación. Adriana Paola Méndez Rojas 81 Universidad de Cuenca – Facultad de Ingeniería body (cuerpo): Es el contenido del mensaje. Una convención para representar las llamadas y las respuestas a procedimientos remotos. Ejemplos de mensajes SOAP Como ejemplo se muestra la forma en que un cliente solicitaría información de un producto a un proveedor de servicios Web: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getProductDetails xmlns="http://warehouse.example.com/ws"> <productId>827635</productId> </getProductDetails> </soap:Body> </soap:Envelope> Y esta sería la respuesta del proveedor: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getProductDetailsResponse xmlns="http://warehouse.example.com/ws"> <getProductDetailsResult> <productName>Toptimate 3-Piece Set</productName> <productId>827635</productId> <description>3-Piece luggage set. Black Polyester.</description> <price>96.50</price> <inStock>true</inStock> </getProductDetailsResult> </getProductDetailsResponse> </soap:Body> </soap:Envelope> Ventajas Es sencillo de implementar, probar y usar. Atraviesa "firewalls" y routers, pues estos "piensan" que es una comunicación HTTP. Tanto los datos como las funciones se describen en XML, lo que permite que el protocolo no sólo sea más fácil de utilizar sino que también sea muy sólido. Adriana Paola Méndez Rojas 82 Universidad de Cuenca – Facultad de Ingeniería Es independiente del sistema operativo y procesador. No se encuentra fuertemente asociado a ningún protocolo de transporte: La especificación de SOAP no describe como se deberían asociar los mensajes de SOAP con HTTP. Un mensaje de SOAP no es más que un documento XML, por lo que puede transportarse utilizando cualquier protocolo capaz de transmitir texto. Aprovecha los estándares existentes en la industria. Por ejemplo, SOAP aprovecha XML para la codificación de los mensajes, en lugar de utilizar su propio sistema de tipo que ya están definidas en la especificación esquema de XML. Y como ya se ha mencionado SOAP no define un medio de trasporte de los mensajes, los mensajes de SOAP se pueden asociar a los protocolos de transporte existentes como HTTP y SMTP. Desventajas Las desventajas de la utilización de SOAP recaen en la dificultad para entender las especificaciones del protocolo, puesto que es un complejo esquema de codificación en el cual es necesario precisar que todos los mensajes se incluyan en un sobre, con el contenido del mensaje dentro de un elemento de cuerpo para que puedan ser entendidos por cada una de las aplicaciones Web que procesan el mensaje [24]. Adriana Paola Méndez Rojas 83 Universidad de Cuenca – Facultad de Ingeniería Lenguaje extensible para análisis de documentos (XML) XML ( Extensible Markup Language) describe el contenido de los documentos almacenados en formato electrónico, de tal forma que sea legible y comprensible tanto para las personas como para el software. Es importante aclarar que las funciones de HTML y XML, son diferentes. El HTML tiene por objeto mostrar información, mientras que el XML se ocupa de la información propiamente dicha (el contenido). Estructura de un documento XML Un documento XML contiene instrucciones especiales llamadas tags (etiquetas), las cuales usualmente encierran las partes identificables de un documento. Las etiquetas XML no directamente especifican el estilo de presentación, pero en lugar de esto dan nombre a los objetos, estas usualmente ordenan e identifican un objeto en un flujo de datos. Una etiqueta de inicio, una etiqueta de fin, junto con los datos encerrados por estos, componen un elemento; el tag de inicio es delimitado usando los caracteres ‘<’ y ‘>’, el tag de fin es delimitado por los caracteres ‘</’ y ‘>’. Adriana Paola Méndez Rojas 84 Universidad de Cuenca – Facultad de Ingeniería Los nombres de los elementos son sensibles a minúsculas y mayúsculas, de esta forma ‘descripción’, ‘DESCRIPCION’ y ‘Descripción’, pueden hacer referencia a elementos diferentes, el nombre que aparece en el tag de inicio debe ser exactamente igual con el nombre del tag de finalización para los elementos. Ejemplo de un documento XML 1. <?xml version="1.0" encoding="UTF-8"?> 2. <vehiculos> 3. <coche> 4. <marca>Toyota</marca> 5. <modelo>Corolla</modelo> 6. <fechaCompra>2002</fechaCompra> 7. </coche> 8. <coche> 9. <marca>Honda</marca> 10. <modelo>Civic</modelo> 11. <fechaCompra>2003</fechaCompra> 12. </coche> 13. </vehiculos> SOAP, WSDL, UDDI y Web Services SOAP no es únicamente un protocolo de comunicación entre ordenadores, sino que además se rodea de términos como WSDL y UDDI. Figura 2.12 SOAP, WSDL, UDDI y Web Services Adriana Paola Méndez Rojas 85 Universidad de Cuenca – Facultad de Ingeniería Los Servicios Web son para los ordenadores, lo que las páginas web para los humanos. Páginas que contienen cierta información o realizan cierta tarea y con la que se comunican mediante un lenguaje como es el XML. Cuando navegamos por un portal, siempre encontramos en alguna parte un índice, o algo parecido. El índice nos permite conocer las partes accesibles de portal y dirigirnos a lo que más nos interese. Con los Servicios Web, ocurre igual. El índice es el fichero WSDL (Web Services Description Language). Este fichero WSDL, en formato XML, indica al ordenador que lo consulta, qué servicios dispone en su sitio. No sólo indica cuales dispone, sino que además da una referencia precisa sobre ellos, para poder invocarlos usando los parámetros adecuados. Del mismo modo, al igual que en la Web tenemos buscadores como Google, que nos llevan a las páginas que nos interesan, existe el concepto equivalente a nivel de Servicios Web, que es UDDI (Universal Description Discovery Integration). UDDI es un Servicio Web en línea que se puede utilizar desde las aplicaciones para descubrir de forma dinámica otros servicios en línea, todos ellos perfectamente integrados en una interfaz XML simple. Adriana Paola Méndez Rojas 86 Universidad de Cuenca – Facultad de Ingeniería La especificación UDDI, junto con Extensible Markup Language (XML), Simple Object Access Protocol (SOAP) y Web Services Description Language (WSDL), están ganando un amplio soporte en el marco de trabajo de los servicios Web [25]. Sistema de Información Geográfica - GIS Un Sistema de Información Geográfica (SIG o GIS, en su acrónimo inglés) es una integración organizada de hardware, software, datos geográficos y personal, diseñado para capturar, almacenar, manipular, analizar y desplegar en todas sus formas la información geográficamente referenciada con el fin de resolver problemas complejos de planificación y gestión. También puede definirse como un modelo de una parte de la realidad referido a un sistema de coordenadas terrestre y construido para satisfacer unas necesidades concretas de información. El GIS funciona como una base de datos con información geográfica (datos alfanuméricos) que se encuentra asociada por un identificador común a los objetos gráficos de un mapa digital. De esta forma, señalando un objeto se conocen sus atributos e, inversamente, preguntando por un registro de la base de datos se puede saber su localización en la cartografía. Adriana Paola Méndez Rojas 87 Universidad de Cuenca – Facultad de Ingeniería La razón fundamental para utilizar un GIS es la gestión información espacial. El sistema permite separar la información en diferentes capas temáticas y las almacena independientemente, permitiendo trabajar con ellas de manera rápida y sencilla. La información puede ser almacenada en formato raster o vectorial. El modelo de GIS raster o de retícula se centra en las propiedades del espacio más que en la precisión de la localización. Divide el espacio en celdas regulares donde cada una de ellas representa un único valor. Cuanto mayores sean las dimensiones de las celdas (resolución) menor es la precisión o detalle en la representación del espacio geográfico. En el caso del modelo de GIS vectorial, el interés de las representaciones se centra en la precisión de localización de los elementos sobre el espacio y donde los fenómenos a representar son discretos, es decir, de límites definidos. Para modelar digitalmente las entidades del mundo real se utilizan tres objetos espaciales: el punto, la línea y el polígono. Adriana Paola Méndez Rojas 88 Universidad de Cuenca – Facultad de Ingeniería Figura 2.13 GIS Vectoriales y GIS Raster Los GIS vectoriales son más populares en el mercado. No obstante, los GIS raster son muy utilizados en estudios que requieran la generación de capas continuas, necesarias en fenómenos no discretos; también en estudios medioambientales donde no se requiere una excesiva precisión espacial (contaminación atmosférica, distribución de temperaturas, localización de especies marinas, análisis geológicos, etc.). Funciones de un GIS Las principales cuestiones que puede resolver un Sistema de Información Geográfica, ordenadas de menor a mayor complejidad, son: 1. Localización: preguntar por las características de un lugar concreto. Adriana Paola Méndez Rojas 89 Universidad de Cuenca – Facultad de Ingeniería 2. Condición: el cumplimiento o no de unas condiciones impuestas al sistema. 3. Tendencia: comparación entre situaciones temporales o espaciales distintas de alguna característica. 4. Rutas: cálculo de rutas óptimas entre dos o más puntos. 5. Pautas: detección de pautas espaciales. 6. Modelos: generación de modelos a partir de fenómenos o actuaciones simuladas. Por ser tan versátiles los Sistemas de Información Geográfica, su campo de aplicación es muy amplio, pudiendo utilizarse en la mayoría de las actividades. En nuestro caso utilizaremos el GIS para mostrar la ubicación del vehiculo el momento que cometió la infracción [26]. ASPMAP AspMap es un conjunto de componentes y controles de cartografía que permite agregar mapas a las aplicaciones Web. Puede ser accedido directamente por ASP .NET, Visual Basic .Net, C# y otros ambientes soportados por .NET. Las aplicaciones construidas con AspMap permiten agregar las siguientes funcionalidades: Mostrar un mapa con múltiples capas, tales como ciudades, manzanas, carreteras, ríos, etc. Adriana Paola Méndez Rojas 90 Universidad de Cuenca – Facultad de Ingeniería Mostrar información almacenada en la base de datos. Permite hacer zoom al mapa. Mostrar gráficos en el mapa como puntos, líneas, elipses, rectángulos y polígonos. Dibujar texto descriptivo. Identificar características en el mapa al posicionarse sobre este. Mostrar dinámicamente información en tiempo real. Al utilizar AspMap en el prototipo permite que los mapas que se presentan sean totalmente interactivos en el lado del cliente. 2.4.3 Capa de Datos El objetivo principal de esta capa es encapsular los procesos que tienen que ver directamente con el acceso a la información, para que las capas superiores puedan acceder a la base de datos en forma estandarizada y para que la programación sea mucho más sencilla. Una base de datos o banco de datos, es un conjunto de datos que pertenecen al mismo contexto almacenados sistemáticamente para su posterior uso. Adriana Paola Méndez Rojas 91 Universidad de Cuenca – Facultad de Ingeniería Es importante además, los sistemas gestores de bases de datos (SGBD), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. La información en la base de datos puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información. El lenguaje más habitual para construir las consultas a bases de datos es SQL, Structured Query Language o Lenguaje Estructurado de Consultas [27]. Adriana Paola Méndez Rojas 92 Universidad de Cuenca – Facultad de Ingeniería CAPITULO III DISEÑO, IMPLEMENTACION Y EVALUACION DE LA SOLUCION La posibilidad de compartir universalmente la información entre grupos de computadoras y usuarios constituye un componente vital de la era de la información. De esta manera, se ha desarrollado una aplicación de red para el Sistema de Parqueo Tarifado Automatizado de la ciudad de Cuenca. El prototipo desarrollado permite que las PDAs se comuniquen con el servidor por medio de la red de Internet de ALEGRO PC, en este caso las direcciones IP para cada PDA son asignadas por el DHCP del ISP. Sin embargo, existe la posibilidad de que la SERT contrate un cierto ancho de banda, de tal manera que el servidor de la SERT por medio del servicio DHCP asigne las direcciones IP correspondientes a cada PDA, para lo cual se diseñaría una subred apropiada para el Parqueo Tarifado, clase C. Esta clase de red es adecuada porque en el sistema de parqueo propuesto se dispondrá de 36 PDAs. Adriana Paola Méndez Rojas 93 Universidad de Cuenca – Facultad de Ingeniería Es importante además indicar que la aplicación de red realizada en esta tesis maneja un Sistema de información para la administración, gestión y control de la información. Un sistema de información es un sistema automatizado o manual que abarca personas y equipos de telecomunicaciones o de computación interconectados, con el propósito de obtener, almacenar, manipular, administrar, mover, controlar, desplegar, intercambiar, transmitir o recibir voz y/o datos. Para la implementación del Sistema de Parqueo Tarifado automatizado en el parque automotor de la ciudad de Cuenca, fue necesario evaluar las ventajas, desventajas y costos de las diferentes herramientas de desarrollo. Luego de este proceso se definió: Microsoft Visual Studio 2005, como herramienta de desarrollo del sistema web. Microsoft SQL Server, como motor de base de datos. ASP .NET, para desarrollar la página Web y los servicios web. ASPMAP .NET, como herramienta GIS para el sitio web. 3.1 Diagrama de Contexto Con la finalidad de tener una percepción integral del proyecto, se esquematiza los contenidos de la siguiente manera: Adriana Paola Méndez Rojas 94 Universidad de Cuenca – Facultad de Ingeniería En la Figura 3.1 se indica un diagrama del proyecto global; En la Figura 3.2 se muestra el diagrama de contexto del Sistema de Parqueo Tarifado propuesto; y, Figura 3.3 se indica un diagrama de contexto del proyecto en forma detallada. Adriana Paola Méndez Rojas 95 Universidad de Cuenca – Facultad de Ingeniería S e g u rid a d SSL T C P/IP Red Celular S e rvid o r A p lica cio n e s: W e b S e rvice s A cce ss P o in t TCP Internet S e rv id o r D b - Fi Wi S CDM A S e rvid o r W e b GSM - Lecto r R F- ID T arjeta R F -ID GPS B lu e to o th PDA G e n e ra c ió n d e In fo rm a ció n C á m a ra até lit es BTS 4S C DM A GPR /I P U so d e In fo rm a ció n A plic ac iones G IS M o d e m G S M /C D M A PC PC P aginas W eb C o n su lta S M S D SL/C able... R S232/usb MAC ether net S e rvid o r S M S -IV R R o u te r e thernet R ed PSTN Línea telefónica E q u ip o IV R- E th e rn e t Figura 3.1 Diagrama General del Diseño de la Solución Telemática del Sistema de Parqueo Tarifado de la Ciudad de Cuenca. 96 Universidad de Cuenca – Facultad de Ingeniería Usuarios Inspectores Registran Información: - Infracciones cometidas por los usuarios - Parqueo Informan sobre la hora de inicio y fin de parqueo Información sobre el uso del tiempo de parqueo Información de las Infracciones cometidas SISTEMA DE PARQUEO TARIFADO Envía alertas de uso de parqueo de los usuarios Envía información sobre: - Vehículos infraccionados - Vehículos estacionados - Ubicación de los vehículos estacionados - Ubicación de los vehículos infracciones Sistema de Estacionamiento Rotativo Tarifado. SERT Figura 3.2 Diagrama de contexto del Diseño de la Solución Telemática del Sistema de Parqueo Tarifado de la Ciudad de Cuenca 97 Universidad de Cuenca – Facultad de Ingeniería SISTEMA DE PARQUEO TARIFADO SERVIDOR DE PAGINAS WEB Registro y control de parqueo Infracciones Bú Co s qu e d ns ul t a a Sistema de Estacionamiento Rotativo Tarifado. SERT Sistema de Información Geográfica SERVIDOR DE APLICACIONES Identificación de Coordenadas geográficas Consulta de infacciones SERVIDOR DE COMUNICACIONES Usuarios Captura de fotografías de la infracción Control y recarga de tiempo en la tarjeta RFID Captura de datos del vehículo infraccionado Búsqueda de infacciones Mensaje de celular sms PDA Inspectores Servidor de Base de datos Identificación de la tarjeta RFID Consulta de datos de usuario Tesis de la Ing.Paola Méndez R. Tesis del Ing.Patricio Pesántez S . Figura 3.3 Diagrama de contexto detallado del Diseño de la Solución Telemática del Sistema de Parqueo Tarifado de la Ciudad de Cuenca. 98 Universidad de Cuenca – Facultad de Ingeniería 3.2 Diagrama de Nivel El diagrama de la solución de parqueo desarrollada en la presente tesis, Diseño de una solución Telemática para el Sistema de Parqueo Tarifado de la Ciudad de Cuenca. Subtema: Diseño e Implementación de la Red IP y del Sistema de Información, se muestra en la Figura 3.4. Servidor Aplicaciones: Web Services Internet Servidor Db Consulta SMS Paginas Web Servidor Web Aplicaciones GIS Búsqueda de Infracciones Consulta de Infracciones Control y Recarga de Tiempo en las Tarjetas RFID Registro de parqueo Control de parqueo Ubicación geográfica Ubicación geográfica de todos los vehículos del vehículo estacionados infraccionado Figura 3.4 Diagrama de Nivel del Diseño de una solución Telemática para el Sistema de Parqueo Tarifado de la Ciudad de Cuenca. Subtema: Diseño e Implementación de la Red IP y del Sistema de Información 99 Universidad de Cuenca – Facultad de Ingeniería 3.3 Descripción del Funcionamiento del Sistema El Parqueo Tarifado de la ciudad de Cuenca realiza manualmente el cobro de parqueo a todos los usuarios. Sin embargo, no da facilidad para que el usuario realice consultas de las infracciones que tiene el vehiculo, valor, ubicación del mismo al momento de la infracción, quien fue el inspector que coloco la infracción, fecha, hora, etc. De esta manera, todos los datos registrados por el inspector a través de la pocket se envían a las oficinas de la SERT con la finalidad de ser almacenados en la base de datos del servidor central. Esta información se muestra al usuario por medio de las distintas páginas que conforman el sitio web para el Sistema de Parqueo Tarifado. El sitio web es útil tanto para el usuario como para el personal de la SERT. Permite buscar las infracciones cometidas en un rango de fechas, infracciones cometidas por tarjeta RFID, por placa o por número de infracción. También recupera la información correspondiente a cada infracción como la fecha de infracción, número de placa, marca, modelo, tipo y color del vehículo, hora detectada, hora intervenida, hora de tarjeta vencida, número de sello, tipo de infracción, fotografías del vehículo y la ubicación del vehículo al momento de cometer la infracción. El tiempo de cada una de las tarjetas RFID puede 100 Universidad de Cuenca – Facultad de Ingeniería recargarse a través del sitio web, así como obtener un detalle de fecha, tiempo y valor usado en el parqueo. Finalmente, el personal de la SERT puede obtener la ubicación de todos los vehículos que se encuentran estacionados. A continuación se detallará la solución para el Sistema de Parqueo Tarifado automatizado, en lo que respecta a la Capa de Presentación, la Capa Lógica de Aplicación y la Capa de Datos. 3.4 Capa de Presentación El sitio web correspondiente a la capa de presentación fue desarrollado utilizando Microsoft Visual Studio 2005 y Macromedia Dreamweaver MX. Esta capa está formada por los formularios web: Búsqueda de Infracciones, Consulta de Infracciones, Control de Tiempo y el Sistema de Información geográfica. 3.4.1 Interfaces del Sitio Web La pantalla principal del sitio web para el Sistema de Parqueo Tarifado automatizado permite obtener la información en tiempo real mediante las diferentes opciones de búsqueda y consulta de infracciones, control y recarga de tiempo en la 101 Universidad de Cuenca – Facultad de Ingeniería tarjeta RFID correspondiente a cada vehículo y la ubicación de todos los vehículos estacionados. [ Figura 3.5 ] Figura 3.5 Pantalla principal del sitio web Búsqueda de Infracciones En la pantalla Búsqueda de Infracciones se tiene que llenar los siguientes datos: 102 Universidad de Cuenca – Facultad de Ingeniería Los campos de Fecha infracción, Hasta se deben llenar cuando se quiere consultar todas las infracciones cometidas en ese rango de fecha. El campo Placa permite buscar todas las infracciones cometidas con el vehículo. El campo Número de Infracción permite buscar la infracción con ese número. Y el campo Código RFID permite buscar todas las infracciones cometidas por el vehículo que tiene esa tarjeta. [ Figura 3.6 ] 103 Universidad de Cuenca – Facultad de Ingeniería Figura 3.6 Búsqueda de Infracciones Una vez ingresado las opciones de búsqueda, se obtiene los resultados pulsando el botón de búsqueda . La información obtenida se muestra en la pantalla de la Figura 3.7 104 Universidad de Cuenca – Facultad de Ingeniería Figura 3.7 Resultado de la búsqueda de infracciones Desde esta pantalla se puede obtener directamente los datos correspondientes a determinada infracción haciendo click en el enlace que se encuentra en la primera columna con la letra S. Consulta de Infracciones Para consultar la infracción únicamente se debe ingresar el número de la infracción en el campo Número Infracción. [ Figura 3.8 ] 105 Universidad de Cuenca – Facultad de Ingeniería Figura 3.8 Consulta de Infracciones 106 Universidad de Cuenca – Facultad de Ingeniería Al presionar el botón de consulta se recupera la información de la base de datos, dividida en varias secciones: Datos Generales.- Se muestra la fecha en la que se cometió la infracción. Datos Inspector.- Indica el código y nombre del inspector que levantó la infracción. Vehículo.- Muestra los datos del vehículo: Número de placa, marca, modelo, tipo de vehículo y color. Además, se indica el número total de infracciones que se ha registrado con ese vehículo. Fotografías.- Permite ver las fotografías que se toman al vehículo al momento que se comete la infracción. Dirección.- Indica coordenadas la ubicación geográficas (latitud del y vehículo longitud). en Sin embargo, podemos ver el sitio en un mapa de la ciudad de Cuenca al pulsar el botón . [ Figura 3.9] Datos.- Indica el número de la tarjeta RFID correspondiente al vehículo y el número de sello asignado por la infracción. 107 Universidad de Cuenca – Facultad de Ingeniería Datos Infracción.- Muestra la hora en la que sucedió la infracción (Hora Detectado), hora en que fue intervenido el vehículo (Hora Intervenido) y, la hora en la que terminó el tiempo de estacionamiento (Hora Tarjeta Vencida). Tipo Infracción.- Muestra el código y el nombre del tipo de infracción cometida. En la Tabla 3.1 se muestran los diferentes tipos que maneja la SERT. Código Tipo de Infracción Valor C20 Ausencia de tarjeta USD $10 C21 Tarjeta no visible USD $10 C22 Tarjeta de días anteriores USD $10 C23 Alteración de Tarjeta USD $10 C24 Tiempo Excedido USD $10 C40 Vehículo estacionado en lugar prohibido USD $24 C40 Vehículo en reservado USD $24 C41 Vehículo en boca calle USD $24 C42 Vehículo en rampa de minusválidos. USD $24 C44 Vehículo en parada de bus USD $24 C45 Vehículo frente a hidrante USD $24 C46 Vehículo entrada a garage USD $24 C40 Vehículo sobre vereda USD $24 C48 Vehículo en doble fila Fuente: SERT USD $24 Tabla 3.1 Tipos de Infracción. 108 Universidad de Cuenca – Facultad de Ingeniería Valores Infracción.- Estos valores dependen del tipo de infracción que se cometa. Muestra los valores que debe cancelar el usuario por la infracción, valor por winchado y el interés causado por mora. Observaciones.- Son aclaraciones necesarias colocadas por el inspector. 109 Universidad de Cuenca – Facultad de Ingeniería Figura 3.9 Ubicación del vehiculo infraccionado Al mostrar la ubicación del vehículo en el mapa de la ciudad de Cuenca, la interfaz tiene un menú de opciones que permiten al usuario manejar la información. 110 Universidad de Cuenca – Facultad de Ingeniería Las opciones se describen a continuación: Zoom All.- Permite reestablecer el mapa al tamaño inicial. Zoom In.- Permite aumentar el tamaño del mapa. Zoom Out.- Permite reducir el tamaño del mapa. Mover.- Permite mover el mapa. Consultar.datos. Permite obtener información de la base de Indica el número de infracción del vehículo, fecha, número de sello colocado al vehículo y, las coordenadas geográficas. [ Figura 3.10 ] 111 Universidad de Cuenca – Facultad de Ingeniería Figura 3.10 Consulta a la Base de Datos 112 Universidad de Cuenca – Facultad de Ingeniería Control y Recarga de Tiempo en las Tarjetas RFID Para realizar la consulta del tiempo disponible en la Tarjeta RFID es necesario ingresar el número de la tarjeta en el campo Tarjeta RFID. Además, si se desea obtener un reporte de los tiempos utilizados se debe ingresar las fechas en las que se desea realizar la consulta, en los campos desde y hasta. Después se debe presionar el botón . Al realizar la búsqueda se muestra en la pantalla la fecha de adquisición de la tarjeta en el campo Fecha de Adquisición; el tiempo total en minutos que tiene en la tarjeta para el uso de parqueo, campo Tiempo Total y, el registro de las operaciones realizadas: Pago de parqueo o recarga de tarjeta. Este registro se muestra en una tabla, en la cuál se indica el número de tarjeta, descripción de la acción realizada (parqueo o recarga de tarjeta), valor cobrado, tiempo utilizado y las observaciones. [ Figura 3.11 ] Además, esta interfase permite realizar recarga de tiempo en la tarjeta RFID, ingresando en el campo Tiempo, los minutos que se desea recargar, luego es necesario pulsar el botón para determinar el valor que se debe cancelar por el tiempo que se adicionará a la tarjeta. Una vez calculado el 113 Universidad de Cuenca – Facultad de Ingeniería valor se pulsa el botón para que la operación quede registrada en la base de datos. Si nuevamente realizamos la consulta, se puede observar que el tiempo total de la tarjeta se incrementa (campo Tiempo Total) y, en la última fila de la tabla de la interfase se muestra la recarga realizada. [ Figura 3.12 ] 114 Universidad de Cuenca – Facultad de Ingeniería Figura 3.11 Control de Tiempo en las Tarjetas RFID 115 Universidad de Cuenca – Facultad de Ingeniería Figura 3.12 Recarga de Tiempo en las Tarjetas RFID 116 Universidad de Cuenca – Facultad de Ingeniería Sistema de Información Geográfico Esta pantalla permite ver en el mapa de la ciudad de Cuenca todos los vehículos que se encuentran estacionados diariamente. [ Figura 3.13 ] Figura 3.13 Consulta de vehículos estacionados 117 Universidad de Cuenca – Facultad de Ingeniería Esta interface tiene una barra de herramientas que permite el manejo del mapa, es decir permite acercar, alejar, mover el mapa y, realizar consultas a la base de datos sobre el vehículo estacionado. [ Figura 3.14 ] Figura 3.14 Consulta a la base de datos del vehículo estacionado 118 Universidad de Cuenca – Facultad de Ingeniería 3.4.2 Algoritmos de la Capa de Presentación del Sitio web En esta sección se va a describir los algoritmos que se utilizan para realizar la búsqueda y consulta de infracciones, control y recarga de tiempo en la tarjeta RFID y, los algoritmos utilizados para mostrar vehículos infraccionados y estacionados en el mapa de la ciudad de Cuenca. Es decir, se mostrará como la capa de presentación interactúa con la capa lógica de aplicación a través de la utilización de los servicios web. Búsqueda de Infracciones Proceso de búsqueda 1. Se ingresan los datos necesarios para realizar la búsqueda de la información en la base de datos. Se puede realizar dos tipos de búsqueda: Por Fecha, en donde es necesario indicar la fecha de inicio y fin. Se puede buscar las infracciones por placa del vehículo, número de infracción o Número de la tarjeta RFID. 2. Se realiza la conexión a la base de datos y la búsqueda de la información de acuerdo a los parámetros indicados en el paso anterior. Conexión a la base de datos 119 Universidad de Cuenca – Facultad de Ingeniería Se forma la cadena SQL para consultar a la base de datos Se realiza la consulta 3. Se muestran en la página web los resultados encontrados. Algoritmo public void buscar() { string cadenaSql; int bandera; int numeroRegistos; bandera = 0; Se forma la cadena de búsqueda de la información en la Base de Datos, de acuerdo a los criterios establecidos por el usuario en la página web. cadenaSql = "Select NumInfraccion as Numero,FecDetecInfraccion as Fecha,NumSelloInfraccion as NumeroSello,Infraccion.CodInspector,NomInspector as Nombre, Infraccion.CodTipoInfraccion,NomTipoInfraccion as TipoInfraccion,NomPersona, Vehiculo.PlaVehiculo, CodRfid from infraccion, Vehiculo,Persona, Inspector, TipoInfraccion where Infraccion.PlaVehiculo = Vehiculo.PlaVehiculo and Vehiculo.CedPersona = Persona.CedPersona and Infraccion.CodInspector = Inspector.CodInspector and Infraccion.CodTipoInfraccion = TipoInfraccion.CodTipoInfraccion and "; if (chkFechas.Checked == true) { if (txtFechaInicial.Text != "" && txtFechaFin.Text != "") { cadenaSql = cadenaSql + " FecDetecInfraccion between '" + txtFechaInicial.Text + "' and '" + txtFechaFin.Text + "'"; bandera = 1; } } if (txtPlaca.Text != "" && bandera == 1) { cadenaSql=cadenaSql+" and Infraccion.PlaVehiculo ='"+txtPlaca.Text+"'"; bandera = 1; } else if (txtPlaca.Text != "") { cadenaSql = cadenaSql+"Infraccion.PlaVehiculo = '"+txtPlaca.Text+"'"; bandera = 1; } 120 Universidad de Cuenca – Facultad de Ingeniería if (txtCodigoRFID.Text != "" && bandera == 1) { cadenaSql = cadenaSql + " and CodRfid ='" + txtCodigoRFID.Text+"'"; bandera = 1; } else if (txtCodigoRFID.Text != "") { cadenaSql = cadenaSql + "CodRfid ='" + txtCodigoRFID.Text + "'"; bandera = 1; } if (txtNumInfraccion.Text != "" && bandera == 1) { cadenaSql = cadenaSql+" and NumInfraccion ="+txtNumInfraccion.Text; bandera = 1; } else if (txtNumInfraccion.Text != "") { cadenaSql = cadenaSql + "NumInfraccion =" + txtNumInfraccion.Text; bandera = 1; } Se invoca al servicio web wsParqueoTarifado para poder utilizar el método BusquedaInfracción. Este método recibe como parámetro la cadena de consulta a la base de datos, cadenaSql. wsParqueoTarifado.Service objWsParqueo=new wsParqueoTarifado.Service(); ConjuntoDatos = (DataSet)objWsParqueo.BusquedaInfraccion(cadenaSql); Se muestran los resultados de la búsqueda. GridView1.DataSourceID = ""; GridView1.DataSource = ConjuntoDatos; GridView1.DataBind(); } Consulta de Infracciones Proceso de Consulta 1. Se ingresa el número de la infracción que se desea consultar. 2. Se invoca al servicio web correspondiente para realizar: La conexión a la base de datos y, 121 Universidad de Cuenca – Facultad de Ingeniería la consulta de la información correspondiente a la infracción requerida. Cuando se realiza la consulta además de indicar en la pantalla la información correspondiente al vehículo infraccionado, muestra el número total de infracciones que tiene ese vehículo. 3. Se muestran los resultados en la página web. En la página web se pueden ver todas las fotos tomadas al vehículo el día de la infracción cometida. Consultar la ubicación del vehículo en el mapa de la ciudad de Cuenca. Algoritmo para mostrar información del vehículo infraccionado Se invoca al servicio web wsParqueoTarifado para poder utilizar el método ConsultaInfracción. Este método recibe como parámetro el número de infracción ingresado por el usuario, txtNumInfraccion.text. wsParqueoTarifado.Service objWsParqueo=new wsParqueoTarifado.Service(); ConjuntoDatos = (DataSet)objWsParqueo.ConsultaInfraccion(int.Parse(txtNumInfraccion.Text)); Se muestran en la página web, los resultados obtenidos. txtFechaInfraccion.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["FecDetecInfraccion"].ToString(); txtNumSello.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["NumSelloInfraccion"].ToString(); txtLatitud.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["latitud"].ToString(); txtLongitud.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["longitud"].ToString(); txtRfid.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["CodRfid"].ToString(); 122 Universidad de Cuenca – Facultad de Ingeniería hora = DateTime.Parse(ConjuntoDatos.Tables["Infraccion"].Rows[0]["HoraDetecInfracc ion"].ToString()); txtHoraDetectado.Text = hora.TimeOfDay.ToString(); hora = DateTime.Parse(ConjuntoDatos.Tables["Infraccion"].Rows[0]["HoraInterInfracc ion"].ToString()); txtHoraIntervenido.Text = hora.TimeOfDay.ToString(); hora = DateTime.Parse(ConjuntoDatos.Tables["Infraccion"].Rows[0]["HoraTarjVencInfr accion"].ToString()); txtHoraTarjetaVencida.Text = hora.TimeOfDay.ToString(); txtObservaciones.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["ObservacionesInfraccion"].ToStr ing(); txtCodInspector.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["CodInspector"].ToString(); txtNomInspector.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["NomInspector"].ToString(); txtCodTipoInfraccion.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["CodTipoInfraccion"].ToString(); txtNomInfraccion.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["NomTipoInfraccion"].ToString(); txtValTipoInfraccion.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["ValTipoInfraccion"].ToString(); txtInteresInfraccion.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["InteTipoInfraccion"].ToString(); txtNumPlaca.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["PlaVehiculo"].ToString(); txtMarca.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["NomMarca"].ToString(); txtModelo.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["NomModelo"].ToString(); txtTipo.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["NomTipoVehiculo"].ToString(); txtColor.Text = ConjuntoDatos.Tables["Infraccion"].Rows[0]["ColVehiculo"].ToString(); Se utiliza el método InfraccionesCometidas del servicio web wsParqueoTarifado, para mostrar en pantalla el número total de infracciones que ha cometido este vehículo. El método recibe como parámetro el número de placa del vehículo infraccionado, txtNumPlaca.text. lblNumInfracciones.Text = (string)objWsParqueo.InfraccionesCometidas(txtNumPlaca.Text); 123 Universidad de Cuenca – Facultad de Ingeniería Además, es necesario el método ObtenerFotografía del servicio web wsParqueoTarifado, para mostrar en pantalla las fotografías correspondientes al vehículo infraccionado. El método recibe como parámetro el número de la infracción, txtNumInfraccion.text y, el número de la foto que se mostrará en la página web, NumFoto. NumFoto = 0; ConjuntoDatos = (DataSet)objWsParqueo.ObtenerFotografia(int.Parse(txtNumInfraccion.Text),Nu mFoto); Se presenta en la página web, la foto obtenida de la base de datos. mapaBits = (System.Drawing.Bitmap)convertido.ConvertFrom(ConjuntoDatos.Tables["Fotos"] .Rows[0]["Foto"]); System.Drawing.Image miImagen = mapaBits; miImagen.Save("c:\\mifoto.jpg"); Image1.ImageUrl = "c:\\mifoto.jpg"; lblFoto.Text = "1"; Algoritmo para mostrar la ubicación del vehículo infraccionado en el mapa Para mostrar la ubicación del vehículo infraccionado en el mapa de la ciudad de Cuenca, es necesario en primer lugar agregar capas, las mismas que deben estar en formato .shp. En el procedimiento que se muestra a continuación, se agregan las capas correspondientes a las calles y manzanas de la ciudad de Cuenca. private void AddMapLayers() { AspMap.Layer layer; string MapDir = MapPath("MAPAS/Cuenca/"); 124 Universidad de Cuenca – Facultad de Ingeniería //Se agrega la capa de las calles de la ciudad layer = Map1.AddLayer(MapDir + "calles_Cuenca.shp"); layer.LabelField = "nomcalle"; layer.ShowLabels = true; layer.LabelFont.Name = "Verdana"; layer.LabelFont.Size = 12; layer.LabelFont.Bold = true; layer.LabelStyle = LabelStyle.PolygonCenter; //Se agrega la capa de las manzanas de la ciudad layer = Map1.AddLayer(MapDir + "manzanas.shp"); } En segundo lugar, es necesario obtener de la base de datos la información correspondiente a la infracción consultada: número de infracción, fecha de infracción, número de sello colocado, placa y, principalmente la ubicación del vehículo infraccionado (latitud y longitud), con el propósito de agregar esta información al mapa y ubicar el vehículo en el mapa. La función utilizada se indica a continuación: void AddDatabase() { DataSource dataSource = new DataSource(); dataSource.ConnectionString = "Provider=sqloledb;Data Source=paola;Initial Catalog=ParqueoTarifado;User Id=Pao; Password=123;"; dataSource.CommandText = "select NumInfraccion as NumeroInfraccion, FecDetecInfraccion as FechaInfraccion,NumSelloInfraccion as NumeroSello, PlaVehiculo as Placa,longitud as X, latitud as Y from Infraccion where NumInfraccion = " + NumInfraccion; AspMap.Layer dbLayer = Map1.AddLayer(dataSource); if (dbLayer == null) { Response.Write("No se puede abrir la Base de Datos ParqueoTarifado"); Response.End(); } dbLayer.Name = "Infraccion"; dbLayer.Symbol.Bitmap = c:/parqueotarifado/imagenes/vehicle.bmp"; dbLayer.Symbol.PointStyle = PointStyle.Bitmap; 125 Universidad de Cuenca – Facultad de Ingeniería dbLayer.Symbol.Size = 20; dbLayer.Symbol.FillColor = Color.Red; dbLayer.LabelField = "Placa"; dbLayer.LabelFont.Name = "Arial"; dbLayer.LabelFont.Size = 12; } Finalmente, si deseamos ver la información del vehículo infraccionado ubicado en el mapa de la ciudad de Cuenca se utiliza la siguiente función: protected void Map1_InfoTool(object sender, InfoToolEventArgs e) { Map1.Callouts.Clear(); AspMap.Recordset records = Map1.Identify(e.InfoPoint, 5); if (!records.EOF) { try { GridView1.DataSource = records; GridView1.DataBind(); GridView1.Caption = records.Layer.Name.ToUpper(); Callout callout = Map1.Callouts.Add(); callout.X = e.InfoPoint.X; callout.Y = e.InfoPoint.Y; callout.Font.Size = 16; if (records.Layer.LabelField.Length > 0) callout.Text = records[records.Layer.LabelField].ToString(); else callout.Text = records[0].ToString(); } } catch (System.Exception ex) { Console.WriteLine(ex.Message); } } 126 Universidad de Cuenca – Facultad de Ingeniería Control de Tiempo en las tarjetas RFID Proceso 1. Se ingresa el número de la tarjeta RFID y el rango de fechas en los que se desea realizar la consulta de consumo y recarga de tiempo. 2. Se invoca al servicio web correspondiente para realizar: La conexión a la base de datos y, La consulta de la información correspondiente al número de tarjeta RFID requerida. 3. Se muestran los resultados en la página web. Algoritmo Se invoca al servicio web wsParqueoTarifado para poder utilizar el método ConsultaTiempo, el mismo que permite obtener los datos generales de la tarjeta: fecha de adquisición y, tiempo total disponible en la misma. Este método recibe como parámetro el número de la tarjeta RFID ingresada por el usuario, txtRFID.text. WsParqueoTarifado.Service objWsParqueo = new WsParqueoTarifado.Service(); ConjuntoDatos = (DataSet)objWsParqueo.ConsultaTiempo(txtRFID.Text); Se muestra los resultados obtenidos. FechaAdquisicion = DateTime.Parse(ConjuntoDatos.Tables["tarjetas"].Rows[0]["Fecha"].ToString() ); 127 Universidad de Cuenca – Facultad de Ingeniería if (FechaAdquisicion.Day < 10) AuxFechaAdquision = "0" + FechaAdquisicion.Day.ToString() + "/"; else AuxFechaAdquision = FechaAdquisicion.Day.ToString() + "/"; if (FechaAdquisicion.Month < 10) AuxFechaAdquision = AuxFechaAdquision + "0" + FechaAdquisicion.Month.ToString() + "/"; else AuxFechaAdquision = AuxFechaAdquision+FechaAdquisicion.Month.ToString()+"/"; lblFechaAdquisicion.Text = AuxFechaAdquision + FechaAdquisicion.Year.ToString(); lblTiempoTotal.Text = ConjuntoDatos.Tables["tarjetas"].Rows[0]["tiempo"].ToString(); Además, es necesario el método ConsultaDetalleTiempo del servicio web wsParqueoTarifado, para mostrar el detalle de consumo y recarga de tiempo realizado. El método recibe como parámetros el número de la tarjeta RFID, y el rango de fechas, txtRFID.text, txtFechaI.text, txtFechaF.text, respectivamente. ConjuntoDatosDetalle = (DataSet)objWsParqueo.ConsultaDetalleTiempo(txtRFID.Text, txtFechaI.Text, txtFechaF.Text); Se muestra los resultados obtenidos. GridView1.DataSourceID = ""; GridView1.DataSource = ConjuntoDatosDetalle; GridView1.DataBind(); Recarga de Tiempo en las tarjetas RFID Proceso 1. Ingresar el número de tarjeta RFID en la que se realizará la recarga de tiempo. 2. Ingresar el tiempo en minutos que se desea recargar a la tarjeta. 128 Universidad de Cuenca – Facultad de Ingeniería 3. Calcular el valor en dólares que corresponde al tiempo ingresado. 4. Actualizar y guardar el tiempo solicitado en la tarjeta. Algoritmo para calcular el valor en dólares del tiempo a recargar. En este algoritmo se toma como referencia el valor utilizado actualmente en el Sistema de Parqueo Tarifado, es decir, 0.017 centavos el minuto, que corresponde a 0.50 centavos la media hora que se cobra actualmente por el parqueo. valor = Convert.ToInt32(TiempoaRecargar); if (valor > 1) { valor = (valor * 0.017); lblDolares.Text = valor.ToString(); } Algoritmo para actualizar y guardar en la tarjeta, el tiempo solicitado. public void GrabarDatos() { int numeroRegistros; int tiempoTarjeta=0; int TiempoTotal; Asignando valores a los parámetros utilizados en el método GrabarDatosTiempo del servicio web. string CodigoRFID = txtRFID.Text.ToString(); DateTime Fecha = DateTime.Parse(lblFecha.Text); int CodTipoTiempo = 2; double Valor = double.Parse(lblDolares.Text); int Tiempo = int.Parse(txtTiempo.Text); string cadenaSql; 129 Universidad de Cuenca – Facultad de Ingeniería Se llama al servicio web wsParqueoTarifado para poder utilizar el método GrabarDatosTiempo. Este método recibe como parámetros el número de la tarjeta RFID, fecha en la que se realiza la recarga, el código correspondiente a la acción de recarga, el valor en dólares y el tiempo en minutos, CodigoRFID, Fecha, CodTipoTiempo, Valor, Tiempo, respectivamente. WsParqueoTarifado.Service objWsParqueo = new wsParqueoTarifado.Service(); string resultado = objWsParqueo.GrabarDatosTiempo(CodigoRFID, Fecha, CodTipoTiempo, Valor, Tiempo); if (resultado != "exito") { MessageBox.Show(resultado); } else { MessageBox.Show("Grabacion exitosa"); } } Sistema de Ubicación Geográfica Proceso 1. Se invoca al servicio web correspondiente para realizar: La conexión a la base de datos y, la consulta en la base de datos de todos los vehículos estacionados. 2. Se muestran los vehículos en el mapa de la ciudad de Cuenca. 130 Universidad de Cuenca – Facultad de Ingeniería Algoritmo El algoritmo utilizado para mostrar los vehículos estacionados en el mapa, se muestra a continuación: private void AddMapLayers() { AspMap.Layer layer; string MapDir = MapPath("MAPAS/Cuenca/"); Se agregan las capas correspondientes a las calles y manzanas de la ciudad de Cuenca. //Se agrega la capa de las calles de la ciudad layer = Map1.AddLayer(MapDir + "calles_Cuenca.shp"); layer.LabelField = "nomcalle"; layer.ShowLabels = true; layer.LabelFont.Name = "Verdana"; layer.LabelFont.Size = 12; layer.LabelFont.Bold = true; layer.LabelStyle = LabelStyle.PolygonCenter; } //Se agrega la capa de las manzanas de la ciudad layer = Map1.AddLayer(MapDir + "manzanas.shp"); Se realiza la consulta a la base de datos de todos los vehículos estacionados. void AddDatabase() { DataSource dataSource = new DataSource(); dataSource.ConnectionString = "Provider=sqloledb;Data Source=paola;Initial Catalog=ParqueoTarifado;User Id=Pao;Password=123;"; dataSource.CommandText = "select secuencia,tarjeta as TarjetaRFID,PlaVehiculo as Placa,colVehiculo as color, horainicio as Hora_Inicio, horafin as Hora_Fin, parqueo.tiempo as Tiempo_de_Parqueo, longitud as X, latitud as Y from Parqueo, tarjetas, Vehiculo where parqueo.tarjeta = tarjetas.idRfid and tarjetas.idRfid = vehiculo.codRfid and parqueo.estado='ACTIVO'"; AspMap.Layer dbLayer = Map1.AddLayer(dataSource); if (dbLayer == null) { Response.Write("No se puede abrir la Base de Datos ParqueoTarifado."); Response.End(); } else { 131 Universidad de Cuenca – Facultad de Ingeniería dbLayer.Name = "Parqueo"; dbLayer.Symbol.Bitmap = "c:/parqueotarifado/imagenes/vehicle.bmp"; dbLayer.Symbol.PointStyle = PointStyle.Bitmap; dbLayer.Symbol.Size = 20; dbLayer.Symbol.FillColor = Color.Red; dbLayer.LabelField = "TarjetaRFID"; dbLayer.LabelFont.Name = "Arial"; dbLayer.LabelFont.Size = 12; } } Finalmente, si deseamos ver la información del vehículo estacionado, ubicado en el mapa de la ciudad de Cuenca, se utiliza la siguiente función: protected void Map1_InfoTool(object sender, InfoToolEventArgs e) { Map1.Callouts.Clear(); AspMap.Recordset records = Map1.Identify(e.InfoPoint, 5); if (!records.EOF) { try { GridView1.DataSource = records; GridView1.DataBind(); GridView1.Caption = records.Layer.Name.ToUpper(); Callout callout = Map1.Callouts.Add(); callout.X = e.InfoPoint.X; callout.Y = e.InfoPoint.Y; callout.Font.Size = 16; if (records.Layer.LabelField.Length > 0) callout.Text =records[records.Layer.LabelField].ToString(); else callout.Text = records[0].ToString(); } catch (System.Exception ex) { Console.WriteLine(ex.Message); } } } 132 Universidad de Cuenca – Facultad de Ingeniería 3.4.3 Algoritmos de la Capa de Presentación del Sistema de registro de parqueo La difusión de la telefonía celular ha dado grandes pasos con la introducción de chats, juegos de tercera generación y demás servicios, de tal forma que cada vez más usuarios tienen la necesidad de contar con un teléfono que les brinde todos estos servicios. Sin embargo, el Servicio SMS (Short Messenger Service – Servicio de mensajes cortos), hoy en día es uno de los más utilizados para intercambiar información entre personas, por lo tanto este medio de comunicación ha tenido un gran desarrollo y ha sido aplicado en este proyecto, con el fin de que el usuario indique el momento que llega a estacionarse e inicie el control de tiempo para el cobro de parqueo, de igual manera, a través de un mensaje se indica que el usuario se retira del lugar de estacionamiento para que el sistema le informe automáticamente el tiempo total que utilizó el espacio de parqueo y, el valor total a pagar. Este sistema aprovecha la red GSM en cuanto al sistema SMS para emitir y recibir mensajes escritos. Para lo cual, se emplea el teléfono Motorola RAZR V3 (utilizándolo como módem), mediante el uso de su puerto de comunicaciones USB, y por medio del manejo de comandos AT, el sistema carga y 133 Universidad de Cuenca – Facultad de Ingeniería descarga los mensajes para codificarlos y decodificarlos respectivamente. El teléfono de recepción necesariamente debe estar conectado al Sistema de Registro de Parqueo. Comandos AT Los comandos AT son señales de control enviadas como un conjunto de caracteres, que en grupo forman un comando de atención al teléfono para que este devuelva un dato requerido. Definición.- Los comandos AT (ATtention command) son instrucciones codificadas que conforman un lenguaje de comunicación entre el usuario y un modem. La implementación de los comandos AT depende del dispositivo GSM y no depende del canal de comunicación a través del cual estos comandos son enviados, ya sea cable serial, canal infrarrojos, bluetooth, etc. [28] A continuación se muestra un resumen de los comandos para GSM más utilizados [29]: 1. Comandos generales a) AT+CGMI: Identificación del fabricante b) AT+CGSN: Obtener número de serie c) AT+CIMI: Obtener el IMSI. d) AT+CPAS: Leer estado del MODEM 134 Universidad de Cuenca – Facultad de Ingeniería 2. Comandos del servicio de red a) AT+CSQ: Obtener calidad de la señal b) AT+COPS: Selección de un operador c) AT+CREG: Registrarse en una red d) AT+WOPN: Leer nombre del operador 3. Comandos de seguridad a) AT+CPIN: Introducir el PIN b) AT+CPINC: Obtener el número de reintentos que quedan c) AT+CPWD: Cambiar password 4. Comandos para la agenda de teléfonos a) AT+CPBR: Leer todas las entradas b) AT+CPBF: Encontrar una entrada c) AT+CPBW: Almacenar una entrada d) AT+CPBS: Buscar una entrada 5. Comandos para SMS a) AT+CPMS: Seleccionar lugar de almacenamiento de los SMS b) AT+CMGF: Seleccionar formato de los mensajes SMS c) AT+CMGR: Leer un mensaje SMS almacenado 135 Universidad de Cuenca – Facultad de Ingeniería d) AT+CMGL: Listar los mensajes almacenados e) AT+CMGS: Enviar mensaje SMS f) AT+CMGW: Almacenar mensaje en memoria g) AT+CMSS: Enviar mensaje almacenado h) AT+CSCA: Establecer el Centro de mensajes a usar i) AT+ WMSC: Modificar el estado de un mensaje Los comandos utilizados en el Sistema de Parqueo son los comandos para mensajes, punto 5 de esta sección. Descripción del algoritmo utilizado para el registro de parqueo Este sistema utiliza la clase SerialPort del Framework 2.0 para comunicarnos mediante comandos AT con el modem de un celular GSM, un equipo móvil (Motorola RAZR V3) para el desarrollo y pruebas y, el cable de datos USB. En este caso hemos utilizado el celular descrito anteriormente, sin embargo, todo celular GSM que tenga MODEM incorporado y conexión USB es compatible. Proceso El proceso que realiza el sistema para el registro de parqueo, se describe a continuación: 136 Universidad de Cuenca – Facultad de Ingeniería 1. Recepción del mensaje de texto en el Terminal receptor. 2. Extracción del mensaje de texto del Terminal receptor por parte del Sistema. 3. Decodificación o interpretación del contenido del mensaje de texto por parte del Sistema. 4. Ejecución del comando decodificado. Descripción del código del Sistema de Registro de Parqueo El Sistema de Registro de Parqueo se compone de 2 clases, una llamada Gsm y la otra Sms. 1. La clase Gsm, comprende las funciones básicas para la comunicación con el celular, ya sea, desde abrir el puerto de comunicaciones, leer o enviar los mensajes y, cerrar el puerto. 2. La clase Sms, es una clase que posee propiedades Get y Set para los mensajes de texto. Clase GSM A continuación se indica el código de la clase GSM [30]. Constructor de la clase GSM que permite asignar los valores por defecto. public Gsm() { _PuertoCom=""; _BitsDeParada=StopBits.One; _Paridad=Parity.None; _DataBits=8; 137 Universidad de Cuenca – Facultad de Ingeniería _Baudios=Baudios.BPS_115200; _PuertoAbierto=false; } Definimos las variables a utilizar en nuestra clase para manejar el puerto COM a donde se va a conectar, la paridad, los Baudios, etc. private private private private private private string _PuertoCom; StopBits _BitsDeParada; Parity _Paridad; int _DataBits; int _Baudios; Boolean _PuertoAbierto; Creamos la variable Puerto del tipo SerialPort y, la variable BandejaEntrada para almacenar todos los mensajes de texto recibidos. private SerialPort Puerto = new SerialPort(); private List<Sms> BandejaEntrada = new List<Sms>(); Esta estructura se utiliza para definir el comando AT que se enviará para obtener el tipo de mensaje que necesitamos. public struct TipoMensaje { public const string Recibidos_Leidos = "REC READ"; public const string Recibidos_No_Leidos = "REC UNREAD"; public const string Enviados = "STO UNSEND"; public const string Escritos_Sin_Enviar = "STO SENT"; public const string Todos = "ALL"; } Definición de la estructura para configurar la velocidad de los baudios. } public struct Baudios { public const int BPS_1200=1200; public const int BPS_9600=9600; public const int BPS_28800=28800; public const int BPS_57600=57600; public const int BPS_115200=115200; 138 Universidad de Cuenca – Facultad de Ingeniería Se especifica algunos de los puertos COM que se tiene disponible en la PC. public struct PuertoComunicacion { public public public public public public public public public public const const const const const const const const const const string string string string string string string string string string COM1 = "COM1"; COM2 = "COM2"; COM3 = "COM3"; COM4 = "COM4"; COM5 = "COM5"; COM6 = "COM6"; COM7 = "COM7"; COM8 = "COM8"; COM9 = "COM9"; COM10 = "COM10"; } Esta propiedad permite especificar el tipo de mensaje (TipoDeMensaje) que vamos a buscar cuando comencemos a utilizar la clase en la aplicación. public string TipoDeMensaje { get { return _TipoDeMensaje; } set { _TipoDeMensaje = value; } } Variable de uso interno de la clase donde almacenamos el Tipo de Mensaje private string _TipoDeMensaje; Propiedad para especificar el bit de comunicación. public int DataBits { get { return _DataBits; } set { _DataBits = value; } } 139 Universidad de Cuenca – Facultad de Ingeniería Propiedad para especificar la Paridad de la comunicación. public Parity Paridad { get { return _Paridad; } set { _Paridad = value; } } Propiedad a la cual le especificamos el puerto de comunicación public string PuertoCom { get { return _PuertoCom; } set { _PuertoCom = value; } } Propiedad a la cual le especificamos el Bit de Stop public StopBits BitsDeStop { get { return _BitsDeParada; } set { _BitsDeParada = value; } } Propiedad que recibe como parámetro un valor de la estructura Baudios. public int Velocidad { get { return _Baudios; } set { _Baudios = value; } } Propiedad de tipo bolean que permite conocer si el puerto COM esta abierto o no. public Boolean PuertoAbierto { get { return _PuertoAbierto; } } 140 Universidad de Cuenca – Facultad de Ingeniería Función que se utiliza para abrir el puerto de comunicaciones. Devuelve true si se pudo abrir el puerto, en caso contrario, devuelve false. public Boolean AbrirPuerto() { try { Puerto.PortName = _PuertoCom; Puerto.Parity = _Paridad; Puerto.BaudRate = _Baudios; Puerto.StopBits = _BitsDeParada; Puerto.DataReceived += new SerialDataReceivedEventHandler(RecibiendoDatos); if (!Puerto.IsOpen) { Puerto.Open(); } _PuertoAbierto = true; return true; } catch { _PuertoAbierto = false; return false; } } Función que permite cerrar el puerto de comunicación. Si el puerto está abierto, se cierra el mismo y, la función devuelve true; caso contrario, devuelve false, indicando que el puerto no está abierto. public Boolean CerrarPuerto() { if (_PuertoAbierto) { BandejaEntrada.Clear(); Puerto.Close(); return true; } else { return false; } } La propiedad Buzon, devuelve un objeto del tipo Sms para poder recorrerlo desde nuestra aplicación mediante un foreach. 141 Universidad de Cuenca – Facultad de Ingeniería public IEnumerable<Sms> Buzon { get { BuscarMensajes(_TipoDeMensaje); for (int i = 0; i <= (BandejaEntrada.Count-1); i++) { yield return BandejaEntrada[i]; } } } Función que permite enviar un mensaje de texto. Devuelve true si el envió se realizó satisfactoriamente. public Boolean EnviarMensaje(string NroTelefono, string Mensaje) { try { //Inicializamos el Modem Puerto.WriteLine("AT\r"); //Indicamos que el Mensaje a Enviar se realiza //Mediante tipo TEXTO, porque tambien esta la //posibilidad que sea mediante PDU. Puerto.WriteLine("AT+CMGF=1\r"); //Indicamos el Nro de Telefono al que se enviara el mensaje Puerto.WriteLine("AT+CMGS=\"" + NroTelefono.Trim() + "\"\r"); //enviamos el mensaje de texto Puerto.WriteLine(Mensaje.Trim() + '\x001a'); return true; } catch (Exception Error) { return false; } } El procedimiento BuscarMensajes recibe como parámetro un string, se utiliza algunos de los valores de la estructura TipoMensaje. private void BuscarMensajes(string TipoDeMensaje) { try { //Seteamos el Modem GSM para los SMS a modo TEXTO Puerto.WriteLine("AT+CMGF=1\r"); Thread.Sleep(50); //Seteamos la Ubicacion de los SMS en el Celular //en este caso en la Memoria del Celular Puerto.WriteLine("AT+CPMS=\"MT\"\r"); Thread.Sleep(50); //Comando AT+ para listar los Mensajes Almacenados 142 Universidad de Cuenca – Facultad de Ingeniería //donde TipoDeMensaje son los tipos de Mensajes a leer Puerto.WriteLine("AT+CMGL=\"" + TipoDeMensaje + "\"\r"); Thread.Sleep(1000); } catch (Exception ex) { } } Este procedimiento se utiliza como evento para la búsqueda de los mensajes cuando se envía el comando AT especifico. El tipo “+CMGL” indica que son los SMS almacenados en el celular. private void RecibiendoDatos(object sender, SerialDataReceivedEventArgs e) { String Linea; int Indice = 0; SerialPort Serie = (SerialPort)sender; Thread.Sleep(200); Linea = Serie.ReadExisting(); while (Linea.IndexOf("+CMGL:", Indice) > 0) { int Comienzo = Linea.IndexOf("+CMGL:", Indice); int Final = Linea.IndexOf("+CMGL:", Comienzo + 1); //Si no hay +CMGL el Final es igual al Tamaño if (Final <= 0) { Final = Linea.Length; } //Buscamos el Mensaje Completo string Mensaje; Mensaje = Linea.Substring(Comienzo, Final - Comienzo); string[] Componentes = Mensaje.Split(','); string Tel = Componentes[2]; string IndiceMensaje = Componentes[0]; int IIndice = 0; int FIndice = 0; IIndice = IndiceMensaje.IndexOf("+CMGL:") + "+CMGL:".Length; FIndice = IndiceMensaje.Length - IIndice; IndiceMensaje = IndiceMensaje.Substring(IIndice, FIndice); int FinalIndice = Tel.IndexOf("\r\n"); if (FinalIndice <= 0) { FinalIndice = Tel.Length; } Tel = Tel.Substring(2, FinalIndice-3); // Buscamos el mensaje //Comienza despues de una Linea Nueva int ComienzoMsgIdx = Mensaje.IndexOf("\r\n"); 143 Universidad de Cuenca – Facultad de Ingeniería // Finaliza antes de una Nueva Linea int FinalMsgIdx=Mensaje.IndexOf("\r\n",ComienzoMsgIdx+1); //Si no hay una nueva linea el Final del Mensaje //es el final del texto. if (FinalMsgIdx <= 0) { FinalMsgIdx = Mensaje.Length; } //Almacenamos el Mensaje string Msg = Mensaje.Substring(ComienzoMsgIdx, FinalMsgIdx - ComienzoMsgIdx); Sms _Mensaje = new Sms(); } _Mensaje.IDSms = IndiceMensaje.Trim(); _Mensaje.Telefono = Tel.Trim(); _Mensaje.Mensaje = Msg.Trim(); //Almacenamos en la lista generica el mensaje BandejaEntrada.Add(_Mensaje); Indice = Comienzo + 1; } } } Clase SMS A continuación se indica el código de la clase SMS. public class Sms { private string IDMensaje; private string NroTelefono; private string SMS; public string Mensaje { get { return SMS; } set { SMS = value; } } public string IDSms { get { return IDMensaje; set { IDMensaje = value; } } } public string Telefono { get { return NroTelefono; } set { NroTelefono = value;} } } 144 Universidad de Cuenca – Facultad de Ingeniería Sistema de Registro de Parqueo La aplicación para el registro de parqueo utiliza las clases GSM y SMS descritas anteriormente. El código de esta aplicación se indica a continuación: public partial class FrmRegistroParqueo : Form { Thread hilo; Thread hiloMensajes; Comunicaciones.Gsm Comm; public FrmRegistroParqueo() { InitializeComponent(); } Esta función TareaMensajes, permite recibir el mensaje de parqueo enviado por el usuario y realizar el control de tiempo y valor que debe pagar el mismo, por el uso de un lugar de parqueo. private void tareaMensajes() { int HoraAd; int MinutoAd; string cadenaSql; int numeroRegistros; int tiempo; TimeSpan adicional; SqlConnection cn = new SqlConnection(); DataSet ConjuntoDatosAct = new DataSet(); DataSet ConjuntoDatosTar = new DataSet(); SqlDataAdapter da; SqlDataAdapter daTar; SqlCommand CmdActualiza; SqlCommand CmdActualizaTar; cn.ConnectionString = "server=paola;uid=pao;pwd=123;database=ParqueoTarifado "; cn.Open(); Comm = new Comunicaciones.Gsm(); Char[] separadores = { ' ', ',' }; while (true) { Comm.PuertoCom = Comunicaciones.Gsm.PuertoComunicacion.COM8; Comm.TipoDeMensaje = Comunicaciones.Gsm.TipoMensaje.Recibidos_No_Leidos; Comm.AbrirPuerto(); foreach (Comunicaciones.Sms Mensaje in Comm.Buzon) { 145 Universidad de Cuenca – Facultad de Ingeniería Recibe el mensaje enviado por el usuario para registrar el parqueo del vehículo. Los datos que se reciben tienen el siguiente formato: NúmeroTarjetaRFID, opcion, tiempo Donde: NúmeroTarjetaRFID, representa el número de tarjeta perteneciente al vehículo que registra el estacionamiento. Opcion, puede ser i(Inicio de estacionamiento) o s(terminar estacionamiento) Tiempo, indica el tiempo de parqueo. colocarEstado("ID Mensaje : " + Mensaje.IDSms + "\nTeléfono : " + Mensaje.Telefono + "\nMensaje :" + Mensaje.Mensaje); String[] Comandos; Comandos = Mensaje.Mensaje.Split(separadores); switch (Comandos.Length) { case 1://solo 1 mensaje: consulta break; Indica al sistema que el vehículo se retira del lugar estacionado, actualizando el tiempo disponible en la tarjeta y del valor que debe pagar el usuario. case 2: int tiempo1; cadenaSql = "SELECT * from parqueo WHERE tarjeta = '" + Comandos[0].ToString() + "' and estado = 'ACTIVO'"; SqlConnection conexionDB1 = new SqlConnection("server=paola;uid=pao;pwd=123;database=ParqueoTarifado"); SqlCommand comandoDB1=new SqlCommand(cadenaSql, conexionDB1; SqlDataAdapter adaptadorOleDb1 = new SqlDataAdapter(); DataSet ConjuntoDatos1 = new DataSet(); comandoDB1.CommandType = CommandType.Text; try { conexionDB1.Open(); 146 Universidad de Cuenca – Facultad de Ingeniería adaptadorOleDb1.SelectCommand = comandoDB1; numeroRegistros=adaptadorOleDb1.Fill(ConjuntoDatos1, "parqueo"); if (numeroRegistros > 0) { DateTime HoraEnt = DateTime.Parse(ConjuntoDatos1.Tables["parqueo"].Rows[0] ["horaInicio"].ToString()); TimeSpan hInicio=TimeSpan.Parse(HoraEnt.TimeOfDay.ToString()); HoraEnt = DateTime.Now; TimeSpan hFin = TimeSpan.Parse(HoraEnt.TimeOfDay.ToString()); TimeSpan diff = hFin.Add(-hInicio); tiempo1 = diff.Hours * 60 + diff.Minutes; try { da=new SqlDataAdapter("select * from parqueo", cn); CmdActualiza = new SqlCommand("Update parqueo set estado ='PASIVO' WHERE SECUENCIA = " + ConjuntoDatos1.Tables["parqueo"].Rows[0]["secuencia"]. ToString(), da.SelectCommand.Connection); da.UpdateCommand = CmdActualiza; da.Fill(ConjuntoDatosAct, "parqueo"); ConjuntoDatosAct.Tables["parqueo"].Rows[0]["estado"] = "PASIVO"; da.Update(ConjuntoDatosAct, "parqueo"); ConjuntoDatosAct.Clear(); daTar=new SqlDataAdapter("select * from tarjetas",cn); CmdActualizaTar = new SqlCommand("Update tarjetas set tiempo = tiempo - (" + tiempo1 + ") WHERE idrfid = '" + ConjuntoDatos1.Tables["parqueo"].Rows[0]["tarjeta"].ToStr ing() + "'", da.SelectCommand.Connection); daTar.UpdateCommand = CmdActualizaTar; daTar.Fill(ConjuntoDatosTar, "tarjeta"); ConjuntoDatosTar.Tables["tarjeta"].Rows[0]["tiempo"] = tiempo1; daTar.Update(ConjuntoDatosTar, "tarjeta"); ConjuntoDatosTar.Clear(); if (Comm.EnviarMensaje(Mensaje.Telefono, "Terminado. Consumido: " + tiempo1.ToString())) { //MessageBox.Show("Mensaje Recibido"); } else { //MessageBox.Show("Error al Enviar"); } } catch (System.Exception ex) { MessageBox.Show(ex.Message); } } else { MessageBox.Show("No se encontro la tarjeta"); if (Comm.EnviarMensaje(Mensaje.Telefono, "Registro de parqueo no encontrado \n use: <<CODIGO I tiempo>> para ingresar \n o <<CODIGO S>> para terminar")) { //MessageBox.Show("Registro de parqueo no 147 Universidad de Cuenca – Facultad de Ingeniería encontrado y Enviada la confirmacion"); } else { //MessageBox.Show("Error al Enviar"); } } } catch (Exception ex) { MessageBox.Show("Se ha producido el siguiente error:\n" + ex.Message); } break; Indica al sistema que el usuario comienza hacer uso del tiempo disponible en la tarjeta para registrar el parqueo. Se verifica si el tiempo en la tarjeta es superior al tiempo solicitado por el usuario, de no cumplirse esto, se notifica al usuario el tiempo disponible para el parqueo. case 3: tiempo = int.Parse(Comandos[2]); HoraAd = 0; if (tiempo > 59) { HoraAd = (int)tiempo / 60; MinutoAd = (int)tiempo % 60; } else { MinutoAd = (int)tiempo; } adicional = TimeSpan.Parse(HoraAd.ToString() + ":" + MinutoAd.ToString() + ":00"); cadenaSql = "SELECT * from tarjetas WHERE IdrfId = '" + Comandos[0].ToString() + "'"; SqlConnection conexionDB = new SqlConnection("server=paola;uid=pao;pwd=123;database=ParqueoTarifado"); SqlCommand comandoDB = new SqlCommand(cadenaSql, conexionDB); SqlDataAdapter adaptadorOleDb = new SqlDataAdapter(); DataSet ConjuntoDatos = new DataSet(); comandoDB.CommandType = CommandType.Text; try { conexionDB.Open(); adaptadorOleDb.SelectCommand = comandoDB; numeroRegistros = adaptadorOleDb.Fill(ConjuntoDatos, "tarjetas"); if (numeroRegistros > 0) { if(ConjuntoDatos.Tables["tarjetas"].Rows[0]["estado"].ToString() == "activo") 148 Universidad de Cuenca – Facultad de Ingeniería { int tiempoDisponible = (int)ConjuntoDatos.Tables["tarjetas"].Rows[0]["tiempo"]; int prepago = (int)ConjuntoDatos.Tables["tarjetas"].Rows[0]["prepago"]; if ((tiempoDisponible > 0) || (prepago == 0)) { if ((tiempoDisponible > tiempo) || (prepago == 0)) { try { SqlConnection conn = new SqlConnection("server=paola;uid=pao;pwd=123;database=ParqueoTarifado"); SqlCommand cmd2 = new System.Data.SqlClient.SqlCommand(); cmd2.Connection = conn; cmd2.CommandText = "INSERT INTO parqueo (fecha,horainicio, horafin,tarjeta, telefono,estado,tiempo) VALUES (@fecha ,@horainicio,@horafin, @tarjeta,@telefono,@estado,@tiempo)"; cmd2.Parameters.Add("@fecha", System.Data.SqlDbType.DateTime); cmd2.Parameters.Add("@horainicio", System.Data.SqlDbType.DateTime); cmd2.Parameters.Add("@horafin", System.Data.SqlDbType.DateTime); cmd2.Parameters.Add("@tarjeta", System.Data.SqlDbType.NVarChar); cmd2.Parameters.Add("@telefono", System.Data.SqlDbType.NVarChar); cmd2.Parameters.Add("@estado", System.Data.SqlDbType.NVarChar); cmd2.Parameters.Add("@tiempo", System.Data.SqlDbType.Int ); DateTime hTermina = DateTime.Now.ToLocalTime().Add(adicional); cmd2.Parameters["@fecha"].Value = DateTime.Now; cmd2.Parameters["@horainicio"].Value = DateTime.Now.ToLocalTime(); cmd2.Parameters["@horafin"].Value = hTermina; cmd2.Parameters["@tarjeta"].Value = Comandos[0].ToString(); cmd2.Parameters["@telefono"].Value = Mensaje.Telefono; cmd2.Parameters["@estado"].Value = "ACTIVO"; cmd2.Parameters["@tiempo"].Value = int.Parse (Comandos[2].ToString()); conn.Open(); cmd2.ExecuteNonQuery(); conn.Close(); Comunicaciones.Gsm Comm1 = new Comunicaciones.Gsm(); if (Comm.EnviarMensaje(Mensaje.Telefono, "Aceptado. Saldo: " + tiempoDisponible.ToString() + "minutos - Termina a:"+hTermina.ToString())) { //MessageBox.Show("Mensaje Recibido"); } else { //MessageBox.Show("Error al Enviar"); } } catch (System.Exception ex) { MessageBox.Show(ex.Message); } } Indica que el tiempo disponible en la tarjeta no es lo suficiente a lo solicitado por el usuario para el parqueo. else { try { SqlConnection conn = new SqlConnection("server=paola;uid=pao;pwd=123;database=ParqueoTarifado"); 149 Universidad de Cuenca – Facultad de Ingeniería SqlCommand cmd2 = new System.Data.SqlClient.SqlCommand(); cmd2.Connection = conn; cmd2.CommandText = "INSERT INTO parqueo (fecha,horainicio, horafin,tarjeta, telefono,estado,tiempo) VALUES (@fecha ,@horainicio,@horafin, @tarjeta,@telefono,@estado,@tiempo)"; cmd2.Parameters.Add("@fecha", System.Data.SqlDbType.DateTime); cmd2.Parameters.Add("@horainicio", System.Data.SqlDbType.DateTime); cmd2.Parameters.Add("@horafin", System.Data.SqlDbType.DateTime); cmd2.Parameters.Add("@tarjeta", System.Data.SqlDbType.NVarChar); cmd2.Parameters.Add("@telefono", System.Data.SqlDbType.NVarChar); cmd2.Parameters.Add("@estado", System.Data.SqlDbType.NVarChar); cmd2.Parameters.Add("@tiempo", System.Data.SqlDbType.Int); tiempo = tiempoDisponible; HoraAd = 0; if (tiempo > 59) { HoraAd = (int)tiempo / 60; MinutoAd = (int)tiempo % 60; } else { MinutoAd = (int)tiempo; } adicional = TimeSpan.Parse(HoraAd.ToString() + ":" + MinutoAd.ToString() + ":00"); cmd2.Parameters["@fecha"].Value = DateTime.Now; cmd2.Parameters["@horainicio"].Value = DateTime.Now.ToLocalTime(); cmd2.Parameters["@horafin"].Value = DateTime.Now.ToLocalTime().Add(adicional ); cmd2.Parameters["@tarjeta"].Value = Comandos[0].ToString(); cmd2.Parameters["@telefono"].Value = Mensaje.Telefono; cmd2.Parameters["@estado"].Value = "ACTIVO"; cmd2.Parameters["@tiempo"].Value = tiempoDisponible; conn.Open(); cmd2.ExecuteNonQuery(); conn.Close(); Comunicaciones.Gsm Comm1=new Comunicaciones.Gsm(); if (Comm.EnviarMensaje(Mensaje.Telefono, "Aceptado. \n Aviso>> Disponible Unicamente:" + tiempoDisponible.ToString() + " minutos")) { //MessageBox.Show("Mensaje de aceptado, Enviada la confirmacion"); } else { MessageBox.Show("Error al Enviar"); } } catch (System.Exception ex) { MessageBox.Show(ex.Message); } } } else { MessageBox.Show("No dispone de saldo"); if (Comm.EnviarMensaje(Mensaje.Telefono, "Negado. No dispone de saldo\n Por favor recargue.")) { //MessageBox.Show("No hay saldo "); } else { MessageBox.Show("Error al Enviar"); } } 150 Universidad de Cuenca – Facultad de Ingeniería } } else { if (Comm.EnviarMensaje(Mensaje.Telefono, "Negado. tarjeta no activa: ")) { //MessageBox.Show("Tarjeta inactiva "); } else { MessageBox.Show("Error al Enviar"); } } else { MessageBox.Show("No se encontro la tarjeta"); if (Comm.EnviarMensaje(Mensaje.Telefono, "Negado. tarjeta no encontrada: ")) { //MessageBox.Show("Tarjeta no encontrada "); } else { MessageBox.Show("Error al Enviar"); } } } catch (Exception ex) { MessageBox.Show("Se ha producido el siguiente error:\n" + ex.Message); } break; }; } } Comm.CerrarPuerto(); Thread.Sleep(5000); } Esta función permite leer todos los mensajes enviados por el usuario para registrar el parqueo. En esta función es importante el uso de hilos para que la aplicación pueda realizar varias tareas concurrentemente. Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente. 151 Universidad de Cuenca – Facultad de Ingeniería private void LeerMensajes_Click(object sender, EventArgs e) { try { hiloMensajes = new Thread(new ThreadStart(this.tareaMensajes )); hiloMensajes.Start(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } La función, TareaVerificar, controla el tiempo de parqueo registrado por los usuarios, de tal manera, que cuando este termine, se envie un mensaje al usuario indicando que el tiempo de parqueo ha terminado. private void tareaVerificar() { DateTime horaFin; string cadenaSql; string telefono; int numeroRegistros; cadenaSql = "SELECT * from parqueo WHERE estado = 'ACTIVO'"; SqlConnection conexionDB = new SqlConnection(""); SqlCommand comandoDB = new SqlCommand(cadenaSql, conexionDB); SqlDataAdapter adaptadorOleDb = new SqlDataAdapter(); DataSet ConjuntoDatos = new DataSet(); comandoDB.CommandType = CommandType.Text; SqlConnection cn = new SqlConnection(); DataSet ConjuntoDatosAct = new DataSet(); DataSet ConjuntoDatosTar = new DataSet(); SqlDataAdapter da; SqlDataAdapter daTar; SqlCommand CmdActualiza; SqlCommand CmdActualizaTar; cn.ConnectionString = "server=paola;uid=pao;pwd=123;database=ParqueoTarifado"; cn.Open(); while (true) { try { conexionDB.Open(); adaptadorOleDb.SelectCommand = comandoDB; numeroRegistros = adaptadorOleDb.Fill(ConjuntoDatos, "parqueo"); if (numeroRegistros > 0) { for (int j = 0; j < numeroRegistros; j++) 152 Universidad de Cuenca – Facultad de Ingeniería { horaFin = DateTime.Parse(ConjuntoDatos.Tables["parqueo"].Rows[j] ["horafin"].ToString()); telefono = ConjuntoDatos.Tables["parqueo"].Rows[j]["telefono"].ToString(); if (horaFin <= DateTime.Now) { da = new SqlDataAdapter("select * from parqueo", cn); CmdActualiza = new SqlCommand("Update parqueo set estado ='PASIVO' WHERE SECUENCIA = " + ConjuntoDatos.Tables["parqueo"].Rows[j]["secuencia"] .ToString() , da.SelectCommand.Connection); da.UpdateCommand = CmdActualiza ; da.Fill(ConjuntoDatosAct , "parqueo"); ConjuntoDatosAct.Tables["parqueo"].Rows[j ]["estado"]="PASIVO"; da.Update(ConjuntoDatosAct, "parqueo"); ConjuntoDatosAct.Clear(); colocarEstado("Se termino el tiempo de: " + ConjuntoDatos.Tables["parqueo"].Rows[j]["tarjeta"]); daTar = new SqlDataAdapter("select * from tarjetas", cn); CmdActualizaTar = new SqlCommand("Update tarjetas set tiempo = tiempo - " + int.Parse(ConjuntoDatos.Tables["parqueo"].Rows[j] ["tiempo"].ToString()) + " WHERE idrfid = '" + ConjuntoDatos.Tables["parqueo"].Rows[j]["tarjeta"]. ToString() + "'", da.SelectCommand.Connection); daTar.UpdateCommand = CmdActualizaTar; daTar.Fill(ConjuntoDatosTar, "tarjeta"); ConjuntoDatosTar.Tables["tarjeta"].Rows[j]["tiempo"] = int.Parse(ConjuntoDatos.Tables["parqueo"].Rows[j] ["tiempo"].ToString()); daTar.Update(ConjuntoDatosTar, "tarjeta"); ConjuntoDatosTar.Clear(); if (!Comm.PuertoAbierto) { Comm.AbrirPuerto(); } if (Comm.EnviarMensaje(telefono, "Sistema de chequeo automatico: !Se ha terminado su tiempo!! ")) { //MessageBox.Show("Tarjeta inactiva"); } else { MessageBox.Show("Error al Enviar mesaje de tiempo terminado"); } Thread.Sleep(500); } else { colocarEstado("aun a tiempo: " + ConjuntoDatos.Tables["parqueo"].Rows[j]["tarjeta"]); Thread.Sleep(1000); } } } } catch (Exception ex) 153 Universidad de Cuenca – Facultad de Ingeniería { } MessageBox.Show("Error: " + ex.Message); } finally { ConjuntoDatos.Clear(); conexionDB.Close() ; cn.Close(); } Thread.Sleep(2000); } 3.5 Capa Lógica de aplicación o de negocio Para la programación del sitio web y de los servicios web correspondientes a la capa lógica de aplicación se utilizó Visual C# de Microsoft Visual Studio 2005. En el proyecto, se denominó al servicio web wsParqueoTarifado, el mismo que reside en el servidor web FTP: ftp://ftp.ecuapatec.com/. Los principales métodos se describen a continuación: [WebMethod] BusquedaInfraccion Este método me permite realizar la búsqueda de las infracciones cometidas de acuerdo a los criterios de búsqueda establecidos. El código se indica a continuación: public DataSet BusquedaInfraccion(string cadenaSql) { int numeroRegistros; SqlConnection conexionDB = new SqlConnection("server=paola;uid=pao;pwd=123;database=ParqueoTarifado"); SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); cmd.Connection = conexionDB; SqlCommand comandoDB = new SqlCommand(cadenaSql, conexionDB); SqlDataAdapter adaptadorOleDb = new SqlDataAdapter(); DataSet ConjuntoDatos = new DataSet(); comandoDB.CommandType = CommandType.Text; 154 Universidad de Cuenca – Facultad de Ingeniería try { conexionDB.Open(); adaptadorOleDb.SelectCommand = comandoDB; numeroRegistros = adaptadorOleDb.Fill(ConjuntoDatos, "Infraccion"); if (numeroRegistros > 0) { return ConjuntoDatos; } else return ConjuntoDatos;//"No se encontraron registros"; } catch (Exception ex) { System.Console.WriteLine(ex.Message); return ConjuntoDatos; } } [WebMethod] ConsultaInfraccion Permite obtener todos los datos de la infracción consultada: Fecha de la infracción, nombre del inspector, hora detectada, intervenida y hora de tarjeta vencida, placa, modeolo, color y ubicación del vehículo, valor de la infracción, etc. public DataSet ConsultaInfraccion(int NumInfraccion) { int numeroRegistros; string cadenaSql; SqlConnection conexionDB = new SqlConnection("server=paola;uid=pao;pwd=123;database=ParqueoTarifado"); SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); cmd.Connection = conexionDB; cadenaSql = "SELECT * from Infraccion,Inspector, TipoInfraccion,Vehiculo, Marca, Modelo,TipoVehiculo WHERE Infraccion.NumInfraccion =" + NumInfraccion + " and Infraccion.CodInspector = Inspector.CodInspector and Infraccion.CodTipoInfraccion = TipoInfraccion.CodTipoInfraccion and Infraccion.PlaVehiculo = Vehiculo.PlaVehiculo and Vehiculo.CodMarca = Marca.CodMarca and Vehiculo.CodMarca = Modelo.CodMarca and Vehiculo.CodModelo = Modelo.CodModelo and Vehiculo.CodTipoVehiculo = TipoVehiculo.CodTipoVehiculo"; SqlCommand comandoDB = new SqlCommand(cadenaSql, conexionDB); SqlDataAdapter adaptadorOleDb = new SqlDataAdapter(); DataSet ConjuntoDatos = new DataSet(); comandoDB.CommandType = CommandType.Text; try 155 Universidad de Cuenca – Facultad de Ingeniería { conexionDB.Open(); adaptadorOleDb.SelectCommand = comandoDB; numeroRegistros = adaptadorOleDb.Fill(ConjuntoDatos, "Infraccion"); if (numeroRegistros > 0) { return ConjuntoDatos; } else return ConjuntoDatos;//"No se encontraron registros"; } catch (Exception ex) { System.Console.WriteLine(ex.Message); return ConjuntoDatos;//"Se ha producido un error } } [WebMethod] ConsultaTiempo Permite consultar por número de tarjeta RFID, el tiempo total que dispone para usarlo en el estacionamiento. public DataSet ConsultaTiempo(string RFID) { string cadenaSql; int numeroRegistros; SqlConnection conexionDB = new SqlConnection("server=paola;uid=pao;pwd=123;database=ParqueoTarifado"); SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); cmd.Connection = conexionDB; cadenaSql = "Select idRfid,fecha,tiempo,prepago,estado from tarjetas where idRfid = '" + RFID + "'"; SqlCommand comandoDB = new SqlCommand(cadenaSql, conexionDB); SqlDataAdapter adaptadorOleDb = new SqlDataAdapter(); DataSet ConjuntoDatos = new DataSet(); comandoDB.CommandType = CommandType.Text; try { conexionDB.Open(); adaptadorOleDb.SelectCommand = comandoDB; numeroRegistros=adaptadorOleDb.Fill(ConjuntoDatos, "tarjetas"); if (numeroRegistros > 0) { return ConjuntoDatos; } else return ConjuntoDatos;//"No se encontraron registros"; } catch (Exception ex) { System.Console.WriteLine(ex.Message); return ConjuntoDatos;//"Se ha producido un error: } } 156 Universidad de Cuenca – Facultad de Ingeniería [WebMethod] ConsultaDetalleTiempo Este método es utilizado para obtener un registro detallado de todos los movimientos de tiempo realizados con la tarjeta RFID. Es decir, se muestra la fecha, hora, valor y tiempo usado en estacionamiento o recarga de tiempo. public DataSet ConsultaDetalleTiempo(string RFID, string FechaI, string FechaF) { string cadenaSql; int numeroRegistros; SqlConnection conexionDB = new SqlConnection("server=paola;uid=pao;pwd=123;database=ParqueoTarifado"); SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); cmd.Connection = conexionDB; cadenaSql = "Select CodigoRFID,Fecha,Descripcion,valor,Tiempo,Observaciones from DetalleRFID,TipoTiempo where CodigoRFID = '" + RFID + "' and Fecha between '" + FechaI + "' and '" + FechaF + "' and DetalleRFID.CodTipoTiempo=TipoTiempo.CodTipoTiempo"; SqlCommand comandoDB = new SqlCommand(cadenaSql, conexionDB); SqlDataAdapter adaptadorOleDb = new SqlDataAdapter(); DataSet ConjuntoDatos = new DataSet(); comandoDB.CommandType = CommandType.Text; try { conexionDB.Open(); adaptadorOleDb.SelectCommand = comandoDB; numeroRegistros = adaptadorOleDb.Fill(ConjuntoDatos, "DetalleRFID"); if (numeroRegistros > 0) { return ConjuntoDatos; } else return ConjuntoDatos;//"No se encontraron registros"; } catch (Exception ex) { System.Console.WriteLine(ex.Message); return ConjuntoDatos;//"Se ha producido un error" } } 157 Universidad de Cuenca – Facultad de Ingeniería [WebMethod] GrabarDatosTiempo Permite almacenar la información correspondiente al recargo de tiempo en la tarjeta RFID y, también se realiza la actualización del tiempo total disponible en la tarjeta. public string GrabarDatosTiempo(string CodigoRFID, DateTime Fecha, int CodTipoTiempo,double Valor, int Tiempo) { int TiempoTarjeta; int TiempoTotal; SqlDataAdapter da; SqlCommand CmdActualiza; try { SqlConnection conexionDB = new SqlConnection("server=paola;uid=pao;pwd=123;database=ParqueoTarifado"); SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); cmd.Connection = conexionDB; cmd.CommandText = "INSERT INTO DetalleRFID (CodigoRFID, Fecha, CodTipoTiempo, Valor, Tiempo) VALUES (@CodigoRFID, @Fecha, @CodTipoTiempo, @Valor, @Tiempo)"; // Se creando los parámetros necesarios cmd.Parameters.Add("@CodigoRFID", System.Data.SqlDbType.NVarChar); cmd.Parameters.Add("@Fecha", System.Data.SqlDbType.SmallDateTime); cmd.Parameters.Add("@CodTipoTiempo", System.Data.SqlDbType.Int); cmd.Parameters.Add("@Valor", System.Data.SqlDbType.Int); cmd.Parameters.Add("@Tiempo", System.Data.SqlDbType.Int); // Se asinga los valores a los atributos cmd.Parameters["@CodigoRFID"].Value = CodigoRFID; cmd.Parameters["@Fecha"].Value = Fecha; cmd.Parameters["@CodTipoTiempo"].Value = CodTipoTiempo; cmd.Parameters["@Valor"].Value = Valor; cmd.Parameters["@Tiempo"].Value = Tiempo; //Obtengo el tiempo total que tiene la tarjeta TiempoTarjeta = ConsultaTiempoTotal(CodigoRFID); conexionDB.Open(); cmd.ExecuteNonQuery(); //ACTUALIZACION DEL TIEMPO TOTAL EN LA TARJETA TiempoTotal = TiempoTarjeta + Tiempo; da = new SqlDataAdapter("select * from tarjetas", conexionDB); CmdActualiza = new SqlCommand("UPDATE tarjetas SET Tiempo = " + TiempoTotal + " where idRfid= '" + CodigoRFID + "'", da.SelectCommand.Connection); da.UpdateCommand = CmdActualiza; CmdActualiza.ExecuteNonQuery(); 158 Universidad de Cuenca – Facultad de Ingeniería conexionDB.Close(); return "exito"; } catch (System.Exception ex) { return ex.Message; } } [WebMethod] InfraccionesCometidas Permite obtener el total de infracciones cometidas por cada vehículo. public string InfraccionesCometidas(string Placa) { int numeroRegistros; string cadenaSql; SqlConnection conexionDB = new SqlConnection("server=paola;uid=pao;pwd=123;database=ParqueoTarifado"); SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); cmd.Connection = conexionDB; cadenaSql = "select PlaVehiculo,count(NumInfraccion) as InfraccionesCometidas from infraccion where PlaVehiculo = '" + Placa + "' group by PlaVehiculo"; SqlCommand comandoDB = new SqlCommand(cadenaSql, conexionDB); SqlDataAdapter adaptadorOleDb = new SqlDataAdapter(); DataSet ConjuntoDatos = new DataSet(); comandoDB.CommandType = CommandType.Text; try { conexionDB.Open(); adaptadorOleDb.SelectCommand = comandoDB; numeroRegistros = adaptadorOleDb.Fill(ConjuntoDatos, "Infraccion"); if (numeroRegistros > 0) { return ConjuntoDatos.Tables["Infraccion"].Rows[0]["InfraccionesCometidas "].ToString(); } else return "0"; } catch (Exception ex) { System.Console.WriteLine(ex.Message); return "0";//"Se ha producido un error” } } 159 Universidad de Cuenca – Facultad de Ingeniería 3.6 Capa de Datos El diseño de la base de datos se realizó en el SQL Server Enterprise Manager aplicando las reglas de normalización de datos. 3.6.1 Diagrama de Base de Datos del Sistema de Parqueo Tarifado Automatizado En el Anexo 1, se presenta el diagrama de Base de Datos utilizado en el Sistema de Parqueo Tarifado propuesto. En este diagrama, se indican las claves principales de las tablas y sus relaciones. 3.6.2 Estructura de la Base de Datos Tabla DetalleRFID En esta tabla se almacena el detalle de tiempo correspondiente al uso o recarga de tiempo de una tarjeta RFID. 160 Universidad de Cuenca – Facultad de Ingeniería Clave Campo Tipo CodigoRFID Longitud char Descripción 10 Número de la Tarjeta RFID ItemDetalleRFID int 4 Número secuencial correspondiente a cada registro de tiempo de la tarjeta RFID. Incrementa automáticamente FechaDetalleRFID smalldatetime 4 Fecha que se realiza el consumo o recarga de tiempo en la tarjeta. CodTipoTiempo int 4 ValorDetalleRFID real 4 TiempoDetalleRFID int 4 ObservacionesDetalleRFID nvarchar 30 Código que indica si la operación que se realiza es una recarga o consumo de tiempo. 1 uso de tiempo en el parqueo. 2 recarga de tiempo. Valor correspondiente a la recarga o uso de tiempo en el parqueo. Tiempo utilizado o recargado Observaciones Tabla Fotos Guarda las fotos correspondientes al vehículo infraccionado. Clave Campo Tipo Longitud Descripción NumInfraccion int 4 NumFoto int 4 Foto DescFoto image 16 Número de infracción Número de Foto. Se incrementa automáticamente. Foto del vehículo nvarchar 50 Descripción de la Foto Tabla Infracción Almacena todos los datos correspondientes a la infracción. 161 Universidad de Cuenca – Facultad de Ingeniería Clave Campo Tipo Longitud NumInfracción int 4 FecDetecInfraccion datetime 8 NumSelloInfraccion int 4 HoraDetecInfraccion datetime 8 HoraInterInfraccion HoraTarjVencInfraccion ObservacionesInfraccion datetime 8 Descripción Clave primaria que identifica a todas las infracciones Fecha que cometió la infracción Número de Sello colocado Hora que se detectó la infracción Hora intervenida datetime 8 Hora de Tarjeta Vencida nvarchar 50 Observaciones CodInspector int 4 CodTipoInfraccion char 10 PlaVehiculo char 10 Latitud real 4 Longitud real 4 Valor real 4 Estado char 1 Código del inspector que levantó la infracción. Indica el código del tipo de infracción cometida. Placa del vehículo infraccionado Coordenada de ubicación del vehículo Coordenada de ubicación del vehículo Valor de la infracción cometida Indica el estado de la Infracción. El mismo que puede ser: A. Adeuda C. Cancelado Tabla Inspector Almacena todos los datos correspondientes a la infracción cometida. Clave Campo Tipo Longitud Descripción CodInspector int 4 Código del Inspector CedInspector char 10 Cédula del Inspector NomInspector nvarchar 50 Nombre del Inspector DirInspector TelInspector nvarchar 50 Dirección del Inspector char 10 Teléfono del Inspector 162 Universidad de Cuenca – Facultad de Ingeniería Tabla Marca Almacena las diferentes marcas de vehículo que existen. Clave Campo Tipo Longitud Descripción Código de la marca del vehículo Nombre de la marca del vehículo CodMarca int 4 NomMarca char 30 Tabla Modelo Esta tabla almacena los diferentes modelos de vehículo que existen. Clave Campo Tipo Longitud Descripción CodMarca int 4 Código de la marca del vehículo CodModelo NomModelo int 4 Código del modelo del vehículo char 30 Nombre del modelo del vehículo Tabla Parqueo Permite mantener un registro de los diferentes consumos de tiempo realizado en el parqueo por determinada tarjeta. 163 Universidad de Cuenca – Facultad de Ingeniería Clave Campo Tipo Longitud Descripción idRfid char 10 SecuenciaParqueo Bigint 8 FechaParqueo datetime 8 Número de la tarjeta RFID Número de registro. Incrementa automáticamente. Fecha en la que realizó el parqueo. HoraInicioParqueo datetime 8 Hora de inicio de parqueo. HoraFinParqueo datetime 8 TelefonoParqueo nvarchar 20 EstadoParqueo nvarchar 10 TiempoParqueo Int 4 Hora de finalización del parqueo. Número de teléfono celular que envió el mensaje. Indica el estado del parqueo. Puede ser ACTIVO o INACTIVO. El estado Activo indica que el vehículo todavía se encuentra estacionado. Tiempo de estacionamiento. LatitudParqueo Real 4 LongitudParqueo Real 4 Coordenada de ubicación del vehículo Coordenada de ubicación del vehículo Tabla Usuario Almacena los datos de las personas o empresas propietarias de los vehículos. Clave Campo Tipo Longitud IdUsuario char 10 NomUsuario nvarchar 50 Descripción Cédula o RUC de la persona o empresa, respectivamente. Nombre de la persona o empresa. DirUsuario TelUsuario nvarchar 50 Dirección de la persona o empresa. Char 10 Teléfono de la persona o empresa. Tabla tarjetas Almacena las tarjetas RFID con sus respectivos datos como número de tarjeta, fecha de adquisición, tiempo total disponible en la tarjeta, etc. 164 Universidad de Cuenca – Facultad de Ingeniería Clave Campo Tipo Longitud Descripción IdRfid char 10 Número de tarjeta RFID. FechaTarjetas datetime 8 Fecha de adquisición. TiempoTarjetas int 4 Tiempo total disponible. PrepagoTarjetas int 4 Indica si la tarjeta es: 1. Prepago 2. PostPago EstadoTarjetas nvarchar 15 Indica el estado de la tarjeta: Activo o Inactivo. Tabla TipoInfracción Almacena los diferentes tipos de infracción que se colocan a un vehículo. Estas pueden ser: Ausencia de Tarjeta, tarjeta no visible, tarjeta de días anteriores, alteración de tarjeta, tiempo excedido, etc. Clave Campo Tipo Longitud Descripción CodTipoInfracción nchar 10 Código del Tipo de Infracción NomTipoInfraccion ValTipoInfraccion char 30 Nombre del Tipo de Infracción real real 4 4 Valor Interés InteTipoInfraccion Tabla TipoTiempo Almacena las diferentes acciones que se realizan en el Sistema de Parqueo Tarifado, las mismas que pueden ser: cobro por estacionamiento o recarga de tiempo. Clave Campo Tipo Longitud Descripción CodTipoTiempo int 4 Código del tipo de tiempo Descripción nvarchar 50 Descripción: 1. Cobro por Estacionamiento 2. Recarga de tiempo. 165 Universidad de Cuenca – Facultad de Ingeniería Tabla TipoVehiculo Almacena los diferentes tipos de vehículo que existen: Automóvil, camioneta, camión, trailer, etc. Clave Campo CodTipoVehiculo NomTipoVehiculo Tipo int char Longitud 4 30 Descripción Código del tipo de vehículo Nombre del tipo de vehículo Tabla Vehículo Almacena los datos del vehículo. Clave Campo Tipo Longitud Descripción PlaVehiculo char 10 Placa del vehículo ColVehiculo CodMarca CodModelo char 30 Color Int 4 Código de la marca del vehículo Int 4 Código del modelo del vehículo CodTipoVehiculo CodRfid Int 4 Código del tipo de vehículo char 10 Código de la tarjeta RFID idUsuario char 10 Cédula o RUC de la persona o empresa, respectivamente, que pertenece el vehículo. 166 Universidad de Cuenca – Facultad de Ingeniería CAPITULO IV ANALISIS DE PRECIOS DE LAS ALTERNATIVAS TECNOLÓGICAS PARA LA IDENTIFICACIÓN DE LOS VEHÍCULOS Y POSICIONAMIENTO GEOGRÁFICO 4.1 Antecedentes Los lectores de proximidad han representado, en los últimos años, la novedad más importante en los sistemas de control de identificación. Recientemente, los sistemas de identificación automática han sido muy utilizados en numerosos sectores industriales, para proporcionar información acerca de personas, animales, bienes y productos. El sistema utilizado mayoritariamente está representado, sin duda, por el código de barras, siendo un medio muy económico y manejable. La escasa capacidad para almacenar datos y la imposibilidad de reprogramación, limita su uso en muchas aplicaciones. Los sistemas de banda magnética permiten acumular más información, pero no garantizan su inviolabilidad, son sensibles 167 Universidad de Cuenca – Facultad de Ingeniería a los campos magnéticos y requieren un mantenimiento periódico. La solución técnicamente óptima es la inserción de los datos en un microchip. El sistema más utilizado hoy en día es el chip de contacto (tarjetas telefónicas, bancarias, etc.). Pero el contacto mecánico de las tarjetas con chip es todavía muy poco práctico para muchas aplicaciones y, además, está sujeto a desgaste y limpieza de los contactos. Una transferencia de datos sin contacto entre el dispositivo de transporte (chip) y su lector es bastante más flexible. En la configuración ideal, la energía necesaria para la transferencia de datos debería ser suministrada desde el lector al microchip, que en este caso no tiene baterías o, mejor aún, es pasivo. Los sistemas (contactless) de son transferencia llamados de RFID datos (Radio sin contacto Frequency Identification). Esta tecnología tiene muchísimas y avanzadas ventajas, tales como: alta capacidad de información, se pueden detectar simultáneamente varios tags o transponderes, la información de los tags se puede leer y reescribir, no se requiere contacto ni vista directa entre los tags y el lector. 168 Universidad de Cuenca – Facultad de Ingeniería 4.2 Análisis de Precios de la Tecnología RFID Según IdTechEx, a principios del año 2007 se llevaban fabricados y vendidos 3.752 millones de tags RFID desde el comienzo de esta tecnología hace unos 60 años. El 46%, es decir, 1.726 millones, se habían fabricado en los dos últimos años. El mercado del RFID no ha tenido el crecimiento espectacular que se pronosticaba hace unos meses. Sin embargo, estos datos confirman que se trata de un mercado claramente en su fase de despegue. Como toda tecnología (fax, Internet, etc) que opera en una red abierta, los beneficios no se obtienen hasta que existe una gran cantidad de usuarios. Incluso a nivel interno, las ventajas del RFID no se consiguen sin los necesarios cambios informáticos que posibiliten procesar la información que la RFID proporciona. La RFID ayuda a obtener información de forma rápida, fiable y, en algunos casos, más barata. Una vez que tengamos dicha información, hemos de ver qué fruto obtenemos de ella. Para un determinado ejemplo, teniendo en cuenta la amortización de los lectores e impresoras/codificadoras, el precio de los tags o etiquetas y la mano de obra, se pudo determinar que el costo de realizar la tarea con código de barras era de 1.744.000 euros anuales para el caso del código 169 Universidad de Cuenca – Facultad de Ingeniería de barras y de 1.972.000 euros en el caso de la RFID. Las diferencias principales están en el costo de la mano de obra y en el de las etiquetas comparadas con los tags. Es decir, hoy en día las diferencias totales ya son pequeñas. Como la mano de obra tiene tendencia a subir y la tecnología a bajar, se puede considerar que se puede alcanzar el ROI (retorno de la inversión) en dos o tres años, ya que con la RFID ofrecerá más y mejores servicios que le reportarán más ingresos.[31] Aunque hasta ahora, se usaba HF para los artículos individuales, últimamente se está promocionando la UHF Near Field, de corto alcance, que es lo preferible para los artículos individuales, con la ventaja de que las antenas UHF pueden ser más pequeñas y, por tanto, el tag puede ser más económico. La Empresa Impinj ha hecho pruebas de grabación y lectura a 600 artículos por minuto. 4.2.1 Lector RFID Se manejan dos tipos de Lectores: uno fijo y otro móvil. Lector Fijo: Son diseñados para leer desde y escribir hacia el TAG en forma inalámbrica. Esta parte puede ser considerada como un punto crítico dentro del Sistema de Parqueo debido a que los lectores RFID deben capturar en forma eficiente los datos. 170 Universidad de Cuenca – Facultad de Ingeniería Un ejemplo de un lector RFID fijo se muestra en la Figura 4.1 Figura 4.1 Lector RFID Fijo Para nuestro prototipo se utilizó el siguiente Lector/Escritor de la empresa ZeitControl, como se indica en la Figura 4.2. Figura 4.2 Lector RFID Fijo de la empresa ZeitControl utilizado en el prototipo Este tipo de Lector-escritor dentro del proyecto se usa para leer el código del TAG RFID. Sin embargo, en la implementación del sistema, este dispositivo permitirá modificar el código del 171 Universidad de Cuenca – Facultad de Ingeniería TAG RFID, realizar la recarga de la información relacionada al tiempo de estacionamiento, e insertar otro tipo de información. Dispositivo que estará instalado en las oficinas de la SERT. Cabe indicar que hay lectores que cumplen únicamente la función de capturar datos, porque existen otro tipo de lectores que permiten además de la lectura escribir datos. Lector Móvil: El Lector RFID Móvil, Figura 4.3, básicamente está diseñado para movilidad y flexibilidad, libre de cables, compacto y robusto que puede ser instalado en equipos móviles como por ejemplo los puntos de venta. Figura 4.3 Lector RFID Móvil Otro tipo de lector móvil que interesa es el que puede adaptarse a una PDA con la finalidad de capturar datos. En la Figura 4.4 se indica este tipo de lector, donde podemos observar que es básicamente para equipos móviles que se pueden soportar con la mano. 172 Universidad de Cuenca – Facultad de Ingeniería Figura 4.4 PDA con lector RFID En la Tabla 4.1 se indican tipos de equipos, marca y precios de los Lectores fijos y móviles. Equipo AP1 PRO RFID Module 13.56 Mhz [32] Fabricante WORKABOUT PRO Precio $715,00 Tipo Móvil Lectores RFID para Pc via USB 13.56 Mhz [32] Lector/Escritor TagTracer Desktop / OEM 125 Khz.[33] WORKABOUT PRO ZEIT CONTROL $643,50 $650,00 Fijo Fijo Tabla 4.1 Precios de Lectores RFID Móviles y de Escritorio. 4.2.2 TAG RFID Los TAG son un componente crítico dentro de cualquier solución RFID. Se dispone de una gran variedad de TAGs RFID para diferentes aplicaciones. En el caso del Sistema de Parqueo se tiene que utilizar un TAG que disponga una memoria EEPROM de por lo menos 1Kb con la facilidad de que pueda ser leída hasta una distancia de 10 centímetros, con propiedades de anticolisión y sin necesidad de batería, en definitiva un TAG pasivo. Además, se requiere que el TAG RFID y la antena estén incluidos en la tarjeta de plástico como se indica en la Figura 4.5 173 Universidad de Cuenca – Facultad de Ingeniería Figura 4.5 Detalle de una tarjeta SMART RFID TAGS RFID utilizados en el prototipo En el prototipo se utilizaron TAGS RFID de diferentes tipos, los mismos que junto con sus características se indican en la Figura 4.6: a) TAG EM 4102, b) TAG EM 4150, c) TAG HITAG-1 y d) TAG HITAG-2. Data transfer Frecuency Access Anti collision Memory, total Memory, usable Memory organization Security features Serial number (read only) Operating range read operation Operating range write operation EM 4102 contactless 125 khz read only no 64 Bit = 8 Byte 40 Bit = 5 Byte bitstream CRC-check 40 Bit typical 6 cm - a) RFID / TAG EM 4102 174 Universidad de Cuenca – Facultad de Ingeniería Data transfer Frecuency Access Anti collision Memory, total Memory, usable Memory organization Security features Serial number (read only) Operating range read operation Operating range write operation HITAG-2 contactless 125 khz read / write yes 256 Bit = 32 Byte 128 Bit = 16 Byte 8 x 4 Bit crypto or password 32 Bit typical 7 cm typical 7 cm b) RFID / TAG EM 4150 Data transfer Frecuency Access Anti collision Memory, total Memory, usable Memory organization Security features Serial number (read only) Operating range read operation Operating range write operation HITAG-1 contactless 125 khz read / write yes 2048 Bit = 256 Byte 1536 Bit = 192 Byte 16 x 4 x 4 Bit crypto 32 Bit typical 7 cm typical 7 cm c) RFID / TAG HITAG-1 Data transfer Frecuency Access Anti collision Memory, total Memory, usable Memory organization Security features Serial number (read only) Operating range read operation Operating range write operation EM 4150 contactless 125 khz read / write no 1024 Bit = 128 Byte 928 Bit = 116 Byte 32 x 32 Bit 32 Bit password read/write 32 Bit typical 5 cm typical 5 cm d) RFID / TAG HITAG-2 Figura 4.6 Tipos de TAGs RFID de la empresa ZeitControl 175 Universidad de Cuenca – Facultad de Ingeniería Existen diferentes tipos de TAGS RFID con varios modelos, como puede verse en la Figura 4.7 [34]. Figura 4.7 Diferentes tipos de TAGs RFID con varios modelos de la Empresa ZeitControl 176 Universidad de Cuenca – Facultad de Ingeniería 4.2.3 Precios de TAGS RFID Los precios de las tarjetas RFID van a estar en función de los siguientes factores: • Tipo, ya sea activa o pasiva[49], • Distancia de lectura/escritura con respecto al lector RFID y, • La capacidad de memoria y procesamiento. Precios de TAGS RFID En la Tabla 4.2 se detallan los precios de los diferentes tipos de TAGS RFID utilizados en el prototipo. Tipo Cantidad 10 - 49 50 - 99 Más 100 Tarjeta plástica $ 2,93 $ 2,59 $ 2,46 Botón $ 3,89 $ 3,25 $ 3,06 Tipo Llavero $ 4,23 $ 3,71 $ 3,38 a) Precios de los RFID / TAG EM 4102 Tipo Cantidad 10 - 49 50 - 99 Más 100 Tarjeta plástica $ 5,85 $ 5,53 $ 5,33 Botón $ 5,01 $ 4,55 $ 4,23 Tipo Llavero $ 6,44 $ 5,85 $ 5,53 b) Precios de los RFID / TAG EM 4150 177 Universidad de Cuenca – Facultad de Ingeniería Tipo Cantidad 10 - 49 50 - 99 Más 100 Tarjeta plástica $ 5,53 $ 4,94 $ 4,49 Botón $ 4,49 $ 3,89 $ 3,64 Tipo Llavero $ 5,79 $ 5,33 $ 5,01 c) Precios de los RFID / TAG HITAG-1 Tipo Cantidad 10 – 49 50 - 99 Más 100 Tarjeta plástica $ 4,81 $ 4,23 $ 3,89 Botón $ 4,23 $ 3,77 $ 3,47 Tipo Llavero $ 4,81 $ 4,36 $ 4,10 d) Precios de los RFID / TAG HITAG-2 Tabla 4.2 Precio de TAGs de la Empresa Zeit Control Para mayor información se podría consultar en la referencia [35]. En la Tabla 4.3 se detalla las características de las tarjetas RFID de la Empresa SmartCardWorld. 178 Universidad de Cuenca – Facultad de Ingeniería Data transfer Frecuency Access Anti collision Memory EEPROM Operating range read operation Operating range write operation Mifare Classic 1k Mifare Classic 4k contactless contactless 13.56 Mhz 13.56 Mhz read/write read/write no no 1 Kb. 4 Kb. typical 10 cm typical 10 cm typical 10 cm typical 10 cm Tabla 4.3 Características de las tarjetas RFID Mifare Classic 1k y 4k. También se indican los precios de las tarjetas RFID de la Empresa SmartCardWorld en la Tabla 4.4: a) del modelo Mifare Classic 1k y, b) del modelo Mifare Classic 4k. Cantidad 1 - 999 1.000 1.500 2.000 3.000 4.000 5.000 6.000 8.000 10.000 15.000 20.000 30.000 50.000 60.000 80.000 > 80.000 Precio (USD) 0.84 0.83 0.82 0.81 0.80 0.79 0.78 0.77 0.76 0.75 0.74 0.73 0.70 0.68 0.67 0.58 0.46 a) Precio de las tarjetas RFID Mifare Classic 1k. 179 Universidad de Cuenca – Facultad de Ingeniería Cantidad Precio (USD) 1 - 999 1.000 1.300 1.500 1.800 2.000 3.000 4.000 5.000 8.000 10.000 15.000 20.000 30.000 50.000 > 50.000 1.29 1.10 1.10 1.10 1.10 1.09 1.09 1.09 1.00 1.00 0.95 0.95 0.95 0.95 0.90 0.85 b) Precio de las tarjetas RFID Mifare Classic 4k. Tabla 4.4 Precios de TAGs RFID de la empresa SmartCardWorld Para mayor información se podría ir a la referencia [36]. En el presente análisis se averiguó los precios de las tarjetas RFID a dos empresas: ZeitControl y SmartCardWorld y, se pudo notar que la primera tiene precios más altos que la segunda, a pesar de que la capacidad de memoria de los TAGS RFID de ZeitControl son menores, comparadas con los de la Empresa SmartCardWorld. 180 Universidad de Cuenca – Facultad de Ingeniería La tendencia actual es a disminuir los precios de las tarjetas RFID como se puede ver en la Tabla 4.4 y, si las cantidades son mayores los precios tienden a bajar aún más. 4.3 Análisis de precios del Código de Barras 4.3.1 Códigos de Barras En el caso del Código de Barras tenemos dos tipos: Los de una dimensión (1D) y los de dos dimensiones (2D) [49], éste último puede servir también como cámara fotográfica. 4.3.2 Lector de Códigos de Barras Estos tipos de scanner deben soportar los stándares UPC (Universal Product Code) y EAN(European Article Numbering Association). En la Figura 4.8 se indica un Lector de Código de Barras que sirve para adaptarse en la PDA. Figura 4.8 Lector de Código de Barras para PDA En la Tabla 4.5 se indican los precios de los Lectores de Código de Barras para PDAs. 181 Universidad de Cuenca – Facultad de Ingeniería Equipo Scanner 1D Laser [37] Marca WORKABOUT PRO Precio $510,30 Imager, 2-D Slim Pod (Camara Digital) [38] WORKABOUT PRO $567,00 Tabla 4.5 Precios de Lectores Código de Barras para PDAs 4.4 Análisis de precios del Sistema de Posicionamiento Global (GPS) 4.4.1 El Sistema de Posicionamiento GPS Tradicionalmente, los satélites se vienen utilizando para las comunicaciones a gran distancia, ya que, de una manera muy rápida, efectiva y económica, permiten dar servicio a una gran zona para la difusión de información, por ejemplo, televisión, o establecer un enlace punto a punto de gran capacidad para comunicaciones telefónicas o de datos; pero otra de sus aplicaciones es su empleo para la determinación de la posición de un determinado usuario u objeto, siendo el GPS (Global Positioning System) el nombre del sistema más extendido. Este sistema de navegación por satélite, además de ofrecernos una posición geográfica nos ofrece una referencia temporal muy precisa. Los sistemas de posicionamiento –radiolocalización- por satélite se vienen utilizando desde hace más de una década. 182 Universidad de Cuenca – Facultad de Ingeniería Tuvieron su origen en aplicaciones militares, pero hoy en día su uso se ha extendido a las civiles, contando con numerosos usuarios y aplicaciones para ellos. De estos sistemas, el más popular es el GPS y en la actualidad se está trabajando en el desarrollo de otro, más avanzado, llamado Galileo, que entrará en servicio, probablemente, en el año 2008. El principio de funcionamiento del sistema GPS o Sistema de Posicionamiento Global es una constelación de 24 satélites situados a 20.000 Km de la Tierra que transmiten continuamente información relativa al tiempo, sus órbitas, identificación, etc. De tal manera que los usuarios pueden calcular su posición en tres dimensiones (latitud, longitud y altura), rumbo y velocidad de desplazamiento, mediante un sencillo terminal receptor, en base al tiempo empleado por las señales en viajar desde cada satélite (triangulación, Figura 4.9) y medida de la desviación de la frecuencia de la señal recibida (medición Doppler). Estos datos pueden ser transmitidos, además, a través de una red GSM, GPRS, UTMS, CDMA hacia un servidor remoto, por lo que se puede tener información sobre la localización de cualquier objeto o persona, en cualquier punto del planeta. En el caso de nuestro prototipo las coordenadas geográficas son transmitidas por la red CDMA de la operadora Alegro PCS. 183 Universidad de Cuenca – Facultad de Ingeniería Figura 4.9 Triangulación de satélites para determinar la posición geográfica. Con esta configuración se asegura la visión simultánea, a cualquier hora del día, de al menos 4 satélites, por lo que siempre se podrán tener los datos necesarios para el cálculo; dado que los satélites se desplazan en sus órbitas es necesario cambiar de unos a otros para tener siempre la mejor referencia. Cada satélite tiene su propio código, lo que permite extraer su posición actual en el espacio y en el tiempo, de tal manera, que con éstos tres satélites, se obtiene los datos de localización y desplazamiento buscados. Si se desea obtener la máxima precisión, los usuarios civiles puede utilizar la modalidad denominada DGPS (Differential GPS) o GPS diferencial, Figura 4.10, que es un sistema que 184 Universidad de Cuenca – Facultad de Ingeniería proporciona a los receptores de GPS correcciones a los datos recibidos de los satélites GPS, mediante un sistema de referencia en tierra cuya posición es conocida con exactitud. Estas correcciones, una vez aplicadas, proporcionan una mayor precisión en la posición calculada. Figura 4.10 Estación de referencia DGPS 4.4.2 Aplicaciones del GPS El origen de estos sistemas fue militar, pero ahora está disponible para aplicaciones civiles aunque con ciertas restricciones, ya que el sistema de satélites pertenece al gobierno de los Estados Unidos, quién permite su uso limitado para fines distintos al militar, pero siempre ejerciendo un cierto control. Sin embargo, estos sistemas de posicionamiento, basado en satélite, están empezando a tener un serio competidor con los 185 Universidad de Cuenca – Facultad de Ingeniería sistemas de localización que ofrecen los operadores móviles basados en la estructura celular de sus redes, ya que aunque estos últimos ofrecen una menor precisión, en muchas ocasiones su empleo se justifica, dado su menor coste. La principal diferencia que presenta el sistema, según sea su uso militar o civil, es el de su resolución, ya que si en el primer caso tiene una gran precisión (del orden incluso de centímetros), para uso civil ésta es menor. Las principales aplicaciones se dan en la navegación marítima, navegación aérea, control del tráfico de vehículos. Disponiendo de un receptor GPS en un vehículo es posible conocer en todo momento su posición y dirigirlo hacia un punto determinado o localizarlo en caso de robo o accidente. Este sistema, combinado con un mapa electrónico de la zona, permite elegir la ruta más adecuada y dirigirnos hasta el lugar destino, incluso haciendo las correcciones necesarias si nos desviamos de la ruta originalmente trazada, como se indica en la Figura 4.11. 186 Universidad de Cuenca – Facultad de Ingeniería Figura 4.11 Aplicación del GPS para la navegación en combinación con un mapa de la zona En el caso de nuestro prototipo hemos creído conveniente utilizar un receptor GPS para capturar las coordenadas geodésicas, las mismas que serán transmitidas por la red CDMA a la base de datos remota para finalmente, por medio de un programa CAD o GIS y el mapa de la ciudad poder determinar la ubicación geográfica del vehículo. 4.4.3 Tipos de Receptores GPS Existen dos tipos de receptores: 1. Monocanal, que tiene un solo canal receptor, y que rastrea los 4 satélites necesarios de uno en uno. A la hora de obtener los resultados utiliza la medida real de uno de ellos y las medidas extrapoladas de los otros tres. 187 Universidad de Cuenca – Facultad de Ingeniería 2. Multicanal, que tiene 4 o más canales paralelos, lo que le permite enlazarse simultáneamente. realmente a varios satélites Son los más rápidos pero también caros. Los terminales GPS monocanal apenas se utilizan, pues son muy lentos para alcanzar un posicionamiento, porque hasta que no terminan de recopilar la información completa de un satélite, no pasan al siguiente y como se necesita al menos 4 satélites para obtener una posición tridimensional, se puede requerir un par de minutos para conseguirla. Hoy en día, lo habitual es utilizar un receptor de varios canales paralelos, que cuando se enciende recibe al mismo tiempo las señales de todos los satélites (hasta 12) que están en el hemisferio celeste en ese momento. La mayor parte de las veces, le bastará medio minuto (o menos) para conseguir la posición exacta. Además, no perderá su posición en sitios muy arbolados porque aun cuando pierda la señal de uno o más satélites, siempre tendrá disponibles otros. Combinados con mapas digitalizados del terreno o de las ciudades, permiten desplazarse con total seguridad, constituyendo un sistema de ayuda muy importante desplazamientos por para países la conducción extranjeros en en los los que desconocemos las rutas. 188 Universidad de Cuenca – Facultad de Ingeniería Hay incluso algunos teléfonos móviles que incorporan un GPS y muchos automóviles los llevan junto con los planos digitales del territorio, siendo realmente útiles cuando se combinan con el acceso a Internet para acceso a servicios e información basados en la posición y seguridad ante accidente o robos ya que permite localizar al usuario o al vehículo desaparecido [39]. 4.4.4 Precios de Receptores GPS Algunos teléfonos móviles pueden vincularse a un receptor GPS diseñado independientes para tal efecto. del teléfono Suelen que ser se módulos comunican inalámbricamente vía bluetooth y que le proporcionan los datos de posicionamiento, los cuales son interpretados por un programa de navegación. Esta aplicación del GPS está particularmente extendida en los teléfonos móviles que operan con el sistema operativo Windows Mobile para PDA. En cuanto a los precios de los equipos GPS tenemos los más baratos que cuestan alrededor de USD $130 hasta los más caros que varían entre USD $2.000 a USD $5.000, dependiendo de lla precision. El precio principalmente está en función de la exactitud, la mayor parte de los dispositivos GPS señalan su posición dentro de un radio de 15 metros, en cambio, los de mayor exactitud como son los GPS diferenciales 189 Universidad de Cuenca – Facultad de Ingeniería (DGPS) calculan la posición con una variación entre 1 y 3 metros. Los precios de los receptores GPS varían entre USD $30 hasta USD $250 dependiendo la marca y las características técnicas. Estos son muy útiles para conectarse con equipos móviles como PDA, Pocket PC, Palm, teléfonos celulares. El equipo PDA que va a servir para capturar y enviar los datos al servidor central dentro del prototipo no dispone de un receptor GPS. Como alternativa podemos utilizar un GPS que tenga conectividad bluetooth [40], por medio del cual se van a transferir los datos de la información geográfica desde el GPS a la PDA, formando una red PAN (Network Area Personal). Para nuestro prototipo fue importante realizar un análisis de precios de los equipos GPS que disponen de conectividad bluetooth. En la Tabla 4.6 se presenta un análisis de los equipos, fabricantes y precios de receptores GPS que cumplen estos requerimientos. 190 Universidad de Cuenca – Facultad de Ingeniería Equipo Fabricante Holux Gr-236 Receptor Gps Bluetooth [41] GPS Bluetooth GNS 5843 TMC/RSD [42] GPS Fortuna Slim -Edición Pro- [43] GPS route66 receptor bluetooth [44] GPS [49] HOLUX GNS FORTUNA ROUTE66 TOMTOM Precio USD $94,25 $245,70 $128,70 $123,50 $180,00 Tabla 4.6 Análisis Comparativo de precios de receptores GPS En el caso de nuestro prototipo se vio conveniente emplear el receptor GPS de la marca TOMTOM [49], Figura 4.12 porque cumple con nuestros requerimientos. Figura 4.12 Equipo GPS marca TOMTOM Las características principales del GPS marca TOMTOM, utilizado en el prototipo, se indican a continuación: GPS: 191 Universidad de Cuenca – Facultad de Ingeniería Juego de procesador SiRF Star III Frecuencia Código C/A Canales Sensibilidad de seguimiento: Frecuencia de actualización: Cold start (inicio en frío): Warm start (inicio “templado”): Hot start (inicio en caliente): Tiempo de readquisición: Datos: Protocolo: Antena: L1, 1575.42 MHZ Velocidad de procesador 1.023 MHZ Seguimiento en 20 canales (todos a la vista) -159dBm 1Hz < 1 minuto (típico) < 30 segundos (típico) < 10 segundos (típico) < 1 segundo desde bloqueo max. 30 segundos WGS-84 NMEA 0183 Versión 2.2 Antena omnidireccional integrada Bluetooth: Perfil: Clase: PIN predeterminado: Perfil de puerto serie (SPP) Clase II Versión 1.2 0000 192 Universidad de Cuenca – Facultad de Ingeniería CAPITULO V ESTUDIO DE PRECIOS DE LAS ALTERNATIVAS TECNOLÓGICAS PARA EL TRANSPORTE DE DATOS 5.1 Red GSM/GPRS 5.1.1 Evolución y Costos de la Red GSM/GPRS General Packet Radio Service o GPRS es una tecnología digital de telefonía móvil. GPRS es sólo una modificación de la forma de transmitir datos en una red GSM, pasando de la conmutación de circuitos en GSM (donde el circuito está permanentemente reservado mientras dure la comunicación aunque no se envíe información en un momento dado) a la conmutación de paquetes. Al ser GPRS una comunicación basada en paquetes de datos permite fundamentalmente compartir los recursos radio. Un usuario GPRS sólo usará la red cuando envíe o reciba un paquete de información, todo el tiempo que esté inactivo podrá ser utilizado por otros usuarios para enviar y recibir información. Esto permite a los operadores dotar de más de un canal de comunicación sin miedo a saturar la red, de forma que mientras que en GSM sólo se ocupa un canal de recepción de 193 Universidad de Cuenca – Facultad de Ingeniería datos del terminal a la red y otro canal de transmisión de datos desde la red al terminal, en GPRS es posible tener terminales que gestionen cuatro canales simultáneos de recepción y dos de transmisión, pasando de velocidades de 9,6 kbps en GSM a 40 kbps en recepción en GPRS y 20 kbps de transmisión. Otra ventaja de la conmutación de paquetes es que, al ocuparse los recursos sólo cuando se transmite o recibe información, la tarificación por parte del operador de telefonía móvil sólo se produce por la información transitada, no por el tiempo de conexión. La tecnología GPRS, o generación 2.5, representa un paso más hacia los sistemas inalámbricos de Tercera Generación o UMTS. Su principal ventaja radica en la posibilidad de disponer de un terminal permanentemente conectado, tarificando únicamente por el volumen de datos transferidos (enviados y recibidos) y no por el tiempo de conexión como se indicó anteriormente. GPRS permite a los operadores lanzar servicios de datos avanzados, tales como el Servicio de Mensajes Multimedia (MMS) y acceso rápido a Internet. Como resultado de esto, GPRS brinda a los operadores la capacidad de utilizar datos 194 Universidad de Cuenca – Facultad de Ingeniería para obtener facturación adicional y competir por servicios en lugar de por precios exclusivamente. GPRS se apoya en dos de las plataformas más ampliamente utilizadas en el mundo: GSM y el Protocolo de Internet (IP), la norma universal que sirve de base para el Internet. Al utilizar IP, GPRS evita los problemas que surgen con el uso de una norma de trabajo en red exclusivamente inalámbrica que requiere equipos propietarios. Al utilizar una tecnología abierta, totalmente estandarizada, GPRS es ideal para brindar acceso inalámbrico a otras redes basadas en IP, tales como LANs corporativas e ISPs. Otra ventaja de la base IP de GPRS es que los operadores y sus socios pueden desarrollar y lanzar servicios avanzados de datos mucho más rápidamente y de manera menos costosa al aprovechar la amplia disponibilidad de experiencia y equipos comerciales disponibles para IP. Al ser GPRS sólo una modificación de la forma de transmitir datos en una red GSM, el costo promedio de implantar GPRS en una red GSM existente, varía significativamente según el tamaño, la antigüedad y el diseño de la red existente. Por ejemplo, si la infraestructura de radio existente del operador puede actualizarse a GPRS, como sucede con la mayoría de las redes de América, el costo es relativamente mínimo. En redes que tienen una antigüedad de más de siete años, la 195 Universidad de Cuenca – Facultad de Ingeniería infraestructura de radio tal vez no pueda ser actualizada, lo que incrementa el costo de implantación de GPRS. El mayor costo está en la infraestructura de núcleo de paquetes, que pasa a ser una importante inversión a largo plazo ya que puede reutilizarse cuando el operador despliega EDGE y/o UMTS/HSDPA. En la Tabla 5.1 se indica la evolución de la tecnología GSM [45]. Actual:900 y 1800 MHz (Europa) 1900 MHz (EE.UU.) 2G 2,5 G 2,5/3 G Espectro Generación Tecnología Tasa de datos máx. teórica (kbit/s) Tasa de datos promedio (kbit/s) Canalización (kHz) Nuevo: 1900/2100 MHz 3G WCDMA HSDPA (UMTS) (WCDMA) GSM GPRS EDGE 14,4 171,2 473.6 2.000 14.000 - 30-40 100-130 220-320 550-1100 200 200 200 5.000 5.000 Tabla 5.1 Evolución de la tecnología GSM En el caso del Ecuador, PORTA utiliza este tipo de tecnología y, actualmente tiene montada la plataforma GPRS y EDGE/GPRS. Además es importante indicar que PORTA está en proceso de implementar la tecnología UMTS(WCDMA). 196 Universidad de Cuenca – Facultad de Ingeniería 5.1.2 Precios del Transporte de datos de la Red GPRS y EDGE/GPRS En la Tabla 5.2 se indican los precios del transporte de datos para el caso de las PDAs que utilizan MODEM GPRS, y tienen un enlace dedicado desde Estación Base (BTS) más cercana a la ubicación del Servidor Central, que en este caso está ubicado en el Municipio de la Ciudad de Cuenca. Para una mejor ilustración se puede observar la Figura 5.1. 197 Universidad de Cuenca – Facultad de Ingeniería Figura 5.1 Red de Datos para la comunicación entre dispositivos móviles y el Servidor Central (Municipio de Cuenca - SERT) Plan Plan para PDA Fuente: Porta Tarifa básica sin IVA Precio MB adicional sin IVA $5 $ 1,20 Enlace dedicado (mensual) sin IVA $200 Tabla 5.2 Precios del transporte de datos para PDAs que utilizan la red GPRS de PORTA. En cambio, en la Tabla 5.3 se indican los precios de transporte de datos, utilizando la nube de Internet. 198 Universidad de Cuenca – Facultad de Ingeniería Plan GSM Turbo 400 GSM Turbo Ilimitado Fuente: Porta Mb. Incluidos 400 Mb. n/a Tarifa $49 + IVA $79 + IVA Tarjeta Sony Ericsson Módem Lightspeed USB $75 + IVA Incluida ** $65 + IVA Incluida ** Tabla 5.3 Precios del transporte de datos utilizando Internet 5.2 Red CDMA2000 5.2.1 Evolución de la Red CDMA2000 El acceso Múltiple por División en Código (CDMA) es un término genérico que define una interfaz de aire inalámbrica basada en la tecnología de espectro extendido (spread spectrum). Para telefonía celular, CDMA es una técnica de acceso múltiple especificada por la TIA como IS-95. Los sistemas IS-95 dividen el espectro en portadoras de 1.25 MHz. Cada dispositivo que utiliza CDMA está programado con un pseudocódigo, el cual se usa para extender una señal de baja potencia sobre un espectro de frecuencias amplio. La estación base utiliza el mismo código en forma invertida (los ceros son unos y los unos son ceros) para desextender y reconstruir la señal original. Los otros códigos permanecen extendidos, distinguibles del ruido de fondo. Hoy en día existen muchas variantes, pero el CDMA original se conoce como cdmaOne bajo una marca registrada de Qualcomm. A CDMA se le caracteriza por su alta capacidad y celdas de radio pequeño, 199 Universidad de Cuenca – Facultad de Ingeniería que emplea espectro extendido y un esquema de codificación especial y, lo mejor de todo es muy eficiente en potencia. CDMA2000 representa a una familia de tecnologías que incluyen CDMA2000 1X y CDMA2000 1xEV. El Sistema CDMA2000 1x.- Este define un conjunto de mejoras básicas en la capa física para mejorar la capacidad y permitir ofrecer servicios de datos de no muy alta tasa binaria. Puede llegar a duplicar la capacidad de usuarios de voz de la redes CDMAOne. Ofrece unas velocidades máximas de transmisión de paquetes de datos de 307 kbps en entornos móviles. El Sistema CDMA2000 1xEV. En este sistema se incluye[46]: El CDMA2000 1xEV-DO (Data Only), que proporciona una velocidad de transmisión de datos de hasta 2,4 Mbps y soporta aplicaciones como la transferencia de MP3 y videoconferencia. El CDMA2000 proporcionar 1xEV-DV (Data simultáneamente Voice), voz capaz de integrada y transferencia de paquetes de alta velocidad de servicios de multimedia a una velocidad de hasta 3,09 Mbps. 200 Universidad de Cuenca – Facultad de Ingeniería Tanto 1xEV-DO como 1xEV-DV proporcionan compatibilidad con CDMA2000 1X y CDMAOne. CDMA2000 además de ser eficiente y poseer una tecnología robusta, tiene la capacidad de soportar tráfico de datos y voz, aportando una gran variedad de características, entre ellas se encuentran [46]: 1. Incremento de velocidad: Proporciona una de las más altas capacidades de entrega de paquetes con la menor cantidad de espectro. 2. Rendimiento de procesamiento de datos más alto: Actualmente, estas redes comerciales son capaces de soportar una transferencia pico de 153,6 kbps bajo CDMA2000 1X. En CDMA2000 1xEv-DO la máxima velocidad es de 2.4 Mbps, y CDMA2000 1xEV-DV podrá llegar a tener la capacidad de 3,09 Mbps. 3. Flexibilidad de frecuencia de banda: Es posible desplegar redes CMA2000 sobre casi cualquier tipo posible de spectrum celular, tales como 450 Mhz, 800 Mhz, 900 Mhz, 1700 Mhz, 1800 Mhz, 1900 Mhz y 2100 Mhz. Su alta eficiencia espectral, permite el despliegue de alto tráfico en espectros de canales de 1.25 Mhz. 4. Mayor vida de batería. 201 Universidad de Cuenca – Facultad de Ingeniería 5. Sincronización: Las estaciones bases alrededor del mundo están sincronizadas con un margen de microsegundos, con el tiempo coordinado universalmente (Universal Coordinated Time UCT). Esta sincronización se logra a través de diferentes técnicas que incluye autosincronización, radio beep, o a través de sistemas de base satelital como GPS, Galileo, o GLONASS. 6. Completa compatibilidad con estándares anteriores. 7. Servicios de multiplexación y administración de QoS mejorados. En la Tabla 5.4 se muestra la evolución de la tecnología CDMA2000 [45]. Espectro Generación Tecnología Tasa de datos máx. teórica (kbits/s) Tasa de datos promedio (kbit/s) Canalización Actual: 800 MHz y 1900 MHz 2,5 G 3G CDMA CDMA CDMA2000 1xEV-DO 1X* (IS-95-A) 1xEV-DO Rev. A 2G cdmaOne 14,4 153,6 2.400 3.100 - 40-70 300-500 - 1,25 MHz 1,25 MHz 1,25 MHz 1,25 MHz Tabla 5.4 Evolución de la tecnología CDMA2000 202 Universidad de Cuenca – Facultad de Ingeniería 5.2.2 Precios del Transporte de datos de la Red CDMA2000 En la Tabla 5.5 se indican los precios del transporte de datos utilizando la tecnología CDMA2000 1xRTT y 1xEV-DO de ALEGRO para PDAs (NIU PDA) utilizando Internet. Planes Comerciales NIU PDA Aplica a CBM sin impuestos Volumen mensual en MB dentro del CBM* Precio MB adicional NIU PDA 1000 MB Solo plan 172798 $61,61 100 $0,11 con plan de voz Exacto PDA CBM 0 NIU PDA 1000 MB Solo plan 172798 $70,54 100 $0,11 sin plan de voz Exacto PDA CBM 0 NIU PDA 300 MB sin Solo plan 172798 $34,82 300 $0,27 plan de voz Exacto PDA CBM 0 Fuente: ALEGRO * El volumen mensual corresponde a la información enviada y recibida (downlink y uplink) Tabla 5.5 Precios del transporte de datos utilizando la tecnología CDMA2000 1xRTT y 1xEV-DO de ALEGRO para PDAs usando Internet. En la Tabla 5.6 se indican los precios del transporte de datos utilizando la tecnología CDMA2000 1xRTT y 1xEV-DO de ALEGRO para PCs y Laptops (NIU Banda Ancha). Planes Comerciales NIU PDA Aplica a CBM sin impuestos $29,00 NIU Banda Ancha Controlado Controlado para laptop $39,00 NIU Banda Ancha Controlado Controlado para laptop $59,00 NIU Banda Ancha Controlado Controlado para laptop $79,00 NIU Banda Ancha Controlado Controlado para laptop $149,00 NIU Banda Ancha Controlado Controlado para laptop Fuente: ALEGRO * El volumen mensual corresponde a la información enviada y recibida (downlink y uplink) Volumen mensual en MB dentro del CBM* 300 600 1000 2000 5000 Tabla 5.6 Precios del transporte de datos utilizando la tecnología CDMA2000 1xRTT y 1xEV-DO de ALEGRO para PCs y laptops. 203 Universidad de Cuenca – Facultad de Ingeniería En la Tabla 5.7 se indican los precios del transporte de datos utilizando la tecnología CDMA2000 1xRTT de MOVISTAR. Plan Precio sin impuestos Optimo $55.90 Económico $34.90 Micro $20.90 Fuente: MOVISTAR Megas MB adicional 4000 200 80 $0.03 $0.18 $0.27 Tabla 5.7 Precios del transporte de datos utilizando la tecnología CDMA2000 1xRTT de MOVISTAR 5.3 Estudio Comparativo de la Red GPRS y CDMA2000 Las redes de telefonía celular que existen en el país permiten ofrecer servicios de transmisión de datos de alta velocidad. Basadas en tecnología GSM/GPRS/EDGE GPRS en el caso de Porta y, CDMA 2000 1x y 1xEV-DO, en el caso de ALEGRO, las nuevas redes suelen definirse como de banda ancha móvil y se cobra por paquete de datos enviado. En la Figura 5.2, se indica la evolución de la tecnología celular GSM y CDMA2000. 204 Universidad de Cuenca – Facultad de Ingeniería Figura 5.2 Evolución de la tecnología celular GSM y CDMA2000 De la Figura 5.2 podemos observar que GPRS da soporte a velocidades de descarga de hasta 120 kbps con velocidades promedios de 20 a 55 kbps, lo que es comparable con otras tecnologías de 2.5G tales como CDMA2000 1x. Estas velocidades son suficientes para habilitar aplicaciones tales como servicios de mensajes multimedia (sms) y navegación en la web. Este servicio brinda tanto PORTA como ALEGRO, pero esta última tiene la ventaja de dar el servicio en 3G, a través de la tecnología CDMA2000 EV-DO con velocidades que llegan hasta los 384 kbps. 205 Universidad de Cuenca – Facultad de Ingeniería Así mismo, si se compara los precios del transporte de datos para PDAs, Tablas 5.2 y 5.5, de PORTA como de ALEGRO, respectivamente, podemos observar que ALEGRO tiene lo precios más convenientes. Como resultado de este análisis, por ser CDMA2000 1xRTT y CDMA2000 EV-DO una tecnología muy eficiente, robusta y con precios convenientes en el transporte de datos, se utilizó para el desarrollo del prototipo la red de ALEGRO que tiene este tipo de plataforma. 5.4 Cálculo de tráfico y dimensionamiento de la red IP 5.4.1 Volúmen de Transferencia Entre los datos que se mueven por la red a causa del Sistema de Parqueo Tarifado estarán los bits que conforman el contenido de consulta desde la PDA al servidor, así como también los bits que se mueven desde el servidor a la PDA, considerando las condiciones de transporte de datos con o sin seguridad, además que hay numerosos elementos de control de datos y de protocolo. De este modo, para poder hacer un cálculo aproximado, se ha utilizado el analizador de red Ethereal que permitió establecer el tráfico de datos en bytes tanto de los que se envía como los que se recibe. En la Tabla 206 Universidad de Cuenca – Facultad de Ingeniería 5.8 se resumen los datos de tráfico obtenidos en las diferentes condiciones. Descripción Consulta desde la PDA al Servidor sin overhead Consulta desde la PDA al Servidor con overhead Grabando desde la PDA al Servidor sin cifrado y sin overhead Grabando desde la PDA al Servidor sin cifrado y con overhead Grabando desde la PDA al Servidor con cifrado y sin overhead Grabando desde la PDA al Servidor con cifrado y con overhead Tráfico de Subida KB Tráfico de Bajada KB Tráfico Total KB 0.79 1.68 2.47 1.03 2.18 3.21 15.36 0.9 16.26 19.97 1.17 21.14 21.66 1.62 23.28 28.16 2.11 30.27 Tabla 5.8 Tráfico de datos del Sistema de Parqueo Tarifado Así mismo, en la Tabla 6.2 se indica la cantidad de vehículos por hora que utilizan el Sistema de Parqueo durante un día típico. La transferencia de datos, se calculó del siguiente modo: días por mes x cantidad de vehículos estacionados por día x volumen de tráfico diario En la Tabla 5.9 se indica la transferencia de datos mensuales tanto para el caso de datos cifrados así como también sin cifrar. 207 Universidad de Cuenca – Facultad de Ingeniería Transferencia de Datos Mensual GB Descripción Trafico de Datos sin Cifrado 6,40 Trafico de Datos con Cifrado 8,09 Tabla 5.9 Transferencia de datos del Sistema de Parqueo Tarifado. 5.4.2 Ancho de Banda El ancho de banda es la cantidad de datos que se pueden enviar a través de un canal de comunicación. A diferencia de lo que sucede con el volumen de transferencia, que se contabiliza en un total de información enviada, el ancho de banda indica el límite que podemos alcanzar en un momento determinado. Superar el ancho de banda contratado, causará retraso en la entrega de datos inicialmente y denegación de respuesta poco después. El cálculo del ancho de banda, ha de realizarse teniendo presente los momentos de mayor actividad, lo que hace más complejo el cálculo. Nos conformaremos con lograr una buena aproximación, pues luego al contratar, hay que hacer un redondeo forzoso. 208 Universidad de Cuenca – Facultad de Ingeniería De la Tabla 6.2 se puede observar que desde las 10h30 hasta las 11h30 se estacionan 1.089 vehículos, representando la hora pico de demanda. El valor en Kilobytes de la hora pico sería el siguiente: Datos sin cifrar: 1089 x 26,49 = 28.847.61 KB (1) Datos cifrados: 1089 x 33,48 = 36.459.72 KB (2) Una vez que se tenga un valor en Kilobytes (KB) pico por hora, el siguiente paso es convertirlo a Kilobits por segundo (Kbps). El último cálculo es el siguiente: hora pico / 60 minutos/hora / 60 segundos/minuto x 8 bits/byte Aplicándolo al Sistema de Parqueo, el resultado queda en: Datos sin cifrar: 28.847,61 KB / 60 / 60 x 8 = 64,10 Kbps (3) Datos cifrados: 36.459,72 KB / 60 / 60 x 8 = 81,02 Kbps (4) También se va analizar la probabilidad de que 1, 2, 3, 4, 5….PDAs estén ocupadas a la vez, con la finalidad de establecer un correcto ancho de banda. 209 Universidad de Cuenca – Facultad de Ingeniería La cantidad promedio de vehículos que son informados por PDA se calcula de la siguiente manera: Cantidad de vehículos hora pico/ # de PDAs De tal forma: 1089/30= 36 vehículos por PDA en la hora pico (5) Si consideramos que cada PDA se toma un tiempo de 8 segundos para grabar la información en el servidor remoto, tendremos que la intensidad de tráfico durante la hora pico es: A=Tiempo Ocupación/ Tiempo Observación (6) A= (30*8*36)/3600 (7) A=2.4 E (8) Si consideramos que la ocupación de las PDAs sigue la distribución de Poisson, tendremos que la probabilidad de que 1,2,3,4,5…PDAs estén ocupadas vendría dada por la siguiente ecuación: P( x) = Ax −A e x! (9) A = Intensidad de Tráfico. 210 Universidad de Cuenca – Facultad de Ingeniería x = variable aleatoria discreta que indica el # de PDAs que están ocupadas. e = 2.71828 En la Tabla 5.10 se resume las probabilidades de que 1,2,3,4,5,6,7,8 estén ocupadas. # de PDAs Ocupadas (x) Probabilidad de Ocurrencia P(x) 1 21,77% 2 26,13% 3 20,90% 4 12,54% 5 6,02% 6 2,41% 7 0,83% 8 0,25% Tabla 5.10 Probabilidad de que estén ocupadas (x) PDAs. De la Tabla 5.10 se puede observar que la probabilidad más alta es que estén ocupadas 2 PDAs. De acuerdo a esto los Kilobits por segundo (Kbps) que representan la conexión de 2 PDAs vendría dado por: Datos sin cifrar: 2 x 26,49 KB /8 x 8 = 52,98 Kbps (10) Datos cifrados: 2 x 33,48 KB / 8 x 8 = 66,96 Kbps (11) 211 Universidad de Cuenca – Facultad de Ingeniería Las expresiones (3), (4), (10) y (11) nos permiten tomar una decisión para contratar un adecuado ancho de banda. Siendo los valores de ancho de banda contratables de 128Kbps, 256Kbps, 512Kbps, etc., se recomienda contratar los 128Kbps. En el caso del Sistema de Parqueo Tarifado, el volumen de transferencia de datos nunca nos llevará a una contratación por ancho de banda, pues no necesitamos tanta comunicación. 212 Universidad de Cuenca – Facultad de Ingeniería CAPITULO VI EVALUACIÓN FINANCIERA DEL SISTEMA DE ESTACIONAMIENTO ROTATIVO TARIFADO ACTUAL Y PROPUESTO 6.1 Sistema de Estacionamiento Rotativo Tarifado Actual La empresa encargada de realizar la administración, control y recaudación del parqueo en la ciudad de Cuenca es la SERT (Sistema de Estacionamiento Rotativo Tarifado), creada en mayo de 2003 con el objetivo de generar un sistema de estacionamiento tarifado que permita reglamentar y organizar el uso de los espacios públicos destinados a parqueo de vehículos livianos, en el Centro Histórico y en el sector El Arenal de la ciudad de Cuenca, optimizando su uso y generando un mayor número de plazas disponibles. En la actualidad funcionan tres locales del SERT, el central que está emplazado en la Avenida González Suárez 2-25 y José Joaquín de Olmedo, la ventanilla de atención al público ubicada en la Av. Solano y 12 de Abril (antiguo Tadeo Torres) y la ventanilla ubicada en la Av. España y Chapetones (Terminal Terrestre de la ciudad 2do. Piso). 213 Universidad de Cuenca – Facultad de Ingeniería 6.1.1 Descripción General El procedimiento en la ciudad de Cuenca es el siguiente: 1. Los usuarios compran una tarjeta de estacionamiento, Figura 6.1, a un precio de USD $1 para un tiempo máximo de parqueo de 2 horas dividido en 4 fracciones de 30 minutos. Figura 6.1 Tarjeta de estacionamiento usada actualmente 2. Proceden a llenar la fecha y tiempo de parqueo. 3. Colocan en un lugar visible del vehículo la tarjeta. 4. El inspector del parqueo revisa que se cumplan los procedimientos anteriores, caso contrario procede a sancionar de acuerdo al tipo de infracción cometida e informa a las oficinas de la SERT. 214 Universidad de Cuenca – Facultad de Ingeniería En caso de infringir se toman los siguientes datos: • Fecha de la infracción • Número de placa, marca, modelo, tipo y color del vehículo • Hora detectada, hora intervenida, hora de tarjeta vencida • Número de sello • Tipo de infracción • Dirección aproximada del vehículo • Fotografías del vehiculo. Todos estos datos son transmitidos a las oficinas de la SERT, por medio de un radio transmisor, donde serán digitalizados con la finalidad de ser almacenados en la Base de Datos del Servidor Central. En el caso de las fotografías son descargadas al final del turno. En la Figura 6.2 se puede apreciar el momento en que el inspector está tomando los datos del vehículo que cometió la infracción. 215 Universidad de Cuenca – Facultad de Ingeniería Figura 6.2 Toma de datos por parte del Inspector del vehículo que cometió la infracción 6.1.2 Sitios de Estacionamiento Tarifado Actualmente en el Centro Histórico de la ciudad de Cuenca, Anexo 2, y, en el Mercado de El Arenal, Anexo 3, se tiene implementado el Sistema de Estacionamiento Tarifado. 6.1.3 Descripción del Personal que labora en la SERT Inspectores Son los encargados de controlar el Parqueo Tarifado, los mismos que trabajan de la siguiente manera: • En el Centro Histórico se han establecido dos turnos, el primero que va desde las 07h30 hasta las 13h30 y, el segundo que va desde 13h30 hasta las 19h30. En cada uno de los turnos laboran 30 inspectores. 216 Universidad de Cuenca – Facultad de Ingeniería • En El Arenal así mismo se han establecido dos turnos en los mismos horarios indicados anteriormente. En cada turno laboran 6 inspectores. También, se tienen 2 inspectores que se movilizan en motos, cuya función es controlar los vehículos que se estacionan en zonas prohibidas. Finalmente, se dispone de 2 inspectores que trabajan en las oficinas del 911, uno en cada turno, cuya misión es vigilar el trabajo de los inspectores, aprovechando las video cámaras instaladas por el 911 para supervisar el Centro Histórico. Supervisores La función de los Supervisores es vigilar que cumplan a cabalidad el trabajo los inspectores. Para el Centro Histórico se tienen 4 supervisores y para El Arenal 2. También se dispone de un Supervisor de operación que cumple la función de jefe de todos los supervisores. Digitadoras Son las encargadas de receptar y procesar la información transmitida por los inspectores. Así mismo, se tiene 4 digitadoras, 2 en cada turno. 217 Universidad de Cuenca – Facultad de Ingeniería Adicionalmente, existen 2 digitadoras de depuración, una en cada turno. Además, la Unidad de la SERT dispone del siguiente personal: • Un Jefe de Unidad • Una secretaria • Uno para recuperación de cartera vencida • Un recaudador • Un cajero • Uno para atención al cliente • Dos para mantenimiento • Un conserje • Guardias de seguridad 6.1.4 Arquitectura del Software del Sistema de la SERT Utilizan la arquitectura cliente/servidor, donde las estaciones de trabajo del cliente están ubicadas en las oficinas de la SERT y el servidor, en el séptimo piso del edificio del Municipio en el departamento de Informática. En las Figuras 6.3 y 6.4 se indican las interfaces del Sistema para el registro de las infracciones y de los datos de control. 218 Universidad de Cuenca – Facultad de Ingeniería Figura 6.3 Interface para el ingreso de los datos de la Infracción. 219 Universidad de Cuenca – Facultad de Ingeniería Figura 6.4 Interface para el ingreso de los datos de Control. 6.1.5 Equipamiento Vehículos y Grúa El control de las zonas de estacionamiento prohibido lo realizan con una motocicleta, existe otra destinada a labores de notificación a usuarios deudores y, dos vehículos para operaciones de supervisión y control de inspectores. 220 Universidad de Cuenca – Facultad de Ingeniería Equipos de computación La Unidad de Estacionamiento Rotativo Tarifado al momento cuenta con 16 equipos de computación en pleno funcionamiento, para sus locales de atención en las áreas administrativa, de atención al público y operacional. Equipos de comunicación Dispone de un sistema troncalizado de radio con 42 equipos de radio móviles que operan en forma eficiente tanto en el Centro Histórico como en El Arenal. Cámaras Fotográficas Cuenta con 30 cámaras fotográficas para inspectores, utilizadas para el control de infracciones esencialmente. 6.2 Descripción de la Propuesta Técnica para el Parqueo Tarifado de la Ciudad de Cuenca 6.2.1 Obtener y usar la Tarjeta Las Tarjetas RFID tienen que ser recargables y pueden ser compradas en los puntos de venta. Las tarjetas se pueden recargar en las PDAs de los inspectores, utilizando el sitio web del Sistema de Parqueo Tarifado Automatizado o, usando las máquinas de recarga que 221 Universidad de Cuenca – Facultad de Ingeniería estarán ubicadas en puntos estratégicos de la ciudad: supermercados, tiendas de conveniencia y centros comerciales. Estas tarjetas no requieren contacto físico con los lectores, y pueden ser leídas a través de materiales comunes, como acercando monederos, bolsos, chaquetas a los lectores. Con la tendencia actual estas tarjetas RFID en un futuro pueden ser usadas para hacer compras en muchas tiendas y restaurantes de la ciudad, cadenas de comida rápida, etc. Tarjetas Personalizadas.- En el caso del Sistema de Parqueo Tarifado se deben usar tarjetas personalizadas, con la finalidad de saber los datos del vehículo como el número de placa, marca, modelo, tipo, color, nombre del propietario y tiempo disponible de parqueo. La Tarjeta puede ser bloqueada para prevenir su uso no autorizado si se pierde. Devolución de la Tarjeta.- El sistema debe contemplar la devolución del depósito y el valor restante de la tarjeta, excepto por cargos administrativos. Operatividad y Tecnología.- Es un sistema de toque y pase, por lo que los usuarios tienen que acercar las tarjetas a la 222 Universidad de Cuenca – Facultad de Ingeniería proximidad del lector sin necesidad de contacto físico. Los datos pueden ser transmitidos a una velocidad de hasta 212kbps, frente a los 9,6kbps de las tarjetas de bandas magnéticas. El Sistema está diseñado de forma que las transacciones son transmitidas en línea, por lo que los lectores tienen que tener comunicación en tiempo real con el servidor central. 6.2.2 Sistemas de Consulta y Recarga Sistema de Recarga Automático.- El Servicio de recarga automático se puede usar para estos sistemas, usando la recarga de tarjeta desde una cuenta bancaria o desde una tarjeta de crédito automáticamente. Después de que la carga baje de cero, la tarjeta es recargada con un cierto valor. En este caso la SERT puede llegar a convenios con los bancos locales para que presten este servicio. Servicio SMS de Parqueo Tarifado.- Nos va a permitir indicar el momento que se va a parquear y el instante que va a salir del parqueo. Además, este servicio puede ser usado para realizar consulta y recarga de saldos. 223 Universidad de Cuenca – Facultad de Ingeniería Este servicio requiere enviar un mensaje con los siguientes parámetros: 1. Número de teléfono del sistema encargado del control del parqueo. 2. Código de la tarjeta prepago de parqueo. 3. Escoger la opción que se desea: 3.1. Consulta de saldos 3.2. Recarga de saldo 3.3. Indicar que se va a parquear 3.4. Indicar que va a salir del parqueo 4. En caso de que digite la opción 3 se debe seguir los siguientes pasos: 4.1 Colocar la tarjeta de prepago en un lugar visible 4.2 El vehículo estará legalmente parqueado para el tiempo máximo de estacionamiento indicado. Cuando se va a realizar la recarga de saldo, se debe considerar los usuarios que tienen el servicio post-pago y en el caso de tarjetas prepago deben tener el saldo suficiente para realizar el débito solicitado. Servicio IVR (Interactive Voice Responder – Respuesta de voz interactiva) para Parqueo Tarifado.- Los usuarios finales interactúan con el sistema usando el teléfono celular a 224 Universidad de Cuenca – Facultad de Ingeniería través de una tecnología de respuesta de voz interactiva avanzada, como indica la Figura 6.5. Figura 6.5 Servicio IVR Los conductores cuando arriban a una zona de parqueo siguen el siguiente procedimiento: - Llaman al número de teléfono del área de parqueo - Digitan el código de la tarjeta de parqueo - Colocan la tarjeta en un lugar visible - El vehículo estará legalmente parqueado para el tiempo máximo de estacionamiento indicado. Cuando los conductores salen de la zona de parqueo deben hacer lo siguiente: - Llamar al número de teléfono del área de parqueo - Digitar el código de la tarjeta de parqueo El Sistema adaptará su pago al tiempo de parqueo efectivo. 225 Universidad de Cuenca – Facultad de Ingeniería Sitio WEB de Parqueo Tarifado.- Permite dar un servicio al cliente para que pueda realizar las consultas y recargas de la tarjeta RFID, utilizando las tarjetas de crédito. Tarjeta/Monedero para Parqueo Tarifado.- Este sistema es muy parecido a los cajeros automáticos de los bancos. Para utilizarlo sólo hay que acercar la tarjeta al lector y la recarga se puede realizar con máquinas que aceptan dinero en efectivo o directamente por transferencia desde una tarjeta de crédito o cuenta bancaria como se indica en la Figura 6.6 Figura 6.6 Tarjeta/Monedero para Recarga 6.2.3 Lectores de Consulta Con la finalidad de que los usuarios puedan consultar los saldos que disponen en las tarjetas, se recomienda instalar lectores para consulta, Figura 6.7, en diferentes lugares 226 Universidad de Cuenca – Facultad de Ingeniería públicos como por ejemplo supermercados, centros comerciales, etc. Figura 6.7 Lector de Tarjeta en un Centro Comercial 6.3 Flujos de datos 6.3.1 Flujo de Datos de la Transacción En la Figura 6.8 se indica el flujo de datos de la Transacción entre el inspector del Parqueo Tarifado y el Servidor Central. 227 Universidad de Cuenca – Facultad de Ingeniería Usuario Servidor Central Inspector 1. Uso de la Tarjeta 2. Transmisión de datos de la Transacción 3. Resultado de los datos de la Transacción 4. Transmisión del resultado de los datos de la Transacción 5. Procesamiento de los datos de la transacción Figura 6.8 Flujo de Datos de la Transacción 6.3.2 Flujo de Datos de la Recarga En la Figura 6.9 se indica el flujo de datos de la recarga de las tarjetas RFID. 228 Universidad de Cuenca – Facultad de Ingeniería Usuario Punto de Venta y recarga Servidor Central Seguridad Banco 1. Solicitud para recarga depósito 2. Respuesta de recarga depósito 3. Proceso de Recarga 4. Solicitud para recargar la Tarjeta 5. Proceso de Recarga de la Tarjeta 6. Envío de datos de la recarga de la Tarjeta 7. Solicitud de Certificación de los datos de la Transacción de recarga de la tarjeta 8. Respuesta de Certificación de los datos de la Transacción de recarga de la tarjeta 9. Solicitud de datos con el Banco en el caso de usar Tarjeta de Crédito 10. Respuesta de datos de la Transacción 11. Proceso de los datos de recarga de la tarjeta 12. Respuesta de la recarga de la tarjeta 13. Respuesta de la recarga de la tarjeta Figura 6.9 Flujo de Datos de la recarga de la tarjeta RFID 6.3.3 Flujo de la venta de Tarjetas En la Figura 6.10 se indica el flujo de ventas de las tarjetas RFID. 229 Universidad de Cuenca – Facultad de Ingeniería Usuario Punto de Venta (Oficinas SERT) Servidor Central 1. Compra de la Tarjeta 2.Solicitud de datos del Usuario 3. Ingreso de datos 4. Código de Tarjeta asignada al usuario 4. Entrega de la Tarjeta Figura 6.10 Flujo de ventas de las tarjetas RFID 6.4 Evaluación Financiera La evaluación financiera hace referencia al análisis de la rentabilidad del proyecto, para lo cual se utilizan diferentes criterios tales como: el valor actual neto(VAN), la tasa interna de retorno(TIR), la relación beneficio-costo, entre otros. Para realizar la evaluación financiera del proyecto del Sistema de Parqueo Tarifado Automatizado, fue necesario recurrir a información de primer orden que permita visualizar con mayor precisión y objetividad en qué magnitud se beneficiaría la SERT al emprender tal reto. A más de ello se establece los recursos necesarios para su implementación y se trabaja con el supuesto de que todos los recursos son provistos por el propio sistema. 230 Universidad de Cuenca – Facultad de Ingeniería 6.4.1 Características del funcionamiento del Sistema Actual A continuación se detallan algunas características operativas relevantes que fueron proporcionados por la SERT [47]. Área de Estacionamiento Tarifado El área de Estacionamiento Rotativo Tarifado en el Centro Histórico actualmente consta de 30 rutas, 28 rutas de estacionamiento permitido, una de estacionamiento en lugares prohibidos y, una ruta de recorrido de dársenas y prohibido en el sector del Parque Calderón. Los espacios reservados tanto de instituciones públicas como de privadas así como el total de tramos fiscalizados se indican en la Tabla 6.1. Total de tramos(cuadras) fiscalizados. Tramos tarifados Tramos con prohibición de estacionamiento 142 105 37 Plazas de reservados públicos 18 Plazas de reservados privados 19 Entradas a garajes – Zona Tarifada 227 Entradas a garajes – Zona Prohibida 450 Tabla 6.1 Área de Estacionamiento Tarifado En el sector de El Arenal el área del SERT consta de 5 rutas para las calles: Roberto Crespo, Carlos Vintimilla, Eduardo Arias y Av. General Escandón y Carlos Arízaga. 231 Universidad de Cuenca – Facultad de Ingeniería Horarios de mayor demanda en el Parqueo Las horas de mayor demanda del SERT en el Centro Histórico están en los períodos: 11h00 a 12h00 y 15h00 a 16h00. En el área de El Arenal los porcentajes máximos de ocupación de estacionamiento se dan en los períodos 07h00 a 08h00 y 14h00 a 15h00 debido a que es una zona netamente comercial. La SERT para obtener estos resultados se basó en el porcentaje de ocupación, el mismo que define la cantidad de vehículos por unidad de tiempo (1 hora) que han utilizado las plazas de estacionamiento del Sistema de Estacionamiento Rotativo Tarifado contabilizados. con respecto al total de vehículos De esta manera, utilizaron una muestra representativa de 4.538 vehículos en el Centro Histórico y de 1.033 vehículos en el Arenal. Porcentajes de cumplimiento del Sistema de Parqueo Tarifado Mediante el conteo vehicular realizado por parte de la Unidad Municipal de Tránsito y Transporte, determinó que en el Centro Histórico de Cuenca la cantidad de vehículos que cumplen el sistema de Parqueo Tarifado corresponde al 86,51% frente al 13,49% de vehículos que no respetan el sistema. Similar 232 Universidad de Cuenca – Facultad de Ingeniería situación se ha constatado en El Arenal, 78,03% de vehículos que respetan el sistema vs. 21,97% que no lo hacen. Sin embargo, podría significar un ingreso de USD $93.197,64, no obstante, en lugar de estos valores la empresa percibe los valores en concepto de infracciones que en un año ascienden aproximadamente a USD $ 235.467,13. La ventaja fundamental del sistema de parqueo propuesto estaría en el hecho de que el usuario al conocer que existe un mayor control no incurriría en infracciones de ningún tipo, evitando parquear en lugares no permitidos e informando inmediatamente el acceso al parqueo, con lo cual deja de pagar las multas por infracciones, aspecto que no siempre es bien visto por el malestar que causa a este sector de usuarios. Tasa de Irrespeto La tasa de irrespeto define el porcentaje de vehículos que utilizan las plazas de estacionamiento del SERT y no colocan tarjeta prepago o se encuentran estacionados con la tarjeta expirada, en este caso no se incluyen los vehículos estacionados un tiempo menor a 10 minutos. De acuerdo a la fiscalización realizada por parte de los funcionarios de la UMT durante el período de funcionamiento del SERT, determinaron que durante el horario establecido 233 Universidad de Cuenca – Facultad de Ingeniería para el cobro de parqueo, 07h30 a 19h30, existieron un total de 1.472 vehículos en el Centro Histórico y, 412 vehículos en El Arenal que estuvieron estacionados por un tiempo mayor a 10 minutos y que debían tener colocada la tarjeta prepago, correctamente llenada. En conclusión, determinaron que el irrespeto por parte de los usuarios en el Centro Histórico continúa siendo alto (38,7%), mientras que en el sector de El Arenal debido a la reciente implementación del SERT y a la dificultad de regular el estacionamiento vehicular en este sector comercial, el irrespeto es más elevado (54%). Sin embargo, la tasa de irrespeto en el Centro Histórico con respecto a años anteriores, ha ido disminuyendo periódicamente de un 45% a un 42% y actualmente a un 39%. Figura 6.11 234 Universidad de Cuenca – Facultad de Ingeniería COMPARACION DE LAS TASAS DE IRRESPETO SERT EN EL CENTRO HISTORICO 45% 46% 42% 44% 42% 39% 40% 38% 36% Octubre 2005 Enero 2006 Febrero 2006 - Abril 2007 Mayo 2007 Diciembre 2007 Fuente: SERT Figura 6.11 Comparación de la Tasa de irrespeto en los últimos períodos registrados. Utilización del período de exoneración de infracciones de 10 minutos Cada usuario que utilice las plazas de estacionamiento dentro del área de cobertura del SERT tiene un período de diez minutos desde el momento en que el vehículo se estaciona para colocar y llenar la tarjeta prepago, luego de éste tiempo todo vehículo que no tenga colocada la tarjeta prepago en un lugar visible será sujeto a infracción. Al realizar el análisis de la utilización del período de exoneración de multa de 10 dólares dentro del sistema de Estacionamiento Rotativo Tarifado, se verificaron 3.023 vehículos que se encontraron estacionados en un tiempo menor a diez minutos, en el caso del sector El Arenal, se 235 Universidad de Cuenca – Facultad de Ingeniería verificaron 619 vehículos que ocuparon momentáneamente las plazas de estacionamiento del SERT. El valor de la tasa de ocupación momentánea en el Centro Histórico actualmente es del 67% en comparación con la del período anterior que era del 45%, logrando una efectividad en cuanto a lo rotativo del sistema, puesto que el objetivo de la SERT es lograr la menor permanencia por vehículo. Estacionamiento de Vehículos En la Tabla 6.2 se indica la cantidad promedio de vehículos que se parquean diariamente en el Centro Histórico desde las 07h30 hasta las 19h15 en intervalos de 1 hora. Tiempo de Parqueo Inicial - Final 07h30 a 08h30 08h30 a 09h30 09h30 a 10h30 10h30 a 11h30 11h30 a 12h30 12h30 a 13h15 13h30 a 14h30 14h30 a 15h30 15h30 a 16h30 16h30 a 17h30 17h30 a 18h30 18h30 a 19h15 Total Fuente: SERT Cantidad de Vehículos 619 902 1.029 1.089 1.041 826 379 523 616 615 472 340 8.451 Tabla 6.2 Cantidad promedio de vehículos que se parquean diariamente en el Centro Histórico 236 Universidad de Cuenca – Facultad de Ingeniería Tarjetas Vendidas De acuerdo a datos proporcionados por la SERT para el año 2007 se proyectó vender 597.667 tarjetas, por ejemplo: en el mes de enero se vendieron 50.000 tarjetas, en febrero 44.000 y en agosto 50.637 tarjetas. Infracciones Cometidas Se cometen un promedio que fluctúan entre 140 y 170 infracciones diarias, predominando la infracción por tiempo excedido. Recaudación de Infracciones en el año 2007 Las recaudaciones durante el año 2007 correspondientes a infracciones cometidas por los usuarios del Sistema de Parqueo Tarifado, se indican en la Tabla 6.3. Mes Recaudación Enero $ 14.750,50 Febrero $ 11.879,29 Marzo $ 12.632,46 Abril $ 10.943,98 Mayo $ 14.495,27 Junio $ 14.847,63 Julio $ 24.374,00 Agosto $ 25.582,00 Septiembre $ 16.126,00 Octubre $ 18.092,00 Noviembre $ 21.974,00 Diciembre $ 49.770,00 Total $ 235.467,13 Fuente: SERT Tabla 6.3 Recaudación de infracciones en el año 2007 237 Universidad de Cuenca – Facultad de Ingeniería El mes de diciembre es el de mayor recaudación dado que las multas por infracciones se pagan previo a la matrícula, siendo éste mes el que registra mayor número de carros matriculados. Personal que labora en la SERT Actualmente, la SERT tiene un total de 97 empleados desempeñando distintas funciones que ayudan al control y administración del sistema utilizado actualmente. Los empleados que trabajan en la SERT se muestran en la Tabla 6.4. Descripción Digitadoras Digitadoras de depuración Inspectores Centro Histórico Inspectores El Arenal Inspectores que trabajan en motos Inspectores que trabajan en el 911 Supervisores Supervisor de operación Jefe de Unidad Recaudador Cajero Personal de atención al cliente Personal de mantenimiento Personal de recuperación de cartera Secretaria Concerje Guardia de seguridad Total Sueldos (mensual) Fuente: SERT Cantidad Sueldo 4 $ 350 2 $ 400 60 $ 260 Total $ 1.400 $ 800 $ 15.600 12 $ 260 2 $ 270 2 $ 330 4 $ 490 1 $ 660 1 $ 1.100 1 $ 490 1 $ 350 1 $ 400 2 $ 350 1 $ 490 1 $ 490 1 300 1 $ 700 $ 3.120 $ 540 $ 660 $ 1.960 $ 660 $ 1.100 $ 490 $ 350 $ 400 $ 700 $ 490 $ 490 $ 300 $ 700 $ 29.760 Tabla 6.4 Personal que labora en la SERT 238 Universidad de Cuenca – Facultad de Ingeniería 6.4.2 Evaluación Financiera de la solución propuesta La evaluación financiera conlleva la determinación de los recursos necesarios para su implementación y estimar el rendimiento de los recursos que se utilizarán, por lo que es importante analizar algunos aspectos como son las inversiones, costos, gastos e ingresos, en definitiva el flujo de efectivo. Todos estos temas a ser desarrollados permitirán determinar cuan factible resultaría la ejecución del proyecto de Sistema de Parqueo Tarifado Automatizado. Esta solución consiste básicamente en la implementación de las tarjetas RFID y tarjetas con código de barras para el cobro de parqueo. Se ha determinado realizar un sistema híbrido porque siempre existen usuarios que no son frecuentes o usuarios ocasionales a los que no les resulta conveniente adquirir las tarjetas RFID. Estudio de Mercado El estudio de mercado es fundamental en un proyecto, puesto que solamente cuando se conoce el ambiente en el cual la empresa introducirá su nuevo servicio, se podrá prever las condiciones que ésta enfrentará y los resultados que pueden esperarse. Parque Automotor de la ciudad de Cuenca 239 Universidad de Cuenca – Facultad de Ingeniería Al hacer un análisis de la demanda el propósito es determinar el número de vehículos que conforma el parque automotor de la ciudad de Cuenca, con el fin de conocer los ingresos que se obtendrán por la venta de las Tarjetas RFID a los dueños de los vehículos usuarios del Sistema de Parqueo. De esta manera, los datos de los cuales se origina el estudio son los proporcionados por la Jefatura Provincial de Tránsito del Azuay, Tabla 6.5, en donde se indica que el parque automotor de la provincia es de 78.000 vehículos [48]. Vehículos Vehículos PARQUE que faltan por matriculados AUTOMOTOR matricular Cuenca 53.830 8.232 62.062 Gualaceo 7.000 1.070 8.070 Paute 1.324 202 1.526 Girón 5.500 841 6.341 TOTAL 67.654 10.346 78.000 Tabla 6.5. Parque Automotor de la provincia del Azuay En la Tabla 6.5, se puede constatar que el parque automotor del Cantón Cuenca representa el 80% del Parque Automotor de la Provincia del Azuay. Figura 6.12 240 Universidad de Cuenca – Facultad de Ingeniería PARQUE AUTOMOTOR DE LA PROVINCIA DEL AZUAY 80% 70% 80% 60% 50% 40% 30% 10% 20% 8% 2% 10% 0% Cuenca Gualaceo Paute Girón Figura 6.12 Parque Automotor de la Provincia del Azuay Sin embargo, no todo el parque automotor del Cantón Cuenca utiliza el Sistema de Parqueo Tarifado, se deben excluir los vehículos de transporte pesado, transporte público y taxis. De esta manera, la SERT afirma que la cantidad aproximada de vehículos que utilizan este sistema de parqueo en la ciudad de Cuenca corresponde a 30.000. Número de usuarios que adquirirán el dispositivo de acceso al Sistema de Parqueo Tarifado Automatizado El sistema de Parqueo Tarifado propuesto funciona a través de un dispositivo electrónico denominado TAG, el mismo que se instalará en el parabrisas de cada vehículo. Sin embargo, no todos los usuarios usarán esta tarjeta, por lo que es necesario determinar la cantidad de tarjetas con código de barras que se venderán mensualmente. 241 Universidad de Cuenca – Facultad de Ingeniería 1. Tarjetas RFID (TAG) Se estima que en el primer año de implementación del Sistema de Parqueo, únicamente el 50% de los usuarios actuales comprarán el dispositivo. Después se incrementará al 60% y 70%, para el segundo y tercer año de funcionamiento del sistema, respectivamente. Para los siguientes años de análisis se mantiene constante el 70% de usuarios que comprarán este dispositivo. Es necesario tener en cuenta que cada año se considera un incremento del 5% respecto al número de usuarios que utilizarán el Sistema de Parqueo. Este incremento se puede dar por diferentes circunstancias: a. Incremento del parque automotor b. Mayor control en el cobro de parqueo c. Mayor número de usuarios que acceden al sistema De acuerdo a la SERT el número de vehículos que utilizan el Sistema de Parqueo es aproximadamente 30.000 vehículos, en el 2009, de los cuales se proyecta que el 50% utilizará el nuevo sistema de parqueo. En la Tabla 6.6, se indican el número de tarjetas RFID que se venderán durante los años en estudio. 242 Universidad de Cuenca – Facultad de Ingeniería 2009 15.000 2010 3.900 2011 3.150 2012 2013 1.103 16.158 2014 5.116 2015 4.426 2016 2017 2018 2.443 17.565 6.593 Tabla 6.6 Número de tarjetas RFID que se venderán en el Sistema de Parqueo Tarifado propuesto Es importante recalcar que en el año 2009 existe una venta de 15.000 tarjetas porque el 50% de los usuarios acceden al sistema, sin embargo, para los siguientes años únicamente se va a vender las tarjetas en una cantidad proporcional al valor del incremento. Se debe tener en cuenta que la tarjeta tiene una duración de cuatro años, razón por la cual existe un incremento sustancial en los años 2013 y 2017. Es decir, las tarjetas vendidas en el año 2009 terminarán su vida útil en el año 2012, por lo que en el año 2013 nuevamente se debe vender las 15.000 tarjetas adicionales. 2. Tarjetas con código de barras De acuerdo a datos proporcionados por la SERT, el promedio mensual de ventas por tarjetas corresponde a 48.212,33. En la Tabla 4.7, se muestra las proyecciones de la cantidad de tarjetas vendidas anualmente, para los años en estudio. 243 Universidad de Cuenca – Facultad de Ingeniería 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 578.548 607.475 637.849 669.742 703.229 738.390 775.310 814.075 854.779 897.518 Tabla 6.7 Número de tarjetas de parqueo vendidas actualmente por la SERT A partir de la información de la Tabla 6.7, se realizaron las proyecciones para determinar la cantidad de tarjetas con código de barras que se venderán con la utilización del Sistema de Parqueo propuesto. De esta manera, se determinó que el número de tarjetas que se venderán corresponden al 50%, 40% y 30%, para el primero, segundo y tercer año, respectivamente. Para los siguientes años se mantiene constante en un 30%. Tabla 6.8. 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 289.274 242.990 191.355 200.922 210.969 221.517 232.593 244.223 256.434 269.255 Tabla 6.8 Número de tarjetas con código de barras para el sistema de parqueo propuesto Proyecciones de precio de las tarjetas RFID y costos de las tarjetas con código de barras. De acuerdo al estudio realizado para determinar el número de tarjetas RFID y tarjetas con código de barras necesarias para la implementación de la solución propuesta y, tomando en cuenta los análisis de precios 244 Universidad de Cuenca – Facultad de Ingeniería realizados en el capítulo 4, se consideró que el costo de adquisición de las tarjetas RFID es de USD $1,14, incluido costos de transporte y derechos arancelarios, a este valor se le agrega un incremento del 25% para la venta de las tarjetas al usuario final. Para las tarjetas con código de barras el costo estimado es de USD $0,10 cada una. Además, se ha considerado un incremento anual de los precios de las tarjetas del 3% (tasa promedio de inflación) para los años en estudio. En la Tabla 6.9, se muestra la proyección de los precios de venta incluído el IVA de las tarjetas RFID, para los años 2009 al 2018. 2009 $ 1,60 2010 2011 2012 $ 1,65 $ 1,70 $ 1,75 2013 2014 2015 2016 2017 2018 $ 1,80 $ 1,85 $ 1,90 $ 1,95 $ 2,00 $ 2,10 Tabla 6.9 Proyecciones de precios para las Tarjetas RFID 245 Universidad de Cuenca – Facultad de Ingeniería En la Tabla 6.10, consta el costo de adquisición de las tarjetas con código de barras. 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 $ 0,10 $ 0,10 $ 0,11 $ 0,11 $ 0,11 $ 0,12 $ 0,12 $ 0,12 $ 0,13 $ 0,13 Tabla 6.10 Proyecciones del costo de las Tarjetas con Código de Barras Transferencia de información En el sistema de Parqueo Tarifado Automatizado cada ocasión que el inspector realiza la lectura de la tarjeta RFID del vehículo, debe enviar al servidor central el número de identificación del dispositivo, el cual permite recuperar de la base de datos la información del vehículo: placa, marca, modelo, color, tipo de vehículo y el tiempo disponible para el estacionamiento. En base a esto, se realizó un análisis de las diferentes operadoras que prestan este servicio, Capítulo 5, determinándose que la empresa de telefonía móvil TELECSA S.A. (Alegro PCs) ofrece una tecnología muy eficiente, robusta y con precios convenientes para el transporte de datos. Se estima que la información enviada por cada inspector tiene un tamaño aproximado de 20kb cuando realiza únicamente 246 Universidad de Cuenca – Facultad de Ingeniería consultas, sin embargo, el tamaño incrementa a 40kb cuando el inspector registra la infracción, debido principalmente a la fotografía del vehículo. De esta manera, considerando el total de vehículos con tarjetas RFID y la cantidad de información que se transmite mensualmente, es necesario contratar un plan de USD $61,61 más IVA, el mismo que permite una transferencia de hasta 1000MB mensuales. En la Tabla 6.11, se muestra la cantidad de información promedio que se transfiere mensualmente. 2009 755 Mb 2010 2011 2012 2013 793 Mb 833 Mb 874 Mb 918 Mb 2014 2015 2016 2017 2018 964 Mb 1012 Mb 1063 Mb 1116 Mb 1172 Mb Tabla 6.11 Cantidad de información (en Mb) transferida mensualmente por cada PDA. A las cantidades de la Tabla 6.11, es necesario agregar la cantidad en MB por la transferencia de información cuando se registran infracciones. Sin embargo, este valor es mínimo porque en promedio se tienen 170 infracciones al mes, las mismas que tienen un tamaño de información de 40kb por la fotografía. De esta manera, aproximadamente se transfiere mensualmente de 4,6Mb por inspector. 247 Universidad de Cuenca – Facultad de Ingeniería Flujo de Efectivo El Flujo de Efectivo es una herramienta financiera que se utiliza para evaluar proyectos, en él se describen todos los ingresos así como todos los egresos relacionados con la actividad del negocio. Para la elaboración del flujo se debe establecer la vida útil del mismo. 1. Ingresos Los ingresos más relevantes en un proyecto, se derivan de la venta de un bien o servicio ofertado. Resultando indispensable estipular el ingreso promedio anual que se obtiene por la venta de tarjetas RFID y venta de tarjetas con código de barras. Se estima percibir cinco entradas de dinero: la primera, obedece al valor que deben pagar por el dispositivo que permite el ingreso al sistema (tarjeta RFID); la segunda, corresponde al ingreso por la venta de tarjetas con código de barras; la tercera, pertenece a la recaudación obtenida por cobro de parqueo de los usuarios que utilizan la tarjeta RFID; cuarta, los ingresos que se perciben por las infracciones cometidas por los usuarios y, sexto los ingresos obtenidos por el cobro de lugares reservados. 248 Universidad de Cuenca – Facultad de Ingeniería Es sustancial destacar que las tarjetas RFID tienen una vigencia de 4 años, por lo que al término de este período los usuarios deberán nuevamente gastar en el dispositivo. 2. Egresos En el primer año del proyecto se considera la inversión realizada en los equipos para la implementación del Sistema propuesto. Las inversiones del proyecto son todos los costos y gastos que se efectúan a través del tiempo, con el objeto de generar ingresos. Entre los principales rubros de inversión para el proyecto son los que se refieren a equipamiento, los mismos que se muestran en la Tabla 6.12. Cantidad 1 36 36 1 1 Total Descripción Servidor PDA Licencias Software PDA Licencias Software Servidor Cableado Estructurado Precio Unitario Precio Total $ 4.000,00 $ 4.000,00 $ 2.200,00 $ 79.200,00 $ 200,00 $ 7.200,00 $ 5.000,00 $ 5.000,00 $ 600,00 $ 600,00 $ 12.000,00 $ 96.000,00 Tabla 6.12 Costos de inversión Además, es importante considerar las erogaciones generadas por la compra de las tarjetas RFID y tarjetas con código de barras, transferencia de datos, valores por los servicios de enlace y renta de equipo, así como aquellas de carácter 249 Universidad de Cuenca – Facultad de Ingeniería operativo: seguros de equipos, sueldos, soporte técnico y publicidad. Una vez analizado los ingresos y egresos de efectivo generados en la implementación del Sistema de Parqueo propuesto, se realizó el Flujo de Efectivo. Tabla 6.13 250 Capítulo VI . Análisis económico-financiero del sistema de Estacionamiento Rotativo Tarifado actual y propuesto. Tabla 6.13 Flujo de Efectivo del Sistema de Parqueo propuesto 251 Universidad de Cuenca – Facultad de Ingeniería Indicadores de Evaluación del proyecto El propósito fundamental de este proyecto es brindar un mejor servicio y bienestar al usuario, ya que además de una atención constante a las obras de señalización horizontal y vertical, se pretende reducir los problemas de falsificación de tarjetas y, la tasa de irrespeto de los vehículos que utilizan las plazas de estacionamiento. Este sistema permite mantener un control en línea de los vehículos estacionados e infracciones cometidas. Con este fin, se han utilizado los principales indicadores de evaluación de proyectos: el Valor Actual Neto (VAN) y, la Tasa Interna de Retorno (TIR) permitiendo establecer la factibilidad de ejecución del sistema de parqueo propuesto. El Valor Actual Neto calcula la diferencia entre los beneficios y los costos, ambos expresados en valor actual. Nuestro estudio contempla una tasa de descuento del 7% debido a que la tasa de inversión del dinero en pólizas está entre el 6% y 7%. El propósito del VAN es actualizar todos los flujos futuros al período inicial y compararlos para verificar si los beneficios son mayores que los costos. Si los beneficios actualizados son mayores que los costos actualizados, significa que la rentabilidad del proyecto es mayor que la tasa de descuento, por lo tanto es conveniente invertir en esta alternativa. 252 Universidad de Cuenca – Facultad de Ingeniería La Tasa interna de retorno (TIR) se define como aquella tasa de ganancia implícita, a la que se descuenta el valor de los futuros flujos de caja netos esperados igualándolos con el desembolso inicial de la inversión. La TIR en un proyecto muestra al inversionista la tasa de interés máxima a la cual debe contraer préstamos, sin que incurra en futuros fracasos financieros. Es decir se busca aquella tasa que iguale a la inversión inicial, obteniendo una tasa que haga el VAN igual a cero. El VAN del proyecto a 10 años es positivo, USD $893.052. Esto implica que los ingresos del proyecto compensan la inversión y gastos que realizan cada año. Los egresos generados no son significativos frente a la posibilidad de generación de recursos, por lo que el proyecto se considera factible financieramente. Cabe destacar que dependiendo del costo del dispositivo, el número de personas que lo compran se modifica, lo que haría vulnerable a la obtención de rendimientos para la Empresa. La TIR representa la Utilidad media del dinero empleado en el proyecto durante su vida útil, en este caso indica que si el proyecto se realiza se obtendrá un rendimiento del 64%. Sin 253 Universidad de Cuenca – Facultad de Ingeniería embargo, se deberá tener en cuenta que puede suscitarse algunos factores externos que afecten el rendimiento a obtenerse. 254 Universidad de Cuenca – Facultad de Ingeniería CAPITULO VII CONCLUSIONES Y RECOMENDACIONES 7.1 Conclusiones Tras llevar a cabo los estudios de mercado, técnico y financiero se evaluó como favorable la implementación del Sistema de Parqueo Tarifado propuesto, no tan solo en términos de rentabilidad sino como aporte a la comunidad y de beneficio social. La propuesta se basa en las siguientes características fundamentales: 9 Considerando que en esta década, el mundo de los datos ha evolucionado de la arquitectura cliente servidor a la arquitectura orientada al servicio (SOA) permitió la creación de servicios y aplicaciones que pueden existir con independencia de las tecnologías subyacentes. Y conjuntamente con la aparición de la arquitectura SOA, también ha emergido protocolos basados en XML de alto nivel para servicios de interoperación y administración, colectivamente llamados Servicios Web. Entonces se realizó un enfoque sobre la Arquitectura de Software que se utilizó en la solución, donde se destaca la importancia de los servicios web, como un modelo de programación para comunicación entre aplicaciones. 255 Universidad de Cuenca – Facultad de Ingeniería 9 Las tarjetas con Identificación por Radiofrecuencia (RFID), constituyen una nueva tecnología de captura de datos, que utilizan etiquetas dotadas de un microchip y un circuito impreso a modo de antena. Estas tarjetas tienen muchas aplicaciones y han sido utilizadas en diferentes países debido principalmente a que no requiere línea de visión entre el lector y la etiqueta para intercambiar datos; su utilización permite disponer de un sistema seguro; el mantenimiento y conservación de las etiquetas RFID son sencillas para el usuario, no requiere de cuidados especiales, no es afectada por el frío, el calor ni la lluvia. Adicionalmente debe destacarse que las etiquetas RFID pueden soportar múltiples lecturas simultáneas lo que facilita la instalación de sistemas de lectura automática que no dependan del factor humano. 9 El Sitio Web y la base de datos permiten administrar y gestionar los datos del Sistema de Parqueo Tarifado, de tal manera, que se proporcione un acceso fácil y eficiente a los usuarios y a los funcionarios de la SERT, a una serie de recursos y servicios. Los usuarios podrán realizar consultas para conocer el tiempo disponible en 256 Universidad de Cuenca – Facultad de Ingeniería la tarjeta y las infracciones cometidas. Los funcionarios de la SERT tendrán información de los vehículos estacionados e infracciones cometidas. 9 El Sistema de Parqueo propuesto proporciona ventajas competitivas para la Unidad del Sistema de Estacionamiento Rotativo Tarifado y para los usuarios: Al utilizar las tarjetas RFID y la telefonía celular se puede conseguir que el usuario pague exactamente el valor por el tiempo de parqueo. A la SERT le permite tener información en tiempo real sobre el número de vehículos estacionados, el número de infracciones cometidas y, proveer información transparente y oportuna sobre las recaudaciones del Sistema de Parqueo Tarifado para los directivos. La evaluación financiera demuestra que la inversión es recomendable, en virtud de que el valor actual neto a la tasa de corte del 7% es de USD $936.567 y la tasa interna de retorno en el orden del 65%, rentabilidad significativa en comparación a rendimientos que se pueden obtener en otras alternativas de similar riesgo. 9 257 Universidad de Cuenca – Facultad de Ingeniería 9 Uno de los inconvenientes que se presentó al implementar el prototipo fue que no se disponía de un lector RFID incorporado en la PDA, pero se disponía de un lector RFID de escritorio con puerto serial. Para solucionar este problema se tuvo que realizar la comunicación con el lector a través de un software desarrollado para una PC con Windows, que obtiene mediante una conexión serial (COM5), una ráfaga de caracteres, que la clase rfid.cs se encarga de realizar la validación, mientras que el formulario principal ejecuta la tarea de envío de una sola vez del código RFID a la PDA, esto usando una conexión TCP dentro de un thread (hilo)2, que se opera de manera continua pulsando el botón Iniciar. La casilla para código RFID recibe el código enviado por el lector, y a su vez reenviado a la PDA, mientras que la casilla Estado muestra el avance del proceso y la confirmación de la recepción por parte del pocket PC. 2 Un hilo de ejecución es una característica que permite a una aplicación realizar varias tareas concurrentemente, de esta manera, un hilo representa un proceso individual ejecutándose en un sistema. Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente. 258 Universidad de Cuenca – Facultad de Ingeniería 9 No se pudo implementar un aplicativo IVR para el sistema de Parqueo Tarifado que nos permita realizar consultas sobre la base de datos, recolectar información de la llamada vía tonos DTMF, ofrecer un menú con saludos de bienvenida, enrutar la llamada de acuerdo a la selección realizada, reproducir grabaciones de mensajes y especialmente registrar y controlar el tiempo de parqueo porque se necesitaba comprar una tarjeta para servicios de voz, cuyo precio estaba alrededor de USD $ 4.850,00. Para solucionar este problema en forma parcial se implementó un servicio SMS, donde se utilizó como módem un teléfono celular marca Motorola RAZR V3; este aplicativo permite al usuario básicamente registrar y controlar el tiempo de parqueo 9 Con la finalidad de poder desplegar la información geográfica a través de Internet o una Intranet de los vehículos que utilizan el parqueo tarifado de la ciudad de Cuenca, se utilizó el software AspMap for .NET versión 4.0.2, disponible en Internet con una licencia temporal de 45 días. Se prefirió este programa porque trabaja con ASP.NET y permite relacionar en forma automática datos del mapa con la base de datos. 259 Universidad de Cuenca – Facultad de Ingeniería 9 En la ciudad de Cuenca en los próximos meses se va a implementar por parte de la Cámara de Transporte Urbano un Sistema de Red Inteligente para su control, donde los usuarios realizarán sus transacciones utilizando una tarjeta RFID. De ahí la importancia de haber considerado en el proyecto de Parqueo Tarifado los tags RFID, porque en caso de que en algún momento se pudiera hacer realidad esta solución, lo que se tendría que hacer es adecuar las tarjetas RFID del transporte público al parqueo tarifado. Como podemos darnos cuenta, poco a poco se irá masificando el uso de la tecnología RFID en nuestro medio. 7.2 Recomendaciones Se recomienda la implementación del Sistema de Parqueo Tarifado Automatizado en una primera fase, utilizando tarjetas de Identificación de Radio Frecuencia (RFID) y tarjetas con código de barras. De tal manera, que se genere una cultura de pago por el tiempo de parqueo utilizado y hasta que todas las personas adquieran las tarjetas RFID. 260 Universidad de Cuenca – Facultad de Ingeniería Realizar una campaña permanente de publicidad para incrementar el número de demandantes de las tarjetas RFID, resaltando sus beneficios tales como: el pago justo de la tarifa en función del tiempo exacto de parqueo, recarga predeterminados, de estas facilidad de tarjetas en sitios comunicación de tiempos adicionales de utilización del parqueo a través de mensajes de celular, notificación al usuario de que ha concluído el tiempo de parqueo y otros que podrían ser incorporados. Delinear las políticas y normas adecuadas que permitan la instauración y desarrollo del sistema, cumpliendo con los objetivos para los cuales esta predestinado. Es totalmente procedente que al contar con los costos de operación y mantenimiento definitivos se lleve a cabo una evaluación financiera actual, que refleje con mayor exactitud los indicadores de rentabilidad del proyecto, sin embargo cualquier actualización debe tener como guía esta investigación ya que esta denota resultados económicos y financieros muy bien sustentados. 261 Universidad de Cuenca – Facultad de Ingeniería Se recomienda que la toma de decisiones no se someta tan solo a las ganancias sino que debe considerar un sin número de factores inherentes a un proyecto de impacto social, tales como, el incremento del parque automotor, tasas inflacionarias y capacidad económica de los usuarios. 262 Universidad de Cuenca – Facultad de Ingeniería BIBLIOGRAFIA [1] Diario electrónico Hoy. “Riobamba tendrá parqueo tarifado”, http://www.hoy.com.ec/NoticiaNue.asp?row_id=228245, última actualización febrero 2008. [2] Diario electrónico El Heraldo de Ambato. “Parqueo Tarifado aprobado en primera”, http://www.elheraldo.com.ec/index.php?fecha=2006-10-19&seccion=Ciudad&noticia=15791, última actualización febrero 2008. [3] ParkMobile. “Alternative paying by vouchers”, http://www.parkmobile.gr/EngPm_alternative.htm, última actualización febrero 2008. [4] RoadTraficc-Technology. “Parkmobile - Comprehensive Electronic Parking Management Systems”, http://www.roadtraffic-technology.com/contractors/parking/park/, última actualización febrero 2008. [5] Publicación técnica “Smart City Parking Management.pdf”, http://www.arrowlink.com/documents/sc/smartcity-parking.pdf, última actualización octubre 2006. [6] Desarrollo Web. “Usabilidad y arquitectura del software”, www.desarrolloweb.com/articulos/1622.php, última actualización febrero 2008. [7] Fco. Javier Ceballos, “Enciclopedia de Microsoft Visual C#”, Editorial Alfaomega, primera edición, julio 2006. [8] Publicación técnica “Aplicaciones en capas”, http://oness.sourceforge.net/proyecto/html/ch03s02.html, última actualización febrero 2008. [9] Publicación técnica “Programación por capas”, http://es.wikipedia.org/wiki/Arquitectura_de_tres_niveles , última actualización febrero 2008. [10] IBM. Publicación técnica “Conozca SOA”, http://www-306.ibm.com/ebusiness/la/ar/soa_site/soa_2.shtml, última actualización febrero 2008. [11] Publicación técnica “Arquitectura orientada a servicios”, http://es.wikipedia.org/wiki/Arquitectura_orientada_a_servicios, última actualización febrero 2008. [12] Publicación técnica “Everis.pdf”, http://www.aulesempresa.upc.edu/programes/everis.pdf, última actualización febrero 2008. [13] Publicación técnica. “Página Web”, http://es.wikipedia.org/wiki/P%C3%A1gina_web, última actualización febrero 2008. [14] Publicación técnica. “Hypertext Transfer Protocol”, http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol, última actualización febrero 2008. 263 Universidad de Cuenca – Facultad de Ingeniería [15] Publicación técnica. “Servidor Web”, http://es.wikipedia.org/wiki/Servidor_web, última actualización febrero 2008. [16] Publicación técnica. “Sitio web”, http://es.wikipedia.org/wiki/Sitio_web, última actualización febrero 2008. [17] Publicación técnica. “Microsoft Visual Web Developer”, http://es.wikipedia.org/wiki/Microsoft_Visual_Web_Developer, última actualización febrero 2008. [18] Maestros del Web. “Qué es el ASP”, http://www.maestrosdelweb.com/editorial/aspintro, última actualización noviembre 2007. [19] Publicación técnica. “ASP.NET”, http://es.wikipedia.org/wiki/ASP.NET, última actualización febrero 2008. [20] Mozilla Developer Center. “Servicios Web XML”, http://developer.mozilla.org/es/docs/Servicios_Web_XML, última actualización febrero 2008. [21] Publicación técnica. “Servicio Web”, http://es.wikipedia.org/wiki/Servicio_Web, última actualización febrero 2008. [22] W3C Consortium. “Guía Breve de Servicios Web”, http://www.w3c.es/Divulgacion/Guiasbreves/ServiciosWeb, última actualización febrero 2008. [23] Diccionario Informático. “Definición de SOAP”, http://www.alegsa.com.ar/Dic/soap.php, última actualización febrero 2008. [24] Publicación técnica. “Protocolo simple de acceso a objetos (SOAP)”, http://www.monografias.com/trabajos29/protocolo-acceso/protocolo-acceso.shtml, última actualización febrero 2008. [25] Publicación técnica. “SOAP, WSDL, UDDI y Web Services”, http://webservices.bankhacker.com, última actualización octubre 2007. [26] Publicación técnica. “Sistema de Información Geográfica”, http://es.wikipedia.org/wiki/Sistema_de_Informaci%C3%B3n_Geogr%C3%A1fica, última actualización febrero 2008. [27] Publicación técnica. “Base de datos”, http://es.wikipedia.org/wiki/Base_de_datos, última actualización febrero 2008. [28] Escuela Politécnica Nacional. “XXI Jornadas en Ingeniería Eléctrica y Electrónica”, Volumen No. 21, Anales Noviembre de 2007. [29] Publicación técnica. “Comandos modems GSM/GPRS”, http://www.pcdemano.com/phpBB2/phpBBToGo/thread.php?topic_id=15344, última actualización febrero 2008. 264 Universidad de Cuenca – Facultad de Ingeniería [30] Publicación técnica. “Envío de Mensajes SMS y Lectura de los Mensajes Almacenados en C# 2.0”, http://www.elguille.info/colabora/NET2006/mauro_melgar_envio_sms.htm, última actualización febrero 2008. [31] Publicación técnica “Abr_07_Evolucion_RFID.pdf”, http://www.sinel.com/esp/rfid/Abr_07_Evolucion_RFID.pdf, última actualización febrero 2008. [32] MiPalm. “Workabout Pro (Short)”, http://www.mipalm.com/shop/products_new.php?osCsid=e39f92db0d5d0319460b45bf07a40 027, última actualización febrero 2008. [33] ZeitControl. “TagTracer Desktop / OEM 125 Khz”, http://www.transponder.de/ttdtmulti_e.htm, última actualización febrero 2008. [34] ZeitControl. “Transponder / RFID”, http://www.transponder.de/rfid_e.htm, última actualización febrero 2008. [35] ZeitControl. “Transponder / RFID”, http://www.transponder.de/orderon_e.htm, última actualización agosto 2007. [36] Smart Card World. “Mifare Classic 4K White PVC Cards”, http://www.smartcardworld.com/mifare1k.htm, última actualización agosto 2007. [37] MiPalm. “Scanner 1D xMod SE1223 High Performance”, http://www.mipalm.com/shop/product_info.php?cPath=114_115&products_id=135&osCsid=e 39f92db0d5d0319460b45bf07a40027, última actualización febrero 2008 [38] MiPalm. “Scanner imagen, 1D E1022”, http://www.mipalm.com/shop/product_info.php?cPath=114_115&products_id=134&osCsid=e 39f92db0d5d0319460b45bf07a40027, última actualización febrero 2008 [39] Colegio Oficial de Ingenieros de Telecomunicación. Publicación Técnica “Guías fáciles de las TIC”, http://nt.paginasamarillas.es/descargas/pdf/gps_guia.pdf, última actualización febrero 2008 [40] Bluetooth SIG, “Bluetooth Specification”, http://www.bluetooth.com, última actualización agosto 2007. [41] PriceMinister. “Holux Gr-236 Receptor Gps Bluetooth”, http://www.priceminister.es/offer/buy/22634247/Holux-Gr-236-Receptor-Gps-BluetoothReceptores-GPS.html#info, última actualización agosto 2007. [42] MundoPDA. “GPS Bluetooth GNS 5843 TMC/RSD”, http://www.mundopda.com/cgibin/generar.exe?tienda=0005&categoria=0152&prod_id=0005GNSTMCGP00, última actualización agosto 2007. [43] MundoPDA. “GPS Fortuna Slim -Edición Pro-“, http://www.mundopda.com/cgibin/generar.exe?tienda=0005&categoria=0196&prod_id=0005GPSFOSL001, última actualización agosto 2007. 265 Universidad de Cuenca – Facultad de Ingeniería [44] AreaPc “gps route66 receptor bluetooth”, http://www.areapc.com/gps_route66_receptor_bluetooth_10426406_p.html, última actualización agosto 2007. [45] Teleco. Publicación Técnica “Generaciones de Sistemas Celulares”, http://www.teleco.com.br/es/es_tecnocel.asp, última actualización febrero 2008. [46] Instituto Técnico de Buenos Aires, Publicación Técnica “Comparación de los Standards CDMA para sistemas de comunicaciones móviles de tercera generación”, http://www.itba.edu.ar/capis/epg-tesis-y-tf/cortes-trabajo-final, última actualización febrero 2008. [47] Informe de Fiscalización operativa del Sistema Estacionamiento Rotativo Tarifado (SERT), 31 de diciembre de 2007. [48] Jefatura Provincial de Tránsito del Azuay, “Vehículos matriculados en la provincia del Azuay”, enero 2008. [49] Diseño de una solución Telemática para el Sistema de Parqueo Tarifado de la Ciudad de Cuenca. Subtema : Estudio de las diferentes alternativas tecnológicas e implementación del prototipo, Ing. Patricio Pesantez S., 2008. 266 Universidad de Cuenca – Facultad de Ingeniería ACRÓNIMOS 2G Second Generation 3G Third Generation AT ATtention command BTS Base Transceiver Station CAD Computer Aided Design CDMA Code Division Multiple Access DGPS Differential GPS EAN European Article Number EDGE Enhanced Data rates for GSM Evolution EEPROM Electrically Erasable Programmable Read Only Memory EVDO Evolution Data Optimized FTP File Transfer Protocol GIS Geographic Information System GLONASS GLObal NAvigation Satellite System GPRS General Packet Radio Service GPS Global Positioning System GSM Global System for Mobile Communications HF High Frequency HSDPA High Speed Downlink Packet Access HTML HyperText Markup Language HTTP Hypertext Transfer Protocol ISP Internet Service Provider 267 Universidad de Cuenca – Facultad de Ingeniería IVR Interactive Voice Responder LAN Local Area Network MAN Metropolitan Area Network MMS Multimedia Messaging System PAN Personal Area Network PDA Personal Digital Assistant RF Radio Frequency RFID Radio Frequency Identification SERT Sistema de Estacionamiento Rotativo Tarifado SMS Short Message Service SQL Structured Query Language SOA Service Oriented Architecture SOAP Simple Object Access Protocol TIR Tasa Interna de Retorno UCT Universal Coordinated Time UHF Ultra High Frequency UPC Universal Product Code UTMS Universal Mobile Telecommunications System VAN Valor Actual Neto WCDMA Wideband Code Division Multiple Access WLAN Wíreless LAN WPAN Wíreless Personal Area Networks WWAN Wireless Wide Area Network XML Extensible Markup Language 268 Universidad de Cuenca – Facultad de Ingeniería Anexo 1 Diagrama de Base de Datos del Sistema de Estacionamiento Rotativo Tarifado implementado en el prototipo. T a rje t a s PK id R fid F e c h a T a rj e ta s T ie m p o T a rje t a s P re p a g o T a rje ta s E s ta d o T a rje ta s In s p e c t o r PK C edIns pec tor N o m In s p e c t o r D irIn s p e c t o r T e lIn s p e c t o r P a rq u e o P K ,F K 1 PK D e t a lle R F ID P K,F K 1 PK F e c h a D e t a lle R F I D C o d T ip o T ie m p o V a lo rD e ta lle R F ID T ie m p o D e t a lle R F I D O b s e rv a c io n e s D e t a lle R F I D FK2 id R fid S e c u e n c ia P a rq u e o F e c h a P a rq u e o H o ra In ic io P a rq u e o H o ra F in P a rq u e o T e le f o n o P a rq u e o E s t a d o P a rq u e o T ie m p o P a rq u e o L a t it u d P a rq u e o L o n g it u d P a rq u e o C o d i g o R F ID I te m D e ta ll e R F I D C o d In s p e c to r I n fra c c io n PK U s u a rio PK Id U s u a rio N o m U s u a rio D irU s u a rio T e lU s u a rio V e h ic u lo T ip o T ie m p o PK PK P la V e h i c u l o FK2 FK 1 FK3 FK2 C o lV e h ic u lo C o d M o d e lo C o d T ip o V e h ic u l o C o d R fid C o d M a rc a id U s u a rio C o d T ip o T ie m p o D e s c rip c i o n M a rc a PK C o d M a rc a C o d M a rc a C o d M o d elo N o m M a rc a F e c D e te c tI n fra c c io n N u m S e llo In f ra c c io n H o ra D e t e c In fra c c io n H o ra In te rI n fra c c io n H o ra T a rjV e n c I n fra c c io n O b s e rv a c io n e s I n fra c c io C o d I n s p e c to r C o d T ip o In f ra c c io n P la V e h ic u lo la t it u d lo n g it u d V a lo r E s tado F otos P K,F K 1 PK M o d e lo P K ,F K 1 PK FK3 FK1 FK2 N u m In fra c c io n T ip o V e h ic u lo PK C o d T ip o V e h ic u l o N u m In fra c c io n N u m F o to F oto D e s c F o to T ip o I n fra c c io n PK C o d T i p o I n fra c c i N o m T ip o I n fra c c io V a lT ip o I n f ra c c io n I n t e T ip o In fra c c io n N o m T ip o V e h ic u lo N o m M o d e lo 269