登陆注册
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的系统中,这有利于保护企业的遗产系统和现有资源。

同类推荐
  • 古代水利工程

    古代水利工程

    “中国文化知识读本”丛书是由吉林文史出版社和吉林出版集团有限责任公司组织国内知名专家学者编写的一套旨在传播中华五千年优秀传统文化,提高全民文化修养的大型知识读本。
  • 宁夏高速公路施工标准化管理指南.工地建设

    宁夏高速公路施工标准化管理指南.工地建设

    宁夏地处祖国西北内陆,不沿边,不靠海,是一个经济欠发达的少数民族地区,在宁夏的运输体系中,公路运输始终占着主导地位,可以说,公路交通的发展是宁夏经济社会发展的先决条件之一。
  • 如何维修音响设备

    如何维修音响设备

    本书以问答形式为您排忧解难,简单解决音响设备故障,内容包括:怎样观察故障现象、检修音响设备的方法有哪些、音响设备有杂声怎么办等等。
  • 电工电子技术

    电工电子技术

    本书是根据教育部最新制定的高职高专教育电工电子技术课程教学基本要求和汽车、机械类专业最新教学要求编写的。
  • 微电子与固体电子技术

    微电子与固体电子技术

    本书把微电子与固体电子技术展示在读者面前。翻开人类发展的历史,人们不难看出社会的进程是与材料的使用和进步息息相关、互为依托的,材料科学与技术推动了人类文明发展链的运转,并成为其支撑点,乃至成为人类文明的“里程碑”,从而被誉为“宇宙文明之母”和“未来最令人兴奋的学科”。令人兴奋的地方在哪里呢?那些纳米、巨磁阻、超导、磁悬浮、核磁共振、磁光盘、快离子导体等知识,也许正是你想知道的。
热门推荐
  • 我女儿是修真女帝

    我女儿是修真女帝

    收养了一个女儿,辛苦把她养大,没想到,她居然是上古女帝,从此生活发生了翻天覆地的变化。
  • 少年识路

    少年识路

    一个无良少年是如何改变的,少年的叛逆与路究竟是怎样看清。
  • 死亡街机厅

    死亡街机厅

    伙计,如果有一款街机,让你用生命来玩,你愿意么?不管易轩愿不愿意,却没有人问过他的意思,直接就被坑了进去。一样是被人坑,为什么他被坑的偏偏是命?从第一次踏足这个街机厅,他就注定摆脱不了天天游走在生死边缘的境地。因为这里是——死亡街机厅。
  • 王俊凯我爱你永远

    王俊凯我爱你永远

    故事讲述艾薇儿和王俊凯从小是一对冤家可是经过某些事情使他们变成恋人,然后发生了一段精彩的故事……
  • 赛尔号之光的希望

    赛尔号之光的希望

    光明的陨落,黑暗卷土重来唯有光之神,可以拯救世界千年前的恩怨,到底是什么?光神与暗神之间到底有什么纠葛?在光明的圣地,为何代表光明的百合无法开出耀眼而美丽的花朵?遍布的血色彼岸,到底预视了什么?光明真的陨落了吗?(备注:因为作者喜欢百合,所以将光明之花定为百合。不过,丁香好像更适合这个角色,因为丁香花语:忧愁、思念、光辉。但作者不太喜欢丁香)(ps:第一次写文,不喜勿喷)
  • 重生之超能女孩

    重生之超能女孩

    卓妍的心瞬间如同掉进了冰窖,她看到何俊迟疑了片刻,开始回-吻-章丽颖,两个-抵-死-缠-绵-的男女,如同一记响亮的巴掌,狠狠的打在她脸上。“嘎——”一辆黑色的轿车急速冲了过来,撞飞了卓妍。在呈抛物线的下落中,昏迷前的卓妍赫然看到了章丽颖趴在背向自己的何俊肩头,冲着自己得意而诡谲的笑着,难道这一切都是她的阴谋!与此同时,一粒微小如尘的晶体,正穿过炙热的大气层向下飚射而来,恰好射入了卓妍的脑中。一切在这一瞬间改变……请加我的QQ807083254或者微信号Ningningluo123
  • 虎啸龙腾

    虎啸龙腾

    这是风起云涌的年代,英雄辈出,天才云集,就此铸造了最热血最精彩的战国传奇。
  • 皇女的夫君

    皇女的夫君

    古美美趴在桌子上想着,要是被我穿越了,我一定要找一个我喜欢他又讨厌我的人,这样子追起来才有意思嘛,如果我又喜欢他,他又喜欢我的话,显得我一点魅力都没有,因为幸福来的太容易了,当然了,如果老天爷非要这样安排的,我也是非常乐意的,毕竟哪个人不希望含着金钥匙出生呢…“奇怪了,皇女怎么还没醒呢,都快要到晌午了”绿衣女子有点担忧“要不我还是去请御医过来吧,毕竟皇女摔跤了可是一件大事”“可小姐不让我们说,万一小姐醒了肯定又会责罚我们的”
  • 冷骨芙蓉:冷妃夺皇

    冷骨芙蓉:冷妃夺皇

    一切皆由缘起,幻化成一位灵动玉面的可人儿。然而,千年的孤僻成长铸就了她一身的冷血傲骨。机缘之下,步入江湖。在风云暗涌的江湖……她沉静聪颖,收服清风谷七位门主,摘夺谷主宝座;经过历历磨难,本是仙元的她,最终归属是人间还是天庭?
  • 爱情公寓6之不一样的伟大恋爱史

    爱情公寓6之不一样的伟大恋爱史

    爱情公寓的结束让我非常的难受,所以我想以我的方式给爱情公寓一个完美的结局,给伟大一个结局。没有车祸,没有失忆,爱情公寓不是韩剧!