Obiektowe modelowanie systemów informatycznych



Pobieranie 8,01 Mb.
Strona6/113
Data23.10.2017
Rozmiar8,01 Mb.
1   2   3   4   5   6   7   8   9   ...   113

Standardy obiektowe OMG


Obecnie zakłada się, że systemy obiektowych baz danych działają na komputerach z obiektowymi systemami operacyjnymi i współpracują z obiektowymi językami programowania. W niedalekiej przyszłości wszystkie systemy obliczeniowe będą systemami rozproszonymi, opartymi na architekturze klient – serwer. Wobec rosnącego znaczenia technologii obiektowej Obiect Management Group (OMG), duże konsorcjum przemysłowe w kierunku określenia standardów, skupił swoje działanie w dwóch obszarach: obiektowości i systemach rozproszonych. Oba obszary są traktowane jako zasadnicze dla przyszłego rozwoju przetwarzania informacji. Systemy obiektowych baz danych są skojarzone z systemami obiektowymi i systemami rozproszonymi, dlatego w ramach OMG była stworzona podgrupa ODMG, która zaproponowała standard systemów obiektowych baz danych.

Standard obiektowych baz danych ODMG 2.0


ODMG(Obiect Database Management Group) to jest organizacja utworzona przez firmy rozwijające obiektowe bazy danych. Ta organizacja stawi sobie cel określenie standardów w dziedzinie obiektowych baz danych. Podstawą standardów obiektowych baz danych są ramowa architektura OSZBD, opracowana przez ODMG. Ta architektura wyznaczy ogólną ramową budowę systemu oprogramowania, który określa składowe, powiązania pomiędzy składowymi, wzajemne interakcje oraz przepływ informacji. Schemat tej architektury jest pokazany na rys. 17

Rys. 17


Architektura ODMG 2.0 realizuje jednopoziomowy model przechowywania danych(rys. 18).

Ten model nie potrzebuje przekształcenia formatu danych pamięci zewnętrznej do formatu danych w pamięci operatywnej. Dostęp do BD jest realizowany tylko z poziomu działającego programu użytkownika oraz nie jest potrzebne przekształcenie danych otrzymanych z pamięci zewnętrznej. Ten program jest stworzony przez konsolidację kodów obiektowego języka programowania, „Runtime”-procedur biblioteki klas OSZBD, Runtime procedur biblioteki klas języka programowania. Obiekty w bazie danych są przechowywane nie w tabelach relacyjnych, lecz bezpośrednio na dysku, zgodnie z ich OID.


Rys.18


Standard ODMG definiuje następujące części realizujące założenia obiektowej architektury BD:

  1. Model obiektowy. Precyzuje znaczenie podstawowych pojęć obiektowości, takich jak obiekty, klasy, metody, dziedziczenie, hermetyzacja. Ustala również podstawowe założenia dotyczące struktur danych przechowywanych przez system. Takimi strukturami są obiekty, atrybuty i związki (relationships). Klasy obiektów podlegają dziedziczeniu i hermetyzacji. ODMG wprowadza także pojęcie literału, czyli wartości, której nie można modyfikować. Istotnym założeniem modelu obiektowego ODMG jest mocna kontrola typów oraz pełna dowolność w zakresie kombinacji konstruktorów typów masowych(kolekcji), takich jak zbiór, wielozbiór, sekwencja i tablica dynamiczna.

W terminologii ODMG wielozbiór (multiset, bag) to jest jeden z konstruktorów typów klas. Wartość typu wielozbiór można dowolnie zwiększać o nowe elementy, lub usuwać elementy w niej zawarte. Porządek elementów nie ma znaczenia. W odróżnieniu od zbioru, wielozbiór może zawierać identyczne elementy, np. {1,3,3,6,3,1} jest wielozbiorem zawierającym 6 elementów, w tym dwie jedynki, trzy trójki i szóstkę. Taki wielozbiór jest równoważny np. {6,3,3,3,1,1}, ale nie jest równoważny wielozbiorowi {1,3,6}.

Sekwencja (sequence) to jest także konstruktor typów klas. Obiekt typu „sekwencja” jest kontenerom zawierającym wiele elementów. Wartość typu „sekwencja” może być dowolne rozszerzona o nowe elementy oraz można w niej usunąć elementy istniejące. W odróżnieniu od zbioru i wielozbioru, porządek elementów w sekwencji ma znaczenie i jest wykorzystywany przez niektóre operatory, np. DajPierwszy, DajNastępny, DajOstatni, itp.

Tablica dynamiczna to jest kolekcja czyli konstruktor typów masowych. Tablica dynamiczna jest podobna do sekwencji, z możliwością dowolnego rozszerzania na końcu oraz z dostępem poprzez indeks wiersza tablicy.

Założenia modelu obiektowego ODMG umożliwia tworzenie obiektów o dowolnej liczbie poziomów hierarchii oraz o dowolnej złożoności. Model obiektowy ODMG jest rozszerzeniem modelu OMG CORBA.



  1. Język definicji obiektów ODL (Object Definition Language). Jest wzorowany na języku IDL wg OMG CORBA. Projektant bazy danych opisuje w ODL jej strukturę. Jest to niezbędne zarówno do rozumienia znaczenia danych , jak i sposobu, w jaki są one odwzorowane w zapamiętane struktury. Schemat w ODL specyfikuje przechowywane dane na pewnym poziomie abstrakcji poprzez podanie ich typów, klas i metod, przyjmując, że tę funkcję będą skutecznie pełnić związane z nim obiektowe języki programowania (C++, Smalltalk i Java).

  2. Format wymiany obiektów. Ustała reprezentację obiektów przy ich wymianie pomiędzy różnymi systemami zarządzania bazą danych.

  3. Język zapytań OQL (Obiect Query Language). Jest przeznaczony do wyszukiwania danych w celu ich dalszego przetwarzania lub wyprowadzenia na zewnątrz. W odróżnieniu od SQL, OQL nie zajmuje się operacjami aktualizacyjnymi, oddelegowując je do języków programowania. OQL jest językiem o wysokim poziomie abstrakcji, deklaracyjnym (określa cel wyszukiwania, a nie akcje prowadzących do tego celu, makroskopowym (równolegle działanie na wielu obiektach) i naturalnym dla użytkowników.

  4. Wiązanie do języka C++. Określa zasady połączenia ODL i OQL z językiem C++ oraz specyfikuje zestaw klas (interfejsów) umożliwiających takie połączenie. C++ jest językiem bardzo popularnym. Wadą tego języka jest wykorzystywanie cech niskiego poziomu – arytmetyki wskaźników. Wskaźnik to jest identyfikator obiektu, adres dyskowy, adres w pamięci operatywnej, który może być użyty przez kod programu jako wartość zmiennej lub atrybutu. Wskaźniki są podstawowym sposobem implementacji powiązań asocjacyjnych pomiędzy obiektami. Wskaźniki zaimplementowane w C++ wykorzystują fizyczne adresy pamięci, a nie odwołania do danych lub obiektów w sposób logiczny. To uzależni realizację aplikacji obiektowej od platformy komputerowej, oraz powoduje możliwość niebezpiecznych intencji programu w przypadkach naruszenia mechanizmów adresacji. Dlatego wskaźniki mogą być przyczyną poważnych błędów.

  5. Wiązania do języków Smalltalk i Java. W języku JAVA termin „wskaźnik” jest zastąpiony terminem „referencja”. Referencja to jest identyfikator obiektu używany przez program. W odróżnieniu od wskaźnika prowadzi nie do adresu w pamięci, lecz do danej lub obiektu. Wiązania do języków Smalltalk i Java mają założenia podobne do wiązania do C++. W odróżnieniu od C++ występują inne ograniczenia. Smalltalk i Java nie mają wielodziedziczenia, co wymaga okrojenia modelu obiektowego i ODL.

Standard ODMG 2.0 wykazuje wady, w związku z czym nie został w pełny sposób zaimplementowany w żadnym systemu obiektowym.


1   2   3   4   5   6   7   8   9   ...   113


©operacji.org 2017
wyślij wiadomość

    Strona główna