background image

 

 

 

 
 

 

 

P

P

R

R

O

O

J

J

E

E

K

K

T

T

O

O

W

W

A

A

N

N

I

I

E

E

 

 

D

D

O

O

S

S

T

T

Ę

Ę

P

P

U

U

 

 

D

D

O

O

 

 

B

B

A

A

Z

Z

Y

Y

 

 

D

D

A

A

N

N

Y

Y

C

C

H

H

 

 

W

W

A

A

R

R

S

S

T

T

W

W

A

A

 

 

T

T

R

R

W

W

A

A

Ł

Ł

O

O

Ś

Ś

C

C

I

I

 

 

 

Dokument techniczny 

 

 

 

 

 

 

 

 

 

 

 

 

 

background image

Projektowanie warstwy dostę pu do bazy danych. Warstwa trwałości. 

 

Copyright 

 2001 - 2002 POTIS Software Development Tools 

   

2

 

Spis Treś ci 

Architektura aplikacji wykorzystującej bazę danych. ................................ .................... 3

 

Rodzaje warstw dostępu do danych. ................................ ................................ ......... 4

 

Dostęp do danych w klasach biznesowych................................. ................................ .. 5

 

Klasy dostępu do danych. ................................ ................................ ....................... 6

 

Deskryptory odwzorowań. ................................ ................................ ...................... 6

 

Projektowanie warstwy trwałoś ci. ................................ ................................ ............ 7

 

Samodzielne tworzenie warstwy a zakup................................. ................................ ... 7

 

Wymagania. ................................ ................................ ................................ ........ 7

 

Hermetyzacja dostę pu do danych................................. ................................ .............. 8

 

Minimalizacja ograniczeń w stosowaniu technik obiektowo zorientowanych............................. 8

 

Rozszerzalność . ................................ ................................ ................................ .... 8

 

Formułowanie zapytań................................. ................................ ........................... 8

 

Wsparcie dla czę ściowego odczytu................................. ................................ ............. 9

 

Mechanizmy opó źnionego odczytu. ................................ ................................ ............. 9

 

Mechanizmy opó źnionego zapisu. ................................ ................................ ............... 9

 

Ró żne mechanizmy trwałości. ................................ ................................ ................... 9

 

Bazy danych od ró żnych dostawcó w. ................................ ................................ ........... 9

 

Połączenia z wieloma bazami danych w jednej sesji................................. ....................... 10

 

Literatura. ................................ ................................ ................................ ....... 10

 

 

background image

Projektowanie warstwy dostę pu do bazy danych. Warstwa trwałości. 

 

Copyright 

 2001 - 2002 POTIS Software Development Tools 

   

3

 

A

A

r

r

c

c

h

h

i

i

t

t

e

e

k

k

t

t

u

u

r

r

a

a

 

 

a

a

p

p

l

l

i

i

k

k

a

a

c

c

j

j

i

i

 

 

w

w

y

y

k

k

o

o

r

r

z

z

y

y

s

s

t

t

u

u

j

j

ą

ą

c

c

e

e

j

j

 

 

b

b

a

a

z

z

ę

ę

 

 

d

d

a

a

n

n

y

y

c

c

h

h

 

 

Nowoczesne  narzę dzia  programistyczne  umoż liwiają  bardzo  szybkie  zbudowanie  interfejsu 

graficznego,  czerpiącego  dane  z  bazy  relacyjnej.  Elementy  graficzne,  wspó łpracujące  z  bazą 
danych  (data-aware  controls)  ułatwiają  prezentację   i  edycję   danych,  a  komponenty  dostę pu  do 

danych upraszczają kodowanie przetwarzań. Bardzo czę sto za pomocą jednej spó jnej biblioteki klas 

moż na  operować   na  ró żnych  bazach  danych,  troszcząc  się   tylko  o  specyfikę   dialektu  SQL, 

używanego przez tę  czy inną bazę . 

Za pomocą technik RAD moż na bardzo szybko budować  prototypy albo aplikacje jednorazowe, ale 

duże  systemy  szybko  tracą  pielę gnowalność .  W  przypadku  dużych  systemó w  o  długim  cyklu  ż ycia 

stosuje się  zwykle architekturę  tró jwarstwową. 

 

 

Rys 1. Architektura tró jwarstwowa. 

 

System stworzony zgodnie z zasadami tej architektury składa się  z trzech składowych. 

a) 

Pierwsza warstwa jest odpowiedzialna za kontakt z użytkownikiem i zawiera obiekty interfejsu 
graficznego.  Jest  z  natury  bardzo  silnie  związana  z  określonym  środowiskiem 

programistycznym. 

b) 

Druga  warstwa  składa  się   z  obiektó w  związanych  z  dziedziną  problemu,  jest  wię c 
odwzorowaniem modelu poję ciowego, powstałego w wyniku analizy. Składają się  na nią obiekty 

biznesowe,  odwzorowujące  poję cia  z  dziedziny  problemu,  oraz  obiekty  sterujące  –  obiekty 

odpowiedzialne za sterowanie przebiegiem przypadkó w użycia. 

c) 

Trzecia  warstwa  jest  odpowiedzialna  za  dostę p  do  danych.  Ma  zapewniać   spó jny  i  jednolity 
dostę p  do  danych  i  jest  silnie  powiązana  zaró wno  ze  środowiskiem  programistycznym  (albo 

standardem dostę pu np. ODBC lub JDBC), jak i bazą danych. 

Warstwa prezentacji 

Warstwa dziedziny problemu 

Warstwa bazy danych 

background image

Projektowanie warstwy dostę pu do bazy danych. Warstwa trwałości. 

 

Copyright 

 2001 - 2002 POTIS Software Development Tools 

   

4

 

Dobre rozwiązanie w architekturze tró jwarstwowej charakteryzuje się  słabymi związkami, a co za 
tym  idzie  niewielkim  wzajemnym  wpływem  poszczegó lnych  warstw.  Dzię ki  temu  zmiany  w 

schemacie  bazy  danych  są  odzwierciedlane  tylko  w  warstwie  bazy  danych,  a  zmiany  w  sposobie 

prezentacji  nie  wpływają  ani  na  warstwę   dziedziny  problemu,  ani  na  warstwę   bazy  danych. 
Podobnie  zmiany  w  algorytmach  biznesowych  implikują  modyfikacje  wyłącznie  w  warstwie 

dziedziny  problemu.  Najstaranniejsze  rozwiązania  umożliwiają  nawet  zmianę   technologii 

wykorzystywanej  przez  jedną  warstwę   (np.  zmianę   z  okienek  Windows  na  strony  HTML),  bez 

wpływu na pozostałe warstwy. 

Wyprodukowanie  aplikacji  o  architekturze  tró jwarstwowej  jest  bardziej  pracochłonne,  niż  

wykorzystanie wprost technik RAD, i koncepcyjnie trudniejsze, ale daje kilka istotnych korzyści. 

a) 

Zaró wno  projekt,  jak  i  kod  mają  konsekwentną,  łatwą  do  czytania  strukturę .  Każda  warstwa 

jest skoncentrowana na jednym aspekcie, dzię ki czemu jest prosta. Skutkiem tego: 

• 

szansa na zakończenie projektu sukcesem jest wię ksza, 

• 

pielę gnacja produktu jest łatwiejsza. 

b) 

Zmiany  o  charakterze  technologicznym  wymagają  przepisania  tylko  jednej  warstwy,  wię c  są 
realne. 

 

R

R

o

o

d

d

z

z

a

a

j

j

e

e

 

 

w

w

a

a

r

r

s

s

t

t

w

w

 

 

d

d

o

o

s

s

t

t

ę

ę

p

p

u

u

 

 

d

d

o

o

 

 

d

d

a

a

n

n

y

y

c

c

h

h

 

 

Narzę dzia typu RAD nie wspierają architektury tró jwarstwowej. Najłatwiej za ich pomocą tworzyć  

aplikacje składające się  tylko z warstwy prezentacji i warstwy dostę pu do danych. 

 

 

Rys 2. Architektura aplikacji typu RAD. 

 

Takie  rozwiązanie,  jakkolwiek  bardzo  produktywne,  wiąż e  ściśle  sposó b  prezentacji  ze  strukturą 

bazy  danych.  Nawet  drobne  zmiany  w  schemacie  muszą  być   odzwierciedlone  w  interfejsie 

graficznym. Ponieważ nie ma tu miejsca na obiekty biznesowe, pojawiają się  zasadnicze problemy 

z  wykorzystaniem  wynikó w  analizy.  Funkcjonalność   obiektó w  biznesowych  jest  implementowana 
czę ściowo  w  bazie  danych  jako  triggery  i  procedury  składowane,  a  czę ściowo  w  interfejsie 

Warstwa prezentacji 

Warstwa bazy danych 

background image

Projektowanie warstwy dostę pu do bazy danych. Warstwa trwałości. 

 

Copyright 

 2001 - 2002 POTIS Software Development Tools 

   

5

 

graficznym w kodzie obsługi zdarzeń. Bardziej ambitni projektanci wprowadzają obiekty sterujące, 
dzię ki któ rym przebiegi przypadkó w użycia stają się  bardziej czytelne. 

 

 

Rys 3. Aplikacja typu RAD wzbogacona o obiekty sterujące. 

 

Obiekty  sterujące  mogą  też   być   wykorzystane  do  implementowania  funkcjonalności  obiektó w 
biznesowych, dzię ki czemu uzyskujemy pewien substytut pełnej warstwy biznesowej. 

Niestety  problem  powiązania  warstwy  prezentacji  ze  strukturą  bazy  danych  pozostaje 

nierozwiązany. Ró wnież szczątkowa warstwa biznesowa pełna jest zapytań SQL. 

D

D

O

O

S

S

T

T

Ę

Ę

P

P

 

 

D

D

O

O

 

 

D

D

A

A

N

N

Y

Y

C

C

H

H

 

 

W

W

 

 

K

K

L

L

A

A

S

S

A

A

C

C

H

H

 

 

B

B

I

I

Z

Z

N

N

E

E

S

S

O

O

W

W

Y

Y

C

C

H

H

 

 

Najprostszym  sposobem  rozwiązania  problemu  dostę pu  do  bazy  danych  jest  umieszczenie  kodu 

związanego z odczytem i zapisem w klasach biznesowych. 

 

Rys 4. Najprostsze rozwiązanie warstwy dostę pu do danych. 

 

W takim przypadku kod aplikacji powstaje dość  szybko, ale funkcjonalność  obiektó w biznesowych 

zostaje związana ze schematem bazy danych. Zmiany w schemacie bę dą wymagały uwzglę dnienia w 

kodzie warstwy dziedziny problemu. Korzyścią jest to, że warstwa prezentacji i obiekty sterujące 
są wolne od kodu SQL. 

Warstwa prezentacji 

Warstwa bazy danych 

Warstwa obiektó w 

sterujących 

Baza danych 

S

Klasy 
biznesowe 

background image

Projektowanie warstwy dostę pu do bazy danych. Warstwa trwałości. 

 

Copyright 

 2001 - 2002 POTIS Software Development Tools 

   

6

 

 

K

K

L

L

A

A

S

S

Y

Y

 

 

D

D

O

O

S

S

T

T

Ę

Ę

P

P

U

U

 

 

D

D

O

O

 

 

D

D

A

A

N

N

Y

Y

C

C

H

H

 

 

Znacznie  skuteczniejszym  rozwiązaniem  jest  wprowadzenie  klas  zarządzających  odczytem  i 

zapisem. 

 

 

Rys 5. Rozwiązanie z klasami dostę pu do danych. 

 

Odwołania  do  bazy  za  pośrednictwem  SQL  są  zgrupowane  w  warstwie  dostę pu  do  danych,  wię c 

zmiany  w  schemacie  bazy  nie  wpływają  ani  na  warstwę   prezentacji,  ani  na  warstwę   dziedziny 

problemu.  Niestety  bezpośrednio  zakodowany  SQL  wraz  ze  zmianami  schematu  może  wymagać  

dużych modyfikacji. 

D

D

E

E

S

S

K

K

R

R

Y

Y

P

P

T

T

O

O

R

R

Y

Y

 

 

O

O

D

D

W

W

Z

Z

O

O

R

R

O

O

W

W

A

A

Ń

Ń

 

 

 

Rys 6. Warstwa trwałości z deskryptorami odwzorowań. 

 

Najbardziej  zaawansowanym  rozwiązaniem  jest  warstwa  trwałości  bez  rę cznie  wprowadzonego 

kodu SQL Taka warstwa zawiera opisy odwzorowań pomię dzy klasami biznesowymi i tabelami bazy 
relacyjnej  i  generuje  kod  SQL  na  ich  podstawie.  Pisanie  kodu  transformującego  jest  znacznie 

łatwiejsze, niż w dwó ch poprzednich przypadkach (ze wzglę du na jego deklaratywny charakter), a 

wszelkie  zmiany  w  schemacie  bazy  mogą  być   łatwo  uwzglę dniane.  W  szczegó lnych  przypadkach 
opisy  odwzorowań  mogą  być   przechowywane  w  zewnę trznych  plikach,  zwykle  stosuje  się   do tego 

Baza danych 

S

Klasy 
biznesowe 

Klasy 
dostę pu do 
danych 

Klasy 
biznesowe 

Baza danych 

Warstwa 

trwałości z 

deskryptorami 

odwzorowań 

S

background image

Projektowanie warstwy dostę pu do bazy danych. Warstwa trwałości. 

 

Copyright 

 2001 - 2002 POTIS Software Development Tools 

   

7

 

format  XML.  Narzę dzia  komercyjne,  takie  jak  TopLink  oferują  wygodne  edytory  odwzorowań 
(Mapping WorkBench). 

 

P

P

r

r

o

o

j

j

e

e

k

k

t

t

o

o

w

w

a

a

n

n

i

i

e

e

 

 

w

w

a

a

r

r

s

s

t

t

w

w

y

y

 

 

t

t

r

r

w

w

a

a

ł

ł

o

o

ś

ś

c

c

i

i

 

 

S

S

A

A

M

M

O

O

D

D

Z

Z

I

I

E

E

L

L

N

N

E

E

 

 

T

T

W

W

O

O

R

R

Z

Z

E

E

N

N

I

I

E

E

 

 

W

W

A

A

R

R

S

S

T

T

W

W

Y

Y

 

 

A

A

 

 

Z

Z

A

A

K

K

U

U

P

P

 

 

Zbudowanie  dobrej  warstwy  trwałości  jest  trudnym  zadaniem.  Niemniej  trudne  jest  jej 

pielę gnowanie.  Ponieważ  ma  ona stanowić  tylko oprogramowanie narzę dziowe, zwykle nie bę dzie 
tak rozwinię ta jak produkty komercyjne. Ponadto samodzielne stworzenie warstwy stanowi pewne 

ryzyko.  Biorąc  to  wszystko  pod  uwagę   warto  sprawdzić ,  czy  nie  dałoby  się   kupić   narzę dzia  do 

tworzenia warstwy trwałości. Na rynku jest dość  dużo tego typu produktó w działających w ję zyku 

Java, np.: 

 

• 

VBSF (Object Matter), 

• 

Blend (Sun Microsystems), 

• 

TopLink (WebGain)

oraz produkty public domain, jak np.: 

• 

Osage, 

• 

Castor. 

 

Warto jednak najpierw zorientować  się , czego oczekujemy od warstwy. 
 

W

W

Y

Y

M

M

A

A

G

G

A

A

N

N

I

I

A

A

 

 

Przed  przystąpieniem  do  projektu  należ y  określić   potrzeby, któ re  ma spełniać   warstwa  trwałości. 

Oczywiście waż ne jest,  żeby projekt nie przekraczał możliwości zespołu, budżetu itd. Wymagania 

powinny być  na tyle duże, żeby zaspokajać  oczekiwania użytkownikó w warstwy, ale na tyle małe, 
żeby twó rcy byli w stanie ją dostarczyć  w wyznaczonym czasie. Ró ż ne typy aplikacji stawiają inne 

wymagania  warstwie  trwałości.  Dla  aplikacji  związanych  z  prowadzeniem  przedsię biorstwa  waż na 

bę dzie  łatwość   wprowadzania  zmian  w  warstwie  dziedziny  problemu,  podczas  gdy  w  przypadku 
repozytorió w narzę dzi CASE istotniejsze bę dzie dobre rozwiązanie przetwarzania złożonych struktur 

danych.  Niektó re systemy  muszą  być  tworzone  z  założeniem,  że  każ de wdroż enie  moż e wymagać  
użycia innej bazy danych, w innych przypadkach wiadomo, ż e bę dzie to jedna baza i nigdy się  nie 

zmieni. Dlatego też poniższa lista zawiera możliwie duż y zbió r wymagań, czę sto ze wskazó wkami, 

kiedy mogą być  istotne. W niektó rych przypadkach podany jest rodzaj wymagania z listą rozwiązań 
do wyboru. 

 

background image

Projektowanie warstwy dostę pu do bazy danych. Warstwa trwałości. 

 

Copyright 

 2001 - 2002 POTIS Software Development Tools 

   

8

 

H

H

e

e

r

r

m

m

e

e

t

t

y

y

z

z

a

a

c

c

j

j

a

a

 

 

d

d

o

o

s

s

t

t

ę

ę

p

p

u

u

 

 

d

d

o

o

 

 

d

d

a

a

n

n

y

y

c

c

h

h

 

 

Podstawowym  zadaniem  warstwy  trwałości  jest  ukrycie  przed  pozostałymi  warstwami 

szczegó łó w  dotyczących  dostę pu  do  danych.  W  zależności  od  stopnia  złożoności 
tworzonego  oprogramowania  wymagania  związane  z  hermetyzacją  dostę pu  mogą  być  

ró żne.  

a)  W  najprostszym  przypadku  hermetyzacja  polega  na  tym, że  użytkownik  warstwy 

wywołuje tylko metody obiektó w trwałych RetrieveSaveDelete. Nie zna ani 

położenia fizycznych danych, ani sposobu zapisu. 

b)  Bardziej  ambitne  rozwiązanie  to  hermetyzacja  rozumiana  jako  przezroczystość

Użytkownik takiej warstwy nie wie nawet, kiedy i czy w ogó le coś zapisuje, bądź 

odczytuje.  Oczywiście  pełna  przezroczystość   jest  nieosiągalna  ze  wzglę du  na 
wielodostę p  (a  wię c  transakcje,  blokowanie  danych,  odświeżanie),  ale  można 

uzyskać  dobre przybliżenie. W moim odczuciu wystarczającym przybliżeniem jest 
przezroczystość  algorytmiczna,  w  przypadku,  któ rej  w  kodzie  związanym  z 

dziedziną  problemu  pojawiają  się   pewne  elementy  dotyczące  bazy  danych,  ale 

nie wpływają na przebieg algorytmó w. 

 

M

M

i

i

n

n

i

i

m

m

a

a

l

l

i

i

z

z

a

a

c

c

j

j

a

a

 

 

o

o

g

g

r

r

a

a

n

n

i

i

c

c

z

z

e

e

ń

ń

 

 

w

w

 

 

s

s

t

t

o

o

s

s

o

o

w

w

a

a

n

n

i

i

u

u

 

 

t

t

e

e

c

c

h

h

n

n

i

i

k

k

 

 

o

o

b

b

i

i

e

e

k

k

t

t

o

o

w

w

o

o

 

 

z

z

o

o

r

r

i

i

e

e

n

n

t

t

o

o

w

w

a

a

n

n

y

y

c

c

h

h

 

 

Oprogramowanie  realizujące  warstwę   dostę pu  do  danych  nie  powinno  zmuszać   do 

dostosowywania  obiektó w  biznesowych  do  potrzeb  relacyjnej  bazy  danych,  zwłaszcza, 
jeśli chodzi o dziedziczenie i związki. 

 

R

R

o

o

z

z

s

s

z

z

e

e

r

r

z

z

a

a

l

l

n

n

o

o

ś

ś

ć

ć

 

 

Warstwa trwałości powinna być  tak skonstruowana, żeby łatwo było dodawać  nowe klasy 

do mechanizmu trwałości. Poziom rozszerzalności zależy w zasadzie od rodzaju warstwy 
trwałości. W przypadku warstwy dostę pu z deskryptorami odwzorowań wystarczy dopisać  

odpowiednie deskryptory. 

F

F

o

o

r

r

m

m

u

u

ł

ł

o

o

w

w

a

a

n

n

i

i

e

e

 

 

z

z

a

a

p

p

y

y

t

t

a

a

ń

ń

 

 

Warstwa  powinna  umożliwiać   zadawanie  pytań,  i  to  nie  bezpośrednio  w  SQL,  tylko  w 
kategoriach obiektó w. W zależności od tworzonego systemu mogą być  potrzebne proste 

zapytania  o  wartości  atrybutó w,  albo  bardzo  złożone  z  odwołaniem  do  obiektó w 

powiązanych,  z  operatorami  sprawdzania,  czy  element  należy  do  kolekcji  itd.  W 

ekstremalnym  przypadku  może  wystąpić   potrzeba  zaimplementowania  OQL.  Dobrze 

background image

Projektowanie warstwy dostę pu do bazy danych. Warstwa trwałości. 

 

Copyright 

 2001 - 2002 POTIS Software Development Tools 

   

9

 

byłoby  uwzglę dnić   możliwość   formułowania  podzapytań  na  kolekcjach,  zwłaszcza  na 
rolach. 

Głó wna  trudność   polega  jednak  na  tym,  ż e  trzeba  wprowadzić   mechanizm 
przeszukiwania pod kątem zapytania obiektó w znajdujących się  w pamię ci operacyjnej. 

 

W

W

s

s

p

p

a

a

r

r

c

c

i

i

e

e

 

 

d

d

l

l

a

a

 

 

c

c

z

z

ę

ę

ś

ś

c

c

i

i

o

o

w

w

e

e

g

g

o

o

 

 

o

o

d

d

c

c

z

z

y

y

t

t

u

u

 

 

Dość  czę sto się  zdarza, że nie chcemy odczytywać  wszystkich atrybutó w obiektu, a tylko 

takie,  któ re  mają  być   w  danym  momencie  wyświetlone.  W  przypadku  duż ych  zapytań 
taki  czę ściowy  odczyt  moż e  dać   duży  zysk  czasowy  i  zmniejszyć   zapotrzebowanie  na 

pamię ć . 
 

M

M

e

e

c

c

h

h

a

a

n

n

i

i

z

z

m

m

y

y

 

 

o

o

p

p

ó

ó

ź

ź

n

n

i

i

o

o

n

n

e

e

g

g

o

o

 

 

o

o

d

d

c

c

z

z

y

y

t

t

u

u

 

 

Podczas  odczytywania  obiektu  trwałego  odczytywanie  obiektó w  powiązanych  z  nim 

powinno  być   opcjonalne.  Żeby  można  było  odczytać   je  pó źniej  trzeba  znaleźć   jakiś 

sposó b na reprezentowanie ró l. 
 

M

M

e

e

c

c

h

h

a

a

n

n

i

i

z

z

m

m

y

y

 

 

o

o

p

p

ó

ó

ź

ź

n

n

i

i

o

o

n

n

e

e

g

g

o

o

 

 

z

z

a

a

p

p

i

i

s

s

u

u

 

 

W przypadku, gdy obiekty trwałe są zapisywane jawnie, przez wywołanie metody Save

algorytmy  w  warstwie  biznesowej  zależą  od  kolejności  zapisu.  Aby  zapobiec  tego 

rodzaju wpływowi należy zapisywać  obiekty trwałe w jednym kroku. 

 

R

R

ó

ó

ż

ż

n

n

e

e

 

 

m

m

e

e

c

c

h

h

a

a

n

n

i

i

z

z

m

m

y

y

 

 

t

t

r

r

w

w

a

a

ł

ł

o

o

ś

ś

c

c

i

i

 

 

W  pewnych  sytuacjach  moż e  zachodzić   potrzeba  zapisywania  obiektó w  trwałych  w 
bardzo  ró żnorodny  sposó b.  Nie  tylko  w  bazach  relacyjnych,  ale  w  obiektowo-

relacyjnych, obiektowych, w plikach tekstowych, plikach ISAM lub VSAM itd. 
 

 

B

B

a

a

z

z

y

y

 

 

d

d

a

a

n

n

y

y

c

c

h

h

 

 

o

o

d

d

 

 

r

r

ó

ó

ż

ż

n

n

y

y

c

c

h

h

 

 

d

d

o

o

s

s

t

t

a

a

w

w

c

c

ó

ó

w

w

 

 

Ró żne  bazy  relacyjne  stosują  ró żne  dialekty  SQL.  Bardzo  czę sto  konstrukcje  w  jednej 

bazie  optymalne,  w  innej  są  bardzo  nieefektywne.  Jeśli  tworzony  system  ma  działać  
skutecznie z ró żnymi bazami danych, trzeba to uwzglę dnić  odpowiednio wcześnie. 

 

background image

Projektowanie warstwy dostę pu do bazy danych. Warstwa trwałości. 

 

Copyright 

 2001 - 2002 POTIS Software Development Tools 

   

10

 

P

P

o

o

ł

ł

ą

ą

c

c

z

z

e

e

n

n

i

i

a

a

 

 

z

z

 

 

w

w

i

i

e

e

l

l

o

o

m

m

a

a

 

 

b

b

a

a

z

z

a

a

m

m

i

i

 

 

d

d

a

a

n

n

y

y

c

c

h

h

 

 

w

w

 

 

j

j

e

e

d

d

n

n

e

e

j

j

 

 

s

s

e

e

s

s

j

j

i

i

 

 

Wię kszość  organizacji posiada wię cej niż jedną bazę  danych, bardzo czę sto poszczegó lne 

bazy  danych  są  od  ró żnych  dostawcó w.  Dobra  warstwa  trwałości  powinna  umożliwiać  
obsługiwanie wielu połączeń na raz. 

 

L

L

i

i

t

t

e

e

r

r

a

a

t

t

u

u

r

r

a

a

 

 

• 

Jacobson I, Object Oriented Software Engineering, A Use Case Driven Approach, Addison-
Wesley 1994. 

• 

Ambler S.W, The Design of a Robust Persistence Layer For Relational Databases, 

http://www.AmbySoft.com/persistenceLayer.pdf

• 

Keller W, Object-Relational Access Layers, 

http://ourworld.compuserve.com/homepages/WolfgangWKeller