【发布时间】:2012-04-05 13:55:19
【问题描述】:
从一个月前开始,我一直在努力学习 Restful Web 服务。 现在我确实练习了语法并且理解了这些概念,我决定制作一个非常简单的企业应用程序,其中包括 EJB、JPA 和 REST。 我正在努力了解组织这种系统的最佳方式是什么。如果有该领域经验的人能给我一些关于什么是最佳实践以及如何解决我当前问题的提示,我将不胜感激。
请让我给你看这张图片。抱歉,我无法获得更好的分辨率(使用 Ctrl+鼠标向上滚动进行缩放):
如您所见,这是一个非常简单的企业应用程序,有 2 个模块。
此应用程序不使用 CDI(我想在没有 CDI 帮助的情况下实现我的目标并且)
当某些客户端(任何可互操作的客户端)发送带有一些参数的@GET 时,REST 服务应该将这些参数传递给 EJB 模块,该模块将在数据库中搜索并发回适当的数据。最后,服务将在 JAXB 的帮助下自动编组并将 .XML 发送回客户端。
我的问题如下:
- 我收到 ClassCastException,因为 EJB 模块中的实体与 WebModule 中的 JAXB 类不兼容(即使它们的变量相同)
- 我不知道应该如何组织事情,以便前端可以编组和解组这些实体。
- 是否应该将实体类与 JAXB 映射结合在前端?如果那样的话,就不再需要 EJB 模块了。但问题是,我想要 EJB 模块,因为我经常在那里进行 CRUD 操作。
- 如何将 EJB 公开为 REST Web 服务(混合)?你认为这是个好主意吗?它对我有什么帮助?
- 再次,如果我在 Web 模块中创建 JAXRS+EJB 的混合体,我将必须在前端创建我的 JPA 实体,这是我以前从未做过的事情。您认为这是一个好习惯吗?
- 你有什么建议?使用 REST Web 服务的企业应用程序的组织方式通常是什么?
【问题讨论】:
标签: java design-patterns jakarta-ee rest jax-rs