[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how bad is soap?



Bert suggested that it would be useful to provide more details of the
compact soap server.  I have attached a slide that describes the server.
The purpose of the exercise was to verify that a small XML mgt
implementation could be created for a very small network device that
provided a minimal set of libraries. The code is essentially complete
but the code representing the device is stubbed.

No XML libraries are used.  XML parsing is done using a very small
non-compliant parser of less than 48.5 KB of source code that creates a
"DOM-like" tree from the parsed document. Namespaces are
supported.  Some XML files and readmes are included in that size.

Parsing of the tree is done by traversing a second build-in but extensible
DOM-like tree that represents the supported schema and directs the
processing of the transaction.

The HTTP/SOAP parsing was minimalist.  Supporting a single text string
argument on input and providing a single text string response on output.
However, it was designed to allow multiple transactions to be outstanding at
one time.  That is an unnecessary frill. For this very simple device, the
HTTP/SOAP server and the transaction processing code is 21.2
KB of source code including headers and comments.

Sizes do not include the TCP/IP stack.

The work was done two years ago.

Larry

Larry Menten wrote:

I agree.

We have implemented a very compact soap server within a network element
to verify that this can be done in a small device. It was not difficult to
create a very small but robust server in C++ that could handle multiple requests
simultaneously and be integrated safely into a SOHO router or similar device.

Larry

Juergen Schoenwaelder wrote:

People often argue that SOAP is somehow a bad complex thing and will
definitely not work on routers and such. When talking to these folks,
it often turns out that they have never really looked at SOAP
implementations or believe that SOAP requires Java, complex tools are
such things to be used, which certainly is not really the case.

I recommend that people who only have a vague idea how SOAP
implementations can look like in practice take some time to download
the gSOAP implementation and to play with it. (No, I am not involved
in this project.)

http://www.cs.fsu.edu/~engelen/soap.html

Having seen other RPC systems before, I believe this implementation
does really not perform bad. But please make up your own mind.

/js



--
Larry Menten Lucent Technologies/Bell Laboratories
Phone: 908 582-4467 600 Mountain Avenue, Murray Hill, NJ 07974 USA

Attachment: tinysoapserver.ppt
Description: MS-Powerpoint presentation