pobierz plik referatu

Transkrypt

pobierz plik referatu
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Rozdział 3
w
Koordynacja wymiany danych w środowisku P2P
da
.b
w
w
Streszczenie. W pracy analizujemy problemy zarządzania danymi związane
z nową klasą systemów informatycznych jaką są aplikacje internetowe
budowane w środowisku P2P w technologii usług sieciowych WebService.
Omawiamy architekturę uwzględniającą zarówno lokalną bazę danych
poszczególnego serwisu, jak i dane udostępniane przez serwisy z nim
współpracujące. Dyskutujmy możliwość opisanie zależności między bazami
danych różnych serwisów za pomocą formuł koordynacyjnych i
zastosowanie tych formuł do koordynowania wymiany danych. Omawiamy
możliwości wykorzystania technologii SOA do implementacji takich
systemów.
1 Wprowadzenie
pl
s.
Rozwój aplikacji internetowych, głównie usług sieciowych WebService, stwarza nowe
możliwości realizacji systemów baz danych. System bazy danych może stać się aktywnym
uczestnikiem współpracujących ze sobą systemów (serwisów). Istotnym problemem staje
się wówczas problem automatycznej wymiany danych między systemami. Wymiana taka
konieczna jest na przykład wtedy, gdy jeden z systemów uzupełnia swoje dane o
informacje pamiętane w innym systemie, gdy dane zbierane w jednym systemie muszą być
przekazywane według ustalonej strategii do innego systemu lub gdy powstaje problem
uzgadniania niespójnych danych [2].
Zarysowana powyżej wymiana danych jest obecnie realizowana głównie poprzez
techniki replikacji danych [5]. Replikacja danych możliwa jest jednak tylko wtedy, gdy
bazy danych znajdują się pod nadzorem zaawansowanych serwerów baz danych, takich jak
Oracle, MS SQL Server czy Sybase. Wielu współczesnych aplikacji korzystających z baz
danych nie jest jednak opartych na tak zaawansowanych serwerach. Często też nie ma
potrzeby ustalania tak ścisłych powiązań między aplikacjami, jak ma to miejsce w
przypadku systemów replikacji. W wielu przypadkach pożądane jest ustalanie luźnych
powiązań, które mogą podlegać dynamicznym zmianom i rekonfigurowaniu. Szanse na
realizację takiej koncepcji daje zastosowanie architektury przetwarzania P2P (peer-topeer), zamiast tradycyjnej architektury klient-serwer, oraz usług sieciowych WebService
Piotr Tarłowski, Tadeusz Pankowski: Politechnika Poznańska, Instytut Automatyki
i Inżynierii Informatycznej, pl. M. Skłodowskiej-Curie 5, 60-965 Poznań,
Tadeusz Pankowski, Uniwersytet im. Adama Mickiewicza, Wydział Matematyki
i Informatyki, ul. Umultowska 87, 61-614 Poznań
email: {piotr.tarlowski | tadeusz.pankowski}@put.poznan.pl
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
P. Tarłowski, T. Pankowski
w
[2], [7]. Wizję takich systemów przedstawiono w [2], a jej rozwinięciem są bazy danych
P2P (partnerskie bazy danych) [1], [15], [10], [11].
W tym rozdziale rozważamy problemy związane z tworzeniem klasy systemów luźno
powiązanych aplikacji, które wymieniają między sobą dane w środowisku P2P i zbudowane są z wykorzystaniem technologii usług sieciowych WebService. Koncentrujemy się przy
tym na problemie koordynacji wymiany danych. Zakładamy, że w środowisku
współpracujących ze sobą systemów powinna być możliwość definiowania, pamiętania i
zarządzania danymi opisującymi reguły koordynacyjne, określające sposób i zakres
wymienianych danych [2]. Reguły te mogą również stanowić swego rodzaju warunki
spójności danych w całym systemie.
Rozwój sieci P2P wpływa na różne dziedziny, takie jak: sieci komputerowe, systemy
rozproszone, systemy informacyjne czy bazy danych. P2P jest oparta na koncepcji
decentralizacji i swobodnej wymianie zasobów, a więc jest alternatywą dla architektury
klient-serwer. Dzięki unikaniu centralnych serwerów (będących często wąskim gardłem
sieci) i podział obciążenia, możliwe jest rozproszenie aplikacji w globalnej skali. P2P
stanowi model komunikacji w sieci komputerowej, który gwarantuje obydwu stronom
równorzędne prawa.
Użycie paradygmatu P2P jako praktycznego podejścia dla rozwijających się
skalowalnych aplikacji nie było wynikiem badań naukowych, ale rezultatem starań grona
zwykłych użytkowników Internetu. Popularność sieci P2P rozpoczęła się od systemów
współdzielenia plików (zwłaszcza muzycznych), takich jak początkowo Napster, a
następnie np. Kaaza. Właśnie ogromny sukces tych systemów miał wpływ na późniejsze
badania nad możliwościami wykorzystania P2P także w innych dziedzinach.
Skupienie się rozwoju sieci P2P na współdzieleniu i wymianie plików było przyczyną
zainteresowania się tą dziedziną projektantów baz danych.
W punkcie 2 przedstawiamy szerzej motywację prowadzonych prac. Problem i
proponowane rozwiązanie koordynacji wymiany danych omawiamy w punkcie 3.
Możliwość zastosowania technologii usług sieciowych do realizacji omawianych koncepcji
w środowisku P2P dyskutujemy w punkcie 4. Punkt 5 podsumowuje pracę.
da
.b
w
w
2 Wymiana danych w środowisku P2P
pl
s.
P2P składa się z otwartej sieci rozproszonych aplikacji sieciowych partnerów (ang. peer),
gdzie każda aplikacja może wymieniać dane i usługi ze zbiorem innych aplikacji,
tworzących zbiór jego znajomych (ang. acquaintances) [2]. Zakłada się, że aplikacje są w
pełni autonomiczne w wyborze swoich znajomych. Ponadto zakłada się, że nie ma kontroli
w formie globalnych rejestrów, usług, ani globalnego zarządzania zasobami.
Dane pamiętane w różnych bazach danych mogą mieć semantyczną współzależność.
Związki te mogą być wyrażane za pomocą formuł koordynacyjnych określających sposób
powiązań aplikacji z jego znajomymi. Przykładem takich powiązań jest aplikacja (serwis)
lekarza rodzinnego i serwis apteki. Serwisy te mogą koordynować informacje o pacjencie,
o otrzymanych przez niego receptach i wykupionych lekach. Wynikiem takiej koordynacji
jest wzajemne przekazanie sobie informacji, w najprostszym przypadku przekazanie
uaktualnień do relacji Recepta i Lekarstwo istniejących w obu bazach. Można rozważyć
także bardziej złożony przypadek realizacji zapytań (usług), wymagający dekompozycji
poleceń i odwoływania się do kolejnych znajomych.
Formuły koordynacyjne wymuszają spójność danych i propagację uaktualnień.
Dodatkowo aplikacje wymagają znajomości protokołu wymiany i ustalenia poziomu
38
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Koordynacja wymiany danych w środowisku P2P
w
koordynacji między nimi. Poziom koordynacji powinien być dynamiczny, co oznacza, że
zestaw formuł koordynacyjnych może się zmieniać w zależności od tego, czy powiązania
między parami są luźne, zacieśniają się, czy są w ogóle likwidowane (z powodu zmiany
zainteresowań i zadań poszczególnych aplikacji).
Przy tak dynamicznych zmianach nie można przyjąć istnienia globalnego schematu dla
wszystkich baz danych w sieci P2P, a nawet dla wszystkich znajomych baz danych. Co
więcej, zmiany te oznaczają, że partnerzy powinni mieć możliwość wzajemnej integracji
przy minimalnej interwencji człowieka.
Mamy więc do czynienia ze środowiskiem dynamicznym i rozszerzalnym. Partnerzy
mogą wchodzić i wychodzić z systemu. Partner wchodząc do systemu wnosi swoje dane,
swoje schematy oraz odwzorowania między schematami swoimi i swoich partnerów. W ten
sposób dynamicznie kształtuje się sieć semantycznie powiązanych ze sobą systemów
współpracujących w procesach integracji i wymiany danych [1], [10], [13], [15]. Wymiana
danych między partnerami wiąże się z problemami koordynacji tej wymiany oraz integracji
danych w procesie wymiany [3], [8], [9], [12].
w
w
3 Problemy koordynacji wymiany danych
da
.b
Federacje i multi-bazowe systemy są zazwyczaj traktowane jako rozszerzenia
konwencjonalnych baz danych [6], [14]. Formalizacje modelu relacyjnego nie stosują się
jednak do rozszerzeń, w których istnieją bazy danych niezgodne i operujące różnymi
poleceniami. Dla rozwiązania tego problemu w [2] wprowadza się pojęcie lokalnego
modelu relacyjnego (LMR) jako modelu danych przeznaczonego dla aplikacji P2P. LMR
zakłada, że zbiór wszystkich danych w sieci P2P składa się z lokalnych (relacyjnych) baz
danych. Każda z baz zawiera zbiór znajomych, który definiuje topologię sieci P2P. Między
każdą parą partnerów definiowane są odwzorowania pozwalające na transformację danych,
przy czym odwzorowania te powinny być odkrywane automatycznie na podstawie
dostępnych metadanych, takich jak schematy czy ontologie [10], [11], [15]. Bardziej
złożone zależności semantyczne między danymi w różnych bazach danych mogą być
definiowane za pomocą tzw. formuł koordynacyjnych [2].
Rozważając koordynację wymiany danych w środowisku P2P wróćmy do przykładu
bazy pacjentów. Przykład formuły koordynacyjnej określonej między bazą danych
NowakBD lekarza rodzinnego i bazą danych CefarmBD apteki:
pl
s.
∀Pesel, Nazwisko, Adres, IdRec, Lek, Data. (NowakBD:
Pacjent(Pesel,Nazwisko,Adres) ∧
Recepta(PESEL,IdRec,Lek,Data) →
CefarmBD: ∃DataSP, Wartość. Sprzedaż(Pesel,Nazwisko,IdRec,Lek,DataSp,Wartość)
Formuła ta specyfikuje sposób aktualizacji danych w aptece zgodnie z aktualizacją
danych w bazie lekarza rodzinnego.
Semantyczna współzależność pomiędzy lokalnymi bazami danych wyrażona jest w
języku deklaratywnym, niezależnym od języków używanych przez te bazy.
Formuły koordynacyjne mogą być użyte na dwa sposoby. Po pierwsze, mogą być użyte
do definiowania ograniczeń, które muszą zostać spełnione przez zbiór relacji. Na przykład,
formuła
∀ 1:x. (1: p(x) ∨ 2:q(x))
39
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
P. Tarłowski, T. Pankowski
w
mówi, że każdy obiekt w bazie danych 1 albo jest w tablicy p albo odpowiadający mu
obiekt w bazie danych 2 jest w tablicy q. W ten sposób można deklarować, że pewne dane
są dostępne w zbiorze baz danych, bez deklaracji gdzie dokładnie. Po drugie, formuły
koordynacyjne mogą być użyte do tworzenia zapytań. W tym przypadku, formuła
koordynacyjne jest interpretowana jako reguła dedukcyjna, która wyprowadza nową
informację opartą na informacji istniejącej w innej bazie danych. Na przykład formuła
∀1: x. (1: ∃y.p(x, y) → 2:q(x))
pozwala nam stwierdzić, że wartość b należy do q, q(b), w bazie 2, jeśli istnieje taka
wartość a w bazie 1, że para (a,b) należy do p, p(a,b), w bazie 1.
Bazy danych w systemach P2P przypominają heterogeniczne rozproszone bazy (tzw.
systemy multi-bazowe). W takich systemach użytkownik wysyła zapytania, które system
dekomponuje na podzapytania. Każde źródło danych ma warstwę osłony (wrapper), która
odwzorowuje podzapytania w jego własny język zapytań. Projektant bazy danych jest
odpowiedzialny za utworzenie schematu i odwzorowania, które definiują jego relacje ze
źródłem danych.
Podobnie jak w większości systemów multi-bazowych, zakłada się, że wszystkie węzły
w sieci P2P posiadają identyczną architekturę, składającą się z warstwy LMR działającej na
lokalnym serwerze danych. Jak pokazuje rys. 1 [2], w skład architektury LMR wchodzą 4
moduły:
− interfejs użytkownika (UI),
− menadżer zapytań (QM),
− menadżer uaktualnień (UM),
− osłona.
UI umożliwia użytkownikom formułowanie zapytań, odbieranie odpowiedzi i
wiadomości z innych węzłów oraz kontrolowanie innych modułów warstwy P2P. QM i
UM są odpowiedzialne za zapytania i propagacje uaktualnień; zarządzają obszarami relacji,
znajomościami, formułami koordynacyjnymi i koordynowaniem reguł. Osłona pośredniczy
w tłumaczeniu pomiędzy QM i UM oraz LBD.
da
.b
w
w
pl
s.
Rys. 1. Architektura węzła LMR
40
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Koordynacja wymiany danych w środowisku P2P
w
Pary komunikują się poprzez QM i UM używając komunikatów XML. Komunikacja
międzymodułowa również odbywa się za pomocą XML (białe strzałki). Ciemna strzałka
reprezentuje połączenia pomiędzy osłoną i LBD.
Przekazywanie zapytań i uaktualnień jest realizowane poprzez kodowanie w zbiorze
reguł koordynacyjnych, które w większości przypadków są wyrażane jako reguły ECA
(Event Condition Action). Reguły koordynacyjne określają kiedy, jak i gdzie zapytanie lub
uaktualnienie musi być przekazane. Pojedyncza formuła może dać w rezultacie kilka reguł.
Chociaż większość architektur jest zmodernizowaną wersją konwencjonalnej multi-bazy,
warstwa P2P wymaga rozwiązania nowych problemów, które są okazją do przyszłych
badań.
− P2P wymaga protokołu dla ustanawiania znajomości w sposób dynamiczny. Taki
protokół może odnajdywać znajomych po nazwie i ustanawiać sesje, a następnie
każdy partner wysyła schematy wymiany.
− Kiedy znajomość zostaje nawiązana, potrzebne są formuły i reguły. Warstwa P2P
powinna oferować automatyczne wsparcie generowania formuł koordynacyjnych.
Powinna także automatycznie (np. za pomocą eksploracji danych) odkrywać
zależności między danymi; jeżeli na przykład wiersze dwóch relacji mają te same
klucze, wtedy wartości odpowiednich kolumn powinny być takie same.
− Dla zapewnienia większej efektywności koordynacji międzywęzłowej, partnerzy
powinni być zdolni do publikowania zawartości swoich danych poprzez podawanie
nazwy i opisu (słów kluczowych albo schematów). Warstwa P2P interpretowałaby tą
informację pomagając użytkownikom tworzyć znajomości i pewnego rodzaju grupy
zainteresowań z innymi partnerami mającymi podobne zawartości.
da
.b
w
w
4 Technologie usług sieciowych
pl
s.
Dla poprawnego wykorzystania P2P, potrzebujemy technologii, która pozwoliłaby w pełni
rozwinąć możliwości tej sieci. Jednym z takich rozwiązań jest architektura SOA (Service
Oriented Architecture), będąca wynikiem wieloletniego dążenia informatyki do
zasadniczego uproszczenia integracji aplikacji.
Pojęcie SOA, czyli architektury opartej na usługach pojawiło się już w latach 80, kiedy
próbowano standaryzować architekturę informatyczną w formie abstrakcyjnego opisu
komunikujących się usług (usługi są w założeniu „samodzielnymi”, możliwymi do
wykorzystania przez różne aplikacje/usługi odpowiednikami podstawowych funkcji
biznesowych). Efektem tych prób była architektura DCOM (Distributed Component Object
Model) zaproponowana przez Microsoft oraz CORBA (Common Object Request Broker
Architecture) opracowana przez organizację OMG (Object Management Group). Okazało
się jednak, że architektury te posiadały wady powodujące ich niezgodność z architekturą
SOA.
Następnie pojawiła się koncepcja usług sieciowych (Web Services). Jest to technologia,
wykorzystująca protokół SOAP (Simple Object Access Protocol) do zdalnego
wywoływania procedur i wymiany danych XML-owych. Web Services określają sposób
katalogowania i wyszukiwania usług za pomocą UDDI (Universal Description, Discovery,
and Integration) oraz definiują interfejs usługi za pomocą WSDL (Web Service Description
Language). Transport w Web Services jest najczęściej realizowany w oparciu o protokół
HTTP, ale mogą do tego celu służyć także asynchroniczne systemy kolejkowe stosowane w
systemach klasy enterprise (MQSeries, MSMQ), oraz protokół pocztowy SMTP. Na tej
podstawie można określić podstawową architekturę usług internetowych (rys. 2).
41
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
P. Tarłowski, T. Pankowski
w
w
Rys. 2. Architektura SOA
da
.b
w
Wykorzystanie standardów w budowie SOA oznacza, że każda usługa jest w sposób
zrozumiały zdefiniowana zarówno dla dostawcy jak i klienta.
pl
s.
Rys. 3. Modelowanie protokołu koordynacyjnego – diagram przejść
Usługa sieciowa jest zwykle odpowiednikiem funkcji biznesowej w typowej aplikacji.
W rozumieniu usług WebService usługa ma formę wyodrębnionego, samodzielnego
komponentu programowego o jasno zdefiniowanej funkcjonalności biznesowej.
Przykładem usługi może być sprawdzenie zapasów surowca w magazynie, wysłanie
zamówienia do poddostawcy, wydrukowanie faktury itp. Usługa jest widziana na zewnątrz
jedynie poprzez swój interfejs, który opisuje, co usługa może zrobić i na jakich warunkach.
42
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Koordynacja wymiany danych w środowisku P2P
w
Wewnętrzna struktura usługi, jej platforma systemowa i aplikacyjna, język
programowania itp. są całkowicie niewidoczne dla świata zewnętrznego. Immanentną
cechą usług sieciowych jest możliwość zmiany interfejsu komunikacji bez dokonywania
zmian w kodzie realizującej ją aplikacji.
Projektując aplikację, musimy uwzględnić potrzebę istnienia protokołu
koordynacyjnego. Jest on niezbędny do interakcji pomiędzy usługami, wymieniającymi
dane i komunikaty (rys. 3).
Ponieważ usługi muszą być zrozumiałe zarówno dla usługodawcy, jak i dla klienta,
potrzebujemy pewnego rodzaju kontrolera pośredniczącego, wykonującego routing
komunikatów i weryfikującego zgodność protokołów dla (generowania) formuł
koordynacyjnych. Kontroler jest odpowiedzialny za przesyłanie komunikatów do
odpowiedniego „obiektu” (jeden obiekt dla każdego przypadku komunikacji), korelowanie
komunikatów, rozumienie protokołu koordynacyjnego i sprawdzanie, czy komunikaty są z
nim zgodne (rys. 4).
da
.b
w
w
Rys. 4. Kontroler pośredniczący
Moduły implementujące protokół koordynacyjny powinny zawierać logikę protokołu oraz
przetwarzać i generować komunikaty zgodnie z regułami protokołu (rys. 5).
pl
s.
Rys. 5. Protokół „poziomy”, definiujący wspólną infrastrukturę (np. transakcje)
43
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
P. Tarłowski, T. Pankowski
5 Podsumowanie
w
W rozdziale opisano problemy związane z wymianą danych między współpracującymi ze
sobą systemami baz danych w środowisku P2P, które odróżniają je od innego rodzaju
rozproszonych baz danych. Po pierwsze, odwzorowanie między bazami danych mają
wyłącznie charakter lokalne – bez globalnego schematu; po drugie – zbiór partnerów
uczestniczących w systemie może podlegać dynamicznym zmianom. Realizacja tego typu
systemów wymaga rozwiązania takich problemów jak ustanawianie konfiguracji między
partnerami oraz określania odwzorowań i formuł koordynacyjnych opisujących
semantyczne zależności między danymi. Zagadnienia te należą do ważnego dziś nurtu
badań nad bazami P2P [1,2] oraz zagadnień semantycznej integracji danych [3,9,10].
Prowadzone przez nas badania nad implementacją tej klasy systemów pokazują, że
wykorzystanie technologii SOA i stosowanie usług sieciowych WebService stanowią dobrą
platformę do tworzenia warstwy realizującej funkcje koordynacji wymiany danych między
aplikacjami (systemami danych) w środowisku P2P.
w
w
Literatura
da
.b
1. Aberer K., Special Topic Section on Peer-To-Peer Data Management, SIGMOD Record, Vol.
32(3), 2003.
2. Bernstein, Ph., i in.: Data Management for Peer-to-Peer Computing: A Vision. 5th Int.
Workshop on the Web and Databases – WebDB 2002, s. 89-94.
3. Bussler Ch., Fensel D., Maedche A., A conceptual architecture for semantic web enabled web
services, SIGMOD Record, Vol. 31, Nr 4, 2002, ss. 24-29.
4. Calvanese, D., Giacomo, G. D., Lenzerini, M., Rosati, R, Logical Foundations of Peer-To-Peer
Data Integration. In Proc. of the 23rd ACM SIGMOD Symposium on Principles of Database
Systems (PODS 2004), ss. 241–251.
5. Connolly T., Begg C.: Systemy baz danych: Praktyczne metody projektowania, implementacji i
zarządzania, Wydawnictwo RM, Warszawa 2004
6. Garcia-Molina H., Ullman J.D., Widom J.: Database system implementation, Prentice-Hall,
2000
7. Kreger H., Fulfilling the Web services promise, Comm. of the ACM, Vol. 46, No 6, 2003, s.
29-34.
8. Pankowski T., A high-level language for specifying XML data transformations, In: ADBIS
2004: Advances in Databases and Information Systems, Lecture Notes in Computer Science,
vol. 3255, Springer-Verlag, pp. 159-172.
9. T. Pankowski, E. Hunt, Data Merging in Life Science Data Integration Systems, W: Intelligent
Information Processing and Web Mining, Seria: Advances in Soft Computing, Springer Verlag,
2005, pp. 279-288.
10. Pankowski T., Integration of XML Data in Peer-To-Peer E-commerce Applications, W :
Challenges of Expanding Internet: E-Commerce, E-Business, and E-Government, IFIP –
International Federation for Information processing, IFIP-I3E, Springer, New York, 2005, pp.
481-496.
11. Pankowski T., Odwzorowania schematów i reformułowanie zapytań w bazach danych P2P,
Technologie Przetwarzania danych, (T. Morzy, H. Rybiński, red.), Wydawnictwo Politechniki
Poznańskiej, Poznań, 2005, ss. 326-338.
12. Pankowski T., Reformułowanie zapytań w systemach integracji danych, Rozdział 9, w: Bazy
danych – modele, technologie, narzędzia, WKŁ, Warszawa, 2005, s. 75-83.
13. Pankowski T., Specifying Schema Mappings for Query Reformulation in Data Integration
Systems, W: Advances in Web Intelligence, Lecture Notes in Computer Science 3528, Springer
Verlag, 2005, pp. 361-366.
pl
s.
44
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Koordynacja wymiany danych w środowisku P2P
14. Sheth, A. P. and Larson, J. A., Federated database systems for managing distributed,
heterogeneous, and autonomous databases. ACM Computing Surveys, 22(3), 1990, ss. 183–
236.
15. Tatarinov, I. and Halevy, A. (2004). Efficient query reformulation in peer data management
systems, ACM SIGMOD Conference, 2004, pp. 539–550.
16. http://www.service-architecture.com
w
da
.b
w
w
pl
s.
45
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
w
da
.b
w
w
pl
s.
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006

Podobne dokumenty