EMSoRPi – architektura projektu

By | 27 marca 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

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *