iot middleware components