Google Summer of Code 2010 – Project Proposal
CXF-2736 (task ID in ASP JIRA)
Simple and lightweight Atom HTML-based browser for CXF logs
tomasz dot oponowicz at gmail dot com
Simple and lightweight Atom HTML-based browser, that will be used for browsing the CXF logs. This browser will support feed paging - will let users see the contents of the current page plus it will provide an option to follow the links: next, previous, first and last page. Implementation will be based on the existing CXF JAX-RS WebClient API. All code will be added to the 'rt/management-web' module.
Apache CXF is an open source services framework . It is very advanced library with many additional tools and plugins.
Nevertheless there is still an insufficient amount of maintenance and administration tools for people who aren't developers - like administrators, testers etc. The ideal solution would be to create group of web applications for performing administration tasks - like browse logs, browse requests / responses etc. The goal of this project is to create web application for browsing CXF logs. Thanks for this CXF library will be more useful and even more easy for maintenance.
This project will implement simple and lightweight HTML-based browser for CXF logs, supporting basic navigation. The browser will contain:
- table with two column - event's date and event's body;
- different row color depending on event level;
- list of pages;
- next, previous, last and first page links;
- filtering events by phrase, event level or date range;
- atom feed for subscribing;
- auto refresh (after specified time);
The browser will communicate asynchronously with AtomPullServer endpoint to retrieve specified page, filter entries etc . Data will be exchanged asynchronously (AJAX requests) for higher performance. The browser will be implemented using JQuery .
After collecting requirements from a user, the browser will convert it into a FIQL query and issue a request to AtomPullServer .
AtomPullServer class should be extended to provide filtering entries by phrase, event level or date range. Support for JSON response will be also added.
Atom authentication have to be added by using WSSE UserToken.
All code will be added to “rt/management-web” component.
April 26 to May 24
The first week will be used to get to know the code and make some experiments. I am also planning to interact with my mentor and the other developers in the community to get much more familiar with the CXF JAX-RS and to get feedbacks from the developer community.
May 24 to June 1
I will prepare detailed design for HTML-based browser for CXF logs and discuss about it with my mentor.
June 1 to June 30
I will extend AtomPullServer and implement abstract helper to support saving / reading events to / from external source. Next I will prepare JUnit tests for AtomPullServer and related classes. In the end I will implement basic features of browser using JQuery library.
July 1 to July 12
Checking whether the application meets requirements. Testing and last improvements. Finally I will submit midterm evaluations.
July 12 to August 8
August 8 to August 16
Writing documentation and reference for easy creating another management panels. I will finish all the tasks.
I am a 23 year old student of computer science, in the 4th year of bachelor studies at The West Pomeranian University of Technology in Szczecin, Poland.
I am fan of code's aesthetic. I mainly develop enterprise applications. I have got three years of work experience in JEE and related technologies, working for BLStream . I specialize in programming distributed systems. I am using CXF for web services for a long time - since first incubator version.
I passed Sun Certified Java Programmer 6.0 exam and I also wrote an article about Dozer , data binding library, for Software Developer's Journal magazine  (it will be published in May 2010).
I would like to be totally involved in this project. I will try to carry out the project with great care. I have many hopes with this project.