Hi,
I have applied for the project to implement wsdl2c in c language for
google summer of code. My proposal for the project is attached with here.
Thank you
Regards
Dimuthu
Google Summer of Code 2006 â Project Proposal
Name
--------
Dimuthu Gamage
Email
--------
[EMAIL PROTECTED]
[EMAIL PROTECTED]
IM
---
dimuthucg (yahoo)
Project
--------
C Implementation of WSDL2C Code generator for Axis2/C
Project Detail
--------------
This is an attempt to implement a WSDL2C code generator in C language following
the same architecture of Apache WSDL2Java Code generator. The idea is to
generate both service deployment and client side code for a particular web
service from its WSDL(Web Service Description Language), making the task of web
service programmers quick and effortless.
The main feature of this tool would be the higher extensibility. It is targeted
to be achieved in two different ways.
-First by providing a template like mechanism to allow extend it to generate
codes for any language. But as the first Step it would be default to Apache
Axis2/C clients.
-Second by giving an interface to build extensions which allow to add new
features to the main core engine.
The ultimate goal of the project would be to provide an executable WSDL2C tool
and a simple API which make it possible to plug the code generator into famous
IDEs like Eclipse/ Microsoft Visual Studio. The most challenging part of the
project is to keep high performance and modularity provided by the Axis2C Web
services engine and generate the most optimized code from any complex Web
service Description.
Deliverables
--------------
-WSDL2Java template to extend it capabilities to generate Axis2/C clients and
service deployment code.
-Implementation for the WSDL2C code generator in C language following the same
architecture in WSDL2Java.
-Documentation for continuations the project with guides for develop
extensions and templates.
-Setting up the Project Web site.
-Release WSDL2C 1st Milestone.
Project Plan
------------
-Initial Setup -Planned to finish by 31st May
Include reading and understanding the WSDL2Java Architecture and the source
tree and generate Axis2/C clients using it.
Study the Axis2/C WSDL object model and come up with a Specific architecture
for the C implementation.
-Initial Implementation- Planned to finish by 10th July
Design the framework with the support for extensibility.
Add basic features as extensions to test the framework.
Prepare documentation for the mid evaluation.
-Adding Features - Planned to be ended in 31st July
Implement web service specifications as extensions to the framework
Extension to validate code.
-Finalize and Release -
Fix Memory leaks and clean up the code.
Prepare samples and documentations.
Build the project website.
Biography
---------
I am a third year student specializing Computer science and Engineering for my
B Sc Engineering degree in University of Moratuwa in Sri Lanka. I am very new
to Open source software development but I have contributed to some non-open
source projects previously including a local competition held by National
Institute of Education in last year (2005) for best educational software and
was placed the runner-up. My project was to make a simulator for chemical
organic reactions targeting the syllabus of local Advanced level examination.
Some of my projects are listed in www.cse.mrt.ac.lk/~dimuthu/projects.htm
Recently web services become my first interest as I have good guidance from web
service implementors who works on Apache Axis2 Project. I have written client
programs using Apache Axis2/C web service engine to invoke simple web services
like Google spell check. And requirement of a code generation tool arouse when
trying to handle complex web services. These days I am working on developing a
Mozilla extension for consuming Web services using Axis2/C engine and I was
successful in implementing XML in/out model and asynchronous invocations with a
very similar API as AJAX.
Motivation
----------
Although I have not directly contributed to Axis2/C project yet, I've been
very much aware of the project for the last few months by lurking in the
mailing lists. I often download the latest source from SVN and refactor my web
service clients accordingly. I have come across several bugs in the engine when
I run clients and fixing these bugs have made the code more robust.
I feel Google summer of code would provide me a good opportunity to get
involved in the Apache Web Service Projects as a university student. WSDL2C
code generator would be a key module of the Axis2/C project as the users of the
main product will definitely depend on this. I hope I can accomplish this in
time with the guidance of people who implement the WSDL2Java tool and who are
working on Axis2 projects.