Zdarzenia w architekturze

Data: 2020-02-13
Autor: Sebastian Konkol
Zdarzenia w architekturze

Jak pisałem ostatnio, rozważając metody zarządzania procesowego trzeba stawiać na zdarzenia (w oparciu o architekturę EDA, Event-Driven Architecture) i regułową organizację działań (w oparciu o rozwiązania klasy BRM, Business Rules Management). Takie są bowiem na dziś uwarunkowania organizacji współczesnego biznesu. Na tym jednak nie kończą się możliwości oferowane przez koncepcję zdarzeń ani siła wyrazu zdarzeń.

Historycznie rzecz ujmując, koncepcja zdarzeń nie jest ani nowa, ani szczególnie odkrywcza. Nawet w oparciu o dość pobieżny przegląd stosowanych wzorców projektowych widać powszechność spojrzenia zdarzeniowego:

  • sprzęt – w tej sferze w zasadzie nie ma innego trybu współpracy, każda komunikacja opiera się o sygnały i zdarzenia;
  • model programowania systemowego – wszystkie systemy na najniższym poziomie, np. systemy operacyjne, aplikacje w środowiskach graficznych, działają na zasadzie odpowiedzi na zachodzące zdarzenia;
  • modne obecnie metodyki projektowania rozwiązań – dla przykładu Domain-Driven Design i jego podstawa, czyli Event Storming, traktują zdarzenia jako fundament modelowania domeny biznesowej, a najczęstszym wzorcem implementacyjnym jest zapisywanie zachodzących zdarzeń z których odtwarza się stan obiektu (choć nie tylko to);
  • obserwowanie zmian w danych – w sferze operacyjnej zdarzenia identyfikowane na podstawie stanu danych i korelacji zmian w danych (wraz z technologią dla tego celu, Complex Event Processing), w sferze analitycznej fundamentem jest identyfikacja zmian w danych obiektów pomiędzy cyklami zasilania hurtowni.

Takich przykładów jest więcej, ale taka ich porcja chyba już wystarczy. Dlaczego zdarzenia? Bo to jest naturalny sposób działania człowieka. Na najbardziej podstawowym poziomie wcale nie jesteśmy ani procesowi, ani racjonalni – na najbardziej naturalnym poziomie reagujemy na bodźce w określonym kontekście. Opis świata sformułowany w taki sposób rozumiemy instynktownie i potrafimy się w nim szybko odnaleźć. Takie właśnie, instynktowne zrozumienie przenosimy na różne sfery świadomego działania, między innymi zarówno na grunt tworzenia jak i użytkowania rozwiązań informatycznych.

Zdarzenia, zarówno ze względu na spójność z naturalnym sposobem postrzegania jak i z powodu efektywności obsługi „w systemach” stanowią wspólny mianownik na wszystkich poziomach abstrakcji architektury. To na nich należy budować fundamentalne pryncypia architektury korporacyjnej, rozwiązań i oprogramowania. Uproszczenia i spójność to najlepsza strategia i recepta na sukces.

Z czym do chmury?

Data: 2020-01-09
Autor: Sebastian Konkol
Z czym do chmury?

„Cloud, czy on-premises” wchodzi już na stałe do kanonu procesów decyzyjnych o sposobie realizacji przedsięwzięć informatycznych. Na szczęście mamy już za sobą czasy naiwnego rachunku kosztów i dysponujemy doświadczeniem pozwalającym na znacznie głębsze zrozumienie mechanizmów związanych z ekonomiką rozwiązań chmurowych i skutkujących racjonalizacją kosztów posiadania informatyki.

Czytaj więcej »

Architektura dla bezpieczeństwa

Data: 2019-11-30
Autor: Sebastian Konkol
Architektura dla bezpieczeństwa

Włam do szpitala może mieć wiele twarzy. To może być wyciek bardzo wrażliwych danych, ale może także doprowadzić do paraliżu placówki (ransomware). Przed takimi zdarzeniami trzeba umieć się zabezpieczyć. Włam do szpitala może jednak nieść także potencjał działań terrorystycznych, na przykład podawania pacjentom leków dla nich szkodliwych. Przerażające, prawda?

Czytaj więcej »

Garaż Rulez!

Data: 2019-10-11
Autor: Sebastian Konkol
Garaż Rulez!

Duch startup’owy zachwyca możliwościami. Zero cynizmu, naprawdę. Skuteczność działań prowadzonych w ten sposób, choć oceniana jedynie po przedsięwzięciach „z sukcesem”, przekonuje duże firmy do realizacji przedsięwzięć w taki sposób. Jak więc powstają „systemy z garażu”? Opowiem o doświadczeniach na przykładzie dwóch przedsięwzięć, jakie oglądam z bliska.

Czytaj więcej »

Do czego dzisiaj CRM?

Data: 2019-06-05
Autor: Sebastian Konkol
Do czego dzisiaj CRM?

CRM to filozofia działania. Choć to trywialne, bardzo rzadko spotykam się z przedsięwzięciem o nazwie CRM, które nie zaczynałoby się od „wdróżmy system CRM”. Równie trywialną jest konstatacja, że o skuteczności rozwoju organizacji trudno dzisiaj marzyć bez wsparcia rozwiązaniami informatycznymi. Jak określić rolę systemu CRM, aby pomagał on w realizacji filozofii CRM?

Czytaj więcej »

Lingwistyka komputerowa

Data: 2019-03-04
Autor: Sebastian Konkol
Lingwistyka komputerowa

Co pewien czas nachodzi mnie defetystyczny nastrój. Przyglądam się zmaganiom inżynierów informatyki z materią ich działań i odnoszę wrażenie, że klęska jest nieuchronna. Chwilę później zwykle wpadam na pomysł, jak sobie poradzić z takim, czy innym problemem, więc nastrój mi przechodzi – pozostają doświadczenia. Ostatnio rzecz dotyczyła spojrzenia na środowisko informatyczne od strony sprawności i skuteczności komunikacji pomiędzy systemami informatycznymi w środowisku typowym dla współczesnych firm.

Czytaj więcej »

W poszukiwaniu Wzorca Architektury

Data: 2019-01-07
Autor: Sebastian Konkol
W poszukiwaniu Wzorca Architektury

Od ponad dwóch dekad rozwiązuję zagadki ze świata informatyki praktycznej, sfery nazywanej w literaturze “Enterprise Information Systems”, posługując się warsztatem i narzędziami architekta. Wraz ze wzrostem doświadczenia rośnie we mnie przekonanie, że najważniejszą klasą narzędzi architekta są wzorce architektury, wszak po co za każdym razem na nowo wymyślać koło, skoro już wiemy, jak ma wyglądać? Z drugiej strony jednak stosowanie wzorców staje się coraz trudniejsze, wymaga coraz większego wysiłku, napotyka na coraz więcej przeszkód. Coś jest nie tak ze wzorcami? Problemy są tak specyficzne dla każdego przypadku? Myślę, że nie, a prawdziwa zagadka jest w nieco innym miejscu.

Czytaj więcej »

Blockchain Limited

Data: 2018-12-05
Autor: Sebastian Konkol
Blockchain Limited

Wiele lat temu, kiedy miałem rozpocząć studia, uczestniczyłem w wykładzie inauguracyjnym w temacie paradoksów rozwoju technologii, szczególnie ujawniających się cyklicznością zachodzących zmian. Wykładowca utrzymywał, że proces rozwoju technologii nie jest procesem liniowym – meandruje, gdyż ludzie budują zrozumienie metodą prób i błędów. Wykładowca twierdził, że – jako ludzie – jesteśmy całkiem nieźli w próbkowaniu, jednak umyka nam systematycznie zrozumienie cechy tego procesu, która czyni go wrażliwym.

Czytaj więcej »