web应用,javaEE企业级应用,如何严格区分?

本文转载自:http://www.iteye.com/topic/366193 

 

一、为什么要区分?(提这个问题的目的)
   
   区分的目的是了解web应用和企业级应用各自的边界在哪,从而总结一套思路在未来构建项目时如何选择,从中获取到,“当遇到何种场景是,适合构建企业级应用而何种场景web应用足矣”。

二、观察

   在观察自己做过的,别人做过的项目中,web应用和企业级应用各自带有一定的特征。
   web应用运行在web服务器上,比如tomcat,只需要简单的servlet容器就可运行,部署的时候发布整个目录或者打成war包发布。
   企业级应用运行在application server上,app server通常比webserver多EJB容器,所以企业级应用多支持EJB,通常打包成EAR包发布,其中EAR中有多个WAR和EJBJAR。
  
三、思考

  乍一看上去,好像EJB就是web应用和企业级应用的分水岭,所以我起初认为:

  (观点一)web应用和企业级应用的区分点在于web应用适合那些只需要简单的MVC就满足需要的场景,企业级应用适合那些有核心业务模式的场景。通常这两种场景抓不到明显边界,但是我感觉,那些大家一看就能熟知(比如借书系统,几乎谁都知道怎么借书),虽然也有其核心的业务模式(借书还书流程),但是大家一看就能掌握的,不需要把核心业务单独抽取出出来这么麻烦,构建web应用即可;而企业级应用适合那些领域性很深的,业务错综的场景,需要把业务单独抽取到领域层进行维护。
  
   根据观点一区分:是否为企业级应用就看应用中是否仅仅包含简单MVC和数据库访问,如果是就是web应用。

   可是逐渐,观点有所变化,原因在于例如Spring这样的不依赖于服务器的轻量级框架也适合构建具有复杂领域性的项目,然而由Spring构建的项目发布在web服务器上能够良好的运行,它不需要服务器首先承诺什么,所以我觉得web应用和企业级应用区分不仅仅是是否涉及深入的领域这么简单。

  (观点二)web应用面向单一的发布,所发布的应用程序模块集成在一起。而企业级应用通常包含多个组件WAR,EJB等等,为了统一发布的方面,企业级应用服务器带来了集成发布的便利。

  根据观点二区分:是否为企业级应用就看是打包成EAR还是WAR。

  觉得这种想法也不妥

  (观点三)企业级应用通常伴随着比web应用更大的并发量,对事务、安全等等因素要求更严格,所以通常把对并发、事务、安全等等因素要求高的项目构建在企业级应用服务器上,利用服务器对事务、安全等等规范的支持来使其得到保证。

   根据观点三区分:是否为企业级应用就看是发布在web server上还是发布在app server上,如果应用仅仅包含mvc但是发布在app server也是企业级应用。

四、总结

  很难想出一种明确的明确思路来区分一个项目是web应用还是企业级应用,也很难找出一条线索来针对采集到的需求判断是构建企业级应用还是web应用足以,我不知道有过多少项目构建成企业级应用更合理却被构建成了web应用。。反之亦然,我觉得关于这个问题的思考还是值得的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值