простой способ реализовать бизнес-уровень для приложения Php - PullRequest
1 голос
/ 09 сентября 2011

Мы находимся в процессе реорганизации приложения php, использующего MY SQL и cakephp в качестве инфраструктуры приложения.

  • Одна из целей редизайна - поддержка мультитенантной модели , где n клиентов, каждый с идентичной схемой базы данных (т. Е. 1 база данных на клиента), могут использовать размещенное приложение .
  • На основе учетных данных для входа интерфейс (php-уровень) выполняет вызов бизнес-уровня (EJB / Web-сервис и т. Д.).
  • Бизнес-уровень затем возвращает релевантные данные JSON, которые затем отрисовываются с помощью cakephp
  • Сегодня вся работа выполняется с помощью cakephp, и эта модель плохо масштабируется для динамических изменений, подходящих для отдельного человека.tenant.

Вопросы:

  1. Является ли это хорошим шаблоном проектирования - т.е. имеет ли php-интерфейс, обслуживаемый бизнес-уровнем Java?
  2. Какие хорошие кандидаты на бизнес-уровне.Мы хотели бы сделать его максимально простым - в идеале использовать Tomcat, а не использовать полноценное EJB-решение, если это возможно.Я предполагаю, что бизнес-уровень будет состоять из множества объектов типа сессионных компонентов.
  3. Можем ли мы получить бизнес-уровень, который просто обслуживает JSON через веб-службы REST?Больше нет транзакций - чтение целой пачки данных для рендеринга нескольких страниц, множество обновлений AJAX и некоторые посты, отличные от Ajax.
  4. Какие функции в Java EE 6 делают возможным этот дизайн (если есть) безSpring / EJB.
  5. Рассматривая Hibernate / myBatis как ORM на бизнес-уровне.Решение должно беспрепятственно это поддерживать.

Все мысли приветствуются .. Спасибо

1 Ответ

0 голосов
/ 09 сентября 2011

Веб-сервисы будут более совместимыми, чем EJB. Они используют HTTP в качестве протокола; это то, что используют браузерные интерфейсы. Если вы используете EJB, основанные на RMI, вам придется обернуть их, чтобы принимать HTTP-запросы.

Я бы предпочел подход Spring / POJO, использующий веб-сервисы Spring «контракт сначала» для внутренних сервисов. Я очень предпочитаю Spring EJB.

Я бы не стал переходить в Hibernate, если у вас нет надежной объектной модели, и сложность этого требует. Могу поспорить, что прямой JDBC или, возможно, iBatis будет более чем достаточно.

...