Jak integrować systemy?

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ń.

Podstawowym zadaniem oprogramowania klasy ERP jest uporządkowanie firmowych zasobów informacyjnych. Rozwiązania wspierające zarządzanie to dziś zwykle dobrze zintegrowane pakiety wielu niezależnych aplikacji, które korzystają ze spójnych informacji, słowników, a także przyznawania i odwoływania uprawnień oraz dostępu do danych. Informacje przechowywane są w jednej bazie danych. Bardzo rzadko taki system nie wymaga integracji z innym oprogramowaniem, niekiedy starszym lub zrealizowanym w innej technologii. Niezbędne są, które umożliwią wymianę danych między aplikacjami.

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