繁体   English   中英

基于JBoss AS的应用程序体系结构有什么好处?

[英]What are benefits of JBoss AS-based application architecture?

与独立体系结构相比,我试图了解JBoss AS可以为项目带来什么?

我的模型应用程序是一件可靠的事情,它可以整体上,仅在主机上启动,运行和停止。 它具有数据库存储,并与用户和其他服务器通信(需要群集)。 它具有网络部分。 这只是一个标准的大型应用程序。

对我来说,JBoss是(通常)多个应用程序的外壳,为我的应用程序提供了一些标准服务。 这个shell也是很可靠的东西-“一无所有”,可以打开/关闭某些东西(对您的应用程序产生不可预测的影响,或者影响JBoss的其他部分),也可以用不同的东西替换(非常辛苦,已经有点黑了)版本或其他模块。

对我来说,独立的应用程序是通过IoC布线将一些胶水(如果需要的话,用胶水)拼合在一起的。 我们可以单独获得JBoss拥有的一切。 Spring或其他胶水在这里就像应用程序服务器一样工作,但是它更薄,我们仍然可以替换零件甚至是Spring本身(从编码的角度来看,IoC接线很简单)。

对我而言,独立的,无AS的方法可提供更多的控制和灵活性。 而且,JBoss AS的最新版本已被完全记录下来,某些功能(最受关注的功能)根本没有记录在案。

那么,为什么仍然有人选择JBoss-有什么好处呢?

我赞成使用更多的独立应用程序方法,但是需要更多的事实来更好地理解并说服他人。

在我看来,您所描述的是在同类最佳(收集所有零件并将其自身粘合在一起)与集成堆栈(JBoss编写所有零件并为您集成)之间进行的经典选择。 这是一场永恒的辩论。 如果同类最佳,那么请坚持使用。

JBoss是一个J2EE容器。 如果您不熟悉J2EE规范,请看一下。 基本上,Sun的社区流程提出了一个开发框架,其中包含您在创建大型应用程序时可能会感兴趣的组件。 J2EE包含多个子规范,例如Servlet,EJB,JTA,JMS,以及其他许多字母技术。 如果您没有使用任何这些技术,则不需要J2EE容器。 如果您只是对使用Servlet和JSP感兴趣,那么最好使用Tomcat,Jetty,Resin等Servlet容器。

提供诸如可伸缩性,事务支持,联合用户管理等企业功能很困难。 J2EE容器提供了这些功能的标准级别。 如果您可以在其他地方找到满足您要求的产品,那么您将获得更大的动力。

您还可以选择是否在JBoss内部运行。 如果您对JBoss服务感到满意,则可以使用它们,如果您不喜欢JBoss为您提供的服务,则可以部署其他服务。

从JBoss的最低配置开始,然后建立自己的配置,应该为您提供了一个不需要运行不需要服务的设置。 就个人而言,我想知道我的AS正在运行,所以我更喜欢从最少的配置开始,仅添加必要的部分。

我想说使用JBoss的唯一原因是您是否需要访问Java EE服务(例如消息传递,容器管理的事务等)。

请记住,JBoss是(粗略描述的)Tomcat和Java EE服务(是的,是的,我知道,这是一种非常简化的方法,请耐心等待)。 我提到这一点是因为我会说您的决定是:

  • 如果您只需要IoC和Spring和Tomcat可以获得的其他一些功能,那就去吧
  • 如果您的应用程序需要Java EE服务,请使用JBoss

请记住,您始终可以从基本系统(Spring + Tomcat)开始,并在以后需要时转向JBoss。 没有什么可以禁止的,并且从这种方法开始可能会向您显示您是否真的需要Java EE服务或您对该解决方案进行了过度设计。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM