Thrift:服务集成的实用方法(二)

2008-12-5    | |
打印本文章
RSS

导读:一个Thrift文件涵盖了服务的数据类型和方法特征,这和SOAP、CORBA中使用的其它语言中立合同是一样的—它们分别是WSDL和IDL合同。Thrift短线包含了协议和socket方法。

关键词:Thrift 数据类型 SOAP CORBA WSDL IDL合同

正在加载数据...

【TechTarget中国原创】从本质上来说,Thrift准许开发商关注服务的业务逻辑,使用这12个支持语言的任何一种,如果服务逻辑要求大量使用异步算法,则可以用Erlang语言来简化开发,或者如果这些专家倾向于Java就可以用Java语言,如果服务需要和用Ruby on Rails编写的网络应用整合在一起,就要用Ruby语言。而Thrift是通过Thrift文件来实现其灵活性的。

  一个Thrift文件涵盖了服务的数据类型和方法特征,这和SOAP、CORBA中使用的其它语言中立合同是一样的—它们分别是WSDL和IDL合同……

【TechTarget中国原创】从本质上来说,Thrift准许开发商关注服务的业务逻辑,使用这12个支持语言的任何一种,如果服务逻辑要求大量使用异步算法,则可以用Erlang语言来简化开发,或者如果这些专家倾向于Java就可以用Java语言,如果服务需要和用Ruby on Rails编写的网络应用整合在一起,就要用Ruby语言。而Thrift是通过Thrift文件来实现其灵活性的。

  一个Thrift文件涵盖了服务的数据类型和方法特征,这和SOAP、CORBA中使用的其它语言中立合同是一样的—它们分别是WSDL和IDL合同。一旦我们设计了一个Thrift合同,就可以在任何一个特定的语言生产更多的短线。

  但是,Thrift短线和其它技术不同。因为它包含了协议和socket方法(管道编码)。Thrift一直在思考这个问题,并且尤其关注服务,它一直在使用自己的协议,用户抽取和服务器抽取,更不用说依靠使用方法来定义那些可以在其支持的十二种语言之间简单映射的类型了。

  从这个意义上来说,Thrift对用户服务抽取的支持和集成产品的一些功能有重叠的地方。因为它的合同和编码的生成方法同CORBA这样的分布式技术极为相似。Thrift是一款带有自我支持服务的版本,尤其是当许多编程语言用来支持服务的不足之处时或者还有其它处理运行时间版本控制的设计方式。

  至于由谁来使用Thrift,首先是在Facebook工程学小组指导下的Apache项目,Facebook工程学小组谈及了Thrift在现实世界的实用性。Thrift成为了一个让单个小组选择编程语言的重要组成部分,这些编程语言是建立在小组和域基础之上的,并且可以依靠Thrift 在它们内部云中实现服务整合。

  所以,如果你的组织SOA措施正在考虑从众多的编程语言中选取一门语言,有必要折中地考虑一下开放源软件。Thrift值得你近距离观察,其独特的协议和文件描述格式可能和少数抱守的技术人员不太对味,但是在版本控制支持方面,它所带来的收益,即使和那些已有的集成方法和产品相比较,也足以使其在市场上成为有力的竞争者。

查看全文
 
最近出现了许多的开发概念,被称作网格计算,云计算或软件即服务,分布式计算。人们在很多不同的地方使用“云”说,但是似乎没有一个标准的“框架”云服务。
 
经过十多年的发展,SOA的实施路线已变得比以往任何时候都要清晰,SOA中间件在推动信息化建设中散发的“魔力”已愈发的耀眼,SOA的标准体系和商用产品正在日趋成熟……
 
在你给SOA定义的过程中有没有考虑过面向服务架构究竟是什么?面向服务架构是一种架构规范,其核心理念是IT资产被描述为服务并以服务的形式得以展示……
 
近几年来,SOA中间件的“魔力”越来越吸引着众多厂商的目光,其中以IBM和甲骨文为代表的国际企业动作尤其猛烈……
 
我正在写一个Java DII的客户,其内容的资料,接口库。我必须执行一个远程方法有一个参数的类型是一个用户定义的数据类型。如何建立援引的运作,并宣读结果的要求……
本技术手册旨在探讨如何为封装WS-BPEL流程逻辑所需的Web服务设计WSDL定义。因为SOA提倡用“契约优先”的方式来设计服务,所以理解由WS-BPEL引发的这种独特服务契约设计理念,是成功构建有效流程和服务的关键因素。
本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。
本专题分六部分探讨服务定向原则,主要探讨如何将服务定向原则应用于构成服务的自动化逻辑。如何越过单个服务层面,应用作为范例的服务定向并形成能够封装整个企业领域的服务层。
最新更新
专家答疑
技巧
Eric Newcomer
是否存在某些经验法则,让人们在网络互操作性和进程互操作性二者之间做出选择?换句话说,如果我遇到吞吐量问题,是不是就不该选择Web服务了?
Jason Bloomberg
评价“企业mashups”的标准是什么?尤其是在企业mashups和“主机包装”项目的关系上?我们对企业mashups的定义是:丰富网络环境下,一套建立在SOA基础之上的组合……
Rami Jaamour
你能解释一下什么是回归测试吗?怎样才能保证你的回归测试是正确的呢?回归测试旨在揭示所有由软件修改所引起的回归,在当今复杂多变的商业环境下……

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录