INFO
Sylabus
OMG CORBA, cz. 5
1. Usługa nazewnicza
2. Usługa nazewnicza: Wiązanie, rozstrzyganie
3. Usługa nazewnicza: kroki dla uzyskania referencji
4. Usługa handlowa (Trader)
5. Funkcje bazy danych Trader
6. Definicja typu usługi
7. Usługi w zakresie zdarzeń
8. Usługi w zakresie cyklu życiowego
9. Usługi w zakresie trwałych obiektów
10. Usługi w zakresie związków
11. Usługi w zakresie zapytań
12. Bieżące prace OMG
13. Najbardziej znane implementacje CORBA
14. Wady OMG CORBAi
15. Podsumowanie
Skorowidz
Wyście:
Wyklad V. Wprowadzenie do OMG CORBA, część 5 (KURS SSR)
I II III IV V VI VII VIII IX X XI XII XIII XIV
« poprzedni punkt   następny punkt »

10. Usługi w zakresie związków (Relationship Service )

Umożliwia powiązanie obiektów przy pomocy związków, np. powiązanie samochodu z osobą będącą jego właścicielem

  • Definicja typów związanych encji i typów związków
  • Definicja ról, które odgrywają encje w poszczególnych związkach
  • Definicja stopnia (degree) związku: binarny, ternarny, itd.
  • Definicja kardynalności związku (minimum i maksimum powiązań encji)
  • Definicja semantyki związków, tj. jego atrybutów
Encje są reprezentowane jako obiekty CORBA.
Związek jest tworzony poprzez przesłanie zestawu ról do obiektu-wytwórcy związku.
Można tworzyć związki dowolnego stopnia.
Typy i kardynalności mogą być zadeklarowane i kontrolowane.
Do związku mozna dodać atrybuty.

(3kB)

Operacje:
  • Tworzenie ról i obiektów przechowujących związki
  • Nawigacja wzdłuż związków
  • Skasowanie ról i związków
  • Iterowanie po związkach w których uczestniczy dana rola

  • Rola obiektu jest tworzona niezależnie poprzez wytwórnię ról.
    Ciąg ról jest parametrem dla wytwórni związku.

    Role create_role ( in RelatedObject related_object ) 
       raises ( NilRelatedObject, RelatedObjectTypeError )
    struct NamedRole { RoleName name; Role aRole; } ; 
    typedef sequence <NamedRole> NamedRoles; 
    Relationship create ( in NamedRoles named_roles ) 
       raises ( RoleType Error, MaxCardinalityExceeded, 
                DegreeError, DuplicateRoleName, UnknownRoleName)
    RelatedObject get_other_related_object ( 
            in RelationshipHandle rel, in RoleName target_name ) 
        raises ( UnknownRoleName, UnknownRelationship )
    « poprzedni punkt   następny punkt »