步入J2EE架构和过程(1)

对于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> 摘要 Java2企业版(J2EE)平台由四个关键部分构成:规格说明、参考实现、兼容性测试套件和蓝图(BluePrint)计划。蓝图描绘了分布式组件架构最好的实践和设计指导方针。本文基于Rational统一过程和BluePrint示例程序介绍一个八步骤J2EE开发方法学。通过阅读这篇文章,你可以了解许多重要的J2EE架构的话题,并且能够扩展和修改这个简单的方法来解决自己特有的业务问题。 在商业世界里,我们使用Java2 企业版(J2EE)解决业务问题、开发商业软件或者提供转包服务。如果一家公司想使用多层体系结构建造一个电子商务网站,通常在整个开发生命周期中需要涉及到管理者、架构师,设计人员、编程人员、测试人员和数据库专家。 为了使不同部门能高效率地工作,他们经常需要一个软件开发过程。一些经典的开发过程包括瀑布模型、快速应用开发(RAD)和极限编程(XP)。本文我们将集中于一个流行的软件工程过程,即Rational统一过程(RUP)。RUP提供了一个给角色分配任务和责任的严格方法。它的目标是保证我们在预期的进度和预算内开发出满足用户需求的高质量软件。 我在J2EE开发中使用RUP出于以下三个原因。首先,RUP以架构为中心;在将资源分配给全面开发之前,它先开发一个可执行的架构原型。其次,RUP是迭代并基于构件的。该架构基线通常包括一个框架或基础设施以便于通过迭代增加构件,在不影响系统其他部分的前提下定制和扩展一个系统的功能。最后,RUP利用一门工业标准语言--UML,可视化建模系统的架构和构件。RUP有四个不同的开发阶段:初始、细化、构造和移交。然而,本文从技术角度覆盖了J2EE开发的八个必要活动,主要集中在系统架构。 1、 需求分析 需求分析描述系统应该做什么或不应该做什么使得开发者和客户可以签署一份原始的商业合同。可以使用业务概念、领域术语、用例和用户界面(UI)模型形成功能需求文档。对于非功能需求,如性能和事务,可以在需求文档附件中详细说明。根据参与项目深度的不同,确定在纸上还是使用HTML建造高层UI模型。 图1 展现了一个典型电子商务系统中的两个用例。查看订单(viewOrder)用例告诉我们一个用户通过Web界面登陆系统、查看订单列表,点击链接查看特定订单的详细信息。增加订单项(addLineItem)用例告诉我们浏览产品列表、选择感兴趣的产品并将它们添加到购买订单中。 图1 订购用例 2、 面向对象分析 分析人员构造问题领域模型:类、对象和交互。分析应该与技术和实现细节无关,并包含一个理想的模型。对象分析可以帮助理解问题并获得关于问题领域的知识。因为业务过程的改变比信息技术的改变要慢得多,所以必须要维持一个不含技术细节的纯领域模型。 这两个步骤--需求分析和面向对象分析--不是J2EE特有的;对许多面向对象方法学来说,它们都非常通用。图2 显示了一个宠物店示例程序的高层对象分析模型。它用图例说明了我们从需求分析用例中识别的主要概念。我们把这些概念建模成对象并标识它们的关系。 图2 更高层分析模型:宠物店领域 需求和对象分析的结果是为J2EE架构的开发提供切入点。为了开发架构,可以选择一个纵向联合部分(vertical piece)--经常是关键部分,如订单领域对象模型--进行对象设计、实现、测试和部署。(纵向联合部分,一个RUP概念,是指系统的一小部分。起始点是图1所示的用例子集和图3所示的领域分析模型。一个纵向联合部分的实现结果是一个全功能的微小系统,包括UI层的JSP,中间层业务对象如EJB和后端数据库。)可以将从原型中获得的经验应用于领域对象并作为对象设计阶段的指导。 图3 详细对象分析:订单 3、 架构规格说明 经过前面两个步骤,业务领域问题和需求应该比较明确了。现在,我们将工作集中在技术策略和架构上。架构是指所有构件组合定义系统的一个蓝图:结构、接口和通讯机制。我们可以进一步将架构分为企业级和应用级架构。 企业级系统架构 企业级系统架构包括硬件和软件基础设施、网络布局、开发、测试、生产环境等等。它反映了一个企业的长期投资。开发前,需要评估已存在的软件和硬件基础设施,如果不完全支持J2EE的话,增加新构件更新已存在系统。你需要彻底地评估硬件,包括计算机、路由器、网络转换器和网络布局,因为它们都影响到系统的性能和可靠性。图4 显示了一个可能的多层网络布局。 图4 企业级架构:网络布局 如图4所示的一个多层企业级架构包括以下几个主要构件: 一个Web浏览器客户端,可能在也可能不在客户端组织的防火墙内 一个HTTP服务器,是一个对公众开放的Web服务器。它通常位于一个称作DMZ的子网内 Web容器主表示层和可能的业务逻辑构件 应用程序容器主业务逻辑构件 关系数据库管理系统(RDBMS)和数据库主数据、数据逻辑 你使用的系统架构类型依赖于安全、性能和可靠性的需求,也依赖于组织的财政状况。在缺少经验的情况下,也可以适当地从一个修理厂电话订购一台简单地二手计算机。Internet上有许多开放源代码的操作系统、Web服务器、应用程序服务器和数据库管理系统。得到这些系统的代价只是几百美元和熬几个通宵。 象许多华尔街金融机构这样的高端客户也许需要一个连续支持安全、高吞吐量交易和不可预料网络通讯的系统。在这种情况下,为了容错,通常需要将Web服务器和应用程序服务器集群配置成一个n层架构。 还需要评估软件基础设施,包括Web服务器、安全管理软件、应用程序服务器、域名管理服务器、数据库管理系统和第三方软件构件。如果还没有购买应用程序服务器,选择一个J2EE供应商将是评估过程的一个重要方面。应该注意到不同的供应商对J2EE的实现程度是不同的,一些供应商只支持老的J2EE版本。另外,一些Web容器或应用程序容器可能比其他的速度要快。除了实现J2EE规范外,许多供应商还出售J2EE基础构件或框架。选择一个稳定的提供支持的J2EE供应商也非常关键。你可以在系统基础设施层面上购买或开发的通用功能包括: 事务 国际化和本地化 集群和对象分布 应用程序性能度量和剖析 通讯 工作流管理 入口和个性化管理 层对层通讯协议 安全和防火墙 应用架构 应用架构参考一个特定的项目和规范建立在企业级系统架构的上层。在基础设施完成后,架构师研究怎样构造一个特定的应用。如果你的企业级架构仅部分支持老的J2EE版本,可以先升级你的系统。如果由于预算或时间关系不能升级,那么必须在更老版本规定的技术范围内开展工作。虽然构造企业级重用构件非常重要,但是必须首先要能够使用。这里的最终目标是满足客户的需求--一次一个项目。 架构师不是设计师;架构和设计是完全不同。一个应用架构的范围包括系统的主要结构、架构设计模式和可以在上面增加构件的框架。架构主要关注的是非功能性方面,而设计关注应用业务用例将领域对象模型转换成技术对象模型。应用架构是项目的结构,一个特殊的应用程序。通过应用架构开发,你通常必须要做的应用架构决定包括: 层之间进行功能划分 领域对象建模 要保护的遗留系统 要购买的软件构件 要开发的构件 怎样集成第三方构件 图3的订单领域对象说明了怎样对领域对象进行建模。利用当前的Java技术,可以将领域对象分布在作为开发者管理持续性对象的Web容器中、应用程序服务器的EJB中或者作为RDBMS宿主的Java存储过程中。 在宠物店蓝图中,我们将订单对象设计成一个实体bean,一个详细对象和一个数据访问对象,如图5和后面的图6所示。当你看到这个的时候,你应该意识到架构的重要性。为什么分析模型中的一个领域对象映射成这么多对象?如果改变设计,会出现什么问题?你也许听说过EJB的好处,但是要注意不同供应商的性能是不同的。当一种新技术到来的时候,你需要在投入全面设计之前进行一些研究。你可以经常地将设计和实现领域对象模型纵向联合部分的经验应用到其他许多领域对象中。这就是架构开发的内容。 图5 订单对象设计模型 在J2EE的早期,一些面向对象的设计人员试图将领域模型映射成实体bean并通过层传输。它们包含很好的UML图,但结果是由于不必要的网络通讯使得系统运行很慢。没有架构开发,没有清楚地理解一种新技术就从对象分析直接转到对象设计往往导致项目失败。 架构可交付产品 由于J2EE架构是一个相对新的话题,对于J2EE架构师的可交付产品还没有很好的定义。从宠物店示例程序来说,很难区分架构在哪里停止,设计又在哪里开始。文档随应用架构的高层检查、模型-视图-控制设计模式的讨论和架构总览开始。低层文档在源代码中。这里没有UML图。Sun的J2EE企业架构师认证的委派部分要求所有产品用UML表示。然而,标记只表示类图、构件图和少量对象交互图。这些对真实世界里J2EE应用来说远远不够。架构规格和过程至少需要下面的东西: 一份描述现存硬件、软件、网络布局和其他构件的系统架构文档 一份描述应用程序主要结构,包括所有重要结构构件、用例构件和遗留构件逻辑视图的应用架构文档 一份如果有其他选择的情况下,描述所有设计指导和架构决定,解释这些决定并描述可能结果的新构件设计指导。这些指导应该捕获所有重要的基础决定因素,新构件设计必须考虑维护系统架构的完整性。 一个正在运转的架构原型,可以评估新技术;获得开发和部署J2EE应用程序的经验;构造架构框架;度量性能、可伸缩性和易用性来说明风险;还可以向项目承担者证明你的方法是可行的。 在开发了几个J2EE解决方案得到更多经验之后,原型变得不太重要,少量的UML图和一些设计指导或许就足够了。
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等; 阅读详情

相关推荐

基于TL431与MOSFET的高效过压保护电路设计详解

本文详细解析了基于TL431与MOSFET的高效过压保护电路设计。通过TL431精准监测电压,驱动MOSFET作为主开关,实现快速可靠的电源保护。文章涵盖电路原理、参数计算、性能优化及实战调试要点,为电子设备提供了一套经典且成本低廉的过压保护解决方案。

weixin_29215391的博客 783

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

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

长弓的专栏 1517

告别QWebEngineView!用QtLocation+SQLite打造离线地图应用(附完整源码)

本文详细介绍了如何利用QtLocation模块与SQLite数据库构建高性能离线地图引擎,解决传统QWebEngineView方案在网络依赖、内存占用和定制化方面的不足。通过多级缓存机制、异步写入优化和纹理压缩技术,实现工业级应用的稳定运行和高效渲染,特别适合车载导航和野外勘探等场景。

weixin_30431445的博客 363

J2EE的体系架构——J2EE

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

try to do 1万+

从BIOS到路由器:深入拆解SPI NOR Flash的硬件连接与‘芯片内执行’(XIP)奥秘

本文深入解析SPI NOR Flash的硬件连接与‘芯片内执行’(XIP)技术,从BIOS到路由器的应用场景出发,详细介绍了其架构精髓、典型连接方案、时序设计及性能优化方法。通过实际案例和参数对比,帮助开发者掌握NOR Flash在嵌入式系统中的关键作用与设计技巧,提升电路设计效率与可靠性。

weixin_30522183的博客 492

Ubuntu20.04下SRS流媒体服务器的安装与开机自启动优化指南

本文详细介绍了在Ubuntu20.04系统下安装SRS流媒体服务器并优化开机自启动的完整指南。从基础环境准备、服务管理方案对比到systemd自启动深度优化,提供了实用的配置技巧和排查方法,帮助用户快速搭建稳定的流媒体服务环境。特别推荐使用systemd方案实现高效的自启动管理。

weixin_29313239的博客 414

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

<蓝桥杯软件赛>零基础备赛20周--第16周--GCD和LCM

gcd,lcm

罗勇军的博客 7614

步入J2EE架构和过程

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

erikxu's programming trip 1866

springboot+shardingsphere+druid 实现基于时间的水平分表

使用shardingsphere基于时间字段的动态水平分片。

weixin_42207940的博客 2628

毫米波雷达dd-mimo中发射天线辐射方向图变化

本文详细介绍了dd-mimo的相位调制原理,以及分离天线的办法,最后演示了在dd-mimo中因为相位调制带来的辐射方向图的变化。

weixin_44555637的博客 1171

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万+

关于海康MVS软件显示速率低与1GB、相机丢包的设置优化

工控机主要应用与视觉检测!相机网线及工控机网口都是千兆的!设置完巨帧数和速度与双工(选择为全双工),显示速度低与1GB,不能够正常工作。C.LA-Properdes-Advanced-将RecerveBuffers更改为2048。E.LAN-属性-电源管理-取消选中允许计算机关闭此设备以保存电源。这种情况均为MVS设置不熟悉,可参照如下设置优化相应端口相机配置。D.局域网-属性-高级-将传输缓冲区更改为20484。B.LAN-属性-高级-将中断记录部分更改为执行。A.关闭采集控制帧速率控制。

米可的博客! 8828

J2EE系统架构和过程浅析

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

TechChan的专栏 1183

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

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

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

QDShuai的博客 3万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

框架——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

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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

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

LuoGuoHua_Xin的博客 882

J2EE

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

qq_42918433的博客 8209

JavaEE(J2EE)学习篇

一、简要介绍 Java EE,Java 平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为 Jakarta EE, 是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件,可以说是一个框架或是一种规范。 Java EE是 J2EE的一个新的名...

nann-viiv 的博客 925

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

Java2企业版(J2EE)平台由四个关键部分构成:规格说明、参考实现、兼容性测试套件和蓝图(BluePrint)计划。蓝图描绘了分布式组件架构最好的实践和设计指导方针。本文基于Rational统一过程和BluePrint示例程序介绍一个八步骤J2EE开发方法学。通过阅读这篇文章,你

涅 磐 427

J2EE与JAVAEE有什么区别?

去年解甲归田,重操码农旧业,突然发现之前知道的一些概念,J2EE没有了,改叫Java EE,什么意思?过了一年,终于想到要查一查,原来没有别的意思,就是Sun觉得不爽,自己改了一个名字,二者没有本质区别。 JavaEE是指Java Enterprise Edition,Java企业版,多用于企业级开发,包括web开发等等。在java1.2后叫J2EE,从java1.5开始更名为JavaEE 5.0...

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值