Python, CORBA, and Borland Java interop?

Martin v. Loewis martin at v.loewis.de
Fri Oct 11 15:09:20 EDT 2002


dave at 3dex.com (Dave Benjamin) writes:

> They indicate that the latest version of their IDL compiler supports
> "abstract, custom, factory, native, private, public, supports,
> truncatable, valuetype, and ValueBase.". This is not to say that their
> java2idl utility uses all of these features within its exported IDL
> code, only that we cannot rule them out until we have more experience
> and understanding of AppServer's IDL interface.

They most likely use the official Java2IDL mapping. That creates
potentially nearly all of the IDL valuetype features. However, it
depends on the Java interfaces you use as input what output you get.

The most notorious thing is indeed WStringValue, since that is
generated for java.lang.String, and it is unreasonable to define any
Java interface without that. For other features, it might be possible
to tune the Java so that the burden on other ORBs is reduced.

> Is there a way we could perhaps preprocess the IDL into something
> Fnorb can understand that will allow us to pass strings from Java? You
> mentioned that this could be a "special case". If we could get over
> this initial hurdle, we could at least call simple methods on the
> server. Right now the string issue is holding us back.

No, it's not really possible to rewrite the IDL so that the wire
protocol will be the same.

However, just implementing a value box for wstring is relatively easy
(compared to implementing all of valuetypes).

I have Fnorb parser changes in my Fnorb sandbox to make it accept the
value type syntax; I still need to implement stub/skeleton generation,
and enable the run-time system. If there is interest, I could try to
get value boxes to work first.

Notice that stock Fnorb 1.2 doesn't support wstring, either - you need
the wchar CVS branch for that. Not to discourage you, but: When
implementing wchar for Fnorb, I found that the JDK 1.3 ORB is quite
broken in its GIOP implementation. wstring interoperability with JDK
1.3 would be difficult, and full of special cases (starting with
detecting JDK 1.3). I don't know how VisiBroker works in this respect,
I haven't done any wstring interoperability tests with that.

Regards,
Martin



More information about the Python-list mailing list