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

Compare with Current View Page History

« Previous Version 12 Next »

Apache Tuscany CORBA support, GSoC proposal

Author: Wojtek Janiszewski <wojtek.janiszewski AT gmail DOT com>

1. General

Service Component Architecture (SCA) is a standard that provides possibility to assemble various distributed applications and simplifies implementation of Service Oriented Architecture (SOA) paradigm. Ease of development using various platform services and SCA appears from unification of access method, which is transparently backed by dedicate implementation. Thus usefulness of SCA runtime depends also on number of supported platforms.

Apache Tuscany, which is implementation of SCA, can integrate with external services by binding extensions. The goal of the project is to provide binding extensions for consuming/serving CORBA objects.

2. Scope

2.1 Functionality

Project should be separated into several functional modules.

2.1.1 binding.corba for SCA references

Enables accessing existing CORBA services from SCA components.

This module is responsible for:

  • generating dynamic stubs, which proxies CORBA requests

From technical point of view module will be substitute for classes generated by idlj compiler, extended by some Apache Tuscany integration code.
Some useful code found under http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/binding-ejb (Map java interfaces to IDL and Use CORBA naming/DII to lookup and call EJBs). Code contains solution for not so trivial problem of generating dynamic stubs for CORBA objects.
It's under discussion how we use existing code.

2.1.2 binding.corba for SCA services

Enables exposing SCA component services as CORBA services (so that CORBA clients can invoke SCA).

This module is responsible for:

  • registering SCA services in Java IDL name servers
  • handling CORBA requests by some generic engine

2.1.3 interface.idl

Support CORBA IDL as an interface definition language to define interfaces for component services/references

2.1.4 Support mapping from Java/WSDL to IDL

No detailed information available.

2.2 Modules

Physical delivarables of project would be three modules:

  • tuscany-binding-corba CORBA binding extension for references/services
  • interface-corba-idl The interface extension for CORBA IDL
  • itest-corba Integration test suite for binding.corba and interface.idl

3. Timeline

Before May 26

Getting started

  • Learning Apache Tuscany and SCA standard (reading code and documentation, reviewing samples, 'playing with' Apache Tuscany.
  • Discussing problems related to project

May 26 - July 6

First phase of the development.

  • Implementation of interface-corba-idl module.
  • Implementation of tuscany-binding-corba part I: binding.corba for SCA references
  • Implementation of JUnit tests

July 7

Midterm evaluation.

Submitting mid-term evaluation.

July 8 - August 11

Second phase of the development.

  • Implementation of tuscany-binding-corba part II: binding.corba for SCA services
  • Implementation of itest-corba module.
  • Implementation of JUnit tests

August 12 - August 18

  • Code/documentation review

After August 18

Submitting final evaluation to Google.

About me

Education

  • since October 2007 - Computer Science at Polish Japanese Institute of Information Technology in Warsaw, Poland, during Master's, will finish likely in June 2009
  • October 2003 - May 2007, Computer Science at Technical University in Kielce, Poland, finished with Bachelor of Science degree

Qualities

  • 3 year academic and commercial Java programming experience
  • 1.5 year of experience as an IT consultant (Java, SQL programmer)
  • at the moment attends theoretical and practical CORBA courses
  • enthusiastic to open source software, GNU/Linux user for 6 years

Personal motivation

I found Apache Tuscany and Apache Tuscany CORBA support project matches my personal interests. Standing in front of choice of master's thesis subject I decided to go deeper in SOA and related technologies. Joining project is great opportunity to direct personal development which can be combined with fulfilling university responsibilities. No less significant is possibility to join and help community working on open source project.

  • No labels