Version 66 (modified by JP, 9 years ago) |
---|
BSConnnect - Integracja z systemami zewnętrznymi (ERP, FK, CRM, i innymi)
Menu
- Wprowadzenie
- Konfiguracja podstawowa
- Import danych z systemów zewnętrznych
- Eksport danych do systemów zewnętrznych
- Konfiguracja i informacje dodatkowe
5.1 Konfiguracja uprawnień
5.2 Zaplanowane zadania (automatyczna synchronizacja)
5.3 Historia połączeń
5.4 Dzienniki zdarzeń
5.5 Serwis synchronizacji
6 Przykładowe integracje w starszych wersjach systemu eDokumenty
Wprowadzenie
Niniejszy artykuł przedstawia opis kroków niezbędnych do realizacji integracji z systemami zewnętrznymi za pomocą szyny danych BSConnect. Przez system zewnętrzny należy rozumieć każdy inny system informatyczny (ERP, FK, HM, CRM), z którego pragniemy pobrać dane lub któremu chcemy dane udostępnić. Obecnie według tego mechanizmu istnieje możliwość integracji z m.in.
- Sage Symfonia Premium (Ms SQL Server)
- Sage Forte HM i FK (Ms SQL Server)
- CDN Optima (Ms SQL Server)
- CDN XL (Ms SQL Server)
- Egeria (Oracle)
- QAD
- Navision
- Subiekt
- WaPRO
- Enova
- SIMPLE
- Navireo
W niniejszym artykule wykorzystamy dla celów przykładowych jako system zewnętrzny bazy prezentacyjne systemów Comarch CDN XL oraz Sage Forte oraz dodatkową bazę danych eDok, która będzie naszą bazą pośrednią w procesie integracji. Baza pośrednia ma tę zaletę, gdyż uwalnia administratora bazy systemu informatycznego od tworzenia specjalnych schematów oraz nadawania uprawnień użytkownikowi do obiektów w tym schemacie. Stanowi ona pewien element izolacji przed ingerencją osób trzecich w bazę systemu informatycznego.
Integracja z systemami zewnętrznymi wykorzystuje autorską szynę danych BSConnect, który potrafi pobierać dane z wielu źródeł, jak bazy danych lub pliki XML, jak i również uczestniczyć w generowaniu plików eksportu / eksporcie danych do systemów zewnętrznych. Dzięki temu możliwe jest połączenie z dowolnym systemem, na którego bazie danych można zdefiniować widoki, z których dane zostaną pobrane (albo bezpośrednio, ale poprzez wygenerowane pliki XML).
Konfiguracja podstawowa
W poniżej podanym artykule opisano czynności podstawowe związane z konfiguracją połączenia z bazą pośrednią systemu zewnętrznego:
Import danych z systemów zewnętrznych
W niniejszej sekcji opisano import danych z systemów zewnętrznych.
Eksport danych z systemu eDokumenty do systemów zewnętrznych
W niniejszej sekcji opisano eksport danych z systemu eDokumenty do systemów zewnętrznych. Eksport danych do systemów zewnętrznych
Konfiguracja i informacje dodatkowe
- Uprawnianie użytkowników
- Zaplanowane zadania
- Historia połączeń
- Dzienniki zdarzeń
Konfiguracja uprawnień
Aby móc realizować operacje przy wykorzystaniu mechanizmu BSConnect należy danemu użytkownikowi / grupie nadać odpowiednie uprawnienia. Uprawnienia te znajdują się na karcie pracownika(użytkownika)/grupy z zakładce Prawa do jednostek. W okienku należy rozwinąć gałąź Usługi systemowe i nadać uprawnienie do jednostki EXTSYS Usługa systemu zewnętrznego.
Schemat uprawniania przedstawia poniższy rysunek
Rys. 2. Przykład uprawniania użytkownika do usługi systemu zewnętrznego
Po zamknięciu kartoteki pracownika z poziomu administratora użytkownik powinien się wylogować z systemu. Następnie powinien zalogować się ponownie. Po przejściu na moduł np. Klienci pojawi się na pasku przycisk Połączenie, który po naciśnięciu pokazuje obiekty integracji dostępne w danym module.
Rys. 3. Przycisk Połączenie dostępny w module Klienci
Automatyczna synchronizacja przy wykorzystaniu zaplanowanych zadań
System eDokumenty pozwala uruchomić zadania synchronizacji automatycznie. Wykorzystuje do tego celu systemowy Harmongram Zadań (w linuksie cron). Mechanizm ten uruchamia skrypt CronRunner.php w trybie klienta. Skrypt ten odpowiedzialny jest za realizację zadań zapisanych w bazie danych systemu eDokumenty (konkretnie w tabeli crontab).
Konfiguracja środowiska
Zanim zostanie utworzone pierwsze zadanie - system trzeba przygotować do uruchamiania skryptu CronRunner.php. W tym celu w systemie linux należy dodać odpowiedni wpis do pliku /etc/crontab
*/1 * * * * www-data cd /home/edokumenty/public_html/apps/edokumenty && php -f !CronRunner.php >> /var/log/cronrunner.log
Natomiast w systemie Windows można utworzyć zadanie w systemowym panelu Harmonogram Zadań lub też wykonać z lini poleceń (cmd) komendę:
schtasks /create /sc co_minutę /mo 5 /tn "CronRunner" /tr "php -f C:\Program Files\BetaSoft\eDokumenty\CronRunner.php"
W tym momencie należy przetestować działanie skryptu. Na systemie Windows należy uruchomić zadanie i sprawdzić w historii pobierania, czy wykonała się synchronizacja. Tutaj oprzemy się o testowaniu na systemie Linux. W tym celu należy przejść na konto użytkownika www-data:
su - www-data
Jeżeli uruchomi się powłoka sh należy wykonać polecenie:
bash
Będąc w powłoce bash należy wykonać polecenie:
cd /home/edokumenty/public_html/apps/edokumenty && php -f CronRunner.php >> /var/log/cronrunner.log
Po kliknięciu przycisku Enter w konsoli powinna się pojawić standardowa linia ze znakiem zachęty. Jeżeli pokaże sie jakikolwiek komunikat, to znaczy, że coś nie działa
Poniższe zrzuty ekranu pokazują typowe problemy napotkane przy uruchamianiu CronRunner-a.:
Brak uprawnień do pliku CronRunner.log
Rys. 6.
W celu rozwiązania tego problemu należy w odpowiedniej lokalizacji np. w katalogu /var/log/ z poziomu użytkownika root utworzyć plik (pusty) i nadać mu odpowiednie uprawnienia:
cd /var/log vim CronRunner.log -> następnie w Vimie zapisać pusty plik poleceniem :wq chmod 664 CronRunner.log chown www-data:edokumenty CronRunner.log
Testując powinniśmy uzyskać następujący efekt:
Taki widok w konsoli oznacza, że skrypt wykonał się. Na wszelki wypadek nalezy spojrzeć do pliku log-a:
tail /var/log/CronRunner.log
W przypadku wystąpienia następującego komunikatu:
Oznacza to, że w pliku /etc/php5/cli/php.ini jest zła konfiguracja. Sposób postępowania jest podobny także w przypadkach np. braków rozszerzeń do obsługi innych systemów. W celu naprawy sytuacji należy utworzyć link symboliczny do php.ini apache'a, który wiemy, ze jest prawidłowy.
cd /etc/php5/cli/ mv php.ini php.ini.bak ln -s /etc/php5/apache2/php.ini php.ini
Wynikiem tej operacji powinien być log, w którym nie pojawił się żadeń nowy wpis z błędem.
Rys. 11.
Konfiguracja zadań w systemie eDokumenty
Konfigurację automatycznego pobierania przeprowadzamy w oknie mechanizmu BSConnect. Należy przejść na koncie administratora systemu eDokumenty Narzędzia > Połączenia z systemami zewnętrznymi. W otwartym oknie połączęń wybieramy połączenie i klikamy ikonę zaplanowane zadania
Rys. 12. Ikona Zaplanowane Zadania
W otwartym oknie widać wszystkie dotychczas skonfigurowane akcje z podziałem na typy obiektów synchronizacji.
W oknie tym należy wybrać akcję i kliknąć przycisk nowy. Pojwai się okno, w którym wpisujemy własną nazwę zdarzenia oraz ustawiamy czas, kiedy ma się wykonywać operacja.
Rys. 14. Konfiguracja zaplanowanego zadania dla wybranej akcji
Po skonfigurowaniu i zapisaniu w oknie Zaplanowanych zadań przy akcji pojawi się ikona zaplanowanego zadania.
Rys. 15. Zaplanowane zadanie dla akcji
Historia połączeń
Historię wykonywanych operacji można podejrzeć klikając w oknie połączeń z systemami zewnętrznymi ikonę Historia Połączeń.
Rys. 16. Ikona Historia Połączeń
Otworzy sie okno, w którym można zobaczyć kto, kiedy wykonał jakie zadanie (akcję):
Klikając dwukrotnie w wybraną pozycję można zobaczyć komunikaty związane z danym połączeniem.
Dzienniki zdarzeń
Zawartość log-ów BSConnect-a wykonywanych operacji można podejrzeć klikając w oknie połączeń z systemami zewnętrznymi ikonę Dzienniki Zdarzeń.
Rys. 18. Ikona Dzienniki Zdarzeń
W otwartym oknie widzimy pliki Log-ów.
Rys. 19. Okno Dzienniki Zdarzeń
Klikając prawym przyciskiem myszy uruchomi się menu, z którego można pobrać dany plik.
Serwis integracyjny
W celu integracji z systemami z którymi nie jest możliwe założenie widoków i triggerów na bazie danych można wykorzystać serwis synchronizacji, który odczytuje dane z zewnętrznego systemu i zapisuje w bazie edokumenty w dedykowanej do tego schemie. Schemat odzwierciedla zewnętrzną strukturę danych i do niego wówczas podłącza się tak jakby to była zewnętrzna baza. Serwis ponadto potrafi generować PDF-Y z dostarczonych z różnych źródeł danych.
Opisana poniżej konfiguracja zawiera opisy integracji z systemami QAD i SIMPLE.
Serwis integracji QAD? Serwis integracji SIMPLE?
Przykładowe integracje w starszych wersjach systemu
Poniższe przykłady realizowane były w starszych wersjach systemu eDokumenty. Pokazane przykłady nie są już obecnie wspierane. Zaleca się aktualizację do najnowszej wersji systemu (z uwzględnieniem posiadanej licencji)
- Integracja z systemem Forte Handel
- Integracja z systemem Forte FK
- Integracja z systemem ENOVA (MySQL)
- Integracja z systemem ENOVA (MSSQL)
- Integracja z systemem WAPRO WF-Mag
- Integracja z Optimą
Załączniki
-
20131111_102018.png
(15.6 KB) - dodany przez jachtelik
11 years temu.
Widok baz danych wykorzystany w niniejszym tutorialu
- dodatkowe_001.png (37.6 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_002.png (26.9 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_003.png (674 bytes) - dodany przez jachtelik 11 years temu.
- dodatkowe_004.png (1.1 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_005.png (3.6 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_006.png (49.4 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_007.png (3.7 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_008.png (25.7 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_009.png (7.4 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_010.png (26.6 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_011.png (30.2 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_012.png (28.0 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_013.png (19.6 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_014.png (28.4 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_015.png (29.6 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_015.2.png (29.6 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_016.png (44.7 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_017.png (30.2 KB) - dodany przez jachtelik 11 years temu.
- dodatkowe_018.png (13.7 KB) - dodany przez jachtelik 11 years temu.