portal Michała Hanćkowiaka
Begin main content
Search · Index
No registered users in community Materiały
in last 10 minutes

TAS - Temat C - spis brokerów Corby ...

Broker Combat (j. Tcl): materiały o j. Tcl, combat docs, pakiet combat combat.tar.gz
program narzędziowy idl2tcl (w postaci strony www),
pliki IOR nsd.ior (NameService) i ird.ior (InterfaceRepository) dla serwisów uruchomionych na faculty.wmi
prosty przykład (+ przykład użycia CosNaming) -1-, przykład użycia CosProperty: -2-
podgląd zawartości CosNaming (nsd.ior)
17.11.2015, jeśli pracujemy na linux-ie to warto używać interpa tclkit_2
który ma wbudowany pakiet combat oraz Itcl ! (pamiętać o "chmod u+x tclkit_2")
konsolę tcl uruchamiamy przez: ./tclkit_2 konsola2c.tcl naszskrypt.tcl
07.01.2015, Uwaga: adres i nr portu można wymusić w brokerze combat w ten sposób:
corba::init -ORBServerPort 10000 -ORBHostName 111.222.333.444
(jeśli klienci combatowi są równocześnie serwerami to ich porty muszą być otwarte!!!
to był problem z przykładem do zadania 36 i C.5 o EventService...)

Broker JavaIDL (j. Java): dokumentacja CORBA w Javie (11.2014)
ORB, POA, CosNaming, DynAny; RMI-over-iiop, rmic manual
(dokumentacja Javy jest obecnie tutaj)
Wymuszanie adresu IP i nr portu w pliku IOR:
przy pomocy opcji: -Dcom.sun.CORBA.ORBServerHost=1.2.3.4 -Dcom.sun.CORBA.ORBServerPort=1234
Użyteczne klasy w pieńku/ szkielecie:
[interf]Helper.narrow() - met. do zawężania typów (generyczna ref corby -> typ interfejsowy)
[interf]Package.[typ]Holder - klasa do zwracania przez argument (argumenty "out" w IDL)
[interf]POA - klasa z której dziedziczy klasa/impl. servanta
Jak kompilować plik IDL PropertyService? oto wskazówki:
idlj -I.../idl_java -pkgPrefix PropertyService omg.org COS_Prop.idl
# + jak widac, podobnie jak w JacORB, jest problem "moduły w .IDL" vs "pakiety Javy"
# oraz problem z obsluga #pragma prefix, które rozwiązuje się przy pomocy opcji -pkgPrefix
# + zwrocic tez uwage na problem "repoid w .IOR" vs "nazwa modułu/interfejsu w .IDL" !!!
# + brakujący plik "orb.idl": trzeba go znaleźć w instalacji javy i użyć opcji -Ikatalog
Jak kompilować plik IDL EventService? czyli wskazówki do zadania 36 (PZR):
1. najlepiej używać gotowego kanału "channel1"
2. klient EventService jest równocześnie serwerem (zawiera 1 lub 2 obiekty corby);
ich serwanty dziedziczą z klas PushConsumerPOA i PushSupplierPOA
(ew. można się ograniczyć tylko do consumera...)
3. kompilacja plikow IDL jak wyżej, najlepiej z opcją -pkgPrefix...
4. klasa użyteczna w zadaniu 36 MojCons.java (impl. odbiorcy zdarzeń w Javie)

Inne brokery j. Java: OpenORB, JacORB (nadal rozwijany !!!)
zawierają dużo implementacji COS, mają obsługę SSL, ...?
wydaje się że obecnie JacORB to najlepszy javowy broker (z "darmowych") ...
Uwaga 12.2014: JacORB prawidłowo obsługuje valuetypes (w przeciwieństwie do JavaIDL);
można przekazywać listy/drzewa valuetypes miedzy JacORB a Combat-em!!

Pytanie: Jak wymienić broker JavaIDL na JacORB w programie javowym?
odp: zajrzyj do pliku bin/jaco.bat w instalacji JacORB...

Broker MICO (j. C++): http://www.mico.org, mico docs
Wskazówki do mico:
+ zmiana adr.ip/portu w ior pod mico: "-ORBIIOPAddr inet:addr_IP:port"
+ tutaj mico_idl.zip są pliki IDL związane z brokerem mico
(są drobne różnice w porównaniu z innymi brokerami,
np. EventService mico ma moduł SimpleEventChannelAdmin,
z interf. EventChannelFactory, z met. create_eventchannel)
Literatura na temat brokerów C++:
+ specyfikacja oficjalna "C ++ Language Mapping (CPP)", katalog, pdf;
+ książka "Advanced Corba Programming With C++" (zwł. rozdz 9, str 313 w pdf);
Przykłady dla brokera mico:
folder; np000.cc to serwer pod mico, używa on pliku Hello2.idl,
cli.tcl to klient combatowy współpracująy z np000...

Broker iiop.net (.NET): http://iiop-net.sourceforge.net
wersja 1.9.3 z 05.2013 działa dobrze jako klient!!!
broker+nowe przykłady są tutaj (przetestowane pod Mono 2.0)
Uwaga: Jest problem z kompilacją plików .IDL PropertyService pod tym brokerem...
zdaje się, że jest też problem z typem "any" ...

Broker OmniORB (C++) i OmniORBpy (python) ...
http://omniorb.net/

Broker R2CORBA (Ruby) ...
https://osportal.remedy.nl/projects/r2corba

uwaga: portal używa ciasteczek tylko do obsługi tzw. sesji...