INFO
Sylabus
OMG CORBA, cz. 4
1. Wołanie statyczne: krok po kroku
2. Nasz pierwszy program w CORBA: Counter
3. Counter: wyrażenie IDL
4. Counter: klasy i interfejsy Java generowane przez prekompilator
5. Jakie to są pliki?
6. Counter: Pieniek klienta generowany automatycznie
7. Counter: Szkielet serwera generowany automatycznie
8. Counter: interfejs w Java generowany z IDL
9. Counter: przykład klasy implementującej interfejs w IDL
10. Counter: Główny program serwera
11. Counter: Szkielet wypełniony implementacją
12. Counter: program klienta (nasza aplikacja)
13. Wołanie dynamiczne: krok po kroku
14. Protokoły pomiędzy ORB-ami
15. Rodzaje usług obiektowych
16. Zasady projektowania usług obiektowych
Skorowidz
Wyście:
Wyklad IV. Wprowadzenie do OMG CORBA, część 4 (KURS SSR)
I II III IV V VI VII VIII IX X XI XII XIII XIV
« poprzedni punkt   następny punkt »

13. Wołanie dynamiczne: krok po kroku

  1. Spytaj obiekt o jego definicję interfejsu, wołajac metodę get_interface. Otrzymasz InterfaceDef obiekt, który opisuje twój obiekt w Repozytorium Interfejsów.
  2. Poszukaj metody, która cię interesuje, poprzez wywołanie metody lookup_name na otrzymanym obiekcie InterfaceDef. Otrzymasz obiekt typu OperationDef.
  3. Odzyskaj opis interesującej cie metody, poprzez wywołanie metody describe na obiekcie OperationDef.
  4. Utwórz pustą listę NVList, poprzez metodę create_list. Lista ta będzie przeznaczona na wartości argumentów twojej metody.
  5. Zapełń NVlist wartościami argumentów, używając metod add_item i add_value.
  6. Utwórz obiekt Request twojego zlecenia, poprzez wywołanie metody create_request. Trzeba zakumonikować dla tej metody:
    • nazwę interesującej cie metody,
    • NVlist,
    • NamedValue w którym będzie zwrócony rezultat metody.
  7. Wywołaj odległą operację, poprzez wywołanie invoke na obiekcie Request. Jest to wywołanie synchroniczne. Rezultat wywołanie pojawi się w obiekcie Request.
  8. Wykorzystaj resultat i następnie zwolnij obiekt Request, który dalej jest zbędny.
  9. Zwolnij NVlist, poprzez wywołanie zlecenia free, które zwalnia miejsce związane z NVlist.
Jak widać, zlecenia dynamiczne są dość kłopotliwe. Niektóre czynności są wspomagane przez ORB.


14. Protokoły pomiędzy ORB-ami (Inter-ORB Protocols)

Podstawowy cel: współdziałanie pomiędzy ORB-ami wyprodukowanymi przez różne firmy. Wersje poprzedzające 2.0 nie zapewniały tej własności ze względu na brak standardu formatu danych i protokółów dla komunikacji pomiędzy ORB-ami.

Bezpośrednie współdziałanie (direct interoperability): jest możliwe gdy ORB-y są umieszczone w tej samej dziedzinie: rozumieją te same referencje do obiektów, ten sam system typów w OMG IDL i te same środki bezpieczeństwa



Współdziałanie bazujące na mostach (bridge-based interoperability): jest potrzebne do komunikacji ORB-ów z różnych dziedzin. Mają one za zadanie odwzorować informację specyficzną dla jednego ORB-u w informację właściwa dla innego.

General Inter-ORB Protocol (GIOP) - specyfikuje składnie transferowanej informacji, format komunikatów. Jest prosty i łatwy w implementacji.

Internet Inter-ORB Protocol (IIOP) - specyfikuje GIOP poprzez transport TCP/IP.

Environment-Specific Inter-ORB Protocols (ESIOP), np. bazujący na OSF DCE.


« poprzedni punkt   następny punkt »