Я должен разделить наше приложение на легкое gui приложение и приложение бизнес-логики. Это не будет клиент-серверной установкой как таковой, поскольку компонент 'сервера' будет только иметь один клиент.
Другое ограничение в приложении - то, что оно имеет только одну запись/точку выхода. Поэтому, если бы мы должны были использовать RMI, то это только когда-либо было бы на одной функции. Все данные формы уже обернуты в строку и проходятся одна транспортная зона.
Я должен просто использовать Сокеты Java, чтобы улучшить это приложение или пойти с RMI? Или некоторая другая JAVA-технология?
Я сделал предыдущее сообщение, обрисовывающее в общих чертах требования нашего приложения, однако оно осталось без ответа. https://stackoverflow.com/questions/2604528/terminal-panel-pc-single-server-solution-client-server-or-rdp
Удачи.
Лично RMI кажется излишним, если у вас есть только один метод для вызова, а все ваши данные уже заключены в строку. Я полагаю, что простого сервера сокетов будет вполне достаточно для ваших нужд. тем не менее, RMI предоставляет вам кучу бесплатных вещей, таких как многопоточность, распределенная сборка мусора, маршаллинг объектов и т.д. эти преимущества могут вам ничего не принести.
здесь есть хорошая страница о возможностях rmi: http://java.sun.com/javase/technologies/core/basic/rmi/whitepaper/index.jsp
Вы можете обернуть точку входа на сервер как сервлет и выполнить POST от клиента.
Сделав приложения, которые использовали сырые сокеты для связи, которые использовали RMI, и которые использовали SOAP, проще всего (на тоненького волоска) использовать RMI, но тогда вы будете сильно привязаны к использованию Java для всего. Ключом к тому, почему RMI проще всего, является то, что он обеспечивает отправку целых сообщений и включает базовую структуру обнаружения, и все же он не имеет сложности SOAP (который намного сложнее, чем все остальное, перечисленное выше).
поскольку ваш протокол уже очень прост (вы просто передаете строку), я предлагаю вам просто перейти на сокеты. Преимуществом будет то, что вы не будете привязаны к Java на обоих концах, например - можно будет легко переключить UI на другой язык.