Google Summer of Code 2008 – Project proposal
Integrate Expat parser into Axis2/C soap engine
vpjayasiri at gmail dot com
I will introduce Expat XML parser to AXIS2/C. Expat is probably the world fastest XML parser and it is a very robust parser. Expat will be plugged into Axis2/C through a wrapper using the XML reader/writer interface of Axiom.
This project will consist of developing a pull layer and a Expat XML writer/reader wrapper for Axiom.
Expat is a push parser and Axiom interface is for a pull parser. Therefore a pull layer should be introduced to bridge them. The pull layer should be implemented with internal call-back handlers on top of Expat. The main challenge would be adding a pull interface to Expat without reducing its performance.
With the introduction of the functions XML_StopParser and XML_ResumeParser it is possible to stop and resume parsing easily enabling pull parsing. These functions had been added specifically for this purpose. However, these functions will become obselete with Expat 3 release3.
There are some third party pull layers on Expat; therefore it is possible to examine how they have done it. Expat is also working on a Pull API project and it would be possible to get their ideas on this as well.
1. Expat read/write wrapper for Axiom.
2. Unit test cases.
1. Analysis and Design
Analyze the Expat parser and the interface of the Axiom and design a pull-layer for expat. A great attention will be given for performance of the parser at this stage.
-until end of May
Deliverables: Design documentation
Implement the pull layer for Expat and the wrapper to bridge it with Axiom. All code will be tested using unit tests.
-until mid August
Deliverables: A working Expat integration
3. Final Touch
Running complete tests with the help of the community and doing final touches to the code and documentations.
-until end of August
Deliverables: Completed Expat integration with documentation and test data
I’ve been very enthusiastic about computers from my early ages and I participated in International Olympiad in Informatics 4 times and won a gold medal and 2 silver medals. I also participated at ACM regional’s in Kanpur4, India with the team which was placed fourth. I was also in the team that developed Sinhala Search – the first Sinhala search engine5. I have worked as a SAP developer at MAS Intimates and as a web developer at Paradox Software.
Although I haven't been involved in open source projects before I have been doing similar projects at my workplaces, and I have about 5 years of experience of programming with C/C++. Therefore, I think I will be able to develop a robust Expat integration for Axiom.
[http://www.cse.mrt.ac.lk/~premalwd/Projects/Guththila.html Guththila-Soap Parser] (2)
[http://www.topcoder.com/tc?module=MemberProfile&cr=21475659 My Topcoder Profile] (6)