Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

Java入门(13) More Java!

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  但是随着应用的不断扩展,经常需要让那些基于不同设计的软件交互,甚至一起工作。传统的方法是通过一组系统服务API(Application Programe Interface,应用编程接口)来实现。其工作原理如下图所示:

13-21

  图13-21 通过API来利用原来的程序功能

  通常会提供API的,都是一些系统软件,它们本身在设计时就充分考虑到让其它用户程序通过API来调用自身的“功能”模块。而如果一个软件本身在设计时并未考虑到API的话,就无法使用这种方法来实现,因此这种模式有极大的局限性。

  矛盾与需求必将促进技术的发展。在20世纪90年代,出现了一种基于面向对象技术的软件工程技术---组件技术。这是一个新一代软件技术发展的里程碑。

  一些提示:

  面向对象技术是出现在20世纪80年代,但它并未完全解决我们遇到的问题。因为经缺乏一种让不同开发商提供的软件对象在同一地址空间里相互合作的机制。

  这些有用的对象就象是“千军万马”,但我们还缺少一个能够“统帅三军”的人物。而组件技术就是这个“统帅”。

  组件技术的基本思想就是:创建和利用可复用的软件组件来解决应用软件的开发问题。组件是一种可复用的一小段软件(可以是二进制的,而不是源代码)。组件可以有多种多类,小到图形界面上的一个按钮,大到一个复杂的软件。

  只要开发者、应用商将它们的软件作品组件化,那么程序员们就可以在这些组件的基础上,根据自己的需要,将不同语言、不同厂商的组件组合在一起,编制自己的应用程序。通过复用这些组件,就能够使应用程序开发变得更加简单、更加快速,而且成本更加低廉。

  组件技术的出现,使得:

  1) 大大提高开发速度:由于许多软件模块都是通过复用这些已用的软件组件而成,因此将大大减少开发量,缩短开发周期。

  2) 降低开发成本:开发量的减少,开发周期的缩短,都会节约大量的成本。

  3) 增加应用软件的灵活性:当软件中的某个组件升级了,功能增强了!我们只需简单地换掉这个组件,马止就可以升级整个应用软件。而且我们还可以根据自己需要将它们个性化,这大大提高了应用软件的灵活性。

  4) 降低维护费用:由于采用组件技术开发的应用软件,可以通过局部修改达到优化、修改软件的目的,而不必重新做全局修改,这将大大降低软件的维护费用。

  最后,我们通过一个通俗、简单的例子,来说明使用组件技术开发应用软件前后的情形,希望这个例子能够帮助您理解组件技术的真谛。

  我们要开发一个具有收音、放音、录音三种功能的“三用机”。

  一些提示:

  这其实是一个无线电技术方面的开发,我们在此就把它做一个类比。

  1) 使用组件技术之前,我们开发应用软件就象:

  我们做这个“三用机”时,我们放着现成的实现“收音”功能的集成电路、实现“放音”功能的集成电路、实现“录音”功能的集成电路不用,非得推倒一切,重新设计。由于时间有限,他可能做出了这些功能,但是整体的设计就可能无法让用户接受,最后可能得到一个不好的产品。而且要维护、维修这个产品,将会受到极大的困难。

  这样做新产品开发的硬件工程师,肯定会受到各方面的批评吧!我想你也会觉得这种不可思义的工作方法是十分可笑的吧!

  可是,很遗憾的是,我们的软件开发工作却一直使用这种“令人可笑”的方法来做的。但这也是因为软件产业尚未成熟,还没有整理出“收音集成电路”、“放音集成电路”、“录音集成电路”这些可复用的模块。只好使用这种“没有办法的办法”来做这样的工作。这种现状,也就是“软件危机”。

  2) 使用组件技术之后,我们开发应用软件就完成不一样了:

  我们做这个“三用机”时,我们认真设计,将实现“收音”、“放音”、“录音”功能的集成电路组合在一起,然后认真设计用户界面,外观、其它功能。结果我们得到了一个十分新潮的“三用机”

  我想,这种方法在硬件工程设计上早已不是什么新技术了,正是这种不断地站在巨人的基础向前发展的经历,使得我们的CPU越来越快(你现在知道,为什么摩尔定律为什么会实现了吧!)。

  因此,想让我们的软件开发工作能够象硬件开发一样有效率的话,也得总结出各种有效的“组件”,以后应用软件的开发变得象“搭积木”一样简单有效。

  13.4.2 主流组件技术

  传授新知

  但是真正有效的软件组件,并不能够随意构造。因此,软件界就开始了一场组件软件的体系结构和组件间的接口方式的研究。并且许多软件厂商、组织制定出了许多这方面的方案与规范,比较有代表性的有三种:CORBA、COM/DCOM/OLE/ActiveX、JavaBeans。

  1.CORBA

  历史最悠久的是CORBA组件技术。它是由OMG(对象管理组织)制定的。OMG组织有许多大名鼎鼎的IT公司:HP、3COM、SUN、CANON、PHILIPS等。它使得异构系统中的部件能够很容易地通信,就像是在本地进行通信一样。

  2.COM/DCOM/OLE/ActiveX

  最有市场竞争力的是Microsoft公司推出的COM/DOCM/OLE/ActiveX组件技术。它性能优越,但它仅局限于Windows平台上使用。

  3.JavaBeans

  由于组件技术规范具有不可小视的重要性,因此Sun公司为了与Microsoft竞争,在不久前发布了基于Java的组件技术标准:JavaBeans。它的目标是实现一种与平台无关的组件技术。不过,由于Java的地位不断的提高,使得对手Microsoft公司也对其提供了支持。

  小知识:

  第一个JavaBeans规格书是在1996年9月宣布。这个规格书是多家公司合作的结果。它包括Apple、Borland、IBM、JustSystem、Microsoft、Netscape、RogueWave、SunSoft和Symantec等等。

  到现在,又有许多新的公司宣布对JavaBeans提供支持,这些公司包括:Corel、EnterpriseSoft、Gemstone、Jscape、K&A Software、KL Group、Lotus Development、NOVELL、ProtoView、Development、Rogue Wave和Stingray Software等。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Java入门(11) 让程序更动人   下一篇:JSP 技术白皮书

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号