From: Mark W. <mar...@in...> - 2010-05-28 10:28:48
|
> > Mark wrote: > > I think it would be really great if cpp-netlib had more support for > > XML REST web server and clients, and smtp client, so I vote for: > > > > * web framework > > * more message algorithms (transforms, renderers) > > * smtp client > > > > cpp-netlib REST XML clients and servers that are interopable with > > C# WCF REST clients and servers would be really neat. Then it > > would be interesting to run some benchmark tests to see how > > C++ netlib XML REST clients and servers perform vs C# clients > > and servers. Some obvious ideas for the XML parsing is to use > > Rapid XML: > > > > http://rapidxml.sourceforge.net/manual.html#namespacerapidxml_1performance > Glyn wrote: > XML parsing is something that's going to crop up over again. For the XMPP > client, I intend to write some simple backends around third party libs such > as expat and libxml2 (not rapidxml as it's not an incremental parser). > Rapid XML could still be useful for other parts. In any case, in the > absence of Boost.Xml we'd have to make a lot of decisions about this > ourselves so we don't end up writing our own XML library. > Thank you too for your input. You've obviously given some thought to this, > is it possible that you could contribute? Hi Glyn, Dean and everyone, Yes :-) Obviously I am particulary interested in REST XML stuff. For that I was wondering if (just some obvious ideas you have probably already thought of): - the half async part could read in the entire XML message, hopefully just using the HTTP message length to know when it has all of the message (I'm not really sure if that will work or not) - then pass it to a thread in a thread pool (the sync half), that then parses the XML with an XML parser. - Dean suggested earlier: "URI pattern-based dispatch (ala Rails, or Django/Tornado)" that could call the appropriate handler method (in the same thread that has already parsed the XML). Rapid XML seems appealing for little benchmarks vs C# WCF. > Dean wrote: > REST-full web services can definitely be already implemented with the > HTTP server template. Are you looking for an example on how to do > this? An an example or framework or guidance on how go about writing some stuff for this would be neat. > A framework wouldn't be very hard to implement, but will depend > largely on conventions that most web services already need -- URI > handling/routing, request parsing, REST method dispatch, etc. I'll > look into writing up a simple example and then allowing others to > extend into a full framework. I can be involved in that process too > and it would be interesting to see where that goes. That's neat, thanks, I can help. > As far as XML is concerned, it might be outside the scope of the library. > [snip links] > Thanks very much for the links, I've read pretty much all of these before. :) I guess I kind of expected you would have :-) > > > > Thanks very much, > > > Thank you very much too, I'll look into implementing the web framework > parts in an example first and let others pick up if they find it > interesting to work on too. I'll schedule that in the 0.8 release and > focus on the HTTP parts for 0.7. > Have a great day and I hope this helps! Great, thanks, have a great day. Thanks, Mark |