I have an external Servicestack installation with web services that collect data from different mobile apps and uploaded files and need to synchronise it with an internal intranet server.
The intranet server is deeply protected by firewall and organisation policies.
I think this is a pretty common scenario where messages and brokers could be used, something like Rabbitmq or Nservicebus.
As the data is only to be sent from one external server to the intranet one in unidirectional and asynchronous way I was thinking not to add another layer of indirection to the architecture and just use the web services exposed by Servicestack also for server to server communication.
The approach would be like:
- An intranet windows serivce would poll regularly and at different intervals the external web service to know if there is new data to get (maybe from a certain point in time)
- The web service respond with the list of the new data and files
- The windows service would iterate with calls to gett all the data to be inserted in the intranet and download the uploaded files.
What are the risks of this approach? Would be better that the external webservice would respond only a huge response with all the data and file in it
I know this is not properly related to Servicestack but more on architecture so if it is better to post it on StackOverflow please let me know and I will delete the post.