Starsze oprogramowanie branżowe często nie ma żadnego interfejsu programistycznego. To nie znaczy, że integracja jest niemożliwa — zmienia się tylko sposób.
Najprostsza droga: jeden system zapisuje plik w ustalonym miejscu, drugi go odczytuje. Wymaga uzgodnienia formatu, częstotliwości i sposobu oznaczania plików przetworzonych.
Kilka szczegółów rozstrzyga o tym, czy takie rozwiązanie działa stabilnie. Plik odczytywany w trakcie zapisu bywa niekompletny, więc zapisuje się go pod nazwą tymczasową i zmienia dopiero na końcu. Pliki przetworzone przenosi się do osobnego katalogu, żeby nie wczytać ich powtórnie. Warto też zachowywać kopie przez pewien czas — przy sporze o dane jest to jedyny dowód.
Możliwy, gdy znamy strukturę. Wyłącznie do odczytu — zapis wprost do bazy cudzego programu omija jego logikę i psuje dane w sposób trudny do wykrycia.
Nawet odczyt warto ograniczyć do osobnego konta z minimalnymi uprawnieniami i wykonywać poza godzinami największego obciążenia. Zapytanie przeszukujące całą bazę potrafi spowolnić pracę użytkowników programu.
Wiele starszych programów potrafi eksportować dane do pliku, choć wymaga to kliknięcia. Automatyzacja tego kliknięcia bywa prostsza niż budowanie integracji od zera.
Rozwiązanie działa, dopóki nic się nie zmienia. Aktualizacja programu, inne ustawienie okna, dodatkowy komunikat przy starcie — każda z tych rzeczy potrafi zatrzymać automat. Dlatego taki mechanizm musi zgłaszać, że się nie wykonał, zamiast milczeć.
Gdzie leży plik i kto ma do niego dostęp, o której powstaje, co robimy, gdy nie powstanie, oraz po czym poznajemy, że jest kompletny. Potrzebna jest też zgoda dostawcy programu, jeśli sięgamy do jego bazy — bywa, że narusza to warunki wsparcia technicznego. Lepiej zapytać wprost, zanim rozwiązanie powstanie.
Przy kilku takich połączeniach naraz porządkuje je warstwa pośrednia: pliki trafiają w jedno miejsce, są tam przekształcane i rozsyłane dalej, zamiast łączyć każdy program z każdym osobno.
Brak interfejsu nie zwalnia z tłumaczenia pól i słowników. Przeciwnie: pliki ze starszych programów częściej mają nietypowe kodowanie znaków, daty w nieoczywistym zapisie i kwoty z separatorem, który psuje odczyt. To trzeba sprawdzić na rzeczywistych danych, nie na przykładzie.
Wymiana plikami działa z opóźnieniem i nie nadaje się do operacji wymagających natychmiastowej odpowiedzi. Przy stanach magazynowych trzeba to uwzględnić w regułach sprzedaży.
Praktyczną konsekwencją jest większy bufor bezpieczeństwa przy wymianie danych ze sklepem i ostrożniejsze podejście do sprzedaży ostatnich sztuk.
Rozwiązanie oparte na strukturze bazy albo na układzie eksportu przestaje działać po aktualizacji programu. Warto to zakładać z góry i przewidzieć koszt utrzymania.
Jeśli program jest wycofywany, budowanie do niego integracji bywa pracą do wyrzucenia. Czasem lepiej poczekać na zmianę systemu.
Odpuścić warto też wtedy, gdy wymiana dotyczy kilku dokumentów dziennie. Przepisanie ich ręcznie kosztuje mniej niż utrzymanie kruchego mechanizmu, który trzeba naprawiać po każdej aktualizacji.