Docstoc

01CORBA.ppt

Document Sample
01CORBA.ppt Powered By Docstoc
					                 Standardy w zakresie systemów rozproszonych
                                i baz danych




                                    Wykład 1:
                                    Wprowadzenie do
                                    OMG CORBA
                                                Kazimierz Subieta


                                                Polsko-Japońska Wyższa Szkoła
                                                Technik Komputerowych, Warszawa




K.Subieta. SSR, Wykład 1, Folia 1                                                 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 1999
      http://www.ipipan.waw.pl/~subieta/artykuly/slownik_obiektowosci/hasla_slownika.html

   Literatura:

   Dokumentacja: http://www.omg.org + 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

K.Subieta. SSR, Wykład 1, Folia 2                                                           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).

K.Subieta. SSR, Wykład 1, Folia 3                                                  luty 2009
                                    Przyczyny heterogeniczności

            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.




K.Subieta. SSR, Wykład 1, Folia 4                                                           luty 2009
                          Współdziałanie (interoperacyjność)
                                                                          interoperability
             Dziedzina zajmująca się umożliwieniem współpracy niezależnie
              zbudowanych (heterogenicznych) systemów, szczególnie w
              sieciach komputerowych.
             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.


K.Subieta. SSR, Wykład 1, Folia 5                                                    luty 2009
                                    Przenaszalność
                                                                           portability
        Własność języka programowania umożliwiająca przenoszenie
         programów napisanych w tym języku na różne platformy.
        Przenaszalność wymaga precyzyjnego wyspecyfikowania składni i
         semantyki języka, oraz wyeliminowania z niego wszelkich własności
         specyficznych dla poszczególnych platform.
        Przenaszalność jest podstawowym celem standaryzacji, ale wiele
         standardów nie spełnia tego kryterium.
        Przenaszalność jest celem standardów OMG CORBA oraz ODMG,
         ale jak dotąd jest to życzenie, a nie realnie osiągnięta własność.
        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



K.Subieta. SSR, Wykład 1, Folia 6                                                luty 2009
                                    Co to jest OMG?
        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)
        OMG oferuje wiele innych standardów, w tym UML, MDA, MOF, XMI, CWM,
        oraz prowadzi prace nad nowymi, w tym nad obiektowymi bazami danych
K.Subieta. SSR, Wykład 1, Folia 7                                                        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.



K.Subieta. SSR, Wykład 1, Folia 8                                                luty 2009
                                Zalety rozproszonych obiektów


        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


K.Subieta. SSR, Wykład 1, Folia 9                                                  luty 2009
                                     Koncepcja OMG

           • 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

K.Subieta. SSR, Wykład 1, Folia 10                                        luty 2009
                                       OMG: Czołowi partnerzy

      Andersen                       CI Labs       ICL           Novell              Sun Microsyst.
      APM                            Data Access   Informix      Object Design       Sybase
      Apple                          Digital       Intel         Object Tech.Int’l   Symantec
      ASCII                          EDS           IntelliCorp   Oracle              Taligent
      AT&T                           Expertsoft    IBM           OSF                 Telefonica I+D
      Bell Nothern                   Fujitsu       Micro Focus   ParcPlace           Tivoli
      Borland                        Genesis       Microsoft     POSC                TRW
      Bull                           HP            MITRE         Siemens Nixdorf     Unisys
      CA                             HyperDesk     NeXT          Software AG         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
K.Subieta. SSR, Wykład 1, Folia 11                                                              luty 2009
                                     Konkurencja dla CORBA

         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.
         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
         ESB (Enterprise Service Bus) – technologia związana z
          Web Services, zajmująca się komunikacją i
          kolejkowaniem komunikacji pomiędzy serwisami
         Sieci P2P – ograniczone zastosowania biznesowe ze
          względu na ograniczoną funkcjonalność i bezpieczeństwo
         Wirtualne repozytoria – technologia, która jeszcze nie
          wyszła z fazy laboratoryjnej.
K.Subieta. SSR, Wykład 1, Folia 12                                        luty 2009
                                       OMA: ogólna architektura
                                                             Wspólne udogodnienia (Udogodnienia CORBA)
                                                                     Wspólne udogodnienia pionowe (dziedzinowe)

                                                              Rachunkowość        Finanse    Medycyna             .....
            Obiekty Aplikacyjne
                                                                            Wspólne udogodnienia poziome

                                                          Rozproszone Zarządzanie Zarządzanie Zarządzanie                 .....
                                                           dokumenty informacją    systemem    zadaniami



                                                     Object Request Broker
                                                 (Pośrednik Zapotrzebowania na Obiekty)




     Nazwowa                  Trwałość           Cykl życiowy          Współbieżność         Kolekcje        Handlowa

     Dostęp zewnętrzny                   Transakcje          Zapytania          Związki         Ochrona                   Czas

                                                      Wspólne Usługi Obiektowe
     Własności                       Zdarzenia                                                 Startup            Licencje
                                                          (Usługi CORBA)
K.Subieta. SSR, Wykład 1, Folia 13                                                                                           luty 2009
           OMA: Architektura Zarządzania Obiektami
                                                                   Object Management Architecture



     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.

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

K.Subieta. SSR, Wykład 1, Folia 15                                                         luty 2009
                                         OMA: usługi obiektowe
                                                                                            Object Services

      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...
K.Subieta. SSR, Wykład 1, Folia 16                                                                    luty 2009
                                     OMA: wspólne udogodnienia
                                                                          Common Facilities


      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.


K.Subieta. SSR, Wykład 1, Folia 17                                                    luty 2009
             OMA: Interfejsy dziedzinowe i aplikacyjne
                                                         Domain Interfaces, Application Interfaces


        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
        • ...


        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.

K.Subieta. SSR, Wykład 1, Folia 18                                                          luty 2009
                                          Użycie modelu OMA
   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.
                                                                                                       komponenty
                                                                                                       aplikacji
                          IA, ID,                         IA,                           WU, UO         komunikują
                          WU, UO                         WU, UO                                        się poprzez
                                                                                                       ORB




                                          ORB, Object Request Broker
                                          (Pośrednik Zapotrzebowania na Obiekty)




                                     UO                                            UO
                                                                                           Zrąb
                                                                                           obiektowy

         IA - Interfejsy Aplikacyjne                 WU - Wspólne Udogodnienia
         ID - Interfejsy Dziedzinowe                 UO - Usługi Obiektowe
K.Subieta. SSR, Wykład 1, Folia 19                                                                          luty 2009
                                     CORBA: podstawowe cechy
                                                       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)




K.Subieta. SSR, Wykład 1, Folia 20                                                         luty 2009
                  Ogólna architektura standardu CORBA

                                                                     Implementacja obiektów
                       Klient                                     (reprezentacja i przechowywanie
                                                                obiektów; realizacja dostępu i usług)




       Wołania                  Pieniek       Interfejs     Dynamiczny          Szkielet obiektów   Adapter
     dynamiczne                  IDL             do       Szkielet Interfejsu    (IDL skeleton)     obiektów
        (RPC)                 (IDL stub)     pośrednika
                                                ORB

                                                 Rdzeń Pośrednika (ORB core)


                       Takie samo dla wszystkich ORB                  Może być wiele adapterów obiektów
                        Pieńki i szkielety
                        specyficzne dla interfejsów
                                                                       Prywatne interfejsy ORB


K.Subieta. SSR, Wykład 1, Folia 21                                                                             luty 2009
             Przesyłanie zlecenia od klienta do obiektów


                                                                       Implementacja obiektów
                       Klient



                                                        dynamiczne                        statyczne


       Wołania                  Pieniek     Interfejs       Dynamiczny          Szkielet obiektów     Adapter
     dynamiczne                  IDL           do         Szkielet Interfejsu    (IDL skeleton)       obiektów
        (RPC)                 (IDL stub)   pośrednika
                                              ORB



                                                                        Rdzeń Pośrednika (ORB core)




K.Subieta. SSR, Wykład 1, Folia 22                                                                               luty 2009
       CORBA: schemat komunikowania się klienta z
                      serwerem


                      Host klienta                                            Host serwera


               Klient                                                                 Obiekt

                Wywołanie
                                                     zlecenie
                 operacji
                                     Pośrednik (ORB, Object Request Broker)

                                               wynik, parametry wyj
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.

K.Subieta. SSR, Wykład 1, Folia 23                                                             luty 2009
           CORBA: schemat wywoływania statycznego

                      Host klienta                                              Host serwera

               Klient                                                                        Obiekt


             Wywołanie                                                     Implementacja
              operacji                                                      interfejsu do
                                     Pieniek                                   obiektu
                                                        zlecenie
                                     klienta                              (szkielet + kod)
                                     Pośrednik (ORB, Object Request Broker)
                                                  wynik, parametry wyj
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.
K.Subieta. SSR, Wykład 1, Folia 24                                                                    luty 2009
                                     Pniaki i szkielety
                                                                                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.


K.Subieta. SSR, Wykład 1, Folia 25                                                         luty 2009

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:6
posted:3/26/2013
language:Unknown
pages:25