Google Summer of Code 2007 Project Proposal
Implementing JSON Support for Axis2/C
JSON (Java Script Object Notation) http://www.json.org/ is data exchanging text format which similar to XML. As name implies it based on java scripting language. Axis2/Java implementation is already has JSON support http://jettison.codehaus.org/. The aim of this project is to provide JSON support for Axis2/C. It will improve the utilization of Axis/C as same as the Axis/Java does. http://wso2.org/library/768,
I have planned the project with several phases. I also want to get the feedbacks from mentors at each phase. Testing will be done continuously during the project whenever possible. I hope to present in the Axis2/C development mailing list and other Axis2/C related communities during the project period.
Phase 1: Initial planning & design
During this phase I hope to study more about Axis2/C in some depth and specially identify the usage and integration of JSON to XML mapping module in axis2/C context.
- Deliverable(s) – Design of the module
- Estimated completion date – May 31st
Phase 2: Prototype of JSON Lexicon analyzer and Syntax parser
Implementation of lexicon analyzer for tokenizes JSON text. Implementation of parser for syntactic analyze and implement syntax tree. These phases will firmly follow the specifications given at http://www.json.org/ and RFC 4627 In case of syntax error in JSON text, this module will return syntax error description which would be useful write logs and diagnostic purposes. Testing will be done against carefully selected sample sets
Deliverable(s) – Lexical analyzing & parsing module
- Estimated completion date –June 30th
Phase 3: XML mapping for “Badgerfish” convention
Further modifications will be done for JSON Lexicon analyzer and Syntax parser, based on feedbacks from mentors. During this phase, I hope to study “Badgerfish” XML convention and implement the mapping mechanism. Testing will be done against carefully selected sample sets
- Deliverable(s) – Module with capability of JSON to Badgerfish
- Estimated completion date – July 20th
Phase 4: XML mapping for “Mapped” convention
Further modifications for above mentioned module will be done. I also plan to study “Mapped” XML convention and implement the mapping mechanism for that. Testing will be done against carefully selected sample sets
- Deliverable(s) – First release of the complete module
- Estimated completion date – July 31th
Phase 5: Final touchups, further testing and completion of documentation
During this phase, codes will be refactored, a complete testing will be done against a large set of samples set, fix any memory leaks and optimizes the module. Documentation will also be done for evaluations.
- Deliverable(s) – Final release of the complete module which includes code and complete documentation
- Estimated completion date – August 20th
Currently I am final year undergraduate student in Department of Computer Science & Engineering of University of Moratuwa , Sri Lanka (UoM) - the leading Engineering university in Sri Lanka.
“Language processing” is one of my key interest area in computing domain. Therefore I have studied more about different language processing techniques includes NLP (Natural language processing). I have also being as part-time lecturer in “Intelligence systems” where I was able to share my knowledge about language processing among students. I have experience on implementing language parsers with lex, yacc and I have written Prolog programs for simple English language parsers (using DCG). I have also implemented a JSON text parser for my academic assignment recently.