Integracje systemów IT – od zera do produkcji
Realizacja projektu integracyjnego to nowe doświadczenie dla wielu developerów i architektów. W jaki sposób przebiega taki projekt? Na co warto zwrócić uwagę podczas takiego przedsięwzięcia? Jak wykonać testy? Na wszystkie te pytania odpowiedział Tomasz Sarnowski – nasz Java Developer i doświadczony ekspert w dziedzinie integracji podczas IT Corner Tech MeetUp.
Projekty integracyjne mają na celu zapewnić spójność wykorzystywanych rozwiązań IT. Integracje mogą dotyczyć dwóch elementów: danych oraz aplikacji. My tym razem skupimy się na integracji aplikacji. Jakie fazy należy przejść, aby pomyślnie ukończyć taki projekt?
Na początku należy uświadomić sobie, w jaki sposób działa integracja aplikacji. Przede wszystkim charakteryzuje się tym, że odbywa się w czasie rzeczywistym (real-time) lub niemal natychmiast i jest częścią jakiegoś procesu biznesowego obejmującego kilka systemów. Z reguły do tego rodzaju integracji wykorzystujemy API takie jak REST lub SOAP. Integracje nie są zbytnio widoczne dla biznesu co może stanowić pewną trudność np. w uzasadnieniu jej realizacji.
Dlaczego integrujemy?
Istnieją różne przesłanki, które wpływają na podjęcie decyzji o integracji systemów.
- Niektórym klientom zależy na tym, aby wyeliminować ręczne przepisywanie danych pomiędzy systemami. Dzięki zmianie integracji manualnej na automatyczną pracownicy, którzy wcześniej wykonywali nudne, powtarzalne czynności mogą zająć się innymi, ciekawszymi zajęciami.
- Projekt integracyjny może być potrzebny w momencie wdrażania nowego systemu w organizacji np. ERP. Dodatkowo jeżeli wymieniamy obecne rozwiązanie na inne, dzięki warstwie integracyjnej możemy zasilić zarówno nowe jak i stare rozwiązanie w celu porównania efektu ich działania.
- Kolejna sytuacja, w której wymagana jest integracja, ma miejsce wtedy, gdy w ramach jednej organizacji funkcjonuje wiele różnych systemów, a my nie chcemy replikować danych do każdego z nich. Wolimy aby systemy te udostępniały dane innym a nie są tego wstanie zrobić w wymagany przez innych sposób. W takiej sytuacji warstwa integracyjna może zapewnić taką integrację w efektywny sposób.
Narzędzia projektów integracyjnych
Wyróżniamy 3 klasy rozwiązań, związanych z integracjami systemów:
- Integration Framework – biblioteka, która ułatwia pracę, zapewniając funkcje integracyjne. Niektórzy poprzestają na tym pierwszym poziomie, ponieważ uważają, że jest wystarczający.
- Enterprise Service Bus – szyna usług, zapewnia nie tylko wszystkie funkcje integracyjne, ale wspiera też zarządzanie i monitoring działających integracji.
- Integration Suite – w pełni kompleksowe rozwiązanie, łączące w sobie framework’i integracyjne, szyny usług, zapewniające procesy migracji i poprawy jakości danych. Wszystkie kwestie związane z integracją można załatwić dzięki temu narzędziu. Ze względu na swój rozmiar jest ono jednak wykorzystywane jedynie przez największe organizacje. Takie rozwiązania zapewnia m. in. IBM.
Testowanie
Po doborze odpowiednich narzędzi integracyjnych i jej przeprowadzeniu następuje czas na testowanie. W świecie integracji nie jesteśmy samowystarczalni, więc w porównaniu do typowych projektów, przeprowadzanie testów jest utrudnione.
W przypadku projektów integracyjnych wykorzystywane są 3 rodzaje testów:
- manualne,
- automatyczne na specjalnym środowisku testowym
z osobno instalowanymi mockami, - automatyczne z wbudowanymi mockami.
Najbliższe ideału wydają się te ostanie.
Realizację testów ostatniego rodzaju, przykładową implementację integracji oraz jej wdrożenie możecie zobaczyć w praktyce w webinarze.