manual de programador - repositorio institucional universidad...

13
Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá Manual de Programador

Upload: duongthuy

Post on 18-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

Sistema móvil para la seguridad personal en caso de accidentes presentados en la ciudad de Bogotá

Manual de Programador

Page 2: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

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

Page 3: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

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

Page 4: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

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:

Page 5: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

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.

Page 6: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

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.

Page 7: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

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.

Page 8: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

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.

Page 9: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

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:

Page 10: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

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.

Page 11: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

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:

Page 12: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

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:

Page 13: Manual de Programador - Repositorio Institucional Universidad …repository.udistrital.edu.co/bitstream/11349/3221/6/Anexo... · 2016-08-19 · automáticamente la base de datos,

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: