Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

K.Subieta. SSR, Wykład 1, Folia 1 luty 2009 Standardy w zakresie systemów rozproszonych i baz danych Kazimierz Subieta Polsko-Japońska Wyższa Szkoła Technik.

Podobne prezentacje


Prezentacja na temat: "K.Subieta. SSR, Wykład 1, Folia 1 luty 2009 Standardy w zakresie systemów rozproszonych i baz danych Kazimierz Subieta Polsko-Japońska Wyższa Szkoła Technik."— Zapis prezentacji:

1 K.Subieta. SSR, Wykład 1, Folia 1 luty 2009 Standardy w zakresie systemów rozproszonych i baz danych Kazimierz Subieta Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa Wykład 1: Wprowadzenie do OMG CORBA

2 K.Subieta. SSR, Wykład 1, Folia 2 luty 2009 Terminologia, pojęcia, literatura Niniejsza prezentacja nie obejmuje wielu cech OMG CORBA. Wyjaśnienie wielu terminów z zakresu obiektowości, które wystąpią w tej prezentacji, znajduje się w: K. Subieta: Słownik terminów z zakresu obiektowości Akademicka Oficyna Wydawnicza PLJ, Warszawa Dokumentacja: + ogromna ilość materiałów pochodnych G.M. Doss, CORBA networking with Java M. Henning, S. Vinoski, Advanced CORBA programming with C++ U. Lang, R. Schreiner, Developing secure distributed systems with CORBA Literatura:

3 K.Subieta. SSR, Wykład 1, Folia 3 luty 2009 Problem: heterogeniczność Heterogeniczność jest nieodłączną cechą sieci komputerowych i rozproszonych aplikacji.Jest to cecha Internetu, Intranetu, WWW, syst. przepływu prac, rozproszonych baz danych. Np. system Intranetowy może składać się z różnorodnego sprzętu... - komputerów klasy mainframe - stacji roboczych UNIX - komputerów PC pracujących pod MS Windows - komputerów Apple Macintosh - central telefonicznych - robotów, zautomatyzowanych linii produkcyjnych...włączać różnorodne protokoły komunikacyjne Ethernet - FDDI - ATM - TCP/IP - Novell Netware - różnorodne systemy oparte na RPC (Remote Procedure Call)...oraz wymieniać pomiędzy sobą zróżnicowane zasoby informacyjne (dane).

4 K.Subieta. SSR, Wykład 1, Folia 4 luty 2009 Inżynierskie kompromisy Rzadko się zdarza, aby było jedno akceptowalne rozwiązanie dla złożonego problemu. Różni ludzie najczęściej znajdują różne rozwiązania dla podobnych problemów. Integracja tych rozwiązań prowadzi do heterogeniczności. Efektywność finansowa Dostawcy oferują rożne produkty w różnych cenach. Klienci kupują te produkty zgodnie ze swoim najlepszym wyczuciem spełnienia zadanych wymagań oraz zminimalizowania kosztów. Systemy spadkowe (legacy) Systemy, które dawno zostały wdrożone dawno i działają efektywnie nie mogą być z tego działania wyłączone. Nie jest możliwe lub jest bardzo kosztowne szybkie zastąpienie ich przez nowe systemy. Muszą one jednak byæ integrowane z nowszymi systemami. Np. efektywnie działający od 15-tu lat system zamówień jest krytyczny dla codziennej działalności danej organizacji. Przyczyny heterogeniczności

5 K.Subieta. SSR, Wykład 1, Folia 5 luty 2009 Współdziałanie (interoperacyjność) n Dziedzina zajmująca się umożliwieniem współpracy niezależnie zbudowanych (heterogenicznych) systemów, szczególnie w sieciach komputerowych. n Spośród ogromnej liczby aspektów związanych z tym pojęciem można wyróżnić następujące: –Budowa otwartych systemów operacyjnych; podtrzymywanie przez te systemy odległego wołania procedur (remote procedure calls, RPC) –Adaptacja/wykorzystanie starszego oprogramowania przez nowsze systemy (legacy applications) –Budowa wspólnego obrazu danych (wizji danych), oraz wspólnego języka dostępu i manipulacji danymi dla heterogenicznego zbioru baz danych. –Dostęp do obcych baz danych z danego systemu zarządzania bazą danych. –Automatyczna translacja programów. –Opracowanie różnorodnych standardów: SQL, ODMG, ODBC, JDBC, itd. interoperability

6 K.Subieta. SSR, Wykład 1, Folia 6 luty 2009 Przenaszalność n Własność języka programowania umożliwiająca przenoszenie programów napisanych w tym języku na różne platformy. n Przenaszalność wymaga precyzyjnego wyspecyfikowania składni i semantyki języka, oraz wyeliminowania z niego wszelkich własności specyficznych dla poszczególnych platform. n Przenaszalność jest podstawowym celem standaryzacji, ale wiele standardów nie spełnia tego kryterium. n Przenaszalność jest celem standardów OMG CORBA oraz ODMG, ale jak dotąd jest to życzenie, a nie realnie osiągnięta własność. n Przenaszalność realizuje język Java, który nie jest kompilowany do poziomu sprzętowego, a do poziomu abstrakcyjnej maszyny. –Ale przenaszalność w Java dotyczy tylko czystej Javy. –Jakiekolwiek odwołania do zewnętrza mogą czynić program nieprzenaszalnym portability

7 K.Subieta. SSR, Wykład 1, Folia 7 luty 2009 Object Management Group Konsorcjum programistyczne utworzone w 1989 r. Zajmuje się rozwojem, adaptacją i promowaniem standardów dla rozwijania i rozprzestrzeniania aplikacji w środowiskach heterogenicznych i rozproszonych. Skupia ok. 800 czołowych firm rozwojowych, producentów i dostawców oprogramowania oraz użytkowników. Technika działania: RFP (Request For Proposal): zapytania odnośnie konkretnych tematów wysyłane przez komitety OMG do wszystkich członków. Członkowie (aktywni w danej sprawie) nadsyłają swoje propozycje. Integracja propozycji następuje wewnątrz komitetów na zasadzie głosowania. Rezultat działalności: OMA (Object Management Architecture), której najważniejszym składnikiem jest CORBA (Common Object Request Broker Architecture) OMA (Object Management Architecture), której najważniejszym składnikiem jest CORBA (Common Object Request Broker Architecture) Co to jest OMG? OMG oferuje wiele innych standardów, w tym UML, MDA, MOF, XMI, CWM, oraz prowadzi prace nad nowymi, w tym nad obiektowymi bazami danych

8 K.Subieta. SSR, Wykład 1, Folia 8 luty 2009 Misja OMG Opracowanie jednorodnej architektury z użyciem technologii obiektowej, mającej na celu integrację rozproszonych aplikacji, która zapewniałaby: ponowne użycie komponentów oprogramowania i danych współdziałanie i przenaszalność podstawy rynku kompatybilnego oprogramowania OMG skupia się na szybkim rozwoju łatwych w użyciu (dostępnych na półce) standardowych komponentów.

9 K.Subieta. SSR, Wykład 1, Folia 9 luty 2009 Zgodność z logiką biznesu (obiekty biznesowe mogą być bezpośrednio zaimplementowane jako obiekty CORBA) Skalowalność aplikacji: mała zależność czasu reakcji systemu od zwiększenia ilości danych, liczby użytkowników, liczby węzłów. Dekompozycja aplikacji na małe elementy wykonawcze (obiekty, metody,...) Przyrostowe dodawanie/odejmowanie funkcjonalności (płacę tylko za to, czego używam) Podział zasobów i zbalansowanie obciążeń Współbieżność i asynchroniczne przetwarzanie Zalety rozproszonych obiektów

10 K.Subieta. SSR, Wykład 1, Folia 10 luty 2009 Jednorodna terminologia dla modelu obiektowego Jedna, zuniformizowana perspektywa danych dla całego rozproszonego, heterogenicznego systemu Zachowanie autonomii lokalnych systemów Wspólna abstrakcyjna rama koncepcyjna Wspólny model odwoływania się do danych i usług Wspólne interfejsy i protokóły Podstawą integracji modelu są kluczowe cechy obiektowości, takie jak obiekty, klasy (interfejsy), metody (operacje), hermetyzacja, polimorfizm i dziedziczenie Koncepcja OMG

11 K.Subieta. SSR, Wykład 1, Folia 11 luty 2009 Andersen APM Apple ASCII AT&T Bell Nothern Borland Bull CA CI Labs Data Access Digital EDS Expertsoft Fujitsu Genesis HP HyperDesk ICL Informix Intel IntelliCorp IBM Micro Focus Microsoft MITRE NeXT Novell Object Design Object Tech.Intl Oracle OSF ParcPlace POSC Siemens Nixdorf Software AG Sun Microsyst. Sybase Symantec Taligent Telefonica I+D Tivoli TRW Unisys Xerox Od 2006 roku PJWSTK jest członkiem OMG * Jako jedyna instytucja w Polsce Istnieje wiele produktów i aplikacji opartych o standard CORBA. * Szacunkowo ok. 7 milionów * Praktycznie każdy miesiąc przynosi informację o nowym produkcie. Microsoft należy do OMG, ale konkuruje z tym ciałem i nie uczestniczy w pracach OMG: Czołowi partnerzy

12 K.Subieta. SSR, Wykład 1, Folia 12 luty 2009 Konkurencja dla CORBA n RMI (Remote Method Invocation) + Java Beans –Technologia związana wyłącznie z językiem Java, więc nie nadaje się dla aplikacji pisanych w innych językach. n Web Services – podobna idea, ale wszystko odbywa się na bazie prostego protokołu SOAP opartego na XML –Reklamowane jako prostsze od CORBA, ale na dzisiaj wcale nie jest to pewne n ESB (Enterprise Service Bus) – technologia związana z Web Services, zajmująca się komunikacją i kolejkowaniem komunikacji pomiędzy serwisami n Sieci P2P – ograniczone zastosowania biznesowe ze względu na ograniczoną funkcjonalność i bezpieczeństwo n Wirtualne repozytoria – technologia, która jeszcze nie wyszła z fazy laboratoryjnej.

13 K.Subieta. SSR, Wykład 1, Folia 13 luty 2009 OMA: ogólna architektura Obiekty Aplikacyjne Object Request Broker (Pośrednik Zapotrzebowania na Obiekty) Wspólne Usługi Obiektowe (Usługi CORBA) WspółbieżnośćNazwowa Własności Cykl życiowyTrwałośćHandlowa Ochrona Kolekcje Dostęp zewnętrznyZwiązkiZapytaniaTransakcje ZdarzeniaStartupLicencje Czas Wspólne udogodnienia (Udogodnienia CORBA) Wspólne udogodnienia pionowe (dziedzinowe) Wspólne udogodnienia poziome Rozproszone dokumenty Zarządzanie informacją Zarządzanie systemem Zarządzanie zadaniami Medycyna Finanse Rachunkowość.....

14 K.Subieta. SSR, Wykład 1, Folia 14 luty 2009 OMA { Model obiektów (opis obiektów rozproszonych w sieci komputerowej) Model referencji (interakcja pomiędzy obiektami) Model obiektów OMA: Obiekt jest hermetyzowanym bytem z unikalną niezmienialną tożsamością. Obsługa obiektów może odbywać się wyłącznie poprzez dobrze zdefiniowane interfejsy. Klienci wysyłają zlecenia do obiektów, które wykonują odpowiednie usługi. Implementacja i lokacja obiektów jest dla klienta ukryta. OMA: Architektura Zarządzania Obiektami Object Management Architecture

15 K.Subieta. SSR, Wykład 1, Folia 15 luty 2009 Udogodnienia pionowe Rachunkowość Rozwijanie aplikacji Wytwarzanie wsp. komp. Finanse Rozproszona symulacja Wizualizacja Informatyczne autostrady Mapy wsp.komp. Produkcja i ekspl. ropy i gazu Instytucje ochrony Telekomunikacja Medycyna... Rachunkowość Rozwijanie aplikacji Wytwarzanie wsp. komp. Finanse Rozproszona symulacja Wizualizacja Informatyczne autostrady Mapy wsp.komp. Produkcja i ekspl. ropy i gazu Instytucje ochrony Telekomunikacja Medycyna... Udogodnienia poziome Interfejsy użytkownika Zarządzanie informacją Zarządzanie systemem Zarządzanie jakością Planowanie Zarządzanie zadaniami Przepływy pracy Zarządz. bezpieczeństwem... Interfejsy użytkownika Zarządzanie informacją Zarządzanie systemem Zarządzanie jakością Planowanie Zarządzanie zadaniami Przepływy pracy Zarządz. bezpieczeństwem... Usługi CORBA Współbieżność Zdarzenia Dostęp z zewnątrz Cykl życiowy Nazwowa Trwałość Zapytania Związki Transakcje Licencje Prawa własności Bezpieczeństwo Temporalność Zarządzanie zmianami Kolekcje danych Wymiana danych Replikacje Obrót skł. oprogr. Współbieżność Zdarzenia Dostęp z zewnątrz Cykl życiowy Nazwowa Trwałość Zapytania Związki Transakcje Licencje Prawa własności Bezpieczeństwo Temporalność Zarządzanie zmianami Kolekcje danych Wymiana danych Replikacje Obrót skł. oprogr. Usługi i udogodnienia standardu CORBA

16 K.Subieta. SSR, Wykład 1, Folia 16 luty 2009 Są to interfejsy niezależne od dziedziny, które mogą być używane przez wiele systemów rozproszonych obiektów. Np. usługa polegająca na rozpoznaniu wszystkich istniejących w systemie usług jest potrzebna niezależnie od dziedziny aplikacyjnej. Są to interfejsy niezależne od dziedziny, które mogą być używane przez wiele systemów rozproszonych obiektów. Np. usługa polegająca na rozpoznaniu wszystkich istniejących w systemie usług jest potrzebna niezależnie od dziedziny aplikacyjnej. Przykłady usług: Usługa w zakresie nazw (naming service) - pozwala klientom na odszukanie obiektów (ich referencji) na podstawie ich nazw. Usługa handlowa (trading service) - pozwala klientom na odszukanie obiektów na podstawie pożądanych własności obiektów. Pozostałe: usługi w zakresie zarządzania cyklem życia obiektu usługi w zakresie bezpieczeństwa usługi w zakresie transakcji usługi w zakresie zdarzeń...inne... OMA: usługi obiektowe Object Services

17 K.Subieta. SSR, Wykład 1, Folia 17 luty 2009 Są to mechanizmy wspólne dla dziedzin aplikacyjnych, ale w odróżnieniu od usług obiektowych są one zorientowane na aplikacje związane z użytkownikiem końcowym. Są to mechanizmy wspólne dla dziedzin aplikacyjnych, ale w odróżnieniu od usług obiektowych są one zorientowane na aplikacje związane z użytkownikiem końcowym. Przykładem jest DDCF (Distributed Document Component Facility), mechanizm do tworzenia i zarządzania składowymi dokumentów oparty na OpenDoc (Apple). Umożliwia on zaprezentowanie i wymianę obiektów opartych o model dokumentu, np. umożliwia powiązanie/wstawienie obiektu zawierającego arkusz kalkulacyjny do obiektu zawierającego raport. Inne przykłady: wspólny edytor tekstowy, udogodnienia dla tworzenia grafiki, itd. Common Facilities OMA: wspólne udogodnienia

18 K.Subieta. SSR, Wykład 1, Folia 18 luty 2009 Interfejsy dziedzinowe są podobne do usług obiektowych i wspólnych udogodnień, ale są zorientowane nie poziomo lecz pionowo, tj. na konkretną dziedzinę aplikacyjną. Interfejsy dziedzinowe są podobne do usług obiektowych i wspólnych udogodnień, ale są zorientowane nie poziomo lecz pionowo, tj. na konkretną dziedzinę aplikacyjną. Przykłady PDM (Product Data Management) dla dziedziny CAM (Computer-Aided Manufacturing, wytwarzanie wspomagane komputerowo). telekomunikacja medycyna finanse... Domain Interfaces, Application Interfaces Interfejsy aplikacyjne są opracowane dla konkretnej dziedziny aplikacyjnej. OMG nie zajmuje się aplikacjami, lecz specyfikacjami. Interfejsy te nie należą więc do standardu, ale są kandydatami do standaryzacji w przyszłości. OMA: Interfejsy dziedzinowe i aplikacyjne

19 K.Subieta. SSR, Wykład 1, Folia 19 luty 2009 Koncepcja polega na zdefiniowaniu zrębów (frameworks), tj. grup obiektów specyficznych dla danej dziedziny, które ustalają w niej rozwiązanie jakiegoś problemu: np. w telekomunikacji, medycynie, finansach, wytwarzaniu. ORB, Object Request Broker (Pośrednik Zapotrzebowania na Obiekty) Zrąb obiektowy IA - Interfejsy Aplikacyjne ID - Interfejsy Dziedzinowe WU - Wspólne Udogodnienia UO - Usługi Obiektowe komponenty aplikacji komunikują się poprzez ORB UO IA, ID, WU, UO IA, WU, UO Użycie modelu OMA

20 K.Subieta. SSR, Wykład 1, Folia 20 luty 2009 Common Object Request Broker Architecture CORBA 2, 1995 CORBA 3, 2000 Główne cechy Rdzeń ORB (ORB Core) OMG IDL (Interface Definition Language) Język Definicji Interfejsu Repozytorium Interfejsów (Interface Repository) Repozytorium Implementacji (Implementation Repository) Odwzorowania językowe Pieńki (stubs) i szkielety (skeletons) Dynamiczne wołanie i przesyłanie (dispatching) Obiektowe adaptery (Object Adapters) Wewnętrzne protokoły ORB (GIOP, IIOP) CORBA: podstawowe cechy

21 K.Subieta. SSR, Wykład 1, Folia 21 luty 2009 Klient Implementacja obiektów (reprezentacja i przechowywanie obiektów; realizacja dostępu i usług) Wołania dynamiczne (RPC) Pieniek IDL (IDL stub) Interfejs do pośrednika ORB Szkielet obiektów (IDL skeleton) Adapter obiektów Rdzeń Pośrednika (ORB core) Dynamiczny Szkielet Interfejsu Takie samo dla wszystkich ORB Pieńki i szkielety specyficzne dla interfejsów Może być wiele adapterów obiektów Prywatne interfejsy ORB Ogólna architektura standardu CORBA

22 K.Subieta. SSR, Wykład 1, Folia 22 luty 2009 Klient Implementacja obiektów Wołania dynamiczne (RPC) Pieniek IDL (IDL stub) Interfejs do pośrednika ORB Szkielet obiektów (IDL skeleton) Adapter obiektów Rdzeń Pośrednika (ORB core) Dynamiczny Szkielet Interfejsu dynamicznestatyczne Przesyłanie zlecenia od klienta do obiektów

23 K.Subieta. SSR, Wykład 1, Folia 23 luty 2009 CORBA: schemat komunikowania się klienta z serwerem Host klienta Klient Wywołanie operacji Host serwera Obiekt Pośrednik (ORB, Object Request Broker) Definicja obiektów w IDL pozwala dla klienta widzieć je na abstrakcyjnym poziomie. Klient jest zwolniony z rozpatrywania jakichkolwiek środków komunikacji pomiędzy klientem i serwerem. Z jego punktu widzenia obiekty znajdują się bezpośrednio (wirtualnie) w jego przestrzeni adresowej. zlecenie wynik, parametry wyj

24 K.Subieta. SSR, Wykład 1, Folia 24 luty 2009 CORBA: schemat wywoływania statycznego Host klienta Klient Wywołanie operacji Host serwera Obiekt Pośrednik (ORB, Object Request Broker) Pieniek klienta jest fragmentem aplikacji klienta generowanym automatycznie z wyrażenia IDL. Implementacja interfejsu do obiektu po stronie serwera powstaje ze szkieletu interfejsu do obiektu, automatycznie generowanego z wyrażenia IDL, który jest następnie wypełniany (ręcznie) kodem implementacji operacji zdefiniowanych w wyrażeniu IDL. Pieniek klienta Implementacja interfejsu do obiektu (szkielet + kod) zlecenie wynik, parametry wyj

25 K.Subieta. SSR, Wykład 1, Folia 25 luty 2009 stubs, skeletons Pniak (stub) znajduje sie po stronie klienta i zajmuje się tworzeniem i wysyłaniem jego zleceń. Szkielet (skeleton) znajduje się po stronie serwera. Szkielet wypełniony kodem implementacji operacji zajmuje się dostarczaniem zleceń klienta do implementacji obiektów. Obydwa mechanizmy są tworzone bezpośrednio ze specyfikacji w IDL, są więc specyficzne dla danego interfejsu. Są one wbudowane bezpośrednio w w aplikację klienta i w implementację obiektów. Wiązanie jest statyczne, wołanie operacji jest odwzorowane w wołanie funkcji w odpowiednim języku programowania. Pniak zajmuje się uszeregowaniem (marshal) zlecenia, tj. zamienia je na formę odpowiednią dla transmisji. Serwer ORB i szkielet dokonują operacji odwrotnej (unmarshal), czyli konwersji z postaci transmitowanej do postaci wymaganej przez język programowania. Po wykonaniu zlecenia, odpowiedź jest wysyłana w odwrotną stronę, poprzez szkielet, serwer ORB i pniak, do aplikacji klienta. Pniaki i szkielety


Pobierz ppt "K.Subieta. SSR, Wykład 1, Folia 1 luty 2009 Standardy w zakresie systemów rozproszonych i baz danych Kazimierz Subieta Polsko-Japońska Wyższa Szkoła Technik."

Podobne prezentacje


Reklamy Google