为Php应用程序实现业务层的简单方法

时间:2011-09-09 02:37:09

标签: web-services hibernate spring cakephp ejb-3.0

我们正在重新设计一个使用MY SQL和cakephp作为应用框架的php应用。

  • 重新设计目标之一是支持多租户模式, 其中n个客户端,每个客户端具有相同的数据库模式(即每个租户1个数据库)可以使用托管应用程序
  • 根据登录凭据,前端(php层)将调用业务层(EJB / Web) 服务等)。
  • 然后,业务层将返回相关的JSON数据,然后由cakephp
  • 呈现
  • 今天所有的工作都是由cakephp完成的,而这个模型对于适合个人租户的动态变化并不适合。
  

问题:

     
      
  1. 这是一个很好的设计模式 - 即有一个PHP前端服务   通过Java业务层?
  2.   
  3. 什么是商业层的好候选人。我们想   保持尽可能简单 - 理想情况下使用Tomcat而不是去   如果可以的话,使用完整的EJB解决方案。我设想了这个行业   layer由许多会话bean类型的对象组成。
  4.   
  5. 我们可以通过提供JSON服务的业务层来逃脱   REST Web服务?没有任何交易 - 阅读整体   一堆数据来渲染几页,大量的AJAX更新,以及一些   非Ajax帖子。
  6.   
  7. Java EE 6中的哪些功能使这种设计成为可能(如果有的话)   没有Spring / EJB。
  8.   
  9. 将Hibernate / myBatis视为业务层中的ORM。解   应该无缝支持这一点。
  10.   

欢迎所有的想法..谢谢

1 个答案:

答案 0 :(得分:0)

Web服务将比EJB更具互操作性。他们使用HTTP作为协议;这就是基于浏览器的UI使用的内容。如果您使用基于RMI的EJB,则必须将它们包装起来以接受HTTP请求。

我更喜欢Spring / POJO方法,它使用Spring“契约优先”Web服务来支持后端服务。我非常喜欢Spring到EJB。

我不会跳转到Hibernate,除非你有一个可靠的对象模型来映射,复杂性需要它。我敢打赌,直接的JDBC或者iBatis就足够了。