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

Compare with Current View Page History

« Previous Version 4 Next »

Google Summer of Code 2008 (GSoC08)

Integrate Google services in SCA compositions(Apache Tuscany) - Haibo Zhao

Sub-title: GData binding in Apache Tuscany

Project Overview

Organization/Project

Apache Software Foundation/Tuscany

Project Title

Integrate Google services in SCA compositions(Apache Tuscany)

Mentor

Luciano Resende

Project Abstract

Tuscany delivers a powerful and flexible framework to simplify development, assembly, deployment and management of composite applications in SOA. It assembles new and existing services to create brand new applications that may consist of different technologies such as BPEL, Spring, and SCA's Java component model. One of its outstanding features is the ability to support a variety of languages, bindings and component types in a consistent way. The extensibility of Tuscany is essential to SOA due to the requirement to leverage and integrate all kinds of technologies.

Tuscany supports various service bindings including EJB, WS-AXIS2, RMI and etc. Unfortunately, GData is not yet supported by Tuscany. GData is a new protocol based on the Atom 1.0 and RSS 2.0 syndication formats, plus the Atom Publishing Protocol. Compared with Atom and RSS, GData provides a general model to fetch feeds form resources, query information of interest in the feeds and represent results. GData Users can also perform updates to any services that have GData interfaces while supporting optimistic concurrency and authentication. Adding binding support of GData will not only improve the original support of Web feeds, but also give Tuscany the ability to integrate popular Google services and other web accessible services with GData interface. GData supporting will be a significant reinforcement of Tuscany.

This project will mainly focus on adding GData binding to Apache Tuscany to allow users to integrate SCA compositions with Google services, and in a wider range, any web accessible applications and services with GData interface. This process inevitably involves dependencies to the other aspects of Tuscany as well. So the project requires a good in depth understanding of the overall Tuscany structure, especially the binding extension mechanism.

Project Proposal

http://denali.cs.uga.edu/gsoc/gsocProposal.pdf

Project Blog

http://gdatabindingtuscany.blogspot.com

Contact

haibo82 AT gmail.com

Project Plan and Roadmap

Time period

Task

April 14

Accepted proposals announced.

April 15 - May 25
(Community Bonding Period)

I will read materials (Tuscany developers' documents and source code, GData documents and APIs) to get a better and deeper understanding of the architecture of Tuscany source code and GData APIs. I will keep interacting with the Mentor(s) and understand the intricacies of the existing system by the end of May.
We will agree on the project objectives, plan and schedule; we will also achieve a common agreement on implementation issues like license, coding style, document style and conventions as well.
A "Hello Word" development and testing environment will be built by then.

May 26

Project designing and coding officially start.

May 27 - July 6

Project designing and implementing, the focus of this period is class design and implementation.
A UML class diagram will be produced to analyze and design the relationships and structure of the classes. The produced class diagram will be served as the major communication tool between the mentor and me. We will discuss in detail the class design and java patterned being used.
The implementation will be based on the UML class design, we will take full advantage of Junit testing and follow a testing-driven fashion to implement and test our code.
The source code for Atom binding has provided me a good example to learn from and start with.

July 7 - July 14

Preparing and submitting Mid-term evaluations.

July 15 - August 10

Continuing and warping up project implementation, the focus of this period is to complete coding and conduct comprehensive tests.
Available Google services with GData support will be tested comprehensively, test results will be analyzed to locate and fix bugs.

August 11 - August 18

Finalize and refine project code and documents.

September 1

Preparing and submitting Final evaluation

September 3

Submitting required code samples to Google

Project Log and To-Do list

Expected finish time/Deadline

Activity

Status

June 9, 2008

4th weekly progress report to mentor

To-Do

June 5-6, 2008

Complete the UML class diagram and discuss it in the Tuscany community

To-Do

June 2, 2008

3rd weekly progress report to mentor

Done

June 1, 2008

Start designing UML class diagram of gdata binding

Started but not completed

May 29, 2008

Analysis Atom binding implementation

Done

May 26, 2008

2nd weekly progress report to mentor

Done

May 26, 2008

Create Project wiki

Done

May 25, 2008

Decide license, coding style and Eclipse style file

Done

May 24, 2008

Read Developer Guide and Extension Guide

Done

May 19, 2008

1st weekly progress report to mentor

Done

May 17, 2008

Create Project Blog

Done

May 16, 2008

Mail Apache CLA

Done

  • No labels