2009-08-20 1 views
1

G'Day,PHP общения с Java Server

У меня есть проект, где мне нужно, чтобы построить «живой» Java-приложение (сервер) для хранения состояния о предметной области (это частная система аукциона). Java-сервер будет взаимодействовать с классами PHP и с ними, которые имеют основную функциональность бизнес-центра. Классы PHP будут безстоящими.

Мне нужно передать объекты домена до java-сервера (из PHP), чтобы их состояние можно было управлять с течением времени. Изменения объектов домена необходимо сохранить обратно в хранилище данных через вызовы классов PHP на веб-сервере.

Я думал об упаковке своих классов PHP с использованием класса XML-RPC (например, Zend_Xmlrpc_Server), поскольку они будут безстоящими. Если/когда приложение java необходимо записать в хранилище данных (вызывая правильный метод класса PHP), это вопрос использования класса библиотеки XML-RPC.

Тем не менее, я не уверен, как я раскрываю функциональность в приложении java, поэтому к ней могут быть применены вызовы методов PHP. Может ли кто-нибудь сказать мне самый простой способ сделать это в java ... я просто пишу многопоточное приложение и выставляю сокет? Я использую классы библиотек для структурирования java-приложения.

Приветствия, Пол

ответ

4

Подвергать код на стороне сервера Java в качестве веб-сервиса.

Существует множество способов сделать это на Java, но два, которые возникают на ум, - это EJB3 WS Annotations и Apache Axis.

В качестве альтернативы, какая бы технология вы ни выбрали, убедитесь, что вы видите ее как транспорт и сохраняете логику обработки отдельно от нее.

+1

Я второй этот подход. Вы не хотите плотно связывать эти две части системы и подход к веб-сервисам (или на основе сообщений, REST, ... - список бесконечен) позволяет вам иметь четкий контракт между этими двумя частями. Apache также имеет CXF в качестве альтернативы Axis. – SteveD

+0

Спасибо, но мое внутреннее приложение Java должно хранить состояние - поэтому он должен работать в памяти в любое время. Согласны ли эти подходы с этим? Cheers, Пол. –

+0

Как я уже говорил с концепцией транспорта, обязательно сохраните это отдельно, а затем, что вы останетесь, является сервером Java, который, безусловно, позволит вам поддерживать состояние так или иначе самым надежным и прямым способом хранения его в базе данных. –

0

Вы уже экспериментировали с инструментом PHP Java Bridge?

+0

Спасибо, я посмотрю. –