




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一讲 新世纪软件技术面临的挑战新世纪开始了,我们的社会正在步入知识经济时代。知识经济的特点在于创造价值的主要源泉已不再是依赖于资源、资本和人的简单劳动,而是依赖于人的智慧和科技的创新。人类文明的发展史已充分地证明,科技的更新对生产力的发展起着决定性的作用,对于知识经济时代,此作用则应更加明显。随着计算机和 Internet 的广泛普及和推广应用,计算机软件已成为信息时代社会的最重要的基础设施。新世纪软件技术面临怎样的挑战,当今软件技术有何新的动向,它对软件产业的发展有何影响,会带来怎样的机遇,我们如何抓住这一机遇把我国的软件产业发展上去?这是我国软件业界同仁最近一直关心和思考的问题。一 计算机软件是信息时代社会的最重要的基础设施我们先从1999年2月美国总统 IT 顾问委员会的一份报告1说起。这是一个非常重要而且很有影响的报告。报告列举了大量的事实论证 IT 技术对社会和国家以及人民生活的重要作用。委员会建议美国政府加大对 IT 技术发展研究的投入。在建议重点支持的四大项目中,把软件列在首位。因为报告认为软件是信息时代社会的最重要的基础设施。我们过去虽然也强调软件的重要,但从来还没有把它提到如此的高度。看来我们需要对软件的重要性来一个再认识。细想起来确实如此,我们现在的生活、工作、学习等各方面已经离不开计算机了,正如同我们的社会离不开水和电力一样。而软件则是计算机工作的核心。然而现实上,软件这个基础设施却显得相当脆弱和不可靠。随着计算机和网络的普及软件变得越来越复杂,需求愈来愈多。可是目前缺乏快速开发各种满足质量要求、安全、可靠的软件的合用技术,软件的生产能力远远满足不了飞速发展的实际需求。因此可以这样说,新世纪软件技术遇到的最大挑战是寻找和开发新技术,大幅度地提高软件的质量和生产率,以满足软件飞速发展的需求。如果把当前信息技术的新动向归纳一下,我认为可以概括为以下三点,即 社会数字化、计算机网络化和软件构件化。谈到软件新技术,业界目前比较看好软件构件技术。上面提到的美国总统 IT 顾问委员会报告,也把支持软件开发方法和构件技术的基础研究作为建议重点支持的软件技术的发展和研究的首位。什么是软件构件技术,它究竟对软件的开发和应用有些什么作用,它的发展现状如何,包括那些相关的内容,构件技术的突破对软件产业的发展会带来什么影响,下面本文将围绕这些问题,做一简要的叙述。二 从面向对象技术到构件技术所谓软件构件化,就是要让软件开发像机械制造工业一样,可以用各种标准和非标准的零件来进行组装,或者像建筑业一样,用各种建筑材料搭建成各式各样的建筑。软件的构件化和集成技术的目标是:软件可以由不同厂商提供的,用不同语言开发的,在不同硬件平台上实现的软件构件,方便地、动态地集成。这些构件要求能互操作,它们可以放在本地的计算机上,也可以分布式地放置在网上异构环境下的不同结点上。实现软件的构件化,这是软件业界多年来分奋斗的目标,可以说已经经过了几代人的努力。早在六、七十年代,大型软件系统开发引起的软件危机,导致了 Yourdon 和 De Marco 的结构化分析与结构化设计2的软件工程方法的盛行。所谓结构化方法,其目标就是为了保证软件开发的质量、提高软件的零活性和软件生产效率,通过工程化方法,建立系统的软件开发过程,使开发的软件具有好的结构,即所谓可拼装、可裁剪的模块化结构。后来在八十年代出现了面向对象的方法。面向对象方法的基本思路是用对象来作为描写客观信息的基本单元,它包括封装在一起的对象属性(数据)和对象操作(方法、运算)。与此相关的还有如下一些概念:如对象类、类的实例。对象类的继承、父类、子类、多重继承、方法的重载、限制以及接口等。关于面向对象方法已有很多研究,最著名的有:Grady Booch方法,James Rumbaugh 的 OMT(对象模型技术),Ivar Jacobson 的 OOSE(面向对象的软件工程)。这几种方法虽然基本思路相同,但仍有不少差异,从而为实际的软件开发和应用带来诸多不便。于是由 RATIONAL 软件公司发起,从1995年开始,先是 Booch 和 Rumbaugh 合作,后来 Jacobson 也加盟,共同提出了一个统一的建模语言 UML3,得到很多软件公司的支持,逐渐成为面向对象方法的一个事实上的标准。围绕着这种建模语言,还开发了相应的工具(ROSE)和统一的开发过程(RUP)。正是由于有了面向对象技术的发展,多年来追求软件构件化的的梦想,才有可能成为现实。在谈到面向对象方法时,不能不提及设计模式(Pattern)和复用技术4。设计模式是实践的总结。人们把在不同时间、不同项目中成功地解决了相似问题的相同的解决方案总结为设计模式,供后人复用。软件设计者和开发者可以通过学习和理解前人创造的模式来设计自己的软件,避免了不必要的重复,节省了大量的时间和精力,提高了软件的设计的效率。三 公共对象请求中介结构CORBA面向对象方法是软件构件技术的基础。为了真正实现软件构件化,还必须解决分布式计算和对象的互操作问题。因为按上述构件技术的目标,要求构件间能互操作,而且这些构件也允许分布式地放置在网上异构环境下的不同结点上。为了协调和制定分布式异构环境下应用软件开发的统一标准,1989年成立了一个国际组织,叫对象管理联盟(OMG)。加盟此组织的单位愈来愈多,现已有800多个单位,其中包括软件的开发供应商,软件用户和软件技术的研究单位等。经过多年的努力,已制定了一系列的标准规约,称为 CORBA(公共对象请求中介结构)5。 CORBA的核心是对象请求中介(ORB),是分布式对象借以相互操作的中介通道。另外还定义了最基本的对象服务构件和公共设施构件的规约。OMG所定义的CORBA并不规定具体的实现。实现CORBA的软件由各个厂家自行开发。现已有多种可用的产品版本发布。如上所述,CORBA的核心ORB的作用是将客户对象(Client)的请求发送给目标对象(在CORBA中称为对象实现Object Implementation),并将相应的回应返回至发出请求的客户对象。ORB的关键特征是客户与目标对象之间通信的透明性。在通信过程中,ORB一般隐蔽了目标对象的具体细节,如对象的位置、对象的实现、对象执行的状态、对象通信机制等。ORB的通信透明性使得应用开发者可较少考虑低级分布式系统的程序设计问题,而更多地关心应用领域问题。OMG接口定义语言IDL用于定义对象的接口。一个对象的接口指定该对象所支持的类型和操作,因而唯一定义了可用于该对象的请求形式。客户在构造请求时,必须了解对象的接口。如上所述,保持接口描述的“语言中性”对在异构环境中实现分布式应用是重要的。IDL仅为一个说明式语言,而不是一个全面的程序设计语言。因此,IDL本身并不提供诸如控制结构这样的特征,IDL也不能直接用于实现分布式应用。相反,客户和对象的实现是采用具体的程序设计语言完成的。因此,ORB所支持的特征必须能够在实现语言中访问。语言映射决定IDL的内容如何映射为具体程序设计语言的设施。IDL编译器将具体接口定义翻译为目标语言代码。目前OMG已完成了从IDL到C,C+,Java,Smalltalk,Ada95,Cobol等语言映射的标准化工作。CORBA除了对核心ORB作了规定以外,还定义了对象服务和公共设施构件的规约。对象服务包括最基本和最常用的服务内容,如名字服务、事件服务等,而公共设施则包括范围更广的、建立在对象服务之上的服务,如用户界面、信息管理、系统管理和任务管理等。CORBA 对应用系统未作具体规定,它可以建立在对象服务和公共设施之上,利用它们中的构件。四 构件对象模型COM和构件对象模型DCOM。微软公司是也较早采用构件技术的公司之一。1993年,微软公司提出了构件对象模型(COM)6。此技术已相当成熟,微软公司为Windows 和 Windows NT开发的应用软件几乎都是基于COM的。早期的软件多在单机上运行,后来对COM进行了扩展,允许访问其它机器上的对象。1996年提出了构件对象模型(DCOM)7,使得采用构件技术构建网上的应用系统成为可能。除了COM、DCOM以外,微软还为开发分布式企业级应用软件提出了很多在Windows NT服务器上的服务,如微软作业服务(MTS)、微软因特网信息服务(IIS)、控件服务页面(ASP)、微软消息查询服务(MSMQ)等。有人曾将DCOM和CORBA从程序设计结构、远程调用结构以及通信协议结构三个层次上进行了比较。虽然在基础原理和结构上有很多相近之处,但是在具体作法上还是有很大差异。也有人对DCOM和CORBA各自的优势和不足进行过评论。认为DCOM有较强的工具和系统的支持,另外由于有些功能已嵌入在操作系统中(特别是Windows NT),所以在降低化费上有优势。但是DCOM过多地依赖微软的操作系统平台,因而对异构网络环境,在兼容性方面会有不少问题。而正相反,CORBA在支持多种平台和多种语言上具有优势,而且有比较广泛的独立开发商和用户及业界的支持。此外,CORBA所采用的对象概念以及强调网络透明等在技术上也比较成熟。当然,CORBA的不足之处是不如DCOM的支持工具那么多,另外在不同的开发商提供的CORBA实现之间的兼容性方面还有不少问题。但事物在不断发展,DCOM和CORBA都会设法在改进自己的不足。五 JAVA 和JAVA2 环境平台企业版J2EEJAVA语言由于巧妙地采用了虚拟机的机制,使得编译后产生的泛代码程序可以在各种平台上执行,从而作到了程序执行与平台无关。加之用JAVA编的Applet可以方便地用浏览器下载运行,JAVA语言普及和发展得很快。JAVA采用了构件技术,发展了JAVA构件(即JAVA Beans)和企业级JAVA构件(即EJB).为了用构件技术组成实际的应用系统,后来又推出了 J2EE( JAVA2 环境平台企业版)8和JAVA程序设计模型。按照此模型组成的应用系统至少分为三层。第一层是客户层,可以采用一般的浏览器或特制的客户软件。从服务器下载的Applet可以带有JAVA Beans一起在客户端执行。为了避免由于不同厂商提供的浏览器中虚拟机的差异,还专门提供了虚拟机软插件,作到程序的语义一致。为了保证安全,客户分防火墙内外,外客户只能从服务器进入,而内客户允许使用RMI、IIOP等直接访问EJB.第二层是中间层,即业务逻辑层。其中有两个包容器,一个是Web包容器,另一个是EJB包容器。Servlets JAVA服务器页面(JSP)技术使人机界面的开发变得非常容易,而Servlets则方便为Applet等客户程序提供服务。简单的业务逻辑由开发人员编写业务Beans,而复杂的业务逻辑则由EJB完成。第三层是企业的信息系统。第二层的构件通过JDBC(访问关系数据库),JNDI(Java名子目录接口),JMS(Java消息服务), JavaMail(发送和接收信件), Java IDL(与CORBA构件接口)访问第三层企业的信息系统。为了保护过去的投入,第三层可以与传统的应用软件、ERP 等建立联系。六 基于Internet技术和Web服务的软件设计众所周知,随着计算机的网络化和 Internet 的普及,现在大量的软件系统都是基于 Internet 技术和 Web 服务的。各大软件厂商都把提供基于 Internet技术的异构平台和能集成已有的软件系统作为它的目标。国际互联网联盟 The World Wide Web Consortium (W3C)和其他一些企业联盟组织最近几年制定了一系列的标准和规范,以推动网上信息和操作的互通。这是一个非常重要的发展动向。最引人注目的是可扩展标记语言 eXtensible Markup Language(XML)9。XML并不是新语言, 它是标准通用标记语言 SGML 的一个子集。XML首先创建于1996年,随后迅速发展起来,1998年2月成为W3C标准。XML是一种元标记语言(Meta-Markup Language), 具有自解释功能,可以用来创建特定领域的语言。而且其中的数据和标记都以文本方式存储,易于掌握,易于理解。开发者可以用这种开放式的工业标准来描写要在网上交换的数据。由于 XML 是将数据和数据的表现形式分离的,因而它很容易组织、编辑、编程和在任何网站、应用软件和设备之间进行交换。XML 的作用远远超出了一般数据交换的范围。基于 XML 的简单对象访问协议SOAP(Simple Object Access Protocol)10可以使 Internet 上的各应用软件进行互操作。基于 XML 的 Web 服务描述语言 WSDL(Web Services Description Language)11和通用描述、发现及集成规范 UDDI(Universal Description,Discovery,and Integration)12可以使不同的企业能够以标准的方式描述自己提供的服务和查询其它企业提供的服务,允许根据需要在两个或多个服务之间进行选择。微软的比尔盖茨 (Bill Gates) 曾对此技术给与高度的评价13。他认为这就是新一代互联网要解决的问题。微软的 .NET 计划就是要建立这样的平台,用以构建、使用、操作和集成基于 XML 的 Web 服务。七 企业级业务软件EBS采用构件技术EBS 是 企业级业务软件Enterprise Business Software 的缩写。它是企业实现电子化必不可少的基础设施。过去这些EBS软件都是单独定制式开发的。自从采用构件和集成技术以后,新技术不仅为企业软件用户带来了巨大的好处,软件开发商也受益匪浅。对企业软件用户来说:l 构件技术可以使企业方便地、快速地、平滑地增加新的功能。新的构件同原有的构件可以集成在一起可靠地工作。l 系统解决方案可以特别灵活地、动态地重新配置,将一个构件替换为升级的新版本不必考虑对其它构件的适配。特别对那些需要灵活地,快速地对部分系统而不是整个系统升级换代的企业带来巨大的好处。l 采用构件技术允许对给定的任务采用不同的软件开发供货商提供的软件。企业在实现它的解决方案时具有选择产品的充分自由。l 企业可以容易地、灵活地将为企业特别设计的构件与整个系统集成使用,从而实现企业的特殊需求。l 基于构件的解决方案能够为进一步方便地扩展系统功能提供方便,因为定制的构件的接口也可以由用户特殊构件的使用。企业业务软件开发商采用构件和集成新技术,还基于以下的考虑:1、软件产业面临的最大的问题是软件维护问题而不是软件开发问题。凡是以 EBS 为主营业务的软件产业都要考虑长远一些,因为这类软件有一个比较长的生命周期,投资保护是一个重要方面。软件开发所依赖的技术和所实现的软件的功能作为一个连续的过程在不断发展,公司要在这整个过程中获取利润,这就导致了软件维护的问题。在 IT 基础设施不断更新的条件下一个软件公司如何能保持它的技术更新和功能增强的优势?在软件要适应用户企业特殊功能时,此问题特别突出。2、 IT 技术变更的速度远高于企业的业务变更的速度。软件技术更新周期愈来愈短对EBS软件影响太大。如客户服务器技术、INTENET、B/S 结构、JAVA、以及面向对象的通信机制CORBA等新技术层出不穷。从理论上讲这种变更还会继续下去。与此有明显对照的是业务过程和基本原则本身却改变相对甚少。采用构件技术后,技术的更新是以构件的形式实现的,而不必影响企业的业务过程。3、“职能分离”的设计原则由于业务的改变远比技术的改变慢得多,因而在企业业务软件中将不同任务的软件按职能分离是一个非常适用的方法。如果系统中某部分进行了技术更新,只需将此部分的构件替换成新的构件无需改变另外的构件。但软件构件能够组合的前提是它们必须基于共同的设计。软件构件不应看作是孤立的单个的构件,还要考虑构件间交互的方式。软件构件必须用大家都能理解的语言来交谈,以保证能成功地协同工作。4、综合速度和灵活性两个关键因素过去,企业基本上采有两种可能的方式获得和使用软件来支持企业的业务过程。一种是购买完整的标准的应用软件包,一种是由企业内部的 IT 部门来开发和维护应用软件以满足企业的需求。第一种方式有两个优点,一是购买软件实现相当快,二是不需内部开发部门的花费。但是,一个企业,只有自己开发软件或者将适合它的特殊需求的软件产品进行组合才能满足企业的IT需求。因而现代 EBS 领域的任务是将上述两种方式综合起来。既要软件包解决方案的速度,又要企业内部剪裁系统的开放性和灵活性。这就是建立 EBS 构件的基本思想。世界上所有大的企业业务软件(EBS)或应用软件供货商,为了保持其占领市场的竞争优势,都正在转向此新技术。如 SAP 正在把 S/3 系统转向基于构件的所谓“业务框架”(BUSINESS FRAMWARK)。PEOPLESOFT 和 BAAN 等也都推出了相应的新技术战略。我国的信息化进程来势很猛,大多数企业家已认识到,要想使企业能在现代信息化社会中有较强的竞争力,必须有先进的管理思想和现代化的管理手段。使企业能有效地、灵活地动作,能对千变万化的市场需求作出快速的反应。因而企业业务的电子化,即计算机网络化势在必行。这就需要大量的各行各业的企业级的业务软件(EBS)。针对国内企业级的业务应用软件市场,国外大型应用软件公司已蜂拥而至,其中包括 SAP 、以及 CA 等。但是,我国的软件公司针对国内市场开发企业级的业务应用软件应该比外国公司有更大的优越性,在熟悉国情、开发成本低和维护方便等各个方面都有不可替代的优势。综上所述,我国信息化进程的加速,将为我国软件产业的迅猛发展提供一个广阔的市场。加之目前正处在软件技术的重大变更时期。这种技术变更也为软件产业的发展提供了一个难逢的机遇。如果我们能抓住这次市场发展和软件技术更新的机遇,采用最新软件技术,站在高的起点上。我国的软件产业一定会走上一条快速发展的康庄之路。参考文件:1. Presidents Information Technology Advisory Committee Report to the PresidentInformation Technology Research: Investing in Our FutureFebruary 24, 1999.2. T. DeMarco, Structured Analysis and System Specification, New York, Yourdon, 1978.3. OMG Unified Modeling Language Specification, Version 1.3, June 1999, 4. Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides,“Design Patterns:Element of Reusable Object-Oriented Software” ,Addison
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025粮油食品检验人员模考模拟试题附答案详解【研优卷】
- 脑梗塞静脉取栓护理查房
- 2026届安徽省合肥市肥西县化学九年级第一学期期中质量跟踪监视试题含解析
- 内蒙古通辽市科尔沁左翼中学旗县2026届九年级英语第一学期期末达标检测试题含解析
- 义务均衡发展培训
- 广东省佛山禅城区七校联考2026届英语九上期末综合测试试题含解析
- 幼儿园指导纲要解读培训
- 2026届辽宁省沈阳市大东区化学九上期末学业水平测试模拟试题含解析
- 2026届安徽省砀山县化学九上期末调研模拟试题含解析
- 2026届北京六十六中学化学九年级第一学期期中学业质量监测模拟试题含解析
- 口腔科印模制取技术要点
- 2025年江西省中考语文试卷真题(含标准答案及解析)
- 工程石材吊装方案(3篇)
- 混凝土销售管理制度
- 2024年全国职业院校(中职组)技能大赛(植物嫁接)赛项考试题库
- 《江姐》教案-中职语文高一(高教版2023基础上册)
- 公司中小型会议策划方案
- T/CCT 017-2024中低温煤焦油
- 《中国传统文化》课件:佛教思想及其人生模式
- 医师多点执业协议书
- DB65∕T 3952-2016 反恐怖防范设置规范 学校
评论
0/150
提交评论