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 and . It also simplifies implementation of Service Oriented Architecture (SOA) paradigm. Ease of development using various platform services and SCA 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, can integrate offers integration with external services by via binding and interface extensions mechanisms. The goal of the project is to provide binding 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 26Project should be separated into several functional modules.
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 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:
...
- 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 evaluationsevaluation.
July
...
11 - August 11
Second phase of the development.
- Implementation of tuscany-binding-corba part II: binding.corba for SCA services
- implementation 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, will finish likely 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 academic and commercial Java programming experience (J2SE, J2EE, J2ME)
- 1.5 year of experience as an IT consultant (professional experience - Java, SQL programmer)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 support project matches my personal interests. Standing in front of choice of master's thesis subject I decided to go deeper in get into 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
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.