Versions Compared

Key

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

CORBA support for Apache Tuscany

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. It also simplifies implementation of Service Oriented Architecture (SOA) paradigm. Ease of development using SCA by combining various service platforms 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. It made significant contribution into distributed computing by a well defined standard; innumerable of CORBA installations were used since first implementation was published. Integration with legacy systems is important part of SOA, so having possibility to integrate with CORBA technology would be great advantage of SCA runtime.

Apache Tuscany, which is an implementation of SCA, offers integration with external services via binding and interface extensions mechanisms.

Extension to Apache Tuscany for CORBA support

1. General

This is main page for Apache Tuscany CORBA support project.
The goal of the project is to provide above-mentioned extensions for consuming/serving CORBA objects.

Personal motivation

My interest on project came from Google Summer of Code 2008 program.
I found Apache Tuscany and Apache Tuscany CORBA support project matches my personal technical interests. It's also great opportunity to join and realize my university projects and determine my personal development path.

2. Scope

Project should be separated into several functional modules.

2. Description

2.1 Functional scope

CORBA support for Apache Tuscany will be divided into several functionalities. It's only a draft, so further details should be discussed before May 26.

2.1

...

.1 binding.corba for SCA references

Enables accessing existing CORBA services from SCA components.

...

From technical point of view module will be substitute for classes generated by ildj 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 codeabove code would be used.

2.1.2 binding.corba for SCA services

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

...

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

Defining interfaces for component services/references.

2.1.4 Support mapping from Java/WSDL to IDL

No detailed information available yet.

...

2.2 Modules

Physical delivarables 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 and also professional IT consultant. My interest in IT started in high school, it was the time when I began to learn Pascal programming language and GNU/Linux OS. Nowadays I am familiar with many modern technologies but goal remains the same: joy of software development. 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, integration with BPEL
  • familiarity with basic tools: Maven, Log4J, JUnit
  • familiarity with technologies: WebServices, CORBA, PVM
  • 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 support for CORBA 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 great opportunity to learn methods of open source development. By its distributed nature it is also great opportunity to exchange knowledge and experience with people all around the world. Taking part in the most important event of student-IT world is very exciting for every young passionate programmer.

What I expect from GSoC is an instructive experience and fun. From my own I offer full-time engagement, responsibility and will to learn and improve.