фона:Javascript для интерфейса Java Remote Method
Некоторого времени назад я работал над приложением клиента-сервера Java (здание автоматизация была сфера). После первой попытки, когда мы написали как сервер, так и клиент в java и связали их через java RMI (Remote Method Interface), мы обнаружили, что писать клиент в Javascript было бы лучше по нескольким причинам (я не буду их здесь приводить , не имеет значения).
Поскольку RMI не работает между Javascript и Java, мы затем использовали WebSockets для их соединения и получения почти реального времени соединения. Это было около 3 лет назад, websockets все еще находились в ранней бета-версии с абсолютно никакой документацией и многими «еще не реализованными» функциями. Для части протокула я написал что-то вроде собственного RMI на основе JSON. Я десериализовал объекты JSON, исходящие от клиента, и запросил мое собственное серверное приложение с помощью java.lang.reflection, чтобы получить методы, которые клиент хотел выполнить.
Все, что сработало хорошо, у меня было довольно общее, поэтому я мог динамически вставлять другие подклассы во время выполнения, и мой RMI все равно сможет получить к ним доступ.
TL; DR:
Я всегда задавался вопросом, есть ли стандартный способ подключения Java с JavaScript в чем-то, как RMI (например, того, чтобы расширить некоторый интерфейс и будучи тогда в состоянии получить доступ к этим методам интерфейса с javascript) Я не могу быть первым, у кого есть эта проблема.
К себе: Я инженер-электрик, поэтому Java, Javascript или веб-технологии в целом - это то, чему я научился в университете. Я знаю, о чем говорю, когда речь заходит о java, но я полный noob для javascript.
Запись клиента в JavaScript? Это чистый JavaScript? Или веб-интерфейс? –
SOAP приходит мне на ум, см. Http://stackoverflow.com/questions/124269/simplest-soap-example –
@Evan Knowles Я думаю, мы использовали JavaScript с Ajax. Я не знаю, отвечает ли это на ваш вопрос, поскольку я не написал этого клиента. – jwsc