Baza wiedzy Trawers ERP

Integracja, synchronizacja danych

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. ERP ERP 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 programami Integracja 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

5. Tematy powiązane

Wymiana danych z innymi programami Integracja z internetem. Rozwiązania Baza danych. Zarządzanie bazą Diagnozowanie i usuwanie problemów Słowa kluczowe #Admin-WymianaDanych #e-IntegracjaAPI #e-TrawersERP #TrawersERP-Architektura #Wdrożenie-KolejneKroki #Pomoc-Przykłady #Pomoc-AsystentAI
AsystentAI
Integracja systemów Opis 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 | ---