EMSoRPi – architektura projektu

By | 27 March 2016

System nad którym pracuję nie jest bardzo skomplikowany. Jego ogólną architekturę możecie zobaczyć na poniższym diagramie.

EMSoRPi - architecture

Moduł pomiarowy

Moduł ten stanowić będzie prawdopodobnie usługa systemowa odczytująca co określony kwant czasu dane z czujnika i wysyłał je do modułu odpowiedzialnego odpowiedzialnego za ich składowanie

Moduł dostępu do bazy danych

Moduł odpowiadający za zapisywanie i odczytywanie danych w zdefiniowanym zbiorze. W chwili obecnej nie chcę określać czy wykorzystam zwykłą bazę danych, ale chodzi mi po głowie separacja warstwy odczytu i zapisu. Akurat dane z czujnika nie są jakieś skomplikowane, ale przewiduję powstanie modułu statystycznego, a tutaj model może być bardziej wyszukany (np. hurtownia danych).

Moduł statystyczny

Wydzielam ten moduł jako osobny choć nie do końca jestem przekonany, że tak to będzie zaprojektowane. W związku z tym, że postanowiłem zachować separację odpowiedzialności taki moduł może powstać, ale wcale nie musi. Miałby on stanowić warstwę pośrednią miedzy bazą danych a warstwą API.

Warstwa API

Będzie to moduł odseparowujący warstwę FrontEndu od Backendu. Stanowić będzie najprawdopodobniej usługę REST’ową udostępniającą dane zarówno aktualne, jak i przetworzone przez moduł statystyczny.

Aplikacja dostępowa

Aplikacja zbudowana będzie z wykorzystaniem prawdopodobnie Aurelii. Projekt ma stanowić dla mnie poligon doświadczalny w technologiach opartych o JavaScript, dlatego też postanowiłem pobawić się czymś zupełnie dla mnie nowym, a tak właśnie jest z Aurelią.

Dla każdego z powyższych elementów mam już wstępnie określone biblioteki jakie będę używał, ale większość z nich to dla mnie nieznane pole, więc czeka mnie sporo “badawczej” pracy. I to właśnie lubię…

Co więcej? Muszę zastanowić się jak zapewnić bezpieczeństwo mojemu rozwiązaniu w przypadku gdybym umieścił je w publicznym internecie. Znalazłem parę ciekawych projektów związanych z zabezpieczeniem serwerów opartych o Node.js, ale o tym wkrótce.

2 thoughts on “EMSoRPi – architektura projektu

  1. Tolek

    A czemu zastanawiasz się nad separacją zapisu i odczytu?

    Reply
    1. Bartek R Post author

      Chodzi o różnicę modeli danych między zapisem a odczytem. Zapis jest prosty jak drut – płaska lista danych z czujnika prądu. Odczyt za to ma być bardziej zróżnicowany. Dajmy na to, dane zagregowane za dzień, tydzień, miesiąc, itp. itd. . To już jest inny model danych, który dobrze by było wcześniej wypełnić danymi dla optymalizacji czasu odczytu.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *