我想了解与独立架构相比,JBoss AS 可以为项目带来什么?
我的模型应用程序是一个坚实的东西,启动、运行和停止作为一个整体,并且只在主机上。 它有一个数据库存储,并与用户和其他服务器通信,需要集群。 它有网络部分。这只是一个标准的大型应用程序。
JBoss 对我来说是(通常)多个应用程序的外壳,为我的应用程序提供一些标准服务。这个 shell 也是一个可靠的东西——“全有或全无”,可以打开/关闭某些东西(不可预测地影响你的应用程序,或影响 JBoss 的其他部分)或替换(非常困难并且已经是一种 hack)版本或其他模块。
对我来说,独立应用程序是将其中的胶水(如果您愿意,可以使用 Spring)与 IoC 布线结合在一起的东西。我们可以获得 JBoss 所能拥有的一切,但是是分开的。 Spring 或其他胶水在这里像应用程序服务器一样服务,但它更薄,我们仍然可以更换部件甚至 Spring 本身(从编码的角度来看 IoC 连接很简单)。
对我来说,独立的、无 AS 的方法提供了更多的控制和灵 active 。此外,JBoss AS 的最新版本纯粹是文档化的,一些功能(最感兴趣的)根本没有文档化。
那么,为什么还有人选择 JBoss - 有什么好处?
我更喜欢更独立的应用程序方法,但需要更多事实才能更好地理解并说服他人。
最佳答案
在我看来,您所描述的是同类最佳(自己收集所有部分并将它们粘合在一起)与集成堆栈(JBoss 编写所有部分并为您集成)之间的经典选择。这是一场将持续到永远的辩论。如果最佳组合对您有用,那就坚持下去。
JBoss 是一个 J2EE 容器。如果您不熟悉 J2EE 规范,请查看它。基本上,Sun 的社区流程提出了一个开发框架,其中包含您在创建大型应用程序时可能感兴趣的组件。 J2EE 包含多个子规范,例如 Servlet、EJB、JTA、JMS 和一大堆其他字母汤技术。如果您不使用这些技术中的任何一种,那么您就不需要 J2EE 容器。如果您只是对使用 Servlet 和 JSP 感兴趣,那么您最好使用 servlet 容器,例如 Tomcat、Jetty、Resin 等。
提供诸如可扩展性、事务支持、联合用户管理等企业功能是很困难的。 J2EE 容器提供了这些功能的标准级别。如果您可以在其他地方找到满足您满意水平的它们,那么您将拥有更多的力量。
关于java - 基于 JBoss AS 的应用程序架构有哪些优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3143382/