??? 第 8讲 计算机数值表示与非数值表示 第2讲 如何应对新技术类型的问题 本讲导读 计算机技术的发展一日三变,大量新的技术不断地涌现,要想掌握全部的技术是不现实的。在系分的考试中,我们不可避免地会遇见我们所不熟悉的问题,要很好地解决这些问题,除了尽可能有深厚的技术功底外,还要提升自己解决问题的能力,在面对新技术、新问题的时候能够游刃有余,获得尽可能多的分数。本章将结合现有技术发展的脉络及相应的案例讨论如何解决新技术类型的问题。 本讲内容 2.1 计算机技术的发展 1. 操作系统技术 操作系统技术是软件技术发展的基石,操作系统是运行在计算机硬件上最基本的系统软实时系统件,操作系统控制和管理所有的系统硬件(如处理器、存储器、各种设备),也控制和管理系往往是专用统中所有的软件(如系统软件、实用软件、应用软件和用户软件等)。操作系统对计算机使用的,系统与应者提供了一种良好的操作环境,也为各种应用系统提供了基本的支持环境。传统的操作系统用很难分离,技术已经非常成熟,近年来操作系统技术发展的重点在于实时、嵌入式操作系统以及用于分常常紧密结合布式网格计算的操作系统,尤其要注意如Linux之类的操作系统在这些环境下的应用。 在一起。实时1 系统不强调资解题方法与技巧精解1-应对新技术类型的问题 ??? 2. 软件工程技术 软件工程技术是为了经济地获得能够在实际机器上高效运行的可靠软件而建立和使用的一系列好的工程化原则。软件工程的基本思想就是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。传统的软件工程技术发展已经非常成熟,如各种软件开发模型、软件成熟度模型、UML建模技术、统一开发过程。软件工程发展的重点首先是构件化和模式化,强调重用,一切皆是构件,将面向对象的技术提升到面向构件,同时在开发过程中希望通过模式化的方法有效地利用已有的成果;其次是软件体系结构的发展,就如同搭建建筑物一样,软件在开发者眼中不再是孤单的函数和调用,而是一个整体;此外是软件产品线技术的发展,如同硬件产品线的发展一样,希望形成一种系列化。软件建模技术也是软件工程技术发展的重要方向,对于UML建模来说,除了各种广泛地应用外,MDA技术逐渐发展和成熟,通过模型来驱动开发,采用所见即所得的建模方式和代码的自动化生成达到软件重用和简化开发过程的目的。此外,敏捷建模技术的发展也在稳步前行,它的关键在于精兵简政,消除冗余。 3. 数据库技术 总之,数数据库技术主要分为几个大的部分。首先是数据库的设计技术,这又覆盖了如数据库的据库方面的应逻辑设计(范式、元组、约束、索引、E-R图、数据字典),数据库的物理设计等多方面的问用综合性很题,这些问题都有比较成熟的技术,在使用各类数据库管理系统时也会时有碰到。现今技术强,但万变不发展的趋势是将Web与数据库结合起来,不仅把Web与数据库的所有优点集中在一起,而离其宗,首先且充分利用了大量已有的数据库信息资源,可以使用户在Web浏览器上方便地检索和浏览数把握传统的数据库的内容,这对许多软件开发者来说具有极大的吸引力。所以,将Web技术与数据库相结据库技术,然合,开发动态的Web数据库应用已成为当今Web技术研究的热点。而对于数据库的维护与后探求新技管理,更是和时下的新技术紧密结合,例如web数据库过载管理、分布式数据库状态一致性术、新应用带来的新问题,2 ??? 第 8讲 计算机数值表示与非数值表示 的保持、嵌入式数据库、移动数据库等,要解决这类问题还是要从传统的数据库的维护、管理出发,结合这些技术本身的特点,尤其要从题目中获得信息。最后是联机事务处理OLAP、数据仓库和数据挖掘的问题,数据仓库,就是要对这些数据进行结构重组,并且充分考虑今后的扩展性与外部数据的接口,使得企业数据资源实现更大的价值。数据挖掘是一个不断发展的、综合交叉的学科,是当前计算机工业最热门的研究领域之一。这些问题并不是新问题,但随着网络技术的发展有了许多新的发展,例如网络数据挖掘,对于搜索引擎来说,这就是一个非常重要的问题,同时对于实时、嵌入式设备和P2P计算来说,有效地利用数据挖掘也能促进信息的获得。 4. 网络技术 自从网络产生,就仿佛为人类带来了普罗米修斯火种,计算机技术的发展风生水起,一根根电缆/光缆将不相识的人们拉近到一起。对于网络技术来说,从体系结构层面上来说,网络拓扑和协议都已经非常成熟,未来发展的重点一是怎样平稳地将已有应用迁移到IPV6,一是有效地发展无线网络,从而实现无时无刻、无处不在的计算,如蓝牙技术、802.11等。同时以网格技术为首的下一代互联网计算也一步步走来,通过网格技术的实践,希望能够将整个互联网构建成一个统一的计算域,实现我为人人,人人为我的计算模式,通过有效地计费和资源调度,最大限度上地达到资源共享。另外对于企业局域网的建设来说,VPN技术从九十年代以来逐渐获得广泛地应用,依靠ISP(Internet服务提供商)和其它NSP(网络服务提供商),能够在公用网络中建立专用的数据通信网络,实现远程办公的协同。除了这些内容以外,各种企业服务器的搭建与我们的应用实践也将会有非常紧密的关联,例如代理服务器、FTP服务器、web服务器、邮件服务器乃至群件等。 5. 分布式计算技术 分布式计算是利用网络把成千上万台计算机连接起来,组成一台虚拟的超级计算机,完3 解题方法与技巧精解1-应对新技术类型的问题 ??? 成单台计算机无法完成的超大规模的问题求解。随着Internet 的迅速发展和普及,分布式计算的研究在90 年代后达到了高潮,目前,在Internet网上分布式计算已非常流行。分布式计算研究主要集中在分布式操作系统研究和分布式计算环境研究两个方面。在过去的20 多年间出现了大量的分布式计算技术,如中间件技术、网格技术、移动Agent 技术、P2P 技术以及Web Service技术等。 首先回顾一下C/S、B/S架构,C/S体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受,以三层C/S结构为例,是将应用功能分成表示层、功能层和数据层三个部分。B/S体系结构主要是利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。在B/S结构中,除了数据库服务器外,应用程序以网页形式存放于Web服务器上,用户运行某个应用程序时只需在客户端上的浏览器中键入相应的网址(URL),调用Web服务器上的应用程序并对数据库进行操作完成相应的数据处理工作,最后将结果通过浏览器显示给用户。 中间件是继操作系统、数据库管理系统之后,随着网络技术的发展和网络应用的不断深入而新兴的一种基础软件。从系统角度看,中间件主要用于管理网络上的各类软硬件资源,
并实现网络资源的共享与集成,从而构成一体化的网络计算平台。因此,中间件是消除信息
孤岛,实现信息系统综合集成的利器。从网络应用角度看,中间件为网络应用软件提供了有
效的开发、部署和运行平台。拥有中间件的计算机系统所对应的解空间更靠近网络应用所面
临的问题空间。因此,中间件是快速构建复杂网络应用的利器。中间件可分为以下一些类型:
? 基础中间件。
? 数据集成中间件--支持不同来源、格式、性质的数据的转换与包装,实现各种异构数
据源的集成与共享,提供统一的高层访问服务。
4 实际
??? 第 8讲 计算机数值表示与非数值表示 ? 应用代码集成中间件--利用适配机制和消息代理机制,实现信息系统业务逻辑层应用代码之间跨网络的互操作。 ? 业务流程集成中间件--提供可视化业务流程的描述,控制和管理业务流程的动态执行。 ? 门户集成中间件--提供集中的门户管理和开发方法,个性化的内容组织与管理,单点认证登录,以及图表的定制等。 基于面向服务的软件架构SOA的中间件是中间件的一个重要发展方向,中间件的构件化趋势也将日益增强,在SOA架构下,中间件各层可供共享的每个基础构件和业务功能构件均可包装成一个WEB服务,以支持跨越集成与协同。 应用服务器是企业级应用基础软件平台的核心,现今基础中间件就由底层通信平台与应用服务器共同组成。大多数应用服务器是基于J2EE架构进行开发,目前应用服务器则正朝着集成、扩展的方向发展。一方面,应用服务器会集成越来越多的功能,不管是应用服务器厂家自己开发的,还是从第三方厂家买来的,对用户来说是一个和谐的整体。另一方面,应用服务器会向着多方兼容和中立的方向发展,包括跨平台能力、跨数据库能力、分布式对象标准能力,以及兼容多种应用和原有数据库的能力。 下面再简要讨论一下Web服务技术,Web 服务并不仅仅是一种技术,更是一种应用框架,一种系统架构的方式,和一种应用的思想。随着电子商务的迅速崛起,Web 应用从局部化发展到全球化,从B2C发展到B2B,从集中式发展到分布式。从电子商务应用领域来看,复杂的应用连接和程序代码造成了电子商务应用的高维护代价和更新代价,而Web 服务正好能够解决这一问题,成为目前应用环境中最为合理的解决方案。它的优势在于无缝互操作性,它允许在一个平台上用一种语言编写的应用程序可以使用在另一个完全不同的平台上以完全不同的语言编写的应用程序的服务。对于Web服务技术来说,首先要掌握它的各项支撑技术如5