Announcement

Collapse
No announcement yet.

Mirth Connect WebSocket connector

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mirth Connect WebSocket connector

    Does Mirth Connect support WebSocket Listner or WebSocket Sender https://en.wikipedia.org/wiki/WebSocket ?

    I guess the answer is NO, although Jetty supports WebSocket.

  • #2
    Wow, I'm surprised someone actually has interest in this!

    The answer is no not right now, but actually that will most likely be coming in 3.5...!
    Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

    Nicholas Rupley
    Work: 949-237-6069
    Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


    - How do I foo?
    - You just bar.

    Comment


    • #3
      Originally posted by narupley View Post
      Wow, I'm surprised someone actually has interest in this!

      The answer is no not right now, but actually that will most likely be coming in 3.5...!
      Unfortunately WebSocket doesn't seem has been added in the Mirth Connect 3.5.0.8232 features. Are you planning to add it in the next release?

      Comment


      • #4
        Originally posted by MrGesan View Post
        Unfortunately WebSocket doesn't seem has been added in the Mirth Connect 3.5.0.8232 features. Are you planning to add it in the next release?
        I can't say for sure whether it will be in the very next release, but it is coming, already in development.

        It would also help us to know your use-cases for it! What technology are you using (Socket.IO? SockJS?), how you envision your channel messaging workflows to be constructed around your websocket server, etc.
        Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

        Nicholas Rupley
        Work: 949-237-6069
        Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


        - How do I foo?
        - You just bar.

        Comment


        • #5
          Originally posted by narupley View Post
          It would also help us to know your use-cases for it!
          Basically our need is establish a tunnel between client and server where this latter is able not only to send responses but even send with own initiative messages to connected clients, that's an activity I suppose is not possibile yet with the protocols available in the source connector (such as TCP Listener with Keep Connection set true).. right?

          Comment


          • #6
            That's true, and that's something we're definitely looking to add (ability to full-duplex on a single connection from both source and destination connectors).

            So you're not just wanting to connect to an existing WebSocket server, but you want your channel to actually be the server, is that right?
            Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

            Nicholas Rupley
            Work: 949-237-6069
            Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


            - How do I foo?
            - You just bar.

            Comment


            • #7
              Originally posted by narupley View Post
              That's true, and that's something we're definitely looking to add (ability to full-duplex on a single connection from both source and destination connectors).

              So you're not just wanting to connect to an existing WebSocket server, but you want your channel to actually be the server, is that right?
              That's right. I was wondering about WebSocket because I have read this topic and the protocol might be a solution (we could develope client software with WebSocket or simple socket that's good as well) As you described we just need a full duplex channel where the server is able to send message

              Comment


              • #8
                WebSocket status update

                Any updates on the status of WebSocket integration?

                Comment


                • #9
                  Originally posted by semiautonomouskillerrobot View Post
                  Any updates on the status of WebSocket integration?
                  We do still have this on the roadmap. What are your use-cases for it? Knowing that may help give us more business reason to give it a higher priority...
                  Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

                  Nicholas Rupley
                  Work: 949-237-6069
                  Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


                  - How do I foo?
                  - You just bar.

                  Comment


                  • #10
                    Curious cat here, how is a websocket different from configuring a webhook on regular HTTP Listener? I have implemented a webhook so I know its possible.
                    HL7v2.7 Certified Control Specialist!

                    Comment


                    • #11
                      Originally posted by siddharth View Post
                      Curious cat here, how is a websocket different from configuring a webhook on regular HTTP Listener? I have implemented a webhook so I know its possible.
                      Typically a WebSocket connection starts as an HTTP request. But then similar to the CONNECT method for TLS tunneling, the TCP socket thereafter is not using HTTP anymore, it's using custom frame data.
                      Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

                      Nicholas Rupley
                      Work: 949-237-6069
                      Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


                      - How do I foo?
                      - You just bar.

                      Comment


                      • #12
                        We consider a secure websocket to be better than the alternatives for near real time communication between the server and client. Our current solution incorporates this feature and we are evaluating alternatives.

                        Comment


                        • #13
                          Originally posted by semiautonomouskillerrobot View Post
                          We consider a secure websocket to be better than the alternatives for near real time communication between the server and client. Our current solution incorporates this feature and we are evaluating alternatives.
                          Gotcha. So you would be looking to use Mirth Connect as a WebSocket client to initiate a connection to some server, then listen for message events?

                          We'll definitely look into getting this into the product soon. In the meantime, note that we use Jetty for the HTTP servers. Jetty also has a WebSocket implementation that you can drop into Mirth Connect and use. It does mean some custom Java / JavaScript, but it should work.
                          Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

                          Nicholas Rupley
                          Work: 949-237-6069
                          Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


                          - How do I foo?
                          - You just bar.

                          Comment


                          • #14
                            Hi, is there any news on when this will get into the product? We are very much waiting for this feature as well and are having troubles with the workaround of dropping the WebSocket implementation from Jetty into our channels. Thanks for your answer!

                            Comment


                            • #15
                              Originally posted by pietew View Post
                              Hi, is there any news on when this will get into the product? We are very much waiting for this feature as well and are having troubles with the workaround of dropping the WebSocket implementation from Jetty into our channels. Thanks for your answer!
                              Other items are prioritized above it currently, as we're not seeing the demand necessary to push it forward. Maybe you can help us... what specific use-cases are you looking to support? Do you need to read messages into your channel, or send messages out from your channel? Do you need to act as a WebSocket server and accept client connections, or do you need to act as a client and initiate a connection to a remote WebSocket server?

                              What implementation is the remote side using? Socket.IO, Jetty, web-socket-js? After connecting do you need to send some initial connection messages to set things up? Do you need to constantly send "ping" messages to keep the connection open? Any other weird or nuanced requirements?

                              One of the issues with WebSocket is that frameworks often have their own, custom bi-directional protocol operating on top of the socket itself, so it's difficult to create a generic connector that works with everything.
                              Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

                              Nicholas Rupley
                              Work: 949-237-6069
                              Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


                              - How do I foo?
                              - You just bar.

                              Comment

                              Working...
                              X