Hi,
according to previous decisions I'd like to take a closer look to
sharing code between CORBA and EJB bindings. Here's my view:
1. Some code common for CORBA and EJB bindings should be extracted from
binding-corba-runtime module. Existing CORBA communication code should
be adjusted to handle RMI/IIOP.
2. Some code from EJB binding should be moved to host modules (ie.
obtaining ORB, creating EJB reference from home reference, caching
them). We should also reuse existing CORBA hosts somehow.
3. All the work will cause many changes in binding-ejb-runtime module.
I'm thinking about creating alternative binding.ejb module, and leaving
binding-ejb-runtime untouched.
Note that some of those are related to [1].
What do you think?
Thanks,
Wojtek
[1] - https://issues.apache.org/jira/browse/TUSCANY-2491
Simon Nash wrote:
Raymond Feng wrote:
Hi,
I think it's good idea to share some code between CORBA and EJB bindings.
Here is my view:
1) binding.corba provides the transport support for IIOP
2) Most pouplar JEE/EJB containers support RMI/IIOP for EJBs. RMI/IIOP
is built on top of RMI and IIOP.
3) For the reference side, we can use the RMI/IIOP protocol to access
EJBs as CORBA services (that's how we implement the EJB reference
binding in Tuscany today).
4) For service side, we can potentially expose SCA components as CORBA
services over RMI/IIOP following the EJB patterns. This way, we can
have a poor-man's EJB container to support POJO as EJBs.
I think this client side of this (3) makes sense. I'm less convinced
about the service side (4). How much of EJB can we support in this way?
I'd expect there would be limitations in areas like transactions,
security and MDBs. With fully compliant open source EJB implementations
like Geronimo and OpenEJB available, wouldn't most people who want to
create an EJB use one of these containers?
Simon
Thanks,
Raymond
--------------------------------------------------
From: "Wojtek Janiszewski" <[EMAIL PROTECTED]>
Sent: Thursday, July 03, 2008 5:55 PM
To: <[email protected]>
Subject: Re: The integration test for binding.corba is working now!
Hi Tuscany Developers,
I'd like to thank you (especially my mentor Raymond) for support and
help which was given to me - I wouldn't made this far without you all!
First development phase of GSoC is almost over so here's quick summary.
Goal was to implement binding extension for CORBA. Most of features
were implemented (there are still few features unresolved, which I
hope to solve next week) - info and status of project can be found
under [0]. Initially planned module binding-corba turned into modules
binding-corba, binding-corba-runtime, host-corba, host-corba-jdk.
There is also implementation of itest-corba, which was planned on 2nd
development phase. :)
After finishing CORBA binding next step will be implementation of
interface-corba-idl module, which is second goal of "CORBA support
for Apache Tuscany" Summer of Code project. I've enjoyed working on
Tuscany so far and I'm looking forward to have more fun and challenge
witch Tuscany.
BTW,
> 1) Merge the code from [1] to add the support of name mapping between
> java methods and CORBA operations.
I'd like to extract some common code to new module (corba-common or
corba-util) that binding-ejb-runtime and binding-corba-runtime could
use it. Is it acceptable?
Thanks again,
Wojtek
[0] -
http://cwiki.apache.org/confluence/display/TUSCANYWIKI/CORBA+binding+features%2C+bugs%2C+issues
Raymond Feng wrote:
Hi,
I have applied the patches and now the integration test for
binding.corba is working and added to the main build! Thanks Wojek
for his great efforts to drive the GSoc project forward to this
milestone. Congratulations for his great success in the midterm :-)!
There are a few things I suggest you do as the next steps:
1) Merge the code from [1] to add the support of name mapping
between java methods and CORBA operations.
2) Refine the model for binding.corba.
We now have three parameters: host, port and name. We should support
the "corbaname:" URI too. For example,
"corbaname:iiop:[EMAIL PROTECTED]:2089/NameService#a/b/MyService".
3) Do we support the name in the format of JNDI name such as
"a/b/MyService"?
Thanks,
> Raymond
>
> [1]
http://svn.apache.org/repos/asf/tuscany/java/sca/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/Java2IDLUtil.java