用J2EE架构企业级应用(1)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

企业级应用是指那些为商业组织、大型企业而创建并部署的解决方案及应用。这些大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、用户数多,有较强的安全性考虑。

当代的企业级应用决不可能是一个个的独立系统。在企业中,一般都会部署多个彼此连接的、相互通过不同集成层次进行交互的企业级应用,同时这些应用又都有可能与其它企业的相关应用连接,从而构成一个结构复杂的、跨越Intranet和Internet的分布式企业应用群集。其中,连接企业内部各种应用的技术称为EAI(Enterprise Application Integration, 企业应用集成),而连接企业间各种应用的技术称为B2BI(Business-To-Business Integration, 企业间集成),采用EAI、B2BI技术及早先的N层体系架构就是当今企业级应用的最大特征。

此外,作为企业级应用,其不但要有强大的功能,还要能够满足未来业务需求的变化,易于升级和维护。

 

企业级应用架构

下面我们使用一个图示来简单地解析一下企业级应用的架构,见图1。

 

 

图1 企业级应用的体系架构

这个体系架构的主体是MVC架构。MVC是Model/View/Control的缩写。Model/View/Control是软件设计的典型结构。在这种设计结构下,一个应用被分为三个部分:Model、View和Controller,每个部分负责不同的功能。Model是指对业务数据/信息的处理模块,包括对业务数据的存取、加工、综合等;View是指用户界面,也就是面向用户的数据表示;Controller则负责View和Model之间的流程控制,也就是完成两个方向的动作:1.将用户界面(View)的操作映射到具体的Model,以完成具体的业务逻辑;2. 将通过Model处理完的业务数据及时反应到用户界面(View)上。

MVC架构使得应用程序的结构更加清晰,通过将代码按照层次划分为业务逻辑/数据、用户界面和应用流程控制这三个层次,增强代码稳定性。我们知道,对于Model、View、Controller这三部分功能来讲,View的实现一般是由界面设计人员和界面程序员来完成,Model则是由业务逻辑程序员来完成,Controller则一般由负责整体控制的程序员来完成。Controller部分的代码比较稳定,一般会实现一个通用的架构;而Model则跟随商务流程的变化而变化;View的更改则是随着用户需求的更改而更改。这种模块功能的划分有利于在代码修改过程中进行模块的隔离,而不需要把具有不同功能的代码混杂在一起造成混乱。对于项目开发而言,有利于在项目小组内按照小组成员各自的擅长进行分工,有利于三个部分并行开发、加快项目进度。

 

企业级资源连接

对于Model部分,也就是业务逻辑的处理部分,一般总是对商务数据进行处理、加工、综合等。对于企业级应用而言,商务数据有两种来源,一种是数据库,另一种则是其它的企业级应用系统。

对于数据库而言,这应当是大家熟悉的领域。我们通过使用数据库驱动程序,利用SQL来查询、操纵数据库。而对于其它的企业级应用而言,一般这些应用都会提供API,通过这些API,其它的应用就能够存取访问其中的数据,甚至是触发这些企业级应用中的一些业余流程。

 

企业级平台的特征

企业级应用需要使用优秀的企业级应用体系结构,而优秀的企业级应用体系结构通常来自于优秀的解决方案。应用程序设计开始就要考虑其体系结构的合理性、灵活性、健壮性,从而既可满足企业级应用的复杂需求,也能为今后系统的调整和升级留有余地。体系结构影响了整个应用的生命周期,实际上能够延长整个应用的生命周期,同时增强了用户在多变的商业社会中的适应性,减少了系统维护的开销和难度,从而给用户带来最大的利益。

一个理想的企业级应用系统平台应该具有如下特征:

◆ 部署、开发和维护的有效性;

◆ 系统运行的健壮性和可靠性;

◆ 具备失败恢复的能力;

◆ 能够处理海量的数据;

◆ 能够同时支持数百个用户;

◆ 具备很高的安全性;

◆ 数据的高可用性;

◆ 可以迅速地开发和部署新的应用程序;

◆ 简化组件重用;

◆ 直观的编程模型;

◆ 支持行业标准和通用编程接口;

◆ 适用与小、中、大各种规模的应用系统;

◆ 系统费用随系统规模的增长而线性增长;

◆ 不断进行技术升级,以满足不断涌现的需求。

 

使用J2EE架构企业级应用

为了满足架构企业级应用的需求,Java的创始人Sun公司在早期的J2SE(Java 2 Platform Standard Edition)基础上,针对企业级应用的各种需求,主导并创造了J2EE(Java 2 Platform Enterprise Edition)。

那么到底什么是J2EE呢?从整体上讲,J2EE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。目前,Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE和适用于企业级应用的J2EE。Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。

为了推广并规范化使用J2EE架构企业级应用的体系架构,Sun同时给出了一个建议性的J2EE应用设计模型:J2EE Blueprints。J2EE Blueprints提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EE Blueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。J2EE Blueprints是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。

下面我们参照J2EE Blueprints,结合最新版的J2EE规范(J2EE 1.4),从整体上阐述如何使用J2EE架构企业级应用。

 

 

图2 使用J2EE架构企业级应用的体系架构

图2给出了使用J2EE架构企业级应用的体系架构。J2EE将组成一个完整企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时各种组件都能使用各种J2EE Service/API。J2EE容器包括:

 
全面构建J2EE企业级应用程序指南 本文还有配套的精品资源,点击获取 简介:Java 2 Enterprise Edition (J2EE) 是开发企业级应用的强大平台,支持分布式多层架构。本文重点介绍构建J2EE应用的关键技术要点,包括组件模型、分层架构、Web容器与应用服务器、EJB类型、JNDI、JTA/JPA、JMS、安全机制、Web服务、设计模式、开发工具、部署与测试、性能优化、CI/CD以及微服务... 阅读详情

相关推荐

全面掌握J2EE企业级应用开发的基石

本文还有配套的精品资源,点击获取 简介:J2EE是Oracle公司推出的面向企业级分布式应用系统的Java开发平台,支持多层架构软件开发,并强调组件化开发理念。J2EE包含多个核心组件,如Web组件、EJB、JMS、JTA、JNDI等,它们协同工作提供了完整的开发和部署环境。J2EE应用采用三层架构,包括表现层、业务逻辑层和数据访问层,并且有专业的IDE支持其开发。虽然Sp...

weixin_30598047的博客 2653

j2ee 企业级开发

本文从五个方面对J2EE进行了比较全面的介绍。从J2EE的概念说起,到它的优势,到J2EE典型的四层模型,和它的框架结构,最后是J2EE十三种核心技术的一个简介。本文分门别类的对J2EE中的服务,组件,层次,容器,API都做了比较详细的介绍,相信看完此文,读者会对J2EE有一个更清晰的认识。

LEOSWIN.rar

从上图当中可以发现在电源按键旁边,有一个小小的功能按键,它就是联想笔记本电脑上特有的“NOVO”一键恢复按键,按下它,可以开启电脑直接进入联想一键还原界面下,进行相关的操作,还原系统,很方便。不过当我们将自带的Linux系统格盘重新分区安装Windows之后,该功能键就失效了,那么怎恢复它应有的一键还原功能呢,这就是本帖的主题,为大家图文并茂的方式,让“NOVO”按键重获新生

free 命令详解

物理メモリ利用状況の監視にfreeコマンドってどうなの?  結論からいうと、freeコマンドだけではメモリの利用状況を監視するには不十分です。これを理解するためにfreeコマンドの出力例を見てみましょう(図1)。 図1 freeコマンド出力例  図中で「-/+ buffers/cache」という行の「used」と「free」に当たる部分は、それぞれ「used-」「free+」と呼

闲云孤鹤 16万+

Linux上的free命令详解

  解释一下Linux上free命令的输出。   下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如: FO[2][1] = 24677460 FO[3][2] =10321516 1 2 3...

weixin_34054866的博客 994

HEAP: Free Heap block XXXX modified at XXXX after it was freed

*本文旨在解决在调试过程中遇到如下问题时的解决办法: HEAP: Free Heap block XXXXA modified at XXXXB after it was freed 意思是:已经释放的内存地址A,在B地址处的值被改变(A和B都处于被释放的内存段内),即很可能出现了野指针,而很多情况下你会说,我的每个new和delete都是成对的,在delete后将指针赋值为NULL。但是

ylj135cool的博客 200万+

我对J2EE的基本理解

J2EE,Java2平台企业版,是sun公司为企业级应用而推出的标准平台Java平台共有三个主要版本:                        Java EE                       Java SE                        Java MESun公司在1998年发表JDK1.2版本的时候,使用了新名称Java 2 Platform

娟子博客专栏 欢迎您的加入 为我们的IT之路共同努力 1890

企业系统管理体系 用J2EE架构企业级应用(1)

 企业级应用是指那些为商业组织、大型企业而创建并部署的解决方案及应用。这些大型企业级应用的结构复杂,涉及的外部资源众多、事务密集、数据量大、用户数多,有较强的安全性考虑。   当代的企业级应用决不可能是一个个的独立系统。在企业中,一般都会部署多个彼此连接的、相互通过不同集成层次进行交互的企业级应用,同时这些应用又都有可能与其它企业的相关应用连接,从而构成一个结构复杂的、跨越Intranet和...

天空之城 162

08 域控 架构主机 转移_杂谈J2EE企业级应用开发(9)架构从猿到人的过程1

任何事物都不是从天而降的,都有其自身的成长过程,软件架构也是一样。从最初的“无结构”设计到现行的基于架构的软件设计,基本上经历了四个阶段:1、“无体系结构”设计阶段:以汇编语言进行小规模应用程序开发为特征。2、萌芽阶段:出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征。3、初期阶段:出现了从不同侧面描述系统的结构模型,以UML为典型代表。4、高级阶段。以描述系统的高层抽象结...

weixin_36067754的博客 140

JAVA各种系统架构图及其简介

1.spring架构图 Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。Spring的核心要点是:支持不绑定到特定J2EE服务的可重用业务和数据访问对象。这样的对象可以在不同J2EE...

weixin_47574072的博客 573

J2ee规范小结

pq258280920的专栏 459

java 开发 J2EE企业级应用

6.31 MB (6,620,686 字节).PDF java J2EE開發 Java企業級應用程序

j2ee常用架构

个人撰写ssh_ssm学习文档个人撰写ssh_ssm学习文档个人撰写ssh_ssm学习文档个人撰写ssh_ssm学习文档个人撰写ssh_ssm学习文档

JavaEE驱动的企业级应用开发技术实践与创新探索

在模型驱动架构(MDA)领域,基于Eclipse Modeling Framework构建的代码生成引擎,能够从UML2.0模型自动生成符合JEE6规范的完整代码骨架,使架构设计到开发落地周期缩短至传统模式的1/5。分布式一致性协议在Java世界的重新演绎、基于AOP的混沌工程实施框架、以及JFR(Java Flight Recorder)与Prometheus的观测融合,共同构建出面向复杂系统的开发方法论新范式。这种演进轨迹不仅改写了商业软件的架构形态,更重要的是重新定义了软件工程师的思维范式。

wbFmioIp的博客 329

从0到1精通JavaEE7:架构解析与企业级实战指南

你是否正在为企业级应用架构选型而困扰?面对微服务与传统架构的两难选择,是否想找到一种兼顾稳定性与开发效率的解决方案?本文将带你深入JavaEE7技术体系,通过150+代码示例与架构图表,系统掌握依赖注入、异步处理、事务管理等核心能力,最终实现高性能企业应用的快速构建。 读完本文你将获得: - 8大JavaEE核心技术的实战应用指南 - 10+企业级场景的最佳实践方案 - 基于JavaEE7 Sa...

gitblog_00055的博客 758

当前流行的J2EE WEB应用架构分析

  1. 架构概述  J2EE体系包括java server pages(JSP) ,java SERVLET, enterprise bean,WEB service等技术。这些技术的出现给电子商务时代的WEB应用程序的开发提供了一个非常有竞争力的选择。怎样把这些技术组合起来形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。完成这个步骤可以形成一个主要里程碑基线。形成这个基线有很...

webdev2008的专栏 94

J2EE初步知识 MVC概念

<br />J2EE 是神马概念?<br />标准:J2EE 是一种利用Java 2平台来简化企业解决方案、部署和管理相关的复杂问题的体系结构。<br />个人理解:Java 企业级应用,以J2SE为核心,即标准jdk为核心,同时,融合了EJB、Servlet、JSP 以及 XML技术的全面支持。<br /> <br />MVC <br />使用 JSP 存在的问题:经常要被大量的<% %>分割到七零八落(深有体会啊~~)。大量的业务逻辑和代码直接暴露于页面只上。比如各种跳转可以看到的一清二楚。<br />

xiao_sai_的专栏 467

javaee中文api文档_Java高级架构师-JAVA基础之JavaEE与MVC

欢迎关注头条号:Java小野猫所谓的架构、模式都是方便开发和查看的,分工明确的,理解每层的具体的意义!一、JavaEE:1Java EE,Java 平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为 Jakarta EE(这个名称应该还没有得到群众认可)...

weixin_39610488的博客 756
上一篇: 陈超仁说自己的CTO成长史(3)
下一篇: 用J2EE架构企业级应用(2)
LeosHope
博客等级 码龄19年 25粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值