Google Summer of Code 2007 Project Proposal
Implement mail transport(SMTP/POP3) support for SOAP 1.2 for Axis2/C
Implementing Mail Transport (SMTP/POP3) support for SOAP 1.2 for Axis2/C
Apache Axis2/C is the C implementation of the Apache Aixs2 architecture in C. Currently Axis2/C use HTTP as the general transport. The aim of this project is to give Axis2/C mail transport supports (SMTP/POP3) following the same architecture of Apache Axis2/Java mail transport support. The project is going to be done using the SOAP 1.2 binding to mail transport http://people.apache.org/~pzf/SMTPBase64Binding-0.2.html and SOAP 1.2 Email bindinghttp://www.w3.org/TR/2002/NOTE-soap12-email-20020626.A diagram describe the path of a SOAP message through Mail Trnasport avalable here http://wiki.apache.org/general/RajikaKumarasiri/GSoC2007/progress
This approach ensures that the SOAP message is attached as a Base64 encoded MIME attachment. And the aim of this approach is to reduce the chance of mail scanners and SPAMS filters modifying the SOAP body.
At the end users can use mail transport for Axis2/C in addition to the HTTP transport. Main features of the project will be as follows. And also the project will be done keeping extensibility in mind letting other protocols(ex.IMAP4) to be plugged.
1. Allows users to use mail transport
2. Implement SMTP/POP3/MIME Base64 Transport Binding for SOAP 1.2 for Axis2/C
1. The mail (SMTP/POP3) transport supports for Axis2/c.
2. The documentation of the project including user guides and manuals.
3. Release 1st Milestone.
I arranged my development cycle of the project into four steps. I try to stick to this schedule as far as I can and get valuable feedback from my mentors. I hope to follow the open source software development methods in my project by appearing in the Axis2/C development mailing list and other Axis2/C related communities.
1. Initial planning and designing of the project- to be finished by 31st May
Within this period I will look into understand the Axis2/Java architecture of SMTP/POP3 binding. This includes the study of the existing architecture and designing the C specific architecture for the project.
Deliverable(s): Architectural design description
2. Implementation of the design – to be finished by 5th of July
This time will be spent to implement the design which is specified in the step1. This period will be the main development period where development and debugging will be taken place. At the same time get ready for mid evaluation.
Deliverables(s):Prototypes and documentation for the mid evaluation.
3 .Modifications and samples – to be finished by 1st of August
This period will be taken to add new features, modify the code for deliverable and to write samples and tests to show how the clients can use the SMTP/POP3 transport.
Deliverable(s) : Samples and test with improved code.
4. Final code touch ups and completion of the documentation- to be finished by 13th of August
During this stage the code would be format and tested rigorously for the production quality codes. Documentation would also be completed for the final evaluation.
Deliverable(s) : Final product and Documentation
In addition to these this I wrote a simple game in C programming language(which includes GTK+). And also I developed a ship positioning system which is capable of indicating the ship location on maps. I donate it to Sri Lanka Navy. A detailed description about these projects can be found by following the above project link.
I finally believed that by involving in this kind competition will provide me a good opportunity to involve in open source projects. Google summer of code is a good competition to apply my theoretical knowledge to something useful which is going to be used and improved by the rest of the community. That is my motivation towards this competition.
2. SOAP 1.2 Email binding([ http://www.w3.org/TR/2002/NOTE-soap12-email-20020626])
3. My project page (http://www.cse.mrt.ac.lk/~danrkuma/project.html)
4. Department of Computer Science (http://www.cse.mrt.ac.lk/)