Mayur Patel
Mayur Patel

Reputation: 113

What Should I Use (Notification/Events) To Send Data From Application Server To End Points (Devices) and vice versa Using KAA Middleware

As per the KAA references, I understand that once should only use the Notification feature, When it required to send data from server (External apps) to endpoints and Events are only used when there is a need for endpoint to endpoint communication (kind of device binding requirement)

So, To achieve request/response functionality using KAA. I need to implement any hybrid solutions like as below.

1) In my server, I can run one KAA SDK instance and use the event feature for request to the endpoint and response from the endpoint.

OR

2) From my server, I use the notification REST API for request and get the response back through the data logger feature using any in-build appender by configuring "LogUploadStrategy" as to uploads every log record as soon as it is created.

Notes For Point 1

Notes For Point 2

Questions For Point 1

1) What causes to scale the application and what type of security issues it faces even through it uses RSA 2048 encryption for communication?

2) Can we embed more then one SDK in standalone application and host in on the same server where kaa-node is present.

Questions For Point 2

3) if device sends the notification response along with the telemetry data, can it increase the latency and any other performance issue.

Common Questions

4) Which one is the better approach to achieve request/response functionality?

Any help or suggestion is really appreciated.

Upvotes: 0

Views: 463

Answers (1)

Kyrylo Liubun
Kyrylo Liubun

Reputation: 2135

1) What causes to scale the application and what type of security issues it faces even though it uses RSA 2048 encryption for communication?

It makes the EP on the server side as a single point of failure and does not allow load balancing. About security issues, Andrew meant: This application may receive REST API calls and this forces one to provide additional security for this REST API calls and better use your first hybrid solutions using solely event feature.

2) Can we embed more then one SDK in standalone application and host in on the same server where kaa-node is present.

No, you can't use more than one SDK in one application, but you can run a couple of instance on one machine in different directories in order to prevent collisions of autogenerated security keys and other files.

3) if device sends the notification response along with the telemetry data, can it increase the latency and any other performance issue.

Of course, you will face some delays if start sending very frequently and big portions of data on both sides. If you have a lot of devices that sends in total a big amount of telemetry data, you can increase performance on the server side by start-up KAA in the cluster mode or add new nodes for processing requests.

4) Which one is the better approach to achieve request/response functionality?

The second hybrid solution – data collection and notification features. This doesn't cause any problem with scale and you can easily launch Kaa server in cluster mode.

Upvotes: 1

Related Questions