🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #14616

Re: Algo como OCX en Linux?

#14616
From: NAVARRO LOPEZ Jesús Manuel
Date: Fri, 27 Oct 2000 09:04
79 lines
5399 bytes
"Victor M. Varela" wrote:
> 
> NAVARRO LOPEZ, Jes�s Manuel@nirgendwo dijo:
> 
> > > Para que ?
> > >
> > > Existe CORBA (para cualquier plataforma) pero en mi opinion la arquitectura
> > > de clientes distribuidos tiene mas inconvenientes que ventajas en
> > > cualquier sistema. Siempre es mejor quedarse en objetos normales.
> 
> > �Y eso por qu�?  A simple vista se dir�a que una tecnolog�a de objetos
> > distribuidos tiene muuuuuuchas ventajas...
> 
> Las ventajas se ven superadas por los inconvenientes. Por ejemplo, el
> exceso de capas de software (mas memoria menos velocidad) o los errores en
> la resolucion de dependencias entre estos componentes. Lo tipico que hace
> fallar a Windows.
> 

Es cierto que a�ade capas de software t�cnicamente innecesarias, cuando
se trabaja en local, pero a cambio, exactamente el mismo c�digo
funcionar� tanto en local como en remoto.  Sin embargo, es inexacta la
apreciaci�n que haces por lo que respecta a la resoluci�n de
dependencias.

> Respecto a las ventajas, solo puedo citar la facilidad de reutilizacion y
> la comparticion de recursos (pero eso tambien lo tienes con la
> programacion orientada a objeto tradicional)

Dos cosas: por un lado, hasta cierto punto est�s mezclando churras con
merinas, en el sentido de que est�s hablando por un lado de una
definici�n de arquitectura (objetos distribuidos), pero por otro lo
comparas con un modelo de programaci�n (OOP).  Sin embargo, es una
mezcla habitual porque normalmente se desarrollan los paradigmas
arquitect�nicos y de desarrollo de forma paralela.  Por otro lado (y yo
tambi�n voy a mezclar aqu� dise�o y programaci�n) lo que dices me parece
incorrecto: la programaci�n OOP tradicional se basa en enlaces en tiempo
de programaci�n que es, precisamente, lo que produce los problemas de
dependencias;  por el contrario, la misma esencia de la programaci�n de
objetos distribuidos est� en ligar la compatibilidad no al momento de la
programaci�n, sino a nivel binario, estableciendo la programaci�n con
herencia por interfaces, lo que justamente hace lo contrario de lo que
t� dices: asegurar *siempre* la compatibilidad entre objetos...  �C�mo
es que esto en la pr�ctica no ocurre? me preguntar�s entonces: pues
porque muchas veces se programa *mal*.  M�s de cuatro veces he visto
enlazar un componente a trav�s de una interfaz gen�rica (en Windows, no
he programado en Linux, pero las ideas son exactamente las mismas),
digamos SQLHandler, en lugar de con la versi�n concreta de la interfaz
de que se trate (en el ejemplo podr�a ser SQLHandler.1).  En tanto se
respete la definici�n de interfaz (y con definici�n con ajuste de
versi�n esto deber�a significar "siempre") y exista una definici�n IDL
para las plataformas del cliente y el servidor (la especificaci�n de
c�mo deber� ser el enlace a nivel binario), el resultado es que *nunca*
podr�s tener problemas de compatibilidad: simplemente la interfaz estar�
o no estar�, pero si est� no podr� ser otra que la que se defini� en su
momento...  Para conseguir el mismo efecto con OOP tradicional, deber�as
recompilar tanto los servidores como los clientes para la nueva versi�n
(�te suena tener que compilar t� por tu cuenta tal o cual paquete para
que funcione en tu equipo por culpa de versiones de librer�as, cuando en
realidad no hay tal incompatibilidad, puesto que la compilaci�n que
haces t� da como resultado un binario perfectamente funcional?) lo que
en cuanto hablemos de m�s de un par o tres de clientes es, normalmente,
inviable.
Respecto a la programaci�n utilizando interfaces, se suele decir (y es
cierto) que es un m�s trabajosa que la herencia habitual, precisamente
porque con la interfaz lo �nico que "heredas" es un contrato sobre unos
m�todos y/o par�metros, pero no el c�digo que hay o puede haber
"dentro".  A cambio, a menos que tengas una diagrama de clases
perfect�simamente definido y totalmente est�tico (lo que no ocurre
pr�cticamente nunca) el uso de interfaces trae a cuenta, precisamente,
por la compatibilidad que t� les negabas (y que hereda, por su forma de
ser, el dise�o mediante objetos distribuidos).

-- 
SALUD,
Jes�s
***
jesus_navarro@promofinarsa.es
***
Technical Details
Message-ID: <39F94503.6387DC85@promofinarsa.es>
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!sn-xit-03!supernews.com!news.tele.dk!193.190.198.17!newsfeeds.belnet.be!naxos.belnet.be!news.belnet.be!news.rediris.es!garse!news.iddeo.es!elrond.intranet!nobody
References: <8smkam$ct9$1@talia.mad.ttd.net> <e6ups8.245.ln@janeiro> <39F14DC1.9ECA6ECC@promofinarsa.es> <p4cbt8.ls4.ln@janeiro>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,9039cffdfec2b2c2
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2000-10-27 03:03:39 PST
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!sn-xit-03!supernews.com!news.tele.dk!193.190.198.17!newsfeeds.belnet.be!naxos.belnet.be!news.belnet.be!news.rediris.es!garse!news.iddeo.es!elrond.intranet!nobody
From: NAVARRO LOPEZ, Jesús Manuel 
 <hostmaster@promofinarsa.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Algo como OCX en Linux?
Date: Fri, 27 Oct 2000 11:04:03 +0200
Organization: PROMOFINARSA, S.A.
Lines: 79
Message-ID: <39F94503.6387DC85@promofinarsa.es>
References: <8smkam$ct9$1@talia.mad.ttd.net> <e6ups8.245.ln@janeiro> <39F14DC1.9ECA6ECC@promofinarsa.es> <p4cbt8.ls4.ln@janeiro>
NNTP-Posting-Host: 62.81.130.1
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.2.17-Nav01 i686)
X-Accept-Language: es-ES, es, en