You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Shenglin Qiu <da...@hotmail.com> on 2011/04/03 21:05:30 UTC

GSoC - (CXF-3388) Expose CXF JMX MBeans as the JAX-RS resources

Proposal Title: Expose CXF JMX MBeans as the JAX-RS resources, CXF-3388

Student Name: Shenglin

Apache registered account alias: Travis

Student E-mail: dabaipang@hotmail.com

IM: qslnewyork@yahoo.com

Phone: please email and will reply with it.


Project/Mission Description
Original Description CXF-3388:
The JAX-RS application exposing CXF JMX MBeans over HTTP needs to be added to the rt/management-web component.

My Abstract:
Add a web module with json or simple GET/POST string capability connecting to CXF inbound server, return CXF JMX MBean info and display it on web page.
Please note: this is my initial understanding from the first round study, most probably, isn't mature, but I am 100% willing to take engineers and mentors' ideas.

*Why This Project* 
I have been using Java, including core Java, Spring, Hibernate, Apache open sources, JSF, Struts2, Vaadin, GWT in projects both professionally and academically around 3-4 years, I have been using plain Javascript and Jquery professionally around 2 years. I am very comfortable with the projects based on Java and Javascript.

Meanwhile, as a Java developer, I constantly involved in both front end and back end development, from my past experiences on https://boost.att.com, https://ct.att.com, http://www.key2world.com, http://www.bebeme.com, 2 major academic research projects(search engines' performance analysis) by core java, I have gained all kinds of development/research knowledge. In all my development memory, Apache open source is always the first dependency I need to add, it provides great tools, such as String checking, credit card info checking are the 2 used most frequently. CXF is the only one I would pick for light/middle weight web service development, I have studied CXF and Axis2, and I feel CXF offers way better development approach, in terms of modern JEE style, including the configuration xml style and integration with Spring. 

Apache Foundation is the first group I picked in GSoC, and when I see CXF, I feel so exited and it must be the one I have to try to join. Meanwhile, after reading GSoC application principles, I realize and understand the fact that this is not just for students who want to kill some time in summer, it's a serious project with clear approaches and goals, everyone must take their best efforts to get involved with. Therefore, I must wisely choose a GSoC project in Apache with my current knowledge pool and comfortable programming language, in terms of maximizing the chance to get enrolled. CXF-3388 fits perfectly with my target.


Proposal Timeline and Project Plan
Before April 18(GSOC application deadline):
    * Join CXF discussion group with related engineers, mentors.
    * Learn the final goal of this project, what it could be like and what CXF engineers and mentors what it to be like.
    * Study CXF JMX MBean.
    * Discuss all necessary web approaches which could be used in this project, e.g. server technology: plain servlet, Spring MVC, JSF, GWT.... / web container, jetty, tomcat....
    * Design the inbound server prototype which is with JMX MBean enabled.
    * Design the prototype of clients which is for testing purposes.
    * Discuss the look & feel in UI.

April 18 – Before the official coding time:
    * Finalize the project plan and developing schedule which must include a review/qa session
    * Build inbound prototype from the discussion results and gain experiences on this JMX MBeans addon in CXF

Official coding period starts:
(If I was lucky enough to get enrolled, this section will be significantly grown and detailed during the pre-step)
May - July
    * Coding
    * Keep in touching with relative CXF engineers, mentors, on design, and review.
July - Aug
    * QA
    * Code review
    * Documentation.

Personal Introduction
I have been using Java for academic research and work for about 3 years. I am currently a computer engineering  student, and have F1 visa in US. (Visa status: F1, expiration data: Aug 31, 2011, will have the chance to extend it to December 2011 if it's necessary).

Professional experiences:
http://www.key2world.com  Java developer 
http://www.bebeme.com     .Net developer 

Academic experiences:
Web data mining: explore the search ability of search engines (SUNY Binghamton University, Mar, 08 – May, 09)
A meta-search engine for finding semiconductor devices (SUNY Binghamton University, Sep, 07 – Dec, 07)

I have good experiences in using cxf for ws outbound call and good practices in inbound server. I think it's amazing if I could have this opportunity to make a further step.

Please feel free to contact me for further questions.

Note
Above plans and ideas could be very 'junior', all suggestions, advices and helps are more than welcomed.

Very appreciate anybody's reply at this moment.


Regards:
Shenglin Qiu
01/Apr/2011 		 	   		  

Re: GSoC - (CXF-3388) Expose CXF JMX MBeans as the JAX-RS resources

Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi Shenglin

thanks you for this introduction, it is very impressive.

What we are trying to do in CXF is to have a UI suite dedicated to
presenting various management-related information, reflecting the way a
given CXF server operates. Exposing active CXF MBeans as JAX-RS resources is
another step in this direction.

I reckon this project can be split in three parts:

- Understanding how CXF interacts with the JMX MBeanServer and checking
which CXF resources are exposed as JMX MBeans and how they can be monitored
with the help of say JConsole.

- Exposing active CXF MBeans as JAX-RS resources (rt/management-web module)
- this is the main task of this project. A top-level root resource will
likely represent an MBeanServer instance CXF MBeans have been registered
with, and this resource will allow for working with individual MBeans,
exposed as JAX-RS subresources. Note that at this stage it would be
sufficient to have say an XML and JSON representations supported only - the
focus here is to make the interaction right, and we can deal with the
presentation aspects at the next stage.

- Finally, have an HTML view of the CXF MBeanServer created; and optionally,
only of the time allows, have it embedded as another UI tab in what is
currently called a LogBrowser UI (also in rt/management-web).

Overall, I think it can become an interesting project which will continue
its life even after GSOC 2011 ends.

If you are interested then I can become your mentor.

You may want to start exploring how CXF MBeans are exposed via JMX, please
check:
http://cxf.apache.org/docs/jmx-management.html

That can be a good starting point. Next you may want to check how CXF
interacts with the JMX internally as it is likely the top-level JAX-RS
resource will have to interact with MBeanServer as well, this is where the
code is located:

http://svn.apache.org/repos/asf/cxf/trunk/rt/management/

Next we will introduce a top-level JAX-RS resource which will connect to
MBeanServer in order to get the list of CXF MBeans and proceed from there

thanks, Sergey




On Sun, Apr 3, 2011 at 8:05 PM, Shenglin Qiu <da...@hotmail.com> wrote:

>
> Proposal Title: Expose CXF JMX MBeans as the JAX-RS resources, CXF-3388
>
> Student Name: Shenglin
>
> Apache registered account alias: Travis
>
> Student E-mail: dabaipang@hotmail.com
>
> IM: qslnewyork@yahoo.com
>
> Phone: please email and will reply with it.
>
>
> Project/Mission Description
> Original Description CXF-3388:
> The JAX-RS application exposing CXF JMX MBeans over HTTP needs to be added
> to the rt/management-web component.
>
> My Abstract:
> Add a web module with json or simple GET/POST string capability connecting
> to CXF inbound server, return CXF JMX MBean info and display it on web page.
> Please note: this is my initial understanding from the first round study,
> most probably, isn't mature, but I am 100% willing to take engineers and
> mentors' ideas.
>
> *Why This Project*
> I have been using Java, including core Java, Spring, Hibernate, Apache open
> sources, JSF, Struts2, Vaadin, GWT in projects both professionally and
> academically around 3-4 years, I have been using plain Javascript and Jquery
> professionally around 2 years. I am very comfortable with the projects based
> on Java and Javascript.
>
> Meanwhile, as a Java developer, I constantly involved in both front end and
> back end development, from my past experiences on https://boost.att.com,
> https://ct.att.com, http://www.key2world.com, http://www.bebeme.com, 2
> major academic research projects(search engines' performance analysis) by
> core java, I have gained all kinds of development/research knowledge. In all
> my development memory, Apache open source is always the first dependency I
> need to add, it provides great tools, such as String checking, credit card
> info checking are the 2 used most frequently. CXF is the only one I would
> pick for light/middle weight web service development, I have studied CXF and
> Axis2, and I feel CXF offers way better development approach, in terms of
> modern JEE style, including the configuration xml style and integration with
> Spring.
>
> Apache Foundation is the first group I picked in GSoC, and when I see CXF,
> I feel so exited and it must be the one I have to try to join. Meanwhile,
> after reading GSoC application principles, I realize and understand the fact
> that this is not just for students who want to kill some time in summer,
> it's a serious project with clear approaches and goals, everyone must take
> their best efforts to get involved with. Therefore, I must wisely choose a
> GSoC project in Apache with my current knowledge pool and comfortable
> programming language, in terms of maximizing the chance to get enrolled.
> CXF-3388 fits perfectly with my target.
>
>
> Proposal Timeline and Project Plan
> Before April 18(GSOC application deadline):
>    * Join CXF discussion group with related engineers, mentors.
>    * Learn the final goal of this project, what it could be like and what
> CXF engineers and mentors what it to be like.
>    * Study CXF JMX MBean.
>    * Discuss all necessary web approaches which could be used in this
> project, e.g. server technology: plain servlet, Spring MVC, JSF, GWT.... /
> web container, jetty, tomcat....
>    * Design the inbound server prototype which is with JMX MBean enabled.
>    * Design the prototype of clients which is for testing purposes.
>    * Discuss the look & feel in UI.
>
> April 18 – Before the official coding time:
>    * Finalize the project plan and developing schedule which must include a
> review/qa session
>    * Build inbound prototype from the discussion results and gain
> experiences on this JMX MBeans addon in CXF
>
> Official coding period starts:
> (If I was lucky enough to get enrolled, this section will be significantly
> grown and detailed during the pre-step)
> May - July
>    * Coding
>    * Keep in touching with relative CXF engineers, mentors, on design, and
> review.
> July - Aug
>    * QA
>    * Code review
>    * Documentation.
>
> Personal Introduction
> I have been using Java for academic research and work for about 3 years. I
> am currently a computer engineering  student, and have F1 visa in US. (Visa
> status: F1, expiration data: Aug 31, 2011, will have the chance to extend it
> to December 2011 if it's necessary).
>
> Professional experiences:
> http://www.key2world.com  Java developer
> http://www.bebeme.com     .Net developer
>
> Academic experiences:
> Web data mining: explore the search ability of search engines (SUNY
> Binghamton University, Mar, 08 – May, 09)
> A meta-search engine for finding semiconductor devices (SUNY Binghamton
> University, Sep, 07 – Dec, 07)
>
> I have good experiences in using cxf for ws outbound call and good
> practices in inbound server. I think it's amazing if I could have this
> opportunity to make a further step.
>
> Please feel free to contact me for further questions.
>
> Note
> Above plans and ideas could be very 'junior', all suggestions, advices and
> helps are more than welcomed.
>
> Very appreciate anybody's reply at this moment.
>
>
> Regards:
> Shenglin Qiu
> 01/Apr/2011




-- 
Sergey Beryozkin

Application Integration Division of Talend <http://www.talend.com>
http://sberyozkin.blogspot.com