UNIVERSIDAD TÉCNICA DEL NORTE

Tamaño: px
Comenzar la demostración a partir de la página:

Download "UNIVERSIDAD TÉCNICA DEL NORTE"

Transcripción

1 UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES TRABAJO DE GRADO, PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN SISTEMAS COMPUTACIONALES TEMA: Diseñ e implementación de un sistema web ge-referenciad para la lcalización y análisis de infrmación en tiemp real de vehículs, utilizand sftware libre y cartgrafía editable. AUTOR: DIRECTORA: Gal Javier Pule Revel Ing. Nancy Cervantes Ibarra Ecuadr 2013

2 II

3 CERTIFICACIÓN En calidad de Directra del Trabaj de Grad, titulad: DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA WEB GEO-REFERENCIADO PARA LA LOCALIZACIÓN Y ANÁLISIS DE INFORMACIÓN EN TIEMPO REAL DE VEHÍCULOS, UTILIZANDO SOFTWARE LIBRE Y CARTOGRAFÍA EDITABLE, del señr egresad Gal Javier Pule Revel, prtadr de la cédula de identidad , dy fe que el mencinad Trabaj reúne ls requisits y mérits suficientes para ser smetid a la presentación y evaluación pr parte del Jurad Calificadr, previ a la btención del Títul de Ingenier en Sistemas Cmputacinales, realizándl cn interés prfesinal y respnsabilidad, l cual certific en hnr a la verdad. Ing. Nancy Cervantes DIRECTORA DEL TRABAJO DE GRADO III

4 IV

5 CERTIFICADO DE CESIÓN DE DERECHOS DE AUTOR Ibarra, a ls 10 días del mes de abril del Y, Gal Javier Pule Revel, cn cédula de identidad Nr , manifiest mi vluntad de ceder a la Universidad Técnica del Nrte ls derechs patrimniales cnsagrads en la Ley de Prpiedad Intelectual del Ecuadr, artículs 4, 5, 6, en calidad de autr del Trabaj de grad denminad: Diseñ e implementación de un sistema web ge-referenciad para la lcalización y análisis de infrmación en tiemp real de vehículs, utilizand sftware libre y cartgrafía editable, que ha sid desarrllad para ptar pr el Títul de Ingenier en Sistemas Cmputacinales, en la Universidad Técnica del Nrte, quedand la Universidad facultada para ejercer, plenamente, ls derechs cedids, anterirmente. En mi cndición de autr, me reserv ls derechs mrales de la bra antes citada, aclarand que el trabaj de Grad, es de mi autría y que n ha sid presentad para ningún grad calificación prfesinal. En cncrdancia, suscrib este dcument en el mment que hag entrega del Trabaj Final en frmat impres y digital a la Bibliteca de la Universidad Técnica del Nrte. Gal Javier Pule Revel C.I V

6 VI

7 AUTORIZACIÓN DE USO Y PUBLICACIÓN A FAVOR DE LA UNIVERSIDAD TÉCNICA DEL NORTE 1. IDENTIFICACIÓN DE LA OBRA La Universidad Técnica del Nrte, dentr del pryect de Repsitri Digital Institucinal, determina la necesidad de dispner de texts cmplets en frmat digital cn la finalidad de apyar ls prcess de investigación, dcencia y extensión de la Universidad. Pr medi del presente dcument, dej sentada mi vluntad de participar en este pryect, para l cual png a dispsición la siguiente infrmación: DATOS DE CONTACTO CÉDULA DE IDENTIDAD: NOMBRES: Gal Javier Pule Revel DIRECCIÓN: Rí Chimb 2-95 y Pastaza, Cdla. Ls Ceibs TELÉFONO FIJO: TELÉFONO MÓVIL: DATOS DE LA OBRA TÍTULO: Diseñ e implementación de un sistema web ge-referenciad para la lcalización y análisis de infrmación en tiemp real de vehículs, utilizand sftware libre y cartgrafía editable AUTOR: Gal Javier Pule Revel FECHA: SOLO PARA TRABAJOS DE GRADO PROGRAMA: X PREGRADO POSTGRADO TÍTULO POR EL QUE INGENIERO EN SISTEMAS COMPUTACIONALES OPTA: ASESORA/DIRECTORA: ING. NANCY CERVANTES VII

8 2. AUTORIZACIÓN DE USO A FAVOR DE LA UNIVERSIDAD Y, Gal Javier Pule Revel, cn cédula de identidad Nr , en calidad de autr y titular de ls derechs patrimniales del Trabaj de Grad, descrit anterirmente; hag entrega del ejemplar respectiv en frmat digital y autriz a la Universidad Técnica del Nrte, la publicación del trabaj en el Repsitri Digital Institucinal y us del archiv digital en la Bibliteca de la Universidad, cn fines académics, para ampliar la dispnibilidad del material y cm apy a la educación, investigación y extensión; en cncrdancia cn la Ley de Educación Superir en su Artícul 143. Firma: Nmbres y apellids: GALO JAVIER PULE REVELO Cédula: Ibarra, a ls 10 días del mes de abril del VIII

9 DEDICATORIA A mi madre, Mariana. Pr haber sid la persna que me di la vida, pr haber luchad incansablemente día a día, sin excepción para que y sea un buen hmbre, aquella persna que me ha dad infinit amr. A mi padre, Gal. Pr haber sid un mdel de hmbre, inculcándme siempre ls buens valres a través de su ejempl, de hmbre respnsable y de carácter fuerte que me ha permitid ser un hmbre de bien, y pr su amr incndicinal. A mi hij, Rmmelit, quien también me ha mtivad para ser mejr y llegar a culminar mi sueñ de ser un prfesinal capaz y eficiente; y darle el ejempl para que en el futur sea una persna adrnad cn valres mrales y étics al servici de la sciedad. IX

10 AGRADECIMIENTOS Agradezc a la Ing. Nancy Cervantes que ha sabid cnfiar en mi persna, pr la paciencia y pr la aceptación de la dirección de este Trabaj de Grad; al Ing. Enver Jarrín que ha sid el generadr de la idea y asesr extern del desarrll del sistema. A mis padres, pr haberme apyad durante td el desarrll del Trabaj de Grad y pr haberme presinad a cada mment. A mi herman Fabrici pr haberme apyad, dad ánims y pr haberme hech escger esta hermsa Carrera. A mis familiares pr creer en mí que han sid, también, fuente de inspiración para lgrar este Trabaj. Gracias, a tdas las persnas que directa indirectamente fuern partícipes de la realización de este Trabaj de Grad. Muchas gracias! X

11 ÍNDICE DE CONTENIDOS CERTIFICACIÓN... III CERTIFICADO DE CESIÓN DE DERECHOS DE AUTOR... V AUTORIZACIÓN DE USO Y PUBLICACIÓN... VII DEDICATORIA... IX AGRADECIMIENTOS... X ÍNDICE DE CONTENIDOS... XI ÍNDICE DE ILUSTRACIONES... XIII ÍNDICE DE TABLAS... XV RESUMEN... XVI ABSTRACT... XVIII INTRODUCCIÓN... 1 El Prblema... 3 Antecedentes... 3 Situación actual... 4 Prspectiva... 6 Resumen... 7 Objetivs... 7 Objetiv principal... 7 Objetivs específics... 7 Alcance del Pryect... 8 Esquema general del sistema... 9 Arquitectura funcinal del sistema Limitacines Justificación del Pryect Justificación de las herramientas de desarrll de sftware Justificación de la metdlgía de desarrll de sftware CAPÍTULO I Marc Teóric Cncepts previs Qué es un sistema web ge-referenciad? Cóm se representa la infrmación en un sistema web ge-referenciad? Servidr web y cntenedr de servlets Apache Tmcat Estructura de directris Implementación de una aplicación web Sistema de gestión de base de dats PstgreSQL + PstGIS Características y cumplimient de nrmas PstGIS Platafrma de prgramación Java Enterprise Editin Arquitectura de tres capas Arquitectura Mdel Vista Cntrladr Platafrma de prgramación Java Standard Editin Prgramación de sckets JavaScript ECMAScript Edicines de ECMAScript XI

12 Cmpatibilidad de ECMAScript en navegadres web El Mdel de Objets de Dcument (DOM) AJAX Qué es AJAX? Las tecnlgías AJAX Aplicacines AJAX multinavegadr Fases en la ejecución de una aplicación AJAX Visr de mapas Clases básicas Cntrles Capas OpenStreetMap Tecnlgía CAPÍTULO II DESARROLLO DEL SISTEMA Ápice arquitectónic Interacción cn el cliente Estudi de las herramientas, tecnlgías y prácticas de desarrll Cnstrucción del prttip de estructura y diseñ Plan de entregas Prirización de las histrias de usuari Elabración del plan de entregas Cnstrucción Iteracines Entrega Implementación de la entrega final Manuales CAPÍTULO III CONCLUSIONES Y RECOMENDACIONES Cnclusines Recmendacines GLOSARIO REFERENCIAS BIBLIOGRÁFICAS Y DE INTERNET ANEXOS ANEXO I: Diagrama de Clases UML del Módul de Cmunicacines XII

13 ÍNDICE DE ILUSTRACIONES Ilustración 0.1: Esquema general de sistema... 9 Ilustración 0.2: Arquitectura funcinal de sistema Ilustración 0.3: Cicl de vida XP Ilustración 1.1: Infrmación espacial representada en capas Ilustración 1.2: Mdels de Dats Raster y Vectrial Ilustración 1.3: Mdels de Dats Raster y Vectrial Ilustración 1.4: Representación de dats en frmat Raster Ilustración 1.5: Arquitectura de tres capas Ilustración 1.6: Esquema de una aplicación MVC Ilustración 1.7: Tecnlgías cmpnentes de Java Ilustración 1.8: Cmunicación Cliente/Servidr Ilustración 1.9: Pila de sftware TCP/IP Ilustración 1.10: Asignación TCP/UDP de paquetes entrantes al puert/prces adecuad Ilustración 1.11: Establecimient de ruta de acces para la cmunicación de ds vías entre un cliente y un servidr Ilustración 1.12: Cmpnentes de una implementación JavaScript Ilustración 1.13: Lenguajes que implementan ECMAScript Ilustración 1.14: Jerarquía de nds del DOM Ilustración 2.1: Diagrama Entidad-Relación de la base de dats Ilustración 2.2: Prttip del módul visr de mapas Ilustración 2.3: Diagrama de Gantt del plan de entregas Ilustración 2.4: Administración de usuaris Ilustración 2.5: Administración de AVL s Ilustración 2.6: Visualización del vehícul en la aplicación Ilustración 2.7: Panel de cntrl Ilustración 2.8: Detalles de la última trama recibida Ilustración 2.9: Históric de velcidades Ilustración 2.10: Mdificación del plan de entregas en la iteración quinta Ilustración 2.11: Creación del archiv cmpile.sh Ilustración 2.12: Resultad de ejecutar el archiv cmpile.sh Ilustración 2.13: Listad que se genera al ejecutar make Ilustración 2.14: Listad que se genera al ejecutar make install Ilustración 2.15: Listad que se genera al inicializar el mtr de base de dats Ilustración 2.16: Listad que se genera al iniciar el mtr de base de dats Ilustración 2.17: Listad que se genera al crear una base de dats Ilustración 2.18: Listad que se genera al ejecutar el cmand para manejar una base de dats Ilustración 2.19: Cmands para agregar cm servici al mtr de base de dats Ilustración 2.20: Listad que se genera al ejecutar el script cnfigure de prj Ilustración 2.21: Listad que se genera al ejecutar make de prj Ilustración 2.22: Listad que se genera al ejecutar make install de prj Ilustración 2.23: Listad que se genera al ejecutar el script cnfigure de ges Ilustración 2.24: Listad que se genera al ejecutar make de ges Ilustración 2.25: Listad que se genera al ejecutar make install de ges XIII

14 Ilustración 2.26: Listad que se genera al ejecutar el script cnfigure de pstgis Ilustración 2.27: Listad que se genera al ejecutar make de pstgis Ilustración 2.28: Listad que se genera al ejecutar make install de pstgis Ilustración 2.29: Listad que se genera al ejecutar el script lwpstgis.sql Ilustración 2.30: Escritri de Windws Ilustración 2.31: Página de lgin del sisema Ilustración 2.32: Btón ingresar de la página de lgin del sistema Ilustración 2.33: Página index.jsp del sistema Ilustración 2.34: Btón para administrar el sistema Ilustración 2.35: Página de administración de usuaris del sistema Ilustración 2.36: Frmulari para el ingres de usuaris Ilustración 2.37: Btnes de edición en la página de administración de usuaris Ilustración 2.38: Frmulari para la edición de usuaris Ilustración 2.39: Btnes de eliminación en la página de administración de usuaris 133 Ilustración 2.40: Cudr de diálg de eliminación de usuari Ilustración 2.41: Btón de administración de AVLs Ilustración 2.42: Btón para agregar AVLs Ilustración 2.43: Frmulari de creación de AVLs Ilustración 2.44: Btnes de edición en la página de administración de AVLs Ilustración 2.45: Frmulari de edición de AVLs Ilustración 2.46: Btnes de eliminación en la página de administración de AVLs Ilustración 2.47: Cuadr de diálg para la eliminación de AVls Ilustración 2.48: Btón de administración de usuaris Ilustración 2.49: Página inicial del sistema Ilustración 2.50: Ubicación del vehícul Ilustración 2.51: Pp-up de ls detalles del vehícul Ilustración 2.52: Opción de md de persecución Ilustración 2.53: Btón "Histrial" del vehícul Ilustración 2.54: Página de "Histrial" del vehícul Ilustración 2.55: Calendari que se despliega para ingresar la fecha inicial del "Histrial" Ilustración 2.56: Fecha inicial seleccinada desde el calendari Ilustración 2.57: Fecha final seleccinada desde el calendari Ilustración 2.58: Vista extendida del histrial del vehícul Ilustración 2.59: Detalles de cada psición del vehícul en el histrial Ilustración 3.1. Diagrama de Clases UML del Módul de Cmunicacines.161 XIV

15 ÍNDICE DE TABLAS Tabla 1.1: Límites del RDBMS PstgreSQL Tabla 1.2: Esquema de la tabla CLIENTE Tabla 1.3: Cmpatibilidad de ECMAScript en navegadres web Tabla 2.1. Histria de usuari Nr Tabla 2.2. Histria de usuari Nr Tabla 2.3. Histria de usuari Nr Tabla 2.4. Histria de usuari Nr Tabla 2.5. Histria de usuari Nr Tabla 2.6: Prirización de las histrias de usuari Tabla 2.7. Tarea Nr. 1 de la histria Nr Tabla 2.8. Tarea Nr. 2 de la histria Nr Tabla 2.9. Tarea Nr. 3 de la histria Nr Tabla Tarea Nr. 4 de la histria Nr Tabla Tarea Nr. 5 de la histria Nr Tabla Cas de prueba Nr. 1 de la histria Nr Tabla Cas de prueba Nr. 2 de la histria Nr Tabla Tarea Nr. 1 de la histria Nr Tabla Tarea Nr. 2 de la histria Nr Tabla Cas de prueba Nr. 1 de la histria Nr Tabla Tarea Nr. 1 de la histria Nr Tabla Tarea Nr. 2 de la histria Nr Tabla Cas prueba Nr. 1 de la histria Nr Tabla Tarea Nr. 1 de la histria Nr Tabla Tarea Nr. 2 de la histria Nr Tabla Tarea Nr. 3 de la histria Nr Tabla Cas de prueba Nr. 1 de la histria Nr Tabla Tarea Nr. 1 de la histria Nr Tabla Cas de prueba Nr. 1 de la histria Nr Tabla Cas de prueba Nr. 2 de la histria Nr Tabla Tarea Nr. 1 de la histria Nr Tabla Cas de prueba Nr. 1 de la histria Nr XV

16 XVI

17 RESUMEN El presente Trabaj de Grad, trata acerca del diseñ e implementación de un sistema web ge-referenciad para la lcalización y análisis de infrmación en tiemp real de vehículs, utilizand sftware libre y cartgrafía editable; en busca de un mecanism que permita la disminución del rb de vehículs y secuestrs express en el Ecuadr; cm también para la mejría en la rentabilidad de ls negcis, dedicads al transprte de persnas y/ valres y para que a futur se siga investigand en tecnlgías acrdes al tratamient de dats espaciales. La aplicación web gereferenciada se encuentra realizada, enteramente, en base a sftware libre y códig abiert; basada en Java, PstgreSQL, Apache Tmcat, JPA, AJAX, JavaScript y OpenLayers, herramientas que han sid utilizadas de la mejr manera, gracias a una metdlgía ágil de desarrll y las prácticas más adecuadas, tales cm un patrón de diseñ MVC, estándares de prgramación y cm también la ptimización de recurss tecnlógics, mediante subprcesamient múltiple, persistencia de dats y la utilización de UDP cm el prtcl más óptim de transmisión de dats para el enví de tramas desde el lcalizadr del vehícul al servidr. Se lgró una óptima interacción cn el dispsitiv lcalizadr imprtad desde China; también, se btuv un buen servici a l que se refiere al Servidr Privad Virtual (VPS) ubicad en Madrid, España. Pr l tant, es necesari desarrllar ests ds tips de tecnlgía para un efectiv desarrll ecnómic y tecnlógic que el país requiere. XVII

18 ABSTRACT This degree wrk deals with the design and implementatin f a ge-referenced web system fr lcating and analyzing real-time infrmatin f vehicles, using free sftware and mapping editable; in search f a mechanism fr reducing theft vehicles and "express kidnappings" in Ecuadr, as well as fr the imprvement in the prfitability f the businesses engaged in the carriage f persns and/r securities and futures, s that in the future peple keep ding further research in technlgies accrd t the treatment f spatial data. The ge-referenced Web applicatin is based entirely n free sftware and pen surce, it is based n Java, PstgreSQL, Apache Tmcat, JPA, AJAX, JavaScript and OpenLayers, these tls have been used in the best way thrugh a methdlgy agile develpment and best practices, such as a MVC design pattern, prgramming standards, and als the ptimizatin f technlgical resurces using multithreading, data persistence and the using f UDP as the mst ptimal prtcl data transmissin regarding the transmissin f data fr sending wefts frm the vehicle lcatr twards the server. Was achieved an ptimal interactin with the tracking device imprted frm China; als, was gt a gd service regarding the Virtual Private Server (VPS) based in Madrid, Spain. Therefre, develping these types f technlgy is necessary fr an effective ecnmic and technlgical develpment that the cuntry needs. XVIII

19 INTRODUCCIÓN El presente Trabaj de Grad, tiene cm bjetiv principal diseñar e implementar un sistema web ge-referenciad para la lcalización y análisis de infrmación en tiemp real de vehículs, utilizand sftware libre y cartgrafía editable; dich sistema fue desarrllad en función de que n se ha evidenciad un prgres significativ de la investigación en el camp de la lcalización de vehículs, a través de un sistema web ge-referenciad, cn las características especiales que éste psee (las cuales se detallarán a l larg de td el dcument), cm también pr la repercusión que éste tiene en la disminución del índice delincuencial de rb de vehículs y secuestrs express. La aplicación hiz us de sftware libre para que su utilización sea más cmún entre ls desarrlladres de sftware, mstrand las ventajas que éste cnlleva; cm también el us de cartgrafía editable, en dnde cualquier usuari puede enrlarse en accines cm: mdificar, crregir aumentar infrmación gegráfica de us cmún, que pr cnsiguiente sea de gran utilidad a nivel de una cmunidad internacinal. Además, se ha hech us de sftware libre, debid a que el Gbiern ecuatrian ha decretad el us del mism en tda institución pública, para frtalecer el desarrll tecnlógic del país, evitand utilizar tecnlgías imprtadas. Cn este tip de aplicacines se pretende slucinar prblemas empresariales, relacinads cn el transprte de persnas valres, cuyas slucines sean capaces de cntrlar a ls cnductres de ls vehículs mnitrear ls valres de las empresas. De esta manera, se puede incrementar la rentabilidad de negcis de este tip y pryectarse hacia el futur cn más slucines empresariales. El Ecuadr se encuentra dand sus primers pass hacia el desarrll tecnlógic, ya que se ha evidenciad que el país tiene un gran ptencial en l que se refiere a sftware financier-cntable, exprtand prducts de este tip hacia el extranjer, dnde existe gran demanda de sftware ecuatrian; per pr tra parte, se está iniciand el prces de desarrll tecnlógic en el área de sftware de tip 1

20 gegráfic cm el del presente trabaj, que tiene el prpósit de incentivar el desarrll de pryects cm éste; puest que un prblema que sufre el Ecuadr es la falta de tecnlgías prpias, debid a la escasa inversión en investigación, que cnlleva a un gast de tiemp y diner pr encima de las psibilidades de un emprendedr; pr ende, las empresas ptan pr utilizar tecnlgías imprtadas. Siend así, se ha prcurad utilizar las mejres tecnlgías existentes en el ámbit del desarrll de sftware para que se puedan btener y expltar al máxim tdas las funcinalidades que un sistema web ge-referenciad debería pseer; de igual manera, se ha prcurad ptimizar al máxim ls recurss tecnlógics, aplicand técnicas cm la utilización de subprcesamient múltiple y tras. Se ha utilizad el mejr DBMS 1 del mund: PstgreSQL más su extensión PstGIS para el prcesamient de dats espaciales, cnjuntamente, cn la platafrma de prgramación Java, cuy núcle es l mejr en l que refiere a seguridad infrmática y versatilidad; también, la utilización de AJAX y JavaScript, cm herramientas para el desarrll de una interfaz de cliente rica, y la utilización de OpenLayers cm librería utilitaria para el manej del visr del mapa del sistema web ge-referenciad. Td est es sftware libre y de códig abiert. Cm prácticas de desarrll, se han definid varias estrategias, tales cm: una metdlgía ágil de desarrll XP, un patrón de diseñ MVC y alguns estándares de prgramación; td est, ayuda a que las herramientas, anterirmente mencinadas, se las explte de mejr manera; ya que, n hace falta una extensa dcumentación para este tip de pryects; el patrón de diseñ se ajusta, perfectamente, a la platafrma de prgramación que se está utilizand y ls estándares de prgramación que permiten que el códig fuente y las tablas de base de dats se encuentren rganizadas; lgrand así, que el trabaj del desarrlladr se trne cómd y placenter. A cntinuación se presenta, brevemente, cóm se encuentran cnstituids ls capítuls del presente trabaj de grad: 1 Data Base Management System: Sistema de Gestión de Base de Dats (SGBD) 2

21 La presente Intrducción, cmprende una explicación del prblema, ls bjetivs, el alcance y la justificación del trabaj de grad. Se explica el prqué del presente trabaj y las causas que influyern para su realización; pr ende, las slucines y ls bjetivs que se pretenden lgrar para que el prblema n persista, cm también sus limitacines y su alcance. En el capítul I, se detalla el fundament teóric de las herramientas utilizadas, l cual ha sid una pequeña parte de td el cncimient adquirid, durante el transcurs del pregrad; en sí, es la tería a la que el desarrll del trabaj se refirió durante td su prces. Sin lugar a duda, haciend us, enteramente, de sftware libre y las mejres prácticas y herramientas dispnibles, en aquel mment. El capítul II trata acerca del prces de desarrll del sistema; aquí se explica a detalle cóm se cnsiguió realizar la slución infrmática, acrde a la metdlgía prpuesta y tds ls pass que se siguió; al igual que ls cambis que se realizó en el transcurs de la cnstrucción del sistema. Además, en este capítul se muestran ls manuales del administradr y del usuari final y también el cóm se hiz la entrega final. El capítul III, cntiene las cnclusines a las que el presente trabaj llegó, después de una ardua labr; también se encuentran las recmendacines que se plantea, lueg de experimentar cn este tip de pryect. El Prblema Antecedentes A medida que las tecnlgías de la infrmación y la cmunicación se desarrllarn a pass agigantads en las últimas décadas, las necesidades tecnlógicas del ser human aumentarn de frma gemétrica, tales cm: la necesidad trivial del prcesamient rápid y eficaz de dats numérics y alfabétics; y, últimamente, la de lcalizar una persna csa, pr medi de un sistema cmputacinal gegráfic. Esta última, que surgió en ls últims añs se ha desarrllad, de tal manera, que hy en día se ha cnvertid en un servici, indispensable, para alguns. Sin embarg, a 3

22 causa de que la tecnlgía se mantiene en cnstante evlución de manera fugaz, tdavía n se ha lgrad un prgres ideal en la investigación de este ámbit. A causa de este fallid prgres de la investigación en el ámbit de la ge-lcalización, en el Ecuadr n se han desarrllad slucines eficientes, relativ a la ptimización de csts y de seguridad infrmática que se ajusten a las necesidades reales de clientes ptenciales. Adyacente a est, surge la necesidad de adquirir slucines extranjeras; pr l cual, se detiene la utpía de que la educación sea garantía de la creación de fuentes de trabaj. Pr tra parte, la situación delincuencial en el Ecuadr es dramática, durante décadas ha existid un alt índice, respect al rb de vehículs; así cm también, ls denminads Secuestrs Express que tienen sumida en la desesperación a la sciedad ecuatriana; y ls esfuerzs que hace el Gbiern pr cntrlar y prevenir n sn l suficientemente efectivs. Pr tr lad, las empresas que lucran del transprte de persnas valres, n visualizan la infrmación real de la ubicación de sus vehículs de frma eficaz, pr l que se smeten a la pérdida de rentabilidad de su negci. A td l descrit se añade, la falta de seguridad y cntrl de persnas de la tercera edad, niñs, diplmátics, discapacitads; así cm también, el mnitre de vehículs de transprte terrestre, aére y marítim; l cual hace imprescindible la utilización de AVLs 2 para la lcalización de un bjet en particular. Situación actual Una de las plíticas establecidas en el actual Gbiern 3, acerca de la implementación de sftware en las institucines públicas, es la de adquirir, únicamente, Sftware Libre; pr l que en el transcurs del últim añ y del actual, tdas estas institucines se encuentran en el prces de migración del sftware; pr ejempl, han tenid que reemplazar tdas las herramientas desarrlladas pr Micrsft Crpratin pr herramientas libres. 2 Autmatic Vehicle Lcatr: Lcalizadr Autmátic de Vehículs 3 Gbiern presidid pr el Presidente de la República Rafael Crrea Delgad. 4

23 En efect, se abre una puerta en el mercad para el sftware gegráfic libre. Sftware Libre n quiere decir gratuit; se trata de sftware libre de licencias y cn estándares abierts, que permitan la futura manipulación del códig fuente para que el sftware slucine necesidades más específicas; cn esta plítica de Estad se le ha quitad las cadenas al sftware en general. Las institucines públicas del país tienen la necesidad de cntrlar y mnitrear ls vehículs que están a su respnsabilidad y tienen que estar debidamente, mnitreads, tant ls cnductres cm ls vehículs; pr l que se hace imprescindible la adquisición de un sistema web gegráfic, para la lcalización, seguimient y análisis de infrmación de ls misms. El sftware libre para la lcalización y análisis de infrmación en tiemp real de vehículs, hasta el día de hy, n ha lgrad cnvertirse en Prduct Estrella de las grandes cmpañías de sftware de Latin América, pr la falta de una investigación adecuada, en este ámbit tecnlógic. Ls requerimients de las institucines públicas para este tip de slucines infrmáticas se pueden encntrar en el prtal web de cmpras públicas Existe gran demanda de slucines infrmáticas para la seguridad y el rastre de vehículs que sean persnalizables, en tal medida que se puedan ajustar a ls requerimients más específics del cliente; es decir, que la slución se ajuste a las necesidades reales de éstas. En l que se refiere a sftware en general, las institucines públicas se encuentran en la bligación de cntratar prfesinales capacitads para la ejecución de pryects que cnlleven el rediseñ del sftware para que éste se ajuste a sus requerimients. Pr ende, se requiere que estas slucines sean de códig abiert, ya que, la mayría de las aplicacines cmerciales tienen estándares cerrads están desarrlladas cn códig prpietari, cm es el cas de las aplicacines desarrlladas cn herramientas de Micrsft Crpratin, barrera que a larga suprime el tan anhelad prgres tecnlógic del país, prque la sciedad ecuatriana se hace dependiente de tecnlgía fránea al n pseer tecnlgía prpia, haciend que la prción del Presupuest General del Estad destinad a las institucines públicas para la adquisición de tecnlgía finalice en el extranjer y n en el Ecuadr; tda vez que las 5

24 necesidades reales de estas institucines n pueden ser cubiertas de manera ideal a causa de que ls prfesinales empleads n pueden mdificar el sftware para su óptima aplicación, privand así a las institucines públicas de la ttal prpiedad intelectual de estas slucines tecnlógicas. Prspectiva De cntinuar cn la falta de aplicacines infrmáticas para el cntrl y mnitre de vehículs y/ persnas, en las institucines del Estad; el presupuest asignad para la adquisición de éstas, tendrá un fin en el extranjer, debid a que sftware es de este tip desarrllad en el Ecuadr n existirá, pr falta de investigación en el camp del desarrll de sftware gegráfic; pr l cntrari, existirán, per serán slucines infrmáticas que cnlleven cmpra de licenciamient, que implica que el códig fuente sea privativ a su vez sean desarrlladas cn estándares cerrads que impidan la manipulación del códig, para ajustar la slución a ls requerimients reales de estas institucines. En las empresas que lucran del transprte de persnas de valres, n habrá una estrategia eficaz que prmueva la rentabilidad y estrategia que permita una cnstante visualización de la psición y un efectiv cntrl de ls vehículs, cn el fin de minimizar tiemp y csts a la empresa; estrategia que se acplaría también a las institucines públicas, así cm para las persnas particulares que deseen garantizar el psicinamient de su vehícul en cas de que este sea rbad, per aún, esta persna haya sid víctima de un secuestr, cm ha sid habitual en el transcurs de las ds últimas décadas. En cnclusión, se privaría a la pblación de esta estrategia tecnlógica, a la vez que se impediría el desarrll científic en el país en esta área del cncimient. Cabe mencinar, que para que una sciedad se desarrlle, psitivamente; y, ls tradicinales y rutinaris dgmas de atras tecnlógic que han gbernad a la sciedad ecuatriana, durante sigls, sufran un cambi radical, ésta debe llevar cnsig la ciencia cm un ideal para alcanzar el éxit. 6

25 Resumen En el Ecuadr existe un alt índice, respect al rb de vehículs y pr ende una terrible inseguridad ciudadana; al igual que la falta de cntrl y mnitre de vehículs, pertenecientes a las institucines del Estad que se mvilicen pr vía terrestre, aérea marítima; cm también, la nula seguridad para las persnas vulnerables cm: persnas de la tercera edad, niñs, discapacitads, diplmátics u trs; l que afecta a la calidad de vida de td ciudadan, privándles de estrategias alternativas para cntrlar la inseguridad. Pr tr lad, n existen herramientas tecnlógicas que permitan mnitrear y cntrlar la actividad prductiva de empresas que lucran del transprte de persnas valres. Pr l tant, es evidente la falta de aplicacines infrmáticas destinadas al cntrl y mnitre de vehículs de una manera interactiva y amigable entre el usuari y el sistema para la seguridad la rentabilidad de negcis, que a su vez sean de baj cste e independientes de tecnlgía fránea. Objetivs Objetiv principal Diseñar, desarrllar e implementar un sistema web ge-referenciad para la lcalización y análisis de infrmación en tiemp real de vehículs, utilizand sftware libre y cartgrafía editable; para slucinar parte de la prblemática de seguridad que afecta al país y mejrar la rentabilidad de negcis de transprte de valres y/ persnas; en un tiemp límite de seis meses. Objetivs específics - Diseñar el sistema de acuerd a una arquitectura tecnlógica rbusta, estable y cmprbada, enfcándse a la slución del prblema, utilizad de la manera más eficaz la infraestructura de hardware cn la que se interactúa. - Desarrllar el sistema utilizand sftware libre en su ttalidad, en base a las mejres prácticas de desarrll y a ls estándares establecids en la planificación 7

26 del mism; de manera que el sistema sea extensible y fácilmente mantenible en el transcurs del tiemp. - Implementar el sistema en base a ls resultads btenids en las pruebas de funcinalidad realizadas. Alcance del Pryect Respect a ls dispsitivs empleads para la lcalización pr GPS 4, el sistema será desarrllad para la cmpatibilidad cn ls AVLs VT-310 de rigen chin pr su baj cst y gran demanda en el país, a causa de sus características versátiles y de última tecnlgía. En l que refiere a la cartgrafía web se utilizará el servidr de mapas de tercers: OpenStreetMap, pr ser editable y sftware libre. La aplicación será multiusuari, dnde cada usuari pdrá dispner de un sl AVL, sea éste: vehícul persna, para su respectiv mnitre. Se pdrá rastrear el vehícul la persna en tiemp real, permitiéndle al usuari bservar un históric de psicines y velcidades que han transcurrid en un mes. Cabe señalar que la aplicación sprtará un númer ilimitad de usuaris. Dad que se trata de un AVL básic pr su cst, la aplicación medirá únicamente dats cm: distancia recrrida, velcidad prmedi, dirección de traslad, altitud gegráfica y psición actual en un interval de tiemp determinad. Se cnfigurará un servidr Linux cn las aplicacines, framewrks, librerías Open Surce cmpatibles cn sistemas GIS; para la ejecución de pruebas lcales. Psterirmente, se realizará la misma cnfiguración en un VPS en línea cn IP pública, para que la aplicación reciba ls dats reales que genere el AVL, que pr cnsiguiente sean prcesads pr el sistema. La arquitectura será cliente-servidr de manera lcal cm parte de las pruebas de desarrll y distribuida de manera n-line para el mnitre real del vehícul. La aplicación cntendrá ls siguientes móduls: 4 Glbal Psitin System: Sistema de Psición Glbal 8

27 - Módul de cmunicacines, para la recepción y desencriptad de la infrmación enviada pr el AVL, para el psterir almacenamient en la Base de Dats. - Módul de seguridad de la aplicación, para la autenticación de ls usuaris. - Módul de administración de AVLs, para seleccinar y btener la infrmación de un AVL en particular, misma que se actualizará cada tres minuts. - Módul visr de mapas y cartgrafía, para la lcalización visual del AVL en un mapa actualizad y detallad. - Módul de reprtes, para cnsultas de histórics referentes a distancias, velcidades y psicines. Esquema general del sistema A cntinuación se describen ls móduls de la aplicación mediante el Esquema General del Sistema, véase la Ilustración 0.1 de a cntinuación. AVL GPS VPN de Clar Módul de cmunicac ines Cliente Internet Módul de seguridad Lg-n Base de dats Módul de mapas Módul de administra ción AVL s Módul de reprtes Ilustración 0.1: Esquema general de sistema. Fuente prpia. 9

28 Arquitectura funcinal del sistema La aplicación depende del Sistema de Psicinamient Glbal (GPS) liberad pr la Armada de ls Estads Unids en 1999 para us civil; cuya imprtancia es transcendental para la cnstrucción de sistemas web ge-referenciads para la lcalización de vehículs, cm también es indispensable para ls desarrlladres de este tip de sftware. Este sistema se encuentra frmad pr ch satélites artificiales que circundan la Tierra. El GPS es el sistema que envía ls ge-dats necesaris para el rastre del bjet cm la psición (latitud y lngitud), velcidad prmedi, distancia recrrida, dirección de traslad, altitud gegráfica en un interval de tiemp determinad pr el desarrlladr del sftware, que serán receptads y psterirmente almacenads en la memria del AVL instalad en el vehícul. Siend ésta la parte más cmpleja y fundamental para que ls dats almacenads en el AVL sean prcesads pr el sistema web ge-referenciad. Obtenids y almacenads ls ge-dats en la memria del AVL, éste será cnfigurad de manera que envíe ls ge-dats al VPS mediante la VPN de alguna peradra telefónica, para lueg ser almacenads en la base de dats de la aplicación web. En cnsecuencia, cn anteriridad, al VPS se le instalará y cnfigurará ls siguientes cmpnentes de sftware: - Sistema Operativ: Linux CentOS Base de dats: PstgreSQL PstGIS Servidr web y cntenedr de servlets: Apache Tmcat Máquina virtual de Java: Java Runtime Envirment (JRE) 7. Así, el VPS brindará tds ls servicis necesaris para que el cliente dispnga de tda la funcinalidad del sistema web ge-referenciad para la lcalización y análisis de infrmación de su vehícul. A cntinuación se detalla gráficamente la arquitectura funcinal del sistema, véase la Ilustración 0.2 a cntinuación. 10

29 GPS AVL VPN Clar Apache VPS Java Internet Pstgres PstGIS Cliente Ilustración 0.2: Arquitectura funcinal de sistema. Fuente prpia. Limitacines La aplicación n se diseñó para el sprte de fltas de vehículs, est quiere decir que la aplicación únicamente cntrla a un sl vehícul pr cada usuari; pr ende n se puede crear ge-cercas, ni ge-rutas para el análisis de la psición de varis vehículs en cnjunt. Tampc se l diseñó para acplarse a cartgrafía suministrada pr el usuari, pr ejempl cartgrafía suministrada pr el usuari cm: el mapa de Pimampir, que en la actualidad tdavía n está ge-referenciad en la cartgrafía de OpenStreetMap. Dadas las capacidades del AVL que se utilizó, n se permite la administración del vehícul pr cmands, es decir, la interacción física cn el vehícul, tales cm la apertura de puertas, apagad de mtr, el btón de pánic y trs. Tampc se maneja un sistema de alertas que reprte al usuari, pr ejempl, cuand el vehícul exceda una velcidad determinada cuand la aplicación n reciba a tiemp 11

30 infrmación del AVL, sea est a causa de una falla en el hardware, una inhabilitación causada del dispsitiv, cm también la falta de señal en la red de la peradra telefónica, si el vehícul estuviese fuera del alcance del GPS (más cncid cm zna blindada de GPS). Se excluyó la interacción de la aplicación cn servicis celulares cm: SMS y aplicacines móviles. Se excluyó también el desarrll de un módul de usuaris y permiss. Ls csts de ls chips de telefnía celular están definids pr la peradra celular, al igual que el cst del megabyte. Cabe recalcar que, el AVL n guarda en su memria el históric de psicines en el sectr que carezca de señal celular y much mens de señal satelital. Justificación del Pryect El presente trabaj se justifica prque es necesari el desarrll de un sistema web ge-referenciad para la lcalización y análisis de infrmación en tiemp real de vehículs que sea nacinal e independiente, prque ls sistemas que existen de este tip en el país sn adquirids en el extranjer a su vez desarrllads en el país per cn dependencia tecnlógica del mism; tal es el cas de la utilización de la cartgrafía de Ggle Maps para su desarrll, per aún sftware desarrllad cn herramientas privativas cm las de Micrsft Crpratin, l que cnlleva a la cnstrucción de sftware cn estándares cerrads, impidiend así, su manipulación. Esta aplicación pretende independizar a la sciedad ecuatriana de tecnlgía fránea, aislándla de sprte técnic del extranjer, cm también de la cmpra de licenciamient de sftware de crpracines extranjeras. De igual frma, existen empresas en el país que brindan el servici de ge-lcalización utilizand aplicacines fráneas, empresas cm SmartCarg, Hunter, Trail y tras; que dependen del cntrat de licenciamient y del sprte técnic extranjer. En cnsecuencia, estas deben incrementar sus inversines, haciend que ests csts se ls transfiera al cnsumidr final, dand cm resultad el encarecimient de este servici. L que se quiere cn este trabaj es abaratar ls csts de este tip de sftware, al igual que hacer a las empresas que l adquieran, prpietarias del códig fuente para que a futur estén en la capacidad de manipularl para que el sftware se 12

31 ajuste a las necesidades críticas de la empresa, mas n a las necesidades esprádicas de la misma. Beneficiaris Prpietaris de vehículs privads, institucines prpietarias de vehículs públics privads, persnas de la tercera edad, niñs, diplmátics, discapacitads, persnas que quieran mnitrear sus bienes, desarrlladres que quieran aprtar cn códig fuente a la aplicación, ya que se trata de sftware de códig abiert. Justificación de las herramientas de desarrll de sftware Se utilizó el IDE (Interface Develpment Envirment) Eclipse Indig cn su plugin para Java EE 5 versión 1.4.1, para el desarrll de tda la aplicación, pr ser sftware libre y una ptente herramienta para la escritura y rganización del códig fuente; cm también la para cnstrucción y el despliegue de la aplicación y sus pruebas unitarias. Justificación de la metdlgía de desarrll de sftware Se empleó la metdlgía ágil de desarrll de sftware Prgramación Extrema, más cncida cm XP (Extreme Prgramming). Se utilizó ésta pr ser una metdlgía ágil, basada en una serie de buens valres y mejres prácticas que persiguen el bjetiv de aumentar la prductividad. Este mdel de prgramación se basa en la recpilación y síntesis de metdlgías tradicinales, en la que se da priridad a ls trabajs cn resultads directs, disminuyend ntablemente el prtcl de la dcumentación. Mens dcumentación y más sftware funcinand. A cntinuación, la Ilustración 0.3 explica el cicl de vida de la metdlgía XP. 5 Java Enterprise Editin: Java Edición Empresarial 13

32 Guión de usuari Escenari de prueba Ápice arquitectó nic Requerimients Metáfra del sistema Velcidad del pryect Plan de entregas Plan de entregas Iteración Bugs Última versión Pruebas de aceptación Aprbación del cliente Entregas pequeñas Próxima iteración Ilustración 0.3: Cicl de vida XP. Fuente: 14

33 CAPÍTULO I 1. Marc TeóricsJdfd 1.1. Cncepts previs Qué es un sistema web ge-referenciad? Un sistema web ge-referenciad es un Sistema de Infrmación Gegráfica (GIS) que pera en Internet. El términ GIS SIG se aplica actualmente a ls sistemas cmputarizads para el almacenamient y el análisis de dats, mediante equips y prgramas especializads en el manej de dats espaciales de referencia gegráfica. Existen diversas definicines para caracterizar un GIS. Un GIS es una Herramienta cmputacinal cmpuesta pr equips, prgramas, dats ge-referenciads y usuaris que requieren rganizar, analizar, autmatizar prcess y prducir infrmación (Slivelles, 2012). En general la infrmación espacial se representa en frma de capas, en ls que se describen pr ejempl la tpgrafía, la dispnibilidad de agua, ls suels, ls bsques y praderas, el clima, la gelgía, la pblación, la prpiedad de la tierra, ls límites administrativs, la infraestructura (carreteras, vías férreas, sistemas de electricidad de cmunicacines), cm se representa en la siguiente figura (Slivelles, 2012): Ilustración 1.1: Infrmación espacial representada en capas. Fuente: (Slivelles, 2012). 15

34 Así, se puede enumerar algunas de las principales características de un GIS: - Manej de grandes vlúmenes de infrmación. - Psibilidad de infrmación de distintas fuentes y escalas. - Rapidez en el prcesamient de la infrmación y btención de prducts cartgráfics. - Capacidad de mdelar infrmación. - Manej de infrmación ge-referenciada Cóm se representa la infrmación en un sistema web gereferenciad? Existen ds Mdels de dats espaciales que permiten representar la infrmación cntenida en un GIS (Slivelles, 2012) 6 : - Mdel Vectrial: En él, ls bjets y sus atributs (cndicines) sn representads pr punts y líneas que definen sus límites. La psición de cada bjet es definida pr su lcalización en un mapa que es rganizad a través de un sistema de crdenadas de referencia. Cada psición en el mapa tiene un únic valr de crdenada. - Mdel Raster: El espaci es dividid regularmente en celdas (usualmente frmadas pr cuadrads).la lcalización de ls bjets gegráfics y sus atributs, está definida pr la psición que las celdas cupan en las clumnas y las filas. El área que cada celda representa define la reslución de la infrmación. Ls estudis realizads en el presente trabaj se aplican sbre un GIS basad en el mdel Vectrial de dats espaciales. A cntinuación, de acuerd cn la referencia bibligráfica de (Slivelles, 2012) se explica mediante un ejempl ls ds mdels antes mencinads. La Ilustración 1.2 muestra las características principales de ests ds mdels, al representar una prción de terren del mund real. En ella existen ds bsques, un de pin y tr de eucaliptus que se encuentran espacialmente separads pr un rí que cruza la prción de terren. Junt al rí existe una casa. En el cas del mdel 6 Slivelles, U. (2012). Sistemas de Infrmación Gegráfica (SIG) y percepción remta. 16

35 Raster cada un de ests elements sn representads pr cnjunts de celdas vecinas cn una psición gegráfica, dada pr la psición fila - clumna de cada una que frman parte de un arregl de celdas que representa tda el área de interés. Ilustración 1.2: Mdels de Dats Raster y Vectrial. Fuente: (Slivelles, 2012). Ilustración 1.3: Mdels de Dats Raster y Vectrial. Fuente: (Slivelles, 2012). 17

36 Estas celdas cntienen un valr que indicará qué se está representand en ella. Este valr atribut de la celda puede representar una prción de rí (r), bsque de Eucaliptus (e) de Pins (p). La fidelidad cn que se representa una situación del mund real, depende de la reslución utilizada cn este arregl de celdas. Puntualmente, la reslución está dada pr el área real representada pr la celda. Además, se asume que el valr de cada atribut asciad a ésta es hmgéne en tda el área que representa. En este sentid, este mdel de dats espaciales una discretización del mund real, l que permite hacer representacines temáticas de la realidad, cm se muestra en la Ilustración 1.3 de arriba. En la Ilustración 1.4, además se puede mstrar el hech que cada celda de cada capa tiene una celda crrespndiente en cada una de las tras capas, prduct de la gereferenciación. Ilustración 1.4: Representación de dats en frmat Raster. Fuente: (Slivelles, 2012). 18

37 1.2. Servidr web y cntenedr de servlets Apache Tmcat El servidr web y cntenedr de servlets cabe en esta sección ya que es el sftware que permite que un sistema ge-referenciad funcine en la web, es aquel que se encarga de hacer el despliegue de la aplicación web desarrllada en lenguaje Java y baj una platafrma Java Enterprise Editin (J2EE) multicapa. Para el cas del presente trabaj se hiz us del servidr web y cntenedr de servlets Apache Tmcat, ya que hacer us de un servidr de aplicacines era innecesari prque éste psee características adicinales que n se ajustan a este tip de aplicacines. El cntenedr de servlets se encarga de interpretar servlets (clase Java que implementa interfaces que permiten la recepción de dats desde el cliente y enví de dats hacia el mism, entre trs beneficis), prcesándls mediante la Máquina Virtual de Java instalada en el servidr, pr l que el prcesamient de dats l lleva a cab el servidr, en lugar del cliente. Pr tra parte, el servidr web se encarga del aljamient y prcesamient de las páginas de servidr Java (JSP 7 ) y trs cmpnentes web de la aplicación en general, tales cm páginas HTML, XHTML, DHTML, XML, si es que fuese el cas. Además, el pryect Apache Tmcat es una implementación de sftware libre de las tecnlgías Java Servlet y JavaServer Pages (The Apache Sftware Fundatin, 2012). Se utilizó la versión , siend el últim lanzamient hasta el mment, el cual implementa las especificacines para Servlet 3.0 y JavaServer Pages 2.2 según la Java Cmmunity Prcess 8, e incluye muchas características adicinales que la hacen una platafrma útil para desarrllar y desplegar aplicacines web y servicis web (web services) Estructura de directris Apache Tmcat despliega en la ruta raíz ls siguientes directris en su instalación(the Apache Sftware Fundatin, 2012): - bin arranque, cierre, y trs scripts y ejecutables. - cmmn clases cmunes que pueden utilizar Catalina y las aplicacines web. 7 Java Server Page: Página de Servidr Java 8 El Prces de la Cmunidad Java es el mecanism para desarrllar especificacines técnicas estándares para tecnlgía Java. 19

38 - cnf fichers XML y ls crrespndientes DTD para la cnfiguración de Tmcat. - lgs lgs de Catalina y de las aplicacines. - server clases utilizadas slamente pr Catalina. - shared clases cmpartidas pr tdas las aplicacines web. - webapps directri que cntiene las aplicacines web. - wrk almacenamient tempral de fichers y directris Implementación de una aplicación web El bjetiv principal de instalar un servidr web y cntenedr de servlets cm Apache Tmcat es la de implementar aplicacines web en él. La implementación es el términ que se utiliza para el prces de instalación de una aplicación web (ya sea un WAR de tercers una prpia aplicación web persnalizada) en el servidr Tmcat. El despliegue de aplicacines web puede llevarse a cab en un númer de maneras dentr del servidr Tmcat(The Apache Sftware Fundatin, 2012) 9. - Estáticamente, la aplicación web se cnfigura antes de que Tmcat se haya iniciad. - Dinámicamente, en cnjunt cn la aplicación web Tmcat Manager la manipulación de aplicacines web ya implementadas. El Tmcat Manager es una herramienta que permite a las aplicacines web basadas en URL características de implementación. También hay una herramienta llamada el cliente de implementación, que es un shell de cmands basad en script que interactúa cn el Tmcat Manager, que frece funcinalidades adicinales, cm la recpilación y validación de las aplicacines web así cm el empaquetad de la aplicación en el archiv de aplicación web (WAR) (The Apache Sftware Fundatin, 2012).Aunque para el presente trabaj se empaquetó la aplicación en un Web Archive (WAR) y psterirmente se implementó en el servidr Tmcat de manera estática. 9 The Apache Sftware Fundatin. (2012). Apache Tmcat. Recuperad el 10 de Juli de 2012, de 20

39 1.3. Sistema de gestión de base de dats PstgreSQL + PstGIS Cm sistema de gestión de base de dats relacinales (RDBMS) se escgió PstgreSQL, debid a que hy en día es el RDBMS más utilizad en el desarrll de sftware, ya que tiene gran rentabilidad en su transaccinabilidad y una gran infinidad de características que l hacen aún más ptente; superand así a marcas de gran renmbre cm Oracle y Micrsft. Incluye la mayr parte de ls tips de dats SQL:2008, incluyend INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL y TIMESTAMP. También, sprta almacenamient de bjets binaris grandes, incluyend imágenes, snids víde. Cuenta cn interfaces nativas de prgramación C/C++, Java,.NET, Perl, Pythn, Ruby, Tcl, ODBC, entre trs, y una dcumentación excepcinal (PstgreSQL Glbal Develpment Grup, 2011) 10. Una base de dats de clase empresarial, PstgreSQL cuenta cn características avanzadas tales cm cntrl de cncurrencia multi-versión (MVCC), recuperación de punt en el tiemp, espacis de tabla (tablespaces), replicación asincrónica, transaccines anidadas (punts de retrn), cpias de seguridad en caliente en línea, un sfisticad planificadr/ptimizadr de cnsulta, y escritura pr delante de registr para la tlerancia de falls. Es cmpatible cn varis cnjunts de caracteres internacinales, cdificacines de caracteres multibyte, Unicde. Es altamente escalable, tant en la gran cantidad de dats que puede manejar y en el númer de usuaris cncurrentes que puede acmdar. Hay sistemas activs cn PstgreSQL en entrns de prducción que manejan más de 4 terabytes de dats. Alguns de ls límites de PstgreSQL generales están incluidas en la Tabla 1.1 siguiente. Tabla 1.1: Límites del RDBMS PstgreSQL. Fuente:(PstgreSQL Glbal Develpment Grup, 2011). Límite Valr Tamañ máxim de base de dats Tamañ máxim de tabla Ilimitada 32 TB 10 PstgreSQL Glbal Develpment Grup. (2011). Abut. Recuperad en Juli de 2012, de 21

40 Tamañ máxim de fila Tamañ máxim de camp Númer máxim de filas pr tabla Númer máxim de clumnas pr tabla Númer máxim de índices pr tabla 1.6 TB 1GB Ilimitad dependiend de ls tips de clumna Ilimitad Características y cumplimient de nrmas En el siti web ficial de PstgreSQL se expnen algunas de las características más relevantes que cnvierten a éste en un pders sistema de gestión de base dats, cm también se explica el cumplimient de las nrmas del lenguaje de cnsulta estructurad (SQL) (PstgreSQL Glbal Develpment Grup, 2011). PstgreSQL se enrgullece del cumplimient de las nrmas. Su puesta en práctica de SQL muy cnfrme cn la nrma ANSI-SQL: 2008 estándar. Cuenta cn sprte cmplet para subcnsultas (incluyend subcnsultas en la cláusula FROM), lectura cmetida (read-cmmited) y ls niveles de aislamient de transaccines serializables. Además, PstgreSQL tiene un catálg de sistema cmpletamente relacinal pr l que sprta varis esquemas de base de dats y su catálg también es accesible a través del esquema de infrmación tal cm se define en el estándar SQL. Las características de integridad de dats incluyen claves primarias, claves fráneas cn restricción y actualizacines/eliminacines en cascada, restriccines de cheque (check cnstraints), restriccines de únics (unique cnstraints) y restriccines de n nuls (nt null cnstraints). También, cuenta cn una gran cantidad de extensines y características avanzadas. Entre las cnveniencias están las clumnas de increment autmátic a través de secuencias, y LIMIT / OFFSET permitiend el retrn de cnjunts de resultads parciales. PstgreSQL sprta índices cmpuests, únics, parciales y funcinales ls cuales pueden utilizar cualquiera de sus métds de almacenamient B-tree, R-tree, hash, GiST. 22

41 La indexación GIST (Generalized Search Tree) es un sistema avanzad que reúne a una amplia gama de diferentes algritms de rdenación y búsqueda, incluid el B-tree, B+-tree, R-tree, ls árbles de suma parcial, B+-trees clasificads y muchs trs. También prprcina una interfaz que permite tant la creación de tips de dats persnalizads, así cm métds de cnsulta extensibles para buscarls. Pr l tant, GIST frece la flexibilidad para especificar l que le permite almacenar, cóm almacenarl, y la psibilidad de definir nuevas frmas de buscar a través de él -frmas que superan cn creces ls frecids pr la nrma B-tree, R-tree y trs algritms de búsqueda generalizads. GIST sirve cm base para muchs pryects públics que utilizan PstgreSQL cm OpenFTS y PstGIS. OpenFTS (mtr de búsqueda de text cmplet Open Surce) frece la indexación en línea de ls dats y la clasificación de relevancia para la búsqueda de base de dats. PstGIS es un pryect que añade sprte para bjets gegráfics en PstgreSQL, l que le permite ser utilizad cm una base de dats espacial para ls sistemas de infrmación gegráfica (SIG), muy parecid a la SDE de ESRI la extensión espacial de Oracle. Además, PstgreSQL ejecuta prcedimients almacenads en más de una dcena de lenguajes de prgramación, incluyend Java, Perl, Pythn, Ruby, Tcl, C/C++, y su prpi PL/pgSQL, el cual es muy similar al PL/SQL de Oracle. Incluid en su bibliteca de funcines estándares están cients de funcines integradas que van desde las matemáticas básicas y peracines cn cadenas a la criptgrafía y la cmpatibilidad de Oracle. Ls disparadres y prcedimients almacenads pueden ser escrits en C y se cargan en la base de dats cm una bibliteca, l que permite una gran flexibilidad en la ampliación de sus capacidades. Del mism md, PstgreSQL incluye un marc de trabaj que permite a ls desarrlladres definir y crear sus prpis tips de dats persnalizads junt cn funcines de apy y peradres que definen su cmprtamient. Cm resultad, una gran cantidad de tips de dats avanzads se han cread que van desde primitivas gemétricas y espaciales hasta direccines de red e inclus tips de dats ISBN / ISSN (Númer de libr estándar internacinal / Númer de serie estándar internacinal), tds ests se pueden añadir pcinalmente al sistema. 23

42 En el cas del presente trabaj, de acuerd al estudi realizad se utilizarn prcedimients almacenads escrits en PL/pgSQL y también en SQL, dichs prcedimients almacenads utilizan algunas funcines integradas de pstgresql. Cm resultad, se btiene un mayr rendimient en las cnsultas de base de dats ya que dichas cnsultas se almacenan en la memria del servidr, mas n se tiene que enviar la cnsulta una y tra vez desde el cliente. Así cm hay muchs lenguajes de prcedimient sprtads pr PstgreSQL, también hay muchas interfaces de la bibliteca cm tal, permitiend que varis lenguajes sean cmpilads e interpretads a la vez para interactuar cn PstgreSQL. Hay interfaces para Java (JDBC), ODBC, Perl, Pythn, Ruby, C, Esquema C + +, PHP, Lisp, y Qt sól para nmbrar uns pcs. L mejr de td, el códig fuente de PstgreSQL está dispnible baj una licencia de códig abiert liberal: la Licencia PstgreSQL. Esta licencia trga la libertad de usar, mdificar y distribuir PstgreSQL en cualquier frma, abiert cerrad el códig. Tdas las mdificacines, mejras cambis que se realice sn prpias del autr para hacer l que le plazca. Cm tal, PstgreSQL n es sól un sistema de base de dats ptente capaz de pner en marcha una empresa, es una platafrma de desarrll en dnde es psible desarrllar para la empresa, para la web prducts cmerciales de sftware que requieren una capacidad RDBMS (Sistema de Gestión de Base de Dats Relacinales) PstGIS El mtiv más relevante para la selección del sistema de gestión de base de dats fue la necesidad de dispner de un sistema que psea características que permitieran el análisis de dats ge-espaciales para que sea evidente la slución a ls requerimients técnics y académics del presente trabaj. Pr esta razón se escgió al sistema de gestión de base de dats PstgreSQL más su extensión ge-espacial PstGIS. Si se tiene entendid que un GIS SIG (Sistema de Infrmación Gegráfic) es una integración rganizada de hardware, sftware y dats gegráfics diseñad para capturar, almacenar, manipular, analizar y desplegar en tdas sus frmas la infrmación gegráficamente referenciada cn el fin de reslver prblemas cmplejs de 24

43 planificación y gestión, es fácil entender que PstGIS es una de las herramientas que permiten realizar l anterirmente dich, calculand las relacines entre ls bjets gegráfics que sn muy difíciles de mdelar sin usar bjets espaciales. Algunas de las relacines típicas entre bjets espaciales sn: prximidad, adyacencia y cntención, dnde PstGIS cnlleva funcines de base de dats que permiten el manej de estas relacines. PstGIS adicina sprte para bjets gegráfics a la base de dats bjet-relacinal PstgreSQL. De hech PstGIS habilita espacialmente al servidr PstgreSQL, para que pueda ser utilizada cm una base de dats espacial de back-end para sistemas de infrmación gegráfics (SIG). PstGIS sigue las especificacines del OGC (OpenGIS Cnsrtium). Cn PstGIS se pueden usar tds ls bjets que aparecen en la especificación cm punts, líneas, plígns, multi-líneas, multipunts, y cleccines gemétricas. Objets GIS Ls bjets GIS sn parte fundamental para el manej de dats y cnsultas en una base de dats espacial; ls bjets GIS sprtads pr PstGIS sn un supercnjunt de las figuras simples definids pr el Cnsrci OpenGIS (OGC). La especificación OpenGIS define ds frmas estándar de expresión de ls bjets espaciales: la frma Well-Knwn Text (WKT) y la frma Well-Knwn Binary (WKB). Tant WKT y WKB incluyen infrmación sbre el tip de bjet y las crdenadas que frman el bjet. Ejempls de las representacines de text (WKT) de ls bjets espaciales de las figuras sn las siguientes: - POINT(0 0) - LINESTRING(0 0,1 1,1 2) - POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1)) - MULTIPOINT(0 0,1 2) - MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4)) - MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1-1,-1-2,-2-2,-2-1,-1-1))) - GEOMETRYCOLLECTION(POINT(2 3),LINESTRING(2 3,3 4)) 25

44 La especificación OpenGIS también requiere que el frmat intern de almacenamient de bjets espaciales incluyan un sistema de referencia espacial identificadr (SRID). El SRID es necesari al crear bjets espaciales para la inserción en la base de dats. Las entradas/salidas de ests frmats están dispnibles usand las siguientes interfaces: bytea WKB = ST_AsBinary(gemetry); text WKT = ST_AsText(gemetry); gemetry = ST_GemFrmWKB(bytea WKB, SRID); gemetry = ST_GemetryFrmText(text WKT, SRID); Pr ejempl, una instrucción de inserción válida para crear e insertar un bjet espacial OGC sería: INSERT INTO getable ( the_gem, the_name ) VALUES ( ST_GemFrmText( POINT( ), 312), A Place ); Creación de una tabla espacial Crear una tabla cn dats espaciales, se puede hacer en un sl pas. Cm se muestra en el siguiente ejempl que crea una tabla de carreteras cn una clumna gemétrica de cadenas de líneas 2D en latitud y lngitud WGS84. CREATE TABLE ROADS ( ID int4, ROAD_NAME varchar(25), gem gemetry(linestring,4326) ); Se puede añadir clumnas adicinales utilizand el cmand ALTER TABLE estándar cm se hace en el siguiente ejempl en dnde se añade una cadena de líneas 3D. ALTER TABLE rads ADD COLUMN gem2 gemetry(linestringz,4326); Pr raznes de cmpatibilidad hacia atrás, se puede crear una tabla espacial en ds etapas utilizand las funcines de gestión. - Crear una tabla n espacial nrmal. Pr ejempl: CREATE TABLE ROADS ( ID int4, ROAD_NAME varchar(25) ) - Añadir una clumna espacial a la table utilizand la función AddGemetryClumn de OpenGIS. 26

45 La sintaxis es: AddGemetryClumn( <schema_name>, <table_name>, <clumn_name>, <srid>, <type>, <dimensin> ) Ó, utilizand el esquema actual: AddGemetryClumn( <table_name>, <clumn_name>, <srid>, <type>, <dimensin> ) Ejempl 1: SELECT AddGemetryClumn( public, rads, gem, 423, LINESTRING, 2) Ejempl 2: SELECT AddGemetryClumn( rads, gem, 423, LINESTRING, 2) A cntinuación un ejempl de SQL utilizad para crear una tabla y para añadir una clumna espacial (asumiend que un SRID de 128 ya existe): CREATE TABLE parks ( park_id INTEGER, park_name VARCHAR, park_date DATE, park_type VARCHAR ); SELECT AddGemetryClumn( parks, park_gem, 128, MULTIPOLYGON, 2 ); Seguidamente, tr ejempl utilizand el tip genéric gemetry y el valr SRID indefinid de 0: CREATE TABLE rads ( rad_id INTEGER, rad_name VARCHAR ); SELECT AddGemetryClumn( rads, rads_gem, 0, GEOMETRY, 3 ); 27

46 Las relacines y medidas espaciales Para el presente trabaj, de tdas las funcines espaciales que psee PstGIS, se hiz us de una sla función; la cual se describe a cntinuación. ST_Distance - Calcula la distancia mínima cartesiana bi-dimensinal entre ds gemetrías en unidades pryectadas. Sinpsis flat ST_Distance(gemetry g1, gemetry g2); flat ST_Distance(gegraphy gg1, gegraphy gg2); flat ST_Distance(gegraphy gg1, gegraphy gg2, blean use_spherid); Ejempls --Gemetry example - units in planar degrees 4326 is WGS 84 lng lat unit=degrees SELECT ST_Distance( ST_GemFrmText( POINT( ),4326), ST_GemFrmText( LINESTRING( , ), 4326) ); st_distance Gemetry example - units in meters (SRID: Massachusetts state plane meters) (mst - accurate fr Massachusetts) SELECT ST_Distance( ST_Transfrm(ST_GemFrmText( POINT( ),4326),26986), ST_Transfrm(ST_GemFrmText( LINESTRING( , ), 4326) -,26986) ); st_distance Gemetry example - units in meters (SRID: 2163 US Natinal Atlas Equal area) (least - accurate) SELECT ST_Distance( ST_Transfrm(ST_GemFrmText( POINT( ),4326),2163), ST_Transfrm(ST_GemFrmText( LINESTRING( , ), 4326) -,2163) ); st_distance

47 -- Gegraphy example -- same but nte units in meters - use sphere fr slightly faster less - accurate SELECT ST_Distance(gg1, gg2) As spherid_dist, ST_Distance(gg1, gg2, false) As sphere_dist FROM (SELECT ST_GegraphyFrmText( SRID=4326;POINT( ) ) As gg1, ST_GegraphyFrmText( SRID=4326;LINESTRING( , ) ) As gg2 ) As f ; spherid_dist sphere_dist Platafrma de prgramación Java Enterprise Editin En l que se refiere a la platafrma de prgramación Java para la cnstrucción del presente trabaj, el sistema web ge-referenciad se divide en ds partes: el módul de cmunicacines, que se cnstruyó cn la platafrma de prgramación Java Standard Editin; y la tra parte, que sn ls móduls de seguridad, administración, mapas y reprtes que se cnstruyó cn la platafrma de prgramación Java Enterprise Editin y cn una arquitectura multicapa; cnsiderand estas cndicines, es cnveniente hacer referencia a la arquitectura. Tda vez, que se planteó cnstruir una aplicación multicapa se tuv que elegir la mejr tecnlgía que satisfaga las necesidades de mejra en la peratividad y aseguramient de la calidad. La platafrma Java EE (Java Enterprise Editin) prprcina el marc de trabaj necesari para la creación de aplicacines web en Java, basadas en una arquitectura multicapa (Martín Sierra, 2011). Plantead en ese cntext se prcedió a cnstruir una aplicación web en este sentid, debid a que ls requerimients del cliente se prestan para utilizar prcedimients de última tecnlgía y que además, se ajusten perfectamente a las necesidades de peratividad y seguridad del cliente. Existen varias características que psee Java Enterprise Editin, una de ellas es que: Utilizand las librerías incluidas en esta platafrma, es psible cnstruir rbustas aplicacines que pueden ser aljadas en una amplia gama de servidres y que sn capaces de ser ejecutadas desde diferentes tips de clientes (Martín Sierra, 2011). Entnces, cnsiderand las futuras necesidades que se presentarían para este tip de 29

48 aplicacines web, se ha planificad elabrar un sistema cn estas prestacines y servicis que a futur pueden escalar Arquitectura de tres capas Una aplicación web es un prgrama infrmátic que puede dar servici simultáneamente a múltiples usuaris que l ejecutan a través de Internet. Este tip de aplicacines se basan en l que se cnce cm una arquitectura de tres capas, dnde ls diferentes actres y elements implicads en la misma se encuentran distribuids en tres blques capas (Martín Sierra, 2011), pr l que dadas las necesidades actuales respect a las slucines infrmáticas en Internet, se planificó la cnstrucción de una aplicación web cn la arquitectura mencinada. Capa Cliente Capa Middle-tier Capa de dats Red Base de dats Ilustración 1.5: Arquitectura de tres capas. Fuente:(Martín Sierra, 2011). Estas capas sn: - Capa cliente - Capa intermedia - Capa de dats 30

49 Capa cliente Se trata de la capa cn la que interactúa el usuari de la aplicación, nrmalmente a través de un navegadr web. Realiza principalmente ds funcines: pr un lad se encarga de capturar ls dats de usuari cn ls que pera la capa intermedia y enviársels a ésta, y pr tr presentar al usuari ls resultads generads pr la aplicación. Las páginas web, cnstruidas mediante XHTML/CSS, sn las encargadas de implementar esta funcinalidad, ayudándse cm se ha vist de códig JavaScript/AJAX para mejrar la experiencia del usuari cn la aplicación (Martín Sierra, 2011) 11. Capa intermedia Esta capa está cnstituida pr la aplicación en sí, se encuentra la lógica de negci del sistema, es dnde se encuentra el cerebr del sistema; en esta capa se encuentra el servidr web y cntenedr de servlets que alja el códig fuente de la aplicación, también el módul de cmunicacines, ambs desarrllads en la platafrma Java. La aplicación de la capa intermedia es ejecutada pr un mtr de aplicación especial capaz de permitir que una misma instancia de ella pueda dar servici a múltiples clientes. Además de este mtr, ls servidres necesitan tr sftware, cncid cm servidr Web, que sirva de interfaz entre la aplicación y el cliente, realizand el diálg HTTP cn éste. De frma resumida se pdría decir que las funcines de la capa intermedia cnsisten en (Martín Sierra, 2011). - Recger ls dats enviads desde la capa cliente. - Prcesar la infrmación y, en general, implementar la lógica de la aplicación, incluyend el acces a ls dats. - Generar las respuestas para el cliente. Es precisamente en esta capa intermedia dnde el cntenedr de servlets y servidr Web actúa cm intermediari entre el cliente y la aplicación, dand lugar a que la platafrma de desarrll JEE gestine la infrmación cn tdas sus funcinalidades. 11 Martín Sierra, A. J. (2011). AJAX en JAVA EE. Madrid: RA-MA Editrial. 31

50 Capa de dats La capa de dats tiene cm misión el almacenamient permanente de la infrmación manejada pr la aplicación y la gestión de la seguridad de ls misms (Martín Sierra, 2011). La capa de dats del presente trabaj cnsiste en la base dats relacinal que funcina baj el RDBMS PstgreSQL cn su extensión para prcesamient de dats espaciales PstGIS; dnde se almacena de frma permanente ls dats necesaris para el funcinamient adecuad del sistema web ge-referenciad. Para la interperabilidad de esta capa cn la intermedia se utilizó la API de Persistencia de Java (Java Persistence API), la cual permite el manej de dats relacinales en aplicacines que usan la platafrma JEE aprvechand las ventajas de la rientación a bjets al interactuar cn una base de dats realacinal (siguiend el patrón de mape bjet-relacinal) Arquitectura Mdel Vista Cntrladr La capa intermedia se desarrlló en función de una arquitectura Mdel Vista Cntrladr (MVC), ya que es necesari un mdel que permita estructurar esta capa en una serie de blques cmpnentes, de md que cada un de ésts tengan funcines definidas dentr de la aplicación y puedan desarrllarse de manera independiente. Además, la arquitectura MVC se ajusta al desarrll de una aplicación cn la platafrma Java Enterprise Editin; arquitectura que prprcina una clara separación entre las distintas respnsabilidades de ls cmpnentes de la aplicación. 32

51 Capa intermedia Cntrladr (Servlet) Brwser Vista (JSP) Mdel (Clases) Base de dats Ilustración 1.6: Esquema de una aplicación MVC. Fuente: (Martín Sierra, 2011). Según la arquitectura MVC, la capa intermedia de una aplicación web puede dividirse en tres grandes blques funcinales: - Cntrladr - Vista - Mdel El Cntrladr El cntrladr de la capa intermedia se desarrlló creand varis servlets que hacen la función de cntrladr, ls cuales hacen la petición al Mdel para btener ls dats necesaris para presentársels a la Vista, viceversa. Se puede decir que el cntrladr es el cerebr de la aplicación. Tdas las peticines a la capa intermedia que se realicen desde el cliente sn dirigidas al cntrladr, cuya misión es determinar las accines a realizar para cada una e invcar el rest de ls cmpnentes de la aplicación (Mdel y Vista) para que realicen las accines requeridas en cada cas, encargándse también de td el prces. Así, en el cas de que una petición requiera enviar cm respuesta al cliente determinada infrmación existente en una base de dats, el cntrladr slicitará ls dats necesaris al mdel y, una vez recibids, se ls prprcinará a la vista para que ésta les aplique el frmat de presentación crrespndiente y le envíe la respuesta al cliente (Martín Sierra, 2011). 33

52 La Vista La Vista de la aplicación está basada en páginas JSP las cuales btienen la infrmación de la capa de dats en su mayría a través de AJAX asíncrn utilizand archivs JavaScript (más adelante se detallará la utilización de AJAX asíncrn y JavaScript) de igual frma que para el enví de infrmación a la capa de dats. También se encuentra cnfrmada de archivs CSS que se encargan del diseñ gráfic de las páginas JSP. Tal y cm deduce (Martín Sierra, 2011), la Vista es la encargada de generar las respuestas que deben ser enviadas al cliente. Cuand esta respuesta tiene que incluir dats prprcinads pr el cntrladr, el códig XHTML de la página n será fij, sin que deberá ser generad de frma dinámica, pr l que su implementación dependerá de una página JSP. Cuand la infrmación que se va a enviar es estática, es decir, n depende de dats extraíds de un almacenamient extern, pdrá ser implementada pr una página dcument XHTML. Es precisamente en la Vista dnde AJAX juega un papel imprtante. Tant las páginas JSP cm las XHTML pueden incluir códig script del cliente que se cmunique en segund plan cn el servidr para btener dats de él. En este cas, una vez que la Vista ha generad la respuesta y la ha enviad al cliente, las peticines realizadas al servidr desde el códig AJAX serán dirigidas al cntrladr, de este md, cuand el servlet recibe la petición desde una aplicación AJAX cliente, recuperará ls dats necesaris a través del mdel y, en vez de encaminar la petición a la Vista para que vuelva a generar la respuesta, l que supndría una recarga de la página, aplicará a ls dats el frmat crrespndiente (text plan, XML, JSON) y ls enviará directamente a la página cliente que hiz la petición (Martín Sierra, 2011). El Mdel El Mdel se implementó creand varis paquetes de clases Java cnvirtiéndse en capas del mdel, estas sn: - DAO (Data Access Object): La capa de Objets de Acces a Dats, es aquella que cntiene a ls bjets que suministran una interfaz cmún entre la capa intermedia y la de dats. 34

53 - DTO (Data Transfer Object): La capa de Objets de Transferencia de Dats, es aquella que cntiene ls bjets que transfieren dats entre la aplicación y la base de dats cnjuntamente cn ls DAOs y el bjet JPA. Ests bjets n pseen cmprtamient algun, except pr almacenar y devlver su prpia infrmación mediante accesres y mutadres (getters and setters). Cabe señalar que mediante el us de JPA cada bjet DTO maneja su tabla de base de dats crrespndiente. - JPA (Java Persistence API): La capa de la API de Persistencia de Java psee el bjet que hace us de la JPA y ptimiza la creación de instancias EntityManagerFactry. La API de persistencia de Java Para la elabración de la capa de persistencia de dats la cual permite una prgramación rientada a bjets haciend que las tablas de base de dats y sus relacines se manejen cm tales y lgrand que ests bjets persistan, es decir que se mantengan en memria cn tdas sus prpiedades y métds en lugar de efectuar cnsultas SQL en td mment, es necesari hacer us de la API de persistencia de Java (Java Persistence API - JPA). Tal API (Interfaz de prgramación de aplicación) cnsiente en hacer que la escritura de códig para el manej de dats se cnvierta en una pieza natural de la arquitectura rientada a bjets. Es imprescindible admitir que ls dats sn una parte integral de cualquier aplicación. Cada element se detiene al encntrarse cn la capa de persistencia, dnde ls desarrlladres Java tradicinalmente han tenid que escribir cnsultas SQL cmplejas, las cuales pueden llegar a ser difíciles de manejar a medida que la aplicación crece. Pr esta razón es necesari implementar tal API que permita tratar estas cnsultas cm bjets, y aplicar ls cncepts de la rientación a bjets cm la encapsulación, abstracción, herencia y plimrfism a ests. De hech, la cmunidad Java ha prducid numerss enfques rientads a bjets para la persistencia de dats: EJB, JDO, Hibernate, y Tplink sn slucines valisas que han abrdad este prblema. La API de Persistencia de Java, JPA, es una API de persistencia estándar presentada cm parte de la platafrma Java EE 5. La especificación JPA fue primer presentada cm parte de la JSR 220: EJB 3.0, cn el 35

54 bjetiv de simplificar el mdel de prgramación de ls EJB entity beans. Aunque td cmenzó cn ls entity beans y fue empaquetada cn Java EE 5.0, JPA se puede utilizar fuera del cntenedr en un entrn Java SE (Das, 2008) 12. Justificación del us de JPA Una pregunta fundamental que se hacen ls desarrlladres Java es: Pr qué utilizar JPA? Pr qué necesit saber cóm utilizar esta API cuand herramientas de mape bjet-relacinal cm Hibernate y Tplink se encuentran ya dispnibles? La respuesta es que JPA n es una nueva tecnlgía; al cntrari, ha reclectad las mejres ideas de tecnlgías de persistencia existentes cm Hibernate, Tplink y JDO. El resultad es una especificación estandarizada que ayuda a cnstruir una capa de persistencia que es independiente de cualquier prveedr en particular (Das, 2008). El presente trabaj hace us de la implementación de JPA de códig abiert OpenJPA, una implementación desarrllada pr Apache Sftware Fundatin. Se ha elegid esta implementación pr ser una implementación diferente a las cnvencinales cm Hibernate EclipseLink, también prque usa del cntenedr de servlets Apache Tmcat el cual se acpla idealmente a OpenJPA, ya que ambs pertenecen a Apache. Se usa la versión pr ser la versión más estable publicada de este sftware. Us de JPA En esta sección se hace referencia al artícul publicad pr (Das, 2008), ya que se explica mediante un ejempl el us de JPA para el entrn al cual se enfca este trabaj. Se necesitan tres elements para implementar un prgrama funcinal JPA: - Una clase entidad - Un archiv persistence.xml - Una clase a través de la cual se insertará, actualizará encntrará una entidad. 12 Das, A. (17 de Ener de 2008). JAVAWORLD. Recuperad el 24 de Diciembre de 2012, de 36

55 JPA trata td acerca de persistencia de dats, pr l tant es necesari explicar su funcinamient cn un diseñ de almacenamient de dats. Se asume que se tiene una tabla CLIENTE, cm se muestra en la Tabla 1.2. Tabla 1.2: Esquema de la tabla CLIENTE. Fuente: (Das, 2008). NOMBRE PK? TIPO NULL? CLI_ID Y INTEGER NOT NULL NOMBRE VARCHAR(50) NOT NULL APELLIDO DIRECCION VARCHAR(50) VARCHAR(50) PROFESION VARCHAR(20) NOT NULL CIUDAD VARCHAR(25) COD_POSTAL VARCHAR(10) NOT NULL CLI_TIPO VARCHAR(10) NOT NULL ULTIMA_FECHA_UPDATED TIMESTAMP NOT NULL El bjet de persistencia: La Entidad En vista de que JPA trata td acerca de mape entidad-relación, es necesari mirar el diseñ del bjet entidad Cliente dad cm ejempl. El bjet entidad n es más que una clase POJO 13 cm una entidad marcada cn la tal y cm se muestra en el siguiente listad: imprt javax.persistence.*; imprt java.i.serializable; imprt = CLIENTE ) //Nmbre de la entidad public class Cliente implements Serializable{ private lng cliid; private String nmbre; private String apellid; 13 Plane Old Java Object: Objet Java Simple Plan 37

56 private String direccin; private String prfesin; private String ciudad; private String cdpstal; private String clitip; private Date updatedtime; // Aquí van ls accesres y mutadres... } Listad 1.1: La entidad Cliente. Fuente: (Das, 2008). La entidad Cliente necesita saber cóm mapear ls atributs ( prpiedades) a la tabla CLIENTE. Se puede hacer est ya sea a través de un archiv de cnfiguración rm.xml (similar al archiv.hbm en Hibernate), cm se muestra en elimprt javax.persistence.*; imprt java.i.serializable; imprt = "CLIENTE") //Nmbre de la entidad public class Cliente implements Serializable //significa la clave = "CLI_ID", nullable = = GeneratinType.AUTO) private lng = "NOMBRE", nullable = false,length = 50) private String = "APELLIDO", length = 50) private String apellid; // Pr defect el nmbre de clumna es el mism que el nmbre de atribut private String = "PROFESION",nullable = false) private String prfesin; // Pr defect el nmbre de clumna es el mism que el nmbre de atribut private String = "COD_POSTAL",nullable = false) // Nmbre de la crrespndiente clumna de base de dats private String = "CLI_TIPO", length = 10) private String 38

57 @Clumn(name = "ULTIMA_FECHA_UPDATED") private Date updatedtime; // Getters and setters g here... } Listad 1.2, a través de antacines JPA. imprt javax.persistence.*; imprt java.i.serializable; imprt = "CLIENTE") //Nmbre de la entidad public class Cliente implements Serializable //significa la clave = "CLI_ID", nullable = = GeneratinType.AUTO) private lng = "NOMBRE", nullable = false,length = 50) private String = "APELLIDO", length = 50) private String apellid; // Pr defect el nmbre de clumna es el mism que el nmbre de atribut private String = "PROFESION",nullable = false) private String prfesin; // Pr defect el nmbre de clumna es el mism que el nmbre de atribut private String = "COD_POSTAL",nullable = false) // Nmbre de la crrespndiente clumna de base de dats private String = "CLI_TIPO", length = 10) private = "ULTIMA_FECHA_UPDATED") private Date updatedtime; // Getters and setters g here... } Listad 1.2: La entidad Cliente cn antacines. Fuente: (Das, 2008). 39

58 A cntinuación se hace una breve explicación de cada antación y alg más: - Las antacines se definen en javax.persistence, pr l que es necesari imprtar dich paquete. significa que una clase particular es una clase de entidad. Si el nmbre de la entidad es diferente del nmbre de la tabla, a cntinuación, la se utiliza, de l cntrari, n se requiere. prprcina el nmbre de la clumna en una tabla, si es diferente del nmbre de atribut (de manera predeterminada, ls ds nmbres se supne que sn el mism). representa la clave principal. significa un camp de versión en una entidad. JPA utiliza un camp de versión para detectar mdificacines simultáneas a un registr de almacenamient de dats. Cuand el tiemp de ejecución de la JPA detecta varis intents de mdificar el mism registr al mism tiemp, se prduce una excepción a la transacción al intentar cnfirmar el últim registr. Est le impide sbrescribir la cnfirmación anterir cn dats bslets. Pr defect, tds ls camps sn de que persisten tal y cm se encuentran en la base de significa una estrategia para asignar un valr únic a ls camps de identificación autmática. Ls tips de estrategias dispnibles sn IDENTITY, SEQUENCE, TABLE y AUTO. La estrategia pr defect es AUTO, cuya aplicación se deja implementar al prveedr JPA (OpenJPA se implementa a través de una secuencia de tabla). Hay alguns punts a tener en cuenta a la hra de crear una clase de entidad: - JPA permite que clases persistentes hereden de clases n persistentes, clases persistentes hereden de tras clases persistentes y clases n persistentes hereden de clases persistentes. - La clase de entidad debe tener un cnstructr sin arguments pr defect. - La clase de entidad n debe ser final. 40

59 - Clases persistentes n puede heredar de ciertas clases de sistema implementadas de frma nativa cm java.net.scket y java.lang.thread. - Si una clase persistente hereda de una clase n persistente, ls camps de la superclase n persistente n puede ser persistente. La unidad de persistencia Estand la clase entidad ya cmpleta, se puede prseguir cn el archiv persistence.xml, el cual se muestra en el Listad 1.3. Este es un archiv XML ubicad en la carpeta META-INF; es usad para especificar el nmbre del prveedr de persistencia, ls nmbres de las clases entidad, las prpiedades cm la URL de cnexión de la base de dats, el manejadr, el usuari, la cntraseña y trs. <?xml versin="1.0" encding="utf-8"?> <persistence xmlns="http://java.sun.cm/xml/ns/persistence" xmlns:xsi="http://www.w3.rg/2001/xmlschema-instance" versin="1.0"> <persistence-unit name="tesisjpa" transactintype="resource_local"> <prvider> rg.apache.penjpa.persistence.persistenceprviderimpl </prvider> <class>ec.edu.utn.gpr.mdel.dt.urusuari</class> <class>ec.edu.utn.gpr.mdel.dt.uravl</class> <class>ec.edu.utn.gpr.mdel.dt.guurdat</class> <prperties> <prperty name="penjpa.cnnectinurl" value="jdbc:pstgresql:db_tesis_ras"/> <prperty name="penjpa.cnnectindrivername" value="rg.pstgresql.driver"/> <prperty name="penjpa.cnnectinusername" value="pstgres"/> <prperty name="penjpa.cnnectinpasswrd" value="sasa"/> <prperty name="penjpa.lg" value="sql=trace"/> </prperties> </persistence-unit> </persistence> Listad 1.3: Archiv persistence.xml. Fuente prpia. Alguns punts imprtantes a tener en cuenta sbre el Listad 1.3 y el archiv persistence.xml: 41

60 - El archiv persistence.xml puede tener varias unidades de persistencia. Cada unidad puede ser utilizada pr diferentes prveedres JPA se puede utilizar para persistir a diferentes bases de dats. - El nmbre del prveedr de persistencia específic del vendedr se especifica en la etiqueta <prvider>. El prveedr de persistencia para OpenJPA es rg.apache.penjpa.persistence.persistenceprviderimpl. - Ls nmbres de las clases de entidad se especifican en la etiqueta <clase>. - Las prpiedades de cnexión de base de dats se puede especificar en la etiqueta <prperties>.se debe tener en cuenta que el nmbre de la prpiedad serán diferentes para cada prveedr. - OpenJPA tiene su prpia facilidad de lgging pr defect, el nivel pr defect es INFO. Clase utilitaria de JPA Cada vez que se utilice una arquitectura MVC cnjuntamente cn la utilización de JPA es necesari crear una clase utilitaria que ptimice la creación de bjets de tip JPA cm su reclección (eliminación de bjets de la memria). Pr l tant, se hace us de la clase nativa de Java, ThreadLcal, la cual se la utiliza para btener el bjet actual asignad al hil del prces, pr l que permite reducir el númer de bjets creads en la memria del servidr, en el presente cas. JPA interactúa cn la capa de dats a nivel de sesión, a nivel de transacción y a nivel de entidad, pr l que la clase utilitaria se divide en estas tres partes tal y cm se puede bservar en el Listad 1.4. package ec.edu.utn.gpr.mdel.jpa; imprt java.i.serializable; imprt javax.persistence.entitymanager; imprt javax.persistence.entitymanagerfactry; imprt javax.persistence.entitytransactin; imprt javax.persistence.persistence; publicclass JPAUtil { privatestatic EntityManagerFactry privatestaticfinal ThreadLcal tls = new 42

61 privatestaticfinal ThreadLcal tltx = new ThreadLcal(); //Runtime cnfiguratin prtectedstaticsynchrnized EntityManagerFactry getsessinfactry( String name) { if (sf == null) sf = Persistence.createEntityManagerFactry(name); returnsf; } //Sessin publicstaticvid pensessin() { EntityManager s = (EntityManager) tls.get(); if (s == null) { s = getsessinfactry("tesisjpa").createentitymanager(); tls.set(s); } } publicstatic EntityManager getcurrentsessin() { return (EntityManager) tls.get(); publicstaticvid clsesessin() { EntityManager s = (EntityManager) tls.get(); tls.set(null); if (s!= null&& s.isopen()) s.clse(); } //Transactin publicstaticvid begintransactin() { EntityTransactin tx = (EntityTransactin) tltx.get(); if (tx == null) { tx = getcurrentsessin().gettransactin(); tx.begin(); tltx.set(tx); } publicstaticvid cmmittransactin() { EntityTransactin tx = (EntityTransactin) tltx.get(); if (tx!= null&& tx.isactive()) tx.cmmit(); tltx.set(null); } 43

62 @SuppressWarnings("unchecked") publicstaticvid rllbacktransactin() { EntityTransactin tx = (EntityTransactin) tltx.get(); tltx.set(null); if (tx!= null&& tx.isactive()) tx.rllback(); } //Entity Management publicstaticvid create(serializable bj) { getcurrentsessin().persist((object) bj); publicstatic Object Class clz, Serializable key) { returngetcurrentsessin().find(clz, (Object) key); } publicstatic Object update(serializable bj) { returngetcurrentsessin().merge((object) bj); } } publicstaticvid delete(serializable bj) { getcurrentsessin().remve((object) bj); } Listad 1.4: Clase utilitaria para JPA. Fuente prpia. Primeramente, se crea tres instancias de bjets, la primera de tip EntityManagerFactry, la cual permite manejar de manera óptima ls bjets entidades; la segunda y la tercera de tip ThreadLcal, la cual permite btener el hil de prces actual al cual está referenciad un bjet en este cas bjets de tip EntityManager y EntityTransactin. Seguidamente el métd getsessinfactry() el que se encarga de la cnfiguración en tiemp de ejecución, el que se encarga de cnstruir pr única y primera vez al bjet EntityManager; a cntinuación la sección del manej a nivel de sesión cuya finalidad es abrir, cerrar y btener la sesión actual, es decir el bjet EntityManager; lueg se encuentra la sección del manej de la transacción, esta cntiene ls métds encargads de iniciar, cnfirmar y cancelar la transacción; y finalmente, se encuentra la sección del manej de la entidad cuya finalidad es crear, btener, actualizar y eliminar el bjet entidad en cuestión, es decir el bjet que cntiene la infrmación crrespndiente a una fila de una tabla de la base de dats. 44

63 En la arquitectura MVC, la lógica de negci de la aplicación, incluyend el acces a ls dats y su manipulación, está encapsulada dentr del mdel. En una aplicación JAVA EE, el mdel puede ser implementad mediante clases estándar Java a través de Enterprise Java Beans (Martín Sierra, 2011) Platafrma de prgramación Java Standard Editin La tra parte de la aplicación que cnsiste en el módul de cmunicacines se desarrlló cn la platafrma de prgramación Java Standard Editin, la cual implementa una aplicación para servidr. Es una platafrma que frece tdas las funcinalidades necesarias para desarrllar una aplicación que permita la interacción adecuada del servidr cn el AVL. En la Ilustración 1.7 se muestran en frma de diagrama cnceptual las tecnlgías cmpnentes de Java. Ilustración 1.7: Tecnlgías cmpnentes de Java. Fuente: Ls paquetes librerías de Java utilizads para el desarrll de la aplicación del módul de cmunicacines se detallan a cntinuación: - java.i: Prprcina las entradas y salidas del sistema a través de flujs de dats, la serialización y el sistema de archivs. java.i.bufferedinputstream: UnBufferedInputStream añade funcinalidad a tr fluj de entrada, es decir, la capacidad para amrtiguar la entrada y para apyar la marca y restablecer métds. 45

64 java.i.bufferedoutputstreamm: La clase implementa un fluj de salida de buffer. java.i.bufferedreader: Lee text desde un fluj de caracteres de entrada, almacenand en un búfer, a fin de prprcinarls para la lectura eficiente de caracteres, matrices y líneas. java.i.bufferedwriter: Escribe text en un fluj de caracteres de salida, almacenand en búfer, a fin de prprcinarls para la escritura eficiente de caracteres individuales, matrices y cadenas. java.i.file: Una representación abstracta de archivs y rutas de directris. java.i.fileinputstream: UnFileInputStream btiene bytes de entrada desde un archiv en un sistema de archivs. java.i.fileoutputstream: Un fluj de salida del archiv es una secuencia de salida para escribir dats en un archiv un FileDescriptr. java.i.filereader: Clase cnveniente para leer archivs de caracteres. java.i.ioexceptin: Señales de que una excepción de E/S de algún tip se ha prducid. - java.net: Prprcina las clases para la implementación de aplicacines de red. java.net.serverscket: Esta clase implementa ls sckets de servidr. java.net.scket: Esta clase implementa ls sckets del cliente (también llamadsimplemente "sckets"). - java.util: Cntiene el marc de las cleccines, el legad de clases heredadas, el mdel de event, las facilidades de fecha y hra, la internacinalización, y la miscelánea de clases utilitarias (tkenizer de cadena, generadr de númers aleatris, matriz de bits). java.util.arraylist: Implementación de una matriz que puede cambiar su tamañ de la interfaz List. java.util.cllectin: La interfaz raíz en la jerarquía de cleccines. java.util.list: Una clección rdenada (también cncid cm una secuencia). 46

65 - java.sql: Prprcina la API para accedery prcesar ls dats almacenads en un rigen de dats (pr l general una base de dats relacinal) usand el lenguaje de prgramación Java. java.sql.cnnectin: Una cnexión (sesión) cn una base de dats específica. java.sql.drivermanager: El servici básic para la gestión de un cnjunt de drivers JDBC. Debe tenerse en cuenta que, la interfaz DataSurce, nueva en la API de JDBC 2.0, prprcina tra manera de cnectarse a un rigen de dats. java.sql.resultset: Una tabla de dats que representan un cnjunt de resultads de base de dats, que nrmalmente se genera mediante la ejecución de una instrucción que cnsulta la base de dats. java.sql.resultsetmetadata: Un bjet que puede ser utilizad para btener infrmación sbre ls tips y las prpiedades de las clumnas de un bjet ResultSet. java.sql.sqlexceptin: Una excepción que prprcina infrmación sbre un errr de base de dats de acces u trs errres. java.sql.statement: El bjet utilizad para la ejecución de una sentencia SQL estática y la devlución de ls resultads que prduce. En el Anex I se puede encntrar el diagrama de clases UML del módul de cmunicacines desarrllad para el presente trabaj Prgramación de sckets Para que sea psible la interacción del servidr cn el AVL y así rastrear el vehícul en cuestión, es necesari realizar una prgramación de sckets en el servidr cm tal. Así, el AVL tendrá la capacidad de pder cmunicarse cn el servidr dnde se encuentra aljada la aplicación eb del presente trabaj; pr l que es necesari implementar una platafrma de cmunicación cliente/servidr. A cntinuación se hace referencia a la prgramación de sckets explicada y publicada pr: (Buyya, Selvi, & Chu, 2009). 47

66 Cmunicación cliente/servidr A un nivel básic, ls sistemas basads en red cnsisten en un servidr, en un cliente y en un medi de cmunicación cm se muestra en la Ilustración 1.8. Un cmputadr ejecutand un prgrama que hace una petición de servicis es llamad máquina cliente. Un cmputadr ejecutand un prgrama que ferta servicis requerids pr un más clientes es llamad máquina servidr. El medi de cmunicación puede ser una red alámbrica inalámbrica. Ilustración 1.8: Cmunicación Cliente/Servidr. Fuente (Buyya, Selvi, & Chu, 2009) 14. Generalmente, ls prgramas que se ejecutan en máquinas cliente hacen peticines a un prgrama (a menud cncid cm prgrama de servidr) que se ejecuta en una máquina servidr. Ests implican servicis de red prprcinads pr la capa de transprte, que es parte de la pila de sftware de Internet, a menud llamad TCP / IP (Transprt Cntrl Prtcl / Internet Prtcl) de pila, que se muestra en la Ilustración 1.9. La capa de transprte cmprende ds tips de prtcls, TCP (Transprt Cntrl Prtcl) y UDP (User Datagram Prtcl). Las interfaces de prgramación más utilizadas para ests prtcls sn ls cnectres sckets. 14 Buyya, R., Selvi, S. T., & Chu, X. (2009). Object-Oriented Prgramming with Java.Melburne: McGraw Hill. 48

67 Ilustración 1.9: Pila de sftware TCP/IP. Fuente (Buyya, Selvi, & Chu, 2009). TCP es un prtcl rientad a la cnexión que prprcina un fiable fluj de dats entre ds cmputadres. Alguns ejempls de aplicacines que utilizan dichs servicis sn HTTP, FTP y Telnet. UDP es un prtcl que envía paquetes de dats independientes, llamads datagramas, de un cmputadr a tr sin garantías sbre su llegada y su secuenciación. Alguns ejempls de aplicacines que utilizan ests servicis incluyen el servidr de relj y Ping. Ls prtcls TCP y UDP utilizan puerts para asignar ls dats de entrada a un prces en particular que se ejecuta en un cmputadr. Un puert está representad pr un valr (16-bit) enter psitiv. Alguns puerts han sid reservads para sprtar servicis cmunes y bien cncids: - ftp 21/tcp - telnet 23/tcp - smtp 25/tcp - lgin 513/tcp - http 80/tcp,udp - https 443/tcp,udp Ls prcess/servicis a nivel de usuari pr l general utilizan un númer de puert >=

68 Ilustración 1.10: Asignación TCP/UDP de paquetes entrantes al puert/prces adecuad. Fuente (Buyya, Selvi, & Chu, 2009). Las tecnlgías Java rientadas a bjets tales cm: Sckets (Cnectres), Threads (Hils), RMI, clustering, web services (servicis web); se han cnvertid en las principales slucines para la creación de extensas y cmplejas aplicacines de Internet prtables, eficientes y sstenibles. Ls sckets y cmunicación basada en sckets Ls sckets prprcinan una interfaz para la prgramación de redes en la capa de transprte. La cmunicación en red mediante sckets es muy similar a la realización de E/S de archivs. De hech, el identificadr de scket es tratad cm identificadr de archiv. Ls flujs (streams) utilizads en la peración de E/S de archivs también sn aplicables a la E/S basada en scket. La cmunicación basada en scket es independiente de un lenguaje de prgramación utilizad para su implementación. Est significa que un prgrama de sckets escrit en lenguaje Java puede cmunicarse cn un prgrama de scket n escrit en Java (pr ejempl C C++). Un servidr (prgrama) se ejecuta en un equip específic y tiene un scket que está enlazad a un puert específic. El servidr escucha al scket pr un cliente que haga una slicitud de cnexión (véase la Ilustración 1.11a). Si td va bien, el servidr acepta la cnexión (véase la Ilustración 1.11b). Una vez aceptad, el servidr btiene un nuev scket enlazad a un puert diferente. Se necesita un nuev scket (pr cnsiguiente, un númer de puert diferente) para que pueda cntinuar escuchand al 50

69 scket riginal pr slicitudes de cnexión mientras está sirviend al cliente cnectad. Ilustración 1.11: Establecimient de ruta de acces para la cmunicación de ds vías entre un cliente y un servidr. Fuente (Buyya, Selvi, & Chu, 2009). Prgramación de sckets y la clase java.net Un scket es un punt final de un enlace de cmunicación bidireccinal entre ds prgramas que se ejecutan en la red. Un scket está enlazad a un númer de puert de manera que la capa TCP puede identificar la aplicación en dnde ls dats están siend enviads. Java prprcina un cnjunt de clases, que se definen en un paquete denminad java.net, para permitir el rápid desarrll de aplicacines de red. Las principales clases, interfaces y excepcines en el paquete java.net simplifican la cmplejidad invlucrada en la creación de prgramas cliente y servidr, ests sn: Clases - CntentHandler - DatagramPacket - DatagramScket - DatagramScketImpl - HttpURLCnnectin - InetAddress - MulticastScket - ServerScket - Scket - ScketImpl - URL 51

70 - URLCnnectin - URLEncder - URLStreamHandler Interfaces - CntentHandlerFactry - FileNameMap - ScketImplFactry - URLStreamHandlerFactry Excepcines - BindExceptin - CnnectExceptin - MalfrmedURLExceptin - NRuteTHstExceptin - PrtclExceptin - ScketExceptin - UnknwnHstExceptin - UnknwnServiceExceptin Ya que, de acuerd al estudi realizad en el presente trabaj acerca de ls prtcls TCP y UDP, y su fiabilidad de utilización y ptimización de ls recurss tecnlógics, se ha definid que se use el prtcl UDP pr su baj cste en lugar del prtcl TCP, aunque n sea tan fiable la transmisión de ls dats basads en el prtcl UDP. Pr l tant, se ha hech el estudi de la prgramación de sckets basada en UDP. Prgramación de sckets basada en UDP Cm ya se ha dich, TCP garantiza la entrega de paquetes y cnserva su rden de destin. A veces, estas características n sn necesarias y, ya que n vienen sin csts de rendimient, sería mejr utilizar un prtcl de transprte liger. Este tip de servici se realiza mediante el prtcl UDP que transprta paquetes de datagramas. Ls paquetes de datagramas se utilizan para implementar un servici de entrega de paquetes sin cnexión sprtada pr el prtcl UDP. Cada mensaje se transfiere desde la máquina de rigen hacia el destin basándse en la infrmación cntenida dentr de ese paquete. Es significa que, cada paquete tiene que tener dirección de destin y cada paquete pdría ser direccinad de manera distinta, y pdría llegar en cualquier rden. La entrega de paquetes n está garantizada. El frmat de un paquete de datagramas es: 52

71 Java sprta la cmunicación de datagramas mediante las siguientes clases: - DatagramPacket - DatagramScket La clase DatagramPacketcntiene varis cnstructres que pueden ser usads para crear bjets de paquete. Un de ells es: DatagramPacket(byte[] buf, int length, InetAddress address, int prt); Este cnstructr se utiliza para crear un paquete de datagrama para el enví de paquetes de lngitud length al númer de puert específic en el hst especificad. El mensaje a transmitir se indica en el primer argument. Ls principales métds de la clase DatagramPacket sn: byte[] getdata() Devuelve el buffer de dats. int getlength() Devuelve la lngitud de ls dats a enviarse la lngitud de ls dats recibids. vidsetdata(byte[] buf) Mdifica el buffer de dats para este paquete. vid setlength(int length) Mdifica la lngitud para este paquete. La clase DatagramScket admite varis métds que pueden ser usads para transmitir recibir un datagrama de dats pr la red. Ls ds métds principales sn: vid send(datagrampacket p) Envía un paquete de datagrama desde este scket. vidreceive(datagrampacket p) Recibe un paquete de datagrama desde este scket. Un prgrama simple de servidr UDP que espera peticines del cliente y lueg acepta el mensaje (datagrama) y envía de vuelta el mism mensaje, está dad en el Listad 53

72 1.5 de abaj. Pr supuest, un prgrama de servidr extendid puede manipular ls mensajes/slicitudes del cliente y enviar un nuev mensaje cm respuesta. // UDPServer.java: A simple UDP server prgram. imprt java.net.*; imprt java.i.*; publicclass UDPServer { publicstaticvid main(string args[]) { DatagramScket ascket = null; if (args.length< 1) { System.ut.println("Usage: java UDPServer <Prt Number>"); System.exit(1); } try { int scket_n = Integer.valueOf(args[0]).intValue(); ascket = new DatagramScket(scket_n); byte[] buffer = newbyte[1000]; while (true) { DatagramPacket request = newdatagrampacket(buffer, buffer.length); ascket.receive(request); DatagramPacket reply = newdatagrampacket(request.getdata(), request.getlength(), request.getaddress(), request.getprt()); ascket.send(reply); } } catch (ScketExceptin e) { System.ut.println("Scket:" + e.getmessage()); } catch (IOExceptin e) { System.ut.println("IO: " + e.getmessage()); } finally { if (ascket!= null) ascket.clse(); } } } Listad 1.5: Prgrama de servidr UDP. Fuente (Buyya, Selvi, & Chu, 2009). //UDPClient.java: A simple UDP client prgram. imprt java.net.*; imprt java.i.*; publicclassudpclient { publicstaticvid main(string args[]) { // args give message cntents and server hstname DatagramScket ascket = null; 54

73 if (args.length< 3) { System.ut.println("Usage: java UDPClient <message><hst name><prt number>"); System.exit(1); } try { ascket = new DatagramScket(); byte[] m = args[0].getbytes(); InetAddress ahst = InetAddress.getByName(args[1]); int serverprt = Integer.valueOf(args[2]).intValue(); DatagramPacket request = newdatagrampacket(m, args[0].length(), ahst, serverprt); ascket.send(request); byte[] buffer = newbyte[1000]; DatagramPacket reply = newdatagrampacket(buffer, buffer.length); ascket.receive(reply); System.ut.println("Reply: " + new String(reply.getData())); } catch (ScketExceptin e) { System.ut.println("Scket: " + e.getmessage()); } catch (IOExceptin e) { System.ut.println("IO: " + e.getmessage()); } finally { if (ascket!= null) ascket.clse(); } } } Listad 1.6: Prgrama de cliente UDP. Fuente (Buyya, Selvi, & Chu, 2009). Un prgrama cliente crrespndiente para la creación de un datagrama para lueg enviarl al prgrama de servidr del Listad 1.5 para lueg aceptar una respuesta, se muestra en el Listad JavaScript JavaScript más que un lenguaje de prgramación se ha cnvertid en una herramienta fundamental en el desarrll de la interfaz de usuari de una aplicación web, gracias a que se puede manejar tds ls cmpnentes funcinales de un navegadr web y manipular la experiencia del usuari de acuerd a las necesidades del mism y las capacidades del desarrlladr del sftware. Pr l tant, en esta sección se hace una 55

74 referencia bibligráfica a (Zakas, 2006) 15, dand lugar a un breve resumen de este lenguaje de prgramación el cual se detalla a cntinuación. Desde su aparición en 1995, el principal bjetiv de JavaScript fue encargarse de la validación de entradas que, previamente, se había dejad en mans de lenguajes del lad del servidr cm Perl. Antes se necesitaba un viaje de ida y vuelta al servidr para determinar si un camp bligatri se había dejad en blanc si el valr intrducid era válid. Netscape Navigatr intentó cambiarl cn la intrducción de JavaScript. La psibilidad de realizar validacines básicas en el cliente era muy atractiva en una épca dnde predminaban ls módem telefónics de 28.8 kbps. Esta reducida velcidad cnvertía a ls viajes al servidr en un alarde de paciencia. Desde entnces, JavaScript ha evlucinad hasta cnvertirse en una característica básica de ls principales navegadres web del mercad. Además de sus vinculacines cn la validación de dats, ahra interactúa cn tds ls aspects de la ventana del navegadr y sus cntenids. Inclus Micrsft, cn su prpi lenguaje de creación de secuencias de cmands del lad del servidr (VBScript), ha acabad pr incluir su prpia implementación de JavaScript desde las primeras versines de Internet Explrer. Debid a la aparición de Micrsft en el mercad y debid a la rápida evlución de este nuev lenguaje de secuencia de cmands, fue necesaria una estandarización para que el lenguaje fuera cmpatible cn tds ls navegadres web del mercad; pr l que surge ECMAScript cm estándar para definir el nuev lenguaje de secuencia de cmands. Aunque ECMAScript es un estándar imprtante, n es la única parte de JavaScript y, ciertamente, tampc la única parte que se ha estandarizad. De hech, una implementación cmpleta de JavaScript se cmpne de tres partes, cm se indica en lailustración 1.12: - El núcle (ECMAScript). 15 Zakas, N. C. (2006). Prfesinal JavaScript para desarrlladres Web. Madrid: Edicines Anaya Multimedia. 56

75 - El Mdel de bjets de dcument (DOM). - El Mdel de bjets de navegadr (BOM). JavaScript ECMAScript DOM BOM Ilustración 1.12: Cmpnentes de una implementación JavaScript. Fuente (Zakas, 2006) ECMAScript ECMAScript n está vinculad a ningún navegadr cncret y, en realidad, carece de métds para entradas y salidas del usuari (n es cm en C, que depende de biblitecas externas para realizar estas tareas). En l que respecta a ECMAScript, un navegadr web es un entrn anfitrión per n el únic. En realidad, muchs trs entrns (cm ScriptEase de Nmbas y ActinScript de Macrmedia, utilizads en Flash y Directr MX) pueden aljar implementacines de ECMAScript. ECMAScript fuera del navegadr especifica l siguiente (Zakas, 2006): - Sintaxis - Tips - Instruccines - Palabras clave - Palabras reservadas - Operadres - Objets ECMAScript es simplemente una descripción que define tdas las prpiedades, métds y bjets de un lenguaje de secuencias de cmands. Otrs lenguajes, cm JavaScript (véase la Ilustración 1.13), implementan ECMAScript cm base de sus funcines (Zakas, 2006). 57

76 ECMAScript JavaScript ActinScript ScriptEase Ilustración 1.13: Lenguajes que implementan ECMAScript. Fuente (Zakas, 2006) Edicines de ECMAScript ECMAScript se separa en edicines y n en versines ya que se define el estándar ECMA-262. Al igual que trs estándares, ECMA-262 se puede mdificar y actualizar. Cuand se prduce una actualización imprtante, se publica una nueva edición del estándar. La última edición de ECMA-262 es la 3, publicada en diciembre de Cmpatibilidad de ECMAScript en navegadres web En la siguiente tabla se muestra la cmpatibilidad de cada navegadr existente en el mercad cn la edición del estándar ECMAScript. Tabla 1.3: Cmpatibilidad de ECMAScript en navegadres web. Fuente (Zakas, 2006). Navegadr Cmpatibilidad cn ECMAScript Netscape Navigatr Netscape Navigatr Netscape Navigatr Netscape Navigatr Editin 1 Netscape 6.0 (Mzilla ) Editin 3 Internet Explrer Internet Explrer Internet Explrer 5.0 Editin 1 Internet Explrer 5.5+ Editin 3 Opera Editin 2 Opera 7.2+ Editin 3 58

77 Safari / Knquerr ~2.0+ Editin El Mdel de Objets de Dcument (DOM) El DOM es utilizad para mdificar mediante códig JavaScript en la capa cliente cualquier element de una página web sin tener que vlver a cargarla, se l puede definir de la siguiente frma: El Mdel de bjets de dcument (DOM) es una interfaz de prgramación de aplicacines (API) para HTML y XML. El DOM cnfeccina una página cmpleta en frma de dcument cmpuest pr una serie de nds jerárquics. Cada parte de una página HTML XML parte de un nd. <html> <head> <title>sample page</title> </head> <bdy> <p>hell Wrld!</p> </bdy> </html> La anterir es una página HTML (Zakas, 2006); este códig puede representarse en una jerarquía de nds cn ayuda del DOM, cm se muestra en la Ilustración html head title Sample Page bdy p Hell Wrld! Ilustración 1.14: Jerarquía de nds del DOM. Fuente (Zakas, 2006). 59

78 Al crear un árbl para representar un dcument, el DOM permite a ls prgramadres btener cntrl ttal sbre el cntenid y la estructura. Cn ayuda del API DOM resulta muy sencill eliminar, añadir y sustituir nds AJAX En esta sección se detalla una tecnlgía que para el presente trabaj tiene una gran imprtancia en l que refiere al cncimient de herramientas para el desarrll de aplicacines web, ya que es una tecnlgía cn la que se di un pas gigante en la cnstrucción de una experiencia de usuari inteligente y amigable. A cntinuación se explica a detalle esta tecnlgía haciend una referencia bibligráfica casi cmpleta acrde a (Martín Sierra, 2011) Qué es AJAX? El términ AJAX hace referencia a un mecanism de cmbinación de tecnlgías y estándares de cliente, cnsistente en la slicitud asíncrna de dats al servidr desde una página web y la utilización de ésts para actualizar una parte de la misma, sin bligar al navegadr a realizar una recarga cmpleta de tda la página. En la actualidad, es la tecnlgía más demandada pr ls usuaris de aplicacines web y la más utilizada pr ls desarrlladres web pr el ahrr en el enví y recepción de dats al servidr, enviand y recibiend únicamente ls dats que hay que actualizar en lugar de enviar tda la página web cmpleta y recargarla en su ttalidad Las tecnlgías AJAX En síntesis, el prces de funcinamient de AJAX cnsiste en realizar peticines HTTP de frma asíncrna al servidr desde el cliente, recibiend ls dats para actualizar determinadas partes de la página web. Para pder realizar estas peracines, las aplicacines AJAX se apyan en las siguientes tecnlgías: - XHTML Y CSS: La interfaz gráfica de una aplicación AJAX es una página web cargada en un navegadr. XHTML y CSS sn ls dats estándares definids pr el W3C para 60

79 la cnstrucción de páginas web, mientras que XHTML se basa en la utilización de un cnjunt de marcas etiquetas para la cnstrucción de la página, el estándar CSS define una serie de prpiedades de estil que pueden aplicarse sbre las etiquetas XHTML, a fin de mejrar sus capacidades de presentación. - JavaScript: Las peticines HTTP que lanza la página web en md asíncrn al servidr sn realizadas pr un blque de script implementad cn cualquier lenguaje capaz de ser interpretad pr el navegadr; este lenguaje es, en la gran mayría de ls cass, JavaScript. Ls blques de códig JavaScript que frman la aplicación AJAX se encuentran embebids dentr de la prpia página web, bien en archivs independientes cn extensión.js que sn referenciads desde ésta. Ests blques de códig sn traducids y ejecutads pr el navegadr, bien cuand se prduce la carga de la página en él bien cuand tiene lugar alguna acción del usuari sbre la misma. Mediante códig JavaScript las aplicacines AJAX pueden realizar slicitudes al servidr desde la página web, recuperar ls dats enviads en la respuesta y mdificar el aspect de la interfaz. - XML: Aunque pdría utilizarse cualquier tr frmat basad en text, cuand la aplicación del servidr tiene que enviar una serie de dats de frma estructurada al cliente, XML resulta la slución más práctica y sencilla, ya que es psible manipular fácilmente un dcument de estas características y extraer sus dats desde el códig JavaScript cliente. - DOM: El Mdel de Objet de Dcument (DOM) prprcina un mecanism estándar para acceder desde códig a la infrmación cntenida en un dcument de text basad en etiquetas. Mediante el DOM, tant páginas web cm dcuments XML pueden ser tratads cm un cnjunt de bjets rganizads de frma jerárquica, cuyas prpiedades y métds pueden ser utilizads desde códig JavaScript para mdificar el cntenid de la página en un cas, para leer ls dats de la respuesta en tr. - El bjet XMLHttpRequest: Se trata del cmpnente fundamental de una aplicación AJAX. A través de sus prpiedades y métds es psible lanzar peticines en md asíncrn al servidr y acceder a la cadena de text enviada en 61

80 la respuesta. Para pderl utilizar, deberá ser previamente instanciad desde la aplicación. Las anterires tecnlgías y cmpnentes cnstituyen el núcle fundamental de AJAX, sin embarg, estas aplicacines se apyan también para su funcinamient en ls siguientes estándares y tecnlgías: - HTTP: Al igual que el prpi navegadr, el bjet XMLHttpRequest utiliza el prtcl HTTP para realizar las slicitudes al servidr, manejand también las respuestas recibidas mediante este prtcl. - Tecnlgías de servidr: Una aplicación AJAX n tendrá sentid sin la existencia de un prgrama en el servidr que atendiera las peticines enviadas desde la aplicación y devlviera resultads al cliente. Las mismas tecnlgías que se utilizan para crear prcess en el servidr en una aplicación web cnvencinal, cm Java EE, ASP.NET PHP, pueden utilizarse igualmente en el cas de que la capa cliente esté basada en AJAX Aplicacines AJAX multinavegadr Para la creación del bjet XMLHttpRequest que es el punt de partida para la cnstrucción de una aplicación AJAX, n tds ls navegadres que existen en el mercad actualmente, referencian a un sl tip de bjet XMLHttpRequest para el funcinamient de AJAX. El bjet ActiveXObject es utilizad pr Internet Explrer para crear instancias de cmpnentes COM registrads en la máquina cliente, a partir de la cadena de registr de ls misms. En el cas de XMLHttpRequest, el cmpnente COM que l implementa es Micrsft.XMLHttp, aunque es muy psible que el cliente dispnga además de versines mdernas de éste, cm la MSXM2.XMLHttp, la MSXM2.XMLHttp.3.0 inclus la MSXM2.XMLHttp.5.0. El rest de ls navegadres más cmúnmente utilizads pr ls usuaris de Internet, cm Opera, Firefx, Safari e inclus Internet Explrer a partir de la versión 7, 62

81 implementan XMLHttpRequest cm un bjet nativ, l que significa que su creación se debe llevar a cab instanciand directamente la clase mediante el peradr new: Xhr = new XMLHttpRequest(); Ésta es la manera en que el W3C, rganism encargad de regular las especificacines para la web, recmienda que debe crearse este bjet. Así pues, es de supner que tdas las futuras versines de navegadres que se desarrllen en adelante sprten este mecanism de creación. Mientras sigan utilizándse navegadres Internet Explrer versión 6 y anterires, las aplicacines AJAX están bligadas a incluir cierta lógica que garantice la cmpatibilidad del códig en tds ls tips de navegadres, l que implica cmbinar en una función las ds frmas analizadas de crear el bjet XMLHttpRequest. Para ell, bastará cn cmprbar qué tip de bjet nativ sprta el navegadr dnde se está ejecutand el códig, ActiveXObject XMLHttpRequest. Est puede realizarse cnsultand las prpiedades del mism nmbre del bjet windw, ya que cuand un navegadr sprta un de ests bjets l expne cm una prpiedad de windw, tal cm en el siguiente ejempl: functin crearobjetajax() { if (windw.activexobject) { //navegadr IE xhr = new ActiveXObject( Micrsft.XMLHttp ) } else if ((windw.xmlhttprequest) (typef XMLHttpRequest = undefined)) { //navegadres Firefx, Opera y Safari Xhr = new XMLHttpRequest(); } else { //navegadres sin sprte AJAX alert( Su navegadr n tiene sprte para AJAX ); return; } } Fases en la ejecución de una aplicación AJAX Es imprtante cmprender el mecanism de funcinamient de una aplicación AJAX desde el mment que el usuari hace clic en un btón despliega una lista ingresa 63

82 text pr teclad, hasta la visualización de ls dats prcesads en la pantalla de la máquina cliente. Durante este prces de ejecución puede distinguirse las siguientes fases etapas: 1. Creación y cnfiguración del bjet XMLHttpRequest: El primer pas a realizar cuand se prduce el event que desencadena la ejecución de una aplicación AJAX cnsiste en btener el bjet XMLHttpRequest. Una vez cread el bjet, deben cnfigurarse una serie de parámetrs del mism, cm la URL del recurs a slicitar la función que va a prcesar la respuesta. 2. Realización de la petición: Tras cnfigurar ls parámetrs adecuads del bjet XMLHttpRequest, se prcede a lanzar la petición al servidr, peración ésta que puede realizarse en md síncrn asíncrn, siend este últim el md de funcinamient mayritariamente utilizad pr las aplicacines AJAX. 3. Prcesamient de la petición en el servidr: El servidr recibe la petición y ejecuta el cmpnente crrespndiente que, a partir de ls dats recibids, deberá realizar algún tip de prcesamient, incluyend cnsultas a bases de dats, y generar una respuesta cn ls resultads btenids. En el cas del presente trabaj, este cmpnente del servidr es un servlet. Cuand la petición se realiza en md asíncrn, mientras el cmpnente del servidr se está ejecutand para realizar su función, el usuari puede seguir interactuand cn la página sin necesidad de mantenerse blquead a la espera de recibir la respuesta. 4. Recepción de ls dats de respuesta: Una vez cmpletada la ejecución del códig del servidr, se envía una respuesta HTTP al cliente cn ls resultads btenids en el frmat adecuad para su manipulación.en ese mment, el navegadr invca a la función de retrllamada definida pr el bjet XMLHttpRequest. 5. Manipulación de la página cliente: A partirde ls dats recibids en la respuesta y mediante códig JavaScript de cliente, se mdifican las distintas znas de la página XHTML que sea necesari actualizar. 64

83 1.8. Visr de mapas Para lgrar la visualización del mapa y la cnstrucción de características dinámicas relacinadas cn la psición del vehícul en el sistema web gerrefernciad del presente trabaj se utilizó la librería JavaScript de us libre: OpenLayers, la cual ha permitid desarrllar las características que hacen de este sistema una aplicación web para finalidades de us gegráfic. A cntinuación se hace un desglse de esta librería utilitaria haciend una referencia bibligráfica a (Higuera, 2010) 16. OpenLayers es una bibliteca pura de JavaScript para la visualización de ls dats del mapa en la mayría de ls navegadres web mderns, sin dependencias del lad del servidr. OpenLayers implementa una API de JavaScript para la cnstrucción de aplicacines web gegráficas ricas, de frma similar a la de Ggle Maps y MSN Virtual Earth API, cn una diferencia imprtante - OpenLayers es sftware libre, desarrllad pr y para la cmunidad de sftware Open Surce. OpenLayers permite incrprar mapas dinámics en las páginas web. Ls mapas se pueden dtar de diverss cntrles cn capacidades de zm, panning, medida de distancias y muchas tras herramientas. OpenLayers prprcina herramientas para acceder a td tip de infrmación gegráfica prveniente de muy variadas fuentes, pr ejempl Web Map Services, Web Feature Services, Mapas cmerciales, infrmación genérica vectrial, y trs. OpenLayers es un pryect del Open Surce Gespatial Fundatin (OSGe). Es una librería en pur Javascript, de us ttalmente libre baj licencia BSD. Para pder utilizar las clases prprcinadas pr OpenLayers habrá que incrprar una referencia al script de la librería en la cabecera del dcument HTML de esta aplicación: <script src="http://www.penlayers.rg/api/openlayers.js"></script> 16 Higuera, S. (7 de Juni de 2010). Manual OpenLayers. Obtenid de 65

84 A cntinuación se detallarán alguns de ls cmpnentes de OpenLayers utilizads en la cnstrucción del visr de mapas para la culminación del presente trabaj Clases básicas Tips básics de dats OpenLayers está cnstruida sbre Javascript y pr tant dispne de ls misms tips de dats. En Javascript hay cinc tips de dats primitivs: Undefined, Null, Blean, Number y String. Además se dispne de una clección de bjets nativs: Object, Blean, Errr, SintaxErrr, Functin, Number, EvalErrr, TypeErrr, Array, Date, RangeErrr, URIErrr, String, RegExp, y ReferenceErrr. OpenLayers frece clases cn métds útiles para perar cn ls tips de dats básics: - OpenLayers.String Esta clase prprcina ls siguientes métds: startswidth(string, substr): Cmprueba si la cadena 'string' cmienza cn la cadena 'substr'. Devuelve un Blean. cntains(str, substr): Cmprueba si la cadena 'substr' está cntenida dentr de la cadena 'str'. Devuelve 'TRUE' en cas afirmativ y 'FALSE' en cas negativ. trim(str): Devuelve una cadena en la que se han eliminad tds ls espacis que pudiera haber al principi al final de la cadena 'str'. camelize(str): Camel-Case. Cnvierte una cadena a base de guines en el cnveni Camelize. Pr ejempl la cadena 'lat-punt' la cnvierte en latpunt y la cadena - lat-punt en 'LatPunt'. Devuelve una cadena cn las mdificacines, sin alterar el riginal. isnumeric(str): Devuelve un Blean si la cadena crrespnde a un númer. Recnce el frmat expnencial para numers reales. (p. ej isnumeric("2.5e3") devuelve 'TRUE'). numericif(str): Si la cadena 'str' es un valr numéric devuelve un Number cn ese valr. En tr cas devuelve un String cn la misma cadena recibida. 66

85 - OpenLayers.Number La clase OpenLayers.Number tiene ds prpiedades que se utilizan para dar frmat a ls númers: 'decimalseparatr' y 'thusandsseparatr'. Además cntiene las siguientes funcines para manipular dats tip Number: limsigdigs(flat, sig): Redndea el valr del Flat 'flat' al númer de decimales indicad pr el Integer 'sig'. Devuelve un Flat cn el númer redndead. frmat(num, dec, tsep, decsep): Devuelve un String cn el Flat 'num' redndead al númer de decimales indicads pr el Integer 'dec'. Cm separadres de millares y decimales se utilizarán ls String 'tsep' y 'decsep' respectivamente. - OpenLayers.Functin - OpenLayers.Array - OpenLayers.Date Además hay algunas clases utilitarias: OpenLayers.Class: Se usa cm clase base para tdas las demás. OpenLayers.Element: Representa a un element DOM. Hay tras clases de elements simples: - OpenLayers.Pixel Representa una psición de pantalla. Tiene ds prpiedades: 'x' e 'y'. El cnstructr admite cm parámetrs ls valres de las crdenadas x e y: OpenLayers.Pixel( x: Number, y: Number); La clase OpenLayers.Pixel tiene ls siguientes métds de utilidad: tstring(): Devuelve una cadena de la frma 'x=200.4,y=242.2', supuestas éstas cm las crdenadas del bjet. clne(): Devuelve un 'cln', una instancia de OpenLayers.Pixel cn idénticas x e y que el riginal. equals(px: OpenLayers.Pixel): Devuelve un Blean indicand si el Pixel pasad cm argument es equivalente al bjet prpietari del métd. 67

86 add(dx: Number, dy: Number): Devuelve un OpenLayers.Pixel cuyas cmpnentes sn la suma de las riginales más ls increments 'dx' y 'dy'. ffset(px: OpenLayers.Pixel): Devuelve un OpenLayers.Pixel cuyas crdenadas sn la suma del riginal más las crdenadas del punt ffset. - OpenLayers.LnLat Representa una psición gegráfica identificada pr sus prpiedades lngitud, 'ln', y latitud 'lat'. Las ds únicas prpiedades específicas de la clase LnLat sn 'ln' y 'lat' que sn del tip Number y que se crrespnderán cn las crdenadas de un punt expresadas en las unidades de la pryección del mapa. Así si el mapa está trabajand en una pryección cn crdenadas gegráficas, el par representará una lngitud y una latitud expresadas en grads sexagesimales. En el cas de que el mapa esté en tr tip de pryección, la pareja 'ln', 'lat' representará un punt en las crdenadas y unidades de la pryección del mapa. Si nuestr mapa utiliza la pryección Spherical Mercatr, la pareja 'ln', 'lat' serán las crdenadas de un punt en dicha pryección y expresadas en metrs. Para crear un bjet LnLat se le pasan al cnstructr la pareja de dats 'ln' 'lat': var pt = new OpenLayers.LnLat( -3.54, 42.37); Una vez cread un bjet de la clase OpenLayers.LnLat se puede acceder a sus prpiedades individuales de frma sencilla: var lngitud = pt.ln; var latitud = pt.lat; La clase LnLat expne ls siguientes métds: tstring(): Devuelve un String frmatead cn las crdenadas del punt. tshrtstring(): Devuelve un String frmatead cn las crdenadas del punt en frmat cmpact. clne(): Devuelve un bjet LnLat cn ls misms valres de 'ln' y 'lat'. add(incln, inclat): Devuelve un bjet LnLat cuyas crdenadas sn el resultad de sumar rdenadamente a las crdenadas del bjet riginal ls valres pasads en ls parámetrs 'incln' y 'inclat'. 68

87 equal(therlnlat): Este métd devuelve un Blean que indica si el bjet 'therlnlat' pasad cm parámetr tiene ls misms valres de las prpiedades 'ln' y 'lat' que el bjet riginal. transfrm(surcepry, destpry): En este métd ls ds parámetrs que se pasan cm arguments sn ds bjets OpenLayers.Pryectin. El métd mdifica las crdenadas del LnLat riginal mediante la aplicación del cambi de crdenadas entre la pryección 'surcepry' y la pryección 'destpry'. El métd devuelve una referencia al bjet riginal, cn las crdenadas transfrmadas. (Este métd mdifica las crdenadas del bjet LnLat riginal). frmstring (str): Esta función crea un bjet LnLat a partir de un String que tenga las crdenadas separadas pr una cma. Pr ejempl: 'var ll = OpenLayers.LnLat.frmString("-3,43")'. - OpenLayers.Size Representa un tamañ en ds dimensines. Tiene ds prpiedades 'w', anchura y 'h', altura. El cnstructr admite ds parámetrs Number que se crrespnden cn ls valres de la anchura 'w' y la altura 'h' del bjet 'Size' que se desea cnstruir: OpenLayers.Size(w: Number, h: Number) La clase OpenLayers.Size expne ls siguientes métds públics: tstring(): Devuelve una Cadena (String) del tip : 'w=55,h=66'. clne(): Devuelve un bjet OpenLayers.Size idéntic al prpietari del métd. equals( px: OpenLayers.Pixel): Devuelve un Blean que indica si ls bjets sn equivalentes (misma anchura, misma altura). - OpenLayers.Bunds Representa una región rectangular, identificada pr sus prpiedades 'left', 'bttm', 'right' y 'tp'. - OpenLayers.Icn Encapsula un icn. Tiene prpiedades 'url', 'size', 'px' y 'ffset'. También frece una prpiedad 'calculateoffset' que permite calcular el ffset en función del tamañ. 69

88 - OpenLayers.Prjectin Representa un cambi de crdenadas. La clase OpenLayers.Map En esta sección se explica la funcinalidad de la clase principal de OpenLayers, la clase OpenLayers.Map. OpenLayers.Map es la clase fundamental de la librería OpenLayers. Td prgrama de OpenLayers tiene cm bjet crear un mapa que se visualizará en pantalla. Ls bjets de la clase OpenLayers.Map sn una clección de capas, OpenLayers.Layer, que cntienen la infrmación que se quiere mstrar, y cntrles, OpenLayers.Cntrl, que permiten interactuar cn el usuari. El bjet Map también es el respnsable de gestinar la visualización del mapa en cuant a Zm y Panning se refiere. El cnstructr de la clase Map tiene la siguiente frma: OpenLayers.Map( div : [DOMElement/ String], ptins: Object) El primer parámetr es una referencia al element 'div' del dcument html destinad a cntener el mapa. En lugar de una referencia se puede pasar una cadena de text cn el 'id' del element. El segund parámetr es un Array de pcines en la frma 'key:value'. Las pcines sn valres de las prpiedades del bjet 'Map' que se quieren fijar cn un valr determinad en el cnstructr. Un ejempl de mapa sin pcines adicinales pdría ser: var map = new OpenLayers.Map("divMapa"); Es psible añadir pcines adicinales directamente en el cnstructr: var map = new OpenLayers.Map("divMapa", { prjectin: 'EPSG:4326', units: 'm' } ); Per también se puede preparar primer el bjet de pcines y añadirl lueg al cnstructr pr referencia: var pcines = {prjectin: 'EPSG:4326', units: 'm'}; 70

89 var map = new OpenLayers.Map("divMapa", pcines); La clase OpenLayers.Map expne una buena clección de prpiedades y métds. Prpiedades del bjet Map Básicamente un bjet Map es una clección de capas (Layer) y cntrles (Cntrl). A cntinuación se describen algunas de las prpiedades, que sn cleccines de bjets pertenecientes al mapa: - layers: La prpiedad 'layers' es un Array de bjets OpenLayers.Layer, que cntiene la clección de capas del mapa. Para gestinar la clección de capas se dispne de ls métds: addlayer(), addlayers(), remvelayer(), getnumlayers(), getlayerindex(), setlayerindex(), raiselayer(), setbaselayer(), getlayer(), getlayersby(), getlayersbyclass(), getlayersbyname(), setlayerzindex(), resetlayerszindex(). - cntrls: Clección de cntrles asciads al mapa. Para manejar la clección se utilizan ls métds: addcntrl(), addcntrls(), addcntrltmap(), getcntrl(), getcntrlsby(), getcntrlsbyclass() y remvecntrl() Cntrles Esta sección explica la utilización de ls cntrles en OpenLayers y sus diferentes tips. Ls cntrles se utilizan para interactuar cn el mapa. Permiten hacer zm, mver el mapa, cncer las crdenadas del cursr, dibujar features, etc. En OpenLayers V2.10 hay 40 clases de cntrles para utilizar cn ls mapas. De ells, ds se van a suprimir en la próxima versión de OpenLayers, la versión 3.0. Ls cntrles descatalgads sn 'MuseDefaults' y 'MuseTlBar'. De ls 38 cntrles restantes, ds sn nuevs de esta versión, 'SLDSelect' y 'WMTSGetFeatureInf'. El rest vienen de versines anterires, si bien el cntrl 'OpenLayers.Cntrl.Panel' ha sufrid mdificacines en su funcinamient respect de anterires versines. Tds ls cntrles derivan de la clase 'OpenLayers.Cntrl', y tds ls cntrles se añaden al bjet 'OpenLayers.Map', directa indirectamente. La clase 'OpenLayers.Map' tiene una prpiedad 'cntrls' que guarda la lista de cntrles del mapa. Para añadir un cntrl al mapa se puede hacer mediante el métd 71

90 'OpenLayers.Map.addCntrl()' bien directamente en el cnstructr de 'OpenLayers.Map'. El cnstructr de la clase 'OpenLayers.Map' permite añadir cntrles en el mment de la creación del mapa. Si n se indica nada, el mapa añade ls siguientes cntrles pr defect: - OpenLayers.Cntrl.Navigatin - OpenLayers.Cntrl.PanZm - OpenLayers.Cntrl.ArgParser - OpenLayers.Cntrl.Attributin Est es, si se crea el mapa cn el siguiente cnstructr: var map = new OpenLayers.Map("divMapa"); Autmáticamente quedan añadids al mapa ls cntrles pr defect indicads. Es psible crear un mapa sin ningún cntrl, de la siguiente manera: var map = new OpenLayers.Map("divMapa", {cntrls: [] } ); Si l que se quiere es añadir una serie de cntrles elegids pr el desarrlladr habría que invcar el cnstructr del mapa de la siguiente manera: var map = new OpenLayers.Map("divMapa", { cntrls: [ new OpenLayers.Cntrl.PanZm(), new OpenLayers.Cntrl.Attributin() ] } ); También se puede crear un mapa sin cntrles y añadírsels después: var map = new OpenLayers.Map("divMapa", { cntrls: []}); var ctrlpanzm = new OpenLayers.Cntrl.PanZm(); map.addcntrl(ctrlpanzm); var ctrlattributin = new OpenLayers.Cntrl.Attributin(); map.addcntrl(ctrlattributin); En ambs cass se puede crear un mapa cn ls cntrles 'PanZm' y 'Attributin', cuidand siempre de añadir el cntrl 'Attributin' para mstrar crrectamente ls Attributin de ls mapas que se utilizan. 72

91 En OpenLayers las definicines de estil pr defect de cntrles y trs elements se declaran y definen en la hja de estil: Siend psible añadir un enlace a dicha hja de estil en el códig: <link type="text/css" rel="stylesheet" href="http://www.penlayers.rg/api/theme/default/style.css"/> Cm puede bservarse se definen prpiedades de estil para td tip de elements, que sn fáciles de identificar pr su nmbre de clase. También es psible persnalizar la psición el aspect de ls cntrles. La lista de cntrles que se pueden utilizar es la siguiente: - Cntrles generales ArgParser Attributin Buttn Graticule KeybardDefaults LayerSwitcher OverviewMap Panel PanPanel PermaLink SLDSelect (nuev versión 2.10) Snapping Split - Zm, Panning, Psitin DragPan MusePsitin Navigatin 73

92 NavigatinHistry NavTlBar Pan PanZm PanZmBar ZmBx ZmIn ZmPanel ZmOut ZmTMaxExtent - Features EditingTlbar DragFeature DrawFeature GetFeature MdifyFeature SelectFeature TransfrmFeature - Medición Measure Scale ScaleLine - Servicis de Mapas WMSGetFeatureInf WMTSGetFeatureInf (nuev versión 2.10) 74

93 Capas La clase OpenLayers.Layer Clase imprtante para el manej de ls cntrles del mapa, cuyas prpiedades se explican en esta sección. La clase OpenLayers.Layer es la clase base para tds ls tips de capas especializadas, que sn las que realmente se añaden a ls mapas. El cnstructr de la clase OpenLayers.Layer tiene la siguiente signatura: OpenLayers.Layer( name: String, ptins: Object) El primer parámetr es una cadena que permitirá identificar a la capa, pr ejempl en el cntrl LayerSwitcher. El segund parámetr es un Hashtag de pcines adicinales que se añadirán a la capa. La frma de este parámetr es un Array asciativ de parejas 'key:value' separadas pr cmas. El cnstructr n se utiliza directamente, pues se utilizan las clases derivadas, per un ejempl ilustrativ de la frma de pasar el segund parámetr pdría ser el siguiente: var capa = new OpenLayers.Layer( "L1", {pacity: 0.5, isbaselayer: false } ); La clase OpenLayers.Layer expne las siguientes prpiedades: - id: String.- El valr del atribut 'id' asignad al element 'div' de la capa. - name: String.- El nmbre de la capa es una cadena que permite identificar a la capa en algunas situacines, pr ejempl en el Cntrl LayerSwitcher. - div: DOMElement.- Es una referencia al element 'div' que alberga la capa. - pacity: Flat.- Es un númer entre 0 (= transparente) y 1 (= pac) que indica el grad de transparencia de la capa. - alwaysinrange: Blean.- Se debe establecer en 'true' cuand la visualización de la capa n se debe basar en zm. - events: OpenLayers.Events.- La prpiedad 'events' es la clección de events de la capa. Es una referencia a un bjet de la clase OpenLayers.Events. 75

94 - map: Es una referencia al mapa que cntiene a la capa. Se establece en la función addlayer() del mapa en la función setmap() de la capa. El bjet apuntad es un OpenLayers.Map. - isbaselayer: Es un Blean que indica si se trata de una capa base. Pr defect es fals. Las clases derivadas especializadas establecen un valr pr defect para cada tip de capa. - alpha: Es un Blean que indica si las imágenes de la capa tienen canal alfa. Pr defect es false. - displayinlayerswitcher: Blean que indica si el nmbre de la capa debe de aparecer n en el cntrl LayerSwitcher. El valr pr defect es 'true'. - visibility: Es un Blean que indica si la capa es visible n. El valr pr defect es 'true'. - attributin: Se trata de la cadena, String, que se mstrará en el cntrl Attributin. - inrange: Es un Blean que indica si el valr de la reslución actual está entre el mínim y el máxim de la capa (minreslutin, maxreslutin). Se establece cada vez que cambia el zm. - imageoffset: Desplazamients x, y debids al brde, 'gutter', en las imágenes que tienen 'gutter'. Es un bjet OpenLayers.Pixel. - ptins: Se trata de un bjet mediante el cual se pueden pasar al cnstructr de la capa valres iniciales para cualquiera de las prpiedades de la capa. - eventlisteners: (Object) - gutter: (Integer) El valr del anch del brde, si l tiene. Pr defect es cer. - prjectin: (Object) Objet OpenLayers.Prjectin cn la pryección de la capa. Si se pasa en el bjet 'ptins' del cnstructr, se puede pasar cm una cadena del tip 'EPSG:4326', per durante la creación de la capa se cnstruirá un bjet Prjectin. Cuand se utiliza esta pción suele ser necesari fijar también 'maxextent', 'maxreslutin' y 'units'. - units: (String). Las unidades de medida de la capa. Pr defect sn grads, y la variable 'units' tiene el valr 'degrees'. Ls valres psibles sn: 'degrees' ( 'dd'), 'm', 'ft', 'km', 'mi', 'inches'. - scales: (Array). Un array cn las escalas del mapa para cada zm en rden descendente. Este parámetr sól tiene sentid si está bien calibrad cn la 76

95 reslución cncreta del mnitr en el que se está trabajand. Además debe estar bien definida la prpiedad 'units' de la capa. En general es preferible utilizar la prpiedad 'reslutins'. - reslutins: (Array). Un array cn las reslucines del mapa para cada zm en rden descendente. La reslución es el númer de unidades de mapa pr pixel. Si n se especifica al cnstruir la capa, se calcula en base a tras prpiedades de la capa (maxextent, maxreslutin, maxscale, etc). - maxextent: (OpenLayers.Bunds). El centr de ests límites n se apartará fuera del alcance de la ventana durante la panramización. Además, sidisplayoutsidemaxextent se establece en fals, ls dats n serán requerids cmpletamente fuera de ests límites. Tips de capas En esta sección se muestra ls ds tips de capas más utilizads en la cnstrucción de este sistema web ge-referenciad. - OpenLayers.Layer.Markers OpenLayers frece una capa especial para aljar ls marcadres: OpenLayers.Layer.Markers. Un marcadr es una instancia de la clase OpenLayers.Marker, que es una cmbinación de un icn y una psición. El cnstructr de la clase OpenLayers.Markers tiene la siguiente frma: OpenLayers.Markers (name: String, ptins: Object) El primer parámetr es una cadena que permitirá identificar a la capa, pr ejempl en el cntrl LayerSwitcher. El segund parámetr es una Hashtable de pcines extra que se quieran asignar a la capa. Las prpiedades públicas de la capa Markers sn: isbaselayer: (Blean = false) Las capas de marcadres n sn capas base. Se sbreescribe la prpiedad de la clase base OpenLayers.Layer cn el valr false. markers: (Array(OpenLayers.Marker)) Lista de marcadres de la capa. Esta prpiedad es un Array que guarda las referencias a ls marcadres que se han id añadiend a la capa. 77

96 drawn: (Blean) Indica si se ha dibujad la capa. En algunas situacines al inicializar la capa hacer zm es necesari cmprbar esta variable y si es necesari llamar al métd 'draw()'. La capa Markers prprcina ls siguientes métds: addmarker(marker: OpenLayers.Marker): Añade a la capa el marcadr referenciad pr la variable 'marker'. remvemarker(marker: OpenLayers.Marker): Elimina de la capa el marcadr 'marker'. drawmarker(marker: OpenLayers.Marker): Calcula la psición pixel del marcadr, l crea y añade al 'div' de la capa. clearmarkers(): Esta función deja vacía la lista de marcadres de la capa. Ls marcadres en sí misms n se eliminan, per si se retiran de la lista de marcadres de la capa. setopacity(pacity: flat): Establece la pacidad de tds ls marcadres de la capa (0 = transparente; 1= pac). getdataextent(): Devuelve un OpenLayers.Bunds cn la extensión que abarca tds ls marcadres de la capa. - OpenLayers.Layer.Vectr Las capas vectriales están pensadas para aljar 'features' vectriales, que serán instancias de las clases derivadas de OpenLayers.Feature.Vectr. El cnstructr de la clase OpenLayers.Layer.Vectr admite ds parámetrs: OpenLayers.Layer.Vectr ( name : String, ptins: Object ); El parámetr 'nmbre' es una cadena de text que sirva para identificar la capa y el parámetr 'ptins', que es pcinal, es un bjet cn prpiedades de la capa que se quiera establecer en un valr distint del que se asigna pr defect. Una vez creada la capa se le pueden ir añadiend las features que se quieran visualizar mediante el métd 'addfeatures()' que admite cm parámetr un Array de features. Dichas 'features' habrán sid creadas previamente y serán instancias de la clase OpenLayers.Feature.Vectr. La gemetría y el estil de visualización asignads a la feature serán las que marquen la frma en que se visualizarán las features en la 78

97 capa. La capa, una vez creada, se añade al mapa mediante el métd OpenLayers.Map.addLayer(). Un ejempl de una capa vectrial cn un punt pdría ser: var ptgem = new OpenLayers.Gemetry.Pint( , ); var ptstyle = OpenLayers.Util.extend({}, OpenLayers.Feature.Vectr.style['default']); var ptfeat = new OpenLayers.Feature.Vectr( ptgem, null, ptstyle); var layervectr = new OpenLayers.Layer.Vectr("Capa Vectrial"); layervectr.addfeatures([feat]); map.addlayer(layervectr); 1.9. OpenStreetMap OpenStreetMap, también cncid cm OSM, es un servidr de mapas cread cm pryect clabrativ para crear mapas libres y editables. Ls mapas sn creads a través de clabracines de usuaris que a nivel mundial suben infrmación ge-referenciada, a través de dispsitivs GPS móviles, rtftgrafías y tras fuentes libres. Esta cartgrafía se distribuye de frma ttalmente libre baj una licencia abierta Open Database License (ODbL). Ls usuaris pueden registrarse de manera gratuita y subir sus trazas GPS; también pueden crear y crregir errres en la cartgrafía mediante herramientas de edición elabradas pr la cmunidad OpenStreetMap. En la actualidad Yah y Bing liberarn sus fts aéreas para que ls usuaris puedan dibujar la cartgrafía de manera más eficiente, y así, incrementar el vlumen de dats cartgráfics a nive mundial Tecnlgía OpenStreetMap utiliza una estructura de dats tplógica. Ls dats se almacenan en el datum WGS84 lat/ln (EPSG:4326) de pryección de Mercatr. Ls servidres principales se encuentran aljads en la University Cllege de Lndres. La infraestructura de servidres asciada al pryect OSM se encuentra cnfrmada pr un servidr de base de dats de gran rendimient, un servidr de aplicacines 79

98 para el siti web, tres servidres de aplicacines para la API y un servidr destinad al renderizad del mapa. El servidr de base de dats utiliza cm sistema de gestión de base de dats PstgreSQL más su extensión espacial PstGIS para el almacenamient de gemetrías de bjets espaciales en frmat vectrial; además se utiliza Mapnik cm renderizadr de ests dats espaciales que se almacenan en la misma. El siti web y la API están prgramads en gran medida en Ruby n Rails. 80

99 CAPÍTULO II 2. DESARROLLO DEL SISTEMAlkjlk 2.1. Ápice arquitectónic Esta sección tiene cm bjetiv explicar a detalle td el prces realizad en la fase de planificación del desarrll del sistema web ge-referenciad. Cm se señaló cn anteriridad, el presente trabaj se rige a la metdlgía ágil de desarrll de sftware XP (extreme Prgramming) Interacción cn el cliente Respect a la interacción cn el cliente, se identificarn tds ls psibles escenaris para la definición de requerimients del sistema, en metdlgías tradicinales cncids cm cass de us, en el cas de XP las histrias de usuari. Cm primer preámbul se crearn tdas las histrias de usuari psibles, las cuales cnstituyen el primer bcet de la arquitectura del sistema, definiend las principales necesidades del cliente respect al us del sistema. A cntinuación se detallan las histrias de usuari que se crearn para planificar el desarrll del sistema: Tabla 2.1. Histria de usuari Nr. 1. Fuente prpia. HISTORIA DE USUARIO Númer: 1 Usuari: Administradr Nmbre: Gestión administrativa del sistema Mdificación de histria númer: 1 Iteración asignada: 1 Priridad en negci: Alta Riesg en desarrll: Baj Punts estimads: 4 Punts reales: 3 Descripción: La gestión administrativa del sistema cm tal, cnlleva la gestión de usuaris del 81

100 sistema y la gestión de ls dispsitivs GPS administrads; pr ende el usuari administradr del sistema debe estar en capacidad de crear, cnsultar, actualizar y brrar, sea ésts: usuaris dispsitivs GPS administrads pr el sistema. Observacines: Tabla 2.2. Histria de usuari Nr. 2. Fuente prpia. HISTORIA DE USUARIO Númer: 2 Usuari: Cliente Nmbre: Visualización del vehícul en tiemp fictici. Mdificación de histria númer: 1 Iteración asignada: 2 Priridad en negci: Baja Riesg en desarrll: Alt Punts estimads: 4 Punts reales: 6 Descripción: Visualizar el vehícul en la aplicación web en tiemp fictici, es decir simuland ls dats reales del dispsitiv. Observacines: Realizar el respectiv prces para que se generen dats ficticis en la base de dats. Tabla 2.3. Histria de usuari Nr. 3. Fuente prpia. HISTORIA DE USUARIO Númer: 3 Usuari: Cliente Nmbre: Visualización rganizada de ls dats del vehícul en tiemp fictici. Mdificación de histria númer: 1 Iteración asignada: 3 Priridad en negci: Media Riesg en desarrll: Medi Punts estimads: 4 Punts reales: 4 82

101 Descripción: Visualizar ls dats del vehícul de frma rganizada en la aplicación web: ID, nmbre, fecha y hra de enví de ls ge-dats, latitud, lngitud, altitud, velcidad, rientación, dirección y trs; de manera que se pueda diferenciar ls dats de cada vehícul y además se muestren y culten en el mapa. Observacines: Realizar el respectiv prces para que se generen ls dats ficticis en la base de dats. Tabla 2.4. Histria de usuari Nr. 4. Fuente prpia. HISTORIA DE USUARIO Númer: 4 Usuari: Cliente Nmbre: Históric de un mes de psicines y velcidades. Mdificación de histria númer: 1 Iteración asignada: 4 Priridad en negci: Media Riesg en desarrll: Medi Punts estimads: 4 Punts reales: 5 Descripción: Generar un reprte de psicines y velcidades del vehícul que han transcurrid en un mes. Observacines: Tabla 2.5. Histria de usuari Nr. 5. Fuente prpia. HISTORIA DE USUARIO Númer: 5 Usuari: Cliente Nmbre: Visualización del vehícul en tiemp real. 83

102 Mdificación de histria númer: 1 Iteración asignada: 5 Priridad en negci: Alta Riesg en desarrll: Alt Punts estimads: 6 Punts reales: 6 Descripción: Visualizar el vehícul en la aplicación web en tiemp real, es decir el gráfic del vehícul en la aplicación debe aparecer exactamente dónde se encuentre el vehícul en la realidad. Observacines: La actualización de la psición se realizará cada 3 minuts Estudi de las herramientas, tecnlgías y prácticas de desarrll Lueg de la interacción cn el cliente cn su cnsecuente elabración de las histrias de usuari y acrde cn el marc teóric, se definen las herramientas, tecnlgías y prácticas de desarrll, las cuales se detallan en el siguiente literal. Herramientas de desarrll La experimentación de tras herramientas cm Netbeans 7.1.2, permitió definir la herramienta de desarrll: el IDE (Interface Develpment Envirment) Eclipse Indig cn su plug-in para Java EE versión La razón pr la cual se ptó pr Eclipse Indig en lugar de Netbeans fue que este primer psee una extensión pr defect que permite ejecutar un entrn de cntenedr de servlets y servidr web Tmcat, pr l que es más sencill hacer las pruebas unitarias y glbales, y también adaptar la publicación de la aplicación web en un entrn de tip Tmcat. Tecnlgías de desarrll Respect a las tecnlgías de desarrll, se utilizará la platafrma de prgramación Java Enterprise Editin para la cnstrucción de ls móduls de administración, reprtes y seguridad, y la platafrma de prgramación Java Standard Editin para la cnstrucción del módul de cmunicacines, ya que previamente se realizarn 84

103 pruebas de cncept cn la platafrma de prgramación PHP en el diseñ de ls prttips para ls móduls de administración, reprtes y seguridad. En l que refiere al módul de mapas, n hub tra pción que definir la utilización del lenguaje de prgramación del lad del cliente (navegadr web) a JavaScript, cm también la librería utilitaria OpenLayers versión 2.11 basada en JavaScript, para el manej de las características del visr del mapa; en cnsecuencia, se definió la utilización de AJAX cm tecnlgía de prgramación para clientes rics, es decir, para que la aplicación sea dinámica y asíncrna. Prácticas de desarrll Cm prácticas de desarrll se ha cnsiderad cierts estándares de prgramación y el patrón de diseñ MVC en ls cuales se ha basad el desarrll del presente trabaj, sin tmar en cuenta la metdlgía de desarrll. A cntinuación se enumeran alguns estándares de prgramación que se manejarn en el transcurs de cnstrucción del sistema: - Nmbrar a las tablas de base de dats manejand el siguiente esquema: Antepner un prefij que se rija al siguiente patrón: <g>&<u> <l> <p>&<u>&<r>. <g>: Antepner la letra g si se trata de una tabla que cntenga al mens un camp gemétric. <u> <l> <p>: Pner la letra u si se trata de un punt, la letra l si es una línea la letra p si es un plígn en el espaci. <u>: Esta letra es bligatria, quiere decir UTN (Universidad Técnica del Nrte) entidad a la que pertenece el pryect. <r>: Esta letra quiere decir que se trata de un pryect de rastre. - N pner códig CSS en las páginas JSP. - Nmbrar a ls métds funcines cn letras minúsculas y a las clases la letra inicial cn mayúscula, sea en Java, JavaScript PHP. 85

104 Cnstrucción del prttip de estructura y diseñ La cnstrucción del primer prttip se realiza en partes; la primera cnsiste en diseñar la base de dats, la que será el armazón de la aplicación y de dónde se iniciará el prces de desarrll del sistema web ge-referenciad cmplet. Psterirmente se desarrlla la prueba de cncept del módul visr de mapas, dnde se muestran las funcinalidades básicas que este módul frecerá al ser finalizad. Mdel entidad-relación de la base de dats En esta sección de la cnstrucción del prttip, se diseñó el mdel de la base de dats relacinal que interactuaría cn la tds ls cmpnentes funcinales de la aplicación. Definiend tres tablas de base de dats, las cuales se detallan a cntinuación: - URUSUARIO: Tabla de base de dats que almacena la infrmación referente a ls usuaris de la aplicación. - URAVL: Tabla de base de dats que almacena la infrmación referente a ls AVL s manejads pr la aplicación. - GUURDATO: Tabla de base de dats espacial que almacena las tramas enviadas pr el AVL mediante la cnexión GPRS. A cntinuación se muestra el diagrama del mdel entidad-relación de la base de dats, cn sus respectivs camps de tabla y las relacines entre las tablas. 86

105 Ilustración 2.1: Diagrama Entidad-Relación de la base de dats. Fuente prpia. 87

106 Prttip del módul visr de mapas Cabe recalcar que el prttip del módul visr de mapas fue desarrllad baj el lenguaje de prgramación PHP en el lad del servidr, y JavaScript en el lad del cliente. A cntinuación se muestra una imagen del prttip que se desarrlló. Ilustración 2.2: Prttip del módul visr de mapas. Fuente prpia Plan de entregas Prirización de las histrias de usuari Dadas las histrias de usuari detalladas anterirmente, se prcedió a la prirización de las mismas; cuyas priridades, riegs, esfuerzs e iteracines asignadas se rganizarn para su psterir ejecución. En la siguiente tabla se muestran las histrias de usuari cn sus respectivs valres. Tabla 2.6: Prirización de las histrias de usuari. Fuente prpia. Nr. Nmbre Priridad Riesg Esfuerz Iteración 1 Gestión administrativa del sistema Alta Baj Visualización del vehícul en Baja Alt

107 tiemp fictici 3 Visualización rganizada de ls dats del vehícul en tiemp fictici 4 Históric de un mes de psicines y velcidades 5 Visualización del vehícul en tiemp real Media Medi 4 3 Media Medi Alta Alt Elabración del plan de entregas En el cas de la planificación del presente trabaj se asignó cada histria de usuari a una sla iteración, en cnsecuencia se btuv una planificación de cinc iteracines; est, pr tratarse de sftware hech a la medida, l cual rmpe las cnvencinalidades respect al desarrll del sftware tradicinal. De manera que las iteracines se definiern así: - Iteración primera: En esta iteración se prepararán las funcinalidades básicas relacinadas cn la administración del sistema web ge-referenciad en frma glbal. - Iteración segunda: En esta iteración se pretende entregar el sftware cn sus funcinalidades cmpletas en tiemp fictici, es decir la parte administrativa y la parte gegráfica del sistema. - Iteración tercera: En esta iteración se entregará una aplicación más enriquecida cn características que permitan una mejr rganización de la infrmación mstrada. - Iteración cuarta: En esta iteración se realizará la entrega de la aplicación cn una característica agregada que permita hacer un reprte gráfic del históric de psicines de máxim un mes. 89

108 - Iteración quinta: Siend esta la última iteración se acmeterá en entregar la aplicación finalizada, es decir cn tdas sus funcinalidades, permitiend al usuari visualizar su vehícul en tiemp real en el mapa web. El plan de entregas queda definid de la manera cm se muestra en el diagrama de Gantt de la Ilustración

109 Iteración Histria de usuari Cmienz Fin Duración dic 2011 ene 2012 feb 2012 mar 2012 abr 2012 may /1 8/1 15/1 22/1 29/1 5/2 12/2 19/2 26/2 4/3 11/3 18/3 25/3 1/4 8/4 15/4 22/4 29/4 6/5 13/5 20/5 1 Gestión administrativa del sistema 19/12/ /01/ d 2 Visualización del vehícul en tiemp fictici 13/01/ /02/ d 3 Visualización rganizada de ls dats del vehícul en tiemp fictici 10/02/ /02/ d 4 Históric de un mes de psicines y velcidades 01/03/ /04/ d 5 Visualización del vehícul en tiemp real 06/04/ /05/ d Ilustración 2.3: Diagrama de Gantt del plan de entregas. Fuente prpia. 91

110 2.3. Cnstrucción Iteracines En esta sección se detallarán cada una de las iteracines, describiend las tareas que se llevarn a cab, así cm también las pruebas de aceptación y las incidencias. Iteración primera Esta iteración cnsta de una sla histria de usuari: 1. Gestión administrativa del sistema. Asignación de tareas El primer pas de la iteración, fue asignar las tareas respectivas para cada histria de usuari de la iteración. Pr l tant, a cntinuación se muestran las tareas asignadas a la única histria de usuari para esta iteración. Tabla 2.7. Tarea Nr. 1 de la histria Nr. 1. Fuente prpia. TAREA Númer: 1 Númer de histria: 1 Nmbre: Cnstrucción y cmprbación de la base de dats. Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 19/12/2011 Fecha de fin: 21/12/2011 Descripción: Escritura del script de base de dats en Lenguaje de Cnsulta Estructurada (SQL) para su psterir ejecución y cmprbación de su funcinamient. Tabla 2.8. Tarea Nr. 2 de la histria Nr. 1. Fuente prpia. TAREA Númer: 2 Númer de histria: 1 Nmbre: Inserción de dats ficticis en la base de dats. 92

111 Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 22/12/2011 Fecha de fin: 10/01/2012 Descripción: Elabración de ls prcedimients almacenads (stre prcedures) de base de dats para la inserción de dats ficticis que permitan simular la base de dats real para la administración del sistema. Tabla 2.9. Tarea Nr. 3 de la histria Nr. 1. Fuente prpia. TAREA Númer: 3 Númer de histria: 1 Nmbre: Elabración de una prueba de cncept de reprte. Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 11/01/2012 Fecha de fin: 16/01/2012 Descripción: Elabración de una prueba de cncept que cntemple la ejecución de un reprte de una tabla de base de dats específica, se desarrllará un reprte de velcidades de un vehícul en particular, cnsiderand cm parámetrs la fecha de inicial y la fecha final. Tabla Tarea Nr. 4 de la histria Nr. 1. Fuente prpia. TAREA Númer: 4 Númer de histria: 1 Nmbre: Elabración del CRUD de administración de AVL s. Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 17/01/2012 Fecha de fin: 22/01/2012 Descripción: 93

112 Elabración de una prueba de cncept, realizand una página web CRUD (Create, Read, Update, Delete) de una tabla de base de dats, se desarrllará un CRUD de la administración de AVL s (dispsitivs GPS que administra el sistema). Tabla Tarea Nr. 5 de la histria Nr. 1. Fuente prpia. TAREA Númer: 5 Númer de histria: 1 Nmbre: Elabración del CRUD de administración de usuaris Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 23/01/2012 Fecha de fin: 26/01/2012 Descripción: Elabración del CRUD definitiv para la administración de ls dats accesibles pr el administradr del sistema y en cnsecuencia la página web CRUD para su administración. Mdificación del plan de entregas Una vez establecidas las tareas se prcedió a su realización de acuerd al crngrama, sin existencia de cambis en el plan de entregas prpuest inicialmente. Cabe señalar que n se han hech mdificacines en el plan de entregas, a causa de que la slución infrmática del presente trabaj n está sujeta a cambis de requerimients ya que n existe una interacción cn un cliente real. Dem de la primera iteración A cntinuación se muestran las imágenes de la primera versión de la administración de usuaris y administración de AVL s cubriend así la histria de usuari de esta iteración: la gestión administrativa del sistema. 94

113 Ilustración 2.4: Administración de usuaris. Fuente prpia. Ilustración 2.5: Administración de AVL s. Fuente prpia. Pruebas de aceptación Culminada la iteración se prcedió a realizar las pruebas de aceptación, las cuales se muestran en las tablas siguientes. Tabla Cas de prueba Nr. 1 de la histria Nr. 1. Fuente prpia. CASO DE PRUEBA Númer: 1 Númer de histria: 1 95

114 Nmbre: CRUD crrect de administración de usuaris. Descripción: La aplicación debe ejecutar el CRUD (Create, Read, Update, Delete) crrectamente sbre la base de dats respect a la administración de usuaris; el sistema deberá ntificar cada una las accines realizadas. Cndicines de ejecución: El sistema debe recibir ls dats que sn bligatris crrectamente; es decir, escrits de manera lógica. Entradas: Tds ls dats respectivs para el CRUD de usuaris del sistema. Resultad esperad: Resultad satisfactri, per se evidenciarn leves errres de diseñ de interfaz. Evaluación: 8/10 Tabla Cas de prueba Nr. 2 de la histria Nr. 1. Fuente prpia. CASO DE PRUEBA Númer: 2 Númer de histria: 1 Nmbre: CRUD crrect de administración de AVL s. Descripción: La aplicación debe ejecutar el CRUD (Create, Read, Update, Delete) crrectamente sbre la base de dats respect a la administración de ls AVL s; el sistema deberá ntificar cada una las accines realizadas. Cndicines de ejecución: El sistema debe recibir tds ls dats que sn bligatris crrectamente; es decir escrits de manera lógica. Entradas: 96

115 Tds ls dats respectivs para el CRUD de AVL s del sistema. Resultad esperad: Resultad satisfactri, per se evidenciarn detalles faltantes en el diseñ de interfaz. Evaluación: 9/10 Incidencias - La creación de la base de dats de acuerd cn las especificacines ha requerid gran parte de la iteración, la cual ha sufrid varis cambis. - N se experimentó cambis en ls requerimients. - La migración de este módul de la platafrma de prgramación de PHP a Java se realizará psterirmente en una nueva iteración. Iteración segunda Esta iteración cnsta de la histria de usuari: Visualización del vehícul en tiemp fictici. Asignación de tareas Al igual que en la primera iteración se prcede a planificar y asignar las tareas respectivas para la histria de usuari de la iteración. En cnsecuencia, se muestran las tareas asignadas en las siguientes tablas. Tabla Tarea Nr. 1 de la histria Nr. 2. Fuente prpia. TAREA Númer: 1 Númer de histria: 2 Nmbre: Inserción de dats ficticis en la base de dats. Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 27/01/2012 Fecha de fin: 31/01/2012 Descripción: Elabración del prcedimient almacenad (stre prcedure) de base de dats que 97

116 permita la inserción de dats ficticis en la tabla GUURDATO para simular la inserción de tramas enviadas pr ls AVL s. Tabla Tarea Nr. 2 de la histria Nr. 2. Fuente prpia. TAREA Númer: 2 Númer de histria: 2 Nmbre: Graficación del vehícul en el mapa de la aplicación Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 01/02/2012 Fecha de fin: 10/02/2012 Descripción: Graficación del vehícul en el mapa de la aplicación web en tiemp fictici, es decir, cn ls dats que se simularn en la base de dats. Mdificación del plan de entregas N existió la necesidad de hacer cambis en el plan de entregas inicial. Dem de la segunda iteración Tras la ejecución de las tareas para la histria de usuari de esta iteración, se btiene tra entrega de la aplicación. A cntinuación se muestra una imagen de la versión. Ilustración 2.6: Visualización del vehícul en la aplicación. Fuente prpia. 98

117 Pruebas de aceptación Las pruebas realizadas se muestran en las siguientes tablas. Tabla Cas de prueba Nr. 1 de la histria Nr. 2. Fuente prpia. CASO DE PRUEBA Númer: 1 Númer de histria: 2 Nmbre: Graficación crrecta del vehícul en la aplicación. Descripción: El gráfic del vehícul debe mstrarse crrectamente de acuerd a la última psición generada ficticiamente en la aplicación. Cndicines de ejecución: La simulación de la base de dats debe ser crrecta, para que genere ls dats de las psicines aprximadas a la realidad, es decir, las ubicacines deben de cincidir en el territri ecuatrian. Entradas: Ls dats de latitud y lngitud generads ficticiamente pr ls prcedimients almacenads de base de dats ( stre prcedures ). Resultad esperad: Resultad satisfactri. Evaluación: 10/10 Incidencias - Demandóun tiemp cnsiderable la cnstrucción del prcedimient almacenad que genera ls dats ficticis en la tabla GUURDATO, la cual cntiene las tramas enviadas pr ls AVL s administrads pr el sistema. - Algunas variacines en la base de dats, agregación del camp espacial en la tabla GUURDATO para un futur ge-análisis. - N se experimentó cambis en el plan de entregas inicial. 99

118 - La migración de este módul de la platafrma de prgramación de PHP a Java se realizará psterirmente en una nueva iteración. Iteración tercera Esta iteración cnsta de la histria de usuari: Visualización rganizada de ls dats del vehícul en tiemp fictici. Asignación de tareas Se realizó de acuerd a la planificación, para la histria de usuari de esta iteración. A cntinuación, se muestran las tareas asignadas en las siguientes tablas. Tabla Tarea Nr. 1 de la histria Nr. 3. Fuente prpia. TAREA Númer: 1 Númer de histria: 3 Nmbre: Elabración del panel de cntrl Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 13/02/2012 Fecha de fin: 25/02/2012 Descripción: Desarrll del panel de cntrl dnde se mstrará la velcidad prmedi del vehícul y las pcines del históric de psicines y ls detalles de la trama enviada pr el AVL. Tabla Tarea Nr. 2 de la histria Nr. 3. Fuente prpia. TAREA Númer: 2 Númer de histria: 3 Nmbre: Detalles de la trama al hacer clic en el vehícul Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 27/02/2012 Fecha de fin: 05/03/2012 Descripción: 100

119 Desarrll de la funcinalidad clic en vehícul en el mapa de la aplicación, que muestre ls detalles de la última trama recibida de ese vehícul. Manejar una estructura de prgramación que permita ver slamente la última psición del vehícul. Mdificación del plan de entregas N se realizarn cambis en el plan de entregas inicial. Dem de la tercera iteración Tras la ejecución de las tareas para la histria de usuari de esta iteración, se btiene tra entrega de la aplicación. A cntinuación se muestran las imágenes de la entrega para cada tarea respectivamente. Ilustración 2.7: Panel de cntrl. Fuente prpia. 101

120 Ilustración 2.8: Detalles de la última trama recibida. Fuente prpia. Pruebas de aceptación Acabada la iteración se prcedió a realizar las pruebas de aceptación crrespndientes, las cuales se muestran en las siguientes tablas. Tabla Cas prueba Nr. 1 de la histria Nr. 3. Fuente prpia. CASO DE PRUEBA Númer: 1 Númer de histria: 3 Nmbre: Visualización crrecta de ls dats del vehícul. Descripción: El gráfic del vehícul debe mstrarse crrectamente, de acuerd a la última psición generada ficticiamente en la aplicación. Cndicines de ejecución: La simulación de la base de dats debe ser crrecta, para que genere ls dats de las psicines aprximadas a la realidad, es decir, las ubicacines deben de cincidir en el territri ecuatrian. Entradas: Ls dats de latitud y lngitud generads ficticiamente pr ls prcedimients 102

121 almacenads de base de dats ( stre prcedures ). Resultad esperad: Resultad satisfactri. Evaluación: 10/10 Incidencias - N se experimentó cambis cnsiderables en el plan de entregas inicial. - Al igual que las anterires iteracines, se hace imprescindible pstergar hacia una nueva iteración la migración de la platafrma de prgramación de servidr, de PHP a Java. Iteración cuarta Esta iteración cnsta de la histria de usuari: Históric de un mes de psicines y velcidades. Asignación de tareas Al igual que las anterires iteracines se prcedió a planificar y asignar las tareas respectivas para la histria de usuari de esta iteración. Las siguientes tablas muestran las tareas asignadas a la histria de usuari para esta iteración: Tabla Tarea Nr. 1 de la histria Nr. 4. Fuente prpia. TAREA Númer: 1 Númer de histria: 4 Nmbre: Cnstrucción del frmulari de parametrización Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 06/03/2012 Fecha de fin: 10/03/2012 Descripción: Cnstrucción del frmulari para el ingres de la fecha de inici y fecha de finalización del reprte gráfic de históric de psicines, que restrinja la parametrización de manera que las fechas n excedan un tiemp mayr a un mes. 103

122 Tabla Tarea Nr. 2 de la histria Nr. 4. Fuente prpia. TAREA Númer: 2 Númer de histria: 4 Nmbre: Animación del históric (playback) Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 11/03/2012 Fecha de fin: 25/03/2012 Descripción: Elabración de la animación del históric de psicines recrridas hace un mes sbre el mapa de la aplicación, según ls dats de entrada del frmulari de parametrización. Tabla Tarea Nr. 3 de la histria Nr. 4. Fuente prpia. TAREA Númer: 3 Númer de histria: 4 Nmbre: Elabración del reprte de velcidades Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 31/03/2012 Fecha de fin: 06/04/2012 Descripción: Elabración del reprte de velcidades para cada vehícul/usuari de acuerd a ls parámetrs: fecha de inici y fecha de fin, cuy interval n debe ser mayr a un mes. Mdificación del plan de entregas N se realizarn cambis en el plan de entregas inicial. 104

123 Dem de la cuarta iteración Lueg de la ejecución de las tareas para la histria de usuari de esta iteración, se btiene tra entrega de la aplicación. A cntinuación se muestra una imagen de la entrega. Ilustración 2.9: Históric de velcidades. Fuente prpia. Pruebas de aceptación Finalizada la iteración se prcedió a realizar las pruebas de aceptación crrespndientes, las cuales se muestran en las siguientes tablas. Tabla Cas de prueba Nr. 1 de la histria Nr. 4. Fuente prpia. CASO DE PRUEBA Númer: 1 Númer de histria: 4 Nmbre: Generación crrecta del reprte de velcidades. Descripción: Tds ls dats crrespndientes a las velcidades prmedi que el vehícul ha registrad en el interval de tiemp determinad (menr a un mes) deben mstrarse crrectamente en la aplicación. Cndicines de ejecución: 105

124 La simulación de la base de dats debe ser crrecta, para que genere ls dats de las psicines aprximads a la realidad, es decir, las velcidades prmedi deben cincidir cn la realidad. Entradas: Ls dats de velcidad prmedi generads ficticiamente pr ls prcedimients almacenads de base de dats ( stre prcedures ). Resultad esperad: Resultad satisfactri. Evaluación: 10/10 Incidencias - N se experimentó cambis cnsiderables en el plan de entregas inicial. - Al igual que las anterires iteracines, se hace imprescindible pstergar hacia una nueva iteración la migración de la platafrma de prgramación de servidr, de PHP a Java. Iteración quinta Esta iteración cnsta de la histria de usuari: Visualización del vehícul en tiemp real. Asignación de tareas Al igual que las anterires iteracines se prcedió a planificar y asignar las tareas respectivas para la histria de usuari crrespndiente. Las siguientes tablas muestran las tareas asignadas a la histria de usuari para esta iteración: Tabla Tarea Nr. 1 de la histria Nr. 5. Fuente prpia. TAREA Númer: 1 Númer de histria: 5 Nmbre: Cnstrucción del módul de cmunicacines Tip de tarea: Desarrll Punts estimads: 1 106

125 Fecha de inici: 06/03/2012 Fecha de fin: 10/03/2012 Descripción: Cnstrucción del módul de cmunicacines que permitirá el ingres de tramas recibidas desde un AVL a la base de dats. Mdificación del plan de entregas En este punt se prcede a agregar una histria de usuari que permita hacer la migración del lenguaje de prgramación de PHP a Java. Pr l tant, el plan de entregas quedaría estipulad de la siguiente manera: Ilustración 2.10: Mdificación del plan de entregas en la iteración quinta. Fuente prpia. Pruebas de aceptación Finalizada la iteración se prcedió a realizar las pruebas de aceptación crrespndientes, las cuales se muestran en las siguientes tablas. Tabla Cas de prueba Nr. 1 de la histria Nr. 5. Fuente prpia. CASO DE PRUEBA Númer: 1 Númer de histria: 5 Nmbre: Recepción crrecta de la trama. Descripción: La trama debe ser recibida crrectamente pr el módul de cmunicacines. Cndicines de ejecución: 107

126 El AVL, la red celular (GPRS), el servidr deben de estar en excelentes cndicines. Entradas: Tramas enviadas pr el AVL. Resultad esperad: Resultad satisfactri. Evaluación: 10/10 Tabla Cas de prueba Nr. 2 de la histria Nr. 5. Fuente prpia. CASO DE PRUEBA Númer: 2 Númer de histria: 5 Nmbre: Inserción crrecta de la trama. Descripción: La trama debe ser insertada crrectamente en la base de dats pr el módul de cmunicacines. Cndicines de ejecución: El AVL, la red celular (GPRS), el servidr deben de estar en excelentes cndicines. Entradas: Tramas enviadas pr el AVL. Resultad esperad: Resultad satisfactri. Evaluación: 10/10 Incidencias - N se experimentó cambis cnsiderables en el plan de entregas inicial. - Al igual que las anterires iteracines, se hace imprescindible pstergar hacia una nueva iteración la migración de la platafrma de prgramación de servidr, de PHP a Java. 108

127 Iteración sexta Esta iteración cnsta de la histria de usuari: Migración de PHP a Java. Asignación de tareas Al igual que las anterires iteracines se prcedió a planificar y asignar las tareas respectivas para la histria de usuari crrespndiente. Las siguientes tablas muestran las tareas asignadas a la histria de usuari para esta iteración: Tabla Tarea Nr. 1 de la histria Nr. 6. Fuente prpia. TAREA Númer: 1 Númer de histria: 6 Nmbre: Mdificación del códig fuente de PHP a Java Tip de tarea: Desarrll Punts estimads: 1 Fecha de inici: 26/04/2012 Fecha de fin: 31/05/2012 Descripción: Migración de td el códig fuente escrit en PHP a códig fuente escrit en Java per cn las mismas funcinalidades. Mdificación del plan de entregas N se registrarn cambis en el plan de entregas inicial. Pruebas de aceptación Finalizada la iteración se prcedió a realizar las pruebas de aceptación crrespndientes, las cuales se muestran en las siguientes tablas. Tabla Cas de prueba Nr. 1 de la histria Nr. 6. Fuente prpia. CASO DE PRUEBA Númer: 1 Númer de histria: 6 Nmbre: Evidenciar el mism funcinamient cn las ds. 109

128 Descripción: Evidenciar el mism funcinamient que se btuv cn la platafrma PHP que actualmente cn Java. Cndicines de ejecución: Ls recurss tecnlógics n deben experimentar cambis en su funcinalidad. Entradas: Ls misms dats que se ingresaría cn la platafrma PHP. Resultad esperad: Resultad satisfactri. Evaluación: 10/10 Incidencias - N se experimentó cambis cnsiderables en el plan de entregas inicial Entrega Implementación de la entrega final En esta sección se detalla el prces realizad para la implementación de la aplicación en el VPS (Virtual Private Server); para l cual se arrendó este servici a un prveedr adicinand la pre-instalación del sistema perativ CentOS 5.8. Cmpilación de pstgresql Previ a la cmpilación Previa la selección del mtr de base de dats PstgreSQL, se prcede a instalarl; para l cual es necesari descargar el códig fuente para la cmpilación desde su siti web: se realizan ls siguientes pass: - Bajar y descmprimir el archiv pstgresql tar.gz en el directri /usr/lcal cn el siguiente cmand: ~]# tar xzf pstgresql tar.gz C /usr/lcal/ - Cambiar al directri /usr/lcal/pstgresql-8.2.1: 110

129 pstgresql-8.2.1]# cd /usr/lcal/pstgresql Crear el archiv cmpile.sh: pstgresql-8.2.1]# vi cmpile.sh Ests pass se muestran en la Ilustración Ilustración 2.11: Creación del archiv cmpile.sh. Fuente prpia. - Cpiar y pegar la secuencia de instruccines que se muestran en el siguiente script: LDFLAGS=-lstdc++./cnfigure \ --prefix=/usr/lcal/pgsql \ --with-perl \ --with-pythn \ --with-krb5 \ --with-penssl - Hacer ejecutable el script de cmpilación: pstgresql-8.2.1]# chmd 755 cmpile.sh - Para cnfigurar la cmpilación de PstgreSQL se ejecuta el script de cmpilación: pstgresql-8.2.1]#./cmpile.sh Aparece una secuencia de text, la cual se muestra en la Ilustración Cmpilación - Ejecutar make: pstgresql-8.2.1]# make El prces entrega una secuencia de text que se muestra en la Ilustración

130 Ilustración 2.12: Resultad de ejecutar el archiv cmpile.sh. Fuente prpia. Ilustración 2.13: Listad que se genera al ejecutar make. Fuente prpia. 112

131 - Ejecutar el cmand make install: pstgresql-8.2.1]# make install Esta sentencia entrega la secuencia ilustrada en la Ilustración Ilustración 2.14: Listad que se genera al ejecutar make install. Fuente prpia. Pst-cmpilación y cnfiguración Una vez que ls pass señalads en ls acápites anterires se ejecutan sin prblemas, la base de dats debe ser cnfigurada cn un usuari prpietari, en este cas se crea el usuari pstgres. - Para cumplir cn esta acción debe ejecutarse la siguiente secuencia de instruccines: ~]# /usr/sbin/adduser pstgres ~]# mkdir /usr/lcal/pgsql/data ~]# chwn pstgres /usr/lcal/pgsql/data/ 113

132 ~]# su pstgres ~]# /usr/lcal/pgsql/bin/initdb D /usr/lcal/pgsql/data/ La secuencia de instruccines y su resultad satisfactri se muestran en la Ilustración Ilustración 2.15: Listad que se genera al inicializar el mtr de base de dats. Fuente prpia. Pruebas de inici y funcinamient - Las pruebas se llevan a cab cn la siguiente secuencia de cmands: ~]# /usr/lcal/pgsql/bin/pg_ctl D /usr/lcal/pgsql/data/ -l /usr/lcal/pgsql/data/lgfile start 114

133 El resultad se muestra en la Ilustración Ilustración 2.16: Listad que se genera al iniciar el mtr de base de dats. Fuente prpia. ~]# /usr/lcal/pgsql/bin/createdb test Su resultad se muestra en la Ilustración Ilustración 2.17: Listad que se genera al crear una base de dats. Fuente prpia. ~]# /usr/lcal/pgsql/bin/psql test Su resultad se muestra en la Ilustración Ilustración 2.18: Listad que se genera al ejecutar el cmand para manejar una base de dats. Fuente prpia. Cnfiguración del arranque autmátic Para hacer que el servici de PstgreSQL se ejecute autmáticamente al iniciar el Sistema Operativ, es necesari crear un script de inici y cntrl, cm se muestra a cntinuación. - Cm rt, se crea el archiv /etc/init.d/pstgresql para l cual se ejecuta el siguiente cmand: pstgresql-8.2.1]# vi /etc/init.d/pstgresql - En este punt se cpia y pega el text del siguiente script: 115

134 #!/bin/sh # pstgresql This is the init script fr starting up the # PstgreSQL server # chkcnfig: # descriptin: Starts and stps the PstgreSQL backend daemn that handles all database requests. # prcessname: pstmaster # pidfile: /usr/lcal/pgsql/data/pstmaster.pid # # Surce functin library.. /etc/rc.d/init.d/functins # Get cnfig.. /etc/syscnfig/netwrk # Check that netwrking is up. # Pretty much need it fr pstmaster. [ ${NETWORKING} = "n" ] && exit 0 [ -f /usr/lcal/pgsql/bin/pstmaster ] exit 0 # See hw we were called. case "$1" in start) pid=`pidf pstmaster` if [ $pid ] then ech "Pstmaster already running." else ech -n "Starting pstgresql service: " su -l pstgres -c '/usr/lcal/pgsql/bin/pg_ctl -D /usr/lcal/pgsql/data/ -l /usr/lcal/pgsql/data/lgfile start' sleep 1 ech exit fi ;; stp) ech -n "Stpping pstgresql service: " killprc pstmaster sleep 2 rm -f /usr/lcal/pgsql/data/pstmaster.pid ech ;; restart) $0 stp $0 start ;; *) ech "Usage: pstgresql {start stp restart}" exit 1 esac exit 0 - Lueg se hace el script ejecutable y se l agrega cm servici del sistema cn las siguientes instruccines: 116

135 pstgresql-8.2.1]# chmd 700 /etc/init.d/pstgresql pstgresql-8.2.1]# /sbin/chkcnfig add pstgresql Tal y cm se muestra en la Ilustración Ilustración 2.19: Cmands para agregar cm servici al mtr de base de dats. Fuente prpia. Cmpilación de PstGIS Previ a la cmpilación Instalación de Prj4 Para la instalación de Prj4, es necesari descarga su códig fuente de Prj4 desde la dirección web si aún n está dispnible. - Descmprimir el archiv prj tar.gz. ~]# tar -xzf prj tar.gz -C /usr/lcal - Cambiar de directri a /usr/lcal/prj ~]# cd /usr/lcal/prj Ejecutar el script de cnfiguración de la cmpilación. prj-4.5.0]#./cnfigure Las secuencias de text de este prces se muestran en la Ilustración Ejecutarmake y make install. prj-4.5.0]# make prj-4.5.0]# make install Las secuencias de text se muestran en la Ilustración 2.21 y la Ilustración

136 Ilustración 2.20: Listad que se genera al ejecutar el script cnfigure de prj. Fuente prpia. Ilustración 2.21: Listad que se genera al ejecutar make de prj. Fuente prpia. 118

137 Ilustración 2.22: Listad que se genera al ejecutar make install de prj. Fuente prpia. Instalación de ges Este prces requiere realizar la descarga del códig fuente de GEOS desde la dirección web - Descmprimir el archiv ges tar.bz2. ~]# tar -xjf ges tar.bz2 -C /usr/lcal - Cambiar de directri a /usr/lcal/ges ~]# cd /usr/lcal/ ges Ejecutar el script de cnfiguración de la cmpilación. ges-2.2.3]#./cnfigure Las secuencias de text de este prces se muestran en la Ilustración Lueg se ejecuta las instruccines make y make install. prj-4.5.0]# make prj-4.5.0]# make install Las secuencias de text se muestran en la Ilustración 2.24 y la Ilustración

138 Ilustración 2.23: Listad que se genera al ejecutar el script cnfigure de ges. Fuente prpia. Ilustración 2.24: Listad que se genera al ejecutar make de ges. Fuente prpia. 120

139 Ilustración 2.25: Listad que se genera al ejecutar make install de ges. Fuente prpia. Cmpilación Para realizar la cmpilación, se prcede a descargar el códig fuente de PstGIS desde el siti web - Descmprimir el archiv pstgis tar.gz dentr del directri cntrib de pstgres. ~]# tar -xzf pstgis tar.gz -C pstgresql /cntrib/ - Cambiar de directri a /usr/lcal/pstgresql /cntrib/pstgis-1.2.1/. ~]# cd /usr/lcal/pstgresql-8.2.1/cntrib/pstgis / - Ejecutar el script de cnfiguración de la cmpilación cn parámetrs. pstgis-1.2.1]#./cnfigure -- withpgsql=/usr/lcal/pgsql/bin/pg_cnfig Las secuencias de text en la cnsla se aprecian en la Ilustración

140 Ilustración 2.26: Listad que se genera al ejecutar el script cnfigure de pstgis. Fuente prpia. - Ejecutarmake y make install. pstgis-1.2.1]# make pstgis-1.2.1]# make install Las crrespndientes secuencias de text se muestran en la Ilustración 2.27 y la Ilustración Ilustración 2.27: Listad que se genera al ejecutar make de pstgis. Fuente prpia. 122

141 Ilustración 2.28: Listad que se genera al ejecutar make install de pstgis. Fuente prpia. Cnfiguración pst-cmpilación Una vez cmpletads tds ls pass especificads en ls punts anterires, es necesari crear una Base de Dats habilitada espacialmente, para l cual se emplea la base de dats test creada en el prces de cnfiguración de PstgreSQL. El prcedimient es el siguiente: - Realizar la autenticación cm usuari pstgres, prpietari del Mtr de Base Dats. pstgis-1.2.1]# su pstgres - Cargar el lenguaje de prcedimients almacenads pl-pgsql en la base de dats test. pstgis-1.2.1]# /usr/lcal/pgsql/bin/createlang plpgsql test - Cargar las funcines de PstGIS en la base de dats test. pstgis-1.2.1]# /usr/lcal/pgsql/bin/psql d test f /usr/lcal/pgsql/share/lwpstgis.sql Las secuencias de text crrespndientes se aprecian en la Ilustración

142 Ilustración 2.29: Listad que se genera al ejecutar el script lwpstgis.sql. Fuente prpia. - Finalmente se ejecuta exit para vlver al usuari rt. pstgis-1.2.1]# exit Instalación de Apache Tmcat En esta sección se detallan ls pass que se llevan a cab para la instalación de Tmcat Descarga y desempaquetad Para este prces se descarga el instaladr de Apache Tmcat llamad apachetmcat tar.gz desde el siti web - Se guarda el archiv en el directri /rt/apache-tmcat tar.gz, lueg se mueve el archiv al directri /usr/share. ~]# mv apache-tmcat tar.gz /usr/share/apachetmcat tar.gz - Se hace el cambi de directri a /usr/share y se desempaqueta el archiv usand la instrucción tar xzf. ~]# cd /usr/share share ]# tar -xzf apache-tmcat tar.gz 124

143 Est creará el directri /usr/share/apache-tmcat Cnfiguración para la ejecución cm servici - Se hace el cambi de directri a /etc/init.d y se crea un script llamad tmcat. share]# cd /etc/init.d init.d]# vi tmcat - Aquí se muestra el script que se utilizó. #!/bin/bash # descriptin: Tmcat Start Stp Restart # prcessname: tmcat # chkcnfig: JAVA_HOME=/usr/java/jdk1.7.0_ exprt JAVA_HOME PATH=$JAVA_HOME/bin:$ exprt CATALINA_HOME=/usr/share/apache-tmcat-7.0. case $1 start sh $CATALINA_HOME/bin/startup. stp sh $CATALINA_HOME/bin/shutdwn. restart sh $CATALINA_HOME/bin/shutdwn. sh $CATALINA_HOME/bin/startup. exit 0 - Se cambian ls permiss del script para hacerl ejecutable. init.d]# chmd 755 tmcat - Lueg, se utiliza chkcnfig para tener el inici de Tmcat al tiemp de arranque. init.d]# chkcnfig --add tmcat init.d]# chkcnfig --level 234 tmcat n - Se prueba el crrect funcinamient del script. - Iniciand Tmcat ~]# service tmcat start Using CATALINA_BASE: Using CATALINA_HOME: /usr/share/apache-tmcat /usr/share/apache-tmcat Using CATALINA_TMPDIR: /usr/share/apache-tmcat /temp 125

144 Using JRE_HOME: /usr/java/jdk1.7.0_02 Using CATALINA_BASE: Using CATALINA_HOME: Using CATALINA_TMPDIR: Using JRE_HOME: Using CLASSPATH: /bin/btstrap.jar: /bin/tmcat-juli.jar - Reiniciand Tmcat (debe estar iniciad primer) ~]#service tmcat restart Using CATALINA_BASE: Using CATALINA_HOME: Using CATALINA_TMPDIR: Using JRE_HOME: /usr/share/apache-tmcat /usr/share/apache-tmcat /usr/share/apache-tmcat /temp /usr/java/jdk1.7.0_02 Using CLASSPATH: /bin/btstrap.jar:/usr/share/apache-tmcat /bin/tmcat-juli.jar Using CATALINA_BASE: Using CATALINA_HOME: Using CATALINA_TMPDIR: Using JRE_HOME: /usr/share/apache-tmcat /usr/share/apache-tmcat /usr/share/apache-tmcat /temp /usr/java/jdk1.7.0_02 Using CLASSPATH: Using CLASSPATH: /usr/share/apache-tmcat /bin/btstrap.jar:/usr/share/apache-tmcat /bin/tmcatjuli.jar - Deteniend Tmcat ~]#service tmcat stp /usr/share/apache-tmcat /usr/share/apache-tmcat /usr/share/apache-tmcat /temp /usr/java/jdk1.7.0_02 /usr/share/apache-tmcat- /usr/share/apache-tmcat- /usr/share/apache-tmcat- /usr/share/apache-tmcat /bin/btstrap.jar:/usr/share/apache-tmcat /bin/tmcat-juli.jar 126

145 Creación de la base de dats Una vez instalad el mtr de base de dats PstgreSQL cn su extensión PstGIS, se prcede a crear la base de dats de la aplicación mediante el script de base de dats que se encuentra en el Anex II Manuales En esta sección del dcument se describirán ls manuales que explican el cóm ls usuaris deben usar el sistema de manera crrecta. El sistema maneja ds tips de usuaris que sn ls siguientes: - ADMINISTRADOR: Es el que se encarga de la administración del sistema, es decir se encarga de crear AVLs en el sistema, cm tambiéncrear usuaris finales, mas n usuaris de tip Administradr. - USUARIO FINAL: Es el que btiene tdas ls beneficis funcinales del sistema, el sistema fue cread pensand en este usuari. Pr l tant, ests manuales servirán de guía para ls ds tips de usuaris, para que ambs btengan las capacidades necesarias para manejar el sistema cmpletamente. Manual del administradr En este manual se detallarán ls pass que debe seguir un usuari Administradr para manejar adecuadamente el sistema. A cntinuación se explicará pas a pas las accines que se tiene que realizar para expltar a fnd tdas sus funcinalidades. Ingres al sistema Para ingresar al sistema se deben tener en cuenta alguns aspects que a cntinuación se detallan. Cóm acceder al sistema webge-referenciad 1) Después de encender el cmputadr, ubíquese en el ícn de Mzilla Firefx y haga dble click (ver Ilustración 2.30). 127

146 Ilustración 2.30: Escritri de Windws 7. Fuente prpia. 2) A cntinuación aparecerá la pantalla de Mzilla Firefx, ubíquese en la barra de direccines, escriba la dirección del web Site: y pulse Enter ; aparecerá la página de Lgin del sistema (ver Ilustración 2.31). Ilustración 2.31: Página de lgin del sisema. Fuente prpia. 128

147 3) Seguidamente se tendrá que autenticar el usuari Administradr cn las credenciales trgadas pr el autr del presente trabaj, escribiend el nmbre del usuari y su cntraseña, y lueg pulse el btón Ingresar (ver Ilustración 2.32). Ilustración 2.32: Btón ingresar de la página de lgin del sistema. Fuente prpia. 4) Tras est se pdrá bservar la página inicial (index.jsp) del sistema web gereferenciad (ver Ilustración 2.33). Ilustración 2.33: Página index.jsp del sistema. Fuente prpia. 129

148 5) Para administrar el sistema cm tal, se deberá acceder al Módul de Administración, el cual se encuentra enlazad al btón de Administración, de la página inicial del sistema. Haga Click en este btón para acceder a la administración (ver Ilustración 2.34). Al acceder a la administración se pdrá bservar la pantalla de administración de usuaris primeramente, la que se explica en la siguiente sección. Ilustración 2.34: Btón para administrar el sistema. Fuente prpia. Administración de usuaris 1) En la pantalla de administración de usuaris se pdrá crear, cnsultar, actualizar y eliminarls usuaris del sistema (ver Ilustración 2.35); dnde primeramente se pueden ver tds ls usuaris ya creads. 2) Para CREAR un usuari usted deberá hacer Click en el btón Agregar usuari (ver Ilustración 2.35), seguidamente aparecerá un frmulari dnde deberá llenar ls dats del usuari cm el estad, nmbre, apellid, , usuari, y cntraseña (ver Ilustración 2.36) y lueg pulsar el btón Guardar cas cntrari el btón Cancelar. 130

149 Btón Agregar usuari Ilustración 2.35: Página de administración de usuaris del sistema. Fuente prpia. Ilustración 2.36: Frmulari para el ingres de usuaris. Fuente prpia. 3) Para EDITAR un usuari usted deberá hacer Click en la acción Editar usuari que se encuentra ubicad a la derecha de cada registr (ver imagen ) también puede hacer Click en el btón Editar usuari desde el menú (ver Ilustración 2.37) seleccinand un usuari de la lista desde el checkbx de cada registr ubicad a la izquierda. Seguidamente aparecerá un frmulari dnde deberá mdificar ls dats del usuari y lueg pulsar el btón Guardar cas cntrari el btón Cancelar (ver Ilustración 2.38). 131

150 Btón Editar usuari Checkbxs desde el menú Accines Editar usuari Ilustración 2.37: Btnes de edición en la página de administración de usuaris. Fuente prpia. Ilustración 2.38: Frmulari para la edición de usuaris. Fuente prpia. 4) Para ELIMINAR un usuari usted deberá hacer Click en la acción Eliminar usuari que se encuentra ubicad en la clumna Accines de cada registr (ver Ilustración 2.39) también puede hacer Click en el btón Eliminar usuari desde el menú (ver Ilustración 2.39) seleccinand un usuari de la lista desde el checkbx de cada registr ubicad en la clumna de la izquierda. 132

151 Seguidamente aparecerá un cuadr de diálg dnde deberá aceptar cancelar la transacción de eliminar el usuari seleccinad (ver Ilustración 2.40). Checkbxs Btón Eliminar usuari desde el menú Accines Eliminar usuari Ilustración 2.39: Btnes de eliminación en la página de administración de usuaris. Fuente prpia. Ilustración 2.40: Cudr de diálg de eliminación de usuari. Fuente prpia. IMPORTANTE: Al eliminar un usuari debe tener en cuenta que también se eliminarán ls AVLs que pertenezcan a este. 5) Además, se encuentra el btón Refrescar que le permite actualizar ls dats de la página si est fuese necesari (ver Ilustración 2.41); también se encuentra el btón Administración de AVLs el cual le llevará a la página 133

152 dnde pdrá manejar ls dats de ls AVLs del sistema (ver Ilustración 2.41); en la sección a cntinuación se explicará el funcinamient de esta administración. Btón Administración de AVLs Btón Refrescar Ilustración 2.41: Btón de administración de AVLs. Fuente prpia. Administración de avls 1) En la pantalla de administración de AVLs se pdrá crear, cnsultar, actualizar y eliminar ls AVLs del sistema (ver Ilustración 2.42); dnde primeramente se pueden ver tds ls AVLs ya creads. Btón Agregar AVL Ilustración 2.42: Btón para agregar AVLs. Fuente prpia. 134

153 2) Para CREAR un AVL debe hacer Click en el btón Agregar AVL (ver Ilustración 2.42), seguidamente aparecerá un frmulari dnde deberá llenar tds ls dats referentes al AVL (ver Ilustración 2.43) y lueg pulsar el btón Guardar cas cntrari el btón Cancelar. Cabe señalar que ls camps ID, chip, interval de trama e ID del bjet sn camps bligatris que tendrá que llenar. Ilustración 2.43: Frmulari de creación de AVLs. Fuente prpia. 3) Para EDITAR un usuari usted deberá hacer Click en la acción Editar AVL que se encuentra ubicada a la derecha de cada registr (ver Ilustración 2.44) también puede hacer Click en el btón Editar AVL desde el menú (ver Ilustración 2.44) seleccinand un AVL de la lista desde el checkbx de cada registr ubicad a la izquierda. Seguidamente aparecerá un frmulari dnde deberá mdificar ls dats del AVL y lueg pulsar el btón Guardar cas cntrari el btón Cancelar (ver Ilustración 2.45). 135

154 Btón Editar AVL Checkbxs desde el menú Accines Editar AVL Ilustración 2.44: Btnes de edición en la página de administración de AVLs. Fuente prpia. Ilustración 2.45: Frmulari de edición de AVLs. Fuente prpia. 4) Para ELIMINAR un AVL usted deberá hacer Click en la acción Eliminar AVL que se encuentra ubicada en la clumna Accines de cada registr (verilustración 2.46) también puede hacer Click en el btón Eliminar AVL desde el menú (verilustración 2.46) seleccinand un usuari de la lista desde el checkbx 136

155 de cada registr ubicad en la clumna de la izquierda. Seguidamente aparecerá un cuadr de diálg dnde deberá aceptar cancelar la transacción de eliminar el AVL seleccinad (ver Ilustración 2.47). Checkbxs Btón Eliminar desde el menú AVL Accines Eliminar AVL Ilustración 2.46: Btnes de eliminación en la página de administración de AVLs. Fuente prpia. Ilustración 2.47: Cuadr de diálg para la eliminación de AVls. Fuente prpia. IMPORTANTE: Al eliminar un usuari un AVL debe tener en cuenta que n se pdrán recuperar ls ests dats en la psteriridad. 5) Además, se encuentra el btón Refrescar que le permite actualizar ls dats de la página (ver Ilustración 2.48); también se encuentra el btón Administración de usuaris el cual le llevará a la página dnde pdrá 137

156 manejar ls dats de ls usuaris del sistema explicad en la sección anterir (verilustración 2.48). Btón Administración de usuaris Btón Refrescar Ilustración 2.48: Btón de administración de usuaris. Fuente prpia. Manual del usuari final En esta sección se explicará la funcinalidad del sistema web ge-referenciad rientad al usuari final. Se explicará pas a pas cóm debe el usuari final utilizar el sistema de manera que btenga las ventajas de este recurs tecnlógic. 1) Se tendrá que ingresar al sistema, tal y cm se explicó anterirmente, cn las credenciales trgadas pr el autr del presente trabaj, de manera que se encuentre cn la página inicial del sistema web ge-referenciad (ver Ilustración 2.49). 2) Para lcalizar su vehícul haga Click en el btón Lcalizar (ver Ilustración 2.49), esta acción le permite hacer un zm (acercar) a su vehícul y centrarl en el mapa (ver Ilustración 2.49). Pdrá bservar la psición actual de su vehícul, estará representad mediante una saeta flecha que apunta hacia la dirección a dnde su vehícul se dirige (ver Ilustración 2.50). El clr de la saeta expresa el estad del vehícul, ests estads sn: 138

157 Clr verde en ese mment determinad. : Este estad significa que el vehícul se encuentra en mvimient Clr rj : Este estad quiere decir que el vehícul se encuentra parad (estacinad) en ese mment determinad. Btón Lcalizar Ilustración 2.49: Página inicial del sistema. Fuente prpia. Su vehícul Ilustración 2.50: Ubicación del vehícul. Fuente prpia. 139

158 3) Para bservar ls detalles de la psición actual haga click en la saeta, de inmediat aparecerá un cuadr dnde se bservan ls dats de la lcalización actual del vehícul (ver Ilustración 2.51). En este cuadr pdrá bservar dats cm el ID del AVL, la fecha y hra del GPS, la lcal y del servidr en la cual se ha registrad la psición del vehícul; también pdrá bservar la latitud y lngitud, altitud, velcidad y la rientación del vehícul. Ilustración 2.51: Pp-up de ls detalles del vehícul. Fuente prpia. Opción md persecución Ilustración 2.52: Opción de md de persecución. Fuente prpia. 140

159 Md persecución El md persecución le permite bservar el mvimient del vehícul sin perder la perspectiva del mapa, est quiere decir que el vehícul va a estar en el centr del mapa si la pción de md de persecución se encuentra activada. Esta pción se encuentra en la barra superir de la página de inici del sistema (ver Ilustración 2.52). Histrial Esta funcinalidad le permite hacer unrecuent de las psicines en las que su vehícul estuv en ciert laps de tiemp, usted puede determinar este laps de tiemp ingresand la fecha y hra inicial cm también la final en las que usted quiere que se prcese el histrial. A cntinuación se detallarán ls pass que debe seguir para efectuar el histrial. 1. Debe acceder a la página inicial del sistema tal y cm se explicó anterirmente, lueg hacer click en la saeta que determina la psición actual de su vehícul. Aparecerá el cuadr de detalles de la psición actual del vehícul, el cual cntiene el btón Histrial (ver Ilustración 2.53), haga click en este y le llevará a la página de histrial (ver Ilustración 2.54). Btón histrial Ilustración 2.53: Btón "Histrial" del vehícul. Fuente prpia. 141

160 Ilustración 2.54: Página de "Histrial" del vehícul. Fuente prpia. 2. Ingrese la fecha y hra inicial haciend click en el calendari del camp Desde del frmulari (ver Ilustración 2.55); lueg seleccine la fecha y hra que desee la cual aparecerá en el camp Desde del frmulari (ver Ilustración 2.56). Ilustración 2.55: Calendari que se despliega para ingresar la fecha inicial del "Histrial". Fuente prpia. 142

161 Ilustración 2.56: Fecha inicial seleccinada desde el calendari. Fuente prpia. 3. Ingrese la fecha y hra final en el camp Hasta tal y cm se explicó en el pas 2 (ver Ilustración 2.57). Ilustración 2.57: Fecha final seleccinada desde el calendari. Fuente prpia. 4. Si está de acuerd cn ls dats que ha ingresad, puede ptar pr hacer una vista extendida del histrial haciend click en el cuadr de selección Vista extendida. 143

162 La vista extendida le permite ver un histrial ampliad y rápid a diferencia de que si n seleccinara esta pción, vería un histrial lent y en md persecucón que se detalló anterirmente. Veams cm es un histrial cn vista extendida, para l cual debe hacer click en el btón Iniciar y seleccinand la pción Vista extendida (ver Ilustración 2.58). Ilustración 2.58: Vista extendida del histrial del vehícul. Fuente prpia. Se puede bservar la ruta que trazó el vehícul en ciert interval de tiemp a través de una línea de clr rj. También se puede bservar el punt de partida y el de llegada. En cada un de ests ícns incluyend las saetas que muestran la psición de cada transmisión del AVL, se puede hacer click y bservar un cuadr de detalles para cada psición (ver Ilustración 2.59). 144

163 Ilustración 2.59: Detalles de cada psición del vehícul en el histrial. Fuente prpia. En este cuadr de detalles pdrá bservar dats cm la fecha y hra en la que estuv el vehícul en esta psición, su rientación, velcidad, altitud y, si es que el vehícul ha hech una parada en este punt se generará la hra de inici de esta parada y el tiemp que se mantuv en este estad de stp parad. 145

164 146

165 CAPÍTULO III 3. CONCLUSIONES Y RECOMENDACIONES 3.1. Cnclusines Para finalizar, de acuerd a la infrmación presentada en cada capítul del presente trabaj es cnveniente hacer un resumen de cnclusines a las cuales se llegó acrde al avance en el desarrll del trabaj y del dcument en sí. Es imprescindible afirmar que este ha sid un trabaj en el que el autr ha puest much esfuerz en investigación y en la aplicación de las mejres técnicas para que este btenga el pes just en l que refiere a la aplicación de las ciencias de la cmputación. El siguiente resumen de cnclusines se encuentra rientad al cumplimient de ls bjetivs específics y general que se plantearn al iniciar el trabaj, ests sn: - Cn respect a la implementación del VPS cn el sftware base necesari cm el sistema perativ, el arrendamient y la puesta en marcha del mism, fue muy fácil cnseguirl; l que refiere a la instalación de sftware cmplementari cm la base de dats ge-espacial igualmente n demandó una investigación exhaustiva. - Se lgró adquirir el AVL necesari para el rastre del vehícul, cn demra en el enví desde China aunque sin mayr incnveniente. Se tuv que ptar pr tra peradra celular debid a que Clar, la que se prpus utilizar en el antepryect manejaba csts mayres cn relación a Mvistar, la que finalmente se decidió utilizar. Pr tra parte, la cnfiguración del AVL para que pere cn Mvistar n tuv mayr incnveniente debid a la dcumentación cncisa y detallada que cntenía este. - El desarrll de la aplicación Java para la cmunicación, desencriptad y almacenamient de las tramas de ls AVLs se lgró satisfactriamente gracias a la aplicación de la prgramación de Sckets explicada en el capítul II; fue la parte más emcinante del desarrll ya que se creía que iba a ser l más cmplicad del trabaj. - La mdificación de la cartgrafía de OpenStreetMap es una ventaja esencial para l que es el desarrll de slucines de este tip, ya que es psible crregir errres 147

166 de cartgrafía y adicinar infrmación que haga falta en la misma, y así clabrar cn la cmunidad internacinal de OSM para que así td el mund esté en la capacidad de usar esta cartgrafía. - El desarrll de la aplicación Web Java para la visualización de ls dats en tiemp real y su histrial, al igual que para la administración de ls misms; tuv grandes mdificacines de principi a fin ya que se la desarrlló en primera instancia cn PHP l cual es muy recmendable para cmparar ls ds tips de lenguaje de prgramación: PHP y Java. De igual manera la utilización de JPA y la utilización de hils de prcess sn herramientas muy versátiles que permiten la ptimización de ls recurss tecnlógics, al igual que la utilización de un patrón de diseñ MVC. - La incrpración y persnalización de herramientas Open Surce tales cm el visr de mapas, la cartgrafía, ls framewrks (librerías JavaScript) de lad cliente y de lad de servidr ha sid un ámbit muy enriquecedr debid a que se ha pdid expltar estas herramientas al máxim de su capacidad gracias a que existe una extensa dcumentación y se ha pdid también manipular el códig fuente en algunas de ellas; pr l tant se cnsidera a las herramientas Open Surce cm una fuente rica de cncimient y ciencia. - En general, el desarrll del presente trabaj ha tenid gran repercusión en el autr ya que este ha sid su primer trabaj de esta magnitud en el ámbit del cncimient de las ciencias de la cmputación y las cmunicacines; pr l que este trabaj va a ser el ápice de una gran labr investigativa en l que refiere a estas ciencias y el prpulsr de grandes sueñs Recmendacines A cntinuación se describirán algunas recmendacines que se han tmad en cuenta a l larg del desarrll del presente trabaj. - Se sugiere que se investigue y aplique una nueva metdlgía de desarrll de sftware que se ajuste a ls cnstantes cambis que sufre esta rama de ls sistemas cmputacinales, ya que la metdlgía utilizada n se ajustó cmpletamente a las necesidades que tenía el presente desarrll de sftware prque n se trataba de sftware cnvencinal que se ha venid desarrlland 148

167 durante añs sin que es un tip de sftware mdern que n tiene muchs añs en el mercad; pr l tant es necesari crear una nueva metdlgía de desarrll de sftware que se ajuste a las nuevas necesidades. - Un ideal cercan sería la independencia tecnlógica del extranjer en l que refiere a la prducción de equips lcalizadres mediante GPS; en el Ecuadr se está incursinand en este camp per tdavía n es suficiente ya que la falta de industrialización en nuestr medi se encuentra retrasad. De igual manera l que se refiere a la adquisición de servidres ecuatrians que frezcan sus servicis, se debería pner más énfasis en ests temas. - La cartgrafía de OpenStreetMap se encuentra liberada para us públic pr l que cada quien debería crregir aumentar infrmación en esta platafrma para el benefici cmún. - Respect al desarrll de una aplicación Web cm la del presente trabaj desarrllada en Java, se recmienda que cm primer preámbul se desarrlle ésta en PHP haciend una prueba de cncept evidenciand las funcinalidades más imprtantes en una aplicación de este tip, lueg se migre el códig fuente a Java para así cmparar estas ds platafrmas de prgramación Web para dispner de un ampli espectr en este ámbit. De igual frma que se investigue acerca del prcesamient múltiple en ls servidres y el prcesamient distribuid para la ptimización de recurss tecnlógics cm la transferencia de dats pr la red y el prcesamient. - También, se recmienda hacer énfasis en la utilización de sftware libre y códig abiert debid ya que cn ells se puede ampliar el espectr investigativ en el área de las ciencias de la cmputación y ls sistemas cmputacinales l cual desembcaría en el desarrll tecnlógic y pr ende el desarrll ecnómic del país. - Finalmente, se recmienda que se sigan investigand nuevas tecnlgías relacinadas al sftware gegráfic prque es un ámbit nuev que se encuentra tmand la psta del sftware tradicinal cm el sftware financier-cntable al igual que el área de la inteligencia artificial; pr ende que se haga us del presente trabaj para aquellas finalidades. 149

168 150

169 GLOSARIO A AJAX.- Mecanism de cmbinación de tecnlgías y estándares de cliente, cnsistente en la slicitud asíncrna de dats al servidr desde una página web y la utilización de ésts para actualizar una parte de la misma. 2, 31, 34, 60, 61, 62, 63, 64, 85 Apache Tmcat.- Servidr web y cntenedr de servlets que implementa tecnlgías Java Servlet y JavaServer Pages. 19, 20, 36, 124 Aplicación.- Prgrama infrmátic diseñad cm herramienta para permitir a un usuari realizar un diverss tips de trabajs. 1, 6, 8, 9, 10, 11, 12, 13, 19, 20, 29, 30, 31, 32, 33, 34, 35, 40, 45, 47, 51, 55, 60, 61, 62, 63, 64, 65, 69, 82, 83, 84, 85, 86, 89, 90, 96, 98, 99, 100, 101, 102, 104, 105, 110, 127, 147, 148, 149 AVL.- Lcalizadr Autmátic de Vehículs, sistema de lcalización remta en tiemp real, basads generalmente en el us de un GPS y un sistema de transmisión que es frecuentemente un módem inalámbric. 8, 9, 10, 11, 12, 45, 47, 86, 93, 94, 95, 96, 97, 99, 100, 107, 108, 135, 136, 137, 140, 144, 147 B Back-end.- Parte del sftware que prcesa la entrada desde frnt-end (parte del sftware que interactúa y btiene ls dats de entrada del usuari). 25, 116 Base de dats.- Una base de dats banc de dats es un cnjunt de dats pertenecientes a un mism cntext y almacenads sistemáticamente para su psterir us. 2, 10, 21, 22, 23, 24, 25, 26, 32, 33, 35, 38, 39, 40, 41, 42, 44, 47, 79, 80, 82, 83, 85, 86, 87, 92, 93, 96, 97, 98, 99, 102, 105, 106, 107, 108, 110, 113, 114, 115, 117, 123, 127, 147 C Cartgrafía.- Es la ciencia que se encarga del estudi y de la elabración de ls mapas gegráfics, territriales y de diferentes dimensines lineales y demás. 7, 8, 9, 11, 12, 79, 147, 148, 149 CSS.- Las hjas de estil en cascada (Cascading Style Sheets) hacen referencia a un lenguaje de hjas de estils usad para describir la presentación semántica (el aspect y frmat) de un dcument escrit en lenguaje de marcas. 31, 34, 60, 85 D Dats espaciales.- Dats que representas figuras simples en frma de gemetrías cn crdenadas de latitud y lungitud. XVII, 2, 15, 16, 18, 26, 32, 80 DBMS.- Sistema Manejadr de Base de Dats, es un cnjunt de prgramas que permiten el almacenamient, mdificación y extracción de la infrmación en una base de dats

170 E Entidad.- En bases de dats, una entidad es la representación de un bjet cncept del mund real que se describe en una base de dats. 36, 37, 38, 39, 40, 41, 42, 44, 86 F Framewrks.- Marc de trabaj. es una estructura cnceptual y tecnlógica de sprte definid, nrmalmente cn artefacts móduls de sftware cncrets, que puede servir de base para la rganización y desarrll de sftware. 8, 148 G Ge-dats.- Dat que lleva cnsig infrmación gegráfica. 10, 83 Ge-espacial.- La infrmación ge-espacial prprcina una perspectiva única para analizar events y prcess que tienen lugar sbre el territri, pues permite lcalizar cada event en su psición gegráfica. 24, 147 Ge-lcalización.- Frma de lcalizar gegráficamente. 4, 12 Ge-referenciación.- Nelgism que refiere al psicinamient cn el que se define la lcalización de un bjet espacial (representad mediante punt, vectr, área, vlumen) en un sistema de crdenadas y datum determinad. 18 GIS.- Sistema de Infrmación Gegráfica. Es una integración rganizada de hardware, sftware y dats gegráfics diseñada para capturar, almacenar, manipular, analizar y desplegar en tdas sus frmas la infrmación gegráficamente referenciada cn el fin de reslver prblemas cmplejs de planificación y gestión gegráfica. 15, 16, 24 GPRS.- General Packet Radi Service (GPRS) servici general de paquetes vía radi cread en la decada de ls 80 es una extensión del Sistema Glbal para Cmunicacines Móviles (Glbal System fr Mbile Cmmunicatins GSM) para la transmisión de dats mediante cnmutación de paquetes. 86, 107, 108 GPS.- El SPG GPS (Glbal Psitining System: sistema de psicinamient glbal) NAVSTAR-GPS1 es un sistema glbal de navegación pr satélite (GNSS) que permite determinar en td el mund la psición de un bjet. 8, 10, 12, 79, 81, 93, 140, 149 H HTTP.- Hypertext Transfer Prtcl HTTP (en españl prtcl de transferencia de hipertext) es el prtcl usad en cada transacción de la Wrld Wide Web. 31, 49, 60, 61, 62,

171 I Internet.- Es un cnjunt descentralizad de redes de cmunicación intercnectadas que utilizan la familia de prtcls TCP/IP, garantizand que las redes físicas hetergéneas que la cmpnen funcinen cm una red lógica única, de alcance mundial. 15, 30, 48, 50, 56, 58, 62, 63 J Java.- Java es un lenguaje de prgramación de prpósit general, cncurrente, basad en clases, y rientad a bjets, que fue diseñad específicamente para tener tan pcas dependencias de implementación cm fuera psible. 2, 10, 13, 19, 21, 23, 24, 29, 31, 32, 34, 35, 36, 37, 42, 45, 47, 48, 50, 51, 53, 62, 85, 97, 100, 103, 106, 107, 108, 109, 110, 147, 148, 149 Java Enterprise Editin.- es una platafrma de prgramación para desarrllar y ejecutar sftware de aplicacines en el lenguaje de prgramación Java. Permite utilizar arquitecturas de N capas distribuidas y se apya ampliamente en cmpnentes de sftware mdulares ejecutándse sbre un servidr de aplicacines. 29, 32, 84 Java Standard Editin.- Es una clección de APIs del lenguaje de prgramación Java útiles para muchs prgramas de la Platafrma Java. 29, 45, 84 JavaScript.- JavaScript es un lenguaje de prgramación interpretad, dialect del estándar ECMAScript. Se define cm rientad a bjets,3 basad en prttips, imperativ, débilmente tipad y dinámic. 2, 31, 34, 55, 56, 57, 59, 61, 64, 65, 85, 88, 148 JPA.- Es un framewrk del lenguaje de prgramación Java que maneja dats relacinales en aplicacines usand la Platafrma Java en sus edicines Standard (Java SE) y Enterprise (Java EE). 35, 36, 37, 39, 40, 42, 44, 148 JSON.- Acrónim de JavaScript Object Ntatin, es un frmat liger para el intercambi de dats. JSON es un subcnjunt de la ntación literal de bjets de JavaScript que n requiere el us de XML. 34 JSP.- JavaServer Pages (JSP) es una tecnlgía Java que permite generar cntenid dinámic para web, en frma de dcuments HTML, XML de tr tip. 19, 34, 85 L Latitud.- La latitud es la distancia angular entre la línea ecuatrial (el ecuadr), y un punt determinad de la Tierra, medida a l larg del meridian en el que se encuentra dich punt. 10, 26, 68, 83, 99, 102, 140 Linux.- Es un núcle libre de sistema perativ basad en Unix.3 Es un de ls principales ejempls de sftware libre. Linux está licenciad baj la GPL v2 y está desarrllad pr clabradres de td el mund. 8, 10 Lngitud.- expresa la distancia angular entre un punt dad de la superficie terrestre y el meridian que se tme cm 0 (es decir el meridian base) medida a l larg del paralel en el que se encuentra dich punt. 10, 26, 68, 83, 99, 102,

172 M MVC.- Mdel Vista Cntrladr (MVC) es un patrón mdel de abstracción de desarrll de sftware que separa ls dats de una aplicación, la interfaz de usuari, y la lógica de negci en tres cmpnentes distints (mdel, vista y cntrladr). 2, 32, 33, 42, 45, 85, 148 O Open Surce.- Códig abiert ( fuente abierta) es el términ cn el que se cnce al sftware distribuid y desarrllad libremente. 8, 23, 65, 148 OpenLayers.- OpenLayers es una bibliteca de JavaScript de códig abiert baj una derivación de la licencia BSD para mstrar mapas interactivs en ls navegadres web. 2, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 85 P Persistencia.- Se entiende pr persistencia (en prgramación) cm la acción de preservar la infrmación de un bjet de frma permanente (guardar), per a su vez también se refiere a pder recuperar la infrmación del mism (leer) para que pueda ser nuevamente utilizada. 35, 36, 37, 41, 42 PstGIS.- PstGIS es un módul que añade sprte de bjets gegráfics a la base de dats bjet-relacinal PstgreSQL, cnvirtiéndla en una base de dats espacial para su utilización en Sistema de Infrmación Gegráfica. 2, 10, 21, 23, 24, 25, 28, 32, 80, 117, 121, 123, 127 PstgreSQL.- Es un Sistema de Gestión de Base de Dats r elacinal rientad a bjets y libre, publicad baj la licencia BSD. 10, 21, 22, 23, 24, 25, 32, 80, 110, 111, 115, 116, 123, 127 R RDBMS.- Sistema de Gestión de Base de Dats Relacinal. 21, 24, 32 S Servidr.- Es un nd que frma parte de una red, prvee servicis a trs nds denminads clientes. 8, 19, 20, 24, 25, 31, 34, 42, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 60, 61, 62, 64, 65, 79, 80, 84, 88, 103, 106, 107, 108, 140, 148 Servlets.- Ls servlets sn bjets que crren dentr y fuera del cntext de un cntenedr de servlets (ej: Tmcat) y extienden su funcinalidad. 10, 19, 20, 31, 33, 36, 84 Shell.- Se emplea para referirse a aquells prgramas que prveen una interfaz de usuari para acceder a ls servicis del sistema perativ

173 SMS.- Servici de mensajes crts SMS (Shrt Message Service) es un servici dispnible en ls teléfns móviles que permite el enví de mensajes crts (también cncids cm mensajes de text, más clquialmente, texts) entre teléfns móviles 12 Sftware.- Equipamient lógic sprte lógic de un sistema infrmátic, que cmprende el cnjunt de ls cmpnentes lógics necesaris que hacen psible la realización de tareas específicas, en cntrapsición a ls cmpnentes físics que sn llamads hardware. 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 19, 21, 24, 31, 36, 48, 49, 55, 65, 81, 89, 147, 148, 149 Sftware Libre.- es la denminación del sftware que respeta la libertad de tds ls usuaris que adquiriern el prduct y, pr tant, una vez btenid el mism puede ser usad, cpiad, estudiad, mdificad, y redistribuid libremente de varias frmas. 4, 5 SQL.- El lenguaje de cnsulta estructurad SQL (pr sus siglas en inglés structured query language) es un lenguaje declarativ de acces a bases de dats relacinales que permite especificar diverss tips de peracines en ellas. 21, 22, 23, 24, 27, 35, 41, 92 SRID.- El SRID crrespnde a un sistema de referencia espacial basad en el elipside cncret usad para la creación de mapas de tierra plana de tierra rednda. 26, 27, 28, 29 T TCP.- Transmissin Cntrl Prtcl (en españl Prtcl de Cntrl de Transmisión) TCP, es un de ls prtcls fundamentales en Internet. 48, 49, 50, 51, 52 Tmcat.- Servidr web y cntenedr de servlets. 10, 20, 84, 124, 125, 126 U UDP.- User Datagram Prtcl (UDP) es un prtcl del nivel de transprte basad en el intercambi de datagramas (Encapsulad de capa 4 Mdel OSI). 48, 49, 50, 52, 53, 54, 55 URL.- Un lcalizadr de recurss unifrme, más cmúnmente denminad URL (sigla en inglés de unifrm resurce lcatr), es una secuencia de caracteres, de acuerd a un frmat mdélic y estándar, que se usa para nmbrar recurss en Internet para su lcalización identificación. 20, 41, 51, 64 V VPN.- Una red privada virtual, RPV, VPN de las siglas en inglés de Virtual Private Netwrk, es una tecnlgía de red que permite una extensión segura de la red lcal sbre una red pública n cntrlada cm Internet. 10 VPS.- Una partición dentr de un servidr que habilita varias máquinas virtuales dentr de dicha máquina pr medi de varias tecnlgías. 8, 10, 110, 147 W WAR.- Archiv Web (sigla en inglés de Web Archive) que se utiliza para desplegar una aplicación web basada en la platafrma Java

174 X XHTML.- Siglas del inglés extensible HyperText Markup Language. XHTML es básicamente HTML expresad cm XML válid. Es más estrict a nivel técnic, per est permite que psterirmente sea más fácil al hacer cambis buscar errres entre trs. 19, 31, 34, 60, 64 XML.- Siglas en inglés de extensible Markup Language ('lenguaje de marcas extensible'), es un lenguaje de marcas desarrllad pr el Wrld Wide Web Cnsrtium (W3C). Deriva del lenguaje SGML y permite definir la gramática de lenguajes específics para estructurar dcuments grandes. 19, 20, 34, 41, 59, 61 XP.- La prgramación extrema extreme Prgramming (XP) es una metdlgía de desarrll de la ingeniería de sftware. 2, 13, 14,

175 REFERENCIAS BIBLIOGRÁFICAS Y DE INTERNET Buyya, R., Selvi, S. T., & Chu, X. (2009). Object-Oriented Prgramming with Java. Melburne: McGraw Hill. Das, A. (17 de Ener de 2008). JAVAWORLD. Recuperad el 24 de Diciembre de 2012, de Higuera, S. (7 de Juni de 2010). Manual OpenLayers. Obtenid de Martín Sierra, A. J. (2011). AJAX en JAVA EE. Madrid: RA-MA Editrial. PstgreSQL Glbal Develpment Grup. (2011). Abut. Recuperad el Juli de 2012, de Slivelles, U. (2012). Sistemas de Infrmación Gegráfica (SIG) y percepción remta. The Apache Sftware Fundatin. (2012). Apache Tmcat. Recuperad el 10 de Juli de 2012, de Zakas, N. C. (2006). Prfesinal JavaScript para desarrlladres Web. Madrid: Edicines Anaya Multimedia. 157

176 158

177 ANEXOS ANEXO I: Diagrama de Clases UML del Módul de Cmunicacines 159

178 160

179 Ilustración 3.1. Diagrama de Clases UML del Módul de Cmunicacines. Fuente prpia. 161

FUNCIONES DE LA ADMINISTRACIÓN DE REDES

FUNCIONES DE LA ADMINISTRACIÓN DE REDES FUNCIONES DE LA ADMINISTRACIÓN DE REDES 1. Cnfiguración Un administradr de red sirve a ls usuaris: crea espacis de cmunicación, atiende sugerencias; mantiene las herramientas y el espaci requerid pr cada

Más detalles

Microsoft SQL Server

Microsoft SQL Server Autres: Jse Santamaría y Javier Hernández Micrsft SQL Server Micrsft SQL Server es un sistema de gestión de base de dats relacinal (RDBMS) prducid pr Micrsft. Su principal lenguaje de cnsulta es Transact-SQL,

Más detalles

PROGRAMA FORMATIVO AvANZA

PROGRAMA FORMATIVO AvANZA Asesría y Organización de Frmación Cntinua Prgramación páginas web: servidr (PHP) Aplicacines Web Mdalidad: e-learning Duración: 56 Hras Códig: CAT00140 Objetiv Curs de desarrll de aplicacines web. Para

Más detalles

SISTEMAS OPERATIVOS. Pág. 1

SISTEMAS OPERATIVOS. Pág. 1 Un Sistema perativ es un sftware que actúa de interfaz entre ls dispsitivs de Hardware y las aplicacines (prgramas) utilizads pr el usuari para manejar un equip infrmátic. Es el respnsable de gestinar

Más detalles

Tecnología y arquitectura. Tecnología y Arquitectura. D.R. Universidad TecVirtual del Sistema Tecnológico de Monterrey México, 2012.

Tecnología y arquitectura. Tecnología y Arquitectura. D.R. Universidad TecVirtual del Sistema Tecnológico de Monterrey México, 2012. Tecnlgía y Arquitectura D.R. Universidad TecVirtual del Sistema Tecnlógic de Mnterrey Méxic, 2012. 1 Índice Inici 3 -Intrducción -Objetivs -Temari Tema 1. Autmatización y factres de evaluación.. 4 -Intrducción

Más detalles

TEMARIO 5 Proceso contable. Sesión 5. Sistematización de la Contabilidad

TEMARIO 5 Proceso contable. Sesión 5. Sistematización de la Contabilidad TEMARIO 5 Prces cntable Sesión 5. Sistematización de la Cntabilidad 5. Sistematización de la Cntabilidad. INTRODUCCION: El papel de la cntabilidad en la ecnmía mderna es la presentación de estads financiers

Más detalles

Pack Comercio Electrónico

Pack Comercio Electrónico Pack Cmerci Electrónic Prgramación Páginas Web cn PHP + Marketing 75 + 45 HORAS ON-LINE CONTENIDOS: Prgramación Páginas Web cn PHP Prgramación cliente Prgramación de páginas web Presenta la necesidad de

Más detalles

Dirección General de Tecnologías de la Información (DGTI)

Dirección General de Tecnologías de la Información (DGTI) Dirección General de Tecnlgías de la Infrmación (DGTI) Centr de Csts Dcument Tip IC - Cicl 01 Plítica de cnfiguración de estacines de Trabaj Mviles Fecha Emisión 27 de Juli de 2012 Plítica de cnfiguración

Más detalles

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE UN SERVICIO PARA EL DESARROLLO DE NUEVAS FUNCIONALIDADES EN LOS SISTEMAS DE INFORMACIÓN DE

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE UN SERVICIO PARA EL DESARROLLO DE NUEVAS FUNCIONALIDADES EN LOS SISTEMAS DE INFORMACIÓN DE PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE UN SERVICIO PARA EL DESARROLLO DE NUEVAS FUNCIONALIDADES EN LOS SISTEMAS DE INFORMACIÓN DE APOYO A LA GESTIÓN ADMINISTRATIVA, ASESORÍA JURÍDICA,

Más detalles

Construcción de un módulo de seguridad integrado en una arquitectura SOA Open Source

Construcción de un módulo de seguridad integrado en una arquitectura SOA Open Source Cnstrucción de un módul de seguridad integrad en una arquitectura SOA Open Surce Víctr Ayllón, Juan Manuel Reina NOVAYRE - www.nvayre.es C/Lenard Da Vinci 18, 5ª Planta Parque Tecnlógic Cartuja - 41092

Más detalles

Administración Local Soluciones

Administración Local Soluciones SISTEMA INTEGRADO DE GESTIÓN DE EXPEDIENTES MODULAR (SIGM) MANUAL DE CONFIGURACIÓN DEL PAGO TELEMÁTICO SIGM v3 Administración Lcal Slucines Cntrl de versines Versión Fecha edición Cambi prducid Autr 01

Más detalles

Características Generales de SQL

Características Generales de SQL Características Generales de SQL Ricard Enrique Lags Mendza Cámara de Cmerci MARZO 2015 Cntenid 1. Presentación 2. Que es Micrsft SQL Server? 3. A quien le sirve Micrsft SQL Server? 4. Características

Más detalles

Taller de Sistemas de Información 2. Clase 2 Java EE

Taller de Sistemas de Información 2. Clase 2 Java EE Taller de Sistemas de Infrmación 2 Clase 2 Java EE Qué es Java EE? Suite de especificacines Una arquitectura distribuida de cmputación Definición estandarizada de cmpnentes, cntainers y servicis, que permiten

Más detalles

Messenger. Novell 1.0 UBICACIÓN DE LA DOCUMENTACIÓN DE NOVELL MESSENGER. www.novell.com INICIO RÁPIDO

Messenger. Novell 1.0 UBICACIÓN DE LA DOCUMENTACIÓN DE NOVELL MESSENGER. www.novell.com INICIO RÁPIDO Nvell Messenger 1.0 INICIO RÁPIDO www.nvell.cm Nvell Messenger es un prduct de mensajería instantánea crprativ para varias platafrmas que se basa en edirectry TM de Nvell. Su sistema Messenger se puede

Más detalles

PLATAFORMA TECNOLOGICA EN LINEA DE GESTION DE PROYECTOS DE LA INGENIERÍA INDUSTRIAL

PLATAFORMA TECNOLOGICA EN LINEA DE GESTION DE PROYECTOS DE LA INGENIERÍA INDUSTRIAL Platafrma en línea de Gestión de Pryects PLATAFORMA TECNOLOGICA EN LINEA DE GESTION DE PROYECTOS DE LA INGENIERÍA INDUSTRIAL Para que la realización de un pryect tenga éxit en sus tres bjetivs (calidad,

Más detalles

Contenido. Lineamientos para la gestión de proyectos Versión: 0. 1/oct/2012 Pág. 7

Contenido. Lineamientos para la gestión de proyectos Versión: 0. 1/oct/2012 Pág. 7 Cntenid Intrducción... 2 1. Objetivs... 2 2. Audiencia... 2 3. Lineamients Generales para la creación y administración de crngramas... 3 3.1 Alcance del crngrama... 3 3.3 Marc cnceptual de ls y de ls crngramas...

Más detalles

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER PROGRAMA DE INGENEIRIA DE SISTEMAS ANÁLISIS Y DISEÑO DE SISTEMAS. Enfoques para Modelado del Negocio

UNIVERSIDAD FRANCISCO DE PAULA SANTANDER PROGRAMA DE INGENEIRIA DE SISTEMAS ANÁLISIS Y DISEÑO DE SISTEMAS. Enfoques para Modelado del Negocio MODELO DEL NEGOCIO Intrducción Las Organizacines intentan cnjuntar ds visines para realizar su negci: Visión del negci: Especificar y mejrar sus prcess (análisis del negci) Visión de TI: Infrmatizarls

Más detalles

La información no es de valor hasta que un número es asociado con ella. o Benjamín Franklin.

La información no es de valor hasta que un número es asociado con ella. o Benjamín Franklin. Histria de la Medición en el Sftware La infrmación n es de valr hasta que un númer es asciad cn ella. Benjamín Franklin. N puedes cntrlar l que n puedes medir. Si crees que el cst de la medición es alt,

Más detalles

Descripción detallada de Tracker Web

Descripción detallada de Tracker Web Ventas Radis UHF & VHF 800 MHz Energía Slar CCTV Repetidres Instalación Mantenimient GPS Descripción detallada de Tracker Web Para la visualización de ls vehículs que reprtan en el Tracker Server, cntams

Más detalles

Plan de Seguridad Informática para una Entidad Financiera. Córdova Rodríguez, Norma Edith. INTRODUCCIÓN

Plan de Seguridad Informática para una Entidad Financiera. Córdova Rodríguez, Norma Edith. INTRODUCCIÓN INTRODUCCIÓN Ls events mundiales recientes han generad un mayr sentid de urgencia que antes cn respect a la necesidad de tener mayr seguridad - física y de tr tip. Las empresas pueden haber refrzad las

Más detalles

METODOLOGÍA DE ENTREGAS INCREMENTALES

METODOLOGÍA DE ENTREGAS INCREMENTALES METODOLOGÍA DE ENTREGAS INCREMENTALES PLATAFORMA BUSINESSOBJECTS XI 3.1 Versión 1.4 Fase: Metdlgía de Desarrll Fecha: 21/07/2010 ÍNDICE I INTRODUCCIÓN... 4 I.1 OBJETIVOS Y ALCANCE... 5 I.2 AUDIENCIA OBJETIVO...

Más detalles

Situación actual. Pliego de prescripciones técnicas. Pertsonal Saila. Gaia: Arrasaterako Informazio Sistema Geografikoa - GIS Hasiera data: 2009/09/15

Situación actual. Pliego de prescripciones técnicas. Pertsonal Saila. Gaia: Arrasaterako Informazio Sistema Geografikoa - GIS Hasiera data: 2009/09/15 Pertsnal Saila Titularra: INFORMATIKA Plieg de prescripcines técnicas PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA Diseñ, Creación e Implementación de la Base de Dats Cartgráfica del Ayuntamient de Arrasate-

Más detalles

Administración Local Soluciones

Administración Local Soluciones SISTEMA INTEGRADO DE GESTIÓN DE EXPEDIENTES MODULAR (SIGM) PLATAFORMAS CERTIFICADAS EN AL SIGM 3.0 SIGM v3 Administración Lcal Slucines Cntrl de versines Versión Fecha dcument Cambi prducid 01 04-11-2009

Más detalles

CONVOCATORIA START-UP PUCP 2013 BASES

CONVOCATORIA START-UP PUCP 2013 BASES CONVOCATORIA START-UP PUCP 2013 BASES El Centr de Innvación y Desarrll Emprendedr de la Pntificia Universidad Católica del Perú (CIDE-PUCP) cnvca a la cmunidad PUCP a participar del cncurs START-UP PUCP.

Más detalles

BENEFICIOS Y ANÁLISIS COMPARATIVO DE FUNCIONALIDES SEGÚN VERSIÓN

BENEFICIOS Y ANÁLISIS COMPARATIVO DE FUNCIONALIDES SEGÚN VERSIÓN BENEFICIOS Y ANÁLISIS COMPARATIVO DE FUNCIONALIDES SEGÚN VERSIÓN 2013 Pitbull Keyhlder - Funcinalidades 1. Beneficis Pitbull KeyHlder cntribuye a ptimizar la gestión de cntraseñas de acces de seguridad

Más detalles

Además de estas actividades principales, se identifican como necesarias las siguientes:

Además de estas actividades principales, se identifican como necesarias las siguientes: Anex Técnic Expediente 2014-00306 CONTRATACION DE SERVICIOS DE APOYO TÉCNICO EN EL DESARROLLO SOBRE MS-SHAREPOINT DE LA PLATAFORMA PARA PLANEAMIENTO DE CAPACIDADES Descripción de las especificacines técnicas

Más detalles

------------ Diplomado en computación básica Elaborado por: Cristopher E. Rebollo mayo de 2015 1 UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN

------------ Diplomado en computación básica Elaborado por: Cristopher E. Rebollo mayo de 2015 1 UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN - UNIVERSIDAD AUTÓNOMA DE NUEVO LEÓN DIRECCIÓN GENERAL DE INFORMÁTICA ------------ Diplmad en cmputación básica Elabrad pr: Cristpher E. Rebll may de 2015 1 CONTENIDO 1- INTRODUCCIÓN. 2- INFORMACIÓN GENERAL

Más detalles

Muchas compañías, gobiernos y organizaciones usan variaciones de la metodología Stage-Gate para manejar proyectos largos y complejos.

Muchas compañías, gobiernos y organizaciones usan variaciones de la metodología Stage-Gate para manejar proyectos largos y complejos. CAPITULO I MARCO DE REFERENCIA Selección del Pryect Muchas cmpañías, gbierns y rganizacines usan variacines de la metdlgía Stage-Gate para manejar pryects largs y cmplejs. Algunas características de Stage-Gate

Más detalles

PISIS Cliente Neo. Guía de Instalación y Uso Versión del documento: 1.8 Fecha: Octubre 10 de 2014

PISIS Cliente Neo. Guía de Instalación y Uso Versión del documento: 1.8 Fecha: Octubre 10 de 2014 PISIS Cliente Ne Guía de Instalación y Us Versión del dcument: 1.8 Fecha: Octubre 10 de 2014 1. Intrducción PISIS Cliente es una aplicación de escritri (desarrllada para ser utilizada en el sistema perativ

Más detalles

Calidad de modelos BIM (Building Information Modeling) aplicados al Patrimonio. Universidades de Granada, Jaén y Sevilla

Calidad de modelos BIM (Building Information Modeling) aplicados al Patrimonio. Universidades de Granada, Jaén y Sevilla Calidad de mdels BIM (Building Infrmatin Mdeling) aplicads al Patrimni Universidades de Granada, Jaén y Sevilla 1 2 Calidad de mdels BIM (Building Infrmatin Mdeling) aplicads al Patrimni 3 Agencia de Obra

Más detalles

JSC INGENIUM DESARROLLA PARA LOGISTA UNA PLATAFORMA DE RECARGAS MULTISERVICIO Y MULTIOPERADOR

JSC INGENIUM DESARROLLA PARA LOGISTA UNA PLATAFORMA DE RECARGAS MULTISERVICIO Y MULTIOPERADOR Cas de éxit Ret JSC INGENIUM DESARROLLA PARA LOGISTA UNA PLATAFORMA DE RECARGAS MULTISERVICIO Y MULTIOPERADOR Lgista, Operadr lgístic integral líder en España y Prtugal, y un de ls principales en el sur

Más detalles

www.espiralms.com info@espiralms.co

www.espiralms.com info@espiralms.co 1 ITSM SOFTWARE www.espiralms.cm inf@espiralms.cm PractivaNET 2 ITIL v2 ITIL v3 ISO 20000 ISO 27001 TODAS HABLAN EL MISMO IDIOMA SAM ISO 19770 COBIT ISO 38500 PractivaNET 3 Marcs de referencia para TI

Más detalles

CAPITULO 2. MODELOS DE REDES

CAPITULO 2. MODELOS DE REDES CAPITULO 2. MODELOS DE REDES EL MODELO OSI (Open System Intercnnectin): Cread en 1947 pr la ISO. OSI es un estándar ISO que cubre tds ls aspects de las redes de cmunicación. Un sistema abiert (Open System)

Más detalles

RECOMENDACIONES IMPLEMENTACIÓN DE GEOSERVICIOS WEB

RECOMENDACIONES IMPLEMENTACIÓN DE GEOSERVICIOS WEB RECOMENDACIONES IMPLEMENTACIÓN DE GEOSERVICIOS WEB Objetiv El bjetiv del presente dcument es establecer recmendacines para la implementación de geservicis web, de tal manera de facilitar la utilización

Más detalles

IN3 SIGCam. Sistema Integral de Gestión para Cámaras de Comercio

IN3 SIGCam. Sistema Integral de Gestión para Cámaras de Comercio IN3 SIGCam Sistema Integral de Gestión para Cámaras de Cmerci Investigacines e Innvacines en Infrmática Aplicada, S. A. IN3 C/Prim, 16 A Baj 12003 Castellón Tel. +34 964 72 36 80 Fax +34 964 72 21 34 http://www.in3.es

Más detalles

PROCESO DEL SISTEMA SIWETI

PROCESO DEL SISTEMA SIWETI PROCESO DEL SISTEMA SIWETI Ilustración 1 Diagrama de estad principal del sistema de infrmación SIWETI En la Ilustración 1 se muestra td el prces pr el que transita un Trabaj de investigación, el cual está

Más detalles

Tema 45 Grupos de trabajo. WorkFlow 30/05/2011

Tema 45 Grupos de trabajo. WorkFlow 30/05/2011 Tema 45 Grups de trabaj. WrkFlw 30/05/2011 Tema 45. Herramientas de prductividad de grups de trabaj. Fluj de trabaj (WrkFlw), asciación de tareas, actres y events. Flujs reglads. Índice 1 Intrducción...

Más detalles

1ª CARACTERÍSTICAS TÉCNICAS QUE HA DE REUNIR EL OBJETO DEL CONTRATO

1ª CARACTERÍSTICAS TÉCNICAS QUE HA DE REUNIR EL OBJETO DEL CONTRATO PLIEGO DE PRESCRIPCIONES TÉCNICAS PARTICULARES CORRESPONDIENTE AL CONTRATO 300/2011/00145 1ª CARACTERÍSTICAS TÉCNICAS QUE HA DE REUNIR EL OBJETO DEL CONTRATO Este cntrat tiene pr bjet el suministr de licencias

Más detalles

Guía General Central Directo. Ingreso a la Plataforma

Guía General Central Directo. Ingreso a la Plataforma Guía General Central Direct Ingres a la Platafrma Añ: 2015 La presente guía ha sid elabrada pr el Banc Central de Csta Rica (BCCR) y frece infrmación básica para facilitar a ls participantes de Central

Más detalles

CURSO PRÁCTICO ONLINE: MICROSOFT PROJECT 2013 CON LOS FUNDAMENTOS DE LA GUIA DEL PMBOK

CURSO PRÁCTICO ONLINE: MICROSOFT PROJECT 2013 CON LOS FUNDAMENTOS DE LA GUIA DEL PMBOK CURSO PRÁCTICO ONLINE: MICROSOFT PROJECT 2013 CON LOS FUNDAMENTOS DE LA GUIA DEL PMBOK Dirigid a Empresas y Prfesinales en el ámbit de la gestión y dirección de pryects Escenari y Objetivs El curs práctic

Más detalles

INSTALACION DE TOKEN GEMALTO DESDE CD

INSTALACION DE TOKEN GEMALTO DESDE CD PÚBLICO Página Página 1 de 8 1 OBJETIVO Describir el prces de instalación Tken en el sistema perativ Windws versines XP, Vista, 7 y Mac OS Lin. 2 ALCANCE Dirigid a tds ls clientes que adquieran renueven

Más detalles

Conjunto de servicios de los módulos funcionales. Entre los servicios que se ofrecen, destacamos:

Conjunto de servicios de los módulos funcionales. Entre los servicios que se ofrecen, destacamos: Cnjunt de servicis de ls móduls funcinales Entre ls servicis que se frecen, destacams: Cmpnente DRI Cmpnente encargad de la rquestación de ls diferentes servicis lógics que cmpnen el nd de frma que permita

Más detalles

Lo que se pretende conseguir es proporcionar información detallada sobre. algunos ejemplos de software diseñados para implementar la Minería de Datos.

Lo que se pretende conseguir es proporcionar información detallada sobre. algunos ejemplos de software diseñados para implementar la Minería de Datos. SISTEMAS Y HERRAMIENTAS DE MINERÍA DE DATOS. EJEMPLOS: L que se pretende cnseguir es prprcinar infrmación detallada sbre alguns ejempls de sftware diseñads para implementar la Minería de Dats. Librerías:

Más detalles

encriptación de clave pública que utilizan los navegadores y servidores web para transmitir información importante.

encriptación de clave pública que utilizan los navegadores y servidores web para transmitir información importante. Cnfiguración SSL Ggle Mini incluye un certificad SSL (Secure Sckets Layer, nivel de zócal cn seguridad) que puede utilizarse durante la instalación y la cnfiguración de la red. Se trata de un prtcl de

Más detalles

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE Nº 001-2010/UNFV-CEUCI

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE Nº 001-2010/UNFV-CEUCI INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE Nº 001-2010/UNFV-CEUCI Sftware de Inventari de Activs Patrimniales 1. NOMBRE DEL AREA: CENTRO UNIVERSITARIO DE CÓMPUTO E INFORMATICA 2. RESPONSABLES DE

Más detalles

Atlassian JIRA. Tome el control de sus proyectos

Atlassian JIRA. Tome el control de sus proyectos Atlassian JIRA Jira es un aplicación para la administración de pryects y actividades desarrllada para facilitar el trabaj de su equip. Jira es una tecnlgía basada en el estándar J2EE. Tme el cntrl de sus

Más detalles

MANUAL DE USUARIO DEL VISOR URBANÍSTICO

MANUAL DE USUARIO DEL VISOR URBANÍSTICO MANUAL DE USUARIO DEL VISOR URBANÍSTICO Manual Públic de usuari del Visr Urbanístic Versión: 1.0.85 Diciembre 2010 Página 1 PAGINA EN BLANCO Manual Públic de usuari del Visr Urbanístic Versión: 1.0.85

Más detalles

CURSO ADMINISTRACIÓN DE BASES DE DATOS CON SQL SERVER 2012

CURSO ADMINISTRACIÓN DE BASES DE DATOS CON SQL SERVER 2012 Objetivs y Temari CURSO ADMINISTRACIÓN DE BASES DE DATOS CON SQL SERVER 2012 OBJETIVOS Micrsft SQL Server 2012 es un ptente sistema RDBMS que aprta td l necesari para facilitar la gestión de sus dats y

Más detalles

Foco en el Cliente - Modelo SIGO (Sistema Integrado de Gestión Organizacional)

Foco en el Cliente - Modelo SIGO (Sistema Integrado de Gestión Organizacional) Fc en el Cliente - Mdel SIGO (Sistema Integrad de Gestión Organizacinal) En la actualidad, satisfacer las necesidades del cliente n es suficiente, es necesari exceder sus expectativas, deleitarls, e inclus

Más detalles

Elaboró Revisó Aprobó Fecha de aplicación Gerardo Sanchez Nava Antonio Sanchez

Elaboró Revisó Aprobó Fecha de aplicación Gerardo Sanchez Nava Antonio Sanchez EDICION : 3 PAG: 1 DE 6 SITIO : CORPORATIVO 1.- OBJETIVO: Determinar el Prces para realizar el desarrll de, enfcadas a la creación, mdificación y/ mantenimient de prducts. 2.- ALCANCE: Cmité de nuevs prducts,

Más detalles

Libera Formación 2009 WiMAX y Vídeo Vigilancia

Libera Formación 2009 WiMAX y Vídeo Vigilancia Libera Frmación 2009 WiMAX y Víde Vigilancia Qué es WiMAX WiMAX sn las siglas de Wrldwide Interperability fr Micrwave Access (interperabilidad mundial para acces pr micrndas). Es un sistema de cmunicación

Más detalles

SIMASC. Documento de Especificaciones de Arquitectura: Versión 1.1

SIMASC. Documento de Especificaciones de Arquitectura: Versión 1.1 SIMASC Dcument de Especificacines de Arquitectura: Versión 1.1 Revisión Fecha Versión Descripción Autr 21 de Juli de 2015 1.0 21 de Juli de 2015 1.1 Dcumentación prpuesta arquitectura SIMASC Cambis de

Más detalles

INDICE. Servicios Informáticos. Guía de usuario del Programa MSDNAA Página 1 de 14

INDICE. Servicios Informáticos. Guía de usuario del Programa MSDNAA Página 1 de 14 Página 1 de 14 INDICE 1. Intrducción...2 2. Cndicines de acces al servici...3 3. Acces al centr de Sftware MSDN Academic Alliance...4 4. El Centr de Sftware. Intrducción y seccines...5 4.1. Cerrar Sesión...6

Más detalles

MEDICIÓN DEL TAMAÑO DEL SOFTWARE EN APLICACIONES SOA CON PUNTOS DE FUNCIÓN COSMIC. Mirella Pérez Falcón

MEDICIÓN DEL TAMAÑO DEL SOFTWARE EN APLICACIONES SOA CON PUNTOS DE FUNCIÓN COSMIC. Mirella Pérez Falcón MEDICIÓN DEL TAMAÑO DEL SOFTWARE EN APLICACIONES SOA CON PUNTOS DE FUNCIÓN COSMIC Mirella Pérez Falcón CONTENIDO Cncepts básics de SOA Principis de SOA Cmpnentes de la arquitectura SOA Tips de servicis

Más detalles

Desarrollador de aplicaciones utilizando BPM Processmaker. (php, MySQL). Levantamiento de procesos, requerimientos y asesoramiento a Clientes.

Desarrollador de aplicaciones utilizando BPM Processmaker. (php, MySQL). Levantamiento de procesos, requerimientos y asesoramiento a Clientes. República Dminicana N85-81 y Av. Jaime Rldós Aguilera, Quit 0989519910 / 022801707 / afnseca.msn@htmail.cm Alan Fnseca O. Desarrlladr de aplicacines web y móviles. Cn más de 5 añs de experiencia en el

Más detalles

PROCESO: GESTIÓN DE SISTEMAS DE INFORMACIÓN Y TECNOLOGÍA PROCEDIMIENTO: ADMINISTRACIÓN DE REDES Y COMUNICACIONES

PROCESO: GESTIÓN DE SISTEMAS DE INFORMACIÓN Y TECNOLOGÍA PROCEDIMIENTO: ADMINISTRACIÓN DE REDES Y COMUNICACIONES Pág. 1 de 6 1. OBJETIVO Realizar la administración, instalación, adecuación, mnitrización, ampliación, peración y actualización de las redes de cómput para agilizar ls prcess administrativs y misinales

Más detalles

Gestión de Servicios de TI Gestión de Problemas ( menos y menores incidencias)

Gestión de Servicios de TI Gestión de Problemas ( menos y menores incidencias) ITSM SOFTWARE Gestión de Servicis de TI Gestión de Prblemas ( mens y menres incidencias) www.espiralms.cm inf@espiralms.cm PractivaNET Hy hablarems de Cóm implantar una nueva Gestión de Prblemas a partir

Más detalles

Objetivos y Temario CURSO ITIL 2011

Objetivos y Temario CURSO ITIL 2011 Objetivs y Temari CURSO ITIL 2011 OBJETIVOS El bjetiv de este curs sbre ITIL es prprcinar al alumn tdas las claves para un crrect entendimient de ls prcess ITIL 2011 y su rganización. El curs está estructurad

Más detalles

POLÍTICA DE PRESTAMO DE EQUIPO DE CÓMPUTO DE PRUEBA

POLÍTICA DE PRESTAMO DE EQUIPO DE CÓMPUTO DE PRUEBA POLÍTICA DE PRESTAMO DE EQUIPO DE CÓMPUTO DE PRUEBA SlTIMex, S.A. de C.V. División en Slucines de Infraestructura en TI. PRESENTE.- Cntents Prpósit.... 2 Objetiv.... 2 Alcance.... 2 Empresas... 2 Infraestructura...

Más detalles

Tendencia tecnológica y tecnología emergente. Yesenia Gutiérrez Bello Juan Rubén Vázquez Sánchez Marco Antonio Galindo Vallejo

Tendencia tecnológica y tecnología emergente. Yesenia Gutiérrez Bello Juan Rubén Vázquez Sánchez Marco Antonio Galindo Vallejo Tendencia tecnlógica y tecnlgía emergente. Yesenia Gutiérrez Bell Juan Rubén Vázquez Sánchez Marc Antni Galind Vallej Tendencia tecnlógica Primera definición: «Nivel psible de utilización que tendrá alguna

Más detalles

Experiential MBA OnLine Supply Chain Reaction (Módulo Gestión Cadena de Suministro) Supply Chain Reaction Experiential MBA OnLine.

Experiential MBA OnLine Supply Chain Reaction (Módulo Gestión Cadena de Suministro) Supply Chain Reaction Experiential MBA OnLine. Experiential MBA OnLine Supply Chain Reactin (Módul Gestión Cadena de Suministr) Supply Chain Reactin Experiential MBA OnLine Página: 1/6 Experiential MBA OnLine Supply Chain Reactin (Módul Gestión Cadena

Más detalles

PERFIL PROFESORADO UTILIZANDO HERRAMIENTAS TELEMÁTICAS

PERFIL PROFESORADO UTILIZANDO HERRAMIENTAS TELEMÁTICAS Perfiles del Mdel de madurez tecnlógica de centr educativ PERFIL PROFESORADO UTILIZANDO HERRAMIENTAS TELEMÁTICAS Aspects sciales y legales Analizar el impact de las TIC en la sciedad y facilitar el acces

Más detalles

Ficha Técnica Sistema de Gestión Médica

Ficha Técnica Sistema de Gestión Médica Slución Tecnlógica para la Gestión Médica Ficha Técnica Sistema de Gestión Médica Ficha Técnica e-medicalcare Página 1 de 6 Slución Tecnlógica para la Gestión Médica Cntenid Funcinalidad... 3 Presentación

Más detalles

Miembro de Global Compact de las Naciones Unidas - Member United Nations Global Compact SEMINARIOS HERRAMIENTAS COMERCIALES, TEMA:

Miembro de Global Compact de las Naciones Unidas - Member United Nations Global Compact SEMINARIOS HERRAMIENTAS COMERCIALES, TEMA: LAS "REDES SOCIALES" EL NUEVO MODELO DE NEGOCIO ONLINE N. De hras: 8 hras Intrducción Muchas empresas han encntrad en estas cmunidades un canal idóne para cnseguir l que siempre han estad buscand: ser

Más detalles

Reglamento de servicios de la Biblioteca Digital del Espacio Común de Educación Superior Tecnológica BiDig-ECEST

Reglamento de servicios de la Biblioteca Digital del Espacio Común de Educación Superior Tecnológica BiDig-ECEST Reglament de servicis de la Bibliteca Digital del Espaci Cmún de Educación Superir Tecnlógica BiDig-ECEST CAPÍTULO I: DISPOSICIONES GENERALES Versión febrer 2012 Artícul 1. La finalidad del presente reglament

Más detalles

También se pueden desarrollar módulos específicos y luego sumarlos al conjunto de módulos de SUBAS.

También se pueden desarrollar módulos específicos y luego sumarlos al conjunto de módulos de SUBAS. SUBAS es un prgrama desarrllad pr TRON Sftware que tiene pr bjet vincularse cn el ERP BAS Cmpany Steering de Buens Aires Sftware, para btener infrmación a cmpletar cn diferentes prcess que amplían las

Más detalles

Curso de Access 2007

Curso de Access 2007 Curs de Access 2007 1. Objetivs Access es un cmplet y demandad prgrama infrmátic en entrns de empresa, que permite la creación y gestión de bases de dats, así cm su mdificación, cntrl y mantenimient. Este

Más detalles

Binary-Rain Informe de Verificación de Documento Versión 1.3. Historia de revisiones

Binary-Rain Informe de Verificación de Documento Versión 1.3. Historia de revisiones Binary-Rain Infrme de Verificación de Dcument Versión 1.3 Histria de revisines Fecha Versión Descripción Autr 01/09/2012 1.0 Creación del dcument Matias Bancher 01/09/2012 1.1 Revisión de calidad Camil

Más detalles

MANUAL DE USUARIO MODELO WEB DESPACHO IDEAL - MODO SIMULACIÓN

MANUAL DE USUARIO MODELO WEB DESPACHO IDEAL - MODO SIMULACIÓN MANUAL DE USUARIO MODELO WEB DESPACHO IDEAL - MODO SIMULACIÓN INTRODUCCIÓN Esta primera versión del mdul Web para el cálcul del Despach Ideal que XM pne a dispsición de tds ls agentes generadres del Mercad

Más detalles

PÚBLICO. C/Ebanistas, nº 4, Pol. Ind. Urtinsa, 28923 Alcorcón (Madrid) +34. 91.542.18.98 www.construred.com

PÚBLICO. C/Ebanistas, nº 4, Pol. Ind. Urtinsa, 28923 Alcorcón (Madrid) +34. 91.542.18.98 www.construred.com Inscrita en el Registr Mercantil de Madrid, tm 18.197, libr 0, fli 139, sección 8, hja M-315.077, inscripción 1ª. CIF: B-83297366 MS-02 DECLARACIÓN DE POLÍTICA DE SEGURIDAD DE LA INFORMACIÓN C/Ebanistas,

Más detalles

Nombre: Francis Ariel Jiménez Zapata. Matricula: 2010-0077. Tema: Active Directory y GPO en Windows Server 2008. Materia: Sistema Operativo II

Nombre: Francis Ariel Jiménez Zapata. Matricula: 2010-0077. Tema: Active Directory y GPO en Windows Server 2008. Materia: Sistema Operativo II Nmbre: Francis Ariel Jiménez Zapata Matricula: 2010-0077 Tema: Active Directry y GPO en Windws Server 2008 Materia: Sistema Operativ II Grup: 2 Facilitadr: Jsé Dñe Índice: Active Directry.3 Acerca de Active

Más detalles

Bases de Datos Relacionales

Bases de Datos Relacionales 1ra. Parte Bases de Dats Relacinales Lic. En Sistemas de Infrmacin - Cátedra: Bases de Dats I Indice de Cntenids 1ra. Parte: Cncept de Mtres de DB Relacinales. Cmpnentes de una instancia. Archivs físics

Más detalles

Cloud Computing: Relevamiento y clasificación de Servicios de Bases de Datos

Cloud Computing: Relevamiento y clasificación de Servicios de Bases de Datos Clud Cmputing: Relevamient y clasificación de Servicis de Bases de Dats PAPI 2009 Fabrici Alvarez, Raul Ruggia InC Fing - UDELAR Clud Cmputing Qué es? Un tip de servici de TI de cálcul y almacenamient

Más detalles

ANEXO 3: ESTRATIFICACIÓN DE ENTIDADES

ANEXO 3: ESTRATIFICACIÓN DE ENTIDADES ANEXO 3: ESTRATIFICACIÓN DE ENTIDADES - ESTRATEGIA DE GOBIERNO EN LÍNEA 2.0 Crdinación de Investigación, Plíticas y Evaluación Prgrama Agenda de Cnectividad Estrategia de Gbiern en línea República de Clmbia

Más detalles

MANUAL INSTALACION DE TOKEN GEMALTO DESDE CD

MANUAL INSTALACION DE TOKEN GEMALTO DESDE CD Elabró: Agente Sprte Técnic Crdinadr Servici al Aprbó: Oficial SI PÚBLICO Página Página 1 de 8 1 OBJETIVO Describir el prces de instalación Tken en el sistema perativ Windws versines XP, Vista, 7 y Mac

Más detalles

PROCESA. Sistema Inteligente para el Diseño de Modelos de Procesos sobre Arquitecturas Orientadas a Servicios

PROCESA. Sistema Inteligente para el Diseño de Modelos de Procesos sobre Arquitecturas Orientadas a Servicios PROCESA Sistema Inteligente para el Diseñ de Mdels de Prcess sbre Arquitecturas Orientadas a Servicis Pryect subvencinad pr Prgrama de Fment de la Investigación Técnica Pryects Tractres del Plan Nacinal

Más detalles

FACe - Punto General de Entrada de Facturas Electrónicas de la AGE

FACe - Punto General de Entrada de Facturas Electrónicas de la AGE FACe - Punt General de Entrada de Facturas Electrónicas de la AGE ANTECEDENTES/PROBLEMÁTICA Las Administracines Públicas (AA.PP.) han perad durante tda su existencia cn facturación en papel, sn escass

Más detalles

COTAS. El Sistema de Automatización de Terminales

COTAS. El Sistema de Automatización de Terminales COTAS Sistema de Autmatización de Terminales El Sistema de Autmatización de Terminales COTAS es la slución integral para administración de terminales y patis de tanques de cualquier tamañ. COTAS ha acumulad

Más detalles

Instrucción de trabajo I7-CYA Revisión 1 01-Feb-10

Instrucción de trabajo I7-CYA Revisión 1 01-Feb-10 Instrucción de trabaj I7-CYA Revisión 1 01-Feb-10 Creación y Activación de usuaris y recurss Objet Describir cm se realiza la creación de nuevs usuaris y recurss de us cmún del Institut, así cm el prces

Más detalles

CURSO SUPERIOR DE PROGRAMACIÓN WEB PHP Y MYSQL INSTITUTO NOVATECH CARTAGENA

CURSO SUPERIOR DE PROGRAMACIÓN WEB PHP Y MYSQL INSTITUTO NOVATECH CARTAGENA CURSO SUPERIOR DE PROGRAMACIÓN WEB PHP Y MYSQL INSTITUTO NOVATECH CARTAGENA OBJETIVOS El presente curs superir prfesinal garantiza la mejr preparación para frmar a especialistas y estudiantes en el aprendizaje

Más detalles

CONVOCATORIA PARA LA PARTICIPACIÓN EN EL PROGRAMA DE CAPACITACIÓN Y FORTALECIMIENTO EMPRESARIAL EN EL MARCO DEL PROYECTO ALCALÁ+i (II.3.ICF.03.

CONVOCATORIA PARA LA PARTICIPACIÓN EN EL PROGRAMA DE CAPACITACIÓN Y FORTALECIMIENTO EMPRESARIAL EN EL MARCO DEL PROYECTO ALCALÁ+i (II.3.ICF.03. CONVOCATORIA PARA LA PARTICIPACIÓN EN EL PROGRAMA DE CAPACITACIÓN Y FORTALECIMIENTO EMPRESARIAL EN EL MARCO DEL PROYECTO ALCALÁ+i (II.3.ICF.03.003) 1. Objet y ámbit La presente cnvcatria tiene pr bjet

Más detalles

CONDICIONES PARTICULARES PARA LA CONTRATACION DE UN SERVICIO DE ASESORIA FISCAL A EXPATRIADOS Y APOYO EN LA DECLARACIÓN DE IMPUESTOS AÑO 2012

CONDICIONES PARTICULARES PARA LA CONTRATACION DE UN SERVICIO DE ASESORIA FISCAL A EXPATRIADOS Y APOYO EN LA DECLARACIÓN DE IMPUESTOS AÑO 2012 Expediente 20130402-00213 CONDICIONES PARTICULARES PARA LA CONTRATACION DE UN SERVICIO DE ASESORIA FISCAL A EXPATRIADOS Y APOYO EN LA Pase de la Habana, 138 28036 Madrid. España Tel.: +34 91 452 12 00

Más detalles

1eros Focalización: Servicios de Videoconferencia & Colaboración

1eros Focalización: Servicios de Videoconferencia & Colaboración Telepresence Rm Nuestra Empresa 1ers Fcalización: Servicis de Videcnferencia & Clabración 150 Empleads Ingeniers y técnics altamente especializads Equip human apasinad cn rientación al cliente 7 Países

Más detalles

MANUAL DE USUARIO REQUERIMIENTOS TÉCNICOS APLICACIONES WEB. Tabla de Contenido

MANUAL DE USUARIO REQUERIMIENTOS TÉCNICOS APLICACIONES WEB. Tabla de Contenido Tabla de Cntenid 1 OBJETIVO... 2 2 ALCANCE... 2 3 COMPONENTES DE LOS APLICATIVOS WEB... 2 3.1 Diagrama General de ls aplicativs web.... 2 3.1.1 Operación B2C... 2 3.1.2 Operación B2B... 3 3.2 Descripción

Más detalles

ESPECIFICACIÓN DE APLICACIÓN WEB

ESPECIFICACIÓN DE APLICACIÓN WEB ESPECIFICACIÓN DE REQUERIMIENTOS DE APLICACIÓN WEB Pryect: Ctizadr cigarrera AT2013 Revisión: 1.0 1 CONTENIDOS Intrducción... 3 Prpósit... 3 Alcance... 3 Persnal invlucrad... 4 Definicines, acrónims y

Más detalles

RECOMENDACIONES DE PARTICIPACIÓN EN LA CONVOCATORIA DIRIGIDA A ORGANIZACIONES DE LA SOCIEDAD CIVIL Y CENTROS DE INVESTIGACIÓN

RECOMENDACIONES DE PARTICIPACIÓN EN LA CONVOCATORIA DIRIGIDA A ORGANIZACIONES DE LA SOCIEDAD CIVIL Y CENTROS DE INVESTIGACIÓN RECOMENDACIONES DE PARTICIPACIÓN EN LA CONVOCATORIA DIRIGIDA A ORGANIZACIONES DE LA SOCIEDAD CIVIL Y CENTROS DE INVESTIGACIÓN 1.- Cntar cn tds ls requisits que la cnvcatria expresa en su apartad V. Características

Más detalles

PROGRAMA DE ESTUDIOS PROGRAMACIÓN IV

PROGRAMA DE ESTUDIOS PROGRAMACIÓN IV PROGRAMA DE ESTUDIOS PROGRAMACIÓN IV IDENTIFICACIÓN DEL CURSO Ubicación HCA HTI Ttal de hras Valr en crédits 6 semestre 2 3 5 5 Tip de curs Obligatri Matemáticas VI Física IV Inglés IV Asignaturas paralelas

Más detalles

Equipos de respaldo de energía eléctrica UPS, SPS

Equipos de respaldo de energía eléctrica UPS, SPS Equips de respald de energía eléctrica UPS, SPS Intrducción Pág. 1 Sistema UPS Pág. 2 Funcinamient Pág. 2 Sistema SPS Pág. 2 Funcinamient Pág. 3 Diferencias Técnicas Principales Pág. 3 Cnclusión Pág. 4

Más detalles

HOWTO: Cómo configurar el túnel VPN SLL oficina remota (gateway) a oficina remota

HOWTO: Cómo configurar el túnel VPN SLL oficina remota (gateway) a oficina remota HOWTO: Cóm cnfigurar el túnel VPN SLL ficina remta (gateway) a ficina remta Cass de us para cnfigurar VPN cn GateDefender Integra Panda Security desea que btenga el máxim benefici de sus unidades GateDefender

Más detalles

INDICE. Servicios Informáticos. Guía de usuario del Programa MSDNAA Página 1 de 15

INDICE. Servicios Informáticos. Guía de usuario del Programa MSDNAA Página 1 de 15 Página 1 de 15 INDICE 1. Intrducción...2 2. Cndicines de acces al servici y sprte...3 2.1. Cndicines de acces al servici...3 2.2. Sprte pr parte de ls SSII...4 3. Acces al centr de Sftware MSDN Academic

Más detalles

Paessler - Webserver Stress Tool Características

Paessler - Webserver Stress Tool Características Paessler - Webserver Stress Tl Características Webserver Stress Tl simula gran númer de usuaris que acceden a un siti web a través de HTTP / HTTPS. El sftware puede simular hasta 10.000 usuaris que de

Más detalles

LA DIRECCIÓN GENERAL DE OBRAS PÚBLICAS LLAMA A CONCURSO PARA PROVEER EL CARGO DE: Jefe de Operaciones Honorario Código (JOPER-HON)

LA DIRECCIÓN GENERAL DE OBRAS PÚBLICAS LLAMA A CONCURSO PARA PROVEER EL CARGO DE: Jefe de Operaciones Honorario Código (JOPER-HON) LA DIRECCIÓN GENERAL DE OBRAS PÚBLICAS LLAMA A CONCURSO PARA PROVEER EL CARGO DE: Jefe de Operacines Hnrari Códig (JOPER-HON) Tip de Cntrat: Hnraris Mnt prmedi: $ 2.500.000.- aprx. Vacantes: 1 Lugar de

Más detalles

Guía de integración del módulo de Redsys en Magento

Guía de integración del módulo de Redsys en Magento Guía de integración del módul de Redsys en Magent Versión: 2.2 25/08/2015 Referencia RS.ED.IND.MAN.0035 Redsys C/ Francisc Sancha, 12 28034 Madrid ESPAÑA Versión: 2.2 i Guía de integración Redsys en Magent

Más detalles

Modelo de Garantía Antifraude

Modelo de Garantía Antifraude Mdel de Garantía Antifraude Pnte en cntact cn nstrs! 902 87 65 82 sprte@avaibk.cm Validacines y Garantías AvaiBk En AvaiBk querems frecer seguridad y cnfianza a ls viajers, pr ell sabems que un aspect

Más detalles

Normativa de utilización de herramientas. corporativas en las Infraestructuras de Sistemas. de Información del Gobierno de Canarias

Normativa de utilización de herramientas. corporativas en las Infraestructuras de Sistemas. de Información del Gobierno de Canarias Página 1 de 8 Nrmativa de utilización de herramientas crprativas en las Infraestructuras de Sistemas de Infrmación del Gbiern de Canarias Este dcument es cnfidencial y prpiedad de la Dirección General

Más detalles

Manual de Usuario- Vendedores. Uso del Portal

Manual de Usuario- Vendedores. Uso del Portal Manual de Usuari- Vendedres Us del Prtal Manual de usuari- Prtal Página 1 de 14 Autr Cntrl de cambis Vers. Fecha Karla Alfar Sánchez Dcument inicial 1,1 25/06/2011 Karla Alfar Sánchez Actualizacines 1,2

Más detalles

Consejería de Hacienda y Administración Pública. Cliente de firma electrónica. Consulta de configuración de usuario final en entorno Windows

Consejería de Hacienda y Administración Pública. Cliente de firma electrónica. Consulta de configuración de usuario final en entorno Windows de usuari final en entrn Windws Versión: v01r01 Fecha: 06/04/2011 Queda prhibid cualquier tip de expltación y, en particular, la reprducción, distribución, cmunicación pública y/ transfrmación, ttal parcial,

Más detalles

FICHA TÉCNICA DEPENDENCIA: OFICINA DE TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES

FICHA TÉCNICA DEPENDENCIA: OFICINA DE TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES FICHA TÉCNICA FECHA: 28/04/2014 DEPENDENCIA: OFICINA DE TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES OBJETO: PRESTAR LOS SERVICIOS DE ADMINISTRACIÓN ESPECIALIZADA Y SOPORTE DE LA PLATAFORMA CENTRAL

Más detalles

COMERZZIA. Manual de Usuario TIENDA VIRTUAL MP SISTEMAS

COMERZZIA. Manual de Usuario TIENDA VIRTUAL MP SISTEMAS COMERZZIA Manual de Usuari TIENDA VIRTUAL MP SISTEMAS ÍNDICE DE CONTENIDOS 1 INTRODUCCIÓN... 3 1.1 Acerca de este Manual... 3 1.2 Dcumentación relacinada... 3 2 QUÉ ES LA TIENDA VIRTUAL GENERALIDADES...

Más detalles