当前位置:文档之家› 软件中间件

软件中间件

软件中间件
软件中间件

中间件定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

中间件特点:1.满足大量应用的需要2.运行于多种硬件、数据库及操作系统平台3.支持分布式计算,提供跨网络、底层平台的透明性应用或服务的交互功能4.支持标准协议5.支持标准的接口

中间件能为我们软件开发带来那些帮助?

中间件屏蔽了底层操作系统和数据库的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不系统软件上的移植而重复工作,大大减少技术上的负担;也减少了系统的维护、运行和管理的工作量及计算机总体费用的投入。

Client/Server模式:客户机和服务器结构,通过它可以利用两端硬件环境的优势,将任务合理分配到Client 端和Server端来实现,降低了系统的通信开销。

Browser/Server模式:在B/S体系结构中,用户通过浏览器向分布在网络上众多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。

C/S模式特点:1无论是客户端还是服务端都需要特定的软件支持。没能提供用户期望的开放环境,适用于Intranet。2服务器端运行负荷较轻。3数据的存储管理功能较为透明。4C/S体系结构的劣势是高昂的维护成本且投资大B/S模式特点:1.简化了客户端的工作,瘦客户端结构。2.对数据库的访问和应用程序的执行将在Server上完成。3.把技术维护人员从繁重的维护升级工作中解脱出来

传统B/S模式的不足方面:1浏览器应用于Web应用系统时,许多功能不能实现或实现困难。

2复杂的应用构造困难。3HTTP可靠性低,采用浏览器进行系统维护不安全。4Web服务器同时要处理客户请求以及与数据库联接,负载过重。5业务逻辑和数据安全不足

多层应用体系结构特点:1安全性:中间层隔离了客户直接对数据库的访问,保护数据。2稳定性:中间层缓冲了客户端与数据库的实际连接,使数据库的连接数量远小于客户端应用数量。3易维护:业务逻辑在中间服务器,当业务规则变化后,客户端基本不变。4快速响应:通过负载均衡以及缓存数据能力,客户端能够快速响应。5.系统扩展灵活:可以在中间层部署更多的应用服务

应用服务器位于Middle Tier提供哪些服务:

J2EE概念:Java EE是一种利用Java 2 平台简化企业解决方案的开发、部署和管理相关复杂问题的体系结构。

J2EE中的容器:容器是一种运行在服务器上的软件实体,用于管理特定类型的组件。为开发的Java EE组件提供了执行环境,容器负责管理部署在其中的组件的生命周期,及诸如资源汇集和强制执行安全之类的工作如:Web组件容器Apache Tomcat 企业级容器:管理EJB组件

企业应用开发所面临的问题(J2EE提供了解决这些问题的方案):分布式可移植系统集成支持面向WEB 可装配满足企业计算要求一致性事务性安全性。可伸缩可扩展以维护。

JDBC概念:JDBC是Java访问数据库的应用程序接口JDBC是数据访问中间件(UDA),该接口基于SQL 语言,采用同步通信

JDBC四种驱动类型:1.JDBC-ODBC桥2.本地API驱动3.网络协议驱动4.本地协议驱动

DAO(Data Access Object)模式实际上是两个模式的组合:Data Accessor 模式:实现了数据访问和业务逻辑的分离Active Domain Object 模式:实现了业务数据的对象化封装

Hibernate:是一种Java语言下的对象关系映射(ORM)解决方案,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。

消息中间件概念:消息中间件作为一个中间层软件,它为分布式系统中创建、发送、接收消息提供了一套可靠通用的方法,实现了分布式系统中可靠的、高效的、实时的跨平台数据传输。

队列概念:队列是消息安全存放地,队列存储消息直到它被应用程序处理。

消息中间件通信模式:1点对点通信:支持一对一、一对多、多对多、多对一等配置。2多点广播:能够将消息发送到多个目标站点(Destination List)。3发布/订阅:在Broker订阅Topic,有发布相同Topic的话就接收。4群集:简化点对点通信模式中的系统配置。群集中队列管理器之间能够进行负载均衡。

企业为什么选择消息中间件:利用MQ message queuing实现企业间的数据交换实现企业级大规模数据传送部署规模庞大网络状况复杂数据量大系统维护管理复杂分布式对象技术局限性

JMS(Java Message Service):JMS 为Java程序提供了一种创建、发送、接收和读取企业消息系统中消息的通用方法

两个被管理对象ConnectionFactory和Destination:ConnectionFactory:客户端用来创建同JMS提供者之间的连接的对Destination:这个对象是客户端用来指明消息被发送的目的地以及客户端接收消息的来源JMS开发步骤:1使用JNDI查找ConnectionFactory对象。2.使用JNDI查找一个或者多个Destination对象。

3.使用ConnectionFactory创建一个JMS连接。

4.使用连接创建一个或者多个JMS Sessions 。

5.使用Session and Destinations 创建所需的MessageProducers 和MessageConsumers

6.告知Connection 开始传送消息。

分布对象技术概述:分布式系统比想象的要复杂:1. 异构环境下的应用互操作的问题2. 系统管理问题3. 系统安全的问题4. 传统的面向过程的技术在开发大型软件系统的局限性

分布对象技术的核心概念有那些1分布对象的位置对客户透明2可以被远程客户应用以方法调用的形式访问3分布对象所使用的语言要对客户透明4.分布对象运行的系统平台对客户透明5.分布对象具有移动性

对象请求代理ORB:支持客户访问异地分布对象的核心机制称为对象请求代理ORB(Object Request Broker)。作为对象互通讯的软总线,使对象在分布环境中透明地收发请求和响应,它是分布式对象应用在不同层次的异构环境下互操作的基础。

CORBA是由OMG组织制订的一种标准的面向对象应用程序体系结构(规范),为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案。CORBA是为实现软件全方位集成而设计的。

分布式软件开发需解决以下五个问题:1.跨平台(硬件)2.跨操作系统3.跨语言4.跨协议5.跨版本CORBA采用的技术 1.采用了面向对象技术// 从软件重用角度考虑问题2.采用了分布式计算模型3.采用多层体系结构4.采用接口技术// 从软件集成角度考虑问题

CORBA体系结构:

ORB的任务是:找出所要对象的位置,激活该对象,向对象传递此请求。对象执行所请求的服务后,把输出值返回给ORB,然后再由ORB返回给客户。

IDL ( Interface Definition Language )接口定义语言:OMG IDL接口定义语言不是作为程序设计语言体现在CORBA体系结构中的,而是用来描述产生对象调用请求的客户对象和服务对象之间的接口的语言。

RMI(Remote Method Invocation)是基于Java技术的分布式编程模型,为Java程序提供远访问服务。JavaRMI编程规范:1. 创建远程接口及声明远程方法(HelloInterface.java)2. 实现远程接口及远程方法(继承UnicastRemoteObject)(Hello.java)3. 启动RMI注册服务,并注册远程对象(HelloServer.java)4. 客户端查找远程对象,并调用远程方法(HelloClient)5. 执行程序:启动服务HelloServer;运行客户端HelloClient 进行调用

JMS与RMI的区别:采用JMS服务,对象是在物理上异步地从网络的某个JVM上直接移动到另一个JMV 上。而RMI对象是绑定在本地JVM中,只有方法参数和返回值是通过网络传送的。

RMI在J2EE中应用:

CORBA和RMI 的差异:

1CORBA 运行在IIOP 协议之上;RMI 使用JRMP协议。 2 CORBA 是独立于语言的;RMI 是纯粹Java 到Java。 3 RMI 使用JNDI 定位远程对象;CORBA 使用CosNaming。

联邦数据库系统:仅通过将用户查询翻译为数据源查询来进行逻辑上的数据集成。

数据仓库技术:数据仓库是一个面向主题的、集成的、相对稳定、反映历史变化的数据集合,它用于支持企业或组织的决策分析处理。

数据仓库四个特点:面向主题、集成(Integrate)、相对稳定(Non-V olatile)、反映历史变化(Time V ariant) Mediated 模式(基于WEB服务的数据集成):中间件模式通过统一的全局数据模型来访问异构的数据库、遗留系统、Web资源等。中间件位于异构数据源系统(数据层)和应用程序(应用层)之间,向下协调各数据源系统,向上为访问集成数据的应用提供统一数据模式和数据访问的通用接口。

基于WEB服务的数据集成与联邦数据库系统区别:

1.以集成非数据库数据源

2.数据源可以不支持SQL

3.数据源是完全自治的,容易向系统中添加或删除数据源

4.对系统中的数据源访问通常是只读的,而联邦数据库系统支持读/写访问

网格(Grid):一个集成的计算与资源环境,或者说是一个计算资源池。计算资源包括各种类型的计算机、网络通信、数据资料、仪器设备等相关资源。

网格是借鉴电力网(Electric Power Grid)的概念提出来的。网格的最终目的是希望用户使用网格计算能力时,如同现在使用电力一样方便。即与地理位置无关、与具体的计算设备无关的通用计算能力。

网格的基本要求:

对于网格提供的计算能力,有四个基本要求:可靠性要求、标准化要求、易访问性要求、价格低廉要求

五层沙漏结构:1应用层、2汇聚层、3资源层、4连接层、5构造层

W eb Service:一个Web Service就是一个可以被URI识别的软件应用,它的接口和绑定可以被XML(eXtensible Markup Language)描述与发现,并且可以通过基于Internet的协议直接支持与它基于XML 消息的软件应用的交互。

第十一章Portal技术Java Portlet 组件

门户系统是一个应用框架,它将各种应用系统、数据资源和互联网资源集成到一个信息管理平台上,并以统一的用户界面提供给用户。(广义)是一个门户网站,是指通向某类综合性互联网信息资源并提供有关信息服务的应用系统。(狭义)如:新浪网、搜狐网等。

Portal定义:为用户提供了一种简单而且统一的访问Web Application的入口。

Portal Server 门户服务器:门户中间件指的是门户服务器,是Web应用服务器上的“应用”。Portal服务器容纳Portlet容器。Portal服务器通常提供个性化设置、单点登入、内容聚合、信息发布权限管理等功能,支持各种信息数据来源,并将这些数据信息放在网页中组合而成,提供个性化的内容定制,不同权限的浏览者能够浏览不同的信息内容。

Portlet Container是提供Portlets 执行的环境,包含了许多Portlets 并且管理他们的生命周期,他也会永远保存着Portlets 的喜好设置,一个Portlet Container 接收到来自Portal 的请求后,接着将这个请求传递给存在Container 的Portlet 执行。Portlet Container 没有义务去组合Portlets 产生的信息內容,这个工作必须由Portal 来处理。

一个Portlet是以Java 技术为技术的Web 组件,由Portlet Container 所管理,专门处理客户的request 以及产生各种动态的信息内容。

Portal主要功能:1.个性化、2.单点登录、3权限控制

第十二章企业应用集成(电子商务(E-Commerce/E-Business)是EAI)

EAI技术解决企业架构的问题“信息孤岛”:企业的业务流程会同时涉及到多个应用系统,因此要求这些系统能够协同,但接口、架构的不统一往往使得这些本应紧密集成的应用系统成为了一个个“信息孤岛”。通过EAI技术连接企业内外各种业务相关的异构系统、应用以及数据源,从而满足E-Commerce、ERP、CRM、SCM、OA、数据库、数据仓库等重要系统之间无缝共享和交换数据的需要。

狭义上的EAI,即企业应用整合,仅指企业内部不同应用系统之间的互连,以期通过应用整合实现数据在多个系统之间的同步和共享。

广义上的EAI,已经被扩展到业务整合(Business Integration)的范畴,业务整合相对EAI来说是一个更宽泛的概念,它将应用整合进一步拓展到业务流程整合的级别。

EAI就是在各个应用系统的接口之间共享数据和功能。EAI的目标就是将企业和企业内部的多个应用集成到一个虚拟的、统一的应用系统。

EAI技术层次体系:1.用户交互层、2流程整合层、3.应用整合层、4.应用接口层

EAI 架构模式(Architecture Pattern):EAI架构模式是为了提高应用系统的重用性和灵活性的一种设计方案。EAI架构模式主要针对系统或者应用程序的整体结构。架构模式被定义为软件系统的基础结构化模式。

1. 集成适配器模式

2. 集成消息器模式

3. 集成正面模式(Facade)

4. 集成媒介器模式(Mediator)

Radio Frequency Identification:RFID是Radio Frequency Identification的缩写,即射频识别,俗称电子标签,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。

标签(Tag):由耦合元件及芯片组成,每个标签具有唯一的电子编码,附着在物体上标识目标对象。

RFID标签的类别:1被动式、2主动式

射频技术与条形码Barcode技术的区别:

RFID中间件作用:RFID中间件是用来加工和处理来自读写器的所有信息和事件流的软件,是连接读写器和企业应用的纽带,使用中间件提供一组通用的应用程序接口(API),即能连到RFID读写器,读取RFID 标签数据。它要对标签数据进行过滤、分组和计数,以减少发往信息网络系统的数据量并防止错误识读、多读信息。

CORBA IDL:

在模块module BookSystem中定义一个接口BookManager,该接口有一个只读string类型的属性name 和一个返回类型为string的方法QueryBookStatus。该方法包含一个类型为long的参数bookID,参数bookID由客户端给入。

请按照上面的描述在module BookSystem中定义接口BookManager。

module BookSystem{ };

niagara中间件软件安装及测试

6测试 6.1硬件测试 用万用表测试左右扇面的24V+与24VG是否短路 用万用表测试左右扇面的5V与5VG是否短路 电源没有短路即可上电,若有短路,排查短路原因。 6.2软件测试 6.2.1软件安装 1、将U盘中的文件拷贝到一体机D盘下。 2、安装IndyTool v2.3.0,找到D:\一体机软件\R2000\IndyTool中的图标,双击进行安装。 3、将D:\一体机软件\F860光盘文件\app中的UHF.exe,UHFD.exe,UHFExample.exe,建立桌面快捷方式。 4、安装Niagara,运行Niagara 4.1在D盘下建立文件夹作为安装Niagara路径 4.2解压到’Niagara相关’文件夹下,参考Readme.txt文档。 4.3在D: \一体机软件\Niagara 相关\Niagara_AX_Developer-3. 5.30中,双击 图标,开始安装

点击下一步, 选yes,点下一步

路径选择为D:\Niagara\Niagara-3.5.30,点下一步: 选择select All

选下一步: 点下一步:

点完成,用注册码激活软件 将D:\一体机软件目录下的modules文件夹粘贴到D:\niagara\Niagara-3.5.30目录下的modules

中; 将D:\一体机软件目录下的demo文件夹覆盖D:\niagara\Niagara-3.5.30\stations目录下的demo 文件。 Niagara软件安装完毕。 5、安装Java JDK:找到D:\一体机软件\HerculesSetup.exe下的双击进行安装。 6、将D:\一体机软件\搜索配置设备创建到桌面。 6.2.2软件配置 6.2.2.1路由器配置步骤: 1、用一条网线将路由器的一个LAN口与电脑的网口连接。 2、打开电脑上的浏览器,输入http://192.168.1.1/后,得到如下页面: 查看路由器上的用户名和密码(注意,该用户名和密码为出厂初始密码,在路由器背面有标注)输入到上图中。

《软件构件与中间件技术》全真试题

学习中心_________ 姓名_____________ 学号 西安电子科技大学网络与继续教育学院 《软件构件与中间件技术》全真试题 (开卷90分钟) 题号一二总分 题分31 69 得分 一.多项选择题(共12小题,31分。按照要求的选项个数选择) 1. 在3层结构的分布式系统中,()包含了系统的核心业务逻辑。(选1,2分) (A)客户层(B)中间层(C)数据层(D)以上都不是 2. 典型的集成中间件为开发人员提供的三种基本支撑为:(选3,3分)() (A)提供构件运行环境(B)提供互操作机制 (C)提供公共服务(D)提供数据库管理 3. 构件通过封装隐藏其实现细节,构件接口是构件对外公布的唯一信息,使用者只能通过接口了解并使用组件。CORBA对象的接口是用()定义的,EJB构件的接口是用()定义的,Web Service的接口是用()定义的。(各选1,3分) (A)WSDL (B)Java interface (C)自然语言(D)OMG IDL 4. 在支持分布式对象访问的桩/框架(Stub/Skeleton)结构中,负责替客户端完成底层通信相关工作的是(),负责替服务端完成底层通信相关工作的是()。(各选1,2分) (A)客户端桩(Stub)(B)构件的接口 (C)服务端框架(Skeleton)(D)分布式对象自身 5. 在下图所示的OMA参考模型中,哪些涵盖了我们开发一个基于CORBA的应用时 可以直接使用、不需自己实现的功能:(选3,3分)()

(A)对象服务(B)领域接口(C)公共设施(D)应用程序接口 6. CORBA IDL文件中可以定义模块、类型、常量、异常、接口、值等6种规格说明,其中IDL文件的核心内容是:(选1,2分)()(A)类型(B)常量(C)接口(D)值 7. CORBA规范可以实现的可互操作性包括:(选3,3分)() (B)不同平台(如不同操作系统)与语言之间的可互操作性 (C)不同厂商ORB产品之间的可互操作性 (D)不同体系结构中的组件的互操作性(部分支持) (E)不同CORBA规范版本之间的可互操作性 8.下面关于EJB的会话构件(Session Bean)的描述正确的有:(选2,2分)() a)Session Bean存在于客户应用与应用服务器交互的时间段内,Session bean 中的数据不保存在数据库中。 b)Session Bean与数据库中的数据具有相同的生存期,Session bean中的数 据要保存在数据库中。 c)有状态Session Bean的对象需要保存与客户端交互的中间状态,因此需要 为每个客户端生成一个对象供其专用。 d)无状态Session Bean的对象需要保存与客户端交互的中间状态,因此需要 为每个客户端生成一个对象供其专用。 9.下面关于EJB的实体构件Entity Bean的描述正确的有:(选2,2分)() a)Entity Bean的主要作用是提高数据库访问效率,向使用者提供JDBC接口, 利用需要开发。 b)Entity Bean的主要作用是封装数据库操作,将数据库操作转嫁到Entity Bean对应的Java类/对象上,从而简化数据库相关应用的开发。 c)使用者调用CMP(容器维护的持久性)类型Entity Bean的Home接口中 create操作会导致在数据库中插入记录。 d)使用者调用CMP(容器维护的持久性)类型Entity Bean的Home接口中 create操作不会导致在数据库中插入记录,只会创建一个Entity Bean 类的对象。

中间件技术

中间件技术 定义: 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或 OS 环境。 中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。 中间件特点: ?满足大量应用的需要; ?运行于多种硬件和OS平台; ?支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能; ?支持标准的协议; ?支持标准的接口。 由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。基于目的和实现机

制的不同,我们将平台分为以下主要几类: ?远程过程调用中间件(Remote Procedure Call) ?面向消息的中间件(MesSAge-Oriented Middleware) ?对象请求代理中间件(object RequeST Brokers) ?事务处理监控(Transaction processing monitors) 1、远程过程调用 远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。事实上,一个RPC应用分为两个部分:server和client。server 提供一个或多个远程过程;client向server发出远程调用。server和client 可以位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。它们通过网络进行通讯。 2、面向消息的中间件 MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。目前流行的MOM中间件产品有IBM的MQSeries、BEA的MessageQ等。 3、对象请求代理 对象请求代理(ORB)是对象总线,它在CORBA规范中处于核心地位,定义异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间client/server关系的中间件。ORB使得对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可以位于本地也可以位于远程机器。ORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。client对象并不知道同server对象通讯、激活或存储server对象的机制,也不必知道server对象位于何处、它是用何种语言实现的、使用什么操作系统或其他不属于对象接口的系统成分。 4、事务处理监控 事务处理监控(TPM)最早出现在大型机上,为其提供支持大规模事务处理

中间件技术原理与应用复习资料

第一章 1、简述中间件的概念、组成结构和作用。 定义:中间件是介于应用系统和系统软件之间的一类软件,是位于操作系统和应用软件之间的一个软件层,向各种应用软件提供服务,使不同的应用进程能在屏蔽掉平台差异的情况下,通过网络互通信息。 组成结构:(1)执行环境软件(2)应用开发工具 作用:使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。 2、中间件的特性 (1)易用性 (2)位置透明性:应用不必知道对方网络和应用的地址;不经重新编译,就可把一个应用从一台机器上转移到另一台机器 (3)消息传输的完整性:消息不应丢失或重复 (4)消息格式的完整性:消息格式不应被破坏 (5)语言透明性:使用中间件的程序应能与另一个用不同语言编写的程序通信;如果用不同语言重写一个程序,其他程序应不受影响3、中间件的分类 事务处理中间件(TP Monitor: Transaction ProcessMonitor) 消息中间件(MOM: Message-Oriented Middleware) 数据库中间件(Database Middleware) 远程过程调用中间件(RPC: Remote Process Call)

对象请求代理中间件(ORB: Object Request Broker) J2EE中间件 4、RPC: 工作原理: 1.调用客户端句柄;执行传送参数 2.调用本地系统内核发送网络消息 3..消息传送到远程主机 4.服务器句柄得到消息并取得参数 5.执行远程过程 6.执行的过程将结果返回服务器句柄 7.服务器句柄返回结果,调用远程系统内核 8.消息传回本地主机 9.客户句柄由内核接收消息 10.客户接收句柄返回的数据 5、RMI存根和框架的作用: Stub为客户端编码远程命令并把他们发送到服务器,等待服务器返回结果,stub再解码返回调用结果给客户端。 Skeleton是把远程命令解码,调用服务端的远程对象的方法,把结果再编码发给stub。 6、RPC相关概念

中间件运维服务

中间件运维服务 1 中间件的服务内容 1.1 服务目标 行天科技可提供的运行维护服务包括,信息系统相关的主机设备、操作系统、数据库和存储设备的运行维护服务,保证用户现有的信息系统的正常运行,降低整体管理成本,提高网络信息系统的整体服务水平。同时根据日常维护的数据和记录,提供用户信息系统的整体建设规划和建议,更好的为用户的信息化发展提供有力的保障。 用户信息系统的组成主要可分为两类:硬件设备和软件系统。硬件设备包括网络设备、安全设备、主机设备、存储设备等;软件设备可分为操作系统软件、典型应用软件(如:数据库软件、中间件软件等)、业务应用软件等。 行天科技通过运行维护服务的有效管理来提升用户信息系统的服务效率,协调各业务应用系统的内部运作,改善网络信息系统部门与业务部门的沟通,提高服务质量。结合用户现有的环境、组织结构、IT 资源和管理流程的特点,从流程、人员和技术三方面来规划用户的网络信息系统的结构。将用户的运行目标、业务需求与IT 服务的相协调一致。 行天科技提供的信息系统服务的目标是,对用户现有的信息系统基础资源进行监控和管理,及时掌握网络信息系统资源现状和配置信息,反映信息系统资源的可用性情况和健康状况,创建一个可知可控的IT 环境,从而保证用户信息系统的各类业务应用系统的可靠、高效、持续、安全运行。 服务项目范围覆盖的信息系统资源以下方面的关键状态及参数指标: 运行状态、故障情况 配置信息 可用性情况及健康状况性能指标

1.2 中间件运维服务 中间件管理是指对BEA Weblogic 、MQ 等中间件的日常维护管理和监控工作,提高对中间件平台事件的分析解决能力,确保中间件平台持续稳定运行。中间件监控指标包括配置信息管理、故障监控、性能监控。 执行线程:监控WebLogic 配置执行线程的空闲数量。 JVM 内存:JVM 内存曲线正常,能够及时的进行内存空间回收。 JDBC 连接池:连接池的初始容量和最大容量应该设置为相等,并且至少等于执行线程的数量,以避免在运行过程中创建数据库连接所带来的性能消耗。 检查WEBLOG 日志文件是否有异常报错。如果有WEBLOG 集群配置,需要检查集群的配置是否正常。 2、MQ 中间件维护项目 1. 实时监控以下文件系统使用情况: 检查文件系统 /var/mqm MQ 应用所在文件系统。 2. 定期报告MQ 系统错误,备份清理MQ 系统错误记录在遇到问题时,检查 /var/mqm/errors 目录下是否有新的 FDC 文件产生,如果有应当立即报告 IBM 技术支持部门。另外,要定期检查该目录下 MQ 错误日志。 3. 监控队列深度 DIS QLOCAL(QName) 该命令的显示结果可以看出队列当前深度 4. 检查死信队列 DIS QLOCAL(DEADQName)

中间件介绍

中间件介绍 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

中间件介绍 1、Ice: ICE(Internet Communications Engine)是ZeroC提供的一款高性能的中间件,基于ICE可以实现电信级的解决方案。在设计网站架构的时候可以使用ICE实现对网站应用的基础对象操作,将基础对象操作和数据库操作封装在这一层,在业务逻辑层以及表现层(java,php,,python)进行更丰富的表现与操作,从而实现比较好的架构。基于ICE的数据层可以在未来方便的进行扩展。ICE支持分布式的部署管理,消息中间件,以及网格计算等等。 Zeroc推出的一种分布式的面向对象中间件,解决分布式的异构计算。可以用 C++,Java,c#等进行分布式的交互计算。 主要设计目标是: ·成为适用于异种环境的平台。 ·具有一组完整的特性,支持广泛的领域中的实际的的开发。 ·去掉不必要的复杂性,使平台更易于学习和使用。 ·是一种在、内存使用和CPU开销方面都很高效的实现。 ·是一种具有内建安全性的实现,使它适用于不安全的公共网络。 2、JBoss: 是一个基于J2EE的的。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,而不用支付费用。JBoss是一个管理EJB的容器和服务器,支持EJB 、EJB 和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。 在J2EE领域,JBoss是发展最为迅速的应用服务器。由于JBoss遵循商业友好的LGPL授权分发,并且由开源社区开发,这使得JBoss广为流行。 另外,JBoss应用服务器还具有许多优秀的特质。 JBoss运行后后台管理界面 其一,将具有革命性的JMX服务作为其; 其二,本身就是(Service-Oriented Architecture,); 其三,具有统一的类装载器,从而能够实现应用的和热卸载能力。 因此,高度模块化的和松耦合。JBoss应用服务器是健壮的、高质量的,而且还具有良好的性能。 1、JBoss是免费的,J2EE的实现,通过许可证进行发布。但同时也有的,开源和闭源流入流出的不是同一途径。 2、JBoss需要的内存和硬盘空间比较小。 3、安装便捷:解压后,只需配置一些即可。 4、JBoss支持"热部署",部署BEAN时,只拷贝BEAN的文件到部署路径下即可自动加载;如果有改动,也会自动更新。 5、JBoss与Web服务器在同一个中运行,Servlet调用EJB不经过网络,从而大大提高运行效率,提升安全性能。

中间件技术综述

中间件技术综述 摘要:介绍了中间件的产生与发展,详细阐述了中间件的定义、分类以及功能与作用。指出了中间件的优缺点,并分析了中间件技术的现状,最后介绍了中间件的应用前景和发展趋势。 关键词:统一软件开发平台、中间件技术 1 引言 随着Internet网络应用技术的发展,基于客户机/服务器(Client/Server)模式的系统设计方法己被广泛地应用于各种类型软件系统的设计与开发中。其编程方式改变了传统的应用程序设计和系统实现方式。为此人们提出了一种介于客户端和服务器端的软件--中间件(Middleware)。中间件是处于应用软件和系统软件之间的一类软件,是独立于硬件或数据库厂商(处于其产品的中间,实现其互连)的一类软件,是客户方与服务方之间的连接件,是需要进行二次开发的中间产品。 于是集软件复用、分布式对象计算、企业级应用开发等技术为一体的“基于中间件的软件开发”伴随产生,这种技术以软件架构为组装蓝图,以可复用软件构件为组装模块,支持组装式软件的复用,大大提高了软件生产效率和软件质量。 2 中间件技术 2.1 中间件的分类 由于中间件所包括的范围十分广泛,而目前对中间件还没有一个比较精确的定义。因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。基于不同中间件的目的和实现机制的不同,一般将中间件主要分为以下几类:远程过程调用中间件(remote procedure call middle-ware); 面向消息的中间件(message oriented middleware); 对象请求代理(object request broker); 事务处理监控(transaction processing monitor); 数据库中间件(database middleware); 专用中间件(proprietary middleware)。 其中,前3类中间件称为管道,它们可向上提供不同形式的通讯服务,包括

中间件应用部署整体要求

1.中间件应用部署整体要求 以下中间件应用部署要求主要指基于WEB服务器及Java中间件部署的WEB、J2EE等的应用。 1.1.内容要求 a)对整个系统硬件架构进行描述,提供系统架构组网图,此部分可以在主机集成部分提供。 b)对应用系统软件架构进行描述,提供应用软件架构图,对系统数据流,系统控制流以及 外部接口进行描述。 2.中间件应用部署用户要求 2.1.内容要求 a)要求对中间件软件及应用系统安装用户和组进行合理规划。 b)应用系统安装和部署必须新建用户和组,不能使用root安装。 c)对于一般应用,中间件软件与应用系统可以部署在同一用户下。 d)对于同一系统在不同主机上的相同应用,所有新建应用用户的UID,GID信息在所有主机 上保持一致。 2.2.内容实例 ● ● 3.中间件应用部署目录要求 3.1.内容要求

a)要求对中间件软件及应用系统安装目录进行合理规划。 b)应用系统要求部署在独立的文件系统上,在rootvg下建立文件系统。 c)对于同一系统在不同主机上的相同应用,所有目录部署结构在所有主机上保持一致。 d)中间件软件安装目录、域目录、应用发布目录要求独立部署。 ● 3.2.内容实例 ●WebLogic应用目录部署示例 网厅应用前台部署目录:

4.中间件软件及版本要求 4.1.内容要求 a)对使用的中间件软件及版本,32/64bit进行描述; b)对使用的JDK版本进行描述,根据中间件软件的安装要求,选择符合要求的JDK最新 稳定版本。 4.2.内容示例 5.中间件主机参数及系统包要求 5.1.内容要求 a)根据不同操作系统平台,要求的操作系统补丁; b)根据不同操作系统平台,需修改相应的核心参数,保证中间件的安装与运行; 5.2.内容示例 ●WebLoigc(AIX平台) 操作系统补丁要求: 操作系统参数要求:

中间件技术原理与应用课后习题(1-8章参考答案)

中间件技术原理与应用课后习题参考答案 S1.中间件产生背景及分布式计算环境 1.比较开放系统与分布式系统的异同。 分布式系统具备以下属性:远程性、并发性、异步性、异质性、自主性、联合性、伸缩性、发展性、移动性。 开放系统具备以下属性:开放的、集成的、灵活的、模块化的、可联合的、可管理的、满足服务质量需要、安全的、提供透明性。 2.简述开放系统的特性: 开放系统具有可移植性、可互操作性、可伸缩性、易获得性。 3.什么是互操作性,有哪几种层次的互操作性? 在一个由异质实体构成的网络环境中,当应用在网络的结点上运行时,它可以透明地动用网中其他结点上的资源,并借助这些资源与本结点上的资源共同来完成某个或某组人物,这种能力被称为互操作性。 有以下层次: Application-Collaboration-Application Transparency-Inter-operability- Transparency RPC-Inter-communication- RPC Comms-Inter-Connection- Comms 4.简述中间件产生的背景、概念、组成结构及核心技术。 定义:中间件是介于应用系统和系统软件之间的一类软件,它能使处于应用层中的各应用成分之间实现跨网络的协同工作。 组成结构:(1)执行环境软件(2)应用开发工具 核心技术:通信、资源管理、互操作性 5 .简述DCE的组成结构及其缺点。 DCE由分布式文件服务、安全服务、目录服务、时间服务、RPC、线程组成。 DEC的缺点:RPC设计不周,开发工具薄弱;性能差、适用系统少、适用困难;没有采用面向对象技术。 S2.面向对象中间件ODP 6.阐述面向对象的定义及其与面向过程的调用的区别。 面向对象的方法以一种更为直观的方法分析和构造系统,它将整个系统抽象并模型化,让人们能够更好地了解整个系统,使得在设计时就能发现其中可能存在的问题。 两者最大的区别是,在结构化的开发方法中,数据与功能室分离的,而在面向对象的开发方法中,数据与相关的功能是捆绑在一起的,更好地表示了系统中相对独立的对象。 7.简述ODP的关键技术。 观点和透明性。观点把对于一个系统的说明分成若干个不同的侧面;透明性屏蔽了由系统的分布所带来的复杂性,极大的减小了分布式标称的复杂性。 8.怎样理解ODP是元标准。 RM-ODP不仅是一个一般的标准,还是一个标准的标准,即规定了使用于开放式分布处理领域内的其他标准必须遵循的参考模型。 9.简述ODP的绑定模型。 ODP的绑定模型分为计算绑定模型和工程绑定模型。计算观点所描述的是,信息系统被分解成为在界面处交互的对象,以此来达到分布处理的目的;工程观点所描述的是,实现系统中分布式对象之间的交互所需的机制和手段。

信息系统项目管理师考试辅导教程(第3版)第-3-章软件构件与中间件

第3章软件构件与中间件 尽管当前社会的信息化过程对软件需求的增长非常迅速,但目前软件的开发与生产能力却相对不足,这不仅造成许多急需的软件迟迟不能被开发出来,而且形成了软件脱节现象。自20世纪60年代人们认识到软件危机,并提出软件工程以来,己经对软件开发问题进行了不懈的研究。近年来人们认识到,要提高软件开发效率,提高软件产品质量,必须采用工程化的开发方法与工业化的生产技术。这包括技术与管理两方面的问题:在技术上,应该采用基于重用(英文单词为“reuse”,有些文献翻译为“复用”)的软件生产技术;在管理上,应该采用多维的工程管理模式。 要真正解决软件危机,实现软件的工业化生产是唯一可行的途径。分析传统工业及计算机硬件产业成功的模式可以发现,这些工业的发展模式均是符合标准的零部件/构件(英文单词为“component”,有些文献翻译为“组件”或“部件”)生产,以及基于标准构件的产品生产,其中,构件是核心和基础,重用是必需的手段。实践表明,这种模式是产业工程化、工业化的成功之路,也将是软件产业发展的必经之路。 软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域(domain)知识。通常,把这种可重用的元素称为软构件(software component,通常简称为构件),可重用的软件元素越大,我们就说重用的粒度(granularity)越大。 使用软件重用技术可以减少软件开发活动中大量的重复性工作,这样就能提高软件生产率,降低开发成本,缩短开发周期。同时,由于软构件大都经过严格的质量认证,并在实际运行环境中得到检验,因此,重用软构件有助于改善软件质量。此外,大量使用软构件,软件的灵活性和标准化程度也能得到提高。 根据考试大纲,本章要求考生掌握以下知识点: (1)构件及其在信息系统项目中的重要性; (2)常用构件标准(COM/DCOM/COM+、CORBA和EJB); (3)软件中间件。 3.1构件模型及实现 一般认为,构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统。结构上,它是语义描述、通讯接口和实现代码的复合体。简单地说,构件是具有一定的功能,能够独立工作或能同其他构件装配起来协调工作的程序体,构件的使用同它的开发、生产无关。从抽象程度来看,面向对象(ObjectOrientation)技术已达到了类级重用(代码重用),它以类为封装的单位。这样的重用粒度还太小,不足以解决异构互操作和效率更高的重用。构件将抽象的程度提到一个更高的层次,它是对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个构件隐藏了具体的实现,只用接口对外提供服务。 构件模型(Model)是对构件本质特征的抽象描述。目前,国际上已经形成了许多构件模型,这些模型的目标和作用各不相同,其中部分模型属于参考模型(例如,3c模型),部分模型属于描述模型(例如,RESOLVE模型和REBOOT模型)。还有一部分模型属于实现模型。近年来,己形成三个主要流派,分别是OMG(Object ManagementGroup,对象管理集团)的CORBA(Common Object Request Broker Architecture,通用对象请求代理结构)、Sun的EJB(Enterprise Java Bean)和Microsoft的DCOM(DistributedComponent Object Model,分布式构件对象模型)。这些实现模型将构件的接口与实现进行了有效的分离,提供了构件交互(Interaction)的能力,从而增加了重用的机会,并适应了目前网络环境下大型软件系统的需要。 国内许多学者在构件模型的研究方面做了不少的工作,取得了一定的成绩,其中较为突出的是北京大学杨芙清院士等人提出的“青鸟构件模型”,下面,我们就以这个模型为例。 青鸟构件模型充分吸收了上述模型的优点,并与它们相容。青鸟构件模型由外部接口与内部结构两部分组成,如图3-1所示。 1.外部接口

中间件技术总结

中间件总结(软件体系结构与分布式对象技术)这门课程的名字叫做《中间件技术》,整个学期就讲了一章的内容,总共也就几十页,实际上就是Java课本上的第二十章,软件体系结构与分布式对象技术 如果你们的老师还是袁绍欣的话,老师上课有自己的风格,并不仅仅局限在书本上,更多的时候老师喜欢讲一些自己的认识和见解。上这门课其实也很有意思,老师有时候会天马行空,总之上课的时候应该是很轻松的,,老师的意思是,想传授给大家的是思想,而不是固定的什么知识。 然后是备战考试,,备战考试的话,实际上一天足矣,因为真的就这些内容,如果你将下面的内容都掌握了,考个80分是不成问题,但是要得95这样的高分,我看也并非易事。具体来说,考试只有三种题目(起码我这届和我上一届都是这样),简答题(11*5 )+ 画图题(3*5 )+ 论述题 (3*10 )= 100 。简答题和画图题都是书上的知识,而后30分就是考你对中间件和分布式的真正理解了。主要的知识点就是下面的内容,我整理出来给大家,但是并不是希望大家就是考前一天把它背下来,然后考后一天就全部忘光了。 我希望大家能够真正去理解中间件是什么,去理解分布式对象技术,那么,我的目的就达到了,同时,我觉得老师教学的目的也达到了。从以往的考试来看,,,打小抄的同学数量绝对不占少数,不管男生还是女生,,这种现象非常严重,,,我觉得真的没有必要,,但是现在大学考试的趋势就是这样,我也管不了,我只是希望大家摸着自己的良心,堂堂正正去考一场试。。。 你的学长:BIGBALLON

1. 软件结构体系的含义和主要类型有哪些? 含义:软件结构体系是具有一定的软件结构化元素以及它们相互关系的集合。 主要类型:构成角度:构件和它们之间的调用关系 开发过程角度:概念结构和物理结构 运行角度:静态结构和动态结构 部署角度:集中式结构和分布式结构 2. C/S 和 B/S 各自都有哪些优点和缺点? Client/Server (客户端/服务器) 特点:必须在客户端安装数据库客户端,并且需要一定的局域网络带宽满足通信 优点:开发容易,部署简单,执行速度快,界面表现形式丰富 缺点:维护困难 Browser/Server (浏览器/服务器) 特点:这种结构,服务器端部署Web服务,应用服务和数据库服务。使用Web服务来响应用户的请求 优点:维护扩展方便 缺点:开发部署复杂,执行速度比C/S慢,界面表现形式不及C/S丰富 3. 软件客户端都有哪些主要类型,富客户端中的Ajax有何特点,都有哪些富客户端产品? a. 胖客户端( C/S ),瘦客户端( B/S ),富客户端( RIA ,Rich Internet Application ) b. Ajax (Asynchronous Javascript And XML,异步JavaScript和XML ) 的特点: 能够异步地向服务器提交请求,用户无须等待浏览器返回就可以继续浏览器其他操作。 (百度中输入一个词,会出现下拉列表,详见书本) c. d. 富客户端产品:微软的Silverlight/WPF Adobe的Flex Sun的JavaFX 开源社区的Laszlo 4. 分布式软件系统的含义,它的特点是什么? 含义:分布式软件系统就是将物理上分散的独立构件或系统,在使用逻辑上统一起来,相互合作来共同完成任务。 特点:物理上独立,逻辑上统一

中间件的历史与发展

中间件的历史与发展 1. 由来 中间件在实际的应用过程中,是对应用软件起到支撑作用,最终用户并不直接使用中间件,中间件不是大众消费类软件产品。因此,除非是一个行业专业人士,一般不大可能与中间件打交道,不太了解什么是中间件。 因此,在系统软件之中,操作系统、数据库、中间件的三驾马车,中间件是最神秘的。因为,好歹大家通过Windows基本上会了解操作系统是个什么东西,尽管不会很全面,很专业,毕竟是有感觉的。数据库,虽然没有直接见过,但基本上明白数据是要一个仓库来储存的,因此,也大致知道数据库管理系统是干什么的。 长期以来,中间件是一个专业化非常强的细分产业。因为中间件的技术门槛比较高,玩家也不多,无论是国外还是国内都是如此。因此,行业内对什么是中间件并不特别在意。而公司名称直接叫中间件的就更少了,另一方面,因为中间件软件还处于发展阶段,还没有完全成熟,因此对中间件的定义也就没有深究,或者权威的说法。 但现在情况有点变化,其中一个原因在于2008年底,国家启动了核高基重大科技专项,在基础软件领域明确提出重点支持操作系统、数据库、中间件、文字处理等基础软件产业的自主创新,几乎一夜之间大大小小的软件公司都宣称是做中间件的了,只要不是做最终应用软件的,他们的产品都叫中间件了,一时间,中间件变得蓬勃发展起来了。 作为中间件行业内的专业化和领先企业来说,大家都重视起中间件来了,这是好事,说明社会上重视了。对行业的发展和繁荣固然重要,但这也隐含了重大的风险。中间件名字被滥用,无论是对用户,对这个产业,对政府和投资人来说,都会有负面的影响。鱼目混珠,泥沙俱下的局面,对中间件产业的正常发展未必就是好事情了,也可能对真正的中间件自主创新带来许多困扰,模糊了中间件的本质,可能会弱化中间件核心技术的创新和发展。 因此,在这种情况下,无论是对行业内,还是行业外,突然什么是中间件的问题变成了一个大问题了。 本文试图就中间件的来龙去脉,外延内涵和前世今生,来一个全面的阐释。一家之言,权作业界参考,希望带动大家做一些深入的思考。

(完整版)架构、框架、模式、构件、组件、中间件之间区别

1.什么是架构? 架构、框架、模式是一种从大到小的关系,也是一种组合关系。 架构一般针对一个行业或一类应用,是技术和应用完美的结合。 框架因为比较小,很多表现为中间件,框架一般是从技术角度解决同类问题,例如J 道数据增删改查框架就解决了所有数据库系统中大量数据增删改查的功能开发,框架是从技术的横切面去解决实际应用问题。 模式则更小了,越小越灵活,可重用的范围更广。 一个框架可能使用了多个模式,而一个架构有可能应用了多个框架,这样一个大型系统的设计基本从主骨干到骨架基本能够被设计者考虑设计到,也可以想见,一个系统被细化成了很多工作量,例如一个部分细化到工厂模式,那么就可以要求程序员实现工厂模式的代码即可。 由此,控制了大型软件质量,也提高开发效率,同时使得项目变得易于管理和协同,由此可见,一个大型项目的架构设计非常重要。 2.什么是框架? 框架即framework,是某种应用的半成品,一组组件,供你选用完成你自己的系统。 简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。 3.什么是模式? 模式即pattern,就是解决某一类问题的方法论,解决某类问题的方法总结归纳到理论高度,那就是模式。 Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。 模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。 当一个领域逐渐成熟的时候,自然会出现很多模式。 4.什么是构件? 构件(component)是可复用的软件组成成份,可被用来构造其他软件。 它可以是被封装的对象类、类树、一些功能模块、软件框架(framwork)、软件构架(或体系结构Architectural)、文档、分析件、设计模式(Pattern)等。 构件分为构件类和构件实例,通过给出构件类的参数,生成实例,通过实例的组装和控制来构造相应的应用软件,这不仅大大提高了软件开发者的开发效率,也大大提高了软件的质量。 5.什么是组建? 组件就是对象。C++ Builder中叫组件,Delphi中叫部件,而在Visual BASIC中叫控件。组件是对数据和方法的简单封装。 C++ Builder中,一个组件就是一个从TComponent派生出来的特定对象。 组件可以有自己的属性和方法,属性是组件数据的简单访问者,方法则是组件的一些简单而可见的功能。 组件是C++ Builder环境中最令人激动的部分。使用组件可以实现拖放式编程、快速的属性处理以及真正的面向对象的设计。 VCL和CLX组件是C++ Builder系统的核心。

软件构件与中间件

第一章 1、面向构件的方法 什么是面向构件的方法? Component-based software engineering (CBSE) is an approach to software development that relies on software reuse –reusing artifacts 面向构件的方法的优点? Reuse: Development of system = assembly of component Flexibilit y: Maintenance, replacement of components, extensibility by adding components. May even happen at run-time with proper infrastructure support ! Maintenance and evaluation 面向构件的方法和面向过程、面向对象的方法有什么异同? Entities for Reuse and Composition ?Abstraction ?Encapsulation Objects Components Services ?Location: same process ?Inheritance ?Polymorphism ?Location: different processes, same environment ?Usually some runtime infrastructure needed ?No state ?No shared variables ?Location: different environments ?More emphasis on interface/contract/se rvice agreement ?Mechanisms for dynamic discovery ?Dynamically composable 基于构件开发的核心思想? 构件模型? 概念:A component model is a definition of standards for component implementation, documentation and deployment (具体在PPT第一张第33页开始)

中间件及其应用

中间件及其应用 泰州电信分公司通建部陈晴 2003.3.31 摘要:随着计算机应用范围的不断扩大,中间件技术已成为计算机应用的一个热点话题。本文细述了中间件的概念以及各种类型中间件的技术特性,并对中间件在客户/服务结构的应用进行了讨论,最后介绍了一个中间件应用的一个实例。 关键词:中间件应用 1.中间件的概念 计算机硬件、软件技术的迅速发展,使计算机应用不断渗透到各个领域,特别是随着LAN技术的发展应用、Inrenet的普及、计算机应用范围的不断扩大、以及企业的跨区域运营,急切需要建立由若干个子系统组成集成计算机信息系统,以期待完成更复杂、更高级的功能。但是,已有的计算机信息系统是异构的,普遍存在着严重的"信息孤岛"问题,即每个子系统之间是独立的、不能有效地进行信息交换和共享。于是,现代企业管理向人们提出了建立一个基于不同数据库、不同主机平台、不同应用范围、不同人机界面、不同网路类型的综合应用系统的需求,如何把这些不同类型的设备、数据库、软件和网络集成起来开发出新的应用,是我们目前亟待解决的难题。一个较好的解决方法便是采用中间件技术。 中间件的概念是随着多层应用模式和分布式计算技术的发展逐渐形成的,主要为解决异构问题。对于中间件目前还没有统一的定义,总的来说,中间件是一种软件总线,不同的主机平台、数据库和应用被按照规范制作成插件安装在总线上,实现异构系统的信息共享,又被描述为软件“粘合剂”,将不能交互的应用系统间粘在一起。它是一软件集合,提供了独立系统间通信的函数和对异构系统进行应用集成的工具,并具有如下的一些特点: ?满足综合应用的需要 ?运行于多种主机和OS平台 ?支持分布计算,提供跨网络、硬件和OS的透明性的应用或服务的交互?支持标准的协议和接口 图1示意了中间件在系统中所处层次,从体系结构上看,中间件是位于操作系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统、数据库以及网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。同时中间件在负载平衡、连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅提升,满足了关键业务的需求。

中间件定义及分类

中间件定义及分类 中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,即中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。 按照IDC的分类方法,中间件可分为六类。 1.终端仿真/屏幕转换:用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的互操作; 2.数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件;在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,这类中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。 3.远程过程调用中间件:通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程; 4.消息中间件:用来屏蔽掉各种平台及协议之间的特性,实现在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,实现应用程序之间的协同。这是中间件中唯一不可缺少的,是销售额最大的中间件产品,主要产品有国内东方通科技公司的TongLINK、BEA公司的BEA eLink 、IBM公司的MQSeries等,目前在Windows 2000操作系统中已包含了其部分功能。 5.交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台。在分布式事务处理系统中要处理大量事务,常常在系统中要同时做上万笔事务。在联机事务处理系统 (OLTP)中,每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。根据X/OPEN的DTP(Distributed Transaction Processing )模型规定,一个分布式交易处理系统应由事务处理、通信处理以及资源管理三部分组成。BEA公司的TUXEDO便是最著名的一个交易中间件产品,东方通科技公司的TongLINK 和TongEASY实现了DTP参考模型规定,另外还有IBM公司的TXSeriers是应用广泛的一个交易中间件产品。 6.对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用,在这个方面遵循的标准是 CORBA。对象中间件将是未来的主流,目前产品如东方通的TONG BROKER,INPRICE公司的Borland Application Server。 当然,IDC的分类并不能包含目前所有的中间产品,比较流行的还有: Web服务器中间件 浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能作数据写入、受HTTP协

相关主题
文本预览
相关文档 最新文档