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 <[email protected]> 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: [email protected] > > IM: [email protected] > > 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
