You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by "G.W.G.K.N. Udayanga" <gw...@gmail.com> on 2011/04/01 16:35:13 UTC
Re:gsoc2011
I am G.W.G.K.N.Udayanga a fouth year(final year) student from the dept of
computer science & Engineering,university of moratuwa,Sri Lanka.I am
interested in doing "Implement the SOAP over TCP standard supported by Metro
and WCF(via plugin) <https://issues.apache.org/jira/browse/CXF-2256>" project
for gsoc 2011.Can you give some references relevant to this project and can
i know about the mentor for this project?
Re: gsoc2011
Posted by Daniel Kulp <dk...@apache.org>.
On Friday 01 April 2011 10:35:13 AM G.W.G.K.N. Udayanga wrote:
> I am G.W.G.K.N.Udayanga a fouth year(final year) student from the dept of
> computer science & Engineering,university of moratuwa,Sri Lanka.I am
> interested in doing "Implement the SOAP over TCP standard supported by
> Metro and WCF(via plugin)
> <https://issues.apache.org/jira/browse/CXF-2256>" project for gsoc
> 2011.Can you give some references relevant to this project and can i know
> about the mentor for this project?
The SOAP/TCP project would really be a continuation (and hopefully finishing)
of a GSoC project that was done 2 years ago. Unfortunately, for a variety of
reasons, it was never completed.
The obvious starting point for information would be the specification itself:
http://java.sun.com/webservices/reference/apis-docs/soap-tcp-v1.0.pdf
Unfortunately, the student discoverred that the spec wasn't exactly
"completely correct". A lot of time was spent trying to reverse engineer
various parts of the protocol that were different than what the spec said.
That was the main reason for the project not completing. You could also
search on nabble or other archives to get some information about what was
done. For example:
http://cxf.547215.n5.nabble.com/SOAP-TCP-server-side-td576475.html
http://cxf.547215.n5.nabble.com/Re-SOAP-TCP-project-status-
td576580.html#a576584
So, what is the status of the code today? The code from the last project is
in the CXF codebase. If you checkout a copy of CXF from subversion:
http://svn.apache.org/repos/asf/cxf/trunk/
in the rt/bindings/soap module, there is a org.apache.cxf.binding.soap.tcp
package that contains the work he started. It's pretty rough, likely needs
some refactoring, but it could be a start. The student did get a simple
client/server "hello world" soap message to commincate using the SOAP/TCP
stuff in CXF and interoperate with Metro for that simple service. However,
There were a LOT of things that were not there yet. Off the top of my head
(it's been a LONG time so I may have forgotten a bunch of things), the main
things that stood out are:
1) Fastinfoset support - one of the main advantages of the SOAP/TCP spec was
the support for using a STATEFUL fastinfoset grammar. Thus, when using a
client to make multiple calls, the messages become very small and fast. The
code right now just uses normal XML.
2) Multi-channel connection - the spec allows multiple clients to share the
connection with requests and responses multiplexed across it. RIght now, the
code assumes a 1:1, none multiplexed connection like HTTP. I'm not even sure
if it's a persistent connection. It may be per-request. I don't remember.
3) SSL - definitely not even a thought yet.
It's never really been scalability tested or anything like that either. I
expect with the advances in Mina in the last 2 years, the async handling could
also be greatly improved.
In anycase, if you are interested in pursing this project, I'd be happy to be
a mentor for it. Definitely start looking into the code a bit and read the
spec and start writing up a proposal. I also encourage you to ask questions
here if you run into problems.
--
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog
Talend - http://www.talend.com