{"id":113,"date":"2016-03-27T23:40:13","date_gmt":"2016-03-27T21:40:13","guid":{"rendered":"http:\/\/brozanski.net\/?p=113"},"modified":"2016-03-27T23:40:13","modified_gmt":"2016-03-27T21:40:13","slug":"emsorpi-architektura-projektu","status":"publish","type":"post","link":"https:\/\/brozanski.net\/index.php\/2016\/03\/27\/emsorpi-architektura-projektu\/","title":{"rendered":"EMSoRPi &#8211; architektura projektu"},"content":{"rendered":"<p>System nad kt\u00f3rym pracuj\u0119 nie jest bardzo skomplikowany. Jego og\u00f3ln\u0105 architektur\u0119 mo\u017cecie zobaczy\u0107 na poni\u017cszym diagramie.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/brozanski.net\/wp-content\/uploads\/2016\/03\/EMSoRPi-architecture.png\" alt=\"EMSoRPi - architecture\" width=\"653\" height=\"423\" class=\"aligncenter size-full wp-image-117\" srcset=\"https:\/\/brozanski.net\/wp-content\/uploads\/2016\/03\/EMSoRPi-architecture.png 653w, https:\/\/brozanski.net\/wp-content\/uploads\/2016\/03\/EMSoRPi-architecture-300x194.png 300w\" sizes=\"auto, (max-width: 653px) 100vw, 653px\" \/><\/p>\n<h3>Modu\u0142 pomiarowy<\/h3>\n<p>Modu\u0142 ten stanowi\u0107 b\u0119dzie prawdopodobnie us\u0142uga systemowa odczytuj\u0105ca co okre\u015blony kwant czasu dane z czujnika i wysy\u0142a\u0142 je do modu\u0142u odpowiedzialnego odpowiedzialnego za ich sk\u0142adowanie<\/p>\n<h3>Modu\u0142 dost\u0119pu do bazy danych<\/h3>\n<p>Modu\u0142 odpowiadaj\u0105cy za zapisywanie i odczytywanie danych w zdefiniowanym zbiorze. W chwili obecnej nie chc\u0119 okre\u015bla\u0107 czy wykorzystam zwyk\u0142\u0105 baz\u0119 danych, ale chodzi mi po g\u0142owie separacja warstwy odczytu i zapisu. Akurat dane z czujnika nie s\u0105 jakie\u015b skomplikowane, ale przewiduj\u0119 powstanie modu\u0142u statystycznego, a tutaj model mo\u017ce by\u0107 bardziej wyszukany (np. hurtownia danych).<\/p>\n<h3>Modu\u0142 statystyczny<\/h3>\n<p>Wydzielam ten modu\u0142 jako osobny cho\u0107 nie do ko\u0144ca jestem przekonany, \u017ce tak to b\u0119dzie zaprojektowane. W zwi\u0105zku z tym, \u017ce postanowi\u0142em zachowa\u0107 separacj\u0119 odpowiedzialno\u015bci taki modu\u0142 mo\u017ce powsta\u0107, ale wcale nie musi. Mia\u0142by on stanowi\u0107 warstw\u0119 po\u015bredni\u0105 miedzy baz\u0105 danych a warstw\u0105 API.<\/p>\n<h3>Warstwa API<\/h3>\n<p>B\u0119dzie to modu\u0142 odseparowuj\u0105cy warstw\u0119 FrontEndu od Backendu. Stanowi\u0107 b\u0119dzie najprawdopodobniej us\u0142ug\u0119 REST&#8217;ow\u0105 udost\u0119pniaj\u0105c\u0105 dane zar\u00f3wno aktualne, jak i przetworzone przez modu\u0142 statystyczny.<\/p>\n<h3>Aplikacja dost\u0119powa<\/h3>\n<p>Aplikacja zbudowana b\u0119dzie z wykorzystaniem prawdopodobnie Aurelii. Projekt ma stanowi\u0107 dla mnie poligon do\u015bwiadczalny w technologiach opartych o JavaScript, dlatego te\u017c postanowi\u0142em pobawi\u0107 si\u0119 czym\u015b zupe\u0142nie dla mnie nowym, a tak w\u0142a\u015bnie jest z Aureli\u0105. <\/p>\n<p>Dla ka\u017cdego z powy\u017cszych element\u00f3w mam ju\u017c wst\u0119pnie okre\u015blone biblioteki jakie b\u0119d\u0119 u\u017cywa\u0142, ale wi\u0119kszo\u015b\u0107 z nich to dla mnie nieznane pole, wi\u0119c czeka mnie sporo &#8222;badawczej&#8221; pracy. I to w\u0142a\u015bnie lubi\u0119&#8230;<\/p>\n<p>Co wi\u0119cej? Musz\u0119 zastanowi\u0107 si\u0119 jak zapewni\u0107 bezpiecze\u0144stwo mojemu rozwi\u0105zaniu w przypadku gdybym umie\u015bci\u0142 je w publicznym internecie. Znalaz\u0142em par\u0119 ciekawych projekt\u00f3w zwi\u0105zanych z zabezpieczeniem serwer\u00f3w opartych o Node.js, ale o tym wkr\u00f3tce.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>System nad kt\u00f3rym pracuj\u0119 nie jest bardzo skomplikowany. Jego og\u00f3ln\u0105 architektur\u0119 mo\u017cecie zobaczy\u0107 na poni\u017cszym diagramie. Modu\u0142 pomiarowy Modu\u0142 ten stanowi\u0107 b\u0119dzie prawdopodobnie us\u0142uga systemowa odczytuj\u0105ca co okre\u015blony kwant czasu dane z czujnika i wysy\u0142a\u0142 je do modu\u0142u odpowiedzialnego odpowiedzialnego za ich sk\u0142adowanie Modu\u0142 dost\u0119pu do bazy danych Modu\u0142 odpowiadaj\u0105cy za zapisywanie i odczytywanie danych\u2026 <span class=\"read-more\"><a href=\"https:\/\/brozanski.net\/index.php\/2016\/03\/27\/emsorpi-architektura-projektu\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":119,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-113","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dajsiepoznac"],"_links":{"self":[{"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/posts\/113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/comments?post=113"}],"version-history":[{"count":4,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/posts\/113\/revisions"}],"predecessor-version":[{"id":118,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/posts\/113\/revisions\/118"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/media\/119"}],"wp:attachment":[{"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/media?parent=113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/categories?post=113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brozanski.net\/index.php\/wp-json\/wp\/v2\/tags?post=113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}