Zmiany pomiędzy wersją 37 and wersją 38 dla DeployerGuide/Customization/Integration

Pokaż
Ignoruj:
Data i czas:
07/24/13 09:16:02 (11 years temu)
Autor:
jachtelik (IP: 213.227.67.33)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • DeployerGuide/Customization/Integration

    v37 v38  
    1 = Integracja z systemami ERP i FK  = #integracja 
     1= Integracja z systemami zewnętrznymi (ERP, FK, CRM, i innymi)  = #integracja 
    22 
    33=== Menu ===  
    4  I. [#import Import danych z systemów zewnętrznych] 
    5   1. [#wprowadzenie Wprowadzenie] 
    6   2. [#opis Opis konfiguracji][[BR]] 
    7    2.1 [#wstep Czynności wstępne][[BR]] 
    8    2.2 [#xml_transfer Wymiana poprzez XML][[BR]] 
    9    2.3 [#db_transfer Wymiana poprzez połączenie z bazą danych][[BR]] 
    10    2.4 [#dalsze Dalsza konfiguracja] 
    11   3. [#przyklady Integracja z systemami zewnętrznymi] 
     4 1. [#wprowadzenie Wprowadzenie][[BR]] 
     5 2. [#opis Konfiguracja podstawowa][[BR]] 
     6 3. [#import Import danych z systemów zewnętrznych][[BR]] 
     7 4. [#eksport Eksport danych do systemów zewnętrznych] [[BR]] 
    128 
    139== Wprowadzenie == #wprowadzenie 
    1410 
    15 Niniejszy artykuł przedstawia opis kroków niezbędnych do realizacji integracji z systemami zewnętrznymi. Przez system zewnętrzny należy rozumieć każdy inny system informatyczny (ERP, FK, HM), z którego pragniemy pobrać dane lub któremu chcemy dane udostępnić. 
     11Niniejszy artykuł przedstawia opis kroków niezbędnych do realizacji integracji z systemami zewnętrznymi. 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. 
     12 * Sage Symfonia Premium (Ms SQL Server) 
     13 * Sage Forte HM i FK (Ms SQL Server) 
     14 * CDN Optima (Ms SQL Server) 
     15 * CDN XL (Ms SQL Server) 
     16 * Egeria (Oracle) 
     17 * inne ... 
     18 
     19W niniejszym artykule wykorzystamy dla celów przykładowych jako system zewnętrzny bazę '''AdventureWorks''' w wersji 2008R2 firmy Microsoft oraz dodatkową bazę danych '''eDok_AW''', 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. 
    1620 
    1721Integracja z systemami zewnętrznymi wykorzystuje mechanizm '''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. 
    1822Dzięki temu możliwe jest podpięcie do dowolnego systemu, na którego bazie danych można zdefiniować widoki, z których dane zostaną pobrane (albo bezpośrednio, ale poprzez wygenerowane pliki XML). 
    1923 
    20 W obecnej chwili istnieje możliwość  
    21  
    2224''[#integracja Powrót do menu]''   
    23    
    24 = Import danych z systemu zewnętrznego do eDokumenty = #import 
    25  
    26 == Opis konfiguracji == #przyklady 
    27  
    28 === Czynności wstępne === #wstep 
    29  
    30 Poniższy opis zawiera uniwersalne informacje niezależne od systemu. Zakłada użycie najczęściej stosowanej formy integracji. W dalszej części artykułu znajdują się odnośniki . Może zdarzyć się, że w konkretnym przypadku, konfiguracja integracji będzie różnić się od podanego przykładu. 
    31  
    32 Każda konfiguracja integracji rozpoczyna się od zdefiniowania w pliku config.inc stałej SYNC_ACTIVE na 'NEW'. (Ewentualnie dla połączeń realizowanych w "stary" sposób ustawiamy na TRUE). 
    33  
    34 {{{ 
    35 #!php 
    36 define('SYNC_ACTIVE', 'NEW'); // Obecnie zalecana forma uruchamiania integracji 
    37 //define('SYNC_ACTIVE',TRUE); // Może być zdefiniowana tylko jedna forma integracji przy wykorzystaniu specjalizowanych klas. Obecnie NIE ZALECANA do stosowania (nie jest już aktywnie wspierana) 
    38 }}} 
    39  
    40 Po zdefiniowaniu formy integracji należy zalogować się do eDokumentów z prawami administratora. 
    41 W menu ''Narzędzia'' Pojawia się opcja pt. ''Integracja z systemami zewnętrznymi''. 
    42  
    43 [[BR]][[Image(001.png)]][[BR]]''Przycisk uruchamiania konfiguratora integracji''[[BR]] 
    44  
    45 Po kliknięciu w ww. przycisk uruchamia się okno, w którym zostaną wykonane czynności integracyjne. 
    46  
    47 [[BR]][[Image(002.png)]][[BR]]''Okno konfiguratora integracji''[[BR]] 
    48  
    49 Pierwszym krokiem każdej integracji jest określenie zewnętrznego źródła danych. W tym celu należy kliknąć w przycisk ''Definicji źródeł wymiany danych'' (ikonka z dwiema strzałkami). 
    50  
    51 [[BR]][[Image(003.png)]][[BR]]''Uruchamianie definiowania źródeł wymiany danych''[[BR]] 
    52  
    53 Po kliknięciu w przycisk pojawi się okno, w którym zostanie zdefiniowane źródło wymiany danych. 
    54  
    55 [[BR]][[Image(004.png)]][[BR]]''Okno źródła wymiany danych''[[BR]] 
    56  
    57 Kolejnym krokiem jest dodanie nowego źródła wymiany danych. W tym celu należy kliknąć przycisk ''Nowy''. Zostanie uruchomione nowe okienko, w którym należy ustawić parametry wymiany danych. 
    58  
    59 [[BR]][[Image(007.png)]][[BR]]''Okno konfiguracji wymiany danych''[[BR]] 
    60  
    61 Poniżej pokazano przykładowe okna konfiguracyjne źródeł wymiany danych: 
    62  
    63 [[BR]][[Image(005.png)]][[BR]]''Wymiana danych poprzez bezpośrednie podłączenie do bazy danych''[[BR]] 
    64  
    65 [[BR]][[Image(006.png)]][[BR]]''Wymiana danych poprzez import/eksport plików XML''[[BR]] 
    66  
    67 === Wymiana poprzez XML === #xml_transfer 
    68 Wymiana poprzez XML wymaga: 
    69  * wybrania na typu ''XML - Wymiana pliku poprzez pliki XML''. Po wybraniu tej opcji pojawiają się dodatkowe pola, w których najważniejsze jest: 
    70  * Ścieżka składu, gdzie wskazujemy ścieżkę dostępu do katalogu, w którym znajdować się będą importowane/eksportowane pliki. Należy pamiętać o nadaniu uprawnień do tego katalogu dla użytkownika '''www-data'''. Dodatkowo w tym katalogu powinien znaleźć się podkatalog '''sent''', który przechowywać będzie przetworzone pliki XML 
    71  * Pole ''Szablon XML'' określa nazwę szablonu do eksportu dokumentów. Fizycznie znajdować się powinien w katalogu {{{public_html/apps/edokumenty/var/tpl/bs_connect}}}. 
    72  
    73 Niniejszy rysunek przedstawia przykładową konfigurację połączenia (w tym przypadku będzie to import dokumentów): 
    74 [[BR]][[Image(008.png)]][[BR]]''Ustawienia źródła wymiany danych''[[BR]] 
    75  
    76 Po wprowadzeniu niezbędnych danych i zatwierdzeniu formularza - źródło wymiany danych powinno pojawić się w formatce źródeł wymiany danych: 
    77  
    78 [[BR]][[Image(009.png)]][[BR]]''Ustawione źródła wymiany danych''[[BR]] 
    79  
    80 ''[#integracja Powrót do menu]'' 
    81  
    82 === Wymiana poprzez połączenie z bazą danych === #db_transfer 
    83  
    84 [TODO] Opis konfiguracji źródła wymiany danych poprzez  
    85  
    86 ''[#integracja Powrót do menu]'' 
    87  
    88 === Dalsza konfiguracja === #dalsze 
    89  
    90 W momencie, gdy mamy zdefiniowane źródło wymiany danych, należy zamknąć okno i powrócić do okna Połączeń z systemami zewnętrznymi. W oknie tym należy kliknąć nowe połączenie. Otworzy się formatka, w której takie połączenie zostanie skonfigurowane. 
    91 W okienku tym należy wprowadzić nazwę połączenia, wybrać identyfikator systemu zewnętrznego,  
    92  
    93 [[BR]][[Image(010.png)]][[BR]]''Konfiguracja połączenia z systemem zewnętrznym''[[BR]] 
    94  
    95 źródło wymiany danych. Pozostałe ustawienia są opcjonalne. 
    96  
    97 [[BR]][[Image(011.png)]][[BR]]''Konfiguracja połączenia z systemem zewnętrznym''[[BR]] 
    98  
    99 W tym momencie należy kliknąć przycisk ''Zapisz''. Wyświetli się komunikat o przejściu na zakładkę '''Synchronizacja''' oraz o dodaniu mapowania kolumn.  
    100  
    101 [[BR]][[Image(012.png)]][[BR]]''Informacja o konieczności dodania mapowania kolumn''[[BR]] 
    102  
    103 Odnośnie mapowania kolumn. Ten temat zostanie opisany poniżej, najpierw należy skupić się nad prawidłową konfiguracją połączenia z systemem zewnętrznym po stronie eDokumentów. 
    104  
    105 [[BR]][[Image(013.png)]][[BR]]''Zakładka konfiguracja''[[BR]] 
    106  
    107 W zakładce ''Synchronizacja'' klikamy Nowy i otwiera się okienko dodawania obiektów, które będą podlegać synchronizacji: 
    108  
    109 [[BR]][[Image(014.png)]][[BR]]''Obiekty konfiguracji''[[BR]] 
    110  
    111 Należy po kolei dodawać obiekty, które mają być integrowane z systemem zewnętrznym.  
    112  
    113 [[BR]][[Image(015.png)]][[BR]]''Dodany obiekt konfiguracji''[[BR]] 
    114  
    115 Przy dodaniu każdego z nich zostanie otwarte okno konfiguracji każdego obiektu: 
    116  
    117 [[BR]][[Image(016.png)]][[BR]]''Konfiguracja obiektu dokumenty''[[BR]] 
    118  
    119 W oknie tym znajdują się dwie zakładki: 
    120  * ''Konfiguracja'' - w której wybieramy, czy obiekty mają być aktualizowane, jeżeli istnieją już w eDokumentach, ale ich warunki integracji (pola mapowania) nie zawierają żadnej wartości. Dodatkowo  wymaga się, aby utworzyć '''stanowisko''', na które będą importowane dokumenty (dotyczy tylko obiektu Dokument). 
    121  * ''Akcje'' - definiujemy, jakie akcje mogą być dostępne do uruchamiania. Dana akcja może być aktywna, lub nieaktywna. 
    122  
    123 [[BR]][[Image(017.png)]][[BR]]''Zakładka Akcje obiektu Dokument''[[BR]] 
    124  
    125 Klikając na edycję Akcji możemy ustawić wiele parametrów. Na szczególną uwagę zasługują: 
    126  * szablon, według którego dane będą pobierane i synchronizowane, 
    127  * źródło wymiany danych - oprócz globalnego ustawienia połączenia z systemem zewnętrznym, każda akcja może mieć zdefiniowany własne źródło wymiany danych. 
    128  
    129  
    130 [[BR]][[Image(019.png)]][[BR]]''Ustawienia akcji''[[BR]] 
    131  
    132 W przypadku importowania danych dokumentów z pliku XML nalezy pamiętać, iż oprócz akcji Pobierania nowych lub zmodyfikowanych dokumentów, należy zdefiniować szablony dla akcji pokrewnych, które wynikają ze struktury pliku XML: 
    133  * Produkty - pobierz wszystkie, nowe i zmodyfikowane. 
    134  * Kontrahenci - pobierz wszystkie, nowe i zmodyfikowane. 
    135  
    136 Schemat szablonów można przedstawić nastepująco: 
    137 {{{ 
    138 #!sql 
    139 -- Powiąż klienta 
    140 COALESCE(REPLACE(REPLACE(RTRIM(LTRIM(nip___)), '-', ''), ' ', ''), '') = COALESCE(REPLACE(REPLACE('{nip___}', '-', ''), ' ', ''), '') AND RTRIM(LTRIM(LOWER(name_2))) = RTRIM(LTRIM(LOWER('{name_2}'))) 
    141  
    142 -- Pobierz wszystkich klientów, pobranie nowych klientów, powiązanie klienta, aktualizacja danych klienta 
    143 COALESCE(regexp_replace(nip___, '[ |-]*', '', 'g'), '') = COALESCE(regexp_replace('{nip___}', '[ |-]*', '', 'g'), '') OR lower(name_2) = lower('{name_2}') 
    144  
    145 -- Aktualizuj produkt, pobranie nowych produktów, powiązanie produktu 
    146 COALESCE(TRIM(symbol), '') = COALESCE(TRIM('{symbol}'), '') 
    147  
    148 -- Pobranie nowych i zaktualizowanych dokumentów: 
    149 COALESCE(TRIM(ex_sym), '') = COALESCE(TRIM('{symbol}'), '') 
    150 }}} 
    151  
    152 Nazwy kolumn w tokenie tj w nawiasach klamrowych odpowiadają kolumnom z mapowania. Właściwym polem jest prawe po znaku równości. 
    153  
    154 [[BR]][[Image(020.png)]][[BR]]''Przykład mapowania pola synchronizacji''[[BR]] 
    155  
    156 Finalnie, po skonfigurowaniu wszystkich potrzebnych akcji powinniśmy uzyskać wpis w oknie połączeń z systemami zewnętrznymi. Najistotniejszą informacją w tym oknie jest identyfikator połączenia, który będzie częścią nazwy pliku konfiguracji i pliku mapy. 
    157  
    158 [[BR]][[Image(018.png)]][[BR]]''Ustawione połączenie z systemem zewnętrznym.''[[BR]] 
    159  
    160 W tym miejscu należy omówić tworzenie map. Na dzień dzisiejszy oparty jest on na dwóch plikach: 
    161  * NAZWASYSTEMU_documents_conf.ini 
    162  * NAZWASYSTEMU_columns_map.ini 
    163  
    164 Pliki te można znaleźć w katalogu: {{{public_html/apps/edokumenty/var/tpl_default/sync}}}. 
    165 Należy taki zestaw plików przekopiować do katalogu: {{{public_html/apps/edokumenty/etc/sync}}}. 
    166 Dodatkowo należy zmienić nazwę pliku, tak aby zamiast NAZWASYSTEMU był numeryczny identyfikator połączenia z systemem zewnętrznym np. 
    167  * 3_documents_conf.ini 
    168  * 3_columns_map.ini 
    169  
    170 ''[#integracja Powrót do menu]'' 
    171  
    172 == Przykładowe integracje == #przyklady 
    173  
    174 === Aktualne === 
    175  
    176  * [wiki:DeployerGuide/Customization/Forte Integracja z systemem Forte Handel] 
    177  * [wiki:DeployerGuide/Customization/ForteFK Integracja z systemem Forte FK] 
    178  * [wiki:DeployerGuide/Customization/Integration/ENOVAMySQL Integracja z systemem ENOVA (MySQL)] 
    179  * [wiki:DeployerGuide/Customization/Integration/ENOVAMSSQL Integracja z systemem ENOVA (MSSQL)] 
    180  * [wiki:DeployerGuide/Customization/Integration/WaproWfMag Integracja z systemem WAPRO WF-Mag] 
    181  * [wiki:DeployerGuide/Customization/ExternalConfigurationFK/Optima Integracja z Optimą]  
    182  
    183  
    184  
    185 === Integracja w starszych wersjach systemu === 
    186  * [wiki:DeployerGuide/Customization/ExternalsConfigurationFK Definiowanie połączenia z systemami FK] 
    187  * [wiki:DeployerGuide/Customization/ExternalsConfigurationCDNXL Integracja z systemem CDN XL] 
    188  * [wiki:DeployerGuide/Customization/SymfoniaFK Integracja z systemem Symfonia Finanse i Księgowość] 
    189  * [wiki:DeployerGuide/Customization/SymfoniaHandel Integracja z systemem Symfonia Handel] 
    190  
    191 ''[#integracja Powrót do menu]''