Google Summer of Code 2007
Proposal for JSON Support for Apache Axis2/C
- T.G. Kasun Indrasiri
- Mr. Nandika Jayawardana
- JSON Support for Axis2/C
The mapping between XML and JSON is a critical factor. The direct mapping between XML and JSON is possible owe to the close relationship between XML and JSON. The conversion from XML to JSON or JSON to XML is pretty straight forward, but the problems arise when we are converting back to the original form from a converted form. In order to refrain from these issues various mapping conventions are used. Since there no standard convention in this process, ‘JSON Support for Axis2/C’ features a couple of most popular standards. The conversions that are going to be supported in this implementation are Badgerfish and Mapped conventions.
- An object model for JSON. This model should be build able from an incoming JSON string and also programmatically.
- A parser capable of parsing the JSON object model in memory and producing Stax events.
- Parsers and JSON object serializes for each and every supported conventions.
- Modify Axis2C internal working so that it can switch between parsers for XML messages and JSON messages.
- Samples capable of sending and receiving JSON strings (Yahoo has JSON web services API).
- Appropriate development documentation for continuation of the project and user documentation.
- Badgerfish convention
- Mapped convention
My objective is to provide Axis2C, the capability to populate and consume web services that use JSON. As the first step I’m going to implement a JSON object model. After the creation of the JSON object model the implementation of the parsers should be start. In this case there should be two parses to be implemented for each convention. The Badgerfish parser and Mapped parser both has reader and a writer. Thereafter the parses should be integrated with Axis 2/C
March 24th to April 11th The time since acceptance of projects and start of coding will be spent finalizing the design of the project. This will be done mostly using the Axis2C-dev lists.
April 11th to May 11th Implementation of the JSON object model is done in this period.
May 11th to June 11th Mapped (convention) parser implementation. This includes both the writer and reader implementations for Mapped Convention JSON.
June 11th to July 11th Badgerfish (convention) parser implementation. This includes both the writer and reader implementations for the Badgerfish Convention JSON.
July 11th August 20th Integration of the parsers, with Axis2/C. Writing and testing the test samples. Test samples will be written using an existing JSON web service API.
I’m a Computer Science and Engineering undergraduate in Department of Computer Science and Engineering, University of Moratuwa, Sri Lanka. I have gained considerable amount of experience and knowledge on open source projects during my Software development career. In addition to that I used several open source products in the software development projects that I have involved with. I’m so impressed about the performance and the usability of Apache Software Foundation’s open source projects. It’s a great experience and pleasure to join and contribute to the ASF projects and it would really help me out to shape up my future career.
University of Moratuwa, Sri Lanka. (http://www.mrt.ac.lk)
Computer Science and Engineering Department (http://www.cse.mrt.ac.lk)