首页 > 网吧技术 > 进阶殿堂 > 简单Service方案-REST与JSON 订阅

简单Service方案-REST与JSON

http://www.xkq.com  2009年02月25日 09:52  燕小6      网吧技术群5 68896292
网吧技术群6 106313076 网吧技术群7 106313196 网吧技术群8 106313272 更多
5258网吧主页 百台机器每月收入100+ http://lm.5258.net/

REST首先是一个词,然后代表了一种服务提供模式……

1.REST

N年前,一说到跨平台的服务方案,大牛们就想到"Socket Server",小兵们就一直退,退到会议室的墙角。

几年前,一说到跨平台的服务方案,连客户都会想到"Web Service"。

现在,是个人都可以,在几分钟里,使用REST风格把一个服务的客户端和服务端写出来。

REST首先是一个词,然后代表了一种服务提供模式。嗯,圣贤说,任意服务协议,都可以拆成传输协议,服务模式,数据格式三维表达,那REST就是依赖http作为传输机制,request-reponse模式,数据是预先协商好的任意格式。

结果,任何语言的客户端,随便用一个http库访问某个URL,将请求信息写成XML或JSON或纯字符串,放在POST实体中。服务端也任意的实现一个servlet甚至jsp/asp/php,接收客户端发过来的请求,返回XML/JSON/字符串的结果就完了。

So Easy,心里是不是立刻就想到了实现的方式。Java里用Apache的HttpClient 发送一个POST请求。 

HttpClient httpClient = new HttpClient();
EntityEnclosingMethod method = new PostMethod(url);

method.setRequestBody(fooXml);
method.setRequestHeader("Content-type","application/xml; charset=utf8");
httpClient.executeMethod(method);

String body = method.getResponseBodyAsString();

另外一个XML/JSON的操作库,严重推荐codehaus的xstream,很漂亮的在xml/json和java对象间转换。比其他重型的xml binding方案便捷得多,下面是xml与java对象互转的代码。

Xstream xs = new Xstream();

String xml = xs.toXML(foo);
Foo foo = (Foo)xs.FromXML(xml);

.Net下面就更简单,http库和xml库都自带了。

一个很吸引人的地方,就是REST里,写服务不再是一个框架级的事情,不再需要配置文件和回调函数,只要懂几个API,甚至API都不要,白手DIY出服务来。

当然,简单也有简单的代价,比如缺乏了事务、可靠性、WS-Address、UDDI等机制。不过这些机制在正统的WebService世界里使用的也不多。对于那些没有使用任何附加机制的纯WebService,都可以考虑用REST编写。

Tag: XStream REST POST

12
分享收藏到: 新浪ViVi 365Key网摘 和讯网摘 Google书签 Windows Live Del.icio.us Yahoo书签 提交新发现,Dig it 添加到百度搜藏 收藏此页到纯我网 收進你的MyShare個人書籤
RSS订阅】 
现在有人对本文发表评论
评价:
表情: 
匿名发表
相关文章