Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

Organization/Project

Apache Software Foundation/Tuscany

GSoC Project Title

CORBA Support for Apache Tuscany

Mentor

Raymond Feng

Project Proposal

http://cwiki.apache.org/confluence/display/TUSCANYWIKI/GSoC08+proposal+-+CORBA+support+for+Apache+Tuscany

Contanct

wojtek.janiszewski AT gmail DOT com

Child pages 

CORBA reference bindings features, bugs, issues: http://cwiki.apache.org/confluence/display/TUSCANYWIKI/CORBA+binding+features%2C+bugs%2C+issues
host-corba, host-corba-jdk modules: http://cwiki.apache.org/confluence/display/TUSCANYWIKI/host-corba%2C+host-corba-jdk+features%2C+bugs%2C+issues

...

CORBA service/reference binding: https://issues.apache.org/jira/browse/TUSCANY-2357

Binding corba should use a host-corba module: https://issues.apache.org/jira/browse/TUSCANY-2397

Need a new corba-host-jee module: https://issues.apache.org/jira/browse/TUSCANY-2468

Lightweight implementation of the SCA default binding over the corba binding: https://issues.apache.org/jira/browse/TUSCANY-2469

Timeline

Time period

Task

Community bonding period
Before May 26

Learning Apache Tuscany and SCA standard (reading code and documentation, reviewing samples, 'playing with' Apache Tuscany).
Discussing problems related to project.
On 22 April I will deliver 45 minute presentation for university seminar. Presentation will focus on two aspects:
- theory: introduction to Apache Tuscany by showing basic concepts
- practice: building sample application live

First development phase 
May 26 - July6

Implementation of tuscany-binding-corba part I: binding.corba for SCA references.
Implementation of tuscany-binding-corba part II: binding.corba for SCA services
Implementation of JUnit tests.
Documentation update.

Mid-term evaluation
July 7 - July 10

Submitting mid-term evaluation.

Second development phase
July 11 - August 11

Implementation of interface-corba-idl module.
Implementation of itest-corba module.
Implementation of JUnit tests.
Documentation updat

Review
August 12 - August 1 17

Code/documentation review.

Final evaluation
August 18 - September 1

Submitting final evaluation.

...

I've also noticed that stop() and destroy() methods from ORB does not kill listener. It probably means that service is not beeing killed on stop() method from TransientNameServer class and socket port won't be released until JVM termination. I've added test_ensureORBStopped in host-corba-jdk and made it @Ignore - it needs to be fixed.

 3rd 3rd July 2008

I've submitted another patch, which contains:
1. Corbaname URI support both for references and services
2. Support for registering and resolving nested services, ie. path/to/some/service
3. JUnit Tests
4. Additional test in itest/corba for corbaname URIs

First development phase ends soon, so here is some update regarding main goal of this phase - CORBA binding module implementation.

9th July 2008

1. I've submitted mid-term evaluation.

2. I've submitted patch, which is is response for recommendations from http://marc.info/?l=tuscany-dev&m=121547511913874&w=2

1. (host-corba, host-corba-jdk) Doubled methods with arguments:
a. corbaname URI
b. name, host, port params
were merged into method with URI argument. Now binding-corba module is responsible to provide URI depending on binding configuration (if URI is not provided then binding-corba will create one from name, host, port).
2. (host-corba, host-corba-jdk) I also used NamingContextExt where I could - in unregisterServant() method.

3. Jean-Sebastien Delfino requested host-corba-jee module: https://issues.apache.org/jira/browse/TUSCANY-2468. Actual host-corba* modules will need some reorganization.

10th July 2008

Patch for host-corba-jee module added:

1. host-corba-jee module (based on host-corba-jdk)
2. Tests for 1 (also based on host-corba-jdk, some removed, one added)

I've tested new module on Sun Java System Application Server Platform Edition 9.0_01 (build b02-p01) in simple webapp with embedded Tuscany - it worked. In JUnit I've configured InitialContext (by jndi.properties) to use mock class, which provides ORB pointing to some manually started name server (from host-corba-jdk).

15th July 2008

I've submitted another patch which mainly adds support to operations mapping from Java2IDLUtil from binding-ejb-runtime module.

1. I've extracted operation mapping code from Java2IDLUtil to new class in new module: binding-util-corba
1a. binding-corba-runtime now uses binding-util-corba
1b. binding-ejb-runtime is NOT USING new module. If idea of sharing common code is ok, then I'll also update method calls in binding-ejb-runtime
2. Patch contains also some bug fixes3. JUnit tests
4. New scenarios for operations mapping in itest/corba

21st July 2008

I'm working now on Lightweight implementation of the SCA default binding over the corba binding. I've submitted patch, witch includes:

1. Binding-sca-corba module
2. Some changes to existing CORBA binding modules, which enables handling Java interfaces which are not specific for CORBA
3. Integration test for SCA default binding over CORBA binding. 

30th July 2008

I've heard yesterday that Tuscany PMC has voted for me to become a Tuscany committer. It's great news! Thanks!

What about work? I've submitted patch:
1. binding-corba-runtime module reorganization to allow creating SCA binding over CORBA
2. Passing JAXB objects in CORBA SCA binding
3. JUnit tests in itest/corba

I've encoutered problem while creating WSDLInterfaceContract (I've reused binding-ws-wsdlgen module). Creating contract failed at org.apache.tuscany.sca.databinding.sdo.SDOTypeHelper.addResolvedXSDs at line 165. Thanks to Raymond it was fixed.

3rd August 2008

1. I've updated binding.sca over CORBA to create name server automatically.
2. In binding.corba I've added configuration attribute "provideNameServer" which can force Tuscany to create name server.
3. Created and updated Tuscany web page for binding.corba: http://tuscany.apache.org/sca-java-bindingcorba.html.
4. JUnit tests for 1 and 2.

12th August 2008

1. Removed "provideNameServer" flag.
2. Added host-corba-jse-tns module, which creates Transient Name Server automatically for every localhost service binding.
3. JUnit tests.
4. Updated Tuscany web page for CORBA binding.

18th August 2008

1. Added support for CORBA arrays and unions
2. Updated JUnit tests for binding-corba-runtime and itest/corba
3. Web page update
4. Code cleanup