Google Summer of Code 2010 – Project Proposal

Subject ID

CXF-2736 (task ID in ASP JIRA)

Title

Simple and lightweight Atom HTML-based browser for CXF logs

Author

Tomasz Oponowicz

Email

tomasz dot oponowicz at gmail dot com

Assigned Mentor

Sergey Beryozkin

Abstract

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.

Project Description

Apache CXF is an open source services framework [1]. 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:

Implementation details

The browser will communicate asynchronously with AtomPullServer endpoint to retrieve specified page, filter entries etc [3]. Data will be exchanged asynchronously (AJAX requests) for higher performance. The browser will be implemented using JQuery [4].

After collecting requirements from a user, the browser will convert it into a FIQL query and issue a request to AtomPullServer [5].

AtomPullServer class should be extended to provide filtering entries by phrase, event level or date range. Support for JSON response will be also added.

Abstract helper (dedicated for ReadWriteLogStorage and ReadableLogStorage interface) will be implemented to support saving / reading events to / from external source.

Atom authentication have to be added by using WSSE UserToken.

All code will be added to “rt/management-web” component.

Project Timeline

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

I am going to enhance browser implementation. I will implement unit tests for JavaScript using QUnit library [6]. I will create minimalistic layout using CSS. Then I will implement Atom authentication.

August 8 to August 16

Writing documentation and reference for easy creating another management panels. I will finish all the tasks.

About me

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 [7]. 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 [8], data binding library, for Software Developer's Journal magazine [9] (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.

References

soc2010-cxf2736-proposal (last edited 2010-04-03 13:12:51 by TomaszOponowicz)