I am planning to design an application whos job is to manage and control some devices. There are some settings that can be set on the device through a GUI. At same time those devices trigger some events that need to be processed ( So will have multiple services to process events). Communication to devices are mostly through USB but some devices are Bluetooth and wireless. So I will have a middleware for communication between hardware and software services. Finally each device has a configuration settings that need to be stored in some cloud just for backup propose.
I want to understand how to design this system. The key input data is:
- All services are running in a local machine.
- There are communication between hardware and services.
- The only networking subject is to backup data on the cloud.
My questions are:
-
Is this system can be considered as a standalone application? Can we refer to it as networked application because of communication between device and services? Or some Bluetooth and Wireless communications?
-
Can we suppose to use event driven architecture just because of processing events (software or hardware events)? Note: It is important to handle events in the least time (to be real time)
In general what kind of architecture fits the requirements for this system? [Multi Layer, Event Driven...] and also if any suggestion about related design patterns.
Thanks.
Aucun commentaire:
Enregistrer un commentaire