{"id":923,"date":"2011-05-31T23:48:49","date_gmt":"2011-05-31T22:48:49","guid":{"rendered":"http:\/\/www.zigbe.net\/?p=923"},"modified":"2011-05-31T23:48:49","modified_gmt":"2011-05-31T22:48:49","slug":"data-brokerage-un-paso-mas-hacia-el-interfaz-del-cliente","status":"publish","type":"post","link":"https:\/\/blog.whatsbee.net\/?p=923","title":{"rendered":"Data brokerage: un paso m\u00e1s hacia el interfaz del cliente"},"content":{"rendered":"<p>Vamos avanzando en el recorrido desde el sensado del entorno hacia la interacci\u00f3n con el usuario final. Hace unos pocos d\u00edas probaba la forma de comunicar una aplicaci\u00f3n de VB.Net con el Gateway. Este tipo de comunicaci\u00f3n directa solo tiene sentido si vamos a consumir los datos desde la misma red que tenemos el gateway, tambi\u00e9n podr\u00edamos tenerlo en remoto y hacer una VPN para acceder, pero es una soluci\u00f3n muy poco escalable.<\/p>\n<p>Podemos a\u00f1adir una capa intermedia ubicada en un equipo p\u00fablico de Internet que pueda ir recogiendo los datos de los sensores, de varias ubicaciones diferentes y con varias tecnolog\u00edas diferentes. La funci\u00f3n de esta capa de software es recoger los datos, almacenarlos y servirlos cuando alguien los demande. La funci\u00f3n de esta capa es hacer de broker con los datos.<\/p>\n<p>Hay algunas aplicaciones que cumplen con esta funci\u00f3n, en este blog hemos hablado por lo menos de dos de ellas, <a title=\"Pachube\" href=\"http:\/\/www.pachube.com\" target=\"_blank\">pachube <\/a> e <a title=\"Idigi\" href=\"http:\/\/www.idigi.com\">iDigi<\/a>. La primera est\u00e1 orientada a recoger datos de cualquier plataforma, la segunda exclusivamente de la plataforma de Digi, a\u00fan as\u00ed quiero hacer un experimiento de como hacer nuestro propio broker de datos por varios motivos: no depender de un tercero, poder escalarlo en base a nuestras necesidades, etc.<\/p>\n<div id=\"attachment_925\" style=\"width: 510px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2011\/05\/pachube.jpg\"><img aria-describedby=\"caption-attachment-925\" loading=\"lazy\" class=\"size-full wp-image-925\" title=\"pachube\" src=\"http:\/\/blog.whatsbee.net\/wp-content\/uploads\/2011\/05\/pachube.jpg\" alt=\"\" width=\"500\" height=\"243\" srcset=\"https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2011\/05\/pachube.jpg 500w, https:\/\/blog.whatsbee.net\/wp-content\/uploads\/2011\/05\/pachube-300x146.jpg 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><p id=\"caption-attachment-925\" class=\"wp-caption-text\">Broker de datos<\/p><\/div>\n<p>La forma de comunicar con nuestro broker de datos ser\u00e1 basada en servicios web, la tecnolog\u00eda a utilizar un servidor IIS con ASP.NET. La estructura de la base de datos a utilizar estar\u00e1 basada en tres tablas principales, utilizando la misma terminolog\u00eda que Pachube:<\/p>\n<p>-Environement &#8211;&gt; Contiene los datos del lugar en el que est\u00e1 ubicado el sensor, nombre, direcci\u00f3n, latitud, longitud, altura, etc.<\/p>\n<p>-DataStreams &#8211;&gt; Son colecciones de datos, se corresponden con un canal del sensor, en el caso de un sensor con tres variables se tendr\u00edan que crear tres datastreams del mismo Environement.<\/p>\n<p>-DataPoint &#8211;&gt; Contiene las lecturas de un DataStream.<\/p>\n<p>Adem\u00e1s de estas tres tablas, claramente relacionadas entre ellas, tendremos que crear algunas tablas accesorias, de usuarios, de unidades, etc.<\/p>\n<p>Tenemos que crear un n\u00famero de servicios web que permita leer, escribir borrar o actualizar cada tabla.<\/p>\n<p>La idea de esta capa del SW es disponer de un modelo estandar para el almacenamiento y la recuperaci\u00f3n de los datos, permitiendo el desarrollo r\u00e1pido de aplicaciones sobre ellos. las API son p\u00fablicas, lo que permitir\u00e1 a cualquier persona desarrollar soluciones.<\/p>\n<p>Todo eso en una entrega posterior&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vamos avanzando en el recorrido desde el sensado del entorno hacia la interacci\u00f3n con el usuario final. Hace unos pocos d\u00edas probaba la forma de comunicar una aplicaci\u00f3n de VB.Net con el Gateway. Este tipo de comunicaci\u00f3n directa solo tiene&hellip; <br \/><a class=\"read-more-button\" href=\"https:\/\/blog.whatsbee.net\/?p=923\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0},"categories":[15,20,23,11],"tags":[56,76,109,152,153,164,174,197],"_links":{"self":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/923"}],"collection":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=923"}],"version-history":[{"count":0,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=\/wp\/v2\/posts\/923\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.whatsbee.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}