Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

KS-Integracja mgr inż. Tomasz Latko Przedsiębiorstwo Informatyczne KAMSOFT.

Podobne prezentacje


Prezentacja na temat: "KS-Integracja mgr inż. Tomasz Latko Przedsiębiorstwo Informatyczne KAMSOFT."— Zapis prezentacji:

1 KS-Integracja mgr inż. Tomasz Latko Przedsiębiorstwo Informatyczne KAMSOFT

2 Spotkanie Partnerów - 2008-04-27
Omawiane zagadnienia omówienie podstaw integracji przedstawienie budowy poszczególnych tabel oraz pakietów mających wpływ na system integracji opis funkcji programu KS-INTEGRATOR opis sposobu wdrożenia integracji częste pytania Spotkanie Partnerów

3 Dokumentacja techniczna
Dostępne dokumenty techniczne: KSStd_Integracja_Instrukcja.doc – quicktour, najważniejsze informacje o sposobie działania i konfigurowania, oraz odpowiedzi na najczęściej zadawane pytania Spotkanie Partnerów

4 Dokumentacja systemu jakości
Dostępne dokumenty systemu jakości: FO1130_01_02 Projekt wdrożenia integracji.xls FO1130_01_02 Projekt wdrożenia integracji SZABLON-MEDYCZNY.xls Spotkanie Partnerów

5 Cel i metody integracji
Cel: synchronizacja danych pomiędzy tabelami różnych systemów KS-Integracja – każdy system pracuje na własnych tabelach lokalnych, których zawartość ma być zgodna z tabelami lokalnymi w innych systemach, dane uzgadniane w chwili modyfikacji – tego dotyczy to szkolenie Spotkanie Partnerów

6 Spotkanie Partnerów - 2008-04-27
Rodzaje integracji integracja jednokierunkowa jeden system główny (MASTER) i wiele systemów podrzędnych (SLAVE) – tylko w systemie głównym można poprawiać, w systemach lokalnych poprawianie danych integrowanych jest zablokowane integracja dwukierunkowa jeden system główny (master) i wiele systemów podrzędnych (SLAVE) – w każdym systemie można poprawiać dane INTEGRACJA = JEDEN MASTER, JEDEN LUB WIELE SLAVE’ÓW Spotkanie Partnerów

7 Spotkanie Partnerów - 2008-04-27
Podstawowe pojęcia schemat KS – na każdym serwerze musi istnieć schemat o nazwie „KS”; w wersji minimalnej musi on zawierać tabele z licencjami SLIC i SLIP, najczęściej jest to schemat wspólny – zawierający m.in. tabele konfigurujące systemu integracji schemat lokalny – schemat roboczy, na którym pracuje aplikacja (np.: ZZL) Spotkanie Partnerów

8 Spotkanie Partnerów - 2008-04-27
Pakiety Pakiety standardowe: KSCVAR - zawierający definicje zmiennych systemowych KSCORE - zawierający funkcje jądra systemu KSUTIL - zawierający funkcje narzędziowe KSINTUTL - zawierający funkcje narzędziowe systemu integracji Pakiet integracyjny dedykowany dla każdego systemu: KSINTEGR - zawierający funkcje do modyfikacji danych w integrowanych tabelach, funkcje odczytujący kolejny numer klucza głównego itp. Minimalny zestaw funkcji dla 1 tabeli: <nazwa_tab>_zmien, <nazwa_tab>_get_id, <nazwa_tab>_get_last_id Spotkanie Partnerów

9 Spotkanie Partnerów - 2008-04-27
Wyzwalacze i NSYS_INN Wyzwalacz: <TAB>_INTEGR_BIUD BEFORE INSERT, UPDATE, DELETE uczestniczy w procesie nadawania nowego, globalnie unikalnego identyfikatora klucza głównego, oraz sprawdza, czy operacja jest dozwolona ze względu na konfigurację integracji Wyzwalacz: <TAB>_INTEGR_AIUD wyzwala proces replikacji po zmianie lokalnej tabeli. Pole: NSYS_INN NUMBER(10) W każdej tabeli biorącej udział w procesie integracji istnieje pole NSYS_INN Numer(10), jest to pole wypełniane TYLKO chwilowo podczas wykonywania funkcji <TAB>_ZMIEN pakietu KSINTEGR, zawsze powinno być NULL Spotkanie Partnerów

10 Spotkanie Partnerów - 2008-04-27
Prawa i synonimy Wszystkie aplikacje wymienione w SSYS (oprócz KS-ZSI) muszą mieć utworzone synonimy do tabel: SAPP, SPRD, SSYS, STBI, STBC, STBP, STBR na swoim schemacie wspólnym Wszystkie aplikacje wymienione w SSYS (oprócz KS-ZSI) muszą mieć SELECT, REFERENCE do tabel: SAPP, SPRD, SSYS, STBI, STBC, STBP, STBR na swoim schemacie wspólnym Spotkanie Partnerów

11 Konfiguracja (1/2) - tabele na schemacie wspólnym
Tabela Opis Skąd się biorą wiersze SAPP, SPRD Informacje o wszystkich aplikacjach działających w korporacji. KS-Instal lub KS-Integrator na podstawie KS.SLIC oraz tabeli słownikowej SLIC, SLIP Licencje dla wszystkich systemów działających w korporacji na wszystkich serwerach. KS-Instal lub KS-Integrator na podstawie pliku *.KTL SSYS Działające systemy w ramach korporacji na wszystkich serwerach. Zawiera informację o schemacie wspólnym każdego systemu. Zawartość tabeli taka sama na każdym serwerze organizacji; System integrowany – INTG=‘T’ KS-Instal lub KS-Integrator na podstawie KS.SLIC STBI Słownik tabel do integracji w systemach KS-Instal lub KS-Integrator: słownik aplikacji STBR Rodzaje tabel –system podpowiedzi KS-Integratora KS-Instal lub KS-Integrator: słownik aplikacji STBP Ustawienia tabel dla wszystkich systemów KS-Instal lub KS-Integrator na podstawie SSYS i STBI STBC Połączenia integracyjne tabel Ks-Integrator Spotkanie Partnerów

12 Konfiguracja (2/2) – tabele i widoki na wszystkich schematach
Tabela Opis Skąd się biorą wiersze SLKS Tabela z lokalną konfiguracją schematu. Zawiera jeden wiersz identyfikujący system. KS-Instal lub KS-Integrator na podstawie tabeli SSYS SITB Widok – tabele uczestniczące w integracji dla danego systemu. Widok na bazie tabel SLKS, STBI, STBP SSYS_ITB Widok – połączenia danego systemu. Widok na bazie tabel SLKS, STBI, STBC Spotkanie Partnerów

13 Działanie KS-Integracji – zmiana w tabeli master
SLAVE 5)Uruchamia procedurę KSINTEGR.<TAB>_ZMIEN 1)Modyfikacja danych 2)Wywołuje się wyzwalacz przed zmianą %INTEGR_BIUD – ew. nadanie nowego ID 6)Pobiera dane o rekordzie z MASTERA 3)Fizyczna modyfikacja 7)Pobiera dane o rekordzie lokalnym i rozstrzyga czy przeprowadzić wstawienie, poprawę czy usunięcie 4)Wywołuje się wyzwalacz po zmianie %INTEGR_AIUD - wywołuje we wszystkich systemach SLAVE procedurę KSINTEGR.<TAB>_ZMIEN 8)Przeprowadza operację modyfikacji z ustawionym NSYS_INN 10)Powrót do wyzwalacza – zakończenie wyzwalacza 9) Aktualizuje w wierszu NSYS_INN na NULL Spotkanie Partnerów

14 Działanie KS-Integracji – zmiana w tabeli slave
MASTER SLAVE 3) Zwraca nową wartość klucza 1)Modyfikacja danych 6) Uruchamia procedurę KSINTEGR.<TAB>_ZMIEN 2) Wstawienie -> wywołanie funkcji generującej identyfikator u MASTERA KSINTEGR.<TAB>_GET_ID 7) Pobiera dane o rekordzie ze SLAVEA 8) Pobiera dane o rekordzie lokalnym i rozstrzyga czy przeprowadzić wstawienie, poprawę czy usunięcie 4) Modyfikacja danych 9) Przeprowadza operację modyfikacji z ustawionym NSYS_INN 5 )Wywołanie w systemie MASTERA procedury KSINTEGR.TAB_ZMIEN 10) Aktualizuje w wierszu NSYS_INN na NULL 11) Wykonuje się wyzwalacz po poprawie, który powiadamia wszystkie pozostałe systemy SLAVE o zmianach: wywołuje procedurę INTEGR.TAB_ZMIEN u pozostałych SLAVE’OW. 12)Powrót do wyzwalacza – zakończenie wyzwalacza Spotkanie Partnerów

15 KS-INTEGRATOR Zawsze należy zaopatrzyć się w najnowszą wersję programu dostępną na : Q:\PROJPROD\Ogolne\KS-Integrator Lub w serwisie KS-PARTNER Spotkanie Partnerów

16 Funkcje programu KS-Integrator
Podstawowa i zaawansowana konfiguracja i integracji Łącząc się programem KS-Integrator do schematu wspólnego należy podać nazwę serwera, która znajduje się w tabeli SSYS. Jeśli nazwa TNS serwera nie jest rozpoznawana lokalnie to należy ją dopisać do TNSNames.ora Spotkanie Partnerów

17 Typowe układy integracji
Szablon wdrożenia medycznego integracji FO1130_01_02 Projekt wdrożenia integracji SZABLON-MEDYCZNY.xls Spotkanie Partnerów

18 Procedura instalacji i integracji Licencja
Wczytanie licencji (tabele SLIC i SLIP w KS) Serwer powinien mieć wpisany alias w TNSNAMES.ORA równy polu KS.SLIC.SERNAZW Pole SSYS.SERW powinno być zgodne z SLIC.SERNAZW Nie powinno się wykonywać żadnych działań bez poprawnie wygenerowanej, zawierającej wszystkie działające aplikacje i wgranej licencji na serwer Licencje importuje się: KS-Integrator, KSLicImpKS oraz KS-Instal. KS-Instal założenie schematu KS i konfiguruje kompleksowo system, jest zalecany. Spotkanie Partnerów

19 Procedura instalacji i integracji Instalacje – tabela SSYS
Zawiera informacje o wszystkich integrowanych schematach Powinna być tworzona na podstawie SLIC Pole SSYS.SERW powinno być zgodne z SLIC.SERNAZW, jeżeli pola nie są zgodne, a na serwerze działa jakakolwiek integracja, wtedy nie należy go zmieniać Pole SSYS.SERW powinno być rozpoznawaną nazwą TNS na serwerze, jeśli jest inaczej to nie jest możliwe automatyczne tworzenie DBLinków w KS-Integrator Pole SSYS.SERW jest bezwzględnie obowiązującą nazwą podczas łączenia się do serwera programem KS-Integrator Pola SSYS.NSYS powinny odpowiadać SLIC.NLIC dla odpowiednich schematów Pole SSYS.INTG=‘T’ oznacza system widoczny w programie KS-Integrator Spotkanie Partnerów

20 Procedura instalacji i integracji Instalacja aplikacji
KS-INSTAL zainstalować poszczególne aplikacje – wszelkie elementy niezbędne zostaną zainstalowane automatycznie zaczynając od aplikacji wykorzystujących najnowszą bibliotekę ksinZSI.dll by jednokrotnie instalować / aktualizować schemat KS Spotkanie Partnerów

21 Procedura instalacji i integracji Aplikacje bez KS-MENU
Aplikacje działające bez mechanizmu KS-MENU to: KS-APW (Apteka) i KS-SOMED Zainstalowanie KS-Integratorem integracji w aplikacjach bez MENU Poprzez zaznaczenie ich w pierwszym oknie konfiguracji integracji KS-INETGRATOR Spotkanie Partnerów

22 Procedura instalacji i integracji Sprawdzenie tabel integrowanych 1
Przejrzenie wszystkich tabel, które mają zostać zintegrowane: tabele powinny być puste (mogą zawierać jedynie rekordy zerowe), ewentualnie w grupie integrowanych tabel może być tylko jedna tabela zawierająca dane i musi mieć ona wypełnione unikalnymi wartościami NOT NULL pole klucza integracyjnego (pole zapisane KS.STBI.PRKY) gdy więcej niż 1 tabela zawiera dane muszą one być całkowicie zgodne i musi być zapewniony brak modyfikacji tych danych w trakcie wdrożenia dla rekordów zerowych należy wypełnić identyfikator integracyjny wartością 0 Identyfikatory integracyjne w większości przypadków są polami klucza głównego tabel. W przypadku większości tabel MEDIS, SOMED, AOW jest inaczej i należy na to zwrócić szczególną uwagę Spotkanie Partnerów

23 Procedura instalacji i integracji Sprawdzenie tabel integrowanych 2
W przypadku niezgodności nazwy SSYS.SERW z nazwą serwera rozpoznawaną przez serwer Oracle należy utworzyć i sprawdzić wymagane DBLinki między schematami, które są integrowane. DBLinki muszą być nazwane zgodnie z wpisami w polu SSYS.DBLK, sprawdzenie DBLink: SELECT * FROM Zmiana hasła do schematu bazy danych oznacza konieczność utworzenie wszystkich DBLinków do tego schematu na nowo Spotkanie Partnerów

24 Procedura instalacji i integracji Konfiguracja dla 2. serwerów
Aby była możliwa konfiguracja integracji dla 2 serwerów konieczna jest synchronizacja tabel SSYS schematów wspólnych tych serwerów Spotkanie Partnerów

25 Procedura instalacji i integracji Konfiguracja dokumenty
Opis sposobu tworzenie połączeń integracyjnych wg projektu wdrożenia integracji znajduje się w dokumencie Q:\PROJPROD\Ogolne\Doku\KSStd_Integracja_Instrukcja.doc ftp://ftp.kamsoft.pl/pub/KS-Integrator/doku/KSStd_Integracja_Instrukcja.doc Spotkanie Partnerów

26 Specyficzne tabele integracji Pracownicy wewnętrzni
Istnieją w aplikacjach ZZL, MEDIS, SOMED, AOW, FK, HURT, ST, PRODIS Jeśli istnieje ZZL to jest on systemem MASTER dla pracowników i tylko ZZL może zmieniać dane ZZL posiada 3 podgrupy pracowników: Wszyscy pracownicy medyczni lekarze TYLKO JEDNA MOŻE BYĆ INTEGROWANA I MUSI BYĆ MASTER Spotkanie Partnerów

27 Specyficzne tabele integracji Pracownicy wewnętrzni
Problemy: w MEDIS pracownicy wewnętrzni mogą jednocześnie być pracownikami zewnętrznymi (ten sam rekord w tabeli) – to powinno zostać zmienione istnieją nierówne więzy integralności w różnych aplikacjach (najsilniejsze w MEDIS), w przypadku integracji unikalność w jednej aplikacja oznacza unikalność we wszystkich pozostałych aplikacjach Spotkanie Partnerów

28 Specyficzne tabele integracji Kontrahenci
Istnieją w aplikacjach FK, HURT, ZSI, MEDIS, SOMED, AOW, ST, PRODIS, CRM Kontrahenci są podzieleni na 3 grupy: pacjenci jednostki zewnętrzne zakłady pracy Jeśli istnieje MEDIS to systemy medyczne (MEDIS, SOMED, AOW) powinny być integrowane z pozostałymi systemami tylko poprzez tabelę kontrahentów MEDIS: PLTN Spotkanie Partnerów

29 Specyficzne tabele integracji Pacjenci medyczni
Wydzielona podgrupa w aplikacjach medycznych (MEDIS, SOMED, AOW), która nie jest bezpośrednio integrowana z pozostałymi aplikacjami Pacjent przechodzi do systemu nie-medycznego tylko jeśli pojawi się w tabeli MEDIS.PLTN Jeśli nie istnieje MEDIS to należy zintegrować SOMED z systemem nie-medycznym Spotkanie Partnerów

30 Specyficzne tabele integracji Podmioty gosp. medyczne
Wydzielona podgrupa w aplikacjach medycznych (MEDIS, SOMED, AOW), która nie jest bezpośrednio integrowana z pozostałymi aplikacjami Podmiot gospodarczy przechodzi do systemu nie-medycznego tylko jeśli pojawi się w tabeli MEDIS.PLTN Jeśli nie istnieje MEDIS to należy zintegrować SOMED z systemem nie-medycznym Spotkanie Partnerów

31 Procedura instalacji i integracji Synchronizacja
Synchronizacja danych w tabelach jest konieczna w przypadku gdy dane istnieją w jednej tabeli danej grupy tabel i nie istnieją w pozostałych Synchronizacja danych polega na wykonaniu pozornego update’u na wszystkich rekordach integrowanej tabeli co wyzwoli triggery integracyjne i spowoduje przeniesienie danych do wszystkich integrowanych tabel Niektóre wyzwalacze integracyjne (np. na pracownikach w MEDIS i SOMED) „są odporne” na pozorne update’y i trzeba je czasowo zmodyfikować aby wykonać synchronizację Spotkanie Partnerów

32 Procedura instalacji i integracji Synchronizacja – procedura PL/SQL
BEGIN FOR REC IN (SELECT <identyfikator_integracyjny> FROM <tabela>) LOOP UPDATE <tabela> SET <pole_integrowane>=<pole_integrowane> WHERE <identyfikator_integracyjny> = REC.<identyfikator_integracyjny>; COMMIT; EXCEPTION WHEN OTHERS THEN RAISE_APPLICATION_ERROR(-20001, 'Nieudana aktualizacja <tabela> o <identyfikator_integracyjny>='||REC. <identyfikator_integracyjny>||CHR(13)||CHR(10)||SQLERRM); END; END LOOP; Spotkanie Partnerów

33 Procedura instalacji i integracji Synchronizacja – kolejność
Należy synchronizować najpierw grupy tabel słownikowych takich jak: miejscowości oddziały ośrodki kosztów itp. Dopiero potem można przystąpić do synchronizacji pozostałych tabel: pracownicy operatorzy kontahenci itp. Spotkanie Partnerów

34 Procedura instalacji i integracji Sprawdzenie
Po wykonaniu wszystkich połączeń integracyjnych zalecane jest sprawdzenie wszystkich połączeń poprzez testy w aplikacjach polegające na dodaniu, modyfikacji i usunięciu rekordów w tabelach integrowanych. Spotkanie Partnerów

35 Dodanie tabeli do KS-Integracji
Potrzebę integracji nowej tabeli należy zgłosić do działu wdrożeniowego poprzez wypełnienie formularza: FO1130_01_01 Zgłoszenie tabel do integracji.xls Projekt zapotrzebowania integracji nowej tabeli (lub modyfikacji) wymagają prac działów produkcyjnych i zmian w odpowiednich procedurach oraz umieszczone zmian w pakiecie KS-Integrator, i pakietach instalacyjnych. Spotkanie Partnerów

36 Spotkanie Partnerów - 2008-04-27
Częste problemy System nie jest widziany przez program KS-Integrator Należy sprawdzić tabelę SSYS, szczególnie pole INTG (powinno mieć T dla integrowanych), pole INTG nie wpływa na działanie KS-Integracji Cannot insert NULL into (<TABELA>.<POLE>) Zostało dodane do tabeli integrowanej nowe pole NOT NULL bez DEFAULT i nie zostało ono uwzględnione w mechanizmach integracji Spotkanie Partnerów

37 Częste problemy – pakiety się nie kompilują
Nie kompilują się pakiety KSCORE, KSUTIL, KSCVAR, KSINTUTL sprawdzić nadanie uprawnień ze schematu KS Nie kompiluje się pakiet KSINTEGR sprawdzić istnienie pól NSYS_INN w integrowanych tabelach sprawdzić istnienie pól integrowanych w integrowanych tabelach Nie kompilują się wyzwalacze integracyjne sprawdzić to samo co w przypadku problemów z kompilowaniem KSINTEGR Spotkanie Partnerów

38 Częste problemy - tabela SSYS
Niezgodność NSYS: należy wykonać funkcję z KSInstal.exe –gui, ‘Synchronizuj NSYS z licencją’ Niezgodna nazwa serwera: dla istniejących wdrożeń nie należy jej zmieniać, trzeba tylko zadbać o to żeby serwer miał tę nazwę w swoim TNSNames Nie widać aplikacji w KS-Integrator: należy ustawić pole SSYS.INTG=‘T’ dla aplikacji Spotkanie Partnerów

39 Częste problemy – synchronizacja
Naruszenie klucza unikalnego w zewnętrznej aplikacji: należy poprawić rekord powodujący to naruszenie lub zmienić zasady unikalności Naruszenie klucza obcego: należy sprawdzić czy zostały zsynchronizowane w pierwszej kolejności tabele słownikowe oraz czy inne nie-integrowane słowniki są zgodne „Modyfikowany rekord w tabeli <TAB> nie posiada nadanej wartości klucza integracji”: został popełniony błąd w fazie przygotowawczej, nie zostało wypełnione wartościami pole klucza integracyjnego, należy rozłączyć integrację odpowiedniej grupy tabel i wypełnić wartościami pole klucza Spotkanie Partnerów

40 Częste problemy – synchronizacja
Invalid user/password, error lookup for remote object – sprawdzić i poprawić DBLinki lub TNSNames na serwerze Oracle Package KS<PAKIET> has errors – błąd w fazie przygotowawczej, nie zostały sprawdzone pakiety Nieprawidłowa wartość NSYS_INN – sprawdzić pole NSYS_INN w tabeli jest NULL, jeśli jest to znaczy, że wyzwalacze poza integracją wypełniają to pole, należy to zgłosić do osób odpowiedzialnych za daną aplikację Spotkanie Partnerów

41 Spotkanie Partnerów - 2008-04-27
Pytania 1. Ile tabel może być MASTER’em w jednej grupie integrowanych tabel? Spotkanie Partnerów

42 Spotkanie Partnerów - 2008-04-27
Pytania 2. Czy w integracji jednokierunkowej mogą być zmieniane dane przez system SLAVE? Spotkanie Partnerów

43 Spotkanie Partnerów - 2008-04-27
Pytania 3. Jakie ustawienie decyduje o widoczności aplikacji w programie KS-Integrator? Spotkanie Partnerów

44 Spotkanie Partnerów - 2008-04-27
Pytania 4. Jakie pole musi istnieć w każdej tabeli biorącej udział w integracji? Spotkanie Partnerów

45 Spotkanie Partnerów - 2008-04-27
Pytania 5. Czy klucz główny tabeli jest zawsze identyfikatorem integracyjnym rekordu? Spotkanie Partnerów

46 Spotkanie Partnerów - 2008-04-27
Pytania 6. Czy aplikacje oparte o KS-MENU i KS-Instal powinny mieć instalowaną KS-Integrację poprzez program KS-Integrator? Spotkanie Partnerów

47 Spotkanie Partnerów - 2008-04-27
Pytania 7. Jakie narzędzie jest zalecane do wgrywania licencji i tworzenia schematu wspólnego? Spotkanie Partnerów

48 Spotkanie Partnerów - 2008-04-27
Pytania 8. Czy cała konfiguracja integracji w ramach jednego serwera znajduje w jednym schemacie? Spotkanie Partnerów

49 Spotkanie Partnerów - 2008-04-27
Pytania 9. Jakie tabele w schemacie wspólnym są tabelami konfiguracyjnymi mechanizmu integracji? Spotkanie Partnerów

50 Spotkanie Partnerów - 2008-04-27
Pytania 10. Gdzie zazwyczaj znajduje się nazwa aliasu do bazy danych, która odpowiada nazwie z licencji SLIC.SERNAZW? Spotkanie Partnerów

51 Spotkanie Partnerów - 2008-04-27
Dziękuję za uwagę Spotkanie Partnerów


Pobierz ppt "KS-Integracja mgr inż. Tomasz Latko Przedsiębiorstwo Informatyczne KAMSOFT."

Podobne prezentacje


Reklamy Google