PureSoA
PureSoA is a lightweight high performance service-oriented architecture (SOA) that provides access to IoT focused application components.
Common Protocol
Using a common protocol for all sensors allows for fast integration and quickly merging data-sets between devices. Easy to expand to new sensor types when needed without breaking old sensors. We focus on capturing a few key elements in organizing data based on location, time and uniqueness; then a generic store for sensor data.
RPC and MQTT for Sensors
MQTT, a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks. The design principles are to minimize network bandwidth and device resource requirements while also attempting to ensure reliability and some degree of assurance of delivery. For increased performance and lower overhead we use RPC to get data to and from sensors. We maintain an encrypted links over UDP and other streaming connections for the ultimate solution.
Data Store
Starting with a basic sent of constructs we can define any"Thing" and how it connects to other Things. This allows us to represent the real world virtually. Complex interactions can be observed in real time and big data trends can be extracted with human constructed query's.
Rules Engine
Following the concept of Functional Programming; developing a stateless event driven functions and combining it with the teaching of developing 1:1 mapping to the physical world. The rules engine allows for large scale complex systems to be developed that remain stable and testable. Rules can be cascaded to form complex and intelligent conclusions.
gRPC for Clients
Services defined using Protocol Buffers, a powerful binary serialization toolset and language. Works across languages and platforms and automatically generate idiomatic client and server stubs for your service in a variety of languages and platforms. Install runtime and dev environments with a single line and also scale to millions of RPCs per second with the framework. Bi-directional streaming and fully integrated pluggable authentication with http/2 based transport.