¿Y si queremos desarrollar una plataforma que visualice datos de Big Data o Business Intelligence? ¿Cómo juntamos el mundo del desarrollo con el mundo de los datos?
Este ha sido uno de los requisitos más demandado durante el último año.
¿Cómo está evolucionando el mundo de los Datos y el mundo de los desarrolladores? La clave va a ser Modern Data Warehouse.
Durante esta sesión navegaremos por todos los pasos necesarios para comunicar la capa de presentación con una capa analítica y realizaremos un pequeño cuadro de mandos táctil. Plantearemos una arquitectura final en la nube jugando con WebAPI, Leaflet, MDX y Microsoft SQL Server Analysis Services.
Todo esto lo usaremos para implementar un pequeño cuadro de mandos táctil, basándonos en las entrañas de un ejemplo real como es la App W8 SolidQ Analytics.
Cuando los desarrolladores conocieron SSAS, Business Intelligence y Big Data
1. Cuando los desarrolladores
conocieron SSAS y
Business Intelligence
Rubén Pertusa López
MVP SQL Server, BI BigData Platform Architect SolidQ
@rpertusa
Santiago Porras
MVP Windows Platform Development, Sharepoint Developer
ENCAMINA
@saintwukong
MADRID · NOV 21-22 · 2014
3. MADRID · NOV 21-22 · 2014
Sobre nosotros
MVP SQL Server
BI BigData Platform Architect, SolidQ
Candidato Phd en Data mining
Líder PASS SQLSaturday Barcelona
rpertusa@solidq.com @rpertusa
MVP Windows Platform Development
Sharepoint Developer, ENCAMINA
Coordinador TenerifeDev y WPSUG
santypr@gmail.com @saintwukong
4. MADRID · NOV 21-22 · 2014
Objetivos
Cómo esta cambiando el mundo del Desarrollo
y de los Datos
Cómo enfrentarte a un origen analítico
5. MADRID · NOV 21-22 · 2014
Agenda
Los dos mundos
¿El futuro? Modern Data Warehouse
Acercándonos a los datos
Llegando al usuario
6. MADRID · NOV 21-22 · 2014
Los dos mundos
Perfil Desarrollo
HTML5
Jquery
Javascript
C#
Java
MVC
Perfil Datos
DataWarehouse
Cubos
ETL
T-SQL
DBA
MDX, DAX, M
C#? VB?
7. MADRID · NOV 21-22 · 2014
Arquitectura general
Usuario
App W8, iOS,
Android
HTML5
Office Apps
DBA
BI BigData Dev
App/Web Dev
8. MADRID · NOV 21-22 · 2014
Arquitectura general
?
Usuario
App W8, iOS,
Android
HTML5
Office Apps
CapaLogica
DBA
BI BigData Dev
App/Web Dev
9. MADRID · NOV 21-22 · 2014
DEMO TIME!
Caso Real: SolidQ Analytics
31. MADRID · NOV 21-22 · 2014
Caso práctico
Motor: Microsoft Analysis Services
Lenguaje: MDX
32. MADRID · NOV 21-22 · 2014
Creando Middleware
SSAS Entity Framework Provider ™ (Pago)
http://www.agiledesignllc.com/Products.htm
OLAP4j
http://www.olap4j.org/
ADOMD.NET
33. MADRID · NOV 21-22 · 2014
DEMO TIME!
Consultar SSAS dinámicamente
34. MADRID · NOV 21-22 · 2014
Patrones MDX
SELECT {Metricas} ON COLUMNS FROM {Cubo}
SELECT {Metricas o Atributos} ON COLUMNS,
{Metricas o Atributos} ON ROWS FROM {Cubo}
SELECT {Metricas o Atributos} ON COLUMNS,
{Metricas o Atributos} ON ROWS FROM {Cubo}
WHERE {Condicion}
1
2
3
36. MADRID · NOV 21-22 · 2014
Seguridad
Doble nivel de seguridad
∘Compartir sistema de autenticación: (p.e. Active Directory, Azure
Active Directory, Forms autentication,…) de esta forma, el usuario sólo
tendría que ingresar sus datos una única vez.
∘Combinar sistemas de seguridad: Forms authentication, Oauth, …
para el frontal web y solicitar nuevas credenciales al usuario a la hora
de consultar datos del cubo.
37. MADRID · NOV 21-22 · 2014
DEMO TIME!
Heredar seguridad
38. MADRID · NOV 21-22 · 2014
¿Qué hemos visto?
Patrones de consulta
Seguridad de Datos
39. MADRID · NOV 21-22 · 2014
Creando experiencias
visuales
Diseñando la visualización de los
datos
40. MADRID · NOV 21-22 · 2014
¿Por qué es importante?
∘Mejor comprensión de los datos.
∘Facilidad para encontrar y extraer la subconjuntos o
detalles de la información solicitada.
∘Mayor manejabilidad de los datos solicitados.
∘Interfaz agradable que invita a mantener la concentración
en los datos.
41. ¿Para pintar los datos necesito
conocer su estructura?
Es necesario conocer al menos cómo se estructura la
información para poder definir una buena visualización de
los datos que sean realmente relevantes para el usuario.
Además es necesario para poder trabajar en el
rendimiento de las aplicaciones.
Es necesario que entre “mineros de datos” y “pintores de
datos” haya un nexo de conocimiento mutuo que permita
que los dos mundos estén conectados entre sí para ofrecer
la mejor experiencia a los usuarios.
MADRID · NOV 21-22 · 2014
42. ¿Qué podemos usar para mostrar la
información al usuario?
“Todas las soluciones son la mejor”
MADRID · NOV 21-22 · 2014
(What?)
Existen diversas soluciones que nos permiten
visualizar datos y todas son buenas según en
qué momento. Es decir, que dependiendo del
escenario en el que nos encontremos, será
deberemos discernir entre cuál de las opciones
es más correcta o nos da mayor beneficio.
43. ¿Qué podemos usar para mostrar la
información al usuario?
En el mundo actual, son
Entonces, ¿qué soluciones tenemos?
más usuales las
tecnologías web que
permitan visualización
MADRID · NOV 21-22 · 2014
JavaScript
HTML5
Silverlight
WPF
…
“universal”
44. MADRID · NOV 21-22 · 2014
DEMO TIME!
Visualizando datos en web
45. MADRID · NOV 21-22 · 2014
Estructura de la demo
HTML5 +
JavaScript +
Silverlight
Motor de vistas
Razor
ASP.NET MVC
ASP.NET WebApi
Microsoft Azure
(Cloud Services)
46. MADRID · NOV 21-22 · 2014
Resumiendo
Oportunidad única para Devs & Data Devs
Patrones + Seguridad + Eficiencia
47. MADRID · NOV 21-22 · 2014
Resumiendo
Oportunidad única para Devs & Data Devs
Patrones + Seguridad + Eficiencia
48. MADRID · NOV 21-22 · 2014
Links
SSAS ADOMD.NET Client Programming
http://technet.microsoft.com/en-us/
library/ms123477(v=sql.110).aspx
OLAP4j
http://www.olap4j.org/