Tworzenie bazy danych przy okazji integracji systemów IT
Wiele aplikacji w ramach organizacji często zawodzi i wywołuje różnego rodzaju problemy. Jak sobie z tym poradzić?
W poniższym artykule znajdziesz odpowiedzi na pytania:
- Jak przy okazji planowanych integracji zadbać o spójność danych w systemach?
- Jakie korzyści mogą płynąć z tworzenia centralnych baz danych?
Komplikacje związane z odrębnymi bazami danych
Jednym z problemów, z którymi zmagają się organizacje jest to, że każdy z systemów ma własną bazę danych. Tworzone są kolejne rekordy, które mogą występować w innych systemach i często będąc tam kompletniejsze. Podobna sytuacja występuje w momencie aktualizacji danych. W jednym systemie będą one aktualne, a w pozostałych dalej będą oczekiwać na aktualizację. Brak synchronizacji pomiędzy systemami powoduje dodatkowy nakład pracy przez użytkowników tego systemu.
Oczywiście można tworzyć rozwiązania integracyjne tylko na potrzeby synchronizacji danych pomiędzy systemami. Można również szukać rozwiązań typu Master Data Management, które są dedykowane do zapewnienia jakości, aktualności i dostępności najważniejszych dla organizacji danych. Takie podejścia często wiążą się z dodatkowymi kosztami, które przy braku innych realizacji, nie zawsze wniosą satysfakcjonującą wartość biznesową dla organizacji.
Jak zbudować własną „Centralną bazę danych”?
Wykorzystując szynę danych oraz system kolejkowy, można w prosty sposób zacząć budować własne bazy, które mogą stać się docelowo źródłem dla pozostałych systemów. Tworząc kanoniczny model danych i metodę, która będzie przekazywać dane do systemu kolejkowego (np. Rabbit MQ), można bez wpływania na bieżący proces dokładać istotne dla organizacji dane. Częstym przypadkiem jest, że dane trafiają z różnych systemów, do architektury FK lub CRM. Takie systemy na ogół mają wystawiony interfejs do przekazywania informacji. Bazując na danych z tego interfejsu, można dla każdego wywołania przepływu, odkładać określone dane do kolejki. Tworząc bazę, możliwe jest przy pomocy odpowiednich algorytmów rozpoznawać dane i właściwie aktualizować oraz dodawać nowe rekordy.
Dane wszystkich klientów mogą trafiać do tabeli, gdzie będą zbierane informacje o wszystkich rekordach ze wszystkich źródeł. Natomiast dla unikatowych rekordów, które algorytm uzna za te same, można utworzyć osobną tabelę. Będzie w niej trzymany najaktualniejszy i najbardziej kompletny rekord dla danego np. klienta/produktu. Wiadomo, że taka baza nie będzie od razu kompletna. Może się też zdarzyć, że nie wszyscy rekordy z poszczególnych systemów będą w niej występować. Wszystko będzie zależeć od tego, czy dany obiekt zostanie przesłany pomiędzy systemami. Ma to również swoje dobre strony. Centralna baza będzie zawierać tylko te rekordy, które obecnie są przetwarzane i nie wymagają powielenia pomiędzy systemami.
Korzyści z posiadania „Centralnej bazy danych”
Mając wyselekcjonowane rekordy można utworzyć odpowiednie REST API, które będzie mogło zwracać kompletne informacje dla określonych danych. Udostępnione API na szynie, może być wywoływane przez dowolny system. Dzięki temu, każdy z systemów może pobierać aktualne dane.
Oprócz aktualizowania klientów, baza może służyć do dodawania nowych. Po wprowadzeniu podstawowych informacji o kliencie w danym systemie, po jego zapisie może zostać wysłane żądanie do centralnej bazy za pośrednictwem ESB, w celu uzupełnienia danych nowego klienta.
Jeżeli chcesz dowiedzieć się więcej o usługach związanych z integracją systemów IT, zapraszamy do zapoznania się z naszą ofertą integracji oraz case studies.