Please see my comments inline.
Thanks,
Raymond
--------------------------------------------------
From: "Wojtek Janiszewski" <[EMAIL PROTECTED]>
Sent: Thursday, May 22, 2008 3:21 AM
To: <tuscany-dev@ws.apache.org>
Subject: Re: GSoC Project - CORBA Support for Apache Tuscany
Hello Tuscany Community!
I've spent last days considering project details and made some prototypes
which were mainly verifying CORBA API in JDK. I'd like also to begin
coding shortly - I'd like to start implementing reference binding
implementation for CORBA objects. I've listed some assumptions/doubts:
1. Original time schedule was to start work with "Implementation of
interface-corba-idl module.". I was told to start with CORBA bindings, I
just wanted to make sure that these modules implementation schedule can be
swapped.
I think the CORA IDL support can be a 2nd step. We can invoke/expose CORBA
services using java interfaces.
2. I'll implement service/reference bindings using CORBA Dynamic
Invocation Interface (DII) API. Standard JDK CORBA support *should* be
enough, if no, there are other CORBA implementations, such as JacORB.
Standard JDK APIs should be good enough. There is an Apache CORBA project
at: http://cwiki.apache.org/YOKO/.
3. Where should parameters ORBInitialHost and ORBInitialPort be passed to
application? They shouldn't be configured global for application, because
every binding can use different ORB, so I assume it should be configured
per binding. Which attributes for binding.corba shall I use?
They should be configured at the <binding.corba>.
4. In CORBA we can register objects under unique name, or obtain remote
objects as references from other CORBA objects. In binding configuration
user should point remote objects name, which is registered in name
service. Again, I think it should be configured per binding, so which
attribute for binding.corba shall I use?
That should be derived from the URI of the binding.
5. CORBA objects obtained from binding will be dynamically enhanced by,
lets call it, DII Corba Invoker (DCI), and attached to matching Java
interface, so Tuscany user can use it. DCI will be responsible for
creating request, based on operation name, operation arguments and return
type. Every other CORBA object, obtained in any way (from binding, as a
result of any other CORBA objects operation) will be also
enhanced/attached as above.
Yes. The corba reference binding invoker is responsible to bridge the
invocations between SCA and CORBA.
6. If CORBA objects operation argument is object reference, then user
should provide object which was previously obtained from binding or other
CORBA object. User cannot use users-side object as an argument.
Yes. Let's don't worry object reference too much at this point. We are in
the SOA world instead of distributed object :-).
I hope I described my thoughts clearly, I'll appreciate any comments,
especially pointing out things I'm wrong or missing.
Thanks,
Wojtek