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

Compare with Current View Page History

« Previous Version 21 Next »

(Under construction!) Apache Tuscany CORBA support, GSoC proposal

Candidate: 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.

CORBA (Common Object Request Broker Architecture) is a technology which provides communication between objects running in heterogeneous environments. Thousands of CORBA installations were used since first implementation was published. Opportunity to integrate many legacy enterprise systems which uses CORBA is a good reason to implement CORBA support in Apache Tuscany.

Apache Tuscany, as an implementation of SCA, offers integration with external services via binding extensions mechanism. The goal of the project is to provide binding extensions for consuming/serving CORBA objects.

2. Description

2.1 Functional scope

CORBA support for Apache Tuscany will be divided into several functionalities.

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 deliverables 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.
  • 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

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.
  • Documentation update.

July 7 - July 10

Midterm evaluation

Submitting mid-term evaluation.

July 11 - 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.
  • Documentation update.

August 12 - August 18

  • Code/documentation review.

August 18 - September 1

Final evaluation

Submitting final evaluation.

About me

I am currently computer science student as well as professional IT consultant. Apart from my IT interests I enjoy journeys, sport, playing guitar, books, classic cinematography and video games.

Education

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

Qualities

  • 3 year Java programming experience (J2SE, J2EE, J2ME)
  • 1.5 year professional experience - Java, PL/SQL programmer, integration with BPEL engine
  • 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 get into SOA and related technologies. Joining project is great opportunity to direct personal development which can be combined with fulfilling university responsibilities. Participation in GSoC is also chance to get into community and experience work on an open source project. But most of all what I expect is pure fun doing things I'm really interested in.

  • No labels