26
Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) Miguel López González WAZ30005 DPA, Director Cloud Services & Windows Azure MCP, MCDP (Web Development), MCP Windows Azure Development [email protected]

Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

  • Upload
    solidq

  • View
    176

  • Download
    0

Embed Size (px)

DESCRIPTION

http://summit.solidq.com/ La publicación de datos públicos a disposición de la ciudadanía es un ejercicio de transparencia en la gestión de las administraciones públicas. En esta línea, son muchas las iniciativas que administraciones regionales y locales están realizando utilizando diferentes formatos que van desde HTML, PDF, archivos CSV o incluso XML. En esta sesión se proporcionará un sencillo ejemplo de cómo podemos implementar un servicio de datos públicos basado en Windows Azure con SQL Azure y una aplicación Web para exponer estos datos utilizando el estándar OData que pueden usar diferentes plataformas y tecnologías mejorando el rendimiento de dichos datos y facilitando la tarea de construir nuevas aplicaciones que cruzan información de diferentes fuentes para descubrir nuevos datos o proporcionar datos a otras aplicaciones

Citation preview

Page 1: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

Desplegando un servicio de datos públicos en la nube (OGDI/DataLab)

Miguel López González

WAZ30005

DPA, Director Cloud Services & Windows Azure MCP, MCDP (Web Development), MCP Windows Azure Development

[email protected]

Page 2: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

Agenda

1. Pasado, presente y futuro de los datos en la Web

2. Una propuesta de bajo coste: OGDI/Data Lab (Azure)

3. Descarga y repaso de los proyectos. Registro Dlls

4. Configuración: Cadenas de conexión y Cuentas Storage

5. Carga de Datasets: Preparación y DataLoader

6. Preparación del despliegue a la nube

7. Despliegue en Windows Azure (2 instancias XS)

8. Visualización de datos KML y OData

9. Clientes del servicio de datos: Ejemplo móvil

10.Conclusiones y puntos a tener en cuenta

Page 3: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

1. Pasado, presente y futuro de los datos en la Web

HTML, elemento <table> (en el mejor de los casos)

Datos parcial/totalmente estructurados: Documentos de texto y Portable Data Format (PDF)

Documentos de hoja de cálculo (tipo MS Excel)

Page 4: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

DEMO 1. Pasado, presente y futuro de los datos en la Web

Page 5: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

2. Una propuesta de bajo coste: OGDI/Data Lab

Las propuestas más seguidas actualmetne (formato) OData (Datafeeds o Atom y XML)

Linked Data (Tim Berners Lee)

RDF

OGDI = Open Government Data Initiative Rebautizado a OGDI/Data Lab (Github)

Page 6: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

Arquitectura de componentes de OGDI/DataLab

W 2

XS

2

Data Browser UI

Data Service

PC

Web Browser

MB

W. Phone 7

ST

T

CSV/KML Data

B

Datos binarios

Q

Cola Conversión

PC

DataLoader (WPF)

ST

T

Diagnostics

B

Diagnostics

K 2

XS

2

Conversion CSV / SMTP

Q

Cola SMTP

Page 7: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

DEMO 2. Una propuesta de bajo coste OGDI/Data Lab

Page 8: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

Instalación mínima sin garantía SLA

Page 9: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

Instalación mínima con SLA Azure

Page 10: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

Carga media con SLA Azure y descuento 6MP

Page 11: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

3. Descarga y repaso de la solución

https://github.com/openlab/datalab

Descargar ZIP o bien conectar con github y clonar.

28 proyectos .NET. Los principales elementos son: DataBrowser: MVC 3.0 para visualización de datos (portal de datos)

DataService: MVC servicio Web HTTP dentro de DataBrowser

ConfigTool: ASP.NET para configurar contenedores (agencias)

DataLoader: Aplicación Windows WPF para carga de datos KML y CSV

Page 12: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

DEMO 3. Descarga y repaso de la solución. Registro de .dlls

Page 13: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

4. Configuración: Cadenas de conexión y Storage

En Windows Azure no hay estado (persistencia) en las máquinas virtuales (PaaS) > para eso usamos Azure Storage.

Necesidades de almacenamiento: DiagnosticsConnectionString -> Datos de depuración y salud

DataConnectionString -> Datos de aplicación, datasets, csvs, kml…

Si se quiere dar servicio a diferentes agencias u organizaciones se puede usar una Storage Account por agencia.

La configuración de la aplicación se guarda en una cuenta de almacenamiento Azure Storage, que está protegida por una Storage Account Key

Page 14: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

DEMO 4. Configuración: Cadenas de conexión y Storage

Page 15: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

5. Carga de Datasets: Preparación y DataLoader

Antes de proceder a la carga, debemos activar los metadatos básicos y los extremos de publicación de datos de las agencias o departamentos.

Utilizaremos la aplicación ConfigTool para definir los EndPoints sólo lo haremos con uno (para la demo).

Existen particularidades en los archivos CSV, por lo que será necesario tratamiento previo (UTF-8).

Después usaremos la aplicación DataLoader para cargar los datos públicos (.csv o .kml) a través de los extremos configurados

El DataLoader admite configuración para diferentes agencias o departamentos

Page 16: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

DEMO 5. Carga de Datasets: Preparación y DataLoader

Page 17: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

6. Preparación del despliegue a la nube

Disponer de los certificados y la información necesaria para empaquetar y desplegar la solución (WebBrowser que incluye DataService) en la nube.

Desde el proyecto de Cloud DataBrowser.WebRole > Botón derecho, Propiedades

DataBrowser.WorkerRole > Botón derecho, Propiedades

Configuraremos 1 sola instancia por Role de tamaño XS

En tab Settings > Seleccionar configuración Cloud Comprobar los valores de configuración que hemos cambiado

En tab Endpoints veremos los dos servicios que correrán bajo el mismo role: DataBrowser (80) y DataService(8080)

Page 18: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

DEMO 6. Preparación del despliegue a la nube

Page 19: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

7. Despliegue en Windows Azure (2 instancias XS)

Publicar el proyecto de Cloud desde VS*

Se puede realizar el paquete de cloud también con VS o con la utilidad cspackage del SDK de Azure

Con paquete y archivo de configuración se puede desplegar utilizando PowerShell (Azure Cmdlets)

Page 20: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

DEMO 7. Despliegue en Windows Azure (2 instancias XS)

Page 21: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

8. Visualización de datos KML y OData

Parte pública de portal, con información del proyecto o de la organización que publica los datos. Básicamente es una aplicación MVC 3.0 ampliable

Parte de catálogo de datos, social, con votación y “Me gusta” sobre los data sets que están publicados

Acceso a la lista de datasets por agencia o categoría

Una vez seleccionado el dataset, diferentes vistas: Vista de tabla de datos (muy parecido a Excel)

Vista de Mapa (Sólo si se ha definido coordenadas al importar)

Vista de gráficos (barras, quesitos…)

El proyecto se completa con información de metadatos y de cómo acceder a los datos desde otros clientes (OData)

Page 22: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

DEMO 8. Visualización de datos KML y OData

Page 23: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

9. Clientes del servicio de datos: Ejemplo móvil

Ejemplo de aplicación WP7 que consume el servicio de datos Odata de OGDI/Datalab que acabamos de configurar.

La aplicación se limita a lnstanciar el servicio de datos Odata (DataService) y solicitar los datos de uno o varios de los datasets publicados (completos o con consultas parciales usando LinQ).

Page 24: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

DEMO 9. Clientes del servicio de datos: Ejemplo móvil WP7

Page 25: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

10. Conclusiones y puntos a tener en cuenta

Los datos de carácter público, mejor en un formato abierto y de fácil automatización

Posibilidades de modelos de negocio basados en datos: Azure Marketplace DataMarket de Microsoft

Cámaras de comercio ya publican información comercial sobre sus empresas y tiendas para marketing, campañas etc.

Cuanto más flexible sea el acceso a los datos, más posibilidades de convertirnos en referencia de datos de calidad para uno o más datasets

OGDI es un buen punto de partida que se puede adaptar fácilmente a las necesidades de las empresas tanto públicas como privadas.

Page 26: Desplegando un servicio de datos públicos en la nube (OGDI/DataLab) | SolidQ Summit 2012

Si quieres disfrutar de las mejores sesiones de

nuestros mentores de España y Latino América,

ésta es tu oportunidad.

http://summit.solidq.com/madrid/

Síguenos: