Currently JRIO get resources (images, files) using Repository API which is embeded into the JR. There are implementations for file, amazon, classpath, jrs.
What if we create a microservice that will get files from repository, cache it and give it to JRIO core which will be busy only running reports.
Benefits:
this could offload all connection management and transmission load
this could be more friendly with remote services read their instructions and cache files
this will offload authentication to remote services
we could change repository type or some configurations on the fly without disturbing JRIO instances which are busy with report rendering
this is more secure, we could isolate running instances from the network