1

Hi stackoverflow community,

for my master thesis I am currently looking for a suitable messaging protocol or a message broker or middleware that can be used to exchange messages instantly between a chatbot, created using the SAP Conversational AI Framework and intended to serve as a fallback channel, and a specially developed SAPUI5 web application. The whole thing could be imagined as a live chat between a customer and a customer service employee.

The SAP Conversational AI Framework supports Webhooks, so I can connect a Node.js application, for example. The only limitation is that the Webhook URL must start with "https", so that a WebSocket server is virtually eliminated.

Would I have to develop such an interface myself or are there already libraries/frameworks that meet my expectations?

I am looking forward to your feedback.

Many greetings

Taiga07
  • 11
  • 2
  • I would say that you need a http server in order to receive messages from the webhook and then you pass the data wherever you want to a broker or database it depends what you want to achieve – karolinski May 05 '20 at 09:22
  • @KarolBilicki Thanks for your tip. I'd like to focus on bi-directional exchange only for now, but later on you should be able to save the conversation because of the privacy policies, if you are asked for the recording. This is where, I think, the database comes into play. How could I realize an http-server in the easiest possible way? – Taiga07 May 05 '20 at 10:31
  • WebSocket can be initiated via https, so you should maybe reconsider that being a limitation. – Jan W May 05 '20 at 13:24
  • @JanW As far as I know does the WebSocket protocol specification only support two URI schemes, ws: for unencrypted, and wss: for encrypted connections. – Taiga07 May 05 '20 at 15:15
  • How the webhook works? Does it send the data on change automatically without your interference? – karolinski May 06 '20 at 08:52
  • @KarolBilicki Currently, my webhook (here Node.js App) is "almost empty". When the "customer" writes something to the "customer service employee", the Webhook is automatically called by triggering a skill from the chatbot. – Taiga07 May 06 '20 at 12:19
  • Yes, that is correct, for the actual communication wss would be the way to go, but to start the communication calling the websocket via https is possible and a viable way – Jan W May 06 '20 at 13:57
  • 1
    @JanW Thanks. I will try to call the websocket server via https. Possibly I'll get back to you soon :) – Taiga07 May 11 '20 at 11:54

1 Answers1

2

Hmm I have never used the framework but I have made research and that is what I have found:

https://github.com/SAPConversationalAI/webchat

It enables you to deploy your bot directly to your website.

SAP Docs here:

https://cai.tools.sap/docs/concepts/webchat

I suggest you to use React to develop the frontend. You can use webchat in that way:

https://github.com/SAPConversationalAI/webchat#react-component

so if you want to use it you don't need a backend. You need only serve js files to your browser. For more details you can ask me in the comments.

karolinski
  • 577
  • 1
  • 6
  • 18