And therefore so did I! Thanks Ant.... I did think of Jetty, but somehow when I wrote the mail I forgot it. I did hear something about maybe some work on a client in Jetty - has anyone else heard anything about that?
It seems it might be better to have the client and server share some common code, but I'm not sure if thats necessary or just nice to have. Paul
On 1/3/07, ant elder <[EMAIL PROTECTED]> wrote: > Adding to your list there could also be a 3d to use Jetty6 and a > non-blocking client based on the Apache HttpCore/HttpClient. Don't know how > it compares to AsyncWeb and HTTPCore but they've done a lot of async and NIO > work in Jetty 6: > http://docs.codehaus.org/display/JETTY/Introduction+to+Jetty6. > > (just throwing this on the table as an option, not saying i favour it more > than the other options) > > ...ant > > On 1/3/07, Paul Fremantle <[EMAIL PROTECTED]> wrote: > > > > Folks > > > > I think its time we revisited our HTTP model. > > > > From what I understand there are a few issues. (mainly from talking to > > Asankha who knows his stuff!) > > > > 1) The current HTTP client is very inefficient because it doesn't > > reuse connections. > > > > 2) In the case of full WS-A (with "real" replyTos both coming in and > > going out) we are probably ok - we shouldn't block any threads. > > > > 3) However, with non-WSA SOAP messages or with anonymous replyTos for > > the outgoing message, we will block one thread per interaction waiting > > for the server to respond. This is a big scalability problem. > > > > There seem to be a number of approaches we can take: > > > > a) We could use MINA directly and write our own HTTP handling code on > > top of it. MINA has a very nice API but writing the HTTP code from > > scratch will probably turn into a long-term project. > > > > b) We could use AsyncWeb which is an HTTP system based on top of MINA. > > ( http://docs.safehaus.org/display/ASYNCWEB/Home). However, AsyncWeb > > doesn't have a client (except for a bit of untouched code in sandbox). > > We obviously need a client and server. > > > > b2) We could use AsyncWeb as a server and contribute a better client > > back to AsyncWeb. We'd still have to write the client, and we'd have > > to hope they accepted it. > > > > c) We could use HTTPCore [http://jakarta.apache.org/httpcomponents/httpcore/ > > ] > > The latest HTTPCore has been updated to support NIO. It has both a > > client and server. According to Asankha it has a pretty complex API, > > which might be painful. On the plus side, Oleg - the main committer on > > the NIO code - really knows his stuff and is very responsive and > > active. As everyone in Apache knows, this can be a huge benefit. > > > > There is also another key difference between AsyncWeb and HTTPCore > > worth thinking about. > > > > HTTPCore is designed to support streaming. In other words, it gives > > control once data is available. AsyncWeb buffers the whole message in > > memory before handing it over. The challenge here is a balance between > > threads and memory. The asyncweb model will use fewer threads but more > > memory. The HTTPCore model may cause our application threads to block > > waiting on the network IO. > > > > Of course the main concern for Synapse is not to block between sending > > the request to the server and the server responding, and also to be > > able to detach the incoming client socket from the thread. > > > > I'm sure there are other points to be made, but this I think lays out > > a few options. > > > > Thoughts everyone!??? > > > > Paul > > > > > > -- > > Paul Fremantle > > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair > > > > http://bloglines.com/blog/paulfremantle > > [EMAIL PROTECTED] > > > > "Oxygenating the Web Service Platform", www.wso2.com > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > -- Paul Fremantle VP/Technology, WSO2 and OASIS WS-RX TC Co-chair http://bloglines.com/blog/paulfremantle [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com
-- Paul Fremantle VP/Technology, WSO2 and OASIS WS-RX TC Co-chair http://bloglines.com/blog/paulfremantle [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
