SoftVig Systemy Informatyczne Sp. z o.o. Szczecin 71-441, ul. Cyfrowa 4 Centrala : (091) 350-89-20 Hotline aplikacji : (091) 350-89-26 e-mail : office@softvig.pl Fax : (091) 350-89-30 Dział handlowy : (091) 350-89-22 WWW : www.softvig.pl INTERFEJS WYMIANY DANYCH Z SYSTEMEM AUTOTEAM VER. 1.2 z dnia 26.04.2010 Strona : 1/7
Spis treści I. Architektura i zasada działa interfejsu do systemu AutoTeam.... 3 II. Zasada działania... 5 III. Kolumny systemowe wykorzystywane w tabelach._temp i._hist... 5 IV. Bezpieczeństwo... 6 V. Jawność przesyłanych danych... 6 VI. Obsługa stanów awaryjnych... 7 Dodatek A. Specyfikacja wymienianych obiektów. Dodatek B. Instalacja i konfiguracja NDC. Strona : 2/7
I. Architektura i zasada działa interfejsu do systemu AutoTeam. W niniejszym dokumencie zostanie przedstawiona architektura oraz sposób działania systemu przewidzianego do automatycznej wymiany danych pomiędzy systemem AutoTeam a systemem zewnętrznym (ogólnym system handlowym). Poniższy rysunek przedstawia schemat wymiany danych wraz wszystkimi elementami wchodzącymi w skład tego procesu. Definicje pojęć. NDM NetData Manager to oprogramowanie będące integralną częścią systemu centralnego i odpowiedzialne za zarządzanie i monitorowanie komunikacji z serwisami NDC. NDC NetData Connector to oprogramowanie pracujące jako serwis systemu Windows na komputerze komunikacyjnym i komunikujący się okresowo z NDM w celu wymiany danych. Elementem inicjującym wymianę danych jest zawsze NDC. Poniżej zamieszono okno konfiguracji NDC. Komputer komunikacyjny komputer, na którym uruchomiony jest serwis i posiadający dostęp do Internetu oraz transportowej bazy danych. Strona : 3/7
Transportowa baza danych (MSSQL) pomocnicza, buforowa baza danych przeznaczona do wymiany danych pomiędzy NDC a system handlowym. Dokładna specyfikacja tabel przeznaczonych do wymiany danych została opisana w Dodatku A. Transportowa baza danych może zostać umieszczona na serwerze bazy danych, na którym zainstalowane jest system zewnętrzny. Dopuszczalna jest opcja wykorzystania nieodpłatnie udostępnianej przez Microsoft wersji MSSQL, jednak w tym przypadku należy zapoznać się z ograniczeniami technicznymi i licencyjnymi opublikowanymi przez Microsoft. Procedury importujące i eksportujące dane z systemu handlowego procedury składowane umieszczone w bazie transportowej, których wywołanie jest inicjowane przez NDC. Kod i polecenia wykonywane przez procedury przewidziane są do implementacji algorytmów wymiany danych pomiędzy bazą transportowa a system zewnętrznym. Dostosowanie ww. procedur do konkretnych przypadków leży w gestii służb IT posiadających niezbędną wiedzę do odczytu i zapisu danych do systemu zewnętrznego. Opis interfejsu Poniższy rysunek przedstawia schemat blokowy interfejsu AutoTeam. NDC System zewnętrzny NetData Connector (NDC) Komputer komunikacyjny Trnasportowa baza danych Tabela _TEMP Tabela _HIST Procedura importująca i eksportująca dane z systemu zewnętrznego Baza danych Z systemu zewnętrznego 1. Interfejsem AutoTeam dla systemów zewnętrznych jest Transportowa baza danych. 2. Dane przesyłane i odbierane z centrali transmitowane są przyrostowo. 3. Logika przetwarzania danych realizowana jest przez NDC. 4. Obiekty (kontrahent, samochód, faktura, itp. ) podlegające wymianie danych reprezentowane są w interfejsie przez dwie tabele: 4.1. TEMP (lub brak sufix a) służącej do zapisu danych pochodzących z systemu zewnętrznego w celu przesłania do AutoTeam. 4.2. HIST służącej do odczytu danych pochodzących z AutoTeam. 5. Zapis danych do AutoTeam 5.1. W tabeli TEMP (lub brak sufix a) należy umieścić bieżący obraz danych z systemu zewnętrznego. * W przypadku przekazywania danych raportowych ( np. raport miesięczny serwisu, stock magazynowy itd. itp. ) bieżący obraz danych oznacza bieżący raport. 5.2. Dane w tabeli mogą zostać wprowadzone przez usunięcie starych danych i ponowne zapisanie nowych lub przez modyfikację przyrostową. 5.3. Rekordy skasowane lub anulowane w systemie zewnętrznym należy oznaczyć przez ustawienie pola : _F_DELETED na wartość 1 (jeżeli struktura przewiduje takie pole). 5.4. Sprawdzanie spójności danych wpisywanych do interfejsu następuje poprzez : 5.4.1. Sprawdzenie techniczne baza transportowa broni się przed wpisaniem niepoprawnych danych wykorzystując atrybut wymagalności danych (NOT NULL) dla kluczowych kolumn (np. NUMER dla faktury, NR_NADWOZIA dla samochodu). 6. Odczyt danych z AutoTeam Strona : 4/7
6.1. Tabela HIST zawiera bieżący obraz danych systemu AutoTeam na moment wykonania ostatniej synchronizacji danych. 6.2. Dane zmienione od czasu ostatniej transmisji mogą zostać zidentyfikowane na dwa sposoby (wybór metody i wykonanie leży w gestii lokalnych służb IT ASO ) : 6.2.1. Przez wykorzystanie kolumny typu timestamp _MODIFY_TS 6.2.2. Przez stworzenie przy każdym przepisaniu kopii danych z tabeli _HIST, następnie porównaniu przy kolejnym przepisaniu z bieżącą zawartością tabeli _HIST i wyznaczeniem w ten sposób zakresu zmienionych danych. 7. Synchronizacja odczytu/zapisu danych z systemu zewnętrznego z aktywnością NDC. 7.1. Procesy wymiany danych pomiędzy AutoTeam a systemem zewnętrznym możemy podzielić na dwie grupy : 7.1.1. Wolno zmienne Czas pomiędzy kolejnymi cyklami transmisji danych jest nieporównywalnie większy do czasu potrzebnego na transfer danych. Np: Interwał transmisji danych wynosi 24h, a czas przepisania danych z systemu zewnętrznego do odpowiedniej tabeli interfejsu NDC wynosi 2 min. 7.1.2. Szybko zmienne Czas pomiędzy kolejnymi cyklami transmisji danych jest porównywalny z czasem potrzebnym na transfer danych. Np: Interwał transmisji danych wynosi 5 min. a czas przepisania danych 1 min. 7.2. Wymiana danych pomiędzy system zewnętrznym a interfejsem AutoTeam może odbywać się w sposób synchroniczny lub asynchroniczny w stosunku do aktywności transferów danych do AutoTeam. 7.2.1. Synchroniczna wymiana danych 7.2.1.1. Zalecana jest przede wszystkim dla procesów szybkozmiennych 7.2.1.2. U podstawy metody leży wywołanie procedur eksportujących i importujących dane z systemu zewnętrznego w ramach aktywności NDC. 7.2.1.3. Szacunkowy (pesymistyczny) czas wykonania procedur eksportujących i importujących dane z systemu zewnętrznego musi być zgłoszony do Administratora systemu AutoTeam, w celu uwzględniania w harmonogramach aktywności NDC. 7.2.2. Asynchroniczna wymiana danych 7.2.2.1. Dopuszczalne jest wyłącznie dla procesów wolnozmiennych 7.2.2.2. Wymiana danych (uruchomienie procedur eksportujących i importujących dane z systemu zewnętrznego) jest inicjowana automatycznie o ustalonym czasie. 7.2.2.3. Ustalenie harmonogramu inicjowania procesu wymiany danych leży w gestii administratora systemu zewnętrznego i musi być dopasowany do harmonogramu przesyłania danych do AutoTeam przez NDC, który to można uzyskać od Administratora systemu AutoTeam. II. Zasada działania. 1. NDC łączy się okresowo z NDM i sprawdza czy powinien wykonać transmisje danych z lub do bazy transportowej. 2. W przypadku otrzymania pozytywnej odpowiedzi pobiera informację o transferze i wykonuje go. Po zakończeniu transferu powraca ponownie pkt. 1. 3. W przypadku otrzymania odpowiedzi negatywnej pobiera z NDM informacje o terminie następnego transferu. 4. W ramach każdego transferu danych wywoływana jest odpowiednia procedura importująca lub eksportująca dane do systemu zewnętrznego. Dla transferów do systemu AutoTeam procedura wywoływana jest na początku procesu, natomiast dla transferów w przeciwnym kierunku po zakończeniu procesu. III. Kolumny systemowe wykorzystywane w tabelach._temp i._hist. Nazwa TEMP HIST Opis _<nazwa_tabeli>_id V V Klucz główny (wypełniany automatycznie) Strona : 5/7
_F_DELETED V V Oznaczenie rekordu usuniętego (0-nowy lub zmodyfikowany, 1-usunięty) _MODIFY_TS - V Znacznik modyfikacji rekordu. Jest on zmieniany przy każdej modyfikacji lub dodaniu rekordu. Stosowany licznik jest globalny w ramach bazy danych. ID_EXT V V w systemie zewnętrznym. Pole wymagane dla danych pochodzących z systemu zewnętrznego. W tym polu należy umieścić unikalny identyfikator rekordu. <nazwa_tabeli_nadrzędnej>_id_ext Opcja Opcja w tabeli nadrzędnej w systemie zewnętrznym. Pole wymagane dla danych pochodzących z systemu zewnętrznego. <nazwa_tabeli>_id V V w centralnej bazie danych. <nazwa_tabeli_nadrzędnej>_id Opcja Opcja w tabeli nadrzędnej w centralnej bazie danych. _DEALER_USER_ID V V Kolumna systemowa KONTR_OWNER_SKROT / NR_ASO Opcja Opcja Nr partnera w sieci importera. Może być wykorzystywane w przypadku partnerów posiadających wiele jednostek w jednej bazie danych. IV. Bezpieczeństwo. Zapewnienie poziomu bezpieczeństwa transmisji danych w systemie AutoTeam zostało zrealizowane w następujący sposób: 1. Połączenia pomiędzy NDC a NDM realizowane są za pomocą protokołu HTTPS, ewentualnie http ( w przypadku sieci intranetowych ). 2. Inicjowanie połączenia leży zawsze po stronie NDC, w związku z tym nie ma potrzeby otwierania dostępu do komputera komunikacyjnego z Internetu. 3. Przesyłane dane są dodatkowo szyfrowane na poziomie usługi WebService. 4. Dostęp do NDM może być każdorazowo weryfikowany przez sprawdzenie poprawności nazwy użytkownika i hasła dla NDC oraz zgodności IP i sumy kontrolnej sprzętu komputera komunikacyjnego klienta z danymi zapisanymi w systemie AutoTeam. W celu nie obniżania poziomu bezpieczeństwa systemu informatycznego ASO i biorąc pod uwagę fakt, że NDC wykonuje polecenia SQL pobrane z NDM systemu AutoTeam zalecane jest, aby konto użytkownika NDC w serwerze bazy danych posiadało minimalny poziom uprawnień. Dla bazy transportowej wymagana jest możliwość odczytu, zapisu oraz kasowania wierszy wszystkich tabel oraz wykonywania procedur składowanych. Uprawnienia do operacji na innych bazach zleżą od sposobu implementacji algorytmów zaimplementowanych w procedurach wymieniających dane z system zewnętrznym. V. Jawność przesyłanych danych. W celu zapewniania jawności przesyłanych danych NDC zapisuje wszystkie transfery w postaci plików XML w lokalizacji wskazanej na etapie konfiguracji NDC. W związku z tym na komputerze komunikacyjnym należy przewidzieć odpowiedni obszar dysku zarezerwowany na ww. dane oraz zaplanować procedurę regularnego ich usuwania lub archiwizacji. Strona : 6/7
VI. Obsługa stanów awaryjnych. W przypadku wystąpienia stanów awaryjnych np. skasowanie bazy transportowej, rozspójnienie struktury bazy lub danych, awaria dysku itp. należy: 1. Natychmiast zatrzymać usługę NDC (Ustawienia -> Panel Sterowanie -> Narzędzia administracyjne -> Usługi), 2. Zmienić opcję typ uruchamiania usługi na ręczny 3. Skontaktować się z Administratorem systemu AutoTeam celem: wyłączenia aktualnie przypisanych zadań NDC (lub zabronienia logowania się usługi NDC do systemu centralnego). omówienia sposobu przywrócenia spójności danych (naprawa struktury, synchronizacja danych, przypisanie zadań naprawczych itp.) jeżeli istnieje taka potrzeba. sposobu ponownego uruchomienia usługi. Strona : 7/7