De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

CSA, week 31 CSA week 3. CSA, week 32 Terugblik opdracht (client)  Stub creëren uitgaande van IOR ( string_to_object ) of stub creëren uitgaande van.

Verwante presentaties


Presentatie over: "CSA, week 31 CSA week 3. CSA, week 32 Terugblik opdracht (client)  Stub creëren uitgaande van IOR ( string_to_object ) of stub creëren uitgaande van."— Transcript van de presentatie:

1 CSA, week 31 CSA week 3

2 CSA, week 32 Terugblik opdracht (client)  Stub creëren uitgaande van IOR ( string_to_object ) of stub creëren uitgaande van objectnaam ( bind )  Dit geeft referentie naar CORBA object (van klasse org.omg.CORBA.Object)  Met narrow dit object omzetten naar object van klasse van CORBA object  dit is de stub

3 CSA, week 33 Terugblik opdracht (client)  In opdracht 2 CORBA Object CORBA_ballMover  Stub kan gebruikt worden alsof het het CORBA object zelf is cball = bm_stub.roll(cball)

4 CSA, week 34 Terugblik opdracht (server)  CORBA object van klasse: CORBA_ballMoverServant  Deze bevat implementatie van methode roll uit interface CORBA_ballMover  In de implementatie van deze roll wordt, net zoals in de client, gebruik gemaakt van een object van klasse ballMover en bijbehorende roll- methode (zie opdracht 1)

5 CSA, week 35 Terugblik opdracht (server)  Server maakt het CORBA-object aan cbms=new CORBA_ballMoverServant(..)  Deze wordt aan de ORB aangeboden orb.connect(cbms) en verkrijgt daarmee het unieke IOR  Object kan ook met naam worden gecreëerd cbms=new CORBA_ballMoverServant(..,”naam”) zmaakt gebruik van Smart Agent (1 niveau)

6 CSA, week 36 CORBA model stub ORB CORBAobjectskeleton methodes, gegenereerd vanuit IDL- script CORBA-methodes, gedefinieerd door de programmeur REQUEST met methodenaam, in-parameters REPLY met functiewaarde, out-parameters methode-aanroep met parameters functie-waarde en result parameters ClientServer new connect init String_to_object/bind + narrow

7 CSA, week 37 CORBA OBJECT SERVICES NAMING SECURITY LIFECYCLEEVENT OBJECT REQUEST BROKER TRANSACTIONS COLLECTIONSCONCURRENCY TRADER QUERY

8 CSA, week 38 Naming Service zMeerdere niveaus van naamgeving  Geïmplementeerd door middel van gewone CORBA objecten van klasse: NamingContext  Naming Server is een afzonderlijk (server) proces met objecten van de klasse NamingContext  Gewone servers en clients moeten stubs maken voor NamingContext objecten.

9 CSA, week 39 NamingContext zIs tabel van namen en IOR’s zTe vergelijken met directory in filesysteem  In een NamingContext kunnen weer andere NamingContext ’s staan zGeeft een boomstructuur met één root

10 CSA, week 310 Initialisatie  Bij initialisatie orb properties instellen: props.put("SVCnameroot","CSA");  CSA is naam van root- NamingContext; zelf instelbaar! zSmart Agent wordt gebruikt om een bepaalde Naming Server te vinden

11 CSA, week 311 Stub voor NamingContext  Stub voor root is altijd te verkrijgen d.m.v. resolve_initial_references  Dit levert een org.omg.CORBA.Object op dat ge- narrow -ed moet worden, m.b.v. methode uit klasse NamingContextHelper zorg.omg.CORBA.Object ref_rootnc = orb.resolve_initial_references("NameService"); NamingContext stub_rootnc = NamingContextHelper.narrow(ref_rootnc);

12 CSA, week 312 Naming Service  Uitgaande van de root NamingContext kun je de hele boom doorlopen  NamingContext ‘s kunnen allemaal in dezelfde server zitten, maar kunnen ook gedistribueerd zijn over een netwerk.

13 CSA, week 313 Methodes van klasse NamingContext  bind / rebind (server): zelfgekozen naam koppelen aan object; bind geeft foutmelding bij bestaande naam, rebind niet  unbind (server): om naam/object koppeling te verwijderen uit NamingContext  destroy (server): om NamingContext te verwijderen

14 CSA, week 314 Methodes van klasse NamingContext  bind_new_context (server): om een nieuwe NamingContext te creëren en in de huidige NamingContext op te nemen met een bepaalde naam; je krijgt een verwijzing naar de nieuwe context terug  resolve (client): om referentie naar object te vinden uitgaande van naam

15 CSA, week 315 NameComponent  Namen zijn arrays van NameComponent ’s  Elke NamingContext in eigen NameComponent  Laatste NameComponent verwijst naar CORBA object  NameComponent heeft 2 velden: naam en type. Type kan gebruikt worden door applicaties, meestal lege string

16 CSA, week 316 Voorbeeld  Aan server-kant: NameComponent[] paulName = {new NameComponent("red",""), new NameComponent("paul","")}; stub_rootnc.rebind(paulName,cbms)  Aan client-kant NameComponent[] paulName = {new NameComponent("red",""), new NameComponent("paul","")}; org.omg.CORBA.Object ref = stub_rootnc.resolve(paulName); CORBA_ballMover cbms = CORBA_ballMoverHelper.narrow(ref);


Download ppt "CSA, week 31 CSA week 3. CSA, week 32 Terugblik opdracht (client)  Stub creëren uitgaande van IOR ( string_to_object ) of stub creëren uitgaande van."

Verwante presentaties


Ads door Google