Integracja aplikacji

Modne ostatnie hasło "integracja aplikacji" to nowa nazwa trendu, który trwa od lat i polega na takim łączeniu aplikacji, aby mogły wspólnie korzystać z danych i procesów.

Modne ostatnie hasło "integracja aplikacji" to nowa nazwa trendu, który trwa od lat i polega na takim łączeniu aplikacji, aby mogły wspólnie korzystać z danych i procesów.

Dawniej integracja aplikacji odbywała się wewnątrz przedsiębiorstwa, przy udziale lokalnych informatyków, a jej koszty były wysokie, gdyż każdy zespół musiał "wymyślać rozwiązanie na nowo". Obecnie integracja aplikacji sprowadza się do zmniejszenia kosztów i uzyskania realnych korzyści. Integracja aplikacji (IA lub EAI Enterprise Application Integration) koncentruje się na procesach biznesowych i sposobach ich udostępniania w przedsiębiorstwie i poza nim. Aby była skuteczna, potrzebne są nowe technologie, nowe i krytyczne podejście do istniejących rozwiązań informatycznych.

Co nowego w IA?

Istnieje wiele definicji IA, ale zgodnie z najpopularniejszą: ma ona umożliwić swobodny przepływ informacji w organizacji, niezależnie od systemu, w którym się znajduje. Konsultanci dodają na ogół do tego swobodny dostęp do usług i procesów biznesowych. Na pierwszy rzut oka IA to nic nowego. Odnosi się przecież do każdej technologii łączącej systemy.

Technologie "punkt-punkt" pozwalają na łączenie dwóch aplikacji. Przykładowo, program kolejkowania komunikatów IBM MQSeries pozwala na łączenie dwóch aplikacji, ale wymaga zmiany każdej z nich. Trzeba więc mieć ich kod źródłowy i poświęcić wiele pracy informatyków. Co gorsza, zmienione programy trzeba starannie przetestować, a na to może nie być czasu w działającym non stop przedsiębiorstwie.

Na rynek wchodzą technologie "wiele-do-wielu". Są to technologie nowe, a więc niezbyt dobrze przetestowane, ale nie wymagające zmiany kodu istniejących aplikacji. Wspólny "hub informacyjny" pozwala na przepływ informacji między systemami, rekonfigurację przepływu przy zmianie wymagań oraz zarządzanie danymi. Niektóre rozwiązania pozwalają również na wspólny dostęp do procesów biznesowych.

Przykłady technologii

Istnieje wiele technologii określanych wspólnym mianem IA. Każdy producent zachwala swoje rozwiązanie jako panaceum na problemy integracji, mimo że większość z nich rozwiązuje tylko część problemów użytkowników.

Technologia punkt-punkt. Jest to pewien rodzaj oprogramowania do asynchronicznego kolejkowania komunikatów lub programy do zdalnego, synchronicznego wywołania procedur (RPC). W celu użycia tej pośredniej warstwy oprogramowania trzeba zmienić obydwie aplikacje, np. zmieniając kod obsługi transakcji, tak aby programy mogły umieszczać komunikaty w jednej kolejce i pobierać je z drugiej.

Technologia ta jest najlepiej opanowana i dobrze przetestowana, gdyż istnieje od lat. Nie jest również trudna pojęciowo - integrując dwie aplikacje, łatwo ustalić znaczenie terminów biznesowych, interpretację danych, opis procesów, metadanych czy interfejsów. Jeżeli jednak łączymy więcej niż dwa systemy, metoda ta staje się mało elastyczna, ponieważ nawet drobna zmiana w jednej aplikacji może powodować nieoczekiwane skutki w innych aplikacjach.

Baza danych do bazy danych. Aplikacje integruje się przez wspólny dostęp do danych. Na ogół w tym celu korzysta się z replikacji danych, pozwalającej na przenoszenie danych między bazami w miarę ich modyfikowania. Wielcy producenci baz danych oferują serwery replikacyjne o dużych możliwoś-ciach. Podejście bardziej zaawansowane zapewnia również możliwość transformacji w trakcie przenoszenia danych między bazami; stosuje się je w razie potrzeby dostosowania semantyki danych lub zmiany schematu logicznego bazy. Data Junction i Constellar oferują takie rozwiązania.

Zaletą rozwiązania jest prostota, a więc niski koszt. Ponieważ operuje się na poziomie danych, nie ma potrzeby zmiany komunikujących się aplikacji. Jeżeli jednak dane są ściśle powiązane z logiką aplikacji (np. przez procedury składowane, trygery lub inne rozwiązania), przenosząc je ryzykuje się utratę spójności i integralności bazy. Dotyczy to zwłaszcza baz ściśle powiązanych z aplikacjami (SAP, Baan), w których należy aktualizować bazę przez interfejs aplikacji, a nie bezpośrednio.

Sfederowane bazy. Zamiast replikacji danych do różnych baz, model baz sfederowanych prezentuje wiele baz fizycznych (działających pod różnymi systemami zarządzania danymi) jako jeden model bazy "wirtualnej". Jeden interfejs pozwala na dostęp do wszystkich danych z wielu aplikacji.

Baza sfederowana wymaga również utworzenia jednego repozytorium metadanych, będącego kompilacją wszystkich metadanych z baz uczestniczących w procesie. Nie zwalnia jednak od konieczności dostosowania istniejących aplikacji do korzystania ze wszystkich zasobów danych. Przykładowy program do federowania baz oferowany przez firmę Cohera jest, niestety, dość drogi.

Broker informacyjny. To nowa technologia, korzystająca z istniejących rozwiązań komunikacji asynchronicznej (kolejkowania komunikatów). Pozwala na łączenie dowolnych systemów na poziomie danych lub aplikacji. Oprogramowanie komunikacyjne służy do łączenia się z wieloma aplikacjami w celu pobierania danych (dostarczania danych do aplikacji). Pobrane dane trafiają do centralnego brokera informacyjnego, który może je przetwarzać - reformatować, łączyć z innymi, zmieniać schemat lub zawartość w taki sposób, aby były zrozumiałe dla systemu docelowego. Brokery informacyjne wymagają pewnego oprogramowania komunikacji z aplikacjami.

Przykłady to: MQIntegrator (IBM), NEON (New Era of Networks), ActiveWorks (Active Software) i Datagate (STC).

Broker informacyjny często nie wymaga zmiany aplikacji, ponieważ producenci oferują adaptery do popularnych aplikacji ERP, baz danych i monitorów transakcyjnych CICS. Lokalne aplikacje zapewne będą wymagać zmiany kodu dla dostępu do funkcji brokera. Ceny brokerów informacyjnych są wysokie (100-500 tys. USD).

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200