中间件与Web Services

现有数据整合方案介绍 数据整合方案是数据整合的研究重点,目前实际应用中已经形成了一些较为成熟的案例,主要有基于数据仓库的整合方案、基于中间件的整合方案、基于Web Services的整合方案、基于虚拟数据库的整合方案。随着数据整合技术的发展,数据整合逐渐从单一的技术模式向流程、规则、方法等的综合模式演进,产生了多种综合类型数据整合方案,这之中较有影响的为主数据管理方案。 多数据库整合方案多数据库整合方案 阅读详情
AI摘要

本文介绍了中间件的概念、分类及应用层次,探讨了中间件在集成中的应用,并分析了从中间件到WebServices的发展趋势。文章还讨论了WebServices的核心标准协议及其在IT行业的地位。

作者:Allen (allen@huihoo.com)

中间件作为一大类系统软件,与操作系统,数据库管理系统并称"三套车",其重要性是不言而语的.

那什么是中间件?

我们来看看以下的几种定义:
http://middleware.internet2.edu/ 给出了middleware的一个定义:
Middleware, is a layer of software between the network and the applications. This software provides services such as identification, authentication, authorization, directories, and security. In today's Internet, applications usually have to provide these services themselves, which leads to competing and incompatible standards. By promoting standardization and interoperability, middleware will make advanced network applications much easier to use.
同样,IDC给出的一个定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

从这些定义中可以看出:
– 中间件是一类软件,而非一种软件;
– 中间件不仅仅实现互连,还要实现应用之间的互操作;
– 中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。

接着,我们再来看看什么是Web Services?
Web Services就是可以通过web描述、发布、定位和调用的模块化应用。Web Services可以执行任何功能,从简单的请求到复杂的业务过程。一旦Web Services被部署,其他的应用程序或是Web Services就能够发现并且调用这个部署的服务。
Web Services通过简单对象访问协议 (Simple Object Access Protocol,SOAP)来调用。SOAP是一种轻量级的消息协议,它允许用任何语言编写的任何类型的对象在任何平台之上相互通信。SOAP消息采用可扩展标记语言(XML)进行编码,一般通过HTTP进行传输。与其它的分布式计算技术不同,Web Services是松耦合的,而且能够动态地定位其他在internet上提供服务的组件,并且与它们交互。
Web Services使用诸如SOAP消息这样的XML消息,通过一种良好定义的消息交换模式来调用。通过描述调用服务所必需的数据,Web Services描述语言 (WSDL)文档定义了消息交换模式。

一、中间件分类

中间件分类有很多方式和很多种类,在这里我们由底向上从中间件的层次上来划分,可分为以下三个大的层次:

。集成型中间件

在通用型中间件产品之上整合了Application,Portal,Business Process等技术
主流技术:WorkFlow,EAI
代表产品: BEA WebLogic Integration

。通用型中间件

主流技术:CORBA,J2EE,MOM
代表产品:IONA Orbix,BEA WebLogic,IBM MQSeries

。基础型中间件

主流技术: JVM,CLR, ACE
代表产品:SUN JVM, Microsoft CLR



当然,在这个大的层次划分下,中间件还可以细化为以下一些种类:

。分布式对象中间件: 如Orbix,TAO
。J2EE应用服务器: 如WebLogic,Jboss
。消息中间件: 如MQSeries,JMS
。事务(交易)中间件: 如Tuxedo, TXSeries(CICS)
。应用集成中间件: 如BEA WebLogic Integration
。数据库中间件: 如JDBC
。安全中间件: 如东方通的TongSec
。无线移动中间件
。CTI(呼叫中心)中间件
。。。

二、中间件应用层次


中间件技术应用层次图



中间件提供了应用系统基本的运行/执行环境,而中间件服务则提供了更多高级的功能,如名字服务,事件服务,通告服务,日志等服务,在这些服务之上,我们还需要考虑不同行业的需求.不同的应用领域.

三、中间件技术在集成中的应用

中间件技术在集成中扮演着重要的角色,我们可以从不同层次采用不同种类,不同技术的中间件产品进行应用集成

我们可以从传输,消息,组件,流程等各个层面分别加以集成.


从图中,我们可以看出,为了完成不同层次的集成,我们可以采用不同的技术和不同产品。
如:
。为了完成系统底层传输层的集成,我们可以采用CORBA技术,
。为了完成不同系统的信息传递,我们可以采用消息中间件产品

以下是一个商业流程处理的例子:


TIBCO BusinessWorks Designer用户界面


这样,我们面对复杂的集成问题,就有了一个大致的应对措施和解决方案。

同样,目前中间件的竞争焦点也主要集中在集成应用平台上。以TIBCO为市场领导者的EAI市场遭到了来自传统中间件厂商BEA等公司的激烈挑战。大多中间件公司都已经或准备将下一步的工作重点放在了集成市场上。国内中间件公司东方通公司也在努力杀入这个市场。

而在集成市场上,Web Services表现出极强的发展势头.

接着,我们了解一些有关Web Services的知识

四、从中间件到Web Services

从中间件发展到目前的Web Services是一种基于Internet的发展需求。

我们可以将Web Services简单理解为对已有中间件技术的更高层次的封装。
其业务逻辑和方法的实现还得依赖于底层的CORBA,J2EE等技术。

我们先看看中间件的发展历程。


这是中间件一条大致发展路线图:

CORBAMOM/EAIJ2EE应用服务器应用集成平台(基于Web Services等技术)

从图中我们可以看见当前这个时期,中间件的竞争焦点将放在Web Services上

比尔·盖茨也曾经说过:"世界上所有一切都将包括在互联网服务中"
未来一切都将通过互联网实现,那些为互联网服务提供基础架构的企业,将成为今后高科技行业真正的霸主。目前的成员有:IBM、微软、Oracle、SAP

其激烈竞争的焦点将是: 基于Internet的软件平台和集成应用平台

是什么原因促使了这一格局的产生。我们来看看其中的一些原因:

软件业、软件服务业正发生着巨大的变革:

通过Internet完成软件,服务,客户,供应商,商业流程的互操作,交换和协作将成为一种发展趋势,主要体现在以下几个方面:

。软件模式的变化:软件即服务(Software as Service) 、应用软件、套装软件将以一种服务的形式向用户提供。而被封装成Web Services已成为一种趋势。
。Web技术,Internet的快速发展,要求软件和服务能够通过Internet取得和访问到.而Web Services标准、技术和应用的迅速发展也加快了这一进程的发展。
。CORBA、J2EE、NETD等复杂的分布式技术需要通过Web Services更方便,简单得提供给用户。使复杂,专用的技术变得简单,通用。

Gartner Group对Web Services的发展也做出了一份研究报告。Y轴表明技术的受关注程度,而X轴则表示技术的应用的成熟度。

从图中可看到,Web Services已是目前整个IT行业的最亮点.



Web Services构建在一系列核心的标准协议之上,包含:
。SOAP
http://www.w3.org/TR/soap
。WSDL
http://www.w3.org/TR/wsdl
。UDDI
http://www.uddi.org
。ebXML
http://www.ebxml.org

JAVA由于其跨平台,面向对象,便于Internet应用开发等特性使它成为开发Web Services的首选语言。

我们可以使用Java API实现Web Services



SOAP消息传输是针对Web服务的协议。JAXP API允许你访问并解析XML数据。JAXP的主要目标是提供一个接口,允许你不必参考底层实现,就能创建、操纵、和使用XML解析器,允许你创建解析器无关的代码,并且把解析器的选择推迟到运行时。

JAX-RPC帮助你创建基于XML的请求,比如SOAP请求,它被用来发送和接收基于XML的协议的方法调用。JAX-RPC API提供了高层的框架来把Java功能暴露为Web服务,这些服务能够被SOAP客户端消费,或者作为消费SOAP服务和客户端的方式。在典型的JAX-RPC使用案例中,开发人员没必要进行XML和SOAP编程,这样就能够快速开发应用。这不仅完成了XML和Java的互相映射,而且避免了直接与调用的XML表示进行交互。

JAXM提供了使这样的XML数据能够在两个应用之间互操作的框架。就是说,JAXM允许在两个独立的Web服务之间完成全部XML文件的传输。SOAP提供了在两个应用之间传输的消息的底层格式。JAXM作为轻量级的API,抽象了底层的消息基础结构。因此,开发

利用SOAP包装的JAXM消息是容易的,SOAP使你能够快速而且容易地访问SOAP消息。

SAAJ API使你能够操纵简单SOAP消息。它可以与JAX-RPC结合使用,JAX-RPC是用来接收和发送SOAP消息的J2EE标准API,用来表示字面上的XML文件片断。SAAJ是JAX-RPC的主要部分,但你也可以把它和其他API,比如JAXM,一起使用。

JAXM和JAX-RPC之间的区别在于,JAXM支持面向消息的中间件类型的应用开发,它允许你专注于消息的发送和接收。但是,JAX-RPC支持应用的RPC行为。如同SOAP 中定义的一样,JAX-RPC为XML RPC调用提供了Java接口。

以下是需要我们密切关注的产品和技术趋势:

。移动计算中间件
。反射中间件
。自治中间件
。Qos中间件
。网格计算中间件
。CORBA3
。J2EE
。NET
。。。

中间件,Web Services做为软件的一个发展趋势,我们不能忽视,更不能放弃这个机会。
期待与大家更多的交流与协作.

参考资料:
。C++ Network Programming Mastering Complexity with ACE & Patterns
。Dr Andy Bond的Middleware and Enterprise Architectures
。SUN公司Sun ONE Application Server 7 Web Services 开发者指南
http://www.huihoo.com/one_and_net/app7/index.htm
。http://www.tibco.com

关于作者:
Allen,研究方向:J2EE、CORBA、WebServices、WorkFlow、EAI等方面,愿意与更多的朋友一起来打造中国人自己的中间件基础平台。
http://www.huihoo.com 中间件技术论坛
http://www.huihoo.org 开源中间件项目
个人主页 http://www.huihoo.org/~allen/

地理信息系统的发展趋势——网格GIS 目前,由于网格本身就是一个新生事物,加之网格GIS都是建立在商业化网格计算及GIS系统之上,网格GIS很少会去从底层开发,因此当前并不存在基于网格协议的GIS软件,故网格环境下的GIS系统的实现通常是采用网格计算理念、基于当前现存的计算操作系统平台,通过部署网格服务来构建面向应用层的网格GIS软件来实现信息的共享和互操作。在这一点上,它与CORBA等是不一样的。GridGIS与传统的GIS系统相比,它有很多突出的特点:形式上,它不是一个环境和功能集中的系统,而更像是由网络连接的分布式的系统大群落; 阅读详情

相关推荐

泛微OA e-cology 8 Webservice接口部署与鉴权避坑

Web Service 与 SOAP/WSDL 是企业异构系统集成的基础技术:服务方通过 WSDL 描述能力,调用方以 XML 报文完成跨系统交互,价值在于降低接口耦合、复用既有业务能力。落地到 OA 场景,文档中心与流程引擎常以 Webservice 对外提供创建文档、发起流程等能力,但服务注册、类加载、过滤器顺序和访问白名单任一环节错位都会导致 404、无权限或调用失败。围绕泛微OA e-cology 8,需重点核对 classbean 下的 services.xml、XFire 服务段、DocServ

weixin_33552698的博客 60

再看 Web Services (一)什么是Web Service

论坛上,大家不停的在讨伐SOA, Web Service; 可是Web Service越来越火,为什么一个被人讨厌的东西却还是不停的有人再用? 这几天,重新翻了一下书,再次回头来看看为什么要用Web Service。从来没有看过 关于SOA的paper,所以,不能写什么 SOA与Web Service的区别: SOA,一种概念,将固有的 软件的概念 转换成应用 或 服务 Web S...

iteye_606的博客 271

保姆级教学:从0搭建微信小程序SpringBoot+Vue(一)

目标:实现一个微信小程序从后端数据库MySQL获取的商品展示页。 框架:后端采用SpringBoot,前端采用Vue,数据库MySQL。 部署工具:IntelliJ IDEA 2024.2专业版+HbuilderX+Node+微信开发者工具,jdk1.8已安装

weixin_44545610的博客 4925

浅析深究什么是中间件

本文发布于2009年10月30日   1. 由来   因为工作的原因,我从金蝶集团调入金蝶中间件公司工作以来,经常遇到一个问题就是中间件公司是个什么公司,中间件是什么?,金蝶不是做ERP的吗?怎么也做中间件?。这是我以前在金蝶集团时无法想象的问题。因为金蝶,金蝶ERP的品牌以及大众对ERP的了解,是无需我解析什么是ERP,什么是财务软件一类的问题的。   毕竟,中间件在实际的应用

hxl188的专栏 6261

数字蓝军智能体关键技术课题研究

本研究提出基于人工智能大模型技术构建智能数字蓝军智能体系统,旨在提升作战模拟推演的智能化水平。系统采用"大模型+小模型"混合架构,整合感知、决策、规划、学习等核心模块,实现动态、智能的作战方案生成。关键技术包括大模型与知识图谱融合、多智能体协同、战场态势数字化表示等。研究成果将形成可复用的垂直领域智能体框架,为军事训练提供智能化对抗平台。该系统不仅能模拟真实对手的决策行为,还能通过自我博弈持续进化,有效增强推演的真实性和对抗性。

weixin_49042442的博客 1547

FreeSurfer安装避坑指南:从邮箱选择到环境变量设置的全流程解析

本文详细解析了在Windows系统上安装和配置FreeSurfer神经影像分析工具的全流程避坑指南。重点涵盖WSL2深度配置、软件版本选择、许可邮箱获取策略、环境变量模块化设置以及图形界面调试等关键步骤,帮助用户高效构建稳定的分析环境,避免常见安装陷阱。

weixin_29243063的博客 229

三层架构-服务器端:通用WebService数据交互中间件概述

网上搜索Delphi三层架构的服务器端开发,大部分的博文都详细阐述了如何使用DataSnap、Socket或者Dcom技术来时间与客户端的信息交互,大部分需要安装插件……虽然这种种方式能实现三层通讯,但是在跨语言通信方面似乎都没有招了。于是我们马上想到一个平台独立、低耦合的技术——WebService,畅想一下,如果我们的服务器端中间件能够支持Java、C#、Delphi等多种开发语言的客户...

yueyun889的专栏 2626

23.501中英对照(46):5QI到Qos特征的映射

注4:对于UPF终止N6与5G-AN之间的延迟,CN PDB的静态值为1毫秒,应从给定的PDB中减去该值以得出适用于无线接口的分组延迟预算。注5:对于UPF终止N6与5G-AN之间的延迟,CN PDB的静态值为2毫秒,应从给定的PDB中减去该值以得出适用于无线接口的分组延迟预算。注6:对于UPF终止N6与5G-AN之间的延迟,CN PDB的静态值为5毫秒,应从给定的PDB中减去该值以得出适用于无线接口的分组延迟预算。注:建议为任何新的非GBR资源类型的标准化5QI分配小于64的值。

51学通信的博客 1294

中间件与Web+Services[转]

中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。  中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户

丁丁技术交流 951

手把手教你用组态王KingSCADA 3.53读取S7-1200 PLC数据(保姆级图文教程)

本文提供了一份详细的组态王KingSCADA 3.53读取S7-1200 PLC数据的实战教程,涵盖从硬件连接到软件配置、变量映射到故障排查的全流程。特别针对初学者常见问题提供解决方案,帮助工程师快速实现稳定通信,提升工业自动化系统效率。

weixin_26876073的博客 672

C++设计模式之观察者模式

观察者模式(Observer Pattern)是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。这种模式通常用于实现分布式事件处理系统,当一个对象(称为“主题”或“发布者”)改变状态时,所有注册的观察者都会收到通知。

每天进步一点点。 600

综合而强大的DATASNAP

从DELPHI2009开始,DATASNAP技术上完全是全新的架构,多层架构不再基于微软的COM,摆脱COM就等于摆脱了WINDOWS的束缚。 TCP/IP通信不再需要先开启scktsrvr.exe程序,相信吃过scktsrvr.exe苦头的人不少,比如多核CPU环境容易挂掉(在DELPHI7的时代,多核CPU的电脑还不流行,当时根本没有考虑到多核的问题)、支持客户端数量非常有限。。。。。。虽然...

weixin_34256074的博客 1147

2026年03月CCF-GESP编程能力等级认证C++编程一级真题解析

本文收录于专栏《。订阅后可阅读专栏内所有文章。

人生就是一个不断学习的过程 337

apache开源项目--Synapse

  Apache Synapse一个易于使用、轻量级的XML与Web Services管理和集成中间件。可用于搭建SOA和ESB的基础平台。Apache Synapse支持多种标准包括:XML、XSLT、XQuery、XPath、SOAP、POX/REST、HTTP/S、JMS、、FTP、 SFTP、WS-RM、WS-Addressing、SMTP等Synapse还提供非常多的实用功能”开箱即用...

weixin_34356310的博客 269

解密Whisper模型与Speaker Diarization的结合

本文介绍了如何将Whisper语音识别模型与Speaker Diarization(说话人分割)技术相结合,实现多人对话场景下的语音转录和说话人识别。文章详细讲解了技术背景、环境配置和代码实现方法,通过Pyannote进行说话人分割,结合Whisper进行语音转文本,最终输出包含说话人信息的完整转录结果。该解决方案适用于会议记录、访谈分析等场景,显著提升了语音处理的应用价值。

2501_90323865的博客 152

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

链接

  中间件与Web Serviceshttp://www.uml.org.cn/WebService/WebService100801.htmEAI和Web服务 - 轻松进行企业应用集成http://www-900.ibm.com/developerWorks/cn/webservices/ws-eai/cxl/index.shtml什么是Web Service http://ww

MUTANG BLOG 798

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Node.js Express

workerProcess.on('exit', function (code) { console.log('子进程已退出,退出码 '+code);}) var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log("应用实例,访问地址为 http://%s:%s", host, port) })

ztztqb7918pd的博客 442

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Oracle中间件RCE漏洞应急响应:OIM与OWSM修复实战指南

中间件作为企业应用架构的枢纽,承载着身份管理和服务调用等关键链路,其安全性直接决定整体防护水位。远程代码执行(RCE)漏洞是中间件最严重的威胁之一,攻击者可借此获取核心权限,进而横向移动、窃取凭据。理解漏洞原理、快速评估影响面、制定应急响应策略,是保障业务连续性的关键。在企业身份治理和Web服务管控场景中,Oracle Identity Manager(OIM)与Oracle Web Services Manager(OWSM)一旦出现RCE漏洞,影响尤为严重。本文围绕这两个组件的漏洞处置,系统梳理了从版本

weixin_28568819的博客 265

第三章 信息系统集成专业技术知识(二)

3.5.3 软件架构设计方法 3.5.4 软件架构分析与评估 3.5.5 软件中间件 1.中间件简述 2.几种重要的中间件 1)数据库访问中间件 2)远程过程调用 3)面向消息中间件 4)分布式对象中间件 5)事务中间件 3.6 典型应用集成技术 3.6.1 数据库与数据仓库技术 数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented...

bsr1983的专栏 356

Montag 升级到0.7了

Montag is a Java Web Services based system for interacting with Native XML Databases providing a Java implementation of the XML : DB API. Its a middleware which permits heterogeneous SOAP-enabled cli

北漂的鱼 1003

相关数据共享技术学习-part1

相关数据共享技术学习-part1 http://www.lw23.com/lunwen_890926737/ 论文标题:基于XML、Web Services的异构数据共享机制的研究及在电子政务中的应用 当前较为流行的XML、Web Services技术,提出了异构数据源共享的理论框架,解决了地理位置分布广,结构各异的数据源共享发布的问题。 整个共享框架由信息源层、XML中间件层...

iteye_13465的博客 228

cxf webservice客户端更改请求地址_【MES学习】从零开始了解罗克韦尔MES-定制客户端开发...

FTPC客户端可以通过以下两种协议与Plant Operations中间件通信:XML Web ServicesRMI/IIOP calls to session beans 因此通过这两种协议,我们可以自定义开发FTPC客户端。在FTPC安装路径,如下路径有一个PlantOpsClientSDK开发工具包,可以使用该SDK构建定制FTPC客户端。基于RMI/IIOP的EJB客户端解压PlantO...

weixin_39714191的博客 339

FastAPI项目从零搭建:目录分层、CORS与SQLAlchemy集成实践

现代Python Web开发中,异步框架FastAPI凭借类型提示自动校验与高性能表现,逐渐成为构建API服务的优选方案。其基于Starlette和asyncio的异步模型,能有效提升IO密集型任务并发能力,同时自动生成交互式文档,降低前后端协作成本。实际工程中,项目初始化、目录分层、配置管理、CORS跨域处理以及SQLAlchemy数据库集成是每个服务必须面对的基础设施问题。本文从技术选型出发,分享一个内容聚合类项目的FastAPI实战经验,涵盖从虚拟环境搭建、路由注册到ORM会话管理的完整流程,并总结常

weixin_30431445的博客 44

学习日记--续

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 403
上一篇: 用J2EE开发WebService
下一篇: 浅谈多层分布式体系技术与应用(中间件)
LP2001lp
博客等级 码龄22年 4粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值