首页 软件新技术讲座讲稿【管理资料-演讲稿】

软件新技术讲座讲稿【管理资料-演讲稿】

举报
开通vip

软件新技术讲座讲稿【管理资料-演讲稿】软件新技术讲座讲稿【管理资料-演讲稿】 软件新技术讲座讲稿 2001级软件专业 2003-2004学年第2学期 授课:贺平 软件技术讲座二 中间件技术及应用 中间件的基本概念与作用 中间件研究的基本内容 中间件的基本技术和发展现状 中间件技术的应用 一、中间件的基本概念与作用 引言软件系统的复杂性不断增长、激烈竞争迫使软件企业提高软件质量、积累和固化知识,并尽可能地缩短软件产品的开发周期。于是集软件复用、分布式对象计算、企业级应用开发等技术为一体的"基于中间件的软件开发"(CBSD,Comp...

软件新技术讲座讲稿【管理资料-演讲稿】
软件新技术讲座讲稿【管理资料-演讲稿】 软件新技术讲座讲稿 2001级软件专业 2003-2004学年第2学期 授课:贺平 软件技术讲座二 中间件技术及应用 中间件的基本概念与作用 中间件研究的基本内容 中间件的基本技术和发展现状 中间件技术的应用 一、中间件的基本概念与作用 引言软件系统的复杂性不断增长、激烈竞争迫使软件企业提高软件质量、积累和固化知识,并尽可能地缩短软件产品的开发周期。于是集软件复用、分布式对象计算、企业级应用开发等技术为一体的"基于中间件的软件开发"(CBSD,Component Based Sortware Development)应运而生,这种技术以软件 架构 酒店人事架构图下载公司架构图下载企业应用架构模式pdf监理组织架构图免费下载银行管理与it架构pdf 为组装蓝图,以可复用软件构件为组装模块,支持组装式软件的复用,大大提高了软件生产效率和软件质量。国内外对于这一技术的研究正在不断深入,同时大型的软件公司(sun,microsoft)及软件组织机构(OMG)都推出了支持中 1 间件技术的软件平台。 面对高深的中间件技术和繁多的软件平台,这里简要介绍中间件技术的发展和特点,重点阐述和比较了三大主流中间件技术平台,使读者对中间件技术有个全面的了解。 顾名思义,中间件是处于应用软件和系统软件之间的一类软件,是独立于硬件或数据库厂商(处于其产品的中间,实现其互连)的一类软件,是客户方与服务方之间的连接件,是需要进行二次开发的中间产品。中间件是在计算机硬件和操作系统之上,支持应用软件开发和运行的系统软件,它能够使应用软件相对独立于计算机硬件和操作系统平台,为当今的大型分布式应用搭起了一个 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的平台,把大型企业分散的系统和技术组合在一起,实现大型企业应用软件系统的集成。 中间件技术是伴随网络而发展起来的一种面向对象的技术。 中间件=平台,通信 这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。 中间件 从诞生起,仅仅是五年时间,但发展极其迅速,是有史以来发展最快的软件产品,但在技术上还处于成长阶段,还没有统一的标准和模型,通常都是用C,,语言以面向对象的技术来实现的,但它的特性已超出面向对象的表达能力,由于它属于可重用构件,目前趋向于用构件技术来实现。 中间件 要涉及软件的所有标准、规范和技术,它含有更多的内涵,因为它包括平台功能,自身具有自治性、自主性、隔离性、社会化、激发性、主动 2 性、并发性、认识能力等特性,是近似于Agent(代理)的结构,采用Agent的概念和技术更合适一些,建立模型和规范是促进技术发展的核心措施。 中间件 是属于计算机软件中比较底层的内容,它和计算机操作系统的关系是相当密切的,操作系统的一部分功能可以由中间件来实现,一些中间件的功能也可以由操作系统来实现。因此,操作系统和中间件会进一步融合,从而推动计算机软件体系结构的变革。 中间件的作用和分类:要说清这个问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,用一个生活中的实例来比喻。把分布式系统看作城市的交通系统,网络看作市区道路,通过交通工具(汽车)实现通信,每分钟将有几万辆车在道路上行驶,如果没有相应的交通设施和管理规划,城市将会乱成一团,发生各种交通事故。 通信处理(消息)中间件 首先要修好道路,安装红绿灯,设立交通管理机构,制定出交通规则,也就是我们要建网和制定出通信协议,能在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输(如TongLINK、BEA eLink 、IBM的MQSeries等),称为消息中间件。这是中间件中唯一不可缺少的,是销售额最大的中间件产品,目前在Windows 2000操作系统中已包含了其部分功能。 事务处理(交易)中间件 在分布式事务处理系统中要处理大量事务,常常在系统中要同时做上万笔事务。例如在城市就要设置各种运载汽车,完成日常的运载,同时要随时监视汽车的运行,出现故障时,要有排除措施,发生堵塞时要进行调度。在联机事务处理系统(OLTP)中,每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事 3 务在多台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机器和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。一个事务处理平台,根据X/OPEN的参数模型规定,应由事务处理中间件、通信处理中间件以及数据存取管理中间件三部分组成。东方通科技公司的TongLINK 和TongEASY实现了这个参考模型规定。 (1)数据存取管理中间件 在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,该中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。 (2)Web服务器中间件 浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能作数据写入、受HTTP协议的限制等,就必需进行修改和扩充,形成了 Web服务器中间件,如 SilverStream公司的产品。 安全中间件 一些军事、政府和商务部门上网的最大障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),必需用国产的产品。产生不安全因素是由操作系统引起的,但必需要用中间件去解决,以适应灵活多变的要求。 跨平台和构架的中间件 当前开发大型应用软件通常采用基于构架和构件技术,在分布系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了构架中间件,功能最强的是CORBA,可以跨任意平台,但是太庞大;Java Beans较灵活简单,很适合于做浏览器,但运行效率差;DCOM模型主要适合 Windows平台,已广泛使用。实际上国内新建系统主要是UNIX (包括LINUX)和 Windows,因此针对这两个平台建立相应的中间件要实用得多。 4 专用平台中间件 为特定应用领域设计领域参考模式,建立相应构架,配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关键任务(如电子商务、网站等)。 网络中间件 它包括网管、接入、网络测试、虚拟社区、虚拟缓冲等,也是当前最热门的研发项目。 另外,人们希望实现不同业务逻辑、不同功能的中间件能够集成在一起,像一个完整的系统那样协调一致的工作。这些集成的中间件服务应该封装在一个框架中,即应用程序服务器之集成框架。 计算机网络的发展一日千里,中间件技术要得到发展,离不开网络。可以预言,中间件技术的发展,将有机的结合操作系统、系统集成以及网络技术的发展,成为推动软件技术革命的中坚力量。 2(当前支持服务器端中间件技术的平台 考察当前主流的分布计算技术平台,主要有OMG的CORBA、Sun的J2EE和Microsoft DNA 2000。它们都是支持服务器端中间件技术开发的平台,都有其各自特点。 (1)OMG的CORBA CORBA分布计算技术是OMG组织基于众多开放系统平台厂商提交的分布对象互操作内容的基础上制定的公共对象请求代理体系规范。 CORBA分布计算技术,是由绝大多数分布计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。 COBRA标准主要分为3个层次:对象请求代理、公共对象服务和公共设 5 施。最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的"软总线";在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。目前,CORBA兼容的分布计算产品层出不穷,其中有中间件厂商的ORB产品,如BEAM3,IBM Component Broker,有分布对象厂商推出的产品,如IONAObix和OOCObacus等. CORBA规范的近期发展,增加了面向Internet的特性,服务质量控制和CORBA构件模型(CORBA Component Model)。 Internet集成特性包括了针对IIOP传输的防火墙(Firewall)和可内部操作的定义了URL命名格式的命名服务(Naming Service)。 服务质量控制包括能够具有质量控制的异步消息服务,一组针对嵌入系统的CORBA定义,一组关于实时CORBA与容错CORBA的请求方案。 CORBA CCM (CORBA Component Model)技术,是在支持POA的CORBA规范(版本2.3以后)基础上,结合EJB当前规范的基础上发展起来的。CORBA构件模型,是OMG组织制定的一个用于开发和配置分布式应用的服务器端中间件模型规范,它主要包括如下三项内容: a.抽象构件模型,用以描述服务器端构件结构及构件间互操作的结构; b.构件容器结构,用以提供通用的构件运行和管理环境,并支持对安全、事务、持久状态等系统服务的集成; c.构件的配置和打包规范,CCM使用打包技术来管理构件的二进制、多语言版本的可执行代码和配置信息,并制定了构件包的具体内容和基于XML的文档内容标准。 总之,CORBA的特点是大而全,互操作性和开放性非常好。CORBA的缺点是庞大而复杂,并且技术和标准的更新相对较慢,COBRA规范从1.0升级到2.0所花的时间非常短,而再往上的版本的发布就相对十分缓慢了。在具体的应用中使用不是很多。 6 (2)Sun的J2EE 为了推动基于Java的服务器端应用开发,Sun于是在1999年底推出了Java2技术及相关的J2EE规范, J2EE的目标是:提供平台无关的、可移植的、支持并发访问和安全的,完全基于Java的开发服务器端中间件的标准。 在J2EE中,Sun给出了完整的基于Java语言开发面向企业分布应用规范,其中,在分布式互操作协议上,J2EE同时支持RMI和 IIOP,而在服务器端分布式应用的构造形式,则包括了Java Servlet、JSP(Java Server Page)、EJB等多种形式,以支持不同的业务需求,而且Java应用程序具有"Write once,run anywhere"的特性,使得J2EE技术在发布计算领域得到了快速发展。 J2EE简化了构件可伸缩的、其于构件服务器端应用的复杂度,虽然DNA 2000也一样,但最大的区别是DNA 2000是一个产品, J2EE是一个规范,不同的厂家可以实现自己的符合J2EE规范的产品, J2EE规范,是众多厂家参与制定的,它不为Sun所独有, 而且其支持跨平台的开发,目前许多大的分布计算平台厂商都公开支持与J2EE兼容技术。 EJB是Sun推出的基于Java的服务器端构件规范,J2EE的一部分,自从J2EE推出之后,得到了广泛的发展,已经成为应用服务器端的标准技术。Sun EJB技术是在Java Bean本地构件基础上,发展的面向服务器端分布应用构件技术。它基于Java语言,提供了基于Java二进制字节代码的重用方式。EJB给出了系统的服务器端分布构件规范,这包括了构件、构件容器的接口规范以及构件打包、构件配置等的标准规范内容。EJB技术的推出,使得用Java基于构件方法开发服务器端分布式应用成为可能。从企业应用多层结构的角度, EJB是业务逻辑层的中间件技术,与Java Beans不同,它提供了事务处理的能力,自从三层结构提出以后,中间层,也就是业务逻辑层,是处理事务的核心,从数据存储层分离,取代了存储层的大部分地位。从分布式计算的角度,EJB像CORBA一样,提供了分布式技术的基础。提供了对象之间的通讯手段。 从Internet技术应用的角度,EJB和Servlet, JSP一起成为新一代应用服务器的技术标准,EJB中的Bean可以分为会话 Bean和实体Bean,前者维护会话,后 7 者处理事务,现在Servlet负责与客户端通信,访问EJB,并把结果通过JSP产生页面传回客户端。 J2EE的优点是,服务器市场的主流还是大型机和UNIX平台,这意味着以Java开发构件,能够做到"Write once,run anywhere",开发的应用可以配置到包括Windows平台在内的任何服务器端环境中去。 (3)Microsoft DNA 2000 Microsoft DNA 2000 (Distributed internet Applications)是Microsoft在推出Windows2000系列操作系统平台基础上,在扩展了分布计算模型,以及改造Back Office系列服务器端分布计算产品后发布的新的分布计算体系结构和规范。 在服务器端, DNA 2000提供了ASP、COM、Cluster等的应用支持。目前, DNA2000在技术结构上有着巨大的优越性。一方面,由于Microsoft是操作系统平台厂商,因此DNA 2000技术得到了底层操作系统平台的强大支持;另一方面,由于Microsoft的操作系统平台应用广泛,支持该系统平台的应用开发厂商数目众多,因此在实际应用中, DNA 2000得到了众多应用开发商的采用和支持。 DNA 2000融合了当今最先进的分布计算理论和思想,如事务处理、可伸缩性、异步消息队列、集群等内容。DNA使得开发可以基于Microsoft平台的服务器构件应用,其中,如数据库事务服务、异步通讯服务和安全服务等,都由底层的分布对象系统提供。 以Microsoft为首的DCOM/COM/COM+阵营,从DDE,OLE到ActiveX等,提供了中间件开发的基础,如VC,VB, Delphi等都支持DCOM,包括OLE DB在内新的数据库存取技术,随着Windows2000的发布,Microsoft的DCOM/COM/COM+技术,在DNA2000分布计算结构基础上,展现了一个全新的分布构件应用模型。首先, DCOM/COM/COM+的构件仍然采用普通的COM (Component Object Model)模型。COM最初作为Microsoft桌面系统的构件技术,主要为本地的OLE应用服务,但是随着Microsoft服务器操作系统NT和 DCOM的发布,COM通过底层的远程支持使得构件技术延伸到了分布应用领 8 域。DCOM/COM/COM+更将其扩充为面向服务器端分布应用的业务逻辑中间件。通过COM+的相关服务设施,如负载均衡、内存数据库、对象池、构件管理与配置等等, DCOM/COM/COM+将COM、DCOM、MTS的功能有机地统一在一起,形成了一个概念、功能强的构件应用体系结构。而且, DNA2000是单一厂家提供的分布对象构件模型,开发者使用的是同一厂家提供的系列开发工具,这比组合多家开发工具更有吸引力。 但是它的不足是依赖于Microsoft的操作系统平台,因而在其它开发系统平台(如Unix、Linux)上不能发挥作用。 3.相关性比较分析 目前,针对上述的各种分布计算平台技术,都出现了相似且具有可比性的分布式构件,即CORBA CCM (CORBA Component Model)技术、SUN的EJB (Enterprise JavaBean)技术和DNA 2000中的COM/DCOM/COM+技术。 对于以上三个分布计算平台,有以下三个方面进行分析: 集成性:集成性主要反映在基础平台对应用程序互操作能力的支持上。它要求分布在不同机器平台和操作系统上、采用不同的语言或者开发工具生成的各类商业应用必须能集成在一起,构成一个统一的企业计算框架。这一集成框架必须建立在网络的基础之上,并且具备对于遗留应用的集成能力; 可用性:要求所采用的软件构件技术必须是成熟的技术,相应的产品也必须是成熟的产品,在至关重要的企业应用中能够稳定、安全、可靠地运行。另外,由于数据库在企业计算中扮演着重要角色,软件构件技术应能与数据库技术紧密集成; 可扩展性:集成框架必须是可扩展的,能够协调不同的设计模式和实现策略,可以根据企业计算的需求进行裁剪,并能迅速反应市场的变化和技术的发展趋势。通过保证当前应用的可重用性,最大程度地保护企业的投资。 虽然这三种平台因为其形成的历史背景和商业背景有所不同,各自有自己的侧重和特点,其实在它们之间也有很大的相通性和互补性。例如,EJB提供了一个概念清晰、结构紧凑的分布计算模型和构件互操作的方法,为构件应用开发提供了相当的灵活性。但由于它还处于发展初期,因此其形态很难界定。 9 CORBA CCM是一种集成技术,而不是编程技术。它提供了对各种功能模块进行构件化处理并将它们捆绑在一起的粘合剂。EJB和CORBA在很大的程度是可以看作为互补的。这个适应WEB应用的发展要求,许多厂商多非常重视促进EJB和CORBA技术的结合,将来RMI可能建立在IIOP之上。CORBA不只是对象请求代理ORB,也是一个非常完整的分布式对象平台。CORBA可以扩展EJB在网络、语言、组件边界、操作系统中的各种应用。目前许多平台都能实现 EJB构件和CORBA构件的互操作。同EJB和CORBA之间相互之间方便的互操作性相比, DOCM和CORBA之间的互操作性要相对复杂些,虽然 DCOM和CORBA极其类似。DOCM的接口指针大体相当于CORBA的对象引用。为了实现CORBA和DCOM的互操作, OMG在CORBA 3.0的规范中,加入了有关的CORBA和DCOM互操作的实现规范,并提供了接口方法。因为商业利益的原因,在EJB和DCOM之间基本没有提供互操作方法。 二.中间件—实现电子商务的基础软件 如果没有中间件,在世界范围内掀起的电子商务浪潮绝不会发展到今天如火如荼的局面。从应用的角度来看,电子商务网络应用体系的内涵是各种现有应用的不断扩充和新应用形式的不断增加,迫使企业的IT部门需要解决越来越多的需求,尤其是对分布式网络应用的需求,诸如跨越不同硬件平台、不同的网络环境、不同的数据库系统之间互操作等等,这些问题只靠传统的系统软件或Web工具软件提供的功能已经不能满足要求,作为电子商务网络应用体系的中间平台也就应运而生了。 电子商务的本质就是对处于分布环境中的各种计算机系统进行交流协调,从而开创新的商业运作模式。网络通信,尤其是互联网技术,是电子商务的通信基础,而管理和传输系统之间的业务信息、协调各个系统的处理模块的中间管理服务系统,是保证电子商务应用成功的关键。电子商务应用服务器、通用业务网关、支付网关、通信平台和安全平台,统一纳入电子商务中间件构架的范畴。 10 从技术角度看,电子商务将由Internet/Intranet技术、传统IT技术以及具体的业务处理所构成。但是,系统的建立将会面临许多新的问题,包括应用系统能不能快速地建立,能不能适应大用户数、高处理量要求,能不能提供高效率、高可靠性、高可用性等等关键任务的要求,能不能满足安全需要等等。以上这些问题,只是依靠简单的Web技术是不够的。目前常用的Web技术由于早期更多的是面向信息发布,因此存在并发访问瓶颈、难扩展、效率低、安全等诸多问题,不能满足电子商务的需要。为了很好地解决这些问题,需要以Web的低层技术为基础,规划出一个整体的应用框架,并提供一个支持平台,用于Internet应用的开发、部署和管理,并能籍此解决上述各种问题。这已经发展成为一个能广泛适应的标准的支撑层,成为Internet应用的基础设施(Infrastructure),这一支撑层实际上是基于Internet的中间件,也就是应用服务器。同时,由于企业并不能把业务一不跨到Internet上,而必须同传统的应用系统结合,因此也必须通过中间件来集成Web应用和传统应用,实现完整的电子商务。 在这种情况下,电子商务应用应包含以下层次: ?浏览器:这是进入电子商务的通道。 ?电子商务应用平台:提供电子商务不同应用类型的生成工具软件,如网上商店、网络支付、虚拟社区等等。 ?电子商务交换平台:对内集成企业内部的各种与电子商务相关的业务系统,对外连接商业合作伙伴,如银行、供应商、客户、配送结构,完成各种不同业务系统之间数据转换和整和。 ?电子商务基础平台:用来支持大量Internet客户的并发访问,使应用开发商快速开发出灵活多变的电子商务应用,尽快把信息系统和商务活动放到Internet中。 电子商务交换平台和电子商务基础平台中都不能没有中间件的存在。可以说,没有中间件就不能支撑今天的网络应用。 电子商务中间件构架是一种电子商务应用集成的关键件,不管电子商务应用分布在什么硬件平台上,使用了什么数据库系统,透过了什么复杂的网络,电子商务应用的互连和互操作是电子商务中间件构架首先要解决的问题。在通 11 信方面,电子商务中间件构架要支持各种通信协议和通信服务模式,传输各种数据内容,数据格式翻译、流量控制、数据加密、数据压缩等等;在电子商务中间件构架核心,要解决名字服务、安全控制、并发控制、可靠性和效率保证等;在电子商务应用开发方面,要能提供基于不同平台的丰富的开发接口,支持流行的开发工具和异构互连接口标准等;在管理方面,解决电子商务中间件构架本身的配置、监控、调谐,为电子商务应用的易用易管理提供保证。 其次,针对不同的Web应用环境,对电子商务中间件构架有各种不同的要求。对工作流应用,需要根据条件以及条件满足状态,将信息、响应状态从一个应用传递到另一个应用;对联机事务处理,需要保证分布式的数据一致性、不停机作业、大量并发的高效率;对于一个数据采集系统需要保证可靠传输等等。 目前中国电子商务发展还处于初级阶段,企业还是主要来做网站和发布信息,真正交易才刚刚开始。 三.中间件- 构筑复杂分布式应用的关键技术 随着企业的IT环境越来越纷繁复杂,企业中可能会拥有多种操作系统、不同的数据库、异构的网络环境以及数个应用等,那么如何把它们结合成一个有机的协同工作整体,真正实现企业跨平台分布式应用呢,中间件便是解决之道,它用自己的复杂换取了企业应用的简单。那么,复杂的中间件到底包含哪些种类,分别完成什么功能呢, 九十年代初客户机/服务器计算模式开始成为主流技术,将数据统一存储在数据服务器上,而有关的业务逻辑都在客户端实现,即所谓胖终端的解决方案,这种两层结构的模式大大阻碍着系统的发展,单一的服务器结构紧密地依赖供应商;数据存取受到限制;难以扩展到大企业广域网或国际互联网;也难以管理客户端的机群。随着用户业务需求的增长及Internet/Intranet的普及,将以三层或四层体系结构取而代之。三层结构就是把用户端的业务逻辑独立出来,并与数据库服务器中存储过程合并在一起,构成应用层,以提高计算能力,实现灵活性。在这种结构中用户端仅仅是处理图形用户界面(GUI),而目 12 前趋势是采用具有交互功能的浏览器,即形成瘦终端的工作方式,为此,中间又增加了一层,称为Web服务器层,形成了四层体系结构。这类多层结构的分布系统,各服务器和终端机之间都是通过网络连接起来的,并有大量信息和数据进行传递。对每个应用系统而言,在设计和实现时需要开发的,仅是在应用服务器上的业务逻辑部分的软件,除此之外,还必须要设计处理分布系统所特有的功能的软件,而目前的系统软件(操作系统和支撑软件)都不支持。为此出现了中间件,它是处于系统软件和应用软件之间的一批软件。使设计者集中设计与应用有关的部分,大大简化了设计和维护工作。通过大量应用和实践,中间件已有一批成熟的产品,并成为设计分布系统时不可缺少的软件。仅仅几年时间,中间件以迅雷不及掩耳的速度迅猛发展,每年的市场销售额均是成倍的增长。 四,基于CORBA/WEB技术- 构建三层体系结构的应用 ,.问题提出 在应用系统开发过程中,CLIENT/SERVER体系结构得到了广泛的应用 。其特点是,应用程序逻辑通常分布在客户和服务器两端,客户端发出数据资源访问请求,服务器端将结果返回客户端。但CLIENT/SERVER结构存在着很多体系结构上的问题,比如:当客户端数目激增时,服务器端的性能会因为负载过重而大大衰减;一旦应用的需求发生变化,客户端和服务器端的应用程序都需要进行修改,给应用维护和升级带来了极大的不便;大量的数据传输增加了网络的负载等等。 随着分布式对象技术的逐渐成熟,多层分布式应用体系结构得到了越来越多的应用。应用系统只有向多层分布式转变,才能最终解决CLIENT/SERVER结构存在的问题。在多层架构下,应用可以分布在不同的系统平台上,通过分布式技术实现异构平台间对象的相互通信。将应用系统集成于分布式系统之上,能极大地提高系统的可扩展性。 13 在多层分布式应用中,在客户端和服务器之间加入了一层或多层应用服务程序,这种程序称为“应用服务器”。开发人员可以将应用的商业逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。在保证客户端功能的前提下,为用户提供一个简洁的界面。 这意味着如果需要修改应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。 2. 方兴未艾的CORBA 一直以来,面向对象的技术(Object Orientation,OO)是软件界努力追求的目标,传统的对象技术通过封装、继承及多态提供了良好的代码重用功能。但是这些对象只存在于一个程序中,外面的世界并不知道它们的存在,也无法访问它们。要解决这些问题就需要提供一个标准的构件框架,使不同厂家的软件通过不同的地址空间、网络和操作系统交互访问。该构件的具体实现、位置及所依附的操作系统对客户来说都是透明的。因此有关对象中间件的标准相继问世,像OMG组织(Object Management Group)的公用对象请求代理程序结构(Common Object Request Broker Architecture,CORBA)、Microsoft的构件对象模型(Componet Object Model,COM)以及IBM公司的系统对象模型(System Object Model,SOM)等,这些标准都极大地促进了对象中间件技术的发展。 CORBA概要描述 CORBA是OMG组织在1991年提出的公用对象请求代理程序结构的技术规范。CORBA有很广泛的应用,它易于集成各厂商的不同计算机,从大型机一直到微型内嵌式系统的终端桌面,是针对大中型企业应用的优秀的中间件。最重要的是,它使服务器真正能够实现高速度、高稳定性处理大量用户的访问。现在很多大型网站后端的服务器都运行CORBA,其中有些网站您可能每天都在访问。 CORBA的底层结构是基于面向对象模型的,由OMG 接口描述语言(OMG Interface Definition Language,OMG IDL)、对象请求代理 (Object Request 14 Broker,ORB)和IIOP标准协议(Internet Inter-ORB Protocol,也称网络ORB交换协议)3个关键模块组成。 使用接口描述语言编写的对象接口,使得与语言无关的独立性成为可能。IDL使得所有CORBA 对象以一种方式被描述,仅仅需要一个由本地语言(C/C++、CORBA或Java)到IDL的“桥梁”。CORBA对象的互通信要以对象请求代理为中介,这种互通信可以在多种流行通信协议(如TCP/IP或IPX/SPX)之上实现。在TCP/IP上,来自于不同开发商的ORB用IIOP标准协议进行通讯。 为了保持CORBA的商业中立性和语言中立性,必须有一个中介,存在于像C++ CORBA 服务器代码和Java CORBA客户机这样的实体中间,这就是IDL。一个底层对象的若干相关方法和属性被IDL集入一个单一接口。一旦IDL接口定义完成,它可以Stub码或框架代码的形式编译成所选用的语言。在所有的ORB中都有IDL编译器。 注意的是,IDL不同于其他的面向对象程序设计语言,我们不能用它指定所定义的类或方法的具体实现。因此,仅仅将它作为一种定义底层对象接口的语言要好得多。 ORB接口结构 为了创建一个遵从CORBA规范的应用程序,ORB是CORBA必须提供的。没有ORB,CORBA应用程序就无法工作。CORBA ORB最显著的功能,是对应用程序或是其他ORB的请求予以响应。ORB实现细节对软件开发者的透明的。 在CORBA应用程序运行期间,ORB可能被请求做许多不同的事情,包括查找并调用远程计算机上的对象、负责不同编程语言之间的参数转换( 如C++到Java)、用动态方法调用激活远程对象等等。 图1所示为一个独立的ORB的结构,箭头说明ORB的调用关系。为了提出一个请求,客户端可以使用动态调用接口(Dynamic Invocation)或者客户端的Stub程序。客户端也可以直接和ORB交互。 15 对象的实现(Object Implementation)通过IDL静态骨架(IDL Static Skeleton)或动态骨架(Dynamic Skeleton)的调用来接受请求。 图,所示为一个远程调用过程。为了调用远程的对象实例,客户端首先获取它的对象参数。客户端在进行远程请求时使用与本地请求相同的代码,只不过用对象参数代替了远程实例。当ORB 检测 工程第三方检测合同工程防雷检测合同植筋拉拔检测方案传感器技术课后答案检测机构通用要求培训 对象参数并发现目标是远程对象的时候,它会调度这些参数,把请求转移到网络上,从而连接到远程对象的ORB上。ORB可以从对象参数中判断出目标对象是远程的,客户端却做不到这一点。当客户端发出请求时,对象参数不用去分辨目标对象的位置。这保证了对象位置的透明性——CORBA的这些基本原理简化了分布式对象的计算机应用的设计。 基于CORBA应用的优点 使用CORBA到底有什么好处呢,就像不同部门间需要协同工作来获取最大利润一样,不同的计算机应用之间也需要协同工作。CORBA能完成这些任务。它是开放式的、独立于厂商、用于网络上计算机应用的底层结构。任何厂家、计算机、操作系统、编程语言及网络环境下的基于CORBA的应用均使用IIOP标准协议,所以任何基于CORBA的应用均能协同工作。 在小型的Client/Server模式的应用系统中使用CORBA,能给系统提供可 16 靠的、标准的底层结构。可以使用CORBA来构建、运行在不同平台上的、用不同编程语言实现的客户端及服务器端的应用程序。如果企业广泛使用基于CORBA的应用,会带来巨大的商业利益。企业中的不同的应用系统都有不同的功能,能够处理不同的数据,这些系统如果能结合起来协同工作,就会产生更大的商业价值。如果应用系统都是用CORBA来实现,就可以容易地移植到网上,企业内部可以通过网络协同工作,产品订货单就会滚滚而来了。 随着业务的不断扩展,公司的电子商务站点的负载会不断增大,总有一天负载量会超过系统预先设计的支持能力。可以使用CORBA来制作基于对象模型的服务器端的应用系统,解决系统负载的问题。考虑到当前的负载及以后可能达到的负载情况,可以选择ORB,它可以在多个服务器之间实现负载均衡。它是基于OMG可移动对象适配器的,当系统负载较重时(比如运行基于Web的应用),可以更充分地利用系统硬件资源。 如果应用系统需要很高的稳定性(比如股票或证券方面的应用),可以利用CORBA提供的容错机制。CORBA的容错机制不仅能实现负载均衡,还能使每一个对象同时在两个或多个服务器上运行,当其中的一个出现故障时,系统能自动切换到另一个服务器。如果多个服务器的硬件配置相同,服务器会拥有很高的稳定性。 CORBA对象可以用任何一种CORBA软件开发商所支持的语言,如C、C++、Java、Ada和Small talk等等来编写。同样,CORBA对象可以运行在任何一种CORBA软件开发商所支持的平台上,如Solaris、Windows 95/NT、Open VMS、Digital Unix、HP-UX 等。这意味着可以在Windows 95下运行Java应用程序,同时动态调入并使用C++对象,而实际上该对象可能存储于一个在Internet上的Unix Web服务器上。 目前,对于较为流行的编程语言(包括C++、Smalltalk、Java和Ada 95),已经有了许多第三方的ORB。随着其他语言的逐渐流行,CORBA开发商毫无疑问地要做出相应的ORB来支持它们。 CORBA应用前景 成上千万的站点依赖于CORBA搭建企业应用、Internet应用及其他应 17 用,有许多成功使用CORBA的案例。 CNN(美联社)正在使用一个基于CORBA事件服务的应用系统。系统用于把那些不同来源的、不同格式的、不同类型的机器上的大量新闻资料分发给所有的新闻编辑。新闻编辑再利用一个自动过滤程序来审核这些发来的消息,并把那些与自己工作方向相符合的重要稿件做上标志,过滤出来。 波音公司把接收订单、制造、交货和维修4个最重要的制造系统方面的应用集成在一个综合的CORBA底层结构上,这些系统担负着飞机生产的整个过程。Charles Schwab公司构建了一个基于CORBA的商业应用,利用该系统来与5000个客户保持联系,处理的业务额高达数亿美元。 对象中间件技术发展迅速,各大软硬件厂商都在积极参与有关标准的制定和产品开发工作,像IBM、HP、DEC、AT&T、ICL、Microsoft等都制定了相应的战略。许多对象中间件的专门厂商也相继诞生,未来的对象中间件市场将会出现群雄逐鹿的局面。 CORBA,它是分布计算机技术的发展结果,CORBA技术的成功在于,它除了能够解决由于多个系统层次上的异构带来的“孤岛”问题,还在理论和技术上扩展了客户/服务器的模式,使系统具有良好的可伸缩性,便于系统的开发与升级,保护已有投资。 CORBA体系的主要内容包括以下几部分: (1)对象请求代理ORB(Object Request Broker):负责对象在分布环 境中透明地收发请求和响应,它是构建分布对象应用、在异构或同构环境下实现应用间互操作的基础。 (2) 对象服务(Object Services):为使用和实现对象而提供的基本对象集合,这些服务应独立于应用领域。主要的CORBA服务有:名录服务(Naming Service)、事件服务(Event Service)、生命周期服务(Life Cycle Service)、关系服务(Relationship Service)、事务服务(Transaction 18 Service)等。这些服务几乎包括分布系统和面向对象系统的各个方面,每个组成部分都非常复杂。 (3) 公共设施(Common Facilitites):向终端用户提供一组共享服务接口,例如系统管理、组合文档和电子邮件等。 (4) 应用接口(Application Interfaces):由销售商提供的可控制其接口的产品,相应于传统的应用层表示,处于参考模型的最高层。 (5) 领域接口(Domain Interfaces):为应用领域服务而提供的接口。如OMG组织为PDM系统制定的规范。 CORBA制定了一套对象间通信的协议。通信介质被称为ORB ( Object Request Broker ),它负责在对象之间传递消息。如果对象在同一台机器上,ORB可以来优化消息的传递,如果在不同的机器上,则使用IIOP或GIOP协议(可以建立在任何网络通信协议之上)。IIOP(Internet Inter-ORB Protocol)就是基于IP协议,为方便Internet上的CORBA应用而设计的。 ORB是CORBA应用的基础,不同的公司可以开发出不同的ORB。但由于大家使用相同的通信协议,因此基于不同ORB实现的应用之间可以无缝通信。如下图: 19 ORB通信 注意,这里的stub类似与DCOM中的proxy,而这里的skeleton则类似与DCOM中的stub。 CORBA为了真正做到分布式的对象系统,仅有一个ORB是远远不够的。CORBA还必须定义大量的对象和伪对象才能满足分布式的对象系统下程序员的要求。 CORBA的产生有其特定的背景,它是在面向对象的技术兴起,客户/服务器模式普遍得到应用的前提下,为屏蔽通信和实现细节的需求,继承已有系统,消除“孤岛”现象而产生的。它弥补了传统分布处理系统的不足,具有很多新的特色: (1)引入代理(Broker)概念。代理起到如下作用:完成对客户方提出的抽象服务请求的映射;自动发现和找到服务器;自动设定路由,实现服务方程序的执行。 (2)客户方程序与服务方程序完全分离。用传统的客户/服务器方式有很大的不同,客户将不再与服务方发生直接的联系,而仅需要与代理发生联系,客户与服务器方都可方便升级。 (3)提供“软件总线”机制。任何应用系统只要提供符合CORBA系统定义的一组接口规范,就可以方便的集成到CORBA系统中,这个接口规范独立于任何实现语言和环境。如此,客户应用于服务对象之间可以透明地交互运行,实现应用软件在“软件总线”上的“即插即用”。 (4) 分层的设计原则和实现方式。CORBA系统的底层核心是一个精练的系统,各种复杂系统和应用可以由核心扩展和延伸。 CORBA技术是先进技术发展的结果,它将面向对象的概念揉合到分布计算中,使得CORBA规范成为开放的、基于客户/服务器模式的、面向对象的分布计算的工业标准。 20 3(CORBA 与 WWW 相结合 WWW技术迅速发展,它已不再仅仅是超媒体信息的浏览工具,以逐步成为人们进行事务处理的前端。由于分布对象的计算技术,特别是CORBA技术对于提高WEB的网络计算能力有着无可比拟的巨大作用,CORBA与WWW技术迅速融合,产生诱人的技术前景。 CORBA与WWW结合,构架出真正的三层体系结构。这种三层的体系结构,以分布对象技术为基础构架,增加了应用层,将客户层与资源层隔开,降低了Web服务器的负载,避免了Web服务器的性能缺陷对整个性能的影响。并且具有连接缓冲,负载均衡,安全管理等功能,从而提高了Web应用整体的灵活性,可伸缩性,可扩展性。 该结构中,CORBA客户方程序从Web服务器上下载执行,与应用服务器上的CORBA应用对象通过IIOP(Internet-Inter-ORB Protocol)协议进行通讯,调用其指定的操作。 CORBA应用对象首先对客户的请求进行认证和解释,根据客户请求的内容,或是直接访问资源层的数据库,或是与网络上的其它CORBA对象交互,共同完成客户请求。CORBA-WEB体系与ActiveX,JAVA RMI(Remote Method Invocation)比较起来,有明显优势。 在CORBA与Web的结合技术上,JAVA是CORBA结合Web的一个很好的切入点。CORBA规范中定义了IDL/Java的映射,CORBA产品提供商则根据规范开发了Java ORB。 JAVA ORB不仅能开发分布式的JAVA应用,更重要的是它能够开发WEB的CORBA应用。 21 Java ORB是基于CORBA的Java应用的中心,Java客户,包括Applet和Application,通过桩(Stub)代码向本地的Java ORB发出请求,本地ORB再与服务器方的Java ORB进行IIOP通讯,服务方ORB根据请求的内容调用相关的骨架(Skeleton)代码由指定的对象实现来完成请求,并将请求结果按原路返回给客户。Java ORB作为信息中介的桥梁,负责远程对象请求的生成、编码、传输等工作。 五(中间件技术 相关产品分类及其发展趋势 2003年,中间件技术继续保持稳步增长的势头。作为许多大型软件厂商的核心战略,中间件技术已逐步走向成熟。从用户的角度看,新建的信息系统不基于中间件的已经很少,中间件技术及其应用已经渐入佳境。国内中间件的应用状况与国际上大致相同,但中间件市场的增长与我国的经济增长一样,仍比全球的增长要强劲一些。 1(需求导致技术格局多样化 中间件技术已经成为应用系统的支撑。相对于操作系统与数据库而言,中间件与应用系统的关系更为密切,因此,应用系统的发展与中间件技术的发展互为因果。应用系统的需求就是中间件技术发展的风向标。 从2003年应用发展的情况看,许多传统的领域如金融、电信等大型企业的核心业务系统的建设已基本完成,基本数据源已经形成,并继续向互联网 22 领域过渡。新的业务系统如决策系统、增值业务系统等将逐步展开。而在政府领域及中小企业领域,信息系统的发展相对滞后,其基础业务系统的建立正在进行或刚刚开始。同时,信息系统建设的地域性差异很大,沿海地区与内陆地区都有很大差异。由于不同的应用系统类型需要不同的中间件技术,应用发展的不均衡性也导致中间件技术的多样化发展。 中间件的分类方法繁多,为了便于说明问题,根据2003年前后的发展状况,把中间件分为两大类: 一类是底层中间件,用于支撑单个应用系统或解决单一类问题,包括交易中间件(TPM)、应用服务器(WAS)、消息中间件(MOM)、数据访问中间件(UDA)等; 另一类是高层中间件,更多用于系统整合,包括企业应用集成中间件(EAI Suites)、工作流中间件(Workflow)、门户中间件(Portal)等,它们通常会与多个应用系统打交道,在系统中的层次较高,并大多基于底层中间件运行。 这些种类的中间件,根据应用的场景及发展轨迹的不同,将继续保持多样化发展,并不断衍生出新的格局。 2(底层中间件持续走稳 在强势行业新应用中,特别是在政府、中小企业的基础应用系统的建设中,底层中间件将得到更广泛的应用。 作为B/S结构应用基础设施,应用服务器在市场上大行其道。由于应用服务器的标准完备,所遵循的主要规范EJB及J2EE逐渐走向成熟,提供此类产品的厂商又众多,因此竞争也最激烈,其市场价格也会持续走 23 低,继续保持“物品化”的趋向——即产品价格平稳走低,利润增长依赖于增值服务。 应用服务器由于基本上继承了交易中间件和消息中间件的功能特性,在采用B/S结构及非传统编程语言(C、C++等)的应用中,应用服务器在逐渐蚕食交易中间件及消息中间件的一部分市场,导致后两种中间件在B/S市场中增长放缓。 作为历史最长、最成熟的中间件,交易中间件在对效率、可靠性等方面要求严格的关键任务系统中仍具有明显优势,在金融、电信、证券等许多行业的核心业务还无法采用B/S结构的情况下,仍将占有重要地位。 消息中间件的定位、功能及稳定性非常出色,在需要数据可靠传输的系统中牢牢占据一席之地。同时,在各行业的单一应用系统建立起来以后,应用整合已成为新一轮应用系统建设的热点,其中消息中间件扮演了重要的角色。根据Gartner的报告,在各种应用整合的技术中,基于集成代理套件(专用EAI软件)的应用整合技术将成为最主流的技术,而集成代理套件的应用通常都离不开消息中间件。 数据访问中间件一直是在中间件技术的边缘上,独立的产品不多,大都由数据库厂商随数据库产品一起提供。而中间件与数据库之间的接口标准,如XA及JDBC、ODBC等已经非常成熟。 3.高层中间件成为市场新宠 在单一或基础应用系统已经逐渐成熟的领域,新的应用热点就是对应用系统的整合,并进而实现决策分析系统、增值业务系统等新的建设项目,使企业能够进一步挖掘信息和对外提供多元化的服务。在政府行业, 24 由于具有业务种类繁多、变化快、机构庞杂等特点,使得电子政务虽然不像电信、金融系统那样对系统效率、可靠性等要求甚高,但由于其业务及流程的复杂程度以及变化速度更甚于金融、电信等应用,对中间件软件的功能提出了新的、更高的要求。 在上述领域的应用系统,需要大量高层中间件的支撑。因此,EAI软件、工作流系统、Portal等已经逐渐成为行业应用的新宠。这些新的中间件通常都不是单一的中间件产品,而是多种中间件技术的融合,需要融合消息传输、事务处理、流程整合、构件化、应用服务器等中间件技术。Web Service技术将融合到应用服务器、EAI软件、工作流系统、Portal等中间件软件中。由于这些中间件技术更加复杂,更加贴近应用,因此需要更多的专业服务,当然他们的单位价格也大大高于底层中间件。 从2003年的发展来看,高层中间件已经成为许多领域应用的不可或缺的基础架构软件,并因其价值巨大,已成为中间件厂商新一轮竞争的焦点。 4.新技术与产品的推出速度放缓 随着各种中间件技术及产品粉墨登场,中间件技术已经逐渐走向成熟。IT技术的发展又回到理性的轨道上来了,不再一味地更新技术,使用户无所适从,而是更加有节奏、更加踏实地去解决用户的问题。在中间件技术领域,短期内也不会再出现革命性的技术,中间件技术将向着深入、实用、整合的方向发展,而且要持续相当长的一段时间。因此,用户将会更多采用现有的中间件技术。 (1)实用化是重要的发展趋势 25 当前,中间件技术发展的动向是更加适应应用系统的要求,贴近应用,与应用的发展同步。软件平台就是中间件技术发展的一个明显趋势。 中间件技术的诞生是为了用自身的复杂换取应用开发的简单,但目前的中间件技术本身已经有过于复杂和过于通用的倾向,使得用户在选择和使用时遇到很多麻烦。因此,如何使中间件技术能更简便、明了地满足应用的需要,将成为中间件技术的一个发展方向,也就是中间件软件自身需要整合和调整。一方面,中间件需要提供满足个性化应用的解决方案,形成一种特别适用的支撑环境;另一方面,中间件需要整合,使应用只需面对一个可以解决问题的软件平台,而非一大堆中间件产品。 当然,对平台整合的理解也不尽相同。国外倾向于把各种中间件进行整合,形成基础架构平台;而国内倾向于除基础架构平台以外,把中间件以外的适应于特定行业应用的通用应用构件融合进来,成为基础应用构件平台,形成贴近行业应用的个性化应用支撑平台。不管如何理解,中间件技术的发展将会更加贴近应用,更加实用。 在面向某一领域或所谓“垂直市场”的中间件技术也得到了迅猛发展,最典型的例子就是移动中间件。由于移动通信技术及应用将在未来几年内保持强劲的发展势头,各种适合移动应用使用的中间件技术将得到广泛应用。 六.东方通科技的- 中间件产品 1(越来越丰富的中间件 26 中间件是处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,其主要功能是帮助用户灵活、高效地开发和集成复杂的应用软件 从广义上看,商务应用包括三个逻辑层次:表示层逻辑,业务逻辑和基础逻辑。其中,基础逻辑贯穿了通讯、事件和应用管理三个方面。换言之, 中间件就是从应用中分离出来的基础逻辑的一种独立的标准型式。 从应用类别来看,中间件可以分为三大类(见图,): ?数据类(Data Integration):用于数据的存取、转换和增值,此类中间件用于构建以数据为中心的应用 ?处理类(Process Integration):把分布在网络结点上的各个应用或处理连接在一起,形成一个统一的分布式应用。 ?分布式构件类(Distributed Components):支持构件式应用,未来应用的发展方向。 从应用层次来看,中间件可以归纳为三种模式(见图1): ?消息传输模式:将数据从不同的源发地采集到一起或转发,包括数据 标记、加密、队列和审核等 ?事务协调模式:支持应用事件及交易管理 ?应用构件模式:支持构件式应用,是网络化应用的发展趋势。 27 3.中间件的功能 标准化的中间件提供的功能含括三个方面:通讯管理、事件管理和应用管 理。 通讯管理 包括消息发送和接收、可靠投递、智能路由、名字服务、队列、脱机处理能力和发布订阅等机制(APIs)。 事件管理 包括交易的管理、监控等机制及用于开发实时的OLTP应用的APIs。 应用管理 包括用于建立适合事件服务及管理的集成应用APIs。 4.分布式构件平台及应用服务器 在中间件技术基础之上产生的对象中间件及应用服务器,使企业的多 28 种类分布式应用在逻辑上连接成了一个统一的整体, 让应用变得可扩充和可管理。同时,对象中间件及应用服务器提供清晰的服务接口, 丰富了应用的互操作能力。更进一步说,针对Internet/Intranet和其它分布式构件应用,应用服务器及对象中间件为服务对象构件提供了完整的部署环境。 5.明智的选择 由于企业对中间件需求的多样性,对中间件产品的选择有不同的着眼点。简言之, 由于中间件技术目前处在快速发展时期,种类繁多,且需要完善的支持服务,因而选择一个中间件专业厂商是符合企业的长远利益的,而东方通科技就是这样的一家企业,它不仅仅是国内中间件领域的开拓者和领导者,更重要的是,东方通科技能够真正帮助企业实现关键应用的顺利实施。 6.东方通科技公司的中间件软件产品 东方通科技公司的中间件软件产品包括了上述中间件技术的各个层面, 具体地说, 有服务于数据传输的消息中间件---TongLINK/Q; 有专注于事件管理的交易中间件---TongEASY; 有提供分布式构件化应用平台的对象中间件---TongBroker; 以及针对WEB应用环境的应用服务器---TongWEB. 有在因特网环境中占有重要一席的安全应用平台类中间件产品---TongSEC (见图3)。 29 图3 消息中间件 1.概述 TongLINK/Q是基于消息队列(Message Queuing)或消息传送(Message passing)的消息中间件,主要功能是在应用程序之间提供可靠的消息传送,可以在不同的网络协议、不同的计算机系统和不同的应用软件之间传递。 提供简单易用、高效可靠的分布式应用开发和运行平台,利用可以简单方便的开发可靠、高效的分布式应用; 提供了分布式应用管理平台,它通过名字服务和应用管理,提供对分布式应用的管理和监控; 提供一种信息的订阅和发布模型,通过事件代理机制,为信息的订阅和发布提供一种简便的开发模型。 体系结构 应 用 程 序 远 辅 日 系 运 安 应 用 接 口(API) 程 助 志 统 行 全 名 应 可 消 事 会 字 用 靠 息 件 话 管 工 管 管 监 管 服 管 队 队 代 管 务 理 列 列 理 理 理 具 理 理 控 理 协 议 栈 30 代 通 道 管 理 理 TongLink/Q体系结构 典型应用 TongLink/Q已成功运行在金融、邮电、交通、政府等行业的数百个大、中型企业级应用系统中。 中国移动通信全国冗灾备份系统是一个全国性项目。中国移动通信将全国计费中心设在北京,同时在深圳建立备份中心,与全国32个省(市)的中国移动通信分公司进行统一计费结算,互为备份。TongLINK/Q为中国移动通信全国冗灾备份系统搭建了安全可靠的数据传输平台。 交通部海事局全国水上安全监督系统是一个覆盖全国20多个沿海省、市的全国性项目,旨在实现沿海船舶、船员信息、通航环境信息等主要海事信息的数字化以及船舶、船员、通航管理等主要业务处理的网络化。TongLINK/Q为全国水上安全监督系统提供了安全高效、可靠传输的通讯平台及应用开发平台。 中国建设银行国际业务系统是一个全国性的系统,覆盖全国38个省、直辖市、 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 单列市以及10个沿海城市的外汇结算业务。中国建设银行B股资金清算系统也是一个全国性系统,由总行、38个一级分行、上百个二级分行以及200多个支行构成。TongLINK/Q在国际业务系统、B股资金清算系统中均发挥了积极作用。 2.详细介绍 事件代理机制 用户可以将一个完整的操作定义为一种事件,当这种事件发生时,TongLINK/Q根据用户描述驱动相应的应用程序来处理。 名订阅与发布 订阅/发布功能为应用提供了一种透明的信息发布和信息消费的框架。消息的发布者只负责发布信息的收集并通过一个公共“主题”来表示这个消息,消息的订阅者通过公共主题来订阅需要的消息,当有订阅“主题”的消息发布时,消息自动发送给订阅者。 31 高效的请求队列 TongLINK/Q通过名字服务和应用管理,向客户程序提供了一个高效的请求队列。TongLINK/Q根据请求包的名字属性自动调用相应的应用程序来处理请求;同时根据请求包的数量自动调整服务进程(或线程)的数量,确保对请求队列处理的效率。 良好的易用性和可管理性 ?实时监控及管理 TongLINK/Q提供菜单式字符界面及命令行方式进行系统管理。通过监 控画面,系统管理员可以及时地发现网络故障及系统运行的异常情况,通 过系统提供的相关工具进行处理。 ?日志机制 TongLINK/Q提供日志文件系统,登记系统的日常运行信息,传输的数 据包和文件信息、系统出错提示等,日志级别共分五级,级别越高,记录 的数据越详细。日志可用于对系统的运行状态进行监控,亦可用于对系统 的运行情况进行审计、故障处理、系统开发调试、交易跟踪。用户还可以 通过调整系统配置参数,抑制日志中部分或全部信息的输出。 ?动态配置 为了支持关键业务对7×24小时不间断运行的要求,TongLINK/Q可以动 态配置节点之间的连接:动态增加系统中的节点、动态减少系统中的节 点、动态启动和终止节点的运行、动态修改节点的运行参数。 ?远程管理 TongLINK/Q提供远程管理代理机制,允许用户将某网络节点设置成管 理机,在管理机上可以监控和配置网络中任一节点(包括中心和前端)的 TongLINK/Q。 多层次的安全管理 TongLINK/Q提供了从底层到应用的多级别安全机制,包括节点间的安全认证(CA)、应用程序的安全认证、通信数据的加密等。 作为一个标准化、适合中国应用环境的消息中间件,TongLink/Q具有高效、可靠、实用等特点。主要包括: 32 高效、可靠、灵活的传输功能 TongLINK/Q是基于消息队列(Message Queuing)或消息传送(Message passing)的消息中间件,主要功能是在应用程序之间提供可靠的消息传送,这些消息可以在不同的网络协议、不同的计算机系统和不同的应用软件之间传递。 TongLINK/Q提供一个简单易用、高效可靠的分布式应用开发和运行平台。 开发工具 TongLINK/Q支持C和C++。在Windows NT上,支持可视化开发工具,如PowerBuilder、Visual Basic、Visual Interdev 、Dephi等。TongLINK/Q采用控件和对象技术,实现了对这些可视化工具的灵活接口,极大的方便了应用程序的开发。 3.运行环境 平台 ?IBM AIX ?HP-UX ?SUN Solaris ?COMPAQ True64 UNIX ?SCO OpenServer ?AT&T GIS ?NCR UNIX ?IBM/Sequent DYNIX ?UnixWare ?LINUX ?Windows NT ?Windows95/98/2000 交易中间件 1.概述 33 TongEASY是交易中间件。交易(Transaction),又称之为事务。 交易中间件即事务监控器(TP Monitor),其核心作用是保证分布式计算环境中各节点交易处理结果的一致性,及时的交易响应时间,使整个系统达到高吞吐率,7×24小时的不间断运行。 TongEASY在分布式交易处理(Distributed Transaction Process)中负责正确传递交易,管理交易的完整性,调度系统资源和应用程序均衡负载运行,保证整个系统运行的高可靠性和高效性。 使用TongEASY可以简单方便地开发出可靠、高效的分布式交易处理应用系统。 交易中间件由一个通信程序提供数据和文件的可靠传输,通信程序按TongEASY的接口规范提供接口函数。TongEASY当前使用的通信程序是消息中间件TongLINK。 2.体系结构 TongEASY体系结构 3典型应用 TongEASY 是一个标准化、适合中国应用环境的交易中间件,具有高效、可靠、实用等特点。1993年诞生以来,已成功运行在金融、邮电、交通、政府等行业的数百个大、中型企业级应用系统中。 中国联通许多等省(市)的客户服务系统或GSM计费系统,其业务系统都是在TongEASY之上构造的。 中国建设银行是TongEASY应用最广泛的金融机构之一,目前已经有100 34 多个城市,其综合业务处理系统运行在TongEASY之上,占中国建设银行全部营业网点和业务量的四分之一。 4.详细介绍 作为一个标准化、适合中国应用环境的交易中间件, TongEASY具有很多功能和特点,包括: 高效数据通道 TongEASY提供高效数据通道,能够把大量的前端请求汇聚成较少的后端连接并减少数据传送量,应用系统即使在大量用户同时请求服务的时候也能够保持快速、稳定的工作状态。其优点主要有: ?降低网络负担 客户机和服务器建立一条网络通道,多个请求可以复用网络通道,在网络通道上传递服务名。参数和最终结果。最大限度减少网络上的传输量,同时可以对网络上传递数据进行压缩,进一步减少网上传递数据量。 ?提高主机处理能力 ongEASY调度有限的服务程序为大量并发请求进行服务,减少网络连接量、内存占用、进程句柄、信号量和CPU时间片等系统资源,成倍提高了主机的处理能力。 ?提高数据库效率 有限的服务程序只需与数据库建立有限的数据库连接,同时该连接是长连接,大大减少了数据库系统对会话连接的管理,从而大大提高数据操作的效率。 交易码驱动 TongEASY提供按名字请求服务的方式。名字,也称交易码。客户程序按名字(交易码)提出服务请求,TongEASY根据名字服务表查找并分配服务请求,服务程序,按优先级进行服务处理。 名字服务 TongEASY提供名字服务转发功能,TongEASY根据不同的交易请求(代理节点+交易码+关键数据)可以将其转发到不同的业务主机提供服务,从而将后台压力分担开,使系统具有更清晰的业务逻辑,机构扩展性更强,应用编写 35 的通用性更好。 TongEASY所有接点都支持名字服务转发功能,因此可以设置独立的名字服务中心,也可以在不同节点上做名字服务,使整个网络机构更合理,业务分布更灵活。 交易服务 TongEASY提供灵活多样的交易通信机制,包括: ?同步请求,应答方式; ?异步请求,获取应答方式; ?会话方式; ?转发方式; ?可靠队列方式; 可伸缩性的动态配置 TongEASY提供多种动态配置能力,包括网络节点、交易管理方式、应用程序管理方式、名字服务表以及其它一些控制参数;支持系统动态增减网络节点,调整交易和服务的管理方式,使系统运行达到最优化。 故障恢复 主要包括: ?网络故障恢复 自动检测网络连接,发现问题可以自动重新建立连接。 ?数据可靠传输 数据传送有可发送时间支持,在设定时间内网络故障恢复仍然可以正确发送。文件传送支持块重传和断点续传,在设定时间和重传次数内如有问题,TongLINK将自动重新传送。 ?服务可用性检查 自动检查服务程序的可用性,当发现问题时自动关闭服务并报告错误,当问题解决后可以手工恢复。 ?交易超时处理 自动检查交易运行的各个阶段,当出现超时将进行恢复处理。 ?自我保护 36 自动检查核心守护进程和所使用的系统资源,当出现问题时能够进行自我恢复。 ?系统重新启动和恢复能力 当系统故障重新启动时,根据日志恢复交易的完整性和系统运行状态。 安全性 TongEASY提供多种安全措施保证系统运行的安全性。包括: ?节点连接的安全认证 在系统配置时将保存节点的口令字和唯一标志特征,节点连接时将检查口令和节点唯一特征标志,保证连接节点的可靠性。 ?应用程序的安全认证 在配置系统时将保存应用程序的唯一特征,应用程序在注册时将检查唯一特征,保证运行应用程序的可靠性。 ?管理界面的使用管理 对使用管理界面的操作员分级管理,可以设置不同操作员可以使用功能,支持ACL(存取控制列表)控制。 ?提供加密,解密函数 提供可选加密/解密功能。加密算法为RC5,为对称密钥算法。 交易完整性管理 TongEASY提供两种交易完整性管理机制: 使用XA和两阶段提交方式管理交易完整性TongEASY接口函数负责与数据库交换有关事务的信息,包括交易开始/完成/挂起/恢复,应用程序只通过SQL语句进行业务逻辑操作,最后TongEASY核心负责事务的提交或撤消。使用核对和重做方式管理交易完整性。 TongEASY对一次半过程(请求/应答/确认)的交易进行完整性管理,跟踪交易过程,在服务方超时未收到确认时自动核对,在服务方未能正确处理提交/撤消处理时将自动重新提交。 用户数据管理 TongEASY支持两种用户数据类型,在使用时需要描述使用数据结构类型: 37 数据流模式 类似C语言结构方式,包括数据包和文件。 系统管理工具 TongEASY提供本地管理和统一管理两种模式,支持字符界面方式和命令行方式。管理工具提供操作员管理、节点管理、交易管理、程序管理、资源管理、系统启动和停止、参数配置和下载。 日志功能 TongEASY提供各种日志,帮助用户根踪、分析、调试应用系统,在系统出现故障时作恢复处理。 ?交易日志,记录交易结果; ?数据日志,记录收发数据内容; ?系统日志,记录系统错误信息和提示信息; ?调试日志,用于帮助跟踪TongEASY运行过程和查找运行错误。 有效的网络管理 TongLINK的网络管理能力,支持在各种不同类型线路上进行有效的数据传递。在低速线路上支持流量控制、数据块传输时间控制和故障处理能力。 数据库 支持Informix、Oracle、Sybase、Ingres、DB2等UNIX上的大型数据库,Windows NT上的SQL Server。可以通过XA协议,也可不用XA协议来和这些产品连接。 开发工具 TongEASY支持大量的第三方开发工具,支持开发人员快速、简单地开发TongEASY的服务程序及客户程序。 在服务器端支持C、COBOL语言。 在客户端支持几乎所有的编程语言和开发工具,只要这种语言或工具支持动态联接库DLL或支持C、COBOL的语言调用。其客户端通过DLL可以和VC++、VB、PowerBuilder、SQLwindows Delphi、Develop/2000以及其他4GL和CASE工具互联。 平台 38 TongEASY支持几乎所有UNIX以及Windows95/98/NT,并且所有平台上的API都是一致的,平台间的数据表示的差异由TongEASY自动屏蔽,极大地拓宽了用户对平台的选择范围。 构筑在TongEASY之上的应用独立于硬件、操作系统和数据库。将应用从一种开放平台移植到另一种开放平台,应用程序只需重新编译,调整极少的语句(不同数据库产品其SQL语法可能稍有不同),就能顺畅地完成平台转移。 数据库 支持Informix、Oracle、Sybase、Ingres、DB2等UNIX上的大型数据库,Windows NT上的SQL Server。可以通过XA协议,也可不用XA协议来和这些产品连接。 TongEASY支持位数及字节顺序的转换,屏蔽不同平台上的数据表示差异,不需要编程人员精通各种平台的数据表示差异,从而“自动地”完成异构系统的互联。 标准 X/Open DTP模型 两阶段提交协议(Two-phase commit) 应用接口规范TX 应用与通讯资源管理器接口规范XATMI 资源管理器接口规范XA 简单网络管理协议SNMP 数据格式转换协议XDR SO8583 应用服务器 1.概述 TongWeb 应用服务器是一个强大的符合J2EE工业标准的Internet应用支撑平台,它使企业能方便地开发,部置和管理关键的Internet应用。 TongWeb 由松藕合构件组成,他们协调工作,使多层应用在高性能环境里运行。所有构件都有良好定义的公共接口集和标准实现。这意味着不影响现有应 39 用,就可以实现对构件修改和扩展。为了满足消费者或产品的需要,这种松藕合模型允许开发者修改TongWeb 的行为。 2.体系结构 TongWeb由扮演不同角色的构件集组成,他们彼此之间协调工作且所有构件都有定义良好的,标准的公共接口集。见下图: TongWeb的体系结构 3.特点 TongWeb是一个符合J2EE标准的企业级的高性能Internet应用服务器,其特点主要有: ?支持任务关键系统,确保系统7 X 24小时运行 ?支持大量用户并发和均衡负载 ?提供强大的管理工具,完成对系统、应用等的监控和管理 ?提供功能强大、易用的开发工具 ?提供对J2EE标准的支持 ?作为分布式的应用集成的一个核心平台 此外,TongWeb还具有以下的优点: ?基于微内核 TongWeb的核心是基于微内核的。TongWeb的微内核提供了底层的通信、线程、配置、时间、日志等核心功能。在微内核之上,是遵循J2EE标准实现的 40 各种服务。应用在这种微内核的设计模式使上层标准的服务实现与底层的系统资源管理分离,保持了软件模块间松散耦合的优点。同时,TongWeb还提供了专门的服务接口,允许客户不必局限在J2EE的框架中,直接在内核层次上开发针对于具体案例的系统服务,特别适合于有特殊需求的应用系统。 ?高性能和高可用性 TongWeb应用服务器提供了集群功能和故障恢复能力,可以确保Internet应用系统的高性能和高可用性。在三层,多层Web应用体系结构中, 位于前置的Web服务器的后面,多个TongWeb服务器可以通过集群技术(cluster)来支持大规模并发用户。如果Web服务器出现故障,TongWeb的群集故障恢复能力可确保请求继续被处理。故障恢复能力包括自动检测及过程的自动回滚。同时,TongWeb的分布式状态和会话管理可确保应用和用户数据不会丢失。 ?系统管理 基于J2EE标准的TongWeb应用服务器提供了在企业级应用环境下对应用服务器本身和分布式应用的本地和远程的监视和管理。关键特点包括对系统事件和性能的实时监视,应用管理和分区,及用于优化性能的应用微调。提供了对SNMP MIB的支持和经由LDAP的系统配置集成,以达到最佳性能。 ?应用开发和企业应用集成 TongWeb应用服务器支持如下的开发:Java应用(Java Servlets等)、XML应用、WML应用。 TongWeb支持市场上标准的Java应用开发集成工具Jbuilder和Jdeveloper。同时, 也为与东方通公司的中间件产品TongEASY、TongLINK,Q、TongBroker、TongSEC中间件的集成提供预建服务插件。 ?系统和应用服务 提供一套综合的系统和应用服务,包括动态数据存取,动态内容生成,负载均衡,和事件日志 提供Web容器、EJB容器及对符合J2EE标准的JTS、JMS、JNDI、JAXP等服务和RIM/IIOP通信协议的支持 为获得最优性能、可靠性和易管理性,把事务监视器集成到WEB服务器平台上 41 提供对JDBC2.0支持,提供数据连接的共享池的支持。 ?安全服务 使用Active Directory/LDAP进行用户管理 用用户的ID/口令认证来校验身份 为了保护未授权的访问,提供访问控制列表(Access Control List)工具 用RSA算法加密 4. TongWeb应用服务器的主要构件和服务 ?TongWeb应用容器(tongserver) TongWeb应用容器管理servlet的生命周期和连接,包括TongWeb应用和第三方servlet。它也负责管理服务器的配置文件,定义了TongWeb的原始状态。 TongWeb提供一个类装载器。在应用容器中,一个TongWeb 类装载器的实例启动一个servlet。这种servlet和类装载器一对一的关系,使新的servlet和应用在下载和执行时,不必停止整个服务器。只要关闭与applet相对应的类装载器,再重新开始,就可以产生一个新的servlet的可用版本。 ?TongWeb EJB容器 TongWeb EJB容器支持两种类型的EJB:会话Bean和实体Bean。EJB容器是整个TongWeb应用的核心部分。当EJB运行需要与外界打交道获取数据时,都要通过EJB容器提供的API来进行。EJB容器向EJB提供交易管理、名字服务、安全管理、状态管理、生命周期管理和持续化管理等重要服务。EJB支持stateless和stateful两种形式的SessionBean, 支持BMP和CMP两种形式的EntityBean,支持EJB以编程和申明两种方式控制交易。此外,为了提高效率,TongWeb还实现了EJB的实例池。 ?TongWeb EJB容器 TongWeb EJB容器支持两种类型的EJB:会话Bean和实体Bean。EJB容器是整个TongWeb应用的核心部分。当EJB运行需要与外界打交道获取数据时,都要通过EJB容器提供的API来进行。EJB容器向EJB提供交易管理、名字服务、安全管理、状态管理、生命周期管理和持续化管理等重要服务。EJB支持stateless和stateful两种形式的SessionBean, 支持BMP和CMP两种形式的 42 EntityBean,支持EJB以编程和申明两种方式控制交易。此外,为了提高效率,TongWeb还实现了EJB的实例池。 ?连通能力(Connectivity) TongWeb 可以通过一系列协议连接到Web服务器,或直接通过HTTP连接到Web浏览器。因为许多servlet被设计成可重用的构件,所以应用容器允许任意数量的servlet到任意数量的连接。TongWeb 应用容器也支持大量的连通选项(WAI,RMI,CGI-Relay,HTTP)。 ?过滤器(Filter) 过滤器记录和跟踪进出servlet的请求和应答。过滤器把进出servlet的请求和响应围起来。也就是说,他们接受一个对象然后返回一个代替原始对象的新对象。几乎在所有的情况下,新对象可以传递所有到原始对象的调用。设计过滤器的目的是为了不修改servlet的行为,因为如果过滤器不能把调用传递到原始对象,它将改变servlet的行为。过滤器只是跟踪调用,把它记录到文件,或者把消息输出到OutputStream,然后传递该调用。 ?表示层管理器 表示层管理器管理TongWeb 应用中表示层对象的加载和执行。表示层管理器把表示层对象的名字转换为一个URL,使用指定的类加载器加载表示层对象,然后通过执行其run()方法执行表示层对象。每个TongWeb 应用有一个表示层管理器的实例。表示层管理器也可以把表示层对象缓存在内存或与应用关联的文件里。它使用TongWeb 类加载器得到这些文件。 ?会话管理器 会话管理器和会话对象提供一个小巧灵活的机制,保证基于Web的有状态编程。TongWeb 提供一个通用的会话管理,作为复杂的状态模型的基础。会话是一个时间段内同一用户发生的一系列请求。会话事务模型比单请求模型有许多优点。它可以在多页面请求过程中保持状态和用户标识。它可以给出用户行为的概况,而不只是产生用户点击报告。 ?数据库管理器 数据库是一个管理连接池的构件,连接池连接到许多逻辑数据库。逻辑数据库隐藏了不同JDBC和数据库实现的细微差别。这些连接由线程共享。连接 43 负责维护到JDBC驱动器的连接及数据库连接的状态,包括当前状态和正在处理中的结果。 ?名字服务(JNDI) JNDI结构包括两组API:JNDI API(Application Programming Interface)和JNDI SPI(Service Provider Interface)。Java应用程序通过JNDI API访问各种命名目录服务。JNDI SPI使得各种命名目录服务透明地加入到JNDI结构中,如上图中的LDAP、DNS、NIS等服务通过JNDI SPI加入到JNDI结构中,从而使Java应用程序能够通过JNDI API访问这些服务。 ?消息管理(JMS) TongWeb完整实现了J2EE中的JMS接口,使用户可以在Internet环境下进行异步通信,并实现关键数据的可靠传输。 ?交易管理(JTS) 交易是构建可靠的分布式应用程序的关键。交易只有两种终止方式:提交一个交易使其所有的更改成为持久性的改变,或回滚 (rolling back) 一个交易撤销所有的更改。TongWeb应用服务器的交易服务实现了对本地交易和分布式交易的支持,保证了交易的ACID性。 ?集群技术(Cluster) 在三层,多层Web应用体系结构中,TongWeb位于前置的Web服务器的后面,多个TongWeb服务器可以通过集群技术(cluster)来支持大规模并发用户。TongWeb提供了导航器,客户访问一个URL的时候,导航器将根据需要将请求转发给后端的某个TongWeb应用服务器进行处理。集群技术为系统提供了高性能和高可用性。 ?应用管理器 应用管理器是一个图形工具,它允许系统管理员配置和监控TongWeb 的实例及相关应用。TongWeb 和TongWeb 应用的所有配置信息都存储在配置文件里。TongWeb 启动时,读取这些配置文件,开始服务器处理及任何指定的应用。一旦TongWeb 的实例在运行,应用管理器就可以执行管理功能。所有管理操作都以相同的方式工作:TongWeb 、应用、或Servlet的活动状态的改变将被存储在配置文件里。 44 安全中间件 1.概述 安全平台TongSEC是以公钥基础设施(PKI)为核心的、建立在一系列相关国际安全标准之上的一个开放式应用开发平台。TongSEC向上为应用系统提供开发接口,向下提供统一的密码算法接口及各种IC卡、安全芯片等设备的驱动接口。基于安全平台TongSEC可以开发、构造各种安全产品或具有安全机制的用户应用系统,如用于文件加解密的安全工具、安全网关、公证系统(CA)、虚拟专网(VPN)等。 体系结构 TongSEC的应用安全体系如图所示: 2.应用范畴 企业内部应用环境 企业内部的应用系统,无论是网络平台还是最终用户应用界面,都需要以PKI的方式来加强安全性,包括用户证书的生成、分发和管理以及邮件,文件加密解密。 企业相互之间应用环境 企业相互之间的应用系统, 需要保证的是相互PKI应用的互通,包括用户,应用程序的证书的生成、分发和管理以及数据加密解密。 最终消费者应用环境 最终消费者应用系统的实现方式多以Internet为主,使用的最广泛的是浏览器和电子邮件,同样包括证书的生成、分发和管理以及数据加密解密。 Internet电子支付 对于需要在Internet上实现安全电子交易的用户,TongSEC将在下一版本提供对SET-BASED的证书签发的支持。 45 应用集成 TongSEC可以很容易的与现有各类应用系统集成,如财务软件、工作流软件、ERP系统、各种中间件软件。 基于TongSEC平台的业务流程 这里以证书请求和网络银行为例来说明基于TongSEC的应用模式和业务流程。CA模式如下图所示:一个根CA,带多个RA。所有要申请证书的人,必须到RA注册,验证,采用更安全的脱机方式,通过智能卡或软盘发行证书,证书可以通过TongSEC/LDAP服务器联机获取,但要先脱机注册、验证。 3.基于TongSEC平台的业务流程 这里以证书请求和网络银行为例来说明基于TongSEC的应用模式和业务流程。CA模式如下图所示:一个根CA,带多个RA。所有要申请证书的人,必须到RA注册,验证,采用更安全的脱机方式,通过智能卡或软盘发行证书,证书可以通过TongSEC/LDAP服务器联机获取,但要先脱机注册、验证。 产品特点 ?遵循最新的国际标准:IETF PKIX、RSA PKCS、ITU X.509、IETF LDAP、SSL,TLS、SET等; ?自主开发,自主版权; ?使用1024bit以上的公钥算法和128bit的对称算法,是真正的强安全性产品; 46 ?可为高度安全的智能卡发证书,进行安全的电子交易; ?可提供ActiveX、Plugin、Java等二次开发软件包; ?服务程序全部采用高性能多线程方式; ?有完整的日志,以便审计最终结果; ?高度模块化,可灵活组态; ?支持主流的UNIX操作系统及Windows95,98,NT; ?能与TongLINK,Q、TongEASY等中间件结合,构造健壮、可伸缩的CA、LDAP服务器平台。 ?CA,RA的体系结构,安全可靠,适合国情。 产品组件 TongSEC是以PKI为基础的安全产品系列,包括如下组件: ?TongSEC,PKI: TongSEC,PKI以应用程序、C,API、ActiveX,JAVA的形式提供下列模块: CA(签证机关,Certification Authorities),支持证书的发放与管理及审计日志和增加/删除下级CA、RA。 RA(注册机关,Registration Authority),验证外界的报文,为CA把关,合格者才交由CA做签名和证书发放。 ASN (数据格式处理),支持异构系统之间的数据处理。 SSL,TLS(安全服务协议),Internet上广泛使用的基于PKI的强安全服务。 SET(安全电子交易协议),VISA和MASTER两大组织为网上电子商务制定的标准,描述用户、商户和银行之间进行电子商务的方式,是目前最完备的电子商务标准。 ?TongSEC,LDAP: LDAP,即轻量目录访问协议。TongSEC,LDAP服务器使用成熟的数据库系统(Oracle、Sybase、DB2或Informix)、多线程机制、标准的SQL方式进行访问,可以与标准的交易中间件结合,解决可能存在的大批量证书请求的访问瓶颈问题。 ?TongSEC,CARD: 智能卡便于携带、灵巧方便,是电子商务应用中的重要一员。基于智能卡的系统目前尚未发生过一例安全泄漏,可见其安全性之高。 47 TongSEC,CARD支持PKCS#11,下一版本将支持OpenCard。PKCS#11定义了卡安全的C语言接口;OpenCard使用通用的JAVA统一了PC,SC和PKCS#11。 ?TongSEC,MAIL: TongSEC,MAIL是一个基于RSA的邮件加密软件,功能强大,速度很快,不但可以对邮件保密以防止非授权者阅读,还能对邮件加上数字签名,从而使收信人确信邮件的发送者是谁。TongSEC,MAIL采用了审慎的密匙管理,包括用于数字签名的邮件文摘算法,加密前压缩等。 ?TongSEC,MAIL在安全性问题上的精心考虑体现在各个环节,例如每次加密的实际密匙是随机数,像RSA密匙这样关键的随机数,是从用户敲键盘的时间间隔上取得随机数种子的。磁盘上的密匙文件采用和邮件同样强度的加密,有效地防止了他人从密匙文件中分析出实际密匙的规律。 ?TongSEC,FILE: TongSEC,FILE是与TongSEC,MAIL相类型的加密软件,其保密对象是文件及目录。 基于TongSEC的安全应用 对于应用系统来讲,TongSEC/PKI是透明的,用户不用了解其内部结构,只需要关注TongSEC跨平台和跨应用的安全服务(PKI-enabled application)。 TongSEC的安全服务包括: ?证书生成,发放 ?证书储存库 ?证书撤消 ?密钥备份及恢复 ?支持防抵赖数据签名 ?密钥及证书的自动更新 ?密钥历史资料管理 ?证书交叉认证 ?数据及文件加密,解密 ?前端安全APIs(工具软件包) 证书和身份认证: 为了确认使用者的真实身份,用户必须做事前身份登记,这种登记是以数 48 字化的格式存在,称之为公开密钥证书。 针对身份登记所进行的一系列操作与管理,就是签证机关(Certification Authorities,CA),它包括了用户管理、过程管理和工具。在身份确认的过程中,CA扮演的是一个安全代理人的角色。CA签发的证书包括以下内容: ?用户 ?唯一组合名(Distinguished Name,DN) ?用户公开密钥 ?证书有效期限 ?密钥使用范围(数据加密,数字签名认证) CA签发的证书具有唯一性和完整性。唯一性是通过唯一组合名与其公开密钥的捆绑达成的。CA的证书签名如同传统信封上的红漆封印,对证书的任何改动都能被查觉,保证了完整性不被破坏。需要强调的是,CA签发的证书不仅仅是用于最终用户身份识别,更多的是与前端应用程序本身相结合,提供应用身份识别。 密钥备份及恢复: CA需要用到两对密钥,一对用来对数据进行加密解密, 另一对用来对数据进行签名及签名认证。需要做备份的是交给最终用户的解密密钥。 支持防抵赖数据签名: 签名的单据是传统交易方式防抵赖的依据。现代的数字化的交易方式中,数字签名代替了纸上签名。其中, 专门用做数字签名的密钥由CA系统产生, 且是唯一的,由使用者自我保管,没有备份, 如果丢失, 需要重新申请。 密钥及证书的自动更新: 为安全起见,密钥需要定期更换。更换内容包括用户登记更新、密钥更新。在密钥到期之前, TongSEC会进行透明且自动的更换。 密钥历史资料管理: 加密解密的密钥更新后,最终用户可能随时用到早期的解密密钥来对数据解密,因此对原先的解密密钥必须妥善处理。为了保证透明度,前端的TongSEC安全应用模块会自动维护与管理历史的解密密钥,同时,CA的密钥备份及恢复模块负责管理原先的解密密钥。 49 证书储存库与证书分发: CA是一个安全代理人,商家使用CA生产证书并将证书分发给最终用户的应用系统。储存库实际上是一个专门用于证书分发的网络服务机制,最终用户的应用实体通过证书储存库,以应需请求的方式得到证书,证书撤销也将用到储存库。 证书撤消: CA建立有证书撤消单(Certificate Revocation Lists,CRL),可以做证书状态的消息发布。与TongSEC/LDAP结合, 可对最终用户的应用实体的证书需求进行即时调整。 证书交叉认证: 指两个CA认证中心彼此认证,其方式是两个CA交换证明密钥, 用彼此的密钥签发证书。另外, 最终用户的应用端软件也要建立对交叉认证过的证书进行确认。例如,两个贸易合作伙伴, 彼此都有自己的CA认证中心, 但彼此的证书可以被对方认可;或者一个大企业, 因区域关系, 分别有不同子CA系统(多级证书机制)。 最终用户端安全套件(安全APIs): TongSEC/PKI的价值不仅仅是CA,还包括对前端应用实体的安全支持。因此TongSEC将最终用户端安全套件与应用集合到一起,例如电子邮件、浏览器、文件,文件夹加密等。 TongSEC的最终用户端安全套件(安全APIs)支持下列安全机制: ?公开密钥证书 ?支持防抵赖数据签名 ?密钥自动更新 ?证书储存库 ?数据加密解密 对象中间件 1.概述 50 TongBroker是符合CORBA规范的分布对象计算平台。产品满足面向对象、性能、数据一致性、应用集成等关键任务需求。对其它对象产品、传统应用及其相应的应用环境,TongBroker有良好的包容性。TongBroker提供广泛连接和互操作,实现跨平台、跨网络和与同类产品广泛互连的能力,轻松在不同环境中构建统一业务。TongBroker以构件化思想组织系统,可以适应不同应用的需求,进行伸缩和定制,基于TongBroker的应用开发是简单而面向对象的。 2.体系结构 TongBroker具有分层的体系结构,如图所示: 下层的通信设施,提供消息通信能力,可以直接是网络协议或消息队列;TongBroker 的ORB与通信设施进行动态绑定,根据不同的情况使用不同的网络协议,为上层提供分布对象交互语义的驱动;应用或服务基于TongBroker 的ORB进行开发,使用TongBroker 的ORB的标准接口,其中服务提供的是某种特定的应用编程模型,从而方便应用的开发。 这种体系结构的优点是: ?模块化、层次性,符合构件化软件开发的趋势; ?伸缩性好,系统可用性高,可以进行不同级别的安装和配置,适合不同场合; 51 ?移植性好,动态绑定机制允许不进行编译替换部分模块,以支持新的协议或新的环境; ?应用集成性好,基于标准接口或服务开发的应用可以方便地在各种平台上移植。 3.产品组成 TongBroker由可独立安装配置的模块组成,如图所示: ?TongBroker 的ORB:标准的对象请求代理,表现为应用开发库。利用TongBroker的ORB开发的对象可以跨平台、跨语言地实现良好的互操作。 ?TongBroker 的消息通信核心:在TongBroker之间使用消息通信核心,以达到高效通信的目的。TongBroker的消息通信核心可独立于应用运行,类似于操作系统的微内核,使用高效的连接管理和消息通信机制,是TongBroker最大特色之一。 ?TongBroker 的IDL编译器:提供从标准IDL语法向C++语言的映射。利用编译器,可以生成IDL定义标准接口映射的客户存根和服务器骨架代码以及其他应用所需要的定义,与应用代码构成完整的应用。 ?TongBroker 的基本服务:当前版本提供标准的名字服务和事件服务。TongBroker的名字服务提供了从名字到对象的映射机制,访问对象时程序员不必为烦琐的对象引用操作而增加负担,对象的访问只需通过简单、结构化的名字进行操作。事件服务的概念包括提供者和消费者、事件通道、事件代理、推拉模型等。TongBroker的事件服务提供应用开发的一种典型模式--事件驱动。 52 ?TongBroker 的对象交易服务OTS:在实现两阶段提交协议的标准接口的同时,更能充分保证交易完整性和处理效率。 ?TongBroker 的扩展服务:可利用标准的服务接口,开发出面向应用的非标准服务,如用于大文件传输的可靠传输服务等。 ?TongBroker 的ORB扩展设施:提供方便应用的工具,如应用程序管理、基于图形界面的控制台等。 4.应用开发 面向对象的应用强调的是对业务的分析、对象化的建模和接口定义与实现的分开。TongBroker提供面向对象的分布式应用开发平台。 TongBroker的应用开发过程 ?面向对象的分析和建模:将业务应用环境划分为对象实体,将对象进行分类、分层,归纳对象实体的属性,将对象提供的服务或访问途径定义为对象的方法 ?利用对象模型建立并分析对象的接口,用IDL对接口进行描述 ?用接口检查对象建立的合理性,必要的话应模拟对象服务的调用 ?编译IDL生成存根和骨架 ?利用存根开发客户端应用 ?对服务对象的接口加以实现,实现与前面接口的定义是分开的 ?注册服务对象,以便接受TongBroker的管理 5.典型的应用流程 53 ?客户通过获得的对象引用向TongBroker 的ORB提出访问某个指定对象的服务 ?TongBroker核心通过适配器找到一个合适的对象并在服务方将其激活 ?服务方的对象实现通过ORB骨架接收请求并处理 ?服务器将请求的处理结果通过ORB返回给客户 ?客户获得请求处理结果 ?一次对分布环境远程对象的调用和交互结束 6. 详细介绍 作为一个CORBA规范的分布对象计算平台,TongBroker具有很多的优点,包括: 分布式面向对象计算 TongBroker将面向对象技术与分布式计算结合来,用户可以方便地在复杂的分布式环境中建立自己的面向对象应用。 ?应用环境、具体业务进行面向对象建模更加容易和精确 ?设计与实现的分开,保证了开发的质量,降低开发成本和风险 ?对象作为软件实体,具有良好的自包容性、对外封装性 ?产品组件有良好的可重用性,易于维护 ?基于组件的应用有很大的伸缩余地,可以适应不同的应用需要 ?用户可以方便地在易于裁剪的系统模块中进行选择 ?大量的组件产品供应及流行的软件发展趋势 ?方便软件的分布管理 ?灵活的分布处理集成环境,应用组件在分布式环境中协作 ?软件对象组件实现跨平台互操作 高效的通信平台 TongBroker的对象请求代理ORB,类似软总线,提供基于对象远程方法调用的下层通信平台。在支持标准IIOP协议的同时,对中国复杂的网络环境有充分的适应能力,为支持关键业务提供了良好的底层通信设施。TongBroker提供 54 基于对象引用连接重用和复用的机制、有效的自动连接管理功能,减少连接建立、释放、维护和本身的资源开销。 支持关键业务 TongBroker可以出色地支持各种关键业务,具有高性能的进程与线程、对象、连接管理功能。对于需要数据一致性保证的应用,TongBroker的对象交易服务OTS提供符合标准的交易管理功能。 ?TongBroker的交易的提交符合X/Open(OpenGroup)DTP模型与两阶段提交协议,允许服务对象或客户同时访问多个数据库资源,统一提交或回滚。 ?TongBroker保持了TongEASY的状态核对机制,可以更高效地保证数据的一致性。 ?TongBroker的交易控制与数据存储分离,不限制后端具体使用的数据库,应用更加容易移植。例如,可以使用XA接口访问关系数据库,并封装为资源对象。 ?TongBroker的OTS作为服务,既提供一般的库开发方式,也可以单独作为守护进/线程运行,能有效提高性能。 ?TongBroker的OTS应用使用标准接口进行开发,如交易工厂、交易终止、交易协调者、资源、交易对象等,分别用于交易过程的创建、传播、服务处理、资源访问、提交或回滚等。 高效的应用管理 TongBroker支持应用中的进程、线程、对象的管理。 对应用进程的管理,TongBroker通过配置定义应用的命名、分类、启动和资源使用与限制等策略。 TongBroker的应用是多线程环境,可配置的服务器线程模型。 TongBroker提供良好的对象管理机制,从应用定义接口、完成实现并进行注册,到对象的名字服务、位置透明性保证、消息转发、对象实例化、对象激活、状态管理、对象失活等,整个对象生命周期内的相关行为,自动而灵活地管理数量庞大的对象。 对象管理的机制体现为可派生使用的对象和可配置的系统属性。用户通过引用对象提供的服务、创建派生对象、设置读取对象的属性、对系统进行配 55 置、使用和创建参数配置映像等,实现灵活的对象管理,达到优化的系统性能。 符合国际主流标准 TongBroker支持CORBA2.x标准,提供符合规范的对象请求代理ORB和关键的服务设施,并将在未来版本中支持CORBA的更高版本。分布对象计算领域中,CORBA具有最广泛的适应性和良好的体系结构,目前已得到世界多家厂商的广泛支持,因此,基于TongBroker开发的应用具有非常良好的扩展性和伸缩性。 TongBroker通过支持标准协议提供了不同方面的互操作能力: 对象请求代理ORB互联协议GIOP(General Inter-ORB Protocol)规定了标准的传输语法及一组ORB间通信消息格式,其设计直接基于任何面向连接的协议,因此可以与下层协议动态绑定。 Internet ORB互联协议IIOP(Internet Inter-ORB Protocol)是针对Internet的标准协议,规定了GIOP消息通过TCP,IP连接进行交换的规范,适用所有基于TCP,IP的ORB产品。 在ORB间,TongBroker支持CORBA标准描述的可互操作对象引用IOR(Interoperable Object Reference),但对于应用级的程序员不可见。 支持Internet应用 利用ORB所支持的标准IIOP协议,TongBroker可以方便地与各种Web应用服务器进行集成,可以直接与Java ORB互联,将应用延伸到浏览器中,提供基于Internet的应用模式。 良好的系统伸缩性 TongBroker产品具有良好的伸缩性。例如,对不同网络协议的支持,配合构件化软件配置,支持从局域网到广域网的各种网络环境;通信核心可配置,适应不同级别的核心处理容量;在运行实体管理上,也可以通过配置适应不同规模的应用。 方便的应用集成 TongBroker具有非常良好的互操作性和应用集成能力,集成的范围除Internet应用外,还包括公司其他中间件产品TongLINK/Q和TongEASY应用、其 56 它ORB产品应用、不同的操作系统、不同的网络协议、不同的对象规范等。采用TongBroker进行传统应用的集成过渡将是非常平滑的,用户可以充分地保护过去的投资,将复杂的应用环境进行统一。 57 58
本文档为【软件新技术讲座讲稿【管理资料-演讲稿】】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_737352
暂无简介~
格式:doc
大小:290KB
软件:Word
页数:62
分类:企业经营
上传时间:2017-12-29
浏览量:32