You've lost me again. You've described a parser (in the context of RPC), and now you say it's simpler than SOAP. But a parser itself can never replace a complete RPC protocol (unless your previous use of RPC was complete overkill).

Well, you are right, parser does not replace everything involved into RPC. Still, for the network layer we need only serialization/deserialization. The rest of stuff (authentication, encryption and so on) can be part of the RPC code itself. Nothing prevents you from allowing only authentication procedure for the first requests and then extending/replacing parser for the subsequent requests.

Serialization can be very simple. For example something similar to Chunked Transfer of HTTP. First comes line with length, then specified number of bytes, finally comes the with zero to indicate the end of request/response.

Please don't consider my post as an attempt to teach how to do GOOD compiler. It was an attempt to describe some way to create SIMPLE parser. This parser will be inefficient, since efficiency usually comes at the cost of complexity. But for one thing, working with SOAP is neither efficient, nor simple.

SOAP is an attempt to make one thing suitable for all possible usages. I believe that it is more appropriate to create tools fitting specific needs and I'm searching for ways to make this approach simple.


In reply to Re^2: Creating parser for some syntax by andal
in thread Creating parser for some syntax by andal

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.