ZGPS - Achieving Abstraction with Golang
Fadi Hanna Al-Kass onOne of the early design challenges we faced when designing the DSP
(Device Service Provider) project is coming up with a plug-and-play architecture. DSP
’s main responsibility is to read data from a specific tracking device, process and store the data, or send commands and process responses. Different devices come with different protocols, though they share common traits, like they all (all the ones we now support at least) are TCP based. Devices, when connected to DSP
, are expected to be recognized so they’re handed to the proper protocol handler. Our silver bullet here is abstraction, but then we’re using Go, and Go doesn’t have native support for abstractions. So how do we solve this?