TechTarget中国网站推荐

关于服务接口的一点疑惑

2008-8-19  选择字号:  | |
打印本文章
正在加载数据...

  前段时间开始看了些SOA的资料,觉得用服务这个思想非常好,通过服务编排来实现企业IT与业务的对齐。服务具有标准的接口规范(用WSDL)来描述,独立于实现服务的软件平台和编程语言。

  但是在服务编排时,如何保证两个服务之间能够实现接口互联互通了?比如服务A的输入输出分布表示为INPUT_A(a,b,c),OUTPUT(d),这些接口用wsdl描述,而服务B的输入输出INPUT_A(d,e),OUTPUT(f,g),那么即使服务A和服务B就无法连接起来,是这样的嘛?也就是说服务连接不仅要收到输入输出参数个数的限制,还可能要收到参数类型的限制,虽然接口都是用WSDL描述的。这样的话将会给服务规划、实现和编排带来严重的问题,因为服务接口参数个数不一致,服务之间不能随意装配,也就需要开发一些连接器才能实现业务流程。

  是这样的吗?

  首先,解释下WSDL规范,通过这个规范,可以将Web service 所提供的服务操作、服务操作的参数个数以及类型用XML形式描述,这样做到与具体编程语言以及运行平台的解耦,这是其关键的目标,各个服务之间的调用与依赖关系完全用XML来描述,不必考虑各种编程语言的影射,数据类型的转换问题。

  而要实现服务之间的互通,首先必须让要实现此服务的客户知道此服务的存在,那么就催生了UDDI,实现对web service的注册发布功能。然后利用WSDL的对web service服务操作抽象级的描述,便于分布式服务间通讯调用等。

  所谓服务编排是指可以利用已有的服务来组装出新的服务,可以这么认为,web service就是提供了一类逻辑意义上的函数,公布出来,如果一旦企业由新的需求,但这些需求完全可以利用已有的函数功能来完成,那么就可以象利用编程方式一样利用ws-BPEL引擎编排出新的功能,所谓的编排只是对已有的多个web service所提供的功能函数进行调用,这里面会考虑调用的先后次序、函数的签名(也就是函数名,参数个数,参数类型),这些信息无论如何解耦都不可能忽略掉的!

  再未用web service技术之前,app1用java开发,其公布出函数集function1,而app2用c++开发,其公布出函数集function2,那么他们之间的互联互通要考虑的问题就多了,除了函数签名信息外,还要考虑平台问题、运行环境问题、编程语言参数匹配问题、通讯协议问题等等复杂的问题。

  有了统一的调用接口后,只需要考虑函数签名问题等问题了。

原文出处:http://gocom.primeton.com/modules/newbb/item55206_55206.htm
来源:goCom构客网    
相关的专家答疑
步SOA后尘,SOBA(面向服务的业务应用)激起了分布式计算领域新一轮的讨论热潮。要分清SOA与SOBA之间的差别并非易事,因为这两个词描述的都是从Web服务构建应用基础……
上一篇BLOG中,给大家介绍了构件化业务模型框架的内容,这边文章给大家解释什么是业务构件……
SOA最重要的思想之一就是实现业务复用,从而最大限度的复用企业资产和流程,达到降低企业IT系统总体拥有成本的目标。因此最近开始整理一些这方面的资料……
近年来,很多企业应用集成(EAI)供应商都提供专有的适配器和集成服务器工具集,试图解决企业应用集成过程中面临的挑战。虽然EAI解决方案很有效……
JBoss将jBPM系统看作是其开放源JBoss Enterprise Middleware Suite(JEMS)的组成部分。3.1版本在JBoss Seam中添加了多进程语言支持和集成……
ERP,企业资源计划。以企业资源的角度来组织企业的人、财、物、信息。此概念产生于大生产时代MRP之后,号召把企业的上下游也纳入到企业通盘战略考虑当中……
面向服务架构以及其周围的系统都是分布分散,SOA提倡对现有服务的重用,但是需要由不同的小组管理这些资产。这就为许多试图采用SOA的机构带来了新的挑战……
现在,协调不同层面的工作必须要确保他们能够在共同的工作流中进行操作。要想实现这个工作流需要考虑到以下几点……
近年来,很多企业应用集成(EAI)供应商都提供专有的适配器和集成服务器工具集,试图解决企业应用集成过程中面临的挑战。虽然EAI解决方案很有效……
微软倡导的SOA是“Real World SOA”的概念,建议企业从业务面有痛处或问题部分作为出发点,以6至8周为一个周期,分三阶段:先找到Services,再组装Services……
很难想像没有服务的面向服务架构(SOA)是什么样子的,毕竟,服务是SOA的重点(甚至在它的名称中也是)。如果面向服务架构是一种商务和技术架构把围绕服务作为目的的……
在您最近的博客中提到,在XML.com中有你喜欢的XML内容。关于XML的信息还可通过什么途径可以得到?请与我们分享更多的来源……
面向服务的架构(SOA)是一种基于可以重用的服务的,新的开发应用的架构体系. 近年来, 企业界对于SOA的需求越来越急切. 为了满足这样的需求, 一系列的SOA基础架构产品被推出. 主要的厂商如Oracle, BEA System, IBM都提供了SOA平台产品. 在一个包含各类应用的复杂的IT系统中, 要使用适配器并且在一个符合业务需求的流程中将各类应用串连在一起是一个非常困难的事情, 但是现在的SOA平台将困难转变成了容易。
Web 2.0是2003年之后互联网的热门概念之一,不过对什么是Web2.0并没有很严格的定义。一般来说Web 2.0是相对Web1.0的新的一类互联网应用的统称。
Ruby on Rails, 也称RoR或简称Rails, 是一个使用Ruby语言写的开源网络应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。
最新更新
专家答疑
技巧
Jason Bloomberg
企业是否应该意识到,云计算有许多积极因素,是否也有负面影响呢?重要的是要记住,云计算仍然非常新,而且在许多方面比vaporware更现实……
Ron Schmelzer,Jason Bloomberg
我们正在进入多元化的银行和金融服务,我们处理客户关系管理CRM,BI,遗产系统,产品J2EE和.NET和其他异构平台。如果我们想要转移到一个共同的平台,为什么要选择SOA……
Ed Tittel
在您最近的博客中提到,在XML.com中有你喜欢的XML内容。关于XML的信息还可通过什么途径可以得到?请与我们分享更多的来源……