Я не уверен, почему вы думаете, что связь на основе сокетов будет иметь проблемы с безопасностью (используйте SSL). Часто это очень хороший подход, поскольку он не зависит от языка , предполагая, что у вас есть четко определенный протокол связи. Взгляните, например, на буферы протокола Google - они генерируют необходимые классы и потоки Java.
По моему опыту, файловые системы (особенно сетевые файловые системы) не очень подходят для такой связи, поскольку они не обязательно настроены на обмен сообщениями (я видел, что проблемы с кэшированием приводят к тому, что файлы не собираются например, целевым процессом).
Другим вариантом является слой для обмена сообщениями (например, AMQ или Tibco), хотя это, вероятно, потребует больших административных издержек (плюс опыт) для настройки.
Лично я бы выбрал подход с чисто сокетами из-за его гибкости и простоты. Вы будете под полным контролем .