Asunto: Más dudas sobre CCM
Fecha: Tue Feb 1 08:40:11 2000
De: Diego Sevilla Ruiz <dsevilla@ditec.um.es>
Hola a todos:
No sé cuántos de los subscriptores conocerán más o menos a fondo el
estándar de componentes de CORBA. Aún así, me gustaría lanzar una
pregunta que me ha surgido a raíz de la lectura del estándar.
Mi pregunta se relaciona con los "home" de los componentes. Al
estudiar el documento orbos/99-02-05, me encuentro que en la página 5-45
viene un ejemplo que utiliza un "home" para un componente:
module M {
interface I {
void op();
};
component A supports I {
provides I foo;
};
home AManager manages A { };
};
(es decir, crea un componente llamado A que soporta el interfaz I y
ofrece un gestor de almacenamiento ("home") que lo maneja)
y luego muestra un ejemplo de uso en Java:
M.AManager aHome = ...; // get A's home
org.omg.Components.ComponentBase myComp = aHome.create_component();
M.I myI = M.IHelper.narrow(myComp);
// Must succeed
Evidentemente, la llamada tiene que tener éxito (esto lleva a que
objetos/ORBs que no son "component-aware" puedan también utilizar los
componentes). Sin embargo, mi pregunta va sobre el método
"create_component". ¿Tiene ya definido el tipo AManager este método?
Esto está relacionado con el Persistent State Service 2.0
(orbos/99-03-08). No sé exactamente cuál es el papel del "home" y si
acepta un conjunto fijo de métodos o un conjunto definido por el
usuario. Sobre todo teniendo en cuenta que más abajo, en esa misma
página, aparece otra construcción que parte de la anterior:
// IDL
module M {
interface A: org.omg.Components.ComponentBase, I {...};
interface B: A {};
};
y el ejemplo de uso:
M.BHome bHome = ...; // get B's home
M.B myB = bHome.create();
¡Hey! ¿no era "create_component"?
¿Alguna idea? ¿Cómo se conecta esto con el PSS 2.0?
Gracias de antemano.
diego.
--
Diego Sevilla Ruiz -- http://www.ditec.um.es/~dsevilla/
Departamento de Ingeniería y Tecnología de Computadores
Facultad de Informática. Universidad de Murcia
Campus de Espinardo - 30080 Murcia (SPAIN)
Tel.: +34-968-367570
E-mail: dsevilla@ditec.um.es
$_="\\l/) (>". "_'\n<";@@= /.|\n/g;$_=
"\@". "\007f". "DDq". "DD5". "\204".
"\@". "DT4CE". "D54E". "DD". "\244".
"\021". "dBDTC". "\010DD". "\200\$FD\024".
"GDAG". "DAGDT". "CqI";$c =0;$p =5;for$q
(/./g) {$q= ord$q; for(a, b){$z[$c]
=$@[$p+=($q&15) -4];$q>>=4;$c+=33 ;$c>98 &&($c-=98);}};print@z;