Topic
3 replies Latest Post - ‏2013-01-15T13:01:59Z by HermannSW
lenisha
lenisha
22 Posts
ACCEPTED ANSWER

Pinned topic rawTCP processing for MLLP

‏2013-01-11T19:36:53Z |
Hi folks,

Reading nice post and WSTE from Hermann on rawTCP processing
https://www.ibm.com/developerworks/mydeveloperworks/blogs/HermannSW/entry/rawtcp_processing_on_datapower_appliances?lang=en

It looks like it should be possible implementing MLLP protocol (TCP/IP stream where requests are separated by some delimiter like CRLF and payload is delimited text) using this technique ?

Where rawTCP2HTTP MPGW would convert TCP/IP stream to HTTP? How would it understand delimiters between requests to put them to appropriate HTTP POST?

Anybody have tried implement it or have experience please?

Thanks

enerosweb
Updated on 2013-01-15T13:01:59Z at 2013-01-15T13:01:59Z by HermannSW
  • HermannSW
    HermannSW
    2826 Posts
    ACCEPTED ANSWER

    Re: rawTCP processing for MLLP

    ‏2013-01-13T00:08:10Z  in response to lenisha
    Hi Elena

    > ...
    > Where rawTCP2HTTP MPGW would convert TCP/IP stream to HTTP?
    > How would it understand delimiters between requests to put them to appropriate HTTP POST?
    >
    I just heard into the audio recording for slides 16+17 of this WSTE webcast (43:00-47:30min):
    http://www-01.ibm.com/support/docview.wss?uid=swg27022979

    Unfortunately I did not talk about what is written on top right of slide 17.
    This solution does not provide persistent connections, because connection close (FIN) is needed to signal end of message.
    Therefore ER MR 1022084642 is still needed, and without it you cannot handle the seperators, sorry.

    In case your client does not send a FIN, that can be simulated by a Frontside Handler timeout.
    Unfortunately timeout values are integers with minimal value of 1.
    So after 1 second of inactivity on the frontside (without CPU usage), the frontside timeout triggers and processing starts as needed.

     
    Hermann<myXsltBlog/> <myXsltTweets/>
    • lenisha
      lenisha
      22 Posts
      ACCEPTED ANSWER

      Re: rawTCP processing for MLLP

      ‏2013-01-14T14:34:54Z  in response to HermannSW
      Thank you Herman.
      Do you know by chance the status of ER MR1022084642?

      I see that MLLP clients usually have two modes of operation - persistent connection (reusing socket), and one socket per request.
      Interesting if the second sceanrio - socket per request would work?
      It would probably send FIN only after receiving response from the server....

      enerosweb
      • HermannSW
        HermannSW
        2826 Posts
        ACCEPTED ANSWER

        Re: rawTCP processing for MLLP

        ‏2013-01-15T13:01:59Z  in response to lenisha
        I cannot find the ER in the old system, last state there was "under consideration".

        I tried to search for it in Request For Enhancement tool, but without success:
        http://www.ibm.com/developerworks/rfe/

        Do you mean this MLLP?

        > - socket per request would work?
        >
        Yes.

        > It would probably send FIN only after receiving response from the server....
        >
        Sending FIN after having received response is too late -- processing will not start without connection close.
        But besides FIN connection close also happens for timeouts.
        As I said having a FSH timeout of 1 second would work.

        After having received the request, DataPower would wait.
        Then, after 1 second, the connection from Client to DataPower will be closed because of the timeout.
        Important is that the connection from DataPower to Client for sending the response will remain open.
        Now "normal HTTP Non-XML processing" will happen, and the rawTCP response will be sent back to client.
        Slide 17 of this webcast shows a sample execution.

        If you attach a Non-XML rawTCP sample request and describe a sample transformation, I can try to attach a service doing that (socket per request).

         
        Hermann<myXsltBlog/> <myXsltTweets/>