Aplicaciones móviles en ambientes descentralizados vladimir dot calderon at infonexo dot net Rev. 00 03 – Junio - 2009
Problema <ul><li>En un ambiente descentralizado (muchas sucursales gemelas o no), obtener un reporte general de ventas de ...
Consideraciones <ul><li>En ambientes descentralizados se pueden tener estructuras como la siguiente: </li></ul>Oficina cen...
Consideraciones 2 <ul><li>En el caso general, tenemos los siguientes problemas </li></ul><ul><ul><li>Sucursales grandement...
Propuesta de la solución <ul><li>Ataquemos cada una de las consideraciones </li></ul><ul><li>Seguridad: </li></ul><ul><ul>...
Solución: Seguridad <ul><li>Los stubs en las sucursales serán entones del estilo: </li></ul><ul><li>Donde activador deberá...
Solución: Conectividad <ul><li>Se trata de obtener información de las sucursales. Información que las sucursales generan <...
Conectividad <ul><li>Esquema obfuscación </li></ul>Oficina central Encabezado Detalle XML STRING Serializar bool f(string ...
Solución: Sistemas distintos <ul><li>Una siempre buena solución en el tema de coordinar la información entre sistemas dist...
Implementando <ul><li>Se debe tener cuidado de definir claramente y desde el principio qué servicios van de dónde a dónde....
Resultado <ul><li>Se obtienen los datos a partir de la central, la cual a su vez pide los datos (si necesario) de las sucu...
Upcoming SlideShare
Loading in...5
×

Aplicaciones móviles para ambientes descentralizados

692

Published on

Un ejercicio para telefonía móvil de centralización de información en ambientes inseguros y de poca conectividad. se muestran algunas ideas para llevarlo a cabo de manera idónea.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
692
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Aplicaciones móviles para ambientes descentralizados"

  1. 1. Aplicaciones móviles en ambientes descentralizados vladimir dot calderon at infonexo dot net Rev. 00 03 – Junio - 2009
  2. 2. Problema <ul><li>En un ambiente descentralizado (muchas sucursales gemelas o no), obtener un reporte general de ventas de toda la organización en el teléfono celular. </li></ul>
  3. 3. Consideraciones <ul><li>En ambientes descentralizados se pueden tener estructuras como la siguiente: </li></ul>Oficina central Sucursal 1 Sucursal 2
  4. 4. Consideraciones 2 <ul><li>En el caso general, tenemos los siguientes problemas </li></ul><ul><ul><li>Sucursales grandemente separadas, por lo tanto comunicación esencialmente por Internet (más barato) </li></ul></ul><ul><ul><li>Conectividad no fiable entre sucursales y central </li></ul></ul><ul><ul><li>Sistemas potencialmente diferentes entre sucursales (piense en las sucursales como empresas distintas de una mega corporación) </li></ul></ul><ul><ul><li>Seguridad en el acceso a la información por parte de los participantes </li></ul></ul>
  5. 5. Propuesta de la solución <ul><li>Ataquemos cada una de las consideraciones </li></ul><ul><li>Seguridad: </li></ul><ul><ul><li>Se puede realizar la comunicación por canales seguros tipo HTTPS o por medio de VPNs, pero… </li></ul></ul><ul><ul><li>No se puede contar todo el tiempo con una conectividad fiable ni tampoco con una conectividad que se vea disminuida por los protocolos pesados de seguridad. </li></ul></ul><ul><ul><li>Solución propuesta: conexión a partir de mensajes con servicios web (aprovechando lo stateless de http) </li></ul></ul><ul><ul><li>TODOS los mensajes deben tener un argumento que sea un desafío construido a partir de los demás argumentos y un secreto. </li></ul></ul>
  6. 6. Solución: Seguridad <ul><li>Los stubs en las sucursales serán entones del estilo: </li></ul><ul><li>Donde activador deberá ser algo como: </li></ul><ul><li>El implementador debe cuidar la manera de administrar el secreto </li></ul>public ResumenFacturacion ventas( int nocia, DateTime fechaIni, DateTime fechaFin, string activador) activador = sha1(nocia + fechaIni + fechaFin + “s3cr3t0”)
  7. 7. Solución: Conectividad <ul><li>Se trata de obtener información de las sucursales. Información que las sucursales generan </li></ul><ul><ul><li>Aplicando OBSERVER, la sucursal comunicará sus nuevos registros a la central, así evitamos espera activa. </li></ul></ul><ul><ul><li>Crear una tabla de información que registre el estado de la última comunicación y que pida de nuevo la misma cuando ésta esté corrupta (inspirándose del protocolo ventana TCP) </li></ul></ul><ul><ul><li>Stubs en la central deben tener el mismo mecanismo de seguridad. </li></ul></ul><ul><ul><li>En caso de querer un poco de obfuscación, los argumentos pueden ir como complejos objetos en forma de XML serializados en un string. </li></ul></ul>
  8. 8. Conectividad <ul><li>Esquema obfuscación </li></ul>Oficina central Encabezado Detalle XML STRING Serializar bool f(string xml, string activador) Llama servicio Sucursal 1
  9. 9. Solución: Sistemas distintos <ul><li>Una siempre buena solución en el tema de coordinar la información entre sistemas distintos es el establecimiento de interfases </li></ul><ul><li>Se deben definir al principio de la comunicación y al final de la comunicación. </li></ul><ul><ul><li>Mientras más homogéneas las sucursales esto se desarrolla mucho más rápido. </li></ul></ul><ul><li>Por si acaso: consiste en definir: </li></ul><ul><ul><li>Estructuras XML de comunicación a los servicios web </li></ul></ul><ul><ul><li>La declaración de las funciones que se deberían implementar </li></ul></ul>
  10. 10. Implementando <ul><li>Se debe tener cuidado de definir claramente y desde el principio qué servicios van de dónde a dónde. </li></ul><ul><ul><li>Crucial para definir las tablas que tienen la información (las definimos en la sucursal, o en la central) </li></ul></ul><ul><li>Establecer contratos de servicios con el departamento de sistemas para conocer los límites aceptables en cuanto a conectividad y otros </li></ul><ul><ul><li>Esto para poder responder a: Cuándo es un ERROR? </li></ul></ul><ul><li>No olvidarse de atributos de calidad: logging, buenas prácticas, revisión de pares, etc, etc… </li></ul>
  11. 11. Resultado <ul><li>Se obtienen los datos a partir de la central, la cual a su vez pide los datos (si necesario) de las sucursales </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×