Chapter 6. Developing a Client
The workflow diagram at the beginning of the other chapters was intentionally left out of this one, as it doesn’t have a place at the same level as the rest of the topics. The client is where the other subjects are applied. Which subjects are applied in the client (as opposed to other systems) depends on scale and complexity.
After you’ve identified and figured out how to process your streaming data, you need a way for people to be able to view and interact with it. The interface for presenting streaming data is known as a client application. The client can be in a browser, run on a device like a phone or desktop, or be firmware embedded in a device. In order to meet your needs for presenting streaming data in a useful manner, you may need to purpose-build a client for it.
One of the first things to consider is how much of the workload will be in the client. This choice is not as simple as delegating as much as possible to server components—the client will have a faster response time and be more interactive. Allowing the client to handle a portion of the load can also be significant for widely distributed applications. Anything that is consistent for all clients can be done on the server. Anything that needs to be customized per individual client makes sense to be done on the client.
We’ll look at some of the other major considerations next, and go over the basics of creating a client application. There is one provided to help get you started ...