Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałAsia Milczanowski Został zmieniony 10 lat temu
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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.