当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

精通J2EE操纵程序开辟之穿插解析J2EE[Java编程]

赞助商链接



  本文“精通J2EE操纵程序开辟之穿插解析J2EE[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在不久前的一段时间内,Java 开辟人员在预备一个新的企业 Java 开辟项目时,事前就知道将要利用的工具.当时,一切都很简单:J2EE 是新的,HTML 浏览器是公认的用户界面尺度,而复杂性(至少从猜测的角度而言)已成为过去的事情.而目前,事情变得如此复杂.

“开辟人员面对的挑选令人眼花缭乱.”

开辟人员面对的挑选令人眼花缭乱,从“轻型容器”(如 Spring、NanoContainer 或 HiveMind)到“web 框架”(如 WebWork、Tapestry(一个基于 JSF 的 UI,近似于 Oracle 的新利用程序开辟框架 (Oracle ADF))或 Velocity).这些挑选还增添了一系列新的 J2EE 标准,大概说是通过 JAXM、SAAJ、JAX-RPC 或 JAX 对“Web 服务”和呼应的新技术术语“面向服务的体系构造”赋予了新的代价(更不用提“WS-*”标准、工具和库了),Java 开辟人员可以完成全部工作,这真是一个奇观.

No Fluff Just Stuff 软件论文系列的演讲者 Ben Galbraith 将此现象称作“Java 框架不肯定性原则”:“您方才挑选了一个框架,某个其他框架的新版本便公布了,从而迫使您对挑选框架重新解析.”并且这种情形的复杂程度也无以复加了:只需将核心 J2EE 和 J2SE 类混合在一同利用.毕竟,我们被奉告 EJB 是 J2EE 的“核心”,并且考虑一个没有 EJB 的企业 Java 项目将是一个笨拙的设法,这只是昨天的事.毕竟泛型若何改变您的 J2EE 编码体验?并且毕竟是谁让全部 Java 管理扩大成了路障?

毕竟是怎么了?最初明确专注于成立一个由单项上风工具和库构成的平台的行业何故在如此短的时间内变得如此零乱?我们什么时刻需求在传统的“J2EE”工具(如 EJB)与新型“Web 服务”(如 JAXRPC 和 WS-Security)工具之间举行挑选?更重要的是,我们目前若何做才能避免 Ben 的 Java 框架不肯定性原则而又不违反 Java 首先应遵守的供应商无关原则?

此问题主要在于理解最能满意需求的技术,而最好的办法是首先理解利用程序的需求.理解利用程序的需求后,便可清楚地界定应选用的呼应技术.

本文将扼要概述最早进的 J2EE、与其相关的技术以及 Java 开辟人员当今面对的某些体系构造挑衅.

我们目前要走向何处?

很多差别范例的 Java 程序在“企业 Java”的名义下趋于变得臃肿,在深化谈论前,这大概有助于将它们与其他范例的 Java 利用程序区脱离.假如我们从传统的“3 层”办法开始(行将表示、业务逻辑和数据拜候划分为三个一致的计划层次),则我们实际上可以肯定五种“企业”Java 利用程序:烟囱、宝石、聚合器、集成器和企业利用程序.

“我们实际上可以肯定五种“企业”Java 利用程序:烟囱、宝石、聚合器、集成器和企业利用程序”.

烟囱烟囱利用程序(也称作“竖井”)大概是开辟人员最简单承受的利用程序,这是因为它是一种我们频频开辟的利用程序:它是传统的“单数据库、单 UI”利用程序,就绝对数目而言,它是当前构建最广的一种 IT 利用程序.它普通是按照某个部门经理或副经理的需求(即探求某个特定工具或利用程序来汇集、操作和显示某种当前未汇集、操作和显示的数据)而开始成立的,为此将组建一个团队(规模普通不超越三到四个人,常常只有一个人)来汇集需求、成立用例、构建数据库、对业务逻辑举行编码、将其布置到挑选作为此利用程序的生产服务器的机械并不断地监督它.

当然,此名称得自您在白板上绘制的三个框(表示系统的逻辑层 — 表示层、业务逻辑层和数据拜候层)所形成的图象 — 它们构成了一条垂直线,不由令人想起将燃烧木头的火炉中产生的烟排出到房间表面的旧式“烟囱”.(趁便说一下,关于将该术语用作贬义术语的用户而言,请记着,您在一生中将利用的很多最重要的系统(如 ATM 机、主要船运公司场地上的包裹定位器等)都是烟囱系统.

有一点大概对比令人吃惊的是,J2EE 软件套件并不能完好满意构建简单烟囱系统的开辟人员的需求.当只需求一个表示层,且只有一个资源用于存储和检索数据时,J2EE 套件(特别是 EJB)就显得“碍事”了.更诱人的办法是考虑轻型框架,因为它们并不那么专注于布置描写符,并且就 JNDI、JMS 之类而言也没什么不便的.它只是通过 web 浏览器举行的基本恳求/呼应通信,普通构建在近似 Struts 或类似的 MVC 款式 web 框架中,并与一组核心的传统 Java 对象(有时与单个机械上运行的表示层和业务逻辑层(而非数据库本身))举行通信.(您大概奇特此处为什么没有利用术语“数据库”.缘由很简单,固然大大都项目利用数据库(并且还是关系数据库)存储数据,但数据存储普通是原有系统、商业软件程序包或形如 CICS 大型机、SAP 或 BizTalk 的“中介”技术.利用更普通的术语“资源”有助于夸大这样一个见解:后端实现确切与本谈论无关.)

烟囱利用程序的另一个上风是它们普通是“独立的” — 也就是说不触及其他利用程序.几近不需求服从任何已成立的安全、坚固性或管理尺度,这是因为此利用程序所建立的全部内容都将成为尺度(至少对此利用程序而言是这样,这恰是此范围的关键所在).开辟人员常常操纵此事实来构建恰好合适于此利用程序的底子架构,从而消除了普通针对企业 Java 利用程序的责备:它们太复杂了,以至于无法利用和保护.

固然人们但愿如此,但 J2EE 的计划并非是针对烟囱利用程序的 — 当然,一个基于 J2EE 的利用程序可以构建此类利用程序(并且有上千个示例可以作为此事实的证据),事实上有点像用牛刀杀鸡.基于 J2EE 的利用程序实施了一定程度的层划分,但有时这种划分关于办理手头的问题显得有些矫枉过正,如传统的“10 用户”烟囱系统.当然,问题是 10 用户烟囱系统普通有一种另人不悦的趋向,即改变成其他四个版本中的某个版本,这样将使事情变得很糟.就像某位哲学家说的那样“没有哪个人是孤独的”,我们也可以很轻松和精确地说“没有哪个系统是孤独的”.至少在短时间内是这样.(当然,假如系统无法完成其预期的目标,那它就无法与任何其他系统集成,并且大概停产,但我们将假定那不是预期的目标.)

珠宝 我们并非说这是 IT 环境的成功和自大或五种利用程序款式中“最好”的一个,但珠宝款式的利用程序是结合了多个表示层的利用程序(因此,它的名称--“珠宝”表示有很多面可供查看).但请注意,给定表示层大概根本不是供用户查看的;公司当前常常探究的一个层是其基于 Web 服务的利用程序前端,它并非为人利用而设.固然如此,该 Web 服务仍表示一个表示层,这是因为它从根本上履行同一操作:获得输入并从其下面的核心业务逻辑层中供应输出.

由于一度曾存在的某些假定忽然间不复存在了,珠宝利用程序对传统编程模子举行了一些风趣的改变.比方,当考虑一个 Web 服务前端时,忽然必须以某种平台和语言无关的方法(对此,XML 情势是当前可以挑选的工具)定义范例,而抱负情形下,“一次且仅此一次”法则(也称作“不反复自身”原则)将答应我们直接通过基于 HTML 的表示层用来与业务逻辑层通信的同一范例构建此范例.这就是某些 JAX* 标准的用武之地--比方,Java API for XML Binding 有助于定义一个以非常模糊的方法举行“对象到 XML 以及 XML 到对象”转换的尺度办法,而 Java API for XML RPC (JAX-RPC) 定义一种利用 WSDL、SOAP 和 XML 构建可互操作的恳求-呼应远程通信层的办法.


  以上是“精通J2EE操纵程序开辟之穿插解析J2EE[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 精通J2EE操纵程序开辟之穿插解析J2EE
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .