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-272 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

3 Spotkanie Partnerów - 2008-04-273 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

4 Spotkanie Partnerów - 2008-04-274 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

5 Spotkanie Partnerów - 2008-04-275 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

6 Spotkanie Partnerów - 2008-04-276 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

7 Spotkanie Partnerów - 2008-04-277 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)

8 Spotkanie Partnerów - 2008-04-278 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: _zmien, _get_id, _get_last_id

9 Spotkanie Partnerów - 2008-04-279 Wyzwalacze i NSYS_INN Wyzwalacz: _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: _INTEGR_AIUD –BEFORE INSERT, UPDATE, DELETE –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 _ZMIEN pakietu KSINTEGR, zawsze powinno być NULL

10 Spotkanie Partnerów - 2008-04-2710 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

11 Spotkanie Partnerów - 2008-04-2711 Konfiguracja (1/2) - tabele na schemacie wspólnym TabelaOpisSką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 STBISłownik tabel do integracji w systemach KS-Instal lub KS-Integrator: słownik aplikacji STBRRodzaje tabel –system podpowiedzi KS-Integratora KS-Instal lub KS-Integrator: słownik aplikacji STBPUstawienia tabel dla wszystkich systemów KS-Instal lub KS-Integrator na podstawie SSYS i STBI STBCPołączenia integracyjne tabelKs-Integrator

12 Spotkanie Partnerów - 2008-04-2712 Konfiguracja (2/2) – tabele i widoki na wszystkich schematach TabelaOpisSką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_ITBWidok – połączenia danego systemu. Widok na bazie tabel SLKS, STBI, STBC

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

14 Spotkanie Partnerów - 2008-04-2714 Działanie KS-Integracji – zmiana w tabeli slave 3) Zwraca nową wartość klucza 6) Uruchamia procedurę KSINTEGR. _ZMIEN 7) Pobiera dane o rekordzie ze SLAVEA 8) Pobiera dane o rekordzie lokalnym i rozstrzyga czy przeprowadzić wstawienie, poprawę czy usunięcie MASTERSLAVE 1)Modyfikacja danych 2) Wstawienie -> wywołanie funkcji generującej identyfikator u MASTERA KSINTEGR. _GET_ID 4) Modyfikacja danych 5 )Wywołanie w systemie MASTERA procedury KSINTEGR.TAB_ZMIEN 12)Powrót do wyzwalacza – zakończenie wyzwalacza 9) Przeprowadza operację modyfikacji z ustawionym NSYS_INN 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 SLAVEOW.

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

16 Spotkanie Partnerów - 2008-04-2716 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

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

18 Spotkanie Partnerów - 2008-04-2718 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.

19 Spotkanie Partnerów - 2008-04-2719 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

20 Spotkanie Partnerów - 2008-04-2720 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

21 Spotkanie Partnerów - 2008-04-2721 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

22 Spotkanie Partnerów - 2008-04-2722 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ę

23 Spotkanie Partnerów - 2008-04-2723 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 DUAL@NAZWA_DBLINK Zmiana hasła do schematu bazy danych oznacza konieczność utworzenie wszystkich DBLinków do tego schematu na nowo

24 Spotkanie Partnerów - 2008-04-2724 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

25 Spotkanie Partnerów - 2008-04-2725 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_Instrukcj a.doc ftp://ftp.kamsoft.pl/pub/KS- Integrator/doku/KSStd_Integracja_Instrukcja.doc

26 Spotkanie Partnerów - 2008-04-2726 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

27 Spotkanie Partnerów - 2008-04-2727 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

28 Spotkanie Partnerów - 2008-04-2728 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

29 Spotkanie Partnerów - 2008-04-2729 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

30 Spotkanie Partnerów - 2008-04-2730 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

31 Spotkanie Partnerów - 2008-04-2731 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 updateu 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 updatey i trzeba je czasowo zmodyfikować aby wykonać synchronizację

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

33 Spotkanie Partnerów - 2008-04-2733 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.

34 Spotkanie Partnerów - 2008-04-2734 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.

35 Spotkanie Partnerów - 2008-04-2735 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.

36 Spotkanie Partnerów - 2008-04-2736 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 (. ) Zostało dodane do tabeli integrowanej nowe pole NOT NULL bez DEFAULT i nie zostało ono uwzględnione w mechanizmach integracji

37 Spotkanie Partnerów - 2008-04-2737 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ć nadanie uprawnień ze schematu KS –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

38 Spotkanie Partnerów - 2008-04-2738 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

39 Spotkanie Partnerów - 2008-04-2739 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 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

40 Spotkanie Partnerów - 2008-04-2740 Częste problemy – synchronizacja Invalid user/password, error lookup for remote object – sprawdzić i poprawić DBLinki lub TNSNames na serwerze Oracle Package KS 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ę

41 Spotkanie Partnerów - 2008-04-2741 Pytania 1. Ile tabel może być MASTERem w jednej grupie integrowanych tabel?

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

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

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

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

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

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

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

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

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

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


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

Podobne prezentacje


Reklamy Google