登陆注册
7554600000047

第47章 企业信息系统的支撑环境(5)

(4)提供了软件总线的机制。所谓软件总线,是指CORBA系统定义了一组接口规范。任何应用程序、软件系统或工具,只要具有与该接口规范相符合的接口定义,就能方便地集成到CORBA系统中,而这个接口规范独立于任何实现语言和环境。也就是说,CORBA规范支持服务对象的位置透明性、实现透明性、执行状态透明性和通信机制透明性,只要按照OMGIDL接口描述语言对服务对象所提供的服务进行描述,客户应用与服务对象之间就可以透明地交互运行。应用软件或构件能够在“软件总线”(softwarebus)之上实现“即插即用”(plug&;play)。

(5)分层的设计原则和实现方式。CORBA规范仅定义了ORB中需要用到的基本对象,封装了相应的属性和方法,而面向应用的对象定义则可以在OMA的应用对象、领域对象或应用开发环境中逐步分层定义和实现,使CORBA系统核心始终是一个精炼的实体,而各种复杂功能和应用可以由核心扩展、延伸。

7.5基于Java的组件结构

7.5.1组件及其技术体系

第7.3.1节已介绍了组件的概念。组件实际上是一种用以实现各种应用的代码集合,也是易于管理的离散逻辑片段。理论上,组件的功能可以无比强大,企业只要根据需求购买预先定义好的模块,再把它与原来的组件连在一起,就可以扩大解决问题的范围。

组件的可重用性推动了软件的快速开发。软件商店可以把预先写好的组件很快组装成一种应用,而不是从头开始编写整个应用程序。这种情况给信息技术(IT)产业带来了以下变化:

(1)软件商店依赖于更小的家庭专业户。软件商店在组装应用软件时把每个组件都视为“黑匣子”,只要按照说明书选择和装配便可。每个组件内部的运算逻辑是开发组件的专家考虑的事情。

(2)应用开发变成了快速装配。组件供应商实现了完整而健壮的计算逻辑,而软件商店只做组件的协调工作,这样就节约了大量的开发时间。

(3)降低了软件产品的整体价格。组件供应商获得的收益取决于他所提供的组件的功能和质量,所以他必须提供最好的文档、技术支持和维护。因为组件供应商是该领域的专家,所以与软件商店自己开发的程序相比,其代码的缺陷少得多而性能要高得多,这必然会降低软件商店的成本。

组件的技术体系包含以下3部分:

(1)组件开发工具

组件的开发是一个高效率的过程,在此过程中开发工具使开发人员能够集中精力编写组件所包含的核心逻辑。这一特点推动了快速应用开发的发展,也是任何组件标准取得成功的基础。例如,像IBM的Visual Agefor Java一类的集成开发环境(IDE)就能够帮助Java开发人员快速建立和调试组件。还有一些供应商提供增强的专用EJB(Enterprise Java Beans)开发工具。

(2)组件容器

组件容器(component scontainer)提供组件的运行环境,以管理所使用的组件。

组件容器还提供一组大部分组件都需要的公共服务,例如,在必要时组件容器能够对新的组件自动进行初始化,这样就减轻了组件开发者的负担。为了把容器与组件结合在一起,在容器与组件之间必须定义完整的协议,这种协议是容器管理组件的基础。

(3)使用和维护组件的工具

如果一个单位购买了组件产品,还必须有一组工具来帮助有关人员使用和维护这些组件,例如,帮助用户建立组件的原型以适应某个特殊的应用环境。

设计任何一个组件都要解决组件接口和组件实现两个基本问题。组件接口确定了组件与调用代码之间的约定,定义了组件所接受的方法和参数。组件接口屏蔽了组件实现,这样,客户就只需要关心调用的结果和调用的方法,而不必关心具体的实现。组件实现是对象所提供的核心计算逻辑,它包含十分特殊的算法、逻辑和数据,其中的数据属于该组件私有,不能被任何客户代码所使用。

Java语言支持组件接口与实现相分离的概念,按照Java的语法在语句中分别定义接口参数和类(class)参数就可以做到这一点。同时,Java也是一种面向对象的语言和集成化的开发平台,在实践中得到广泛应用。很容易用Java语言实现组件技术。

7.5.2Java支持的组件结构

在Java的组件体系结构中,第一个遇到的概念是Java Beans。组件Java Beans是小型的应用单元,可以用来组装大型的组件或者整个应用程序。Java Beans是结构性组件而不是应用性组件,也就是说,Java Beans不是一个完整的应用,不能直接被使用。但是,Java Beans可以为构造大型的实用软件提供帮助。因为Java Beans不能直接使用,所以它不需要支持其运行的环境,不需要容器来对它进行初始化、释放或者提供其他服务。

EJB是针对一类被称为企业Beans的组件所定义的组件结构标准。企业Beans是大型的应用组件原型,它们可以直接使用,也可以与其他组件装配在一起形成更大的应用系统。但是,它们必须在一个能为组件提供运行服务的容器内才能被使用,这一点与Java的另外两类组件即Applets和Servlets极为相似。Applets用于Web页面,此时浏览器的Applet Viewer提供Applets的运行容器。Servlets用于Web服务器,此时Web服务器的ServletEngine提供Servlets的运行容器。企业Beans也需要在一个运行容器内才能使用,这个运行容器就是应用服务器。

Applets、Servlets与企业Beans的主要差别在于应用范围不同。Applets是袖珍型的Java程序,可以下载并在一个不十分确定的环境中运行。例如,一个Applet可以从Web服务器上下载形成Web浏览器,最典型的操作是形成终端用户的一个显示界面。Servlets是网络化组件,用来扩展Web服务器的功能。Servlets面向请求/响应,可以执行Web服务器的任务,此时它从某个客户机上得到请求并向该客户机发出响应,例如为电子商务目录提供一个HTML界面。

不管是Applets还是Servlets,都比较适合处理客户方的操作,例如提供图形用户界面(GUI)、实现其他与表示有关的逻辑、少量的业务逻辑操作等。如果Applets要使用Java的基本类来提供用户界面,客户方应该是一个Web浏览器。如果要Servlets以HTML来提供用户界面,客户方应该是Web服务器。在这两种情况下,组件都是直接与终端用户打交道。

企业Beans不是针对客户方而是针对服务器方的组件,实现服务器方的操作,例如执行复杂的算法、处理大规模的商业事务等。服务器方需求与客户方需求不同,它不需要丰富的GUI环境,而需要一个高可用性、具有容错能力、多用户的安全环境。应用服务器能为企业Beans提供这样的环境,也就是提供了管理企业Beans必要的运行容器。

Applets、Servlets和企业Beans之间不存在技术冲突,用户可以对这3种组件进行任意组合。例如,用户可以选择Java Beans作为开发组件来构造企业Beans的模块,同时再用Applets或者Servlets为所构造的企业Beans提供用户界面。

EJB是服务器方的组件结构标准,其作用是简化分布对象应用程序的开发过程。借助于EJB,开发人员不必设计复杂的分布对象框架,即可完成安全可靠的应用程序。

7.5.3SUN公司的J2EE

为了支持对Java组件在服务器方的运算能力,SUN公司推出了被称为J2EE(Java 2 Platform,Enterprise Edition)的独立平台。J2EE的任务是为用Java语言编写服务器方程序提供一个小型、多用户、安全和标准的企业类独立平台。用Java语言建立服务器方组件的标准是J2EE的基础,SUN公司选择了EJB。J2EE使基于组件的服务器方大型应用程序的构造过程变得简单,这一点与Windows DNA十分相像。也有人认为J2EE是一种规范,而WindowsDNA是一个产品。J2EE描述了人们在编写企业软件时必须服从的规则,我们把服从J2EE规范的软件称为J2EE产品。因为J2EE是一种规范,所以它不与单个软件开发商绑在一起。它可以支持跨平台的开发,同时也鼓励开发商之间的竞争,促使他们开发更好的产品。

J2EE是一个提供中间件服务的综合平台,功能强大、稳定,使服务器方的应用开发变得十分方便、简单。

(1)EJB

EJB是一个帮助开发人员快速开发大型企业应用的组件系统,提供了复杂的具有企业特征的中间件。开发人员可以把EJB看作为大多数企业需要的通用功能集合。用户利用EJB可以集中精力解决现实中的特殊问题,而不必在企业管理的共性问题上花费太多时间。许多EJB产品还提供了定义完整的移植途径,使用户不破坏现有企业信息系统直接跳到EJB的系统中,这有利于保护企业的遗产系统和现有资源。

同类推荐
  • 如何维修农用水泵

    如何维修农用水泵

    本书以问答的形式介绍了农用水泵使用与维修方面的知识,主要包括泵的定义、泵选型的一般程序、农用水泵的分类、如何选择农用水泵、农用水泵的安装等。
  • 安全教育知识读本

    安全教育知识读本

    为了更好地贯彻《中共中央国务院关于深化教育改革全面推进素质教育的决定》精神,全面落实《面向2l世纪教育振兴行动计划》中提出的职业教育课程改革和教材建设规划,中等职业教育规划教材编写组组织相关力量对实现中等职业教育培养目标、保障重点专业建设的主干课程进行了规划和编写。从2006年秋季开始,中等职业教育规划教材将陆续出版,提供给广大中等职业学校使用。中等职业教育规划教材是面向中等职业教育的规范性教材,严格按照国家教育部最新颁发的教学大纲编写,并通过l专家的审定。
  • “三江”水能开发与环境保护

    “三江”水能开发与环境保护

    本书是中国西南民族研究学会和云南民族研究学会和云南民族大学于2004年9—12月(其间12月1—2日曾联合召开国际学术研讨会)组织的关于云南怒江、澜沧江、金沙江水能资源开发与环境保护调研的重要成果,共包括41篇按设计要求撰写的论文,其中有对云南三江水能资源开发与环境保护进行综合研究的7篇,对怒江水电开发与环境保护进行专项研究的22篇,对金沙江水电开发与环境保护进行研究的5篇,其他针对某一种观点进行评论的7篇。该成果对于云南社会经济的发展既具有重要的理论价值,也具有重大的现实意义。
  • 整合科技资源跨区域科技赈灾
  • 药酒泡制技术

    药酒泡制技术

    本书为“农副产品加工技术丛书”之一,对药酒的泡制技术作了详细的介绍,其中滋补类药酒116种,治疗类药酒150种。
热门推荐
  • 我只想复活师妹

    我只想复活师妹

    师妹只剩下一缕幽魂,我要复活她,无论前路有多少艰险苦难。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 杀千花

    杀千花

    爱情为主,阴谋为辅,她是心狠毒辣的杀贵妃,被囚禁在宫闱之中,被权力无情的压榨,她最终选择自杀。转世重生后,她告诉自己,“尼玛,老娘这辈子一定要开心的活!!!”重生之前——杀贵妃Round1,“才侍寝几个晚上,果真如此深情?你可知道他不过是把你当个随手可弃的棋子?”Round2,,“我吗?自然是遇神杀神,遇佛杀佛,我平生杀了那么多人,就算被人杀了,也不亏。”重生之后——杀千花Round1,“你们公子到底何方神圣?”“你们公子家住哪里,年芳几何,是否婚配?”
  • 元道轮回

    元道轮回

    元气出,天地泣,日月同天!元气,是这个大陆的主调。在这个大路以实力为尊,没有实力,你那卑微的尊严,将会被无情的践踏。男主家族被灭门,他将会有怎样的命运呢?一切就在“元道轮回”
  • 寒门锦色

    寒门锦色

    成亲八年,她与他之间依旧不过一纸名分,以前她不在乎,但现在却不一样了,因为,她想改嫁了!只是——“原来娘子也嫌弃为夫残废,所以如今也要抛弃为夫了吗?”“罢了,纵然娘子无情,但为夫,成全娘子就是了。”洛影默然,忍不住怀疑,莫不是当初抛家弃夫的人其实是她?(本文纯属虚构,请勿模仿。)
  • 神医娘子手下留针

    神医娘子手下留针

    【甜宠文,男强女强】陈梦恬穿成农家媳妇,本想现世安稳,阴差阳错成了倾世神医。一手金针,天下无双,生死人肉白骨,无人得知她医毒双绝。多年以后,她发现一件惊人的事……她的夫君竟是日后权倾朝野,就连帝王都要礼让三分的权臣!他将她宠上天,退无可退,一颗心都乱了。
  • 花样人生之天才系统

    花样人生之天才系统

    他只是一个农村的孩子,不经意间得到了一个所有人都梦寐以求的东西,让他改变了这一生的轨迹。对!这个东西就是系统,拥有系统的他,人生刚刚开始......
  • 我的系统是泰坦舰长

    我的系统是泰坦舰长

    第十章开始主题。深空宇宙,星际系统,无限探索,银河争霸,鹿死谁手。宇宙公理:第一条宇宙无限有界,各类文明有序,全部必须尊守本源光的规则。第二条本源光规则之内,有序文明时间越久能力越强。
  • 小可周记录

    小可周记录

    一周的记录,千奇百怪的事件层出不穷,有生活随笔也有各式异闻
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!