1. Opis ogólny
Systemy ERP II
O technologii
Rodzaje integracji
2. Integracja systemów
Integracja i synchronizacja
Wyzwania wobec oprogramowania
3. Synchronizacja danych
Opis ogólny
SOA Synchronizacja w programie Trawers
4. Integracja. Projekt wdrożenia
5. Tematy powiązane
1. Opis ogólny
O znaczeniu integracji i synchronizacji danych.
Systemy ERP II
Gartner określa ERP II jako kolejną generację ERP w drodze do e-commerce.
Cechą podstawową jest możliwość elektronicznej wymiany danych między
firmami i między różnymi systemami ERP.
ERPERP II
--- ------
Procesy : Wewnętrzne, Ukryte Zewnętrzne, Połączone
Architektura: Zamknięta, Monolityczna Otwarta,Komponentowa,Internetowa
Dane : Wewnętrznie tworzone Publikowane wewnętrznie
i konsumowane i zewnętrznie
Wg Gartner na rynku pozostaną systemy otwarte, które będą gotowe na
wymianę z innymi systemami ERP, CRM i SCM.
Ważne: Metody integracji (otwartości) muszą być standardowe (otwarte).
Dlatego nie wolno budować własnych protokołów wymiany.
Muszą być standardowe np. XML.
P. Co z tego wynika dla Tres ?
O. Przede wszystkim integrować merytorycznie, tzn. aby Trawers operował
obiektami biznesowymi, które są standardem.
Bo tylko wtedy integracja technologiczna będzie możliwa.
O technologii
Jakość produktowi zapewni technologia jak najprostsza i najłatwiejsza
do zrozumienia, z najmniejszą ilością warstw pośrednich.
Zewnętrzne programy
Monolityczne systemy ERP 'wycofują' się do tzw. BackOffice, a coraz wiecej
funkcji przejmują zewnętrzne programy, często funkcjonując w chmurze.
Rodzaje integracji
Spojrzenie 'z wysoka':
* Integracja aplikacji
Proces łączenia niezależnie utworzonych aplikacji, tak aby mogły ze sobą współpracować.
Ten rodzaj integracji wymaga zbudowania skutecznych kanałów wymiany danych.
* Integracja danych
Procesy, narzędzia, rozwiązania w architekturze danych, które pozwalają podmiotom
wykorzystywać wszystkie typy danych gromadzone w różnych systemach.
Ten rodzaj integracji wymaga synchronizacji danych. Procesu ciągłego, automatycznego
ujednolicania zapisów.
* Integracja procesów
Umożliwienie współdziałania procesów przepływu czynności (Workflow)
w różnych, niezależnych systemach.
Wymaga synchronizacji procesów. Ciągłego ujednolicania danych wejściowych
i wyjściowych oraz koordynacji realizowanych procedur.
* Itegracja urządzeń
Umożliwienie współdziałania zadań realizowanych przez urządzenia techniczne.
Wymaga synchronizacji wykonywanych zadań i przekazywanych komunikatów (sygnałów).
2. Integracja systemów
2.1 Opis ogólny
Dane programu Trawers można wymieniać z innymi programami wykorzystując
różne formaty danych i różne mechanizmy wymiany.
Np. funkcje pobierające dane (import) stosuje się do pobierania danych
przed rozpoczęciem użytkowania, tzn. do pobierania danych początkowych.
Funkcje pobierające stosuje się także podczas użytkowania programu,
przede wszystkim podczas wymiany danych z aplikacjami internetowymi.
W programie Trawers ERP jest szereg funkcji specjalizowanych do wymiany
danych z innymi programami via aplikacje internetowe (zwykle w chmurze).
Integracja i synchronizacja
Funkcje te można ogólnie pogrupować: (w zależności od celów, metod i zakresu)
* Integracja systemów
* Synchronizacja danych
Integracja systemów
(en: Integration) Integracja jest pojęciem szerszym. To współpraca między
systemami. Np. automatyczne pobieranie aktualnych kursów walut z NBP.
Program ERP jest zintegrowany z aplikacją NBP lecz dane nie są synchronizowane
Nie ma procesu, który zapewnia zgodność zapisu w bazie ERP i banku.
Jest tylko pobieranie, regularne i automatyczne lecz bez synchronizacji.
2.2 Wyzwania wobec oprogramowania
Identyfikacja osoby
* Sytuacja: W aplikacji internetowej, np. w sklepie internetowym zamówienie
składa osoba fizyczna (bez NIP). Podaje tylko adres e-mail lub nr telefonu (lub obie dane).
Odbiorca indywidualny (podmiot bez NIP). Jakie dane zapisać w kartotece odbiorców
aby jednoznacznie wyszukać właściwą osobę gdy powtórnie złoży zamówienie ?
Rozwiązanie w programie Trawers ERP.
Program zapisuje osobę do kontaktu z podanymi: e-mail i/lub nr telefonu
Nadaje symbol (numer) odbiorcy i dopisuje kartę odbiorcy z podanymi
informacjami tele-adresowymi.
Gdy przychodzi kolejne zamówienie, to wyszukuje odbiorcę wg e-mail i/lub nr telefonu.
Patrz też: Parametr: 0325 [1] SOA Order. Dopisz: Odbiorca indywidualny
Identyfikacja zamówienia
* Sytuacja: Aplikacja internetowa, tu sklep internetowy przysyła zamówienie
sprzedaży. Podaje identyfikację odbiorcy, np. NIP oraz numer zamówienia
wg własnych oznaczeń. Program Trawers zapisuje zamówienie. Oznaczenie numeru
wpisuje do pola: Do dokumentu (nr obcy), pole: FNUMER
Podczas kolejnego zapisu (importu) sprawdza, czy taki nr obcy już jest.
Nie pozwala zapisać zamówienia powtórnie.
Patrz też: Parametr: 0326 [1] SOA Order. Unikalny numer
Patrz też:
- Zapisywanie faktury zakupu: Dok z nr obcym: [...1] już jest
Unikalne identyfikatory
* NOTE: Każdorazowo integrując dwa systemy warto ustalić czy w tabeli (zbiorze),
w programie Trawers jest unikalny identyfikator (klucz) wiersza (rekordu).
Aby prawidłowo wyszukiwać oraz dopisywać nowe rekordy program zewnętrzny
musi stosować te unikalne identyfikatory.
Przykłady unikalnych identyfikatorów (kluczy):
- indeks KIM -> kod EAN, Kod MPN
- odbiorca (firma) -> NIP (z kodem kraju)
- osoba do kontaktu -> adres e-mail
- kontrahenci (ogólnie) -> ILN/GLN
Komunikaty EDI:
- SSCC Serial Shipping Container Code
Seryjny numer jednostki wysyłkowej (transportowej).
Na przesyłce (na etykiecie przesyłki) i w dokumencie EDI
jest nr SSCC.
Patrz: EDI Dokumenty zakupu
EDI Dokumenty zakupu
- ILN/GLN, EAN, GTTIN. Patrz oznaczenia EDI.
Obecność dokumentów (transakcje):
- zamówienia sprzedaży: numer obcy zamówienia
(0326 SOA Order. Unikalny numer / kontrahent + numer obcy
- fatury zakupu: kontrahent + numer obcy
- numery RefNo
Patrz: Dokumenty transakcyjne
Dokumenty transakcyjne
Rodzaje transakcji:
- Komunikaty EDI: ORDER, INVOICE, itd.
TODO:
- numer obcy pozycji rejestru bankowego w KB
- numer obcy dokumentu MG
Patrz też mechanizmy integracji: SOA, CSV, Baselinker.
Możliwości integrowania i aktualne rozwiązania opisano tu:
Wymiana danych z innymi programamiIntegracja z internetem. Rozwiązania
Patrz też opis kolejnych wyzwań integracyjnych między Trawers ERP
a systemami zewnęrznymi --> AsystentAI
3. Synchronizacja danych
Opis ogólny
Synchronizacja (synchronizowanie) danych to jest proces ujednolicania
zapisów w bazach (zbiorach) znajdujących się w różnych systemach (aplikacjach).
Proces ustalania reguł spójności danych i proces ciągłego, automatyczego
ujednolicania zapisów.
Np. ujednolicenie danych tele-adresowych klientów znajdujących się w kartotekach
systemu ERP i współpracującego z nim sklepu internetowego.
Zsynchronizowanie zapisów o ilości i wartości zapasów magazynowych w systemie ERP
i w systemie MES odpowiedzialnym za zarządzanie operacjami produkcyjnymi.
(en: Data synchronization is the ongoing process of synchronizing data between
two or more devices and updating changes automatically between them to maintain
consistency within systems.)
SOA Synchronizacja w programie Trawers
Synchronizacje danych można i należy realizować wyłącznie przy użyciu funkcji SOA.
SOA Architektura wymiany danych
W każdym indywidualnym przypadku definiuje się:
* Synchronizowane dane: zbiory (tabele) i pola (kolumny)
* Częstotliwość synchronizacji (harmonogram), np. co 20 minut
* Proces inicjujący, tj. który system rozpoczyna ustalanie potrzeby ujednolicenia
* Zdarzenia, które uruchamiają proces, niezależnie od harmonogramu
Zastosowanie funkcji SOA sprawdziło się jako narzędzie synchronizacji
danych w systemach współpracujących z programem Trawers ERP.
Szczególnie we współpracy z aplikacjami internetowymi.
W każdym, indywidualnym przypadku, autorzy rozwiązań ustalali obszary
synchronizowanych danych i projektowali procesy zapewniające zgodność danych.
Integracja z internetem. Rozwiązania
4. Integracja. Projekt wdrożenia
Na przykładzie projektu wdrożenia integracji systemów Lantek Expert i Trawers ERP
przedstawiono cechy przedsięwzięcia i towarzyszące temu wyzwania i zadania do wykonania.
Opisano propozycje kolejnych kroków, od oceny możliwości integracji (analiza)
aż do wskazania zaleceń związanych z utrzymaniem rozwiązania i dalszym rozwojem.
Przedstawione opracowania może stanowić przykład (wzorzec) podczas projektowania
kolejnych projektów integracyjnych.
Patrz szczegóły:
Integracja. Projekt wdrożenia
Integracja systemówOpis ogólny
Dane programu Trawers ERP mogą być wymieniane z innymi programami przy użyciu
różnych formatów danych i mechanizmów komunikacji.
Funkcje importu stosuje się zarówno przy wdrożeniu (import danych początkowych),
jak i w trakcie użytkowania - szczególnie przy integracji z aplikacjami internetowymi
(np. sklepy online, platformy B2B, serwisy w chmurze).
Integracja obejmuje m.in.:
* Integrację systemów - współpracę między różnymi aplikacjami (np. automatyczne pobieranie kursów walut z NBP).
* Synchronizację danych proces utrzymywania spójności rekordów w wielu systemach.
---
Wyzwania integracyjne
Integracja Trawers ERP z systemami zewnętrznymi wiąże się z szeregiem wyzwań
technicznych i organizacyjnych:
1. Identyfikacja i mapowanie danych
* Identyfikacja osoby (odbiorcy indywidualnego)
*Sytuacja*: Klient w sklepie internetowym składa zamówienie bez NIP, podając jedynie adres e-mail i/lub numer telefonu.
*Wyzwanie*: Jednoznaczne przypisanie zamówienia do właściwej osoby przy kolejnych transakcjach.
*Rozwiązanie w Trawers ERP*: zapis w kartotece kontaktów z e-mail/telefonem, nadanie symbolu odbiorcy, wyszukiwanie przy imporcie wg tych pól.
* Identyfikacja zamówienia
*Sytuacja*: Sklep przesyła zamówienie z własnym numerem (nr obcy).
*Wyzwanie*: Unikanie powtórnego zapisu tego samego zamówienia.
*Rozwiązanie w Trawers ERP*: zapis numeru obcego w polu: FNUMER, weryfikacja istnienia przy imporcie.
2. Różnice w strukturze i formacie danych
* Różne nazwy pól i typy danych (np. data w formacie `YYYY-MM-DD` vs `DD.MM.YYYY`).
* Brak 1:1 odwzorowania pól (np. kategoria produktu jako jedna wartość vs. hierarchia pól).
3. Różnice w logice biznesowej
* Odmienne zasady walidacji (np. wymagane pola w Trawers, których brak w systemie zewnętrznym).
* Inny sposób liczenia rabatów, podatków, kosztów transportu.
4. Synchronizacja i spójność danych
* Brak mechanizmów dwukierunkowych lub ich ograniczenia.
* Konflikty danych - zmiany w tym samym rekordzie po obu stronach.
5. Wydajność i skalowalność
* Duże paczki danych powodujące wydłużony czas importu.
* Wąskie gardła przy synchronizacji w godzinach szczytu.
6. Niezawodność komunikacji
* Przerywanie połączenia z API w chmurze.
* Brak mechanizmów ponawiania prób w przypadku błędu.
* Nieobsłużone wyjątki przy nietypowych danych.
7. Bezpieczeństwo i zgodność
* Konieczność stosowania szyfrowania transmisji (SSL/TLS).
* Autoryzacja i kontrola dostępu do API.
* Ochrona danych osobowych zgodnie z RODO.
8. Utrzymanie i rozwój integracji
* Zmiany w API systemów zewnętrznych (np. modyfikacja struktury JSON).
* Konieczność dostosowania integracji po aktualizacji Trawers ERP lub aplikacji partnerskiej.
---
Podsumowanie
Integracja Trawers ERP z aplikacjami zewnętrznymi wymaga nie tylko opracowania technicznych
mechanizmów wymiany danych, ale też zdefiniowania zasad identyfikacji rekordów,
obsługi błędów, bezpieczeństwa oraz utrzymania zgodności między wersjami systemów.
Uwzględnienie powyższych obszarów minimalizuje ryzyko błędów i zwiększa efektywność procesów biznesowych.
---
Wersja tabelaryczna. Forma czytelniejsza dla zespołów projektowych i IT.Wyzwania integracyjne z kolumnami *Opis*, *Przykład*, *Możliwe rozwiązania*.
---
| Kategoria wyzwania | Opis | Przykład | Możliwe rozwiązania |
| -------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ----------------------------------------------------------------- |
| Identyfikacja osoby | Brak jednoznacznych kluczy klienta (odbiorca indywidualny bez NIP) | Klient w sklepie internetowym podaje tylko e-mail i/lub telefon | Wyszukiwanie w ERP po e-mail/telefonie, unikalny symbol odbiorcy |
| Identyfikacja zamówienia | Ryzyko powtórnego importu tego samego zamówienia | Sklep przesyła zamówienie z własnym numerem (nr obcy) | Zapis nr obcego w polu: FNUMER, kontrola duplikatów przy imporcie |
| Różnice w strukturze danych | Niezgodność nazw pól, typów i formatów danych | Data w formacie `YYYY-MM-DD` w systemie zewnętrznym vs `DD.MM.YYYY` w ERP | Mapowanie pól, konwersje formatów podczas importu/eksportu |
| Różnice w logice biznesowej | Odmienne reguły walidacji i przetwarzania danych | W ERP wymagany magazyn przy przyjęciu towaru, w systemie zewnętrznym brak pola | Konfiguracja reguł konwersji, dodawanie wartości domyślnych |
| Synchronizacja i spójność danych | Brak pełnej lub dwukierunkowej synchronizacji | Aktualizacja adresu klienta w sklepie nie przenosi się do ERP | Wdrożenie synchronizacji dwukierunkowej, rozwiązywanie konfliktów |
| Wydajność i skalowalność | Duże paczki danych spowalniają import | Import 50 tys. rekordów zamówień na raz | Harmonogramy synchronizacji, dzielenie paczek danych, zapytania |
| Niezawodność komunikacji | Przerywanie połączeń lub błędy API | Brak odpowiedzi serwera w chmurze w trakcie importu | Mechanizmy ponawiania prób, logowanie błędów, kolejkowanie żądań |
| Bezpieczeństwo i zgodność | Ryzyko naruszenia danych lub brak spełnienia wymogów prawnych | Przesyłanie danych osobowych bez szyfrowania | Szyfrowanie SSL/TLS, tokenizacja, zgodność z RODO |
| Utrzymanie i rozwój integracji | Zmiany w API lub wersjach systemów | Aktualizacja sklepu zmienia strukturę JSON | Monitorowanie zmian, testy regresji, dokumentacja integracji |
---