Jak integrować systemy?
-
- 30.03.2013
Systemy wyspowe, działające w oderwaniu od innych aplikacji, powoli przechodzą do lamusa. Integracja oprogramowania staje się kluczowym elementem większości wdrożeń.

Dane w pliku
Najprostszym sposobem wymiany danych między aplikacjami jest skorzystanie z plików tekstowych. Każda aplikacja biznesowa albo już ma taką opcję, albo można ją łatwo wprowadzić. Wyeksportowane z jednej aplikacji pliki tekstowe mogą być przenoszone na serwer (FTP, CIFS, NFS) do innego systemu, skąd będą periodycznie zaczytywane do docelowego oprogramowania. To niezawodna metoda, o ile na każdym etapie wprowadzi się kontrolę spójności przechodzących tą drogą danych, a ustalone specyfikacje plików są konsekwentnie przestrzegane. Przesyłanie danych przez pliki jest metodą wieloplatformową i łatwą w integracji, a strukturalna informacja tekstowa zawarta w plikach tekstowych bez problemów dają się przetworzyć do strukturalnej postaci w innej bazie, nawet jeśli po obu stronach pracuje system i baza danych o innej konstrukcji. W ten sposób można zintegrować nawet bardzo stare aplikacje. Nowoczesne aplikacje zawierają już moduły eksportu danych do plików tekstowych, dzięki czemu wystarczy sporządzić specyfikację rekordów po obu stronach i ewentualnie napisać oprogramowanie, które dokona odpowiednich zmian.
Integracja przez pliki
+ metoda najłatwiejsza do wdrożenia
+ spójność integrowanych danych, niskie ryzyko naruszenia stabilności aplikacji
+ możliwa między aplikacjami o zupełnie różnej konstrukcji, technologii i bazie danych
- periodyczność transferu danych
- konieczność nadzorowania procesu wymiany i uruchomienia dodatkowych usług na serwerach
- integracja tylko w modelu punkt-punkt, ograniczenia co do obiektów danych
Baza do bazy
Na o wiele głębszą integrację pozwala wykorzystanie mechanizmów zaszytych w nowoczesnych bazach danych. W tym modelu po obu stronach opracowuje się odpowiednie interfejsy i tabele, które następnie udostępniane przez dedykowane mechanizmy integracyjne bazy danych. Metoda umożliwia daleko idącą integrację, włącznie ze współdzielonymi słownikami i tabelami transakcji, wymaga jednak dokładnego zaplanowania operacji wykonywanych po obu stronach. Ze względów bezpieczeństwa należy zadbać o ograniczenia uprawnień dostępu. W przypadku ciągle rozwijanych aplikacji integracja przez linki bazodanowe niesie ze sobą konieczność aktualizacji dokumentacji API oraz utrzymywania zgodności obiektów i wybranych części schematów po obu stronach. Nie zapewnia tak dokładnego audytu przeprowadzanych operacji, jak działanie na plikach tekstowych. Metoda sprawdza się m.in. przy aplikacjach o różnej konstrukcji, ale opartej na bazie jednego producenta.
Integracja baz danych
+ umożliwia współdzielenie obiektów (również binarnych) bez ingerencji w aplikacje
+ prosty dostęp do danych dostępnych za pomocą linku, nie wymaga znacznych ingerencji w bazę
+ wymiana danych działa natychmiast
- zmiany w silniku baz danych wymagają modernizacji mechanizmów integracji
- brak uproszczeń uprawnień w obu aplikacjach, kłopotliwe ograniczenia dostępów
- brak pośredniego stadium dostępu do danych utrudnia debugowanie i audyt