Documentos de Académico
Documentos de Profesional
Documentos de Cultura
AUTOR: Justo Alcn Cazorla DIRECTOR: Esteban Egea Lpez CODIRECTOR: Alejandro Martnez Sala
Enero / 2.008
Autor E-mail del Autor Director(es) E-mail del Director Codirector(es) Ttulo del PFC Descriptores Resumen
Justo Alcn Cazorla justo.alcon@gmail.com Esteban Egea Lpez esteban.egea@upct.es Alejandro Martnez Sala Desarrollo de una aplicacin distribuida de control y gestin logstica. C#, localizacin, aplicaciones distribuidas.
El objetivo de este Proyecto Fin de Carrera es el desarrollo de una aplicacin distribuida de control y gestin logstica. Esta aplicacin permitir la localizacin de vehculos, no slo como medida de control de una empresa, sino tambin para poder ofertar mayores servicios a los clientes. Una vez finalizado este Proyecto Fin de Carrera se podr realizar una gestin de todos los datos relacionados con la logstica en una empresa y localizar sus vehculos desde una misma aplicacin. La localizacin de los vehculos se realizar gracias a unos dispositivos, asociados a un vehculo o un conductor, que irn enviando sus coordenadas a una base datos, de forma peridica. Todos los datos referentes a la logstica y los servicios adicionales ofrecidos se encontrarn en un servidor, al que se tendr acceso remotamente desde los clientes. El control y la gestin de los datos se realizarn desde un interfaz de usuario situado en los clientes, el cual permitir, adems, la representacin mediante Google Earth de las ltimas ubicaciones conocidas de los vehculos y las rutas seguidas por stos.
Ingeniera de Telecomunicacin
ndice de Contenidos
ndice de Contenidos
Captulo 1 - Introduccin .................................................................................................. 6 1.1 Introduccin. ........................................................................................................... 6 1.2 Soluciones existentes. .............................................................................................. 6 1.3 Solucin propuesta.................................................................................................. 8 1.3.1 Solucin bsica a los objetivos fijados para el Proyecto Fin de Carrera............ 9 1.3.2 Qu base de datos? ......................................................................................... 10 1.3.2.1 Base de datos Access. ............................................................................... 10 1.3.2.2 Base de datos Microsoft SQL Server........................................................ 10 1.3.2.3 Base de datos MySQL............................................................................... 11 1.3.2.4 Base de datos PostgreSQL. ....................................................................... 11 1.3.2.5 Base de datos elegida. ............................................................................... 12 1.3.3 Qu lenguaje de programacin usar? ............................................................. 12 1.3.4 Cmo se comunican Cliente y Servidor? ....................................................... 13 1.3.4.1 Protocolos y estndares utilizados por los servicios Web......................... 14 1.3.4.2 Ventajas de los servicios Web. ................................................................. 14 1.3.4.3 Inconvenientes de los servicios Web. ....................................................... 15 1.4 Resumen de contenidos del presente documento. .............................................. 15 Captulo 2 - Arquitectura del sistema.............................................................................. 16 2.1 Introduccin a la arquitectura del sistema. ........................................................ 16 2.2 Arquitectura de la Base de Datos. ....................................................................... 16 2.2.1 Introduccin. .................................................................................................... 16 2.2.2 Requisitos para Microsoft SQL Server Express............................................... 17 2.2.3 Principales Caractersticas de Microsoft SQL Server Express. ....................... 17 2.2.4 Nomenclatura utilizada para las tablas............................................................. 18 2.2.5 Modelo Entidad Relacin de la Base de Datos. ............................................ 18 2.2.5.1 Diagrama E-R del sistema global.............................................................. 18 2.2.5.2 E-R de cada tabla. ..................................................................................... 20 2.2.5.2.1 E-R ItemDatos. ............................................................................... 20 2.2.5.2.2 E-R PropietarioDatos...................................................................... 20 2.2.5.2.3 E-R CoordenadasDatos................................................................... 21 2.2.5.2.4 E-R ContextoDatos......................................................................... 22 2.2.5.2.5 E-R OrigenDestinoDatos. ............................................................... 22 2.2.5.2.6 E-R ConductorDatos....................................................................... 23 2.2.5.2.7 E-R CamionDatos........................................................................... 24 2.2.5.2.8 E-R RemolqueDatos. ...................................................................... 24 2.2.5.2.9 E-R CargaDatos.............................................................................. 25 2.2.5.2.10 E-R ItemContextoCoordenadas. ................................................... 25 2.2.5.2.11 E-R ItemContexto......................................................................... 26 2.2.5.2.12 E-R ContextoCargas. .................................................................... 26 2.2.6 Uso de SQL Server 2005 Express Edition. ...................................................... 27 2.2.6.1 Habilitar conexiones remotas con SQL Server Express Edition............... 27 2.2.6.2 Protocolo de seguridad utilizado en Microsoft SQL Server. .................... 28 2.2.6.3 Permisos para acceder al servidor Microsoft SQL Server Express Edition. ......................................................................................................................................... 28 2.3 Arquitectura de la aplicacin............................................................................... 28 2.3.1 Introduccin a la arquitectura de la aplicacin. ............................................... 28 2.3.2 Requisitos para Microsoft Visual Studio C# Express. ..................................... 28 4
ndice de Contenidos
2.3.3 Caractersticas de Microsoft Visual Studio C# Express. ................................. 29 2.3.4 Arquitectura del Servidor................................................................................. 29 2.3.4.1 Introduccin. ............................................................................................. 29 2.3.4.2 Diagrama de la estructura del Servidor..................................................... 30 2.3.4.3 Arquitectura de la capa DataAccess.......................................................... 31 2.3.4.3.1 Subcapa SQLProvider. ................................................................... 31 2.3.4.3.2 Subcapa Provider............................................................................ 32 2.3.4.3.3 Subcapa DataAccess....................................................................... 32 2.3.4.4 Arquitectura de la capa Business. ............................................................. 32 2.3.4.5 Arquitectura de la capa Facade. ................................................................ 33 2.3.4.6 Arquitectura de la capa Service................................................................. 33 2.4 Arquitectura del Cliente....................................................................................... 33 2.4.1 Introduccin. .................................................................................................... 33 2.4.2 Diagrama de la estructura del Cliente. ............................................................. 34 2.4.3 Estructura del Cliente....................................................................................... 34 2.5 Arquitectura del Sistema Global. ........................................................................ 35 2.5.1 Introduccin. .................................................................................................... 35 2.5.2 Objetivos del Sistema Global........................................................................... 35 2.5.3 Ventajas del Sistema desarrollado. .................................................................. 36 2.5.4 Diagrama del Sistema Global .......................................................................... 36 2.5.5 Descripcin de la integracin de los diferentes componentes principales ....... 37 Captulo 3 - Manual del usuario ..................................................................................... 38 3.1 Introduccin al manual de usuario...................................................................... 38 3.2 Requisitos del Sistema de Localizacin de Camiones. ....................................... 38 3.3 Requisitos del Servidor......................................................................................... 38 3.4 Requisitos de los Clientes. .................................................................................... 39 3.5 Instalacin y configuracin de .NET Framework 2.0........................................ 39 3.6 Instalacin y configuracin de los elementos especficos del Servidor............. 39 3.6.1 Instalacin y configuracin de Microsoft SQL Server Express....................... 39 3.6.2 Instalacin y configuracin del Servidor Web de IIS de Microsoft................. 41 3.7 Instalacin y configuracin de la aplicacin Servidor. ...................................... 42 3.8 Instalacin y configuracin de la aplicacin Cliente.......................................... 44 3.9 Manual del usuario del Cliente ............................................................................ 44 3.9.1 Introduccin ..................................................................................................... 44 3.9.2 Ejecucin y entorno principal de la aplicacin Cliente.................................... 45 3.9.3 Descripcin del entorno grfico principal........................................................ 45 3.9.4 Descripcin de la informacin representada en cada pestaa. ......................... 47 3.9.5 Descripcin de los formularios disponibles ..................................................... 56 3.9.6 Descripcin de las herramientas para mostrar puntos y rutas en Google Earth. ............................................................................................................................................. 73 Captulo 4 - Conclusiones y lneas futuras ..................................................................... 75 4.1 Conclusiones. ......................................................................................................... 75 4.1.1 Conclusiones de Microsoft SQL Server........................................................... 75 4.1.2 Conclusiones de Microsoft Visual Studio C#. ................................................. 75 4.1.3 Conclusiones del Sistema de Localizacin. ..................................................... 76 4.2 Lneas futuras........................................................................................................ 76 Captulo 5 - Bibliografa .................................................................................................. 77 5
Captulo 1 - Introduccin
Captulo 1 Introduccin
1.1 Introduccin.
El presente documento se encargar de describir una herramienta software desarrollada como Proyecto Fin de Carrera. El software en cuestin ser un Sistema de Localizacin de Camiones para aplicarlo en el mbito logstico de las empresas. Este Sistema de Localizacin de Camiones ofrece: Una base de datos diseada para contener todos los datos necesarios para la logstica y los servicios ofrecidos. Un software para la gestin remota de los datos de logstica y la representacin de puntos y rutas en Google Earth. Una documentacin explicando la estructura del sistema para futuras implementaciones y el manual del usuario necesario para la correcta instalacin, configuracin y utilizacin de la aplicacin.
Las herramientas software de este tipo ofrecen un mtodo para el control de la situacin geogrfica de los vehculos de una empresa, permitiendo una mejor optimizacin en el transporte. Estas herramientas permiten ofrecer una serie de servicios y facilidades, tanto para el cliente como para la empresa, permitiendo reducir costes, tiempo y esfuerzos. Cabe destacar que en este Proyecto Fin de Carrera no se incluye el sistema necesario para que las coordenadas, mandadas por los diferentes dispositivos de localizacin desde los vehculos, lleguen a la base de datos y sean registradas. Atendiendo a esto, se dar por hecho que ya existe un sistema implementado para tal fin. La finalidad de este Sistema de Localizacin de Camiones no ser ofrecer una herramienta final, totalmente funcional y libre de errores, sino la de mostrar una versin de prueba de las posibilidades que se pueden alcanzar con su desarrollo en futuros proyectos. El fin ltimo que deber perseguir esta aplicacin ser el de unificar todas las funcionalidades y servicios necesarios para poder realizar un control avanzado de la actividad empresarial y de la flota de vehculos. Para no olvidar al usuario, se deber perseguir la claridad y la sencillez sin perder la funcionalidad necesaria.
Captulo 1 - Introduccin
(Pcs, PDA, Telfono mvil,...) para realizar el seguimiento y control en tiempo real de los vehculos.
2. OnlineAVL de Crambo Wireless. Es, junto con el dispositivo instalado, el corazn del sistema de gestin de flotas. Proporciona una visibilidad total de la actividad de la empresa gracias a lo que se puede conseguir una mayor productividad y aumentar la satisfaccin de los clientes. OnlineAVL le permite gestionar su flota de forma eficaz desde casi cualquier PC. El programa slo requiere una conexin a Internet, de este modo, evita los gastos que puede suponer mantener un centro de control y reduce los riesgos de cadas del sistema.
3. TransCar. 7
Captulo 1 - Introduccin
Transcar es una aplicacin para la gestin integral de empresas que se dediquen al transporte de mercancas, agencias de transporte o logstica. Este programa de transportes adems de la gestin propia, incluye mdulos de tesorera, CRM, Remuneracin, Exportacin a los principales programas de contabilidad Con TransCar se podr llevar una gestin ms exacta y gil de una empresa, y de esta manera podr reducir costes y aumentar la productividad. Igualmente, una vez se comience a trabajar con la aplicacin, el aprendizaje ser rpido, con lo que conseguir adems de ahorrar una gran cantidad de trabajo, aumentar de forma significativa la calidad de ste.
En los prximos subapartados se discutir y razonar las posibles soluciones que se barajaron y cules fueron las adoptadas finalmente.
Captulo 1 - Introduccin
1.3.1 Solucin bsica a los objetivos fijados para el Proyecto Fin de Carrera.
Antes de decidir las tecnologas a usar, se va a mostrar un boceto de lo que sera la solucin para este Proyecto Fin de Carrera. El Sistema de Localizacin estar compuesto por: Una base de datos desarrollada especficamente para el sistema. En ella se almacenar toda la informacin necesaria. Una aplicacin Servidor a la que se conectar los Clientes remotamente y que gestionar la informacin de la base de datos. Un servidor Web, gracias al cual se podr tener acceso a la aplicacin Servidor. Una aplicacin Cliente, ubicada en cada una de las computadoras de los usuarios, que se conectar con el Servidor. Un conjunto de dispositivos de localizacin instalados en los vehculos. Estos dispositivos, que estarn basados en GPS o GPRS, mandarn al Servidor peridicamente su identificador y las coordenadas en las que se encuentran en ese instante.
Captulo 1 - Introduccin
Como se puede observar en la tabla anterior, se estudiaron cuatro posibilidades y se analizaron sus pros y contras en sus caractersticas ms destacables.
Cuando por alguno de los anteriores motivos, su aplicacin no es consistente, o no va a poder cumplir alguno de los mismos, es preferible el uso de un sistema de base de datos ms robusto, como SQL Server.
Captulo 1 - Introduccin
SQL Server utiliza una parte del espacio de la base de datos para guardar el log de transacciones con los comandos pendientes, lo que asegura que, independientemente de si el programador usa o no transacciones en su cdigo, en ningn caso la base de datos quedara en un estado inconsistente debido a una ejecucin parcial de comandos. Tambin ofrece otras muchas caractersticas avanzadas orientadas a mantener la integridad de la base de datos, como son los triggers, y ofrece soporte completo ACID (Atomicity Consistency Isolation Durability). El principal punto negativo que tiene esta base de datos es su relacin Coste/MB. Si el volumen de datos a manejar no excede de 4 GB se puede optar por elegir la versin Express, versin gratuita que tiene muchas de las ventajas y las prestaciones de la versin comercial.
Las limitaciones de MySQL vienen dadas por sus carencias respecto de los otros sistemas de bases de datos y por el grado de criticidad de su aplicacin. MySQL no es adecuada para aplicaciones crticas. Al no utilizar transacciones, un problema de cualquier tipo que interrumpiese una serie de comandos podra dejar su base de datos en un estado inconsistente, lo cual nunca ocurrira con SQL Server o PostgreSQL. Tampoco tiene triggers por lo que no se pueden establecer reglas de integridad y consistencia a nivel de servidor.
Captulo 1 - Introduccin
Para aplicaciones Windows, PostgreSQL es una alternativa econmica a SQL Server, pues su coste por MB es menor y tiene similares prestaciones. Esta diferencia econmica es especialmente sustancial si se necesita un Servidor Dedicado de bases de datos.
La mayor limitacin de PostgreSQL viene dada por su velocidad: es el sistema de bases de datos ms lento de los estudiados.
o o o o o o o o o o
o o
Captulo 1 - Introduccin
Ventajas Frente a C++ y Java: o o Concepto formalizado de los mtodos get y set, con lo que se consigue cdigo mucho ms legible. Gestin de eventos (usando delegados) mucho ms limpia.
Ventajas frente a Java: o o o o o o o o El rendimiento es, por lo general, mucho mejor. CLI est estandarizado, mientras que los bytecodes de java no lo estn. Soporta bastantes ms tipos primitivos (value types), incluyendo tipos numricos sin signo. Indizadores que permiten acceder a cualquier objeto como si se tratase de un array. Compilacin condicional. Aplicaciones multi-hilo simplificadas. Soporta la sobrecarga de operadores, que aunque pueden complicar el desarrollo son opcionales y algunas veces muy tiles. Permite el uso (limitado) de punteros cuando realmente se necesiten, como al acceder a libreras que no se ejecuten sobre la mquina virtual.
13
Captulo 1 - Introduccin
Captulo 1 - Introduccin
15
16
SQLProvider. En cualquier caso, este tema se tratar en el apartado dedicado al Servidor del sistema.
Sistema Operativo: o o o o o o o o o o Microsoft Windows XP con SP2. Microsoft Windows 2000 Profesional con SP4. Microsoft Windows Server 2003 Standard con SP1 o posterior. Microsoft Windows Server 2003 Enterprise con SP1 o posterior. Microsoft Windows Server 2003 Datacenter con SP1 o posterior. Microsoft Windows Server 2003 Web Edition con SP1 o posterior. Microsoft Windows Small Business Server 2003 con SP1 o posterior. Microsoft Windows Vista Home Basic o superior (aadiendo SQL Express Advanced SP2). Microsoft Windows XP Embedded SP2 Feature Pack 2007. Microsoft Windows Embedded for Point of Service SP2.
17
SMO/RMO. Utilidades sqlcmd y osql. Integracin con Microsoft Visual Studio 2005. Niveles de aislamiento de instantnea. Service Broker (nicamente como cliente). Compatibilidad con XML nativo, incluidos Xquery y esquemas XML. CLR de SQL. Compatibilidad con lenguajes Transact-SQL. Conjunto de resultados activos mltiples (MARS). Conexin de administrador dedicada.
Adems de las tablas mencionadas, han sido necesarias otras tablas para complementar la informacin y as formar la estructura global de la base de datos.
18
En este diagrama, un contexto har referencia a un viaje, al que asociaremos un conductor, un camin, un remolque, un tem y una o ms cargas (ya que en cada viaje se podr llevar ms de una carga). Para poder asociar a cada contexto una o ms cargas se utilizar la tabla ContextoCargas, que tendr una entrada por cada carga registrada en la tabla CargaDatos. Una carga podr tener tanto un origen como un destino. Cada origen/destino podr tener, adems de una serie de datos, unas coordenadas y un propietario. Este propietario podr ser una empresa o un individuo. Para registrar las coordenadas de un tem en cada momento junto con el contexto que tiene asociado en ese momento, la base de datos dispondr de la tabla ItemContextoCoordenadas. En la tabla ItemContexto tendremos un campo llamado idContextoActual que ser el que indique qu contexto est cursando cada tem y as, tener toda la informacin necesaria para crear registros en la tabla ItemContextoCoordenadas.
19
ItemDatos Clave Primaria Atributos idItem codigo fabricante modelo versionFirmware fechaCompra Tipo de datos Int varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) Permite Nulos No No No No S S
idItem: Es un identificador autoincremental usado como clave principal. codigo: Cdigo o nmero de serie del dispositivo de localizacin. fabricante: Empresa que ha fabricado el dispositivo de localizacin. modelo: Nombre del modelo del dispositivo. versionFirmware: Versin de Firmware del dispositivo. fechaCompra: Fecha en la que la empresa compr el dispositivo.
PropietarioDatos Clave Atributos datos Primaria idPropietario nifcifdni nombreFiscal int varchar(50) varchar(50) Tipo de Nulos No No S Permite
20
S S S S S
idPropietario: Es un identificador autoincremental usado como clave principal en esta tabla. nifcifdni: CIF/DNI/NIF del propietario. Ser una cosa u otra dependiendo de si el propietario es una persona o es una empresa. nombreFiscal: Nombre fiscal de la empresa. nombreComercial: Nombre comercial de la empresa. nombrePropietario: En caso de que el propietario sea una persona, el nombre de esa persona. apellido1Propietario: Primer apellido del propietario. apellido2Propietario: Segundo apellido del propietario. telefono: Telfono de contacto.
CoordenadasDatos Clave Primaria Atributos idCoordenadas latitud longitud altitud tiempo Tipo de datos Int float float float datetime Permite Nulos No No No S S
latitud: Latitud de las coordenadas. longitud: Longitud de las coordenadas. altitud: Altitud de las coordenadas. tiempo: Marca temporal de la toma de las coordenadas.
ContextoDatos Clave Primaria Atributos idContexto idConductor idCamion idRemolque Tipo de datos Int Int Int Int Permite Nulos No S S S
idContexto: Identificador autoincremental usado como clave principal de la tabla. idConductor: Identificador del conductor asociado a este contexto (o viaje). idCamion: Identificador del camin asociado a este contexto. idRemolque: Identificador del remolque asociado a este contexto.
OrigenDestinoDatos Clave Primaria Externa Atributos idOrigenDestino idPropietario direccion numero Tipo de datos Int Int varchar(50) varchar(50) Permite Nulos No S No S
22
No S No No S S
idOrigenDestino: Identificador no autoincremental usado como clave principal de la tabla. idPropietario: Identificador del propietario al que pertenece este origen/destino (que en la mayora de las ocasiones ser un almacn). direccion: Direccin del origen/destino. numero: Nmero de la direccin. ciudad: Ciudad en la que se encuentra el origen/destino. region: Regin del origen/destino. pais: Pas del origen/destino. codigoPostal: Cdigo postal de origen/destino. idCoordenadas: origen/destino. Identificador de las coordenadas que tendr el
ConductorDatos Clave Primaria Atributos idConductor dni nombre apellido1 apellido2 Tipo de datos Int varchar(50) varchar(50) varchar(50) varchar(50) Permite Nulos No No No No No
23
permisoConducir
varchar(50)
No
CamionDatos Clave Primaria Atributos idCamion numerobastidor matricula marca modelo tipo Tipo de datos Int varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) Permite Nulos No No No No No S
idCamion: Identificador autoincremental usado como clave principal de la tabla. numerobastidor: Nmero de bastidor del camin. matricula: Matrcula asociada al camin. marca: Fabricante del camin. modelo: Modelo del fabricante de camiones. tipo: Tipo de vehculo.
RemolqueDatos Clave Primaria Atributos idRemolque numerobastidor Tipo de datos Int varchar(50) Permite Nulos No No
24
No No No S
idRemolque: Identificador autoincremental usado como clave principal de la tabla. numerobastidor: Nmero de bastidor del remolque. matricula: Matrcula asociada al remolque marca: Fabricante del remolque. modelo: Modelo del fabricante de remolques. tipo: Tipo de remolque.
CargaDatos Clave Primaria Atributos idCarga codigo tipo clase peso Externa Externa idOrigen idDestino Tipo de datos Int varchar(50) varchar(50) varchar(50) float Int Int Permite Nulos No No S S S S S
2.2.5.2.10
E-R ItemContextoCoordenadas.
25
ItemContextoCoordenadas Clave Atributos datos Primaria Externa Externa Externa idItemContextoCoordenadas idItem idCoordenadas idContexto int int int int Tipo de Nulos No No No S Permite
idItemContextoCoordenadas: Identificador autoincremental usado como clave principal de la tabla. idItem: Identificador del tem al que pertenecen las coordenadas recibidas. idCoordenadas: Identificador de las coordenadas. idContexto: Identificador del contexto que tiene asociado en ese momento el tem.
2.2.5.2.11
E-R ItemContexto.
ItemContexto Clave Primaria Externa Externa Atributos idItemContexto idItem idContextoActual Tipo de datos Int Int Int Permite Nulos No No S
idItemContexto: Identificador autoincremental usado como clave principal de la tabla. idItem: Identificador de un tem. idContexto: Identificador del contexto que tiene actualmente asociado el tem que acompaa a este contexto.
2.2.5.2.12
E-R ContextoCargas.
26
ContextoCargas Clave Atributos Tipo de datos Nulos Primaria Externa Externa idContextoCargas idContexto idCarga int int int No S No Permite
idContextoCargas: Identificador autoincremental usado como clave principal de la tabla. idContexto: Identificador de un contexto al que se asocia la carga que le acompaa en la tabla. idCarga: Identificador de la carga asociada al contexto.
Para habilitar un protocolo de red: 1. En el men Inicio, seleccione Todos los programas, seleccione Microsoft SQL Server 2005 y haga clic en Administrador de configuracin de SQL Server. Opcionalmente, puede abrir Administracin de equipos; para ello, haga clic con el botn secundario en Mi PC y elija Administrar. En Administracin de equipos, expanda Servicios y Aplicaciones y Administrador de configuracin de SQL Server. 2. Expanda Configuracin de red de SQL Server 2005 y, a continuacin, haga clic en Protocolos de NombreServidor. 3. En la lista de protocolos, haga clic con el botn secundario en el protocolo que desea habilitar y, a continuacin, haga clic en Habilitar. El icono del protocolo cambiar para indicar que el protocolo est habilitado. 4. Para deshabilitar el protocolo, realice el mismo procedimiento pero elija Deshabilitar en el paso 3.
Para configurar un protocolo de red: 1. En el men Inicio, haga clic con el botn secundario en Mi PC y elija Administrar.
27
2. En Administracin de equipos, expanda Servicios y Aplicaciones, Administrador de configuracin de SQL Server, Configuracin del servidor de red y Protocolos de NombreServidor, y, a continuacin, haga clic en el protocolo que desea configurar. (Si selecciona TCP, tendr la opcin de habilitar direcciones IP especficas en el panel derecho.) 3. Haga clic con el botn secundario en el protocolo que desea configurar y, a continuacin, elija Propiedades. 4. En Propiedades, puede establecer opciones especficas del protocolo. Adems, para que funcione Microsoft SQL Server en red habr que deshabilitar el firewall y el antivirus o introducir la excepcin adecuada en cada uno.
2.2.6.3 Permisos para acceder al servidor Microsoft SQL Server Express Edition.
Usando SQL Server Management Studio Express, en el panel de la izquierda, haciendo clic con el botn derecho encima del nombre del servidor se selecciona Propiedades -> Permisos. En el panel de Inicio de sesin o funciones se selecciona public y en el panel Permisos explcitos para public se activan todas las casillas WITH GRANT.
Procesador:
o o
Mnimo: Procesador de tipo Pentium a 600 MHz. Recomendado: Procesador de tipo Pentium a 1 GHz.
Sistema Operativo:
28
o o o
Microsoft Windows 2003 Server. Microsoft Windows XP. Microsoft Windows 2000. Mnimo: 128 MB. Recomendado: 256 MB.
RAM:
o o
Disco Duro: Pueden ser necesarios hasta 1,3 GB de espacio disponible. Pantalla:
o o
Mnimo: 800 x 600, 256 colores. Recomendado: 1024 x 768, color de alta densidad de 16 bits.
29
DataAccess: Provee un interfaz a la capa Business para insertar/modificar/eliminar datos en los registros de las tablas. Est dividida a su vez en subcapas. Business: Ofrece un interfaz a la capa Facade, abstrayendo una serie de funcionalidades implementadas en esta capa. Facade: Desacopla al usuario del Servidor. Service: Servicio Web usando SOAP para la comunicacin entre cada uno de los Clientes y el Servidor.
En los prximos apartados se describir la funcionalidad de cada una de las capas del Servidor.
30
Debido a que esta capa tiene que comunicarse directamente con la base de datos, ambos tendrn que estar en la misma computadora.
31
Se trata de una implementacin especfica para Microsoft SQL Server 2005 de la clase abstracta Provider. Esta implementacin hace uso de ADO.NET para la comunicacin con la base de datos y para los tipos de datos necesarios. Esta subcapa es la que se comunica directamente con la base de datos y ofrece a la subcapa DataAccess, mediante polimorfismo a travs de la clase Provider, una coleccin de mtodos para la creacin, modificacin y eliminacin de informacin en las diferentes tablas de la base de datos.
32
ContextoHandlerBusiness: Gestiona los datos sobre la configuracin de los pedidos. CoordenadasHandlerBusiness: Gestiona los datos sobre las coordenadas de orgenes/destinos o de la ubicacin de los dispositivos de localizacin o tems. ItemHandlerBusiness: Gestiona los dispositivos de localizacin o tems. datos relacionados con los
OrigenDestinoHandlerBusiness: Gestiona los datos de los almacenes que puede ser usados como origen o destino de las mercancas. PropietarioHandlerBusiness: Gestiona los datos de los propietarios de los almacenes. RemolqueHandlerBusiness: Gestiona los datos relacionados con los remolques.
Esta capa se ha desarrollado para ser ejecutada en la misma computadora que la capa DataAccess. A pesar de esto, se podra modificar para poder encontrarse en otra computadora, utilizando para ello el protocolo SOAP de Microsoft.
33
En los prximos apartados se explicar detenidamente la estructura y la funcionalidad del Cliente. No se entrar en detalle en el diseo del interfaz grfico que ser detallado en el captulo dedicado al manual del usuario.
NOTA: Por motivos de espacio y de claridad no se han representado todos los formularios existentes. La clase Formularios representa al conjunto de todos los formularios. Mencionar que, aunque la clase Formularios tiene una instancia para cada clase del tipo *Cliente en el diagrama mostrado, en la realidad esto no ser as y cada formulario contendr slo una instancia de las clases necesarias. En el diagrama mostrado hay que destacar que la clase WebReference representa el interfaz de comunicacin, por red o por Internet, con la clase Service del Servidor. Hay que recordar que la comunicacin con el Servidor se realiza usando servicios Web de Microsoft (protocolo SOAP).
objetivo de este diseo es el de ofrecer al usuario un interfaz claro e intuitivo, permitiendo trabajar en los diferentes roles de forma ordenada. Cada una de las pestaas representa los datos agrupados de forma lgica, facilitndose la representacin y el entendimiento por parte del usuario. Para facilitar esta agrupacin, se dispone de una clase para cada pestaa que implementa la funcionalidad relacionada con la representacin, creacin, modificacin, eliminacin y filtrado de datos. Los formularios permitirn acceder a la funcionalidad disponible en cada pestaa. Cada formulario se muestra en forma de cuadro de dilogo, donde el usuario introducir los datos pedidos. De esta forma, toda la funcionalidad implementada por la clase asociada a cada pestaa ser accesible mediante formularios. Adems de esto, el cliente permite la representacin de puntos y rutas en Google Earth. Para conseguir esto, se ha implementado una clase (llamada GestorKML.cs) que permite generar ficheros KML que son mostrados automticamente. Si se desea conocer con ms detalle el funcionamiento de esta clase, consulte el API y el cdigo referente a esta clase.
agrupado toda la informacin en pestaas con vistas a que, en un futuro, dependiendo del tipo de usuario, ste podr acceder a una funcionalidad u otra. El modo de comunicarse entre los Clientes y el Servidor ha sido mediante servicios Web, los cuales estn basados en estndares abiertos y utilizables con otras herramientas de desarrollo. En la implementacin, tanto del Cliente como del Servidor, se ha procurado disminuir, en la medida de lo posible, la carga en la red, con vistas a que este Sistema se utilice va Internet, donde es importante la cantidad de datos a enviar/recibir. Para la representacin de ubicaciones y rutas se ha utilizado Google Earth. Esta herramienta es en la actualidad una de las ms potentes, ofreciendo una enorme cantidad de servicios y funciones. Google Earth posee en la actualidad una de las mejores bases de datos de cartografa y de imgenes va satlite. Durante el desarrollo del Sistema se han utilizado nicamente herramientas gratuitas. Esto implica que ser posible desarrollar nuevas funcionalidades sin necesidad de tener que gastar en licencias.
36
37
38
39
En esta ventana se elegir Agregar y se seleccionar el archivo LocalizacionCamiones.mdf que contiene la base de datos del Sistema de Localizacin de Camiones. Una vez hecho esto, restar configurar los permisos de acceso a la base de datos. Para hacer esto, se hace clic con el botn derecho del ratn encima del nombre del servidor de la base de datos en el Explorar de soluciones y se elije Propiedades. La ventana que aparecer ser la siguiente:
40
Ilustracin 10. Captura de cmo configurar los permisos de acceso a SQL Server.
En Permisos -> public se marcarn todas las filas de la columna WITH GRANT y se aceptarn los cambios. Llegado este punto, la base de datos estar correctamente configurada y ser accesible por la aplicacin Servidor.
IIS 5.0, Windows 2000. IIS 5.1, Windows XP Professional. IIS 6.0, Windows Server 2003 y Windows XP Professional x64 Edition. 41
Para la instalacin del servidor Web se har desde Agregar y quitar programas del Panel de control. Desde ah se acceder a Agregar o quitar componentes de Windows y se marcar el elemento mostrado en la siguiente imagen:
Por defecto, al marcar esta casilla se instalar el servidor Web y el servidor FTP. Dado que el servidor FTP no es necesario para el Sistema de Localizacin de Camiones se podr evitar su instalacin desmarcndolo en los Detalles de este elemento.
42
Dentro de Servicios de Internet Information Server -> Sitios Web -> Sitio Web predeterminado se encuentra ahora el directorio que anteriormente se ha copiado en wwwroot. Haciendo clic con el botn derecho del ratn y entrando en las Propiedades del directorio WebSite se mostrar una ventana como la siguiente:
En la ventana que aparece se pulsar sobre el botn Crear, opcin sealada en la imagen anterior. Una vez realizado esto, sin realizar ninguna accin ms, se aceptarn los cambios y se saldr de la ventana de administracin de Windows. Como ltimo paso para la configuracin del Servidor, restar modificar el archivo Web.config localizado en el directorio WebSite. En este archivo se deber especificar el nombre del servidor SQL y el nombre de la base de datos. La lnea a cambiar en el archivo Web.config es la siguiente (mostrada con los campos configurados por defecto): 43
En esta lnea se pasa a la aplicacin una serie de parmetros: server: tras el smbolo = se indica el nombre de la computadora y el nombre del servidor SQL, separados por el smbolo \. database: tras el smbolo = se especifica el nombre de la base de datos del Sistema de Localizacin de Camiones. Integrated Security: se especifica el modo de seguridad integrada usada.
http://IP_Servidor/WebSite/Service.asmx
Una vez realizado esto, y si se ha configurado todo correctamente, el Cliente al ejecutarse se conectar con la base de datos ubicada en el Servidor.
44
El interfaz de usuario para el Cliente ha sido diseado para ser intuitivo, fcil y claro. Su distribucin est basada en la representacin de los datos agrupados en pestaas. Cada pestaa agrupa datos asociados directamente y tiene una serie de formularios para realizar la creacin, modificacin, eliminacin y filtrado de datos de forma sencilla visualmente. A continuacin se irn describiendo cada uno de los elementos del interfaz, as como los diferentes pasos necesarios para realizar cada una de las posibles tareas.
2. Edicin. Muestra un men desplegable con las siguientes opciones: a. Nuevo: Muestra un formulario para crear una nueva entrada en la tabla mostrada en la pestaa activa en ese momento. b. Eliminar: Muestra un formulario para elegir la entrada a eliminar de la tabla mostrada en la pestaa activa en ese momento. c. Modificar: Muestra un formulario para modificar la entrada elegida de la tabla mostrada en la pestaa activa en ese momento. d. Filtrar: Muestra un formulario para elegir la columna y la cadena a buscar en la tabla mostrada en la pestaa activa en ese momento. e. Limpiar Filtro: Elimina la tabla secundaria que aparece al aplicar un filtro en la pestaa activa en ese momento. f. Actualizar Tabla: Actualiza los datos mostrados en la tabla activa en ese momento.
g. Configurar Pedido: Independientemente de la pestaa que se encuentre activa en ese momento, aparecer un formulario que permitir asociar a un pedido un contexto. Un contexto se interpreta como un viaje, el cual tendr asociado un conductor, un camin, un remolque y un tem. Si se desea modificar alguno de los contextos, estando con la pestaa ConfiguracinPedidos activa se deber acceder al formulario para modificar datos de esa pestaa. 3. Herramientas. Muestra un men desplegable con las siguientes opciones: a. Ver posicin actual de un tem: Muestra un formulario en el que se selecciona el identificador del tem del que se quiere saber la posicin actual. b. Ver ruta de un pedido: Muestra un formulario en el que se selecciona el identificador del tem del que se quiere ver la ruta. Esta ruta ser la que ha seguido desde que sali de su origen, cursando el ltimo contexto que le fue asignado. 4. Ayuda: Muestra un men desplegable con las siguientes opciones: a. Acerca de: Muestra los crditos de la aplicacin. 5. Botn Nuevo: Muestra un formulario para crear una nueva entrada en la tabla mostrada en la pestaa activa en ese momento. 6. Botn Eliminar: Muestra un formulario para elegir la entrada a eliminar de la tabla mostrada en la pestaa activa en ese momento. 7. Botn Modificar: Muestra un formulario para modificar la entrada elegida de la tabla mostrada en la pestaa activa en ese momento. 8. Botn Filtrar: Muestra un formulario para elegir la columna y la cadena a buscar en la tabla mostrada en la pestaa activa en ese momento. 9. Botn Limpiar Filtro: Elimina la tabla secundaria que aparece al aplicar un filtro en la pestaa activa en ese momento. 10. Botn Actualizar Tabla: Actualiza los datos mostrados en la tabla activa en ese momento. 11. Botn Configurar Pedido: Independientemente de la pestaa que se encuentre activa en ese momento, aparecer un formulario que permitir asociar a un pedido un contexto. Un contexto se interpreta como un viaje, 46
el cual tendr asociado un conductor, un camin, un remolque y un tem. Si se desea modificar alguno de los contextos, estando con la pestaa ConfiguracinPedidos activa se deber acceder al formulario para modificar datos de esa pestaa. 12. Botn Ver posicin actual de un tem: Muestra un formulario en el que se selecciona el identificador del tem del que se quiere saber la posicin actual. 13. Botn Ver ruta de un pedido: Muestra un formulario en el que se selecciona el identificador del tem del que se quiere ver la ruta. Esta ruta ser la que ha seguido desde que sali de su origen, cursando el ltimo contexto que le fue asignado. 14. Botn Guardar: Independientemente de la pestaa que se encuentre activa en ese momento, aparecer un formulario que permitir asociar a un pedido un contexto. Un contexto se interpreta como un viaje, el cual tendr asociado un conductor, un camin, un remolque y un tem. Si se desea modificar alguno de los contextos, estando con la pestaa ConfiguracinPedidos activa se deber acceder al formulario para modificar datos de esa pestaa. 15. Pestaa Camiones: Muestra la informacin referente a los diferentes camiones registrados en la base de datos. 16. Pestaa Conductores: Muestra la informacin referente a los diferentes conductores registrados en la base de datos. 17. Pestaa ConfiguracinPedidos: Muestra informacin referente a los pedidos, as como la asignacin que se le ha realizado. 18. Pestaa Coordenadas: Muestra la informacin referente a las coordenadas de cada uno de los tems registrados en la base de datos. 19. Pestaa tems: Muestra la informacin referente a los diferentes dispositivos de localizacin registrados en la base de datos. 20. Pestaa Origenes/Destinos: Muestra informacin sobre los diferentes orgenes/destinos registrados en la base de datos. Normalmente sern almacenes de proveedores y de clientes. 21. Pestaa Pedidos: Muestra la informacin referente a los pedidos registrados en la base de datos. Una vez realizado un pedido, ste deber ser configurado. 22. Pestaa Propietarios: Muestra la informacin referente a los propietarios de los diferentes orgenes/destinos registrados en la base de datos. 23. Pestaa Remolques: Muestra la informacin referente a los diferentes remolques registrados en la base de datos. 24. Panel presente en todas las pestaas, en el que se mostrarn tablas para representar la informacin relacionada con cada una de dichas pestaas.
47
1. Descripcin pestaa Camiones. En la siguiente imagen se pueden ver los campos mostrados en esta pestaa:
a. Campo IDCamion: Nmero entero que representa el identificador que es asignado por la base de datos a cada uno de los camiones registrados. b. Campo NumeroBastidor: Cadena con el nmero de bastidor del camin. c. Campo Matricula: Cadena con la matrcula del camin. d. Campo Marca: Cadena con el fabricante del camin. e. Campo Modelo: Cadena con el modelo de camin. f. Campo Tipo: Cadena con el tipo de camin del que se trata. 2. Descripcin pestaa Conductores. En la siguiente imagen se pueden ver los campos mostrados en esta pestaa:
48
a. Campo IDConductor: Nmero entero que representa el identificador que es asignado por la base de datos a cada uno de los conductores registrados. b. Campo DNI: Cadena con el DNI del conductor. c. Campo Nombre: Cadena con el nombre del conductor. d. Campo 1Apellido: Cadena con el primer apellido del conductor. e. Campo 2Apellido: Cadena con el segundo apellido del conductor. f. Campo PermisoDeConducir: Cadena con el permiso de conducir del conductor. 3. Descripcin pestaa ConfiguracinPedidos. En la siguiente imagen se pueden ver los campos mostrados en esta pestaa:
49
a. Campo CodigoCarga: Cadena con el cdigo que permite identificar una carga. Se debe de poner un cdigo diferente a la carga. b. Campo IDContexto: Nmero entero con el identificador del contexto (o viaje) al que se ha asociado el pedido. c. Campo IDConductor: Nmero entero con el identificador del conductor que cursa o cursar el pedido. d. Campo DniConductor: Cadena con el DNI del conductor que cursa o cursar el pedido. e. Campo IDCamion: Nmero entero con el identificador del camin que cursa o cursar el pedido. f. Campo NumeroBastidorCamion: Cadena con el nmero de bastidor del camin que cursa o cursar el pedido. g. Campo IDRemolque: Nmero entero con el identificador del remolque que cursa o cursar el pedido. h. Campo NumeroBastidorRemolque: Cadena con el nmero de bastidor del remolque que cursa o cursar el pedido. i. Campo IDItem: Nmero entero con el identificador del tem que permitir localizar al pedido. j. Campo CodigoItem: Cadena con el cdigo del tem que permitir localizar al pedido. 4. Descripcin pestaa Coordenadas. En la siguiente imagen se pueden ver los campos mostrados en esta pestaa:
50
a. Campo IDItem: Nmero entero con el identificador del tem al que pertenecen las coordenadas. b. Campo Contexto: Nmero entero con el identificador del contexto asociado al tem. c. Campo CoordenadasLatitud: Latitud de las coordenadas. d. Campo CoordenadasLongitud: Longitud de las coordenadas. e. Campo CoordenadasAltitud: Altitud de las coordenadas. f. Campo CoordenadasFecha: Fecha y hora a la que fueron registradas las coordenadas. 5. Descripcin pestaa Items. En la siguiente imagen se pueden ver los campos mostrados en esta pestaa:
51
a. Campo IDItem: Nmero entero con el identificador asociado por la base de datos al tem. b. Campo Codigo: Cadena con el cdigo asociado al tem. Podr ser desde un nmero de serie a un cdigo representativo arbitrario. c. Campo Fabricante: Cadena con el fabricante del tem o dispositivo de localizacin. d. Campo Modelo: Modelo del tem. e. Campo VersionFirmware: Cadena con el firmware y su versin. f. Campo FechaCompra: Fecha de la compra o del registro del tem. g. Campo ContextoActual: Nmero entero con el identificador del contexto que tiene asociado actualmente el tem. 6. Descripcin pestaa Origenes/Destinos. En la siguiente imagen se pueden ver los campos mostrados en esta pestaa:
52
a. Campo IDOrigenDestino: Nmero entero con el identificador del origen/destino. b. Campo IDPropietario: Nmero entero con el identificador del propietario al que pertenece el origen/destino. c. Campo Direccion: Cadena con la direccin del origen/destino. d. Campo Numero: Cadena con el nmero del domicilio. e. Campo Ciudad: Cadena con la ciudad a la que pertenece el origen/destino. f. Campo Provincia: Cadena con la provincia a la que pertenece el origen/destino. g. Campo Region: Cadena con la regin a la que pertenece el origen/destino. h. Campo Pais: Cadena con el pas al que pertenece el origen/destino. i. Campo CodigoPostal: Cadena con el cdigo postal del origen/destino. j. Campo CoordenadasLatitud: Latitud de las coordenadas en las que se encuentra el origen/destino. k. Campo CoordenadasLongitud: Longitud de las coordenadas en las que se encuentra el origen/destino. l. Campo CoordenadasAltitud: Altitud de las coordenadas en las que se encuentra el origen/destino. 7. Descripcin pestaa Pedidos. En la siguiente imagen se pueden ver los campos mostrados en esta pestaa:
53
a. Campo IDCarga: Nmero entero con el identificador asociado por la base de datos al pedido. b. Campo IDContexto: Nmero entero con el identificador del contexto al que est asociado el pedido. c. Campo IDItem: Nmero entero con el identificador del tem asociado al pedido. d. Campo CodigoItem: Cadena con el cdigo del tem asociado al pedido. e. Campo CodigoCarga: Cadena con el cdigo identificativo del pedido. f. Campo TipoCarga: Cadena con el tipo de carga del pedido. g. Campo ClaseCarga: Clase de carga del pedido. Ejemplo: en el caso de melones de galia, melones sera el tipo de carga y galia sera la clase de carga. h. Campo PesoCarga: Peso del pedido. i. Campo IDOrigen: Identificador del origen de la carga. j. Campo CiudadOrigen: Ciudad de origen de la carga. k. Campo IDDestino: Identificador del destino de la carga. l. Campo CiudadDestino: Ciudad de destino de la carga. m. Campo IDConductor: Identificador del conductor encargado de entregar el pedido. n. Campo DniConductor: DNI del conductor encargado de entregar el pedido. o. Campo IDCamion: Identificador del camin encargado de llevar el pedido. p. Campo NumeroBastidorCamion: Nmero de bastidor del camin encargado de llevar el pedido.
54
q. Campo IDRemolque: Identificador del remolque llevado por el camin. r. Campo NumeroBastidorRemolque: Nmero de bastidor del remolque llevado por el camin. 8. Descripcin pestaa Propietarios. En la siguiente imagen se pueden ver los campos mostrados en esta pestaa:
a. Campo IDPropietario: Nmero entero con el identificador del propietario al que pertenece uno o varios orgenes/destinos (normalmente sern almacenes o fbricas). b. Campo Cif/Dni/Nif: Dependiendo de si el propietario es una persona o una empresa se utilizar uno u otro. c. Campo NombreFiscal: En el caso de que el propietario sea una empresa aqu se introducir su nombre fiscal. d. Campo NombreComercial: En el caso de que el propietario sea una empresa aqu se introducir su nombre comercial. e. Campo NombrePropietario: En el caso de que el propietario sea una persona aqu se introducir su nombre. f. Campo Apellido1Propietario: En el caso de que el propietario sea una persona aqu se introducir su primer apellido. g. Campo Apellido2Propietario: En el caso de que el propietario sea una persona aqu se introducir su segundo apellido. h. Campo Telefonos: Telfono/Telfonos de contacto.
55
9. Descripcin pestaa Remolques. En la siguiente imagen se pueden ver los campos mostrados en esta pestaa:
a. Campo IDRemolque: Nmero entero que representa el identificador que es asignado por la base de datos a cada uno de los remolques registrados. b. Campo NumeroBastidor: Cadena con el nmero de bastidor del remolque. c. Campo Matricula: Cadena con la matrcula actual del remolque. d. Campo Marca: Cadena con el fabricante del remolque. e. Campo Modelo: Cadena con el modelo de remolque. f. Campo Tipo: Cadena con el tipo de remolque del que se trata.
56
cada formulario. Para su descripcin se seguir el orden en el que son mostradas las diferentes pestaas. 1. Formularios disponibles para la pestaa Camiones: 1.1. Formulario para crear un nuevo registro: Permite registrar un nuevo camin en la base de datos.
Cadena con el nmero de bastidor del camin. No permite valor nulo. Cadena con la matrcula del camin. No permite valor nulo. Cadena con el fabricante del camin. No permite valor nulo. Cadena con el modelo del camin. No permite valor nulo. Cadena con el tipo del camin. S permite valor nulo.
1.2. Formulario para eliminar un registro: Permite eliminar los datos de un camin registrado en la base de datos. Seleccionando la opcin deseada, se podr eliminar el camin por su identificador, por su matrcula o por su nmero de bastidor.
57
1.2.1. Identificador del camin a eliminar. 1.2.2. Matrcula del camin a eliminar. 1.2.3. Nmero de bastidor del camin a eliminar. 1.3. Formulario para modificar un registro: Permite modificar los datos de un camin registrado en la base de datos.
Identificador del camin a modificar. No permite valor nulo. Cadena con el nmero de bastidor del camin. No permite valor nulo. Cadena con la matrcula del camin. No permite valor nulo. Cadena con el fabricante del camin. No permite valor nulo. Cadena con el modelo del camin. No permite valor nulo. Cadena con el tipo del camin. S permite valor nulo.
1.4. Formulario para filtrar datos: Permite filtrar los datos de la tabla.
1.4.1. Nombre de la columna en la que buscar datos. 1.4.2. Cadena a buscar en la columna seleccionada en el anterior campo.
58
2. Formularios disponibles para la pestaa Conductores: 2.1. Formulario para crear un nuevo registro: Permite registrar un nuevo conductor en la base de datos.
Cadena con el DNI del conductor. No permite valor nulo. Cadena con el nombre del conductor. No permite valor nulo. Cadena con el primer apellido del conductor. No permite valor nulo. Cadena con el segundo apellido del conductor. No permite valor nulo. Cadena con el permiso de conducir del conductor. No permite nulos.
2.2. Formulario para eliminar un registro: Permite eliminar los datos de un conductor registrado en la base de datos. Seleccionando la opcin deseada, se podr eliminar el conductor por su identificador o por su DNI.
2.2.1. Identificador del conductor a eliminar. 2.2.2. Cadena con el DNI del conductor a eliminar. 2.3. Formulario para modificar un registro: Permite modificar los datos de un conductor registrado en la base de datos.
59
Identificador del conductor a modificar. No permite valor nulo. Cadena con el DNI del conductor. No permite valor nulo. Cadena con el nombre del conductor. No permite valor nulo. Cadena con el primer apellido del conductor. No permite valor nulo. Cadena con el segundo apellido del conductor. No permite valor nulo. Cadena con el permiso de conducir del conductor. No permite nulos.
2.4. Formulario para filtrar datos: Permite filtrar los datos de la tabla.
2.4.1. Nombre de la columna en la que buscar datos. 2.4.2. Cadena a buscar en la columna seleccionada en el anterior campo. 3. Formularios disponibles para la pestaa ConfiguracinPedidos: 3.1. Formulario para crear un nuevo registro: Permite registrar un nuevo contexto o viaje en la base de datos.
60
Identificador del conductor a asociar al contexto. S permite valor nulo. Identificador del camin a asociar al contexto. S permite valor nulo. Identificador del remolque a asociar al contexto. S permite valor nulo. Identificador del tem a asociar al contexto. S permite valor nulo.
3.2. Formulario para eliminar un registro: Permite eliminar los datos de un contexto o viaje registrado en la base de datos.
3.2.1. Identificador del contexto a eliminar. No permite valor nulo. 3.3. Formulario para modificar un registro: Permite modificar los datos de un contexto registrado en la base de datos.
61
Identificador del contexto a modificar. No permite valor nulo. Identificador del conductor a asociar al contexto. S permite valor nulo. Identificador del camin a asociar al contexto. S permite valor nulo. Identificador del remolque a asociar al contexto. S permite valor nulo. Identificador del tem a asociar al contexto. S permite valor nulo.
3.4. Formulario para filtrar datos: Permite filtrar los datos de la tabla.
3.4.1. Nombre de la columna en la que buscar datos. 3.4.2. Cadena a buscar en la columna seleccionada en el anterior campo. 4. Formularios disponibles para la pestaa Coordenadas: 4.1. Formulario para filtrar datos: Permite filtrar los datos de la tabla.
62
4.1.1. Nombre de la columna en la que buscar datos. 4.1.2. Cadena a buscar en la columna seleccionada en el anterior campo. 5. Formularios disponibles para la pestaa Items: 5.1. Formulario para crear un nuevo registro: Permite registrar un nuevo tem en la base de datos.
5.1.1. Cadena con el cdigo o nmero de serie del tem. No permite valor nulo. 5.1.2. Cadena con el fabricante del tem. No permite valor nulo. 5.1.3. Cadena con el modelo del tem. No permite valor nulo. 5.1.4. Cadena con el firmware o su versin. S permite valor nulo. 5.1.5. Entero con el ao de la compra del tem. S permite valor nulo. 5.1.6. Entero con el mes de la compra del tem. S permite valor nulo. 5.1.7. Entero con el da de la compra del tem. S permite valor nulo. 5.2. Formulario para eliminar un registro: Permite eliminar los datos de un tem registrado en la base de datos. Seleccionando la opcin deseada, se podr eliminar el tem por su identificador o por su cdigo.
63
5.2.1. Identificador del tem a eliminar. 5.2.2. Cadena con el cdigo del tem a eliminar. 5.3. Formulario para modificar un registro: Permite modificar los datos de un tem registrado en la base de datos.
5.3.1. Identificador del tem a modificar. No permite valor nulo. 5.3.2. Cadena con el cdigo o nmero de serie del tem. No permite valor nulo. 5.3.3. Cadena con el fabricante del tem. No permite valor nulo. 5.3.4. Cadena con el modelo del tem. No permite valor nulo. 5.3.5. Cadena con el firmware o su versin. S permite valor nulo. 5.3.6. Entero con el ao de la compra del tem. S permite valor nulo. 5.3.7. Entero con el mes de la compra del tem. S permite valor nulo. 5.3.8. Entero con el da de la compra del tem. S permite valor nulo. 5.4. Formulario para filtrar datos: Permite filtrar los datos de la tabla.
64
5.4.1. Nombre de la columna en la que buscar datos. 5.4.2. Cadena a buscar en la columna seleccionada en el anterior campo. 6. Formularios disponibles para la pestaa Orgenes/Destinos: 6.1. Formulario para crear un nuevo registro: Permite registrar un nuevo origen/destino en la base de datos.
Identificador del origen/destino. No permite valor nulo. Identificador del propietario del origen/destino. S permite valor nulo. Cadena con la direccin del origen/destino. No permite valor nulo. Cadena con el nmero de la direccin. S permite valor nulo. Cadena con la ciudad del origen/destino. No permite valor nulo. Cadena con la provincia del origen/destino. S permite valor nulo. Cadena con la regin del origen/destino. No permite valor nulo. Cadena con el pas del origen/destino. No permite valor nulo. Cadena con el cdigo postal del origen/destino. S permite valor nulo. 65
6.1.10. Latitud del origen/destino. S permite valor nulo. 6.1.11. Longitud del origen/destino. S permite valor nulo. 6.1.12. Altitud del origen/destino. S permite valor nulo. 6.2. Formulario para eliminar un registro: Permite eliminar los datos de un origen/destino registrado en la base de datos.
6.2.1. Identificador del origen/destino a eliminar. 6.3. Formulario para modificar un registro: Permite modificar los datos de un origen/destino registrado en la base de datos.
Identificador del origen/destino. No permite valor nulo. Identificador del propietario del origen/destino. S permite valor nulo. Cadena con la direccin del origen/destino. No permite valor nulo. Cadena con el nmero de la direccin. S permite valor nulo. 66
6.3.5. Cadena con la ciudad del origen/destino. No permite valor nulo. 6.3.6. Cadena con la provincia del origen/destino. S permite valor nulo. 6.3.7. Cadena con la regin del origen/destino. No permite valor nulo. 6.3.8. Cadena con el pas del origen/destino. No permite valor nulo. 6.3.9. Cadena con el cdigo postal del origen/destino. S permite valor nulo. 6.3.10. Latitud del origen/destino. S permite valor nulo. 6.3.11. Longitud del origen/destino. S permite valor nulo. 6.3.12. Altitud del origen/destino. S permite valor nulo. 6.4. Formulario para filtrar datos: Permite filtrar los datos de la tabla.
6.4.1. Nombre de la columna en la que buscar datos. 6.4.2. Cadena a buscar en la columna seleccionada en el anterior campo. 7. Formularios disponibles para la pestaa Pedidos: 7.1. Formulario para crear un nuevo registro: Permite registrar un nuevo pedido en la base de datos.
Cadena con el cdigo del pedido. No permite valor nulo. Cadena con el tipo del pedido. S permite valor nulo. Cadena con la clase del pedido. S permite valor nulo. Peso del pedido. S permite valor nulo. 67
7.1.5. Identificador del origen del pedido. S permite valor nulo. 7.1.6. Identificador del destino del pedido. S permite valor nulo. 7.2. Formulario para eliminar un registro: Permite eliminar los datos de un pedido registrado en la base de datos. Seleccionando la opcin deseada, se podr eliminar el pedido por su identificador o por su cdigo.
7.2.1. Identificador del pedido a eliminar. 7.2.2. Cadena con el cdigo del pedido a eliminar. 7.3. Formulario para modificar un registro: Permite modificar los datos de un pedido registrado en la base de datos.
Identificador del pedido a modificar. No permite valor nulo. Cadena con el cdigo del pedido. No permite valor nulo. Cadena con el tipo del pedido. S permite valor nulo. Cadena con la clase del pedido. S permite valor nulo. 68
7.3.5. Peso del pedido. S permite valor nulo. 7.3.6. Identificador del origen del pedido. S permite valor nulo. 7.3.7. Identificador del destino del pedido. S permite valor nulo. 7.4. Formulario para filtrar datos: Permite filtrar los datos de la tabla.
7.4.1. Nombre de la columna en la que buscar datos. 7.4.2. Cadena a buscar en la columna seleccionada en el anterior campo. 7.5. Formulario para configurar un pedido: Permite asociar una carga a un contexto.
7.5.1. Cdigo de la carga o pedido que se desea configurar. 7.5.2. Identificador del contexto al que asociar una carga o pedido. 8. Formularios disponibles para la pestaa Propietarios: 8.1. Formulario para crear un nuevo registro: Permite registrar un nuevo propietario en la base de datos.
69
Cadena con el CIF/DNI/NIF del propietario. No permite valor nulo. Cadena con el nombre fiscal del propietario. S permite valor nulo. Cadena con el nombre comercial del propietario. S permite valor nulo. Cadena con el nombre del propietario. S permite valor nulo. Cadena con el primer apellido del propietario. S permite valor nulo. Cadena con el segundo apellido del propietario. S permite valor nulo. Cadena con el/los telfono/s del propietario. S permite valor nulo.
8.2. Formulario para eliminar un registro: Permite eliminar los datos de un propietario registrado en la base de datos. Seleccionando la opcin deseada, se podr eliminar el propietario por su identificador o por su CIF/DNI/NIF.
8.2.1. Identificador del propietario a eliminar. 8.2.2. Cadena con el CIF/DNI/NIF del propietario a eliminar. 8.3. Formulario para modificar un registro: Permite modificar los datos de un propietario registrado en la base de datos.
70
Identificador del propietario a modificar. No permite valor nulo. Cadena con el CIF/DNI/NIF del propietario. No permite valor nulo. Cadena con el nombre fiscal del propietario. S permite valor nulo. Cadena con el nombre comercial del propietario. S permite valor nulo. Cadena con el nombre del propietario. S permite valor nulo. Cadena con el primer apellido del propietario. S permite valor nulo. Cadena con el segundo apellido del propietario. S permite valor nulo. Cadena con el/los telfono/s del propietario. S permite valor nulo.
8.4. Formulario para filtrar datos: Permite filtrar los datos de la tabla.
8.4.1. Nombre de la columna en la que buscar datos. 8.4.2. Cadena a buscar en la columna seleccionada en el anterior campo. 9. Formularios disponibles para la pestaa Remolques: 9.1. Formulario para crear un nuevo registro: Permite registrar un nuevo remolque en la base de datos.
71
Cadena con el nmero de bastidor del remolque. No permite valor nulo. Cadena con la matrcula del remolque. No permite valor nulo. Cadena con el fabricante del remolque. No permite valor nulo. Cadena con el modelo del remolque. No permite valor nulo. Cadena con el tipo de remolque. S permite valor nulo.
9.2. Formulario para eliminar un registro: Permite eliminar los datos de un remolque registrado en la base de datos. Seleccionando la opcin deseada, se podr eliminar el remolque por su identificador o por su nmero de bastidor.
9.2.1. Identificador del remolque a eliminar. 9.2.2. Cadena con el nmero de bastidor del remolque a eliminar. 9.3. Formulario para modificar un registro: Permite modificar los datos de un remolque registrado en la base de datos.
72
Identificador del remolque a eliminar. No permite valor nulo. Cadena con el nmero de bastidor del remolque. No permite valor nulo. Cadena con la matrcula del remolque. No permite valor nulo. Cadena con el fabricante del remolque. No permite valor nulo. Cadena con el modelo del remolque. No permite valor nulo. Cadena con el tipo de remolque. S permite valor nulo.
9.4. Formulario para filtrar datos: Permite filtrar los datos de la tabla.
9.4.1. Nombre de la columna en la que buscar datos. 9.4.2. Cadena a buscar en la columna seleccionada en el anterior campo.
3.9.6 Descripcin de las herramientas para mostrar puntos y rutas en Google Earth.
Una de las funcionalidades implementadas en la aplicacin Cliente es la capacidad de poder mostrar puntos y rutas, de los diferentes tems, en el Google Earth. Para poder acceder a estas herramientas se podr hacer desde el men Herramientas o desde los botones ubicados en la barra de botones.
73
La herramienta para mostrar la posicin de un tem visualiza en Google Earth la ltima posicin conocida de ste. Al acceder a la herramienta se muestra un cuadro de dilogo en el que se elige el tem que se desea localizar y, tras pulsar en Aceptar, se abre automticamente el Google Earth mostrando su ltima posicin conocida.
La herramienta para mostrar la ruta seguida por un tem es muy similar a la existente para mostrar la posicin. La principal diferencia radica en que al mostrar una ruta se examina cul es el contexto que est cursando actualmente el tem y, cogiendo las coordenadas registradas con este contexto, se construye la ruta siguiendo los puntos ordenados por fecha.
74
75
La parte ms negativa en el desarrollo con C# ha sido la documentacin escasa y complicada que proporciona MSDN. En muchas ocasiones, frente a dudas surgidas durante el desarrollo, la documentacin proporcionada por los APIs de Microsoft no era suficiente. En este aspecto, Microsoft deber seguir trabajando para conseguir APIs similares a los proporcionados por Java, ya que por ahora no estn a la altura.
76
Captulo 5 - Bibliografa
Captulo 5 Bibliografa
BIBLIOGRAFA DE MICROSOFT SQL SERVER EXPRESS [1] Documentacin MSDN de Microsoft. http://msdn2.microsoft.com/es-es/library/ms203721.aspx [2] Microsoft SQL Server 2005 Express Edition for Dummies. Robert Schneider; Wiley Publishing, Inc. BIBLIOGRAFA DE VISUAL STUDIO C# 2005 EXPRESS EDITION [4] Documentacin MSDN de Microsoft. http://msdn2.microsoft.com/es-es/library/kx37x362(VS.80).aspx [5] Pro C# 2005 and the .NET Platform, Third Edition. Andrew Troelsen; Apress. [6] Expert C# 2005 Business Objects, Second Edition. Rockford Lhotka; Apress. BIBLIOGRAFA DE GOOGLE EARTH [7] Documentacin KML de Google. http://code.google.com/apis/kml/documentation/index.html [8] Hacking Google Maps and Google Earth. Martin C. Brown; Wiley Publishing, Inc.
77