Kilka lat temu rodzina produktów SAP do integracji systemów powiększyła się o nowe rozwiązanie. SAP Application Interface Framework (AIF), bo o nim mowa, jest opcjonalnym dodatkiem do systemów SAP Business Suite, np. ERP, CRM czy SRM, i ma stanowić usprawnienie tak zwanej „biznesowej warstwy integracji”, w odróżnieniu od dostępnych dotychczas SAP Process Integration czy wcześniej SAP Business Connector, odpowiadających za „techniczną warstwę integracji”.

Zgodnie z tym, co podpowiada intuicja, warstwa techniczna integracji obejmuje przyjmowanie komunikatów, ustalanie ich odbiorców, dostosowanie formatów i wysyłkę do odpowiednich adresatów, czyli zapewnienie łączności pomiędzy poszczególnymi komunikującymi się systemami. W pewnym sensie odpowiada więc za całokształt integracji na zewnątrz systemów wchodzących w skład SAP Business Suite.

Biznesowa warstwa integracji

SAP AIF – warstwa biznesowa integracji – z jednej strony nie narusza dotychczasowego porządku rzeczy, bazując na sprawdzonych technologiach, takich jak Proxy, IDoc czy RFC. Wprowadza jednak dodatkowo nowy, ustandaryzowany model obsługi wszystkich tych komunikatów interfejsowych w systemie SAP, wraz z nim dostarczając zestaw narzędzi, które pozwalają zbudować typowe elementy rozwiązania integracyjnego, w wielu przypadkach – bez konieczności programowania, za pomocą samej tylko konfiguracji.

Z drugiej strony jednak, co ważniejsze, SAP AIF otwiera drzwi do świata integracji użytkownikom biznesowym systemu, dostarczając im zupełnie nowych narzędzi do monitorowania komunikacji i obsługi ewentualnych błędów. Wraz z systemem AIF jako implementacją warstwy biznesowej integracji, SAP wprowadził pojęcie Forward Error Recovery, którego definicję można luźno przetłumaczyć czy też sparafrazować następująco: „Problemy w integracji należy rozwiązywać tak blisko miejsca, gdzie zostały wykryte, jak to tylko możliwe” („Forward Error Recovery states that »The receiving system must not send an error to the calling system if that error could be handled closer to the receiving system«”; Richard Probst: SAP Guidelines for Best-Built Applications That Integrate with SAP Business Suite).

Naturalną konsekwencją stosowania zasady Forward Error Recovery jest zatem większe zaangażowanie użytkowników biznesowych w zapewnienie poprawności wymiany danych między systemami. Zwykle i tak to oni jako pierwsi zauważają wszelkiego rodzaju nieprawidłowości. Dzięki SAP AIF kluczowi użytkownicy (power users) zyskują jednak zupełnie nowe możliwości.

Diabeł tkwi w szczegółach, a takie drobiazgi jak dedykowany kokpit monitoringu i obsługi błędów (w jednym miejscu i z możliwością dodania własnych funkcji), proste wyszukiwanie komunikatów według ich zawartości, szczegóły dotyczące przetwarzania zapisane w logu (standardowy Application Log) czy wreszcie aktywne powiadamianie o błędach i skrzynka powiadomień (alertów) zdecydowanie ułatwiają pracę.

Jak pokazują doświadczenia z dotychczasowych wdrożeń AIF, wszystkie te elementy razem pozwalają zarówno skrócić czas obsługi pojedynczych błędów w integracji, jak i – w dłuższej perspektywie – zmniejszyć liczbę tych błędów. A tym samym wygenerować oszczędności kosztów serwisowych.

Centralizacja, standaryzacja, konfiguracja

AIF usprawnia integrację systemu SAP wielowymiarowo i na wiele sposobów. Niewątpliwe korzyści daje już sam fakt centralizacji całej logiki interfejsowej i zebrania wszystkich elementów implementacji w jednym miejscu. Dotychczas często zdarzało się, że poszczególne fragmenty, często wdrażane przyrostowo przez kolejne lata, były rozsiane w licznych drobnych fragmentach kodu, rozszerzeniach i user exitach, co z biegiem czasu coraz bardziej komplikowało testy i analizę jakichkolwiek anomalii w funkcjonowaniu rozwiązania.

Także sposób przetwarzania poszczególnych komunikatów podlega standaryzacji i ujednoliceniu dzięki AIF, niezależnie od technologii, za pomocą której zostają one dostarczone. W pierwszym kroku przetwarzania odbywa się dopasowanie struktury otrzymanych danych do wymagań systemu SAP (Structure Mappings). Dodatkowo można zdefiniować wstępną weryfikację otrzymanych danych (Checks) oraz reguły wyprowadzania danych uzupełniających (Value Mappings; Fix Values). Po wstępnej obróbce komunikat jest przekazywany do tzw. akcji (Actions), których zadaniem jest uruchomienie właściwej logiki aplikacyjnej – może to być wykonanie odpowiedniego księgowania, utworzenie zamówienia czy zmiana danych podstawowych materiału.

Wszystkie wymienione elementy są przypisywane do interfejsów na zasadzie bardzo elastycznej konfiguracji, a w przypadku bardziej skomplikowanych elementów deweloper może się wspomóc elementami programistycznymi. Warto podkreślić, że AIF w naturalny sposób wspomaga także ponowne wykorzystanie istniejących elementów podczas tworzenia kolejnych interfejsów, tym samym trwale redukując koszty rozbudowy kolejnych scenariuszy integracyjnych.

Warianty interfejsów i ich dokumentacja

SAP AIF dostarcza również nowych rozwiązań dla typowych problemów, jakie występują w integracji na dużą, masową skalę. W każdym dużym przedsiębiorstwie funkcjonują interfejsy wymiany danych, które mają działać „prawie tak samo” dla różnych krajów lub innych jednostek organizacyjnych w ramach przedsiębiorstwa. AIF pozwala w takim wypadku zdefiniować warianty (Interface Variants), dzięki którym można jednocześnie wykorzystać istniejące centralne rozwiązanie referencyjne, jak i bez problemu, w dedykowanym temu miejscu, zaimplementować „lokalne” różnice. Podobna elastyczność i niezależność jest trudna do osiągnięcia w modelu integracji bez AIF.

Co ciekawe, Application Interface Framework wspiera, porządkuje i automatyzuje również proces dokumentacji budowanego rozwiązania. Dokumentacja jest bowiem wprowadzana w samym systemie, bezpośrednio przy każdym z konfigurowanych elementów składowych scenariusza integracyjnego. Następnie dedykowane narzędzie umożliwia zebranie opisu poszczególnych składowych i wygenerowanie z nich kompletnej dokumentacji wybranego interfejsu.

Uprawnienia i dane wrażliwe

AIF wprowadza również wiele usprawnień w obszarze compliance. Dostęp do monitoringu i poszczególnych narzędzi obsługi błędów może zostać ograniczony uprawnieniami, z dokładnością do pojedynczych interfejsów. Co więcej, reguły uprawnień mogą być zdefiniowane w oparciu o zawartość komunikatu, na przykład elementy struktury organizacyjnej. Dzięki temu każdy użytkownik ma dostęp wyłącznie do tych komunikatów i interfejsów, za których poprawną obsługę w SAP jest odpowiedzialny.

Można także umożliwić modyfikację przez użytkownika zawartości wybranych pól podczas obsługi błędów, jak również przygotować zestawienie tego typu zmian wykonanych w systemie, na przykład do celów audytu. Wreszcie w narzędziach monitoringu i obsługi błędów możliwe jest ukrycie przed użytkownikami zawartości wybranych pól – zawierających dane wrażliwe.

Brakujące ogniwo systemów zintegrowanych

SAP AIF można wdrożyć zarówno równolegle z wdrożeniem odpowiedniego systemu SAP Business Suite, jak i niezależnie, również dla już istniejących interfejsów. Rozwiązanie sprawdza się doskonale zarówno w parze z SAP Process Integration, jak i z innymi technicznymi platformami integracyjnymi, a w uzasadnionych okolicznościach także jako niezależne rozwiązanie. Wreszcie może znaleźć zastosowanie również w wewnętrznych rozwiązaniach systemu SAP (niekoniecznie związanych z interfejsami), za pomocą dedykowanych API.

Application Interface Framework to z jednej strony zaledwie niewielkie usprawnienie istniejących funkcjonalności systemu SAP, a jednocześnie wprowadza prawdziwą rewolucję w podejściu do integracji systemów SAP ze „światem zewnętrznym”. Organizuje budowę i utrzymanie interfejsów, ułatwia ich dokumentację, centralizuje i optymalizuje obsługę błędów. Stanowi zbiór sprawdzonych rozwiązań i najlepszych praktyk, dostarcza gotowych rozwiązań dla wielu znanych problemów integracyjnych, zgrabnie wykorzystując sprawdzone technologie, przez co nadaje integracji z SAP zupełnie nowy wymiar. Jest przy tym uniwersalny, elastyczny, niezależny od technicznej platformy integracyjnej i wspiera integrację zarówno wewnątrz systemu SAP, jak i z jego otoczeniem.

Czyżby właśnie powstało brakujące ogniwo dzisiejszych systemów zintegrowanych?