Boost logo

Boost :

From: Dean Michael Berris (mikhailberis_at_[hidden])
Date: 2008-07-25 05:31:27


On Fri, Jul 25, 2008 at 3:35 PM, Gregory Dai <gregory.dai_at_[hidden]> wrote:
> On Thu, Jul 24, 2008 at 11:31 PM, Dean Michael Berris <
> mikhailberis_at_[hidden]> wrote:
>
>> Hi Gregory,
>>
>> On Fri, Jul 25, 2008 at 1:31 PM, Gregory Dai <gregory.dai_at_[hidden]>
>> wrote:
>> > Anyone tried building a web service client based on existing boost
>> library
>> > components such as asio? Like to share, or brag :-) about your
>> experience?
>> >
>>
>> When you say web service client, is this just generally anything that
>> passes through HTTP?
>>
>> In this case there's a currently on-going effort (not making too much
>> progress though with other "real world" things going on) to create a
>> networking library on top of Boost.Asio as the base and provide simple
>> implementations of protocol clients. Initial protocol scheduled to be
>> implemented is an extensible HTTP client. You can get more information
>> on the poject here: http://sourceforge.net/projects/cpp-netlib.
>>
>
> HTTP is a foundational protocol for web services, which include following
> components:
> * SOAP: XML based, and over HTTP (or other similar protocols).
> * WSDL: XML based, which is where services are defined.
> * UDDI: Protocol for discovering, describing, and integrating web services
> out there in the Internet cloud.
>

I don't want to start a web services debate here, but how about
providing something that supports REST first? It maps perfectly with
the HTTP protocol easily and requires less hacking in terms of parsing
(a json parser is easier to implement than an XML parser) and removes
the need to do state maintenance.

That said, I think we'll need the underlying components first as
generic libs before we actually go into a focused approach to
supporting web services. Thinking bottom up allows us to solve a
larger set of problems with specifically generic (?) libraries to work
with.

>
>> > A web service server is probably more involved. Doing a client should be
>> a
>> > nice first step, and helps build a common foundation forward.
>>
>> I personally have done a high performance HTTP container in C++ using
>> modern C++ programming techniques (policies, metaprogramming, etc.) on
>> top of Boost.Asio -- and it's proving to be very nice indeed. Can't
>> share more than that though. ;-)
>
>
> I'm sure your HTTP server is super cool, but web services are not just HTTP,
> but include other components as well.

Right. So do you have an approach to develop something in mind?

-- 
Dean Michael C. Berris
Software Engineer, Friendster, Inc.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk