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 [email protected] http://dankulp.com/blog Talend - http://www.talend.com
