步入J2EE架构和过程(2)

对于J2EE体系架构的理解 一、何为J2EE? J2EE架构是使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE和适用于企业级应用的J2EE。Sun推出J2EE的目的是为了克服传统客户端\服务端模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 4、 对象设计 在架构规范的指导下,设计从技术上扩展和修改了分析结果。虽然分析阶段的领域对象建模应该与技术细节无关,但是对象设计完全依赖于技术因素,包括平台、语言的类型和架构开发阶段选择的供应商。分析时,抬头望着星星,但在设计阶段,则要脚踏实地。理论上,为了维持业务对象的基本属性和行为,除非绝对必要,不应该破坏它们。 在架构结果的指导下,详细设计工作应该说明所有类的规格,包括必须实现的属性、它们的详细接口和伪代码或操作的纯文本描述。规格说明应该足够详细使得和模型图结合时,它可以提供所有必须的编码信息。在许多自动化软件生产过程中,我们可以从面向对象图生成代码框架。图5和6 说明了对一些领域对象的高层和详细设计对象。注意桩(stub)和框架(skeleton)在图中经常是不可见的,因为它们对设计人员和编程员来说是透明的。我将它们包括在图6中以说明EJB的基础部分。 图6 对象设计模型:订单EJB详细设计 在完成了详细对象设计后,还需要完成领域对象的对象-关系映射。原因是虽然面向对象方法学现在非常流行,但是大多数流行且成熟的持续性存储却是关系型的。另外,在许多情况下,客户的IT基础设施已经反映了对商业RDBMS供应商的投资和偏爱。所以,将领域对象转换成关系模型或数据库表是非常重要的。虽然有许多容器管理的持续性工具,但它们不能取代好的关系数据库设计。 5、 实现 在良好的架构和详细设计条件下,实现应该是一个明确的任务。另外,因为我们设计和实现架构原型阶段的纵向联合部分,所以实现阶段应该更没有什么值得惊讶的。在许多组织中,开发者经常过早地到达实现阶段。尤其当管理者盯着开发人员确保在编码,而不是做他们认为在浪费公司时间的其他事情时,这种情况变得更加严重。 结果,不再花数小时或数天绘出UML草图,而是通常在发费数周或数月编码的同时测试自己的想法。由于在这种情况下,所有地架构决定和设计都是在编码阶段做出来的,所以经常过了数月后才发现开发的方向出错了。 6、 验证 验证包括测试验证系统按设计要求运行并满足需求。验证过程发生在整个开发生命周期的开发和产品环境中。单元测试、集成测试和用户测试本身就是非常重要的主题。 7、 装配和部署 构件装配和解决方案部署在J2EE开发中特别重要。开发和产品环境可能非常不同。如果EJB在系统中,你需要使用供应商特定的工具得到容器自动生成的类,因为,正如我以前指出的,Web和应用程序构件配置对不同的供应商来说是不同的。你也必须考虑要部署的系统是否含有供应商特定代码实现。在可扩展架构中,系统结构应该是稳定的但也应该在不影响整个系统的条件下支持新或老构件的增量部署。 8、 运行和维护 在最后阶段,应用程序到了用户手中,你必须给他们提供培训和文档。用户会发现错误并可能要求新特性。你必须适当地改变管理过程来处理这些情况。你不必为了部署一个新构件或取代老构件而关闭一个正在运行的系统。 架构开发过程 知道了必须做出许多架构决定,因此我们必须为架构开发描绘一个过程。对于一个企业来说通常有许多应用项目,它们中的一些可能跨越数年,结果是系统演化包含许多周期。在你的领域里存在着许多跨越多个项目的通用需求。你应该不费力地在它的生命周期或其他项目中使用以前项目周期的可扩展且可重用的架构。为一系列软件应用提供同属结构和行为的通用框架和可重用软件架构是非常需要的。 如果是第一个J2EE项目,架构必须做原型、测试、度量、分析并在迭代中进行推敲。蓝图提供了许多好的设计指导和实践,宠物店示例程序可以作为一个很好的参考架构。最有效地快速、高质量发布好的解决方案的方法是接受和扩展蓝图参考架构并插入你自己的业务构件。你最后要做的就是改造车轮。 接受一个参考架构 就我的理解,宠物店架构的精华是模型-视图-控制和命令模式。你可以将这些模式应用到以Web为中心和以EJB为中心的系统中。对于每个领域对象,视图用嵌套的JSP表示。控制器处理相关的业务事件,领域对象封装业务逻辑、事物和安全。我们使用门户servlet作为中心控制器接受和截获所有用户的动作。它将业务事件分发给特定的调用领域对象改变持续状态的领域对象控制器。依靠事件处理结果,控制器选择下一个要展现的视图。下面是我们可以修改并在大多数J2EE应用程序中使用的主要构件: a、 MainServlet:门户构件,Web容器和框架之间的接口 b、 ModelUpdateListener:获得模型更新事件对象的接口 c、 ModelUpdateNotifier:当更新模型事件发生时通知侦听器 d、 RequestProcessor:处理所有从MainServlet来的请求。 e、 RequestHandler:即插即用请求处理构件接口 f、 RequestHandlerMapping:包含请求处理映射规则 g、 RequestToEventTranslator:中心请求处理器根据请求处理映射规则代理即插即用请求处理构件的请求。将http请求转换为业务事件 h、 EstoreEvent:业务事件 i、 ShoppingClientControllerWebImpl:代理EJB层门户控制器 j、 ScreenflowManager:控制屏幕流,选择视图 k、 ModelUpdateManager:EJB层模型更新管理器,通知什么模型由于事件发生了改变 l、 ShoppingClientControllerEJB:EJB层门户,为EJB客户提供远程服务 m、 StateMachine:中心事件处理器,根据状态处理映射规则代理即插即用处理构件的事件处理 n、 StateHandler:EJB层状态处理接口 o、 StateHandlerMapping:包含状态处理映射规则 扩展参考架构 虽然蓝图示例程序是一个好的起点,但应该根据每个项目或领域修改它。设计模式是可重用的微体系结构,可以使用它扩展参考架构。提供了一组有用的J2EE模式目录的蓝图和23个"四人帮"模式都是非常不错的资源。例如,如果想扩展参考架构支持工作流管理,你可以在部署或运行时动态地在中心控制器注册事件处理器。中心控制器会询问每个注册的事件处理器直到一个处理器返回消息表明到了命令链的末端。 插入你的业务构件 J2EE技术对每个人都是一样的,但是不同的领域,我们要解决的问题是不同的。一旦建立了一个基本的J2EE框架,必须实现一些用例来说明架构确实可以为你的领域服务。可以通过选用捕获系统关键功能的场景来实现,这些场景经常使用来展现关键的技术风险。从领域分析模型入手,可以象我们在图5和6中那样将领域对象映射成高层和低层设计模型。实现低层设计模型并测试是否真正在工作。如果每件事都按计划运行,那么重新评估风险开始下一个迭代,扩展要考虑的场景并选择更多的场景扩展架构的覆盖范围。经过几次迭代后,原始的架构原型应该变得稳定。识别要购买的构件,要保留的遗留系统和怎样将它们对接。下一步是软件设计,你可以使用设计指导中规定好的类似方法和过程继续开发。 一步一步 我们使用一个过程来将一个复杂问题分解为较小的几个问题,这使得我们可以更容易的理解和解决它们。在本文中,我们将J2EE开发分解为八个步骤,主要集中在架构和设计。我已经阐述了重要的架构并为架构决定提供了一个过程。我也讨论了J2EE架构师的角色和可交付产品。 学习使用这些步骤开发J2EE解决方案就象学习跳舞的步骤一样。首先需要自觉并持之以恒地练习基本步骤。但是,一旦你对它们相当熟悉后,应该将它们放在一起并将注意力更多地集中在规模、速度、流和特定上下文中每一步的节奏。但永远不要让一个过程限制了创造性。而应该接受和扩展过程以满足自己特殊需要。记住,最终目的是提供满足客户需求的完整的J2EE解决方案。
J2EE常用技术架构说明 本文介绍了6种常见Java技术框架的架构特点:1. Spring框架采用分层架构,核心包括IoC容器、AOP支持、数据访问(JDBC/ORM)和企业服务集成;2. iBATIS作为半自动ORM框架,通过SQL映射文件实现灵活的数据访问控制;3. Struts1采用MVC模式,通过ActionServlet控制器分离业务逻辑和视图;4. Struts2通过拦截器机制解耦业务逻辑与Servlet API;5. Hibernate提供完整的对象关系映射,核心接口包括Session、Transaction等; 阅读详情

相关推荐

Android——Handler详解

1. 简介 Handler是一套 Android 消息传递机制 可以说只要有异步线程与主线程通信的地方就一定会有 Handler。 在多线程的应用场景中,将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现 工作线程对UI的更新处理,最终实现异步消息的处理 使用Handler消息传递机制主要是为了多个线程并发更新UI的同时,保证线程安全 2. 相关概念解释 Handler、Message、Message Queue、Looper Android消息机制: 以Handler的sendMes

Yawn 7万+

步入J2EE架构和过程2

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 339

Calibre LVS效率翻倍秘籍:用Hierarchical Flow处理亿级晶体管设计的5个关键阶段

本文详细解析了如何利用Hierarchical Flow技术提升Calibre LVS在亿级晶体管SoC设计中的验证效率。通过五个关键阶段的分层验证流程,包括顶层抽象验证、模块级独立验证等,可显著降低内存占用40-60%,缩短迭代周期50-70%,特别适用于SMIC等先进工艺节点。文章还分享了算力资源优化、并行化处理等实战技巧,帮助工程师应对大规模芯片验证挑战。

sam99的博客 769

J2EE的体系架构——J2EE

https://blog.youkuaiyun.com/dandanzmc/article/details/27355565 J2EE的体系架构 J2EE是Java2平台企业版(Java 2 Platform,Enterprise Edition),它的核心是一组技术规范与指南,提供基于组件的方式来设计、开发、组装和部署企业应用。J2EE使用多层分布式的应用模型。 J2EE分层 客户层,运行在客户计算机...

try to do 1万+

一步步教你离线安装vsftpd并配置FTP服务

在安装vsftpd之前,需确保系统更新至最新版本,并检查防火墙配置以允许FTP流量。安装过程涉及使用包管理器(如apt-get或yum)下载vsftpd及其依赖包,特别是在离线环境中,需先下载所有相关包并传输到目标机器。安装完成后,通过命令验证安装并启动服务。配置vsftpd包括编辑配置文件以设置访问权限和安全性参数,如匿名访问和本地用户访问。此外,需配置防火墙开放FTP端口,并通过FTP客户端测试服务。最后,建议进行安全配置,如禁用匿名访问和配置SSL/TLS加密,并设置日志记录以监控服务状态。

a_join的博客 2488

基于Halium 9为小米平板4移植Ubuntu Touch:内核适配与驱动调试实战

在移动设备生态中,Linux内核作为核心,通过硬件抽象层(HAL)管理底层硬件驱动,为上层系统提供统一接口。其模块化设计允许深度定制,是实现跨平台移植的技术基础。Halium项目正是利用这一原理,构建了一个中间层,将安卓内核的硬件支持能力“翻译”成标准Linux发行版能识别的格式,从而在手机、平板等移动设备上运行Ubuntu Touch、postmarketOS等移动Linux系统,极大地拓展了老旧设备的再利用价值。这一技术为开发者提供了在常见安卓硬件上进行Linux系统开发与定制的可能,尤其在嵌入式与物联

weixin_42639246的博客 377

步入J2EE架构和过程基础教程

       Java2企业版(J2EE)平台由四个关键部分构成:规格说明、参考实现、兼容性测试套件和蓝图(BluePrint)计划。蓝图描绘了分布式组件架构最好的实践和设计指导方针。本文基于Rational统一过程和BluePrint示例程序介绍一个八步骤J2EE开发方法学。通过阅读这篇文章,你可以了解许多重要的J2EE架构的话题,并且能够扩展和修改这个简单的方法来解决自己特有的业务问题。   

长弓的专栏 1517

SUMO仿真教程(1) ——安装环境的设置(Windows 10系统)

SUMO安装环境的设置 目录一.SUMO下载的官方网址二.下载步骤:三.环境设置:1.打开设置环境变量的界面2.用户(Administrator)变量设置3.系统变量设置四.总述 一.SUMO下载的官方网址 sumo的下载地址: 二.下载步骤: 1.以sumo1.8.0为示例进行演示,点击下载地址; 2.选择Windows64位的安装版本,如下图所示: 3.点击对应版本会跳转到如下图所示的界面,等待几秒后会自动下载(温馨提示:请将下载路径提前设置好): 4.到目标存储路径下查看下载完成的SUMO(本

weixin_50632459的博客 1万+

步入J2EE架构和过程(1)

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 361

【AI智能体】AI 编程 + 飞书CLI + Skills 重塑开发新范式实战操作详解

AI 编程 + 飞书CLI + Skills 重塑开发新范式实战操作详解

congge 3667

MATLAB基础应用精讲-【数模应用】数字预失真(DPD)(附MATLAB代码实现)

近年来,随着无线通信技术的发展,高功率放大器 (PA) 在提高信号传输功率的同时,也带来了非线性失真问题。PA的非线性失真会造成信号频谱扩展、功率下降、邻道干扰等问题,严重影响系统性能。为了克服PA的非线性失真,数字预失真 (DPD) 技术应运而生。DPD技术通过在发射机中引入一个非线性模块,对信号进行预失真处理,从而补偿PA的非线性失真。

qq_36130719的博客 898

步入J2EE架构和过程

标  题: 步入J2EE架构和过程发信站: BBS 水木清华站 (Fri Apr 26 16:02:08 2002)本文转自赛迪网开发者 developer.ccidnet.com摘要Java2企业版(J2EE)平台由四个关键部分构成:规格说明、参考实现、兼容性测试套件和蓝图(BluePrint)计划。蓝图描绘了分布式组件架构最好的实践和设计指导方针。本文基于Rational统一过程和Bl

erikxu's programming trip 1866

流媒体之LL-HLS 低延时HLS协议

LL-HLS协议通过扩展了HLS协议,为实时直播场景提供了更丰富的功能,如延迟控制、播放列表增量更新、阻止播放列表重新加载等。同时客户端可以更灵活地控制播放列表的加载和播放,以适应各种场景和需求。LL-HLS在直播中的延时可以控制在3s内, 但是即使这样, 还是不如RTMP, RTSP等协议的实时性。

技术控的笔记 3367

javaEE和j2EE一样吗?

javaEE和j2EE一样吗?从JDK 5.0开始 J2EE 改名为 java EE,J2SE 改名为 java SE,J2ME 改名成 java ME,其实是一回事,只是叫法改了而已java EE 是java的企业版,主要面向web应用,尤其是企业级开发,都提供了一套开发流程。(这句话个人感觉不好理解.)    1,JavaEE是标准集定义的技术架构    2,企业开发是一个面向企业开发的技术组...

dhtcdh的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

J2EE是什么,主要包括哪些技术

https://blog.youkuaiyun.com/Ashes18/article/details/73614571 最近最为深刻的认识:被面试老师问到了的知识,哪些是在自己心中模棱两可,似是而非的概念都一目了然。而后,只有在顿悟中不断总结才能进步。今天,我总结的部分是J2EE到底是什么东西,它包括了哪些技术。 一、J2EE是什么? 从整体上讲,J2EE 是使用 Java 技术开发企业级应用的工业标准,它...

QDShuai的博客 3万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

J2EE系统架构和过程浅析

<br /><br />Java2企业版(J2EE)平台由四个关键部分构成:规格说明、参考实现、兼容性测试套件和蓝图(BluePrint)计划。蓝图描绘了分布式组件架构最好的实践和设计指导方针。本文基于Rational统一过程和BluePrint示例程序介绍一个八步骤J2EE开发方法学。<br />    通过阅读这篇文章,你可以了解许多重要的J2EE架构的话题,并且能够扩展和修改这个简单的方法来解决自己特有的业务问题。在商业世界里,我们使用Java2企业版(J2EE)解决业务问题、开发商业软件或者提供转包

TechChan的专栏 1183

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java的发展-J2EE和JavaEE的区别

为了自己更好的了解java! 一直分不清楚J2EE和JavaEE的区别,根据百度百科上的解释:“此时,Java的各种版本已经更名,已取消其中的数字2,如J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。”他们是一个东西。那他们是什么? java的开发平台提供的开发包,叫做jdk(java development kit)也可以叫做java sdk(java pla...

buzhiweibuzhi的博客 1万+

框架——JavaEE(J2EE)相关

1、什么是JavaEE? Java EE,Java 平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为 Jakarta EE(这个名称应该还没有得到群众认可)。 狭义的 Java EE 是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件,可以说是一个框架,也可以说是一种规范。 广义的 Java EE 包含各种框架,其中最重要的就是 Spring 全家

weixin_42924812的博客 1107

起源之路——JSR?J2EE?JavaEE?

起源之路——JSR?J2EE?JavaEE? 前言 鉴于自己工作了一段时间对各种框架中间件处于知其然不知其所以然的状态中,所以萌生了追寻起源的想法,于是便开始准备编写该系列文章,系统的整理自己对J2EE的理解。若有发现理解不到位,或有不同见解的地方,欢迎各位大神拍砖。 什么是J2EE? J2EE的全称是Java 2 Platform Enterprise Edition,它是由多家公司共同参与并制...

LuoGuoHua_Xin的博客 882

javaEE5.0与J2EE1.4比较

<br />在新建web工程时,如果选的是javaEE5自带的jstl,仅能够使用tomcat6.x才能正常使用el <br />如果选的是j2ee1.4或者j2ee1.3时,需要手动添加jstl, <br />默认与tomcat5.x兼容,所以你修改一下web.xml,因为javaEE5.0和j2ee1.4,1.3是不一样的 <br />所以对jstl和el的支持也并不相同! <br />------------------------------------------<br />在新建web工程时,如

gyflyx的专栏 5198

J2EE

J2EE是什么,主要包括哪些技术 一、J2EE是什么? 从整体上讲,J2EE 是使用 Java 技术开发企业级应用的工业标准,它是 Java 技术不断适应和促进企业级应用过程中的产物。 适用于企业级应用的 J2EE,提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的 开发、管理和部署。J2EE 是一个标准,而不是一个现成的产品。(来自百度) 二、J2EE主要包括哪些技术 servlet Servlet是java平台上的CGI技术。Servlet在服务器端运行,动态地生成

qq_42918433的博客 8209

JavaEE和J2EE的区别

意思是一样的,都是JAVA企业版的简称。2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字“2”;J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。 

zhoudm2005 3248
上一篇: refactoring Patterns(一):介绍
下一篇: 步入J2EE架构和过程(1)
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值