一、为什么要区分?(提这个问题的目的)
区分的目的是了解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应用。。反之亦然,我觉得关于这个问题的思考还是值得的
分享到:
相关推荐
JavaEE5引入了诸多改进,简化了企业级应用的开发,如使用注解简化配置、JSF(JavaServer Faces)提供组件化UI开发、EJB3.0简化了企业级bean的编程模型等。 总的来说,这本书通过讲解Web开发基础,旨在帮助学生建立...
JavaEE(Java Platform, Enterprise Edition)是用于构建企业级Web应用程序的框架,它包括一系列的API和服务,如Servlet、JSP(JavaServer Pages)、EJB(Enterprise JavaBeans)、JPA(Java Persistence API)等。...
Java EE 6,全称Java Platform, Enterprise Edition 6,是Java平台上用于构建企业级Web应用的一套标准规范。这个“j2ee6-javaEE6文档 手册 CHM”是一个关于Java EE 6的详细参考资料,对于学习和掌握该版本的开发者来...
JAVAEE,全称为Java Platform, Enterprise Edition,是Java语言在企业级应用开发中的标准。它包括一系列的组件和服务,如Servlet、JSP、EJB、JPA、JMS等,提供了构建分布式、多层架构的企业级应用框架。在这个学生...
首先,JavaEE(Java Platform, Enterprise Edition)是开发企业级应用程序的标准框架,它提供了服务器端组件模型、事务管理、安全性和其他服务。在这个网上书店项目中,JavaEE的核心技术包括Servlet、JSP(Java...
1. **JavaEE基础**:JavaEE(Java Platform, Enterprise Edition)是Java平台的一个版本,用于开发企业级应用程序。它包含一系列的框架和API,如Servlet、JSP、EJB、JMS、JPA等,用于构建分布式、多层架构的应用。 ...
本篇内容主要聚焦于JavaEE-单元5的第3个任务,即文档检索设计,它涵盖了Struts2、Hibernate和Spring的集成应用。 任务目标在于理解和熟练掌握Spring框架的注解配置,以便在文档管理模块中实现更简洁、高效的代码。...
此外,通过HTML和CSS构建用户界面,实现美观和易用的交互体验,而JavaEE技术则提供了企业级的扩展性和性能,确保了系统的稳定运行。 总的来说,【在线影评系统】是一个综合运用了Web开发技术、数据库管理和用户权限...
- **JavaEE(Java Platform, Enterprise Edition)**:是Sun Microsystems公司推出的一个企业级应用开发平台标准,它定义了一套用于开发、部署多层分布式企业级Java应用程序的标准。 - **版本4.3**:JavaEE 4.3 是在...
本项目基于JavaEE 5.6版本,该版本强调轻量级Web服务、简化开发过程,并提供了更强大的企业级功能。 ### 二、原生Servlet技术 Servlet是一种运行在服务器端的小程序,主要用于处理客户端的HTTP请求并返回响应。...
JavaEE(Java Platform, Enterprise Edition)是一种用于构建企业级Web应用程序的标准框架,它提供了丰富的组件和服务,包括Servlet、JSP、EJB等,以支持多层次架构,如MVC(Model-View-Controller)。在本项目中,...
《Java EE 应用开发》考查试卷涉及到的知识点主要集中在基于SSM(Spring、Spring MVC、MyBatis)框架的Web应用开发上,这是一份关于设计和实现一个留言板系统的项目任务。以下是对这些知识点的详细说明: 1. **用户...
JavaEE,全称为Java Platform, Enterprise Edition,是用于构建企业级应用的开源框架。它提供了一系列API和服务,包括Servlet、JSP、EJB(Enterprise JavaBeans)、JPA(Java Persistence API)、JMS(Java Message...
JavaEE支持Web服务、组件模型、管理API和通信API,是实现企业级面向服务体系结构(SOA)和Web2.0应用程序的技术基础。 JavaEE技术在过去曾被广泛使用,尤其是J2EE 1.4版本,但该版本的开发过程较为复杂,有时难以...
- **跨平台的多层互联网应用系统**:学会构建多层架构的Web应用。 - **主流应用服务器中间件产品(WebLogic Server)**:掌握WebLogic Server等中间件的配置和使用方法。 - **Web Services与SOA** - **...
JavaEE(Java Enterprise Edition)是一种用于构建企业级分布式应用的平台,它提供了丰富的组件和服务,包括Servlet、JSP(JavaServer Pages)以及EJB(Enterprise JavaBeans)等,这些工具和技术对于开发复杂的Web...
Java EE,全称为Java Platform, Enterprise Edition,是一个用于构建企业级Web应用的开源标准框架。它定义了多种组件、服务和通信技术,旨在简化开发、部署和管理分布式系统的复杂性。以下是对Java EE期末复习的一些...
【Java + SSM基于Java EE的阅读与存储图书网站】是一个综合性的项目,适用于毕业设计或课程设计,它集成了Java、...通过深入理解和实践这个项目,开发者可以提升自己的全栈开发技能,更好地理解企业级应用的构建。
首先,Spring框架是核心,它提供了一个全面的编程和配置模型,特别是对于企业级应用。Spring的主要功能包括依赖注入(DI)、面向切面编程(AOP)、事务管理、数据访问/集成以及一系列的工具支持。依赖注入使得对象...
【标题】"第56套试题"所涉及的是一份针对JavaEE技术的练习测试,这通常是指Java企业版(Java Platform, Enterprise Edition),它是一个用于开发和部署企业级应用程序的平台。JavaEE包含了多种服务、接口和组件模型...