There are two that you should take a look at.
One is the JSON RPC - which gives you full access to the platform functionality. You would need to write the interactions to add a device, etc into your web app’s back-end code or at least have a mechanism to map a user on your own web app to the hierarchy on the One Platform and pass the correct identifiers back to begin using the RPC at the client level of your app. http://docs.exosite.com/rpc/
The second is the Portals API, which does some of this for you (wraps One Platform calls into web app calls that are focused on users, accounts, devices, etc). It uses the same concepts as within the Portals application. http://docs.exosite.com/portals/
Each dataport is time-series data, so you have value / timestamp for everything you write to the platform under a client (which would represent a device, user, account, etc). A single value can be up to 64K. Dataport types are integer, float, and string.
The platform is currently not optimized or really built for for storing large files. You may want to consider storing these somewhere that is good at that and store links to the files in Exosite to later get access, and process. You can feel free to submit a ticket on our support site with more details about your application if you want to get into more of a discussion and do not want to share your project publicly.
Our Lua Scripting engine in the One Platform can handle processing data real-time and making decisions / running algorithms. If processing huge image files, we typically work with customers to create a separate service that they maintain on another server that they can call from our Lua Scripts using HTTP dispatches. In this way, you might store the huge file on a server, save the location inside of a dataport, have the Lua script than working to determine what file to process next, make that request out to your separate image processing service, which would respond with results, and store this in another dataport.
Again, feel free to submit a ticket or contact our sales team for more of a discussion.