You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Ryan Zoerner <ry...@gmail.com> on 2011/04/08 09:21:41 UTC

Google Summer of Code -- Integratio​n of Apache CXF JAX-RS with EJB

Dear CXF Developer's Mailing List,

My name is Ryan Zoerner and I am a Computer Sciences Major at the University
of Wisconsin Madison. I am writing to subscribe to this mailing list because
I am interested in working on Integrating Apache CXF JAX-RS with EJB, and
that, in conjunction with Google Summer of Code. If this is not the correct
address to send this message to, I will resend it when I have been added to
the list.

A bit about my experience as it relates to this project:
I am interested in web services and web programming. A few summers ago, I
spent time going through the Java EE 5 tutorial and learning, from their ant
files, and the ant manual, how to build my own ant files and deploy servlets
and web services, including using ws-import. Now I have been going through
the Java EE 6 samples to refresh my memory about ant and learn more about
deploying and developing web applications. I know about wsdl, soap, xml, and
xml schemas; I can read WSDL and know that it only has a few different forms
basically, but I am completely comfortable writing xml, and reading xml
schemas, and dtd's. I have been learning, now, about Java Server Faces and
have skimmed through and am now reading more thoroughly, the Java Server
Faces specification (2.1) I know about MVC. I have read a book on Service
Oriented Architecture, about 3 years ago, which focused on the Enterprise
Service Bus and loose coupling and how these provided a means for
applications to communicate with each other. SOA has it's origins in trying
to make a bunch of legacy code applications work together, and potentially,
across multiple business addresses. I am familiar with annotations and have
as one of my next items to accomplish, to program a basic product-saleing
web app which makes use of the entity manager from Java EE. My present
accomplishment (which isn't much) is that I have created a web app
consisting of two xhtml pages and 2 managed beans, which accepts a user
login name and password, looks them up in Derby, using JDBC in java code,
and redirects to the new page, via a CommandButton which, corresponds to a
UICommand component in the component tree. The project packages into a
correct WAR web module; compiles from src into build, assembles the archive
in build and war's to build, then copies to dist. Until now, I have just
written the web address for the redirect in the html form, but I am trying
to find out the best way to utilize the component tree directly without
doing anything with my components which is already handled by the lifecycle
processes which happen around the component tree, since state management and
data access, for instance, are already covered. I have had data structures
(in Java), operating systems (in C), (some) algorithms, and I have had
machine programming and a C++ class also.

I am interested in doing this project because of the importance of its
implementation to the complete and correct implementation of the overall
project. I am already familiar with java beans, jsf (thus the component
processing/view rendering lifecycle and the application model). I noticed
pipelining in the CXF architecture guide and I have already, much earlier,
been interested in Cocoon and xml parsers because of the robustness --
although, at the time, a complaint of too much processing time for parsing,
existed --  of the application. Cocoon, which some or all of you might know,
is for the distribution of online content in various formats and can convert
the same xml document into html, pdf, wml, etc. The power of this is that
you only have to change one, possibly three documents, in order to edit the
content that is being distributed to so many multiple formats. So, because
of that, and because of a machine programming class, I have some exposure to
pipelining. I have an interest in web services because of the separation of
concerns aspect and because of the unique approach of uri-based resources.
Also, I have used a time-card reporting program, through the web (called
Kronos) which presented a client-web-view which was done in some form of
java gui, though it did not look like another swing web-app that I have
used. I admire this program because it doesn't really do that much. It just
keeps track of time-card information. Yet, when properly saled, it generates
large amounts of income. Not only that, although it used a gui, it loaded
relatively quickly, but passes back and receives the user-generated-, and
office-record- information via the server. I am not sure if this is a
web-service or not, but it is possible that the employee database lives at
the employer office, but is connected to, via the server, at Kronos.
Whatever the case, after I saw this program, I fell in love with the idea of
being able to present the user with a rich user interface, while also
minimizing response time by keeping as much of the application as possible
back on the server. Now, with web services, I like the idea of being able to
connect to a datasource via a web service because it enables the application
developer to make the information contained in the database available on a
web-services basis, both to the company to whom the database belongs, as
well as to the rest of the world, such as might be done in a realty website
application, where houses could be advertised for a property management
company by setting up their database for them, while publishing it through a
web-service interface, and also, accessing it from the server of the
application developer, to distribute that information to potential
customers. Not only that, but the property information can then be used by
the property company to be advertised, through their published web service,
through other realty advertisers also. I would like to, in the future,
program and deploy applications which use a compact, especially gui-based
view (which jsf may do, with, say, a swing RenderKit) to deliver bare-bones,
templated views which inject customer specific, or time-specific data into
those views, while minimizing response time by limiting what information is
delivered back to the server, to things such as textual infromation, boolean
values, and (x,y)-grid values. Thus, what looks like a complex application
to the user does not actually require very much waiting for processing time
on the server. Also, enabling the application to connect to information
sources in various places means that the application developer can outsource
some or much of what they eventually present as the finished product, to
other service providers, and means that if the information is available on
the internet as a web-service, it can be included in the finished app, which
means that through web-services, the information of the world is available
to be repackaged for a finished product.

I am familiar with eclipse, cvs, ant, linux, C, Java, C++. I think that I
have all of the basic skills necessary to complete the project. Besides
this, I am interested in what Apache CXF does, from an academic standpoint
and would like to learn more about Enterprise Java Beans and JAX-RS also. I
look forward to learning more about Apache CXF by reading through the
documentation, the architecture guide, and the api documentation, as well as
going through the source code. Also, I have downloaded the JAX-RS 1.1
specification and intend to look through that. This project seems to have
what I am looking for: project significance, a subject matter which has been
interesting me for a number of years, a subject matter that I am somewhat
familiar with (beans, xml, web services), and the opportunity to work for
Apache, which will provide me with programming experience on software made
for programmers, and programmed by professional software application
developers.

I hope that this introduction wasn't too long, but  thought that I would
elaborate on some of my interests, as they pertain to my interest in web
applications and web-services.

Thank you.

Ryan A. Zoerner

Re: Google Summer of Code -- Integratio​n of Apache CXF JAX-RS with EJB (addendum)

Posted by Ryan Zoerner <ry...@gmail.com>.
As an addendum, I am posting links to my work in data structures, the Java
Server Faces basic app that I worked on, a css package, which I also worked
on, and a build.xml ant file which takes care of WAR-ing an application. The
JSF app isn't much, but I am pleased about my work in Data Structures and my
subsequent A. The css package is particularly useable in dreamweaver,
because of their pop-up selection menu for classes and ids. The ant file is
generally useful. 
 
http://pages.cs.wisc.edu/~zoerner/downloads/code_classwork/data_structures/projects/ 
 
http://pages.cs.wisc.edu/~zoerner/downloads/code_personal/JSF/basic_login/ 
 
http://pages.cs.wisc.edu/~zoerner/downloads/code_personal/css/content2008_css_package/ 
 
http://pages.cs.wisc.edu/~zoerner/downloads/code_personal/ant/war/ 
 
If anyone throws anything at me... well.  
 
Thanks everyone for your help, 
Ryan Zoerner 
 
08/19/2011 
 
 


--
View this message in context: http://cxf.547215.n5.nabble.com/Google-Summer-of-Code-Integratio-n-of-Apache-CXF-JAX-RS-with-EJB-tp4290214p4717315.html
Sent from the cxf-dev mailing list archive at Nabble.com.