manual de programador - repositorio institucional universidad...
TRANSCRIPT
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá
Manual de Programador
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá
Contenido
1. CodeFirstGenerator ....................................................................................................................1
2. PanicSwitchWeb .........................................................................................................................2
2.1. Bibliotecas de Clase: ..................................................................................................................... 3
2.1.1. DAO (Objeto de Acceso a Datos) ............................................................................................. 3
2.1.2. DTO (objeto de Transferencia de Datos) ................................................................................. 3
2.1.3. PanicSwitchFramework ............................................................................................................ 4
2.2. Sitios: ............................................................................................................................................ 5
2.2.1. BackEnd..................................................................................................................................... 5
2.2.2. FrontEnd ................................................................................................................................... 6
2.2.3. Servicios .................................................................................................................................... 6
3. PanicSwitchMobile ........................................................................................................................... 7
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá. 1
El proyecto “Sistema móvil para la seguridad personal en caso de accidentes presentados
en la ciudad de Bogotá.” Se encuentra compuesto por tres soluciones de software principales, las
cuales se enumeran y explican a continuación:
1. CodeFirstGenerator
Esta solución es la encargada del desarrollo de toda la parte que conforma el modelo de
datos del proyecto, se implementó con visual studio 2013 usando Entity framework versión 6
con el enfoque Code First.
Con Code First se crea en primer lugar el modelo con código y después se genera
automáticamente la base de datos, permitiendo tener un mayor y mejor control de los cambios
generados en el modelo de datos de la aplicación.
Esta solución está conformada por una biblioteca de clases en la que se implementan las
diferentes entidades que conforman el modelo de datos del proyecto
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá. 2
En la carpeta Migrations se encuentran los archivos que se deben generar por medio de
la consola de NuGet al realizar algún cambio en las entidades para llevar a cabo las respectivas
actualizaciones en el modelo de datos.
2. PanicSwitchWeb
Esta es la solución central y más robusta que contiene el proyecto. Está compuesta por
tres sitios web desarrollados en ASP.NET MVC y tres bibliotecas de clases, los cuales se
enumeran y explican a continuación:
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá. 3
2.1. Bibliotecas de Clase:
2.1.1. DAO (Objeto de Acceso a Datos)
Este componente suministra una interfaz común entre la aplicación y el almacenamiento
de datos. Comprende el desarrollo de los métodos necesarios para llevar a cabo los diferentes
tipos de operaciones que se pueden realizar en la base de datos.
2.1.2. DTO (objeto de Transferencia de Datos)
Esta capa es la encargada de transportar datos entre procesos, y por tanto no contiene
lógica de negocio.
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá. 4
2.1.3. PanicSwitchFramework
En este componente se alojan las librerías que tienen funcionalidades comunes dentro del
proyecto principal PanicSwitch, tales como las librerías de gestión de notificaciones push y de
envío de correo electrónico.
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá. 5
2.2. Sitios:
2.2.1. BackEnd
Este sitio web contiene el desarrollo del back-end de la aplicación, en él se generan la
parametrización o configuración de la información pedida tanto en el fron-end como en la
aplicación móvil, tal y como se ilustra en la siguiente imagen.
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá. 6
2.2.2. FrontEnd
Este sitio web contiene el desarrollo del front-end de la aplicación, en él se encuentran los
archivos que componen la aplicación que será manejada por los usuarios finales desde un
navegador web, los archivos que lo componen se pueden observar en la siguiente imagen.
2.2.3. Servicios
En esta solución se implementaron los controladores para Web API.
ASP.NET Web API es un marco que facilita la creación de servicios HTTP disponibles
para una amplia variedad de clientes, entre los que se incluyen exploradores y dispositivos
móviles.
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá. 7
3. PanicSwitchMobile
Las aplicaciones móviles para las plataformas Android y iPhone se desarrollaron como
una sola aplicación hibrida haciendo uso de Cordova versión 5.1.1 y de Visual Studio 2013.
Físicamente el proyecto tiene la siguiente estructura de archivos:
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá. 8
Éste tipo de aplicaciones hibridas tienen la característica de que son desarrolladas como
aplicaciones HTML5 con acceso a funcionalidades del dispositivo por medio de conectores
expuestos por Cordova, teniendo en mente esto se hizo uso del framework MVC AngularJS para
controlar toda la funcionalidad de la aplicación, y para la apariencia de la aplicación se hizo uso
de Ionic Framework.
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá. 9
Para reutilizar funcionalidades de presentación se manejan distintos componentes
genéricos en la carpeta Layouts:
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá.
10
Por otro lado, la definición de los controladores y modelos de Angular se encuentran en la
carpeta scripts/custom-scripts:
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá.
11
Todas las acciones dentro de la aplicación hacen uso de Oauth almacenando el Bearer
token en Session Storage y enviándolo como cabecera en cualquier petición HTTP al servidor de
recursos:
Esto ofrece una capa extra de seguridad ya que en caso de no existir ésta negociación
previa entre el cliente móvil y el servidor, entonces los servicios no responden y el usuario es
llevado al formulario de login: