[ Pobierz całość w formacie PDF ]
.Uzupełnienie systemu o obsługę nowych systemów baz danych sprowadzałoby się do określenia jedynie niezbędnych informacji, którymi istniejące systemy się różnią.Odrzuciliśmy jednak to rozwiązanie, jako zbyt trudne i przekraczające zakres pracy.W zastosowanym rozwiązaniu wrapper jest programem wykonywalnym, obsługującym konkretną bazę danych.Dla bazy danych w innym standardzie należy opracować nowy moduł wrappera, tworząc go od początku.lZasada działania wrapperalModuł osłony ma za zadanie konwertowanie danych ze źródłowych baz danych do wspólnego formatu danych używanego w naszym projekcie.Moduł ten jest umiejscowiony nad każdą źródłową bazą danych i konwertuje informacje z tego źródła do wspólnego formatu danych.W naszym modelu bazy danych wrapper komunikuje się z modułem integratora i ze źródłową bazą Oracle.Czas pracy wrappera można podzielić na trzy fazy:lPonieważ wrapper działa jako serwer TCP to oczekuje (nasłuchuje) na zgłoszenie się modułu integratora (klienta).Po nawiązaniu połączenia z integratorem otrzymuje od niego potrzebne do dalszej pracy dane o użytkowniku , które zostaną przechowane w dwuelementowej tablicy znakowej (nazwa użytkownika oraz jego hasło).Po wysłaniu potwierdzenia, że dane te otrzymał wrapper oczekuje od integratora przesłania zapytania, które też przechowywane zostaje w odpowiednich strukturach.llPo otrzymaniu zapytania od integratora wrapper musi uzyskać połączenie ze źródłową bazą danych a następnie przekazać wyniki zapytania z powrotem do integratora.Do komunikacji z bazą źródłową wykorzystuje dołączone do pakietu Oracle biblioteki języka C - Oracle Call Interface (OCI).Zatem logowanie do źródłowej bazy danych, otwarcie kursora, przetwarzanie zapytania, wiązanie adresu zmiennych z obszarem kursora, zbieranie wyników do odpowiednich tablic, zamykanie kursora i wylogowanie jest realizowane za pomocą OCI.llOtrzymane wyniki zapytania zostają przesyłane do integratora wg wcześniej uzgodnionego schematu.Następnie zamykane jest połączenie z integratorem i następuje czas oczekiwania na kolejne zgłoszenie się integratora.llKomunikacja z modułem integratoralKomunikacja z modułem integratora odbywa się zgodnie z protokołem TCP (architektura klient-serwer) i według wcześniej uzgodnionego schematu.Wrapper działa jako serwer TCP nasłuchując na porcie 5001.Po nawiązaniu połączenia musi od modułu integratora otrzymać dane o użytkowniku czyli nazwa użytkownika i hasło dostępu do źródłowej bazy danych.Po otrzymaniu pojedynczej porcji danych wrapper przesyła potwierdzenie do integratora w postaci liczby 1.Następnie integrator musi przesłać zapytanie, które to wrapper będzie musiał przetworzyć.Po zebraniu wyników zapytania wrapper przesyła je integratorowi i czeka na potwierdzenie ich otrzymania.Po otrzymaniu potwierdzenia zamyka połączenie i czeka (nasłuchuje) na kolejne połączenie.Funkcje związane z połączeniem TCP:lbind() - kojarzy adres lokalny i port z utworzonym soketem,lllisten() - oczekuje na przychodzące połączenie na określonym porcie,llaccept() - akceptuje połączenie,llrecv() - odbiera dane,llsend() -wysyła dane,llclosesocket() - zamyka połączenie.llZaimplementowane funkcjelOto wykaz zaimplementowanych funkcji (wraz z dostępnymi funkcjami OCI i funkcjami protokołu TCP w celu otrzymania połączenia z modułem integratora ):lconnect_user() - połączenie z bazą danych Oracle, wykorzystując funkcję OCI olog(),llnew_cursor() - otwarcie nowego kursora (wykorzystanie funkcji oopen() - OCI),llget_sql_statement() - pobranie zapytania i zapamiętanie go w odpowiednich strukturach,llanalyze() - analiza poprawności zapytania (wykorzystanie funkcji oparse() - OCI),lldo_binds() - wiązanie adresu dla zmiennych wejściowych (zapytania), wykorzystuje funkcję OCI obndrv(),lldescribe_define() - zdefiniowanie i opisanie kolumn lub wyrażeń zapytania SQL, związane z danymi wyjściowymi; wykorzystuje funkcje OCI odescr() oraz odefin(),llexecute() - wykonanie zapytania (wykorzystanie funkcji exec() - OCI),llprint_rows() - zbieranie wyników przetworzonego zapytania, wykorzystuje funkcje ofetch(),lldo_exit() - zamyka kursor i wylogowuje użytkownika przy pomocy funkcji oclose() i ologof(),llUwagi końcowelDosyć ważnym elementem implementowanego systemu jest moduł wrappera odpowiedzialny za komunikację z bazą danych i przetwarzanie zapytań.Powinien on zapewniać niezależność od systemu zarządzania bazą danych
[ Pobierz całość w formacie PDF ]
Linki
- Indeks
- praca+magisterska+ +strategia+marketingowa+fabryki+w%C3%B3dek+gda%C5%84skich+w+starogardzie+gda%C5%84skim+sp%C3%B3%C5%82ka+akcyjna
- Kopia Praca Magisterska Barbara Dymalska Szkolenie I Doskonalenie PracownikÄĹw W ZarzĂâŚdzaniu Zasobami Ludzkimi W PrzedsiĂâ˘biorstwie(1)
- praca licencjacka(11)78s. dobr!!!strategia marketingowa na przykĹadzie przedsiÄbiorstwa wrozamet s.a. we wrocĹawiu(1)
- Pedagogika specjalna praca zbiorowa red. Dykcik Władysław, wyd II, poszerzone i uaktualnione, 2001
- praca licencjacka 50 str wtym; historia internetu gry komputerowe mikrostruktury spoĹeczne
- praca+licencjacka+ +karty+p%C5%82atnicze+w+ofercie+banku+pko+bp
- Praca+Magisterska+ +ADMINISTRACJA+%C5%9Awiadczenia+zdrowotne+i+ich+wykonywanie
- Historia+Polityki+ +czyja%C5%9B+praca+dyplomowa+z+netu
- rozwĂłj systemĂłw transportu telekomunikacyjnego praca magisterska
- 21 Praca Magisterska Finanse SpóĺâEk
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- chiara76.htw.pl