Simple Event Store - działa na produkcji

ses, eventsourcing Komentarze

Troszkę mi to zajęło. Od kilku dni Simple Event Store (w skrócie SES) działa w środowisku produkcyjnym. Prace co prawda jeszcze w pełni nie zakończone, ale podstawowa funkcjonalność już działa i to całkiem nieźle (o tym będzie w innym poście).

SES jest dosyć prostą implementacją, która nie zrywa czapek z głów jeśli chodzi o prędkość. Jego zaleta to niski próg wejścia oraz łatwość w użyciu.

Co najważniejsze SES to nie jest framework. SES to biblioteczka, która wspomaga, porządkuje i ukrywa cały kod infrastrukturalny dając developerowi możliwość skupienia się nad samą logiką biznesową. SES jako odrębna biblioteka powstał w wyniku wyjęcia infrastrukturalnego kodu z całego projektu.

Instalacja

SES można pobrać bezpośrednio z githuba i skompilować samemu lub zainstalować bezpośrednio z serwera nuget.

SimpleEventStore.Abstracts

NuGet Status

Tu są zgromadzone wszystkie interfejsy oraz pomocnicze implementacje, które są potrzebne do działania zarówno podstawowego komponentu SimpleEventStore jak i SimpleEventStore.Subscriptions.

SimpleEventStore

NuGet Status

Podstawowa implementacja, która implementuje główny interfejs do zarządzania SES, czyli IEventStore.

SimpleEventStore.MsSql

NuGet Status

Implementacja SimpleEventStore dla bazy danych MS Sql Server.

SimpleEventStore.Domain

NuGet Status

Podstawowe interfejsy i implementacje dla obiektów tworzonej domeny biznesowej takich jak: Aggregate, Repository czy ValueObject. Biblioteka ta nie jest potrzebna do działania SES, ale znacznie ułatwia posługiwanie się nim.

SimpleEventStore.Subscriptions

NuGet Status

SimpleEventSore.Subscriptions automatyzuje dla nas proces czytania logu ze zdarzeniami. Zajmuje się wywoływaniem handlerów, a także utrzymuje stan ostatnio przetworzonych danych.

SimpleEventStore.Subscriptions.MsSql

NuGet Status

Implementacja SimpleEventStore.Subscriptions dla bazy danych MS Sql Server.

Możesz zainstalować wszystkie paczki wykonując pokolei poniższe linie w okienku Package Manager Console.

Podstawowe paczki pozwalające na zapis zdarzeń do bazy:

    Install-Package SimpleEventStore.Abstracts
    Install-Package SimpleEventStore
    Install-Package SimpleEventStore.MsSql
    Install-Package SimpleEventStore.Domain

Paczki pozwalające na zautomatyzowane przetwarzanie zdarzeń z bazy:

    Install-Package SimpleEventStore.Subscriptions
    Install-Package SimpleEventStore.Subscriptions.MsSql

W kolejnych postach opiszę dokładniej jak wygląda proces konfiguracji oraz podam przykładowe przypadki użycia. Stay tuned... :)

Komentarze