For example:
https://a-sample-server.iot.cumulocity.com/inventory/managedObjects
get all managed objects and each can have some kbytes in size.
Now I could do a microservice which remove all data except ID and Name, because I only need them or it has cached all manged objects with relevant data and we don´t need to request the mongoDB. New Url could be:
https://a-sample-server.iot.cumulocity.com/service/only_id_and_name/inventory/managedObjects
Base urkl would be changed from https://a-sample-server.iot.cumulocity.com/ to https://a-sample-server.iot.cumulocity.com/service/only_id_and_name/
An other interesting feature could be to add virtual data points. When we requests supportedSeries of a device we can add virtual data points with a specific meaning. For example to calculate average or sum values of the real data points.
You could also use it to filter data, depending on another data point.
For example we only need measurements with datapoint "Temperature" when an other datapoint "NotCooled" is equal zero. Our microservice can do the work in background without to change the frontend.
Or we can use it to access old data stored on an external server and display it in data explorer:
https://a-sample-server.iot.cumulocity.com/service/old_backuped_data/measurement/measurements?source=123456&dateFrom=2019-09-25Z:00:00:00T&dateTo=2019-09-25Z:18:30:00T