[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Why *Impl_Proxy generated from *Impl?
Hi all,
I notice that the interface -> proxy compilation feature of Ozone is not what
I'm used to from CORBA and RMI, and so I'm wondering why so I can better
understand the underlying design.
The way Ozone does it, you have --
class EmployeeImpl --implements--> interface Employee
class EmployeeImpl_Proxy --+--implements--> interface Employee
|
+--is-generated-from--> class EmployeeImpl
whereas, in CORBA and RMI, the proxy is generated _completely_ from the
remote interface; in fact, there may be many implementations (*Impl classes)
of the same interface. So we have --
class Employee_Proxy --is-generated-from--> interface Employee
class EmployeeImplA --implements--> interface Employee
class EmployeeImplB --implements--> interface Employee
...
I can see that the benefits of the 2nd (CORBA/RMI) approach are that the
client, which has to physically link in a copy of the "_Proxy" class, need
not change at all despite changes to the implementations. It also seems to me
that all the Ozone "*Impl_Proxy" class does is invoke the interface's methods
remotely on the server. So ... why is the proxy class generated from the
implementation?
I'm sure there's a good answer ... I'm just wondering.
Thanks and peace,
Ihab Awad
--
Ihab A Awad <ihab@ahc.umn.edu>
Center for Computational Genomics and Bioinformatics,
University of Minnesota. http://www.cbc.umn.edu/~ihab/
----------------------------------------------------------------------
Post a message: mailto:ozone-users@ozone-db.org
Unsubscribe: mailto:ozone-users-request@ozone-db.org?body=unsubscribe
Contact administrator: mailto:ozone-users-owner@ozone-db.org
Read archived messages: http://www.ozone-db.org/
----------------------------------------------------------------------