You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Wojtek Janiszewski <wo...@gmail.com> on 2008/08/12 00:59:40 UTC

Sharing code between CORBA and EJB bindings, was Re: The integration test for binding.corba is working now!

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" <wo...@gmail.com>
>> Sent: Thursday, July 03, 2008 5:55 PM
>> To: <de...@tuscany.apache.org>
>> 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:1.2@localhost: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 
>>>
>>>
>>
> 
> 


Re: Sharing code between CORBA and EJB bindings, was Re: The integration test for binding.corba is working now!

Posted by Wojtek Janiszewski <wo...@gmail.com>.
Simon Laws wrote:
> 
> 
> On Mon, Aug 11, 2008 at 11:59 PM, Wojtek Janiszewski 
> <wojtek.janiszewski@gmail.com <ma...@gmail.com>> wrote:
> 
>     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" <wojtek.janiszewski@gmail.com
>             <ma...@gmail.com>>
>             Sent: Thursday, July 03, 2008 5:55 PM
>             To: <dev@tuscany.apache.org <ma...@tuscany.apache.org>>
>             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:1.2@localhost: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
> 
> 
> 
> 
> 
> 
> 
> Hi Wojtek
> 
> by "Existing CORBA communication code should be adjusted to handle 
> RMI/IIOP." do you mean that the CORBA binding should be able to handle 
> both RMI/IIOP and straight IIOP?
> 
> Simon

Yes, this is what I meant, but now I'm in doubt if rewriting it really 
makes sense - we already have this code in binding.ejb. Maybe we should 
only stick to integration with host-corba-*?
Thanks,
Wojtek

Re: Sharing code between CORBA and EJB bindings, was Re: The integration test for binding.corba is working now!

Posted by Simon Laws <si...@googlemail.com>.
On Mon, Aug 11, 2008 at 11:59 PM, Wojtek Janiszewski <
wojtek.janiszewski@gmail.com> wrote:

> 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" <wo...@gmail.com>
>>> Sent: Thursday, July 03, 2008 5:55 PM
>>> To: <de...@tuscany.apache.org>
>>> 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:1.2@localhost
>>>>> :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
>>>>
>>>>
>>>
>>
>>
>
Hi Wojtek

by "Existing CORBA communication code should be adjusted to handle
RMI/IIOP." do you mean that the CORBA binding should be able to handle both
RMI/IIOP and straight IIOP?

Simon