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

Compare with Current View Page History

« Previous Version 23 Next »

Apache Tuscany support for CORBA

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. The goal of the project is to provide above-mentioned extensions for consuming/serving CORBA objects.

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.

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 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 above 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).

This module is responsible for:

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

2.1.3 interface.idl

Support CORBA IDL as an interface definition language.

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 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 programmer, integration with BPEL engine
  • familiarity with basic tools: Maven, Log4J, JUnit
  • experience using 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 it's 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.

  • No labels