Czym się różni Domain Event od Integration Event?
W świecie Event-Driven Architecture mamy do czynienia z wysyłaniem wielu zdarzeń. Jednak jak wiemy, jedna rzecz nie zawsze jest równa drugiej pomimo posiadania tej samej nazwy. Dlatego w celu rozróżnienia tych zdarzeń wprowadzono podział na dwa tytułowe rodzaje: Domain Event…
Zapomniany package scope
W serii poświęconej zawiłościom języka Java przedstawiłem modyfikatory dostępu, z których możemy korzystać, gdy projektujemy np. metodę, klasę czy pole w Javie. Dzięki nim jesteśmy w stanie hermetyzować nasz kod czy wskazywać co jest publicznym API dla innych programistów. Jednak…
Refleksja + CQRS = Niezła mieszanka!
W ostatnim wpisie poruszyłem temat CQRS z perspektywy laika. Napisałem, że chciałbym zaimplementować mechanizm znaleziony na stronie devstyle w swoim kodzie. Byłem przez to zmuszony do użycia po raz pierwszy refleksji i muszę Wam powiedzieć… ME LIKEY! Utworzenie znacznikowych interfejsów…
CQRS okiem laika
Koncepcja CQRS (Command Query Responsibility Segregation) jest dla mnie nowością. W teorii oczywiście spotykałem się już z nią wcześniej czytając artykuły na blogach czy też oglądając prelekcje znalezione w Internecie. Jednak nie miałem okazji, aby zobaczyć i zastosować ją w…
Obecne architektury: Architektura serverless
Na deser przedstawię architekturę opartą o rozwiązania chmurowe, czyli serverless. Jest to dosyć świeża koncepcja tworzenia oprogramowania, która powstała z myślą o tym nie przejmować się w ogóle infrastrukturą. Zespół deweloperski odpowiedzialny jest tylko za to, aby stworzyć aplikację oraz…
Obecne architektury: Architektura reaktywna
Architektura reaktywna jest niczym innym jak systemem (najczęściej rozproszonym) opartym na komunikacji pomiędzy niezależnymi usługami za pomocą asynchronicznych komunikatów. Powstała w głównej mierze w oparciu o The Reactive Manifesto (responsive, resilient, elastic, message driven). Ciężko jednak powiedzieć w jaki sposób…
Obecne architektury: Architektura mikroserwisowa
Przychodzi taki moment w życiu aplikacji, kiedy zaczyna cieszyć się ona coraz większą popularnością. Wówczas zwiększa się liczba żądań od użytkowników, które należy obsłużyć, co powoduje zmianę rodzajów problemów do rozwiązania. Nie można myśleć już tylko o funkcjonalności oprogramowania, ale…
Obecne architektury: Architektura heksagonalna
Co by się stało, gdyby dzisiaj przyszedł do Ciebie biznes i powiedziałby, żeby w rozwijanej aplikacji zrezygnować z głównego frameworka (jakim jest np. Spring) i zastąpić go innym? Wiem, że to mało prawdopodobny scenariusz, ale jednak istnieje ryzyko, że mogłoby…
Obecne architektury: Architektura DDD
W poprzednim wpisie skupiłem się na architekturze warstwowej, która wydaje się najprostszą możliwą opcją tworzenia oprogramowania. Dzisiaj chciałbym przedstawić bardzo popularną ówcześnie technikę Domain-Driven Design. Nie jest ona co prawda architekturą, ale z racji dużej ilości wytycznych w niej zawartych…
Obecne architektury: Architektura warstwowa
Obecnie w branży IT istnieje ogromny przekrój dostępnych rozwiązań dla szkieletów aplikacji biznesowych. Mowa tutaj oczywiście o architekturze. Możemy wybierać pomiędzy koncepcją systemów rozproszonych czy np. programowania reaktywnego. Jednak czy wybór architektury dla naszego projektu powinien być uzależniony od panujących…