Asunto: [CORBA-Comp] Bonobo
Fecha: Wed May 3 14:41:52 2000
De: Javier_Carlos_Ros_Sánchez <jros@lorcamarin.es>
This is a multi-part message in MIME format.
------=_NextPart_000_0239_01BFB50D.D4EC6E10
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Estoy tratando de echarle un vistazo a la arquitectura de componentes =
Bonobo, porque creo que puede ser muy interesante y necesario tener en =
Linux una arquitectura de este estilo, de libre distribuci=F3n que =
permita el desarrollo de aplicaciones a partir de componente, como se =
hace en un entorno Windows.
Lo primero con lo que me he encontrado es algo que ya me llam=F3 la =
atenci=F3n de Windows, pero bueno entonces no ten=EDa nadie a quien =
llorarle ;) Me refiero a la interfaz Unknown ( o IUnknown en Windows), =
en esta interfaz se definen tres m=E9todos: ref, unref y =
query_interface.
Empezando por los primeros podemos encontrar el siguiente parrafo en "by =
The GNOME Project - Mathieu Lacage & Dirk-Jan C. Binnema":
"When writing code, you should be careful to balance ref's and unref's. =
If there are too few unref, effectively you have a memory leak, =
especially if the component is implemented in a shared library. =
Especially, make sure components are released (unref'ed) before going =
out of scope. On the other hand, if there are too many unref's, you may =
kill the component prematurely, while your client code needs it."
Y es algo que a m=ED me preocupa, sobre todo desde que los componentes =
pueden ser utilizados de forma remota (gracias a CORBA :) )
Yo pienso que debe haber otra soluci=F3n, a m=ED lo =FAnico que se me ha =
ocurrido (que tambi=E9n me parece un poco chapucero) en obligar al =
servidor a tener una lista de los clientes que tiene (convirtiendo a =
estos en objetos CORBA tambi=E9n), y que el servidor les pregunte si =
siguen vivos cada cierto tiempo, otra forma ser=EDa que los clientes =
tuvieran que refrescar su estado en el servidor cada x tiempo, o =
ser=EDan dados de baja.
Bueno que os parece el tema, est=E1 el problema ya resuelto y estoy yo =
aqu=ED haciendo el palurdo?, que soluci=F3n se os ocurre?.
Lo del query_interface es otro tema bastante interesante, ya que tampoco =
es una soluci=F3n que me deje demasiado buen sabor de boca, eso no =
deber=EDa solucionarlo CORBA de alguna forma ya que parece que es =
funci=F3n suya.
Un saludo.
------=_NextPart_000_0239_01BFB50D.D4EC6E10
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2919.6307" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Estoy tratando de echarle un vistazo a =
la=20
arquitectura de componentes Bonobo, porque creo que puede ser muy =
interesante y=20
necesario tener en Linux una arquitectura de este estilo, de libre =
distribuci=F3n=20
que permita el desarrollo de aplicaciones a partir de componente, como =
se hace=20
en un entorno Windows.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>Lo primero con lo que me he encontrado =
es algo que=20
ya me llam=F3 la atenci=F3n de Windows, pero bueno entonces no ten=EDa =
nadie a quien=20
llorarle ;) Me refiero a la interfaz Unknown ( o IUnknown en =
Windows), en=20
esta interfaz se definen tres m=E9todos: ref, unref y=20
query_interface.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>Empezando por los primeros podemos=20
encontrar el siguiente parrafo en "by <SPAN class=3DHOLDER>The =
GNOME Project=20
- Mathieu Lacage & Dirk-Jan C. Binnema"</SPAN>:</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>"When writing code, you should be =
careful to=20
balance <TT class=3DFUNCTION><B>ref</B></TT>'s and <TT=20
class=3DFUNCTION><B>unref</B></TT>'s. If there are too few <TT=20
class=3DFUNCTION><B>unref</B></TT>, effectively you have a memory leak, =
especially=20
if the component is implemented in a shared library. Especially, make =
sure=20
components are released (<TT class=3DFUNCTION><B>unref</B></TT>'ed) =
before going=20
out of scope. On the other hand, if there are too many <TT=20
class=3DFUNCTION><B>unref</B></TT>'s, you may kill the component =
prematurely,=20
while your client code needs it."</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>Y es algo que a m=ED me preocupa, sobre =
todo desde=20
que los componentes pueden ser utilizados de forma remota (gracias a =
CORBA :)=20
)</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>Yo pienso que debe haber otra =
soluci=F3n, a m=ED lo=20
=FAnico que se me ha ocurrido (que tambi=E9n me parece un poco =
chapucero) en obligar=20
al servidor a tener una lista de los clientes que tiene (convirtiendo a =
estos en=20
objetos CORBA tambi=E9n), y que el servidor les pregunte si siguen vivos =
cada=20
cierto tiempo, otra forma ser=EDa que los clientes tuvieran que =
refrescar su=20
estado en el servidor cada x tiempo, o ser=EDan dados de =
baja.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>Bueno que os parece el tema, est=E1 el =
problema ya=20
resuelto y estoy yo aqu=ED haciendo el palurdo?, que soluci=F3n se os=20
ocurre?.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>Lo del query_interface es otro tema =
bastante=20
interesante, ya que tampoco es una soluci=F3n que me deje demasiado buen =
sabor de=20
boca, eso no deber=EDa solucionarlo CORBA de alguna forma ya que parece =
que es=20
funci=F3n suya.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>Un saludo.</FONT></DIV>
<DIV> </DIV></BODY></HTML>
------=_NextPart_000_0239_01BFB50D.D4EC6E10--
--------------------------------------------------------------------------
Esta es la lista de discusión de CORBA y Componentes Software (corba-comp)
--------------------------------------------------------------------------
Suscripcion: Envie un correo a mailto:Majordomo@ditec.um.es?body=subscribe%20corba-comp
Eliminar su suscripcion: mailto:Majordomo@ditec.um.es?body=unsubscribe%20corba-comp
Informacion de la lista: mailto:Majordomo@ditec.um.es?body=info%20corba-comp
Problemas: mailto:corba-comp-owner@ditec.um.es
Indices de la lista: http://www.ditec.um.es/~dsevilla/corba/
--------------------------------------------------------------------------