You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 22 Next »

Google Summer of Code 2008

CORBA support for Apache Tuscany - Wojtek (Wojciech) Janiszewski

Project details

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+reference+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

JIRA 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

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

Code/documentation review.

Final evaluation
August 18 - September 1

Submitting final evaluation.

Project Log

21st April 2008

Accepted to GSoC.

22nd April 2008

Made presentation for university seminar:
1. presented SCA and Tuscany in theory
2. built simple application live using Apache Tuscany.

30th April 2008

Received corba-binding module, which is a skeleton for further work. First Tuscany build attempts with no success.

1st May 2008

I've encountered some problems with missing (wrong named?) message bundles during builds. Finally built Tuscany via 'mvn clean install -fn', which is sufficient for CORBA binding development for now. I'll get back to building in the future.

3rd May 2008

1. I've Submitted Apache CLA. I'm waiting for listing my name on http://people.apache.org/~jim/committers.html page.
2. I've started to learn about extending Tuscany from http://incubator.apache.org/tuscany/sca-java-extension-development-guide.data/ExtendingTuscany-V01.pdf and from CORBA base code. I've created CorbaModuleActivator class, which plugs binding module into Tuscany. I've added following line to META-INF/services/org.apache.tuscany.sca.core.ModuleActivator (which points to previously added activator):
org.apache.tuscany.sca.binding.corba.CorbaModuleActivator
I've also updated org.apache.tuscany.sca.binding.corba.impl.CorbaBindingProviderFactory.createReferenceBindingProvider(...) method to return CorbaReferenceBindingProvider object.
I've tested CORBA base code using my sample prepared for university seminar. I've configured CORBA reference in composite file, I've "mocked" some of CORBA base code (made CorbaInvoker to return fixed response) , and successfully executed method for CORBA reference. Now it's time to know better Tuscany SPI and Tuscany/SCA specification.

6th May 2008

My full name (Wojciech Janiszewski) appeared on "Unlisted CLAs" section on the committers page.

7th May 2008

I've successfully created sample service binding provider, which was able to pass method invocation request to binded component and pass returned value as a response.

26th May 2008

First development phase officially started! Here's a little summary:
1. I've familiarized with Tuscany and binding extensions.
2. I've made several prototypes, mainly to verify CORBA API.
3. I've also fulfilled all (I hope;]) needed papers (both Apache Software Foundation and Google).

News related to project:
1. Task Implementation of interface-corba-idl module was postponed to Second development phase (see project timeline).
2. Currently I'm working on Implementation of tuscany-binding-corba part I: binding.corba for SCA references task. I'd like to have some working and tested code submitted by the end of the week.

30th May 2008

I've submitted first portion of code. Patch is available and ready to review as jira issue: https://issues.apache.org/jira/browse/TUSCANY-2357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

6th June 2008

Patch accepted, I've also sent patch with Apache license headers. Now working on exception handling. I've encountered some doubts, which may block my progress: http://marc.info/?l=tuscany-dev&m=121267184106875&w=2

9th June 2008

Next patch is ready to be accepted:
1. Translating remote exceptions into user declared exceptions
2. Some exception handling
3. Obtaining and using CORBA references
4. Tests for 1 and 3 - idl files and generated classes added
5. tester.idl was moved to general_tests.idl

I've also created child page, which should help to gather all current/previous topics related to CORBA reference binding: http://cwiki.apache.org/confluence/display/TUSCANYWIKI/CORBA+reference+binding+features%2C+bugs%2C+issues

 18th June 2008

Next patch was submitted and applied:

1. Module corba-binding splitted into two modules:
a. model module: binding-corba
b. runtime module: binding-corba-runtime
2. Multiple declared exceptions handling

Jean-Sebastien Delfino requested to create some host modules for ORB: https://issues.apache.org/jira/browse/TUSCANY-2397

19th June 2008

I've submitted patch which adds:
1. enum types
2. validation of user provided java interface (structs, enums, exceptions)
3. some tests to 1 and 2

23rd June 2008

I've submitted patch which includes:
1. General servant class for serving Tuscany components via CORBA (class DynaCorbaServant) - it still requires some work. It uses TypeHelpers created earlier - they are common for marshalling/unmarshalling CORBA objects in reference and service cases
2. Minimal mock implementation of RuntimeComponentService (needed for tests)
3. Tests
4. Update of some previously generated stubs/skeletons (IDs weren't previously changed due to package change)

24th June 2008

I've submitted patch which includes:
1. Service side: validation of component interface (if it's matchable to CORBA), caching operations arguments types
2. BAD_PARAM exception handling (both service and reference side)
3. JUnit Tests 

 25th June 2008

I've submitted patch for host-corba module request.

26th June 2008

Todays patch contains:
1. Bugfix for host-corba module.
2. CorbaBindingProviderFactory, CorbaReferenceBindingProvider, CorbaServiceBindingProvider, CorbaInvoker classes now uses DynaCorbaRequest, DynaCorbaServant and host-corba API - so service/reference bindings are enabled, and can be tested - I've successfully made simple scenario.

 30 June 2008

Changes included in this patch:
1. itest module for corba binding
2. few fixes which appeared during itest module development

Tests for binding-corba-runtime may hang on @AfterClass, I'm looking for cause.

  • No labels