Вы действительно должны предоставить немного больше деталей ... Нужна ли клиентам гарантированная доставка? А как насчет доставки в автономном режиме? Является ли это частью большей системы? Вам нужно шифрование? Безопасность
Если вы хотите наименьшую возможную площадь, то следует передавать данные с помощью SocketServer, Sockets и сериализации. Но затем вы теряете все преимущества упомянутых вами сторонних решений, которые обычно включают надежность, гарантии доставки, безопасность, управление и т. Д.
Я бы лично использовал JMS, но это потому, что я с ним знаком. Существует несколько автономных серверов, которые можно развернуть «из коробки» практически без настройки. Все они обеспечивают гарантированную доставку, некоторую безопасность, шифрование и ряд других простых в использовании функций. Кодировать JMS-издателя или подписчика довольно просто.
Обновление:
Если вы хотите максимально облегчить кодирование, то я бы посмотрел на сторонние решения. Глядя на Smack / XMPP, API кажется немного проще, чем JMS, для функциональности, которую вы запрашивали. Вам все еще нужно настроить / настроить сервер и т. Д.
В Smack API также есть много дополнительного багажа, который вам также не нужен, но его «концепции» немного более интуитивны, так как все его концепции чата / чата.
Я бы все равно посмотрел на OpenJMS или ActiveMQ . Я думаю, что знание JMS будет более ценным в будущем, чем знание XMPP. Взгляните на их Getting Started документацию или Sun Tutorial , чтобы увидеть, сколько кода задействовано. На языке JMS вам потребуются администрируемая «Тема» и «Очередь», где приложение последовательного порта будет получать и отправлять сообщения соответственно. Все ваши клиенты откроют подписку на тему и отправят свои исходящие сообщения в очередь. При отправке сообщений их режим доставки должен быть непостоянным.