Świat oczami architekta IT

architektura, procesy, zespół

Menu
  • Strona główna
  • O mnie
  • Co czytam
  • Czego się uczę
Menu

Sześć typów projektów integracyjnych

Posted on 30 stycznia 20198 sierpnia 2019 by Tomasz Sokół

W swojej książce „Enterprise Integration Patterns : Designing, Building, and Deploying Messaging Solutions” Gregor Hohpe, Bobby Woolf definiują sześć typów projektów integracyjnych. Podział ten wykonany był już ponad piętnaście lat temu. Wydawać by się mogło, że w obecnych czasach zdominowanych przez mikroserwisy będzie archaizmem. Jednak jest on tak samo aktualny jak w 2004 roku, kiedy została wydana wspomniana książka.

Portal informacyjny

Nie chodzi tu jedynie o portale typu onet.pl, chociaż one są świetnym przykładem. Chodzi tu o wszelkie intranety, aplikacje dostarczające zagregowanych informacji z więcej niż jednej usługi. Przykładem jest strona w portalu intranetowym firmy zajmującej się doradztwem finansowym. Prezentując aktualny kurs walut z NBP, aktualny czas lokalny giełdy w USA, Japonii oraz Warszawie oraz aktualne notowania indeksu WIG20 prawdopodobnie jest klientem co najmniej trzech zewnętrznych usług sieciowych. Mało prawdopodobne jest, że wszystkie te dane przechowuje w swojej bazie, a pracownicy firmy co minutę (czy nawet sekundę) wprowadzają ręcznie aktualizacje tych danych.

Replikacja danych

W przypadku, kiedy dwa (lub więcej) systemy muszą przechowywać te same informacje oraz musimy zapewnić, żeby zawsze były one ze sobą spójne, należy zaimplementować replikację danych. Oczywiście istnieją inne, lepsze sposoby poradzenia sobie z zagadnieniem redundancji danych, to bywają sytuacje, gdzie nie będzie to możliwe. Przykładowo jeśli firma z branży eCommerce posiada dane klientów w sklepie internetowym (powiedzmy na platformie Shopify) oraz dane tych samych klientów w programie księgowym (powiedzmy z raks.pl) to wypadałoby zestawić replikację. Jeśli klient zmieni dane do faktury w sklepie, to ludzie z BOK nie będą musieli ręcznie przepisywać ich do RAKSa.

Współdzielona funkcja biznesowa

W obecnych czasach, kiedy za jedyną słuszną architekturę uznaje się wyłącznie mikroserwisy, to chyba najbardziej popularny typ projektu integracyjnego. Wydelegowanie do osobnej, współdzielonej usługi pewnej operacji biznesowej nie jest niczym odkrywczym. Przykładowo usługa do walidowania poprawności numeru NIP lub usługa w systemie eCommerce serwująca aktualne dane adresowe klienta programowi księgowemu.

Architektura zorientowana na serwisy (SOA)

Kiedy w organizacji zostaje zaimplementowanych wiele współdzielonych funkcji biznesowych, niezbędne staje się zaimplementowanie katalogu tych funkcji. Taki katalog (service discovery) jest jednym z projektów integracyjnych. Funkcje rejestrując się w katalogu dostarczają informacji o swoim interfejsie oraz adresie, pod którym można je wywołać.

Rozproszony proces biznesowy

Często pojedyncza transakcja biznesowa jest zbiorem operacji zrealizowanych przez kompletnie inne zewnętrzne systemy. Weźmy na przykład proces dodania nowego ogłoszenia w systemie aukcyjnym, gdzie zdjęcia produktów przechowywane są na Amazone S3, strona samego systemu aukcyjnego wykonana jest w PHP + MySql i hostowana na hekko.pl natomiast oferta powinna również automatycznie dodać się w porównywarce ceneo.pl. Wszystko to powinno zadziać się w momencie naciśnięcia jednego przycisku „Zapisz”. Oczywiście zapis taki uznajemy za operację atomową dlatego niepowodzenie zapisu ogłoszenia powinno również zaowocować niezapisaniem się go w porównywarce, a zdjęcie nie powinno generować niepotrzebnych kosztów za przechowywanie go na S3.

Integracja Business-to-Business

Kiedy jedna firma wystawia swoim partnerom lub klientom API poprzez które umożliwia im korzystanie z ich usług mamy do czynienia z integracją Business-to-Bisiness. Jednym z najlepszym przykładów jest integracja z systemami kurierskimi. System kurierski wystawia usługę, poprzez którą system klienta (powiedzmy sklepu internetowego) może zarejestrować paczkę oraz otrzymać gotową etykietę. Zarejestrowanie paczki może być również równoznaczne, z tym że następnego dnia rano przedstawiciel firmy kurierskiej zjawi się po odbiór paczki o określonym numerze.

Jeśli podobają Ci się treści na moim blogu zostaw swój email. Będę Cię informował o nowych artykułach. Zero spamu same konkrety.

* pola wymagane

Chcesz dostawać powiadomienia o nowych artykułach? Zostaw swój email.

Najnowsze wpisy

  • Drivery architektoniczne. Czym są i co może się wydarzyć, gdy odkryjemy je zbyt późno. Historia prawdziwa.
  • Wizualizacja architektury zgodnie z modelem C4. Podejście praktyczne
  • Software Architekt. 5 rzeczy, których prawdopodobnie nikt Ci nie powiedział o tej roli
  • 5 poziomów złożoności problemu. Jak model Cynefin pomaga nam reagować w odpowiedni sposób
  • Integracja przez pliki

Kategorie

  • Architektura
  • Procesy
  • Zespół
Polityka prywatności
©2019 Świat oczami architekta IT | WordPress Theme by SuperbThemes
Serwis wykorzystuje pliki cookies. Korzystając ze strony wyrażasz zgodę na wykorzystywanie plików cookies.Tak. Zgadzam się Reject Dowiedz się
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.

Necessary Always Enabled

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.