﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-JimmyJin-文章分类-分析设计</title><link>http://www.blogjava.net/JimmyJin/category/43067.html</link><description>走在架构师的大道上，学习的乐趣就在于将知识应用于具体实践中，在实战中实现知识的价值。</description><language>zh-cn</language><lastBuildDate>Thu, 24 May 2012 08:23:10 GMT</lastBuildDate><pubDate>Thu, 24 May 2012 08:23:10 GMT</pubDate><ttl>60</ttl><item><title>领域驱动设计</title><link>http://www.blogjava.net/JimmyJin/articles/305744.html</link><dc:creator>jimmy2009</dc:creator><author>jimmy2009</author><pubDate>Mon, 21 May 2012 13:12:00 GMT</pubDate><guid>http://www.blogjava.net/JimmyJin/articles/305744.html</guid><wfw:comment>http://www.blogjava.net/JimmyJin/comments/305744.html</wfw:comment><comments>http://www.blogjava.net/JimmyJin/articles/305744.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/JimmyJin/comments/commentRss/305744.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/JimmyJin/services/trackbacks/305744.html</trackback:ping><description><![CDATA[领域驱动设计（DDD），初看名子很牛屁的，其实说白了就是面对业务实体（不一定是实体对象）设计（在DDD那本书里面就介绍过，它其实就是面向model设计即DMD，而所谓领域的概念是通过model 来体现出来的）其实这个东东在其实软件工程这本书里面就有了，跟ER图不同的是，他里面所包含的关系更多，更复杂。<br />ER图主要是针对数据库设计的，而<br />比方说像服务、聚合，组合等这些个概念ER图里面就没有。<br /><br />传统的三层体系结构为：<br />展示层：（如MVC的STRUTS，JSF等）<br />业务逻辑层：（Service）<br />数据访问层：（DAO）<br /><br />DDD的四层体系结构为：<br />展示层：（如MVC的STRUTS，JSF等）<br />应用层：（很薄的一层，用来协调应用的活动。它不包含业务逻辑及业务对象的状态，但它保留应用任务的进度状态。<br />可把它理解成Facade）<br />领域层：（如Service,ENTITY，Value Object，资源库等）<br />基础设施层：（如Hibernate,Itbats，发邮件，log功能等）<br />我们可以按其业务的复杂度，系统复杂度来决定是使用三或四层体系结构<br />
<p style="text-indent: 24pt"><span lang="EN-US"><o:p><font face="宋体">&nbsp;</font></o:p></span></p>
<p style="text-indent: 24pt"><span lang="EN-US"><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype></span></p>
<p style="text-indent: 24pt"><span lang="EN-US"><font face="宋体"></font></span></p><img src ="http://www.blogjava.net/JimmyJin/aggbug/305744.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/JimmyJin/" target="_blank">jimmy2009</a> 2012-05-21 21:12 <a href="http://www.blogjava.net/JimmyJin/articles/305744.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>话说REST</title><link>http://www.blogjava.net/JimmyJin/articles/378727.html</link><dc:creator>jimmy2009</dc:creator><author>jimmy2009</author><pubDate>Mon, 21 May 2012 12:45:00 GMT</pubDate><guid>http://www.blogjava.net/JimmyJin/articles/378727.html</guid><wfw:comment>http://www.blogjava.net/JimmyJin/comments/378727.html</wfw:comment><comments>http://www.blogjava.net/JimmyJin/articles/378727.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/JimmyJin/comments/commentRss/378727.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/JimmyJin/services/trackbacks/378727.html</trackback:ping><description><![CDATA[<p><strong>表征状态转移</strong>（英文：<strong><span lang="en" xml:lang="en">Representational State Transfer</span></strong>，简称<strong>REST</strong>）是<a class="new" title="Roy Fielding" href="http://zh.wikipedia.org/w/index.php?title=Roy_Fielding&amp;action=edit&amp;redlink=1">Roy Fielding</a>博士在2000年他的博士论文中提出来的一种<a title="软件架构" href="http://zh.wikipedia.org/wiki/%E8%BD%AF%E4%BB%B6%E6%9E%B6%E6%9E%84">软件架构</a>风格。</p>
<p>目前在三种主流的<a title="Web服务" href="http://zh.wikipedia.org/wiki/Web%E6%9C%8D%E5%8A%A1">Web服务</a>实现方案中，因为REST模式的<a title="Web服务" href="http://zh.wikipedia.org/wiki/Web%E6%9C%8D%E5%8A%A1">Web服务</a>与复杂的<a title="SOAP" href="http://zh.wikipedia.org/wiki/SOAP">SOAP</a>和<a title="XML-RPC" href="http://zh.wikipedia.org/wiki/XML-RPC">XML-RPC</a>对比来讲明显的更加简洁，越来越多的web服务开始采用REST风格设计和实现。例如，<a title="Amazon.com" href="http://zh.wikipedia.org/wiki/Amazon.com">Amazon.com</a>提供接近REST风格的Web服务进行图书查找；<a title="雅虎" href="http://zh.wikipedia.org/wiki/%E9%9B%85%E8%99%8E">雅虎</a>提供的Web服务也是REST风格的。<br />&nbsp;三种主流的<a title="Web服务" href="http://zh.wikipedia.org/wiki/Web%E6%9C%8D%E5%8A%A1">Web服务</a>实现方案:</p>
<div v:shape="_x0000_s1026"><span style="font-family: Calibri">1,<strong>表征状态转移</strong>（英文：<strong><span lang="en" xml:lang="en">Representational State Transfer</span></strong>，简称<strong>REST</strong>）,<br />2,<strong>简单对象访问协议</strong>（<strong>SOAP</strong>，全写为<strong>Simple Object Access Protocol</strong>）是一种标准化的通讯规范，主要用于<a title="Web服务" href="http://zh.wikipedia.org/wiki/Web%E6%9C%8D%E5%8A%A1">Web服务</a>（web service）中。<br /></span><font face="Calibri">3,<strong>XML-RPC</strong>是一个<a class="mw-redirect" title="远程过程调用" href="http://zh.wikipedia.org/wiki/%E8%BF%9C%E7%A8%8B%E8%BF%87%E7%A8%8B%E8%B0%83%E7%94%A8">远程过程调用</a>（<a class="mw-redirect" title="远端程序呼叫" href="http://zh.wikipedia.org/wiki/%E9%81%A0%E7%AB%AF%E7%A8%8B%E5%BA%8F%E5%91%BC%E5%8F%AB">远端程序呼叫</a>）（<span lang="en" xml:lang="en">remote procedure call，RPC</span>)的<a title="分布式计算" href="http://zh.wikipedia.org/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E8%AE%A1%E7%AE%97">分布式计算</a><a class="mw-redirect" title="互联网协议" href="http://zh.wikipedia.org/wiki/%E4%BA%92%E8%81%AF%E7%B6%B2%E5%8D%94%E8%AD%B0">协议</a>，通过<a title="XML" href="http://zh.wikipedia.org/wiki/XML">XML</a>将调用函数封装，并使用<a title="超文本传输协议" href="http://zh.wikipedia.org/wiki/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE">HTTP</a>协议作为传送机制 </div>
<p v:shape="_x0000_s1026">。后来在新的功能不断被引入下，这个标准慢慢演变成为今日的<a title="SOAP" href="http://zh.wikipedia.org/wiki/SOAP">SOAP</a>协定。<br />何为REST，<br />REST 从资源的角度来观察整个网络，认为分布在网络各处的资源由<a class="mw-redirect" title="URI" href="http://zh.wikipedia.org/wiki/URI">URI</a>确定，而客户端的应用通过URI来获取资源的<span lang="en" xml:lang="en"><strong>Representational</strong></span>（有的翻译成<strong>表征或具象</strong>），获得这些表征致使这些应用程序转变了其状态。随着不断获取资源的表征，客户端应用不断地在转变着其状态，所谓表征状态转移（Representational State Transfer）。&nbsp;<br /></p>
<p style="text-align: left; line-height: 150%; margin: 3.75pt 0cm; mso-pagination: widow-orphan" class="MsoNormal" align="left"><strong><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"></span></strong>
<p v:shape="_x0000_s1026"></p>
<ul></font></ul>
<p>&nbsp;</p>
<p style="text-align: left; margin: 3.75pt 0cm; mso-pagination: widow-orphan" class="MsoNormal" align="left"><strong><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"><font face="Calibri">REST是设计风格而<strong>不是</strong>标准。</font><br /><br />REST</span></strong><strong><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">原则</span></strong><strong><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US">(The REST architectural style constrains)</span></strong><strong><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">：</span></strong><strong><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"><o:p></o:p></span></strong></p>
<p style="text-align: left; margin: 3.75pt 0cm; mso-pagination: widow-orphan" class="MsoNormal" align="left"><strong><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang="EN-US"><o:p></o:p></span></strong></p>
<p style="text-align: left; text-indent: -21pt; margin: 3.75pt 0cm 3.75pt 21pt; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt" class="MsoNormal" align="left"><span style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: Wingdings" lang="EN-US"><span style="mso-list: Ignore">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">统一接口（</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">unifrom interface</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">）</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></p>
<p style="text-align: left; text-indent: -21pt; margin: 3.75pt 0cm 3.75pt 21pt; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt" class="MsoNormal" align="left"><span style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: Wingdings" lang="EN-US"><span style="mso-list: Ignore">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">所有的事物都是资源且通过</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">URI</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">来使用资源</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></p>
<p style="text-align: left; margin: 3.75pt 0cm; mso-pagination: widow-orphan" class="MsoNormal" align="left"><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">(data and functionality are considered resources,and these resources are accessed using URIs,typically links on the web)<o:p></o:p></span></p>
<p style="text-align: left; text-indent: -21pt; margin: 3.75pt 0cm 3.75pt 21pt; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt" class="MsoNormal" align="left"><span style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: Wingdings" lang="EN-US"><span style="mso-list: Ignore">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">客户端和服务器结构</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></p>
<p style="text-align: left; text-indent: -21pt; margin: 3.75pt 0cm 3.75pt 21pt; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt" class="MsoNormal" align="left"><span style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: Wingdings" lang="EN-US"><span style="mso-list: Ignore">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">使用无状态的通信协议如</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">HTTP<o:p></o:p></span></p>
<p style="text-align: left; margin: 3.75pt 0cm; mso-pagination: widow-orphan" class="MsoNormal" align="left"><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">(constrains an architecture to a client-server architecture ,and is designed to use a stateless communication protocol ,typically HTTP)<o:p></o:p></span></p>
<p style="text-align: left; text-indent: -21pt; margin: 0cm 0cm 0pt 21pt; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt" class="MsoNormal" align="left"><span style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: Wingdings" lang="EN-US"><span style="mso-list: Ignore">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">对资源的操作包括获取、创建、修改和删除资源，这些操作正好对应</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">HTTP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">协议提供的</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">GET</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">、</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">POST</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">、</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">PUT</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">和</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">DELETE</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">方法。</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></p>
<p style="text-align: left; text-indent: -21pt; margin: 3.75pt 0cm 3.75pt 21pt; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt" class="MsoNormal" align="left"><span style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: Wingdings" lang="EN-US"><span style="mso-list: Ignore">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">资源的多重表现形式，可以是</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">XML</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">或者</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">HTML</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">当然也可以是任何其他的格式。</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><br /></span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">通过操作资源的表现形式来操作资源。</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></p>
<p style="text-align: left; text-indent: -21pt; margin: 3.75pt 0cm 3.75pt 21pt; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt" class="MsoNormal" align="left"><span style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: Wingdings" lang="EN-US"><span style="mso-list: Ignore">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">能够利用</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">Cache</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">机制增进性能</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></p>
<p style="text-align: left; text-indent: -21pt; margin: 3.75pt 0cm 3.75pt 21pt; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt" class="MsoNormal" align="left"><span style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: Wingdings" lang="EN-US"><span style="mso-list: Ignore">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">层次化的系统</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></p>
<p style="text-align: left; text-indent: -21pt; margin: 3.75pt 0cm 3.75pt 21pt; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt" class="MsoNormal" align="left"><span style="font-family: Wingdings; mso-bidi-font-family: Wingdings; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt; mso-fareast-font-family: Wingdings" lang="EN-US"><span style="mso-list: Ignore">&#216;<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">随需代码</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"> - Javascript </span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">（可选）</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></p>
<p style="text-align: left; line-height: 150%; margin: 3.75pt 0cm; mso-pagination: widow-orphan" class="MsoNormal" align="left"><span id="RESTful_Web_.E6.9C.8D.E5.8A.A1" class="mw-headline">RESTful Web 服务</span> <br />符合以上<strong>REST<span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">原则</span></strong>的Web 服务就是一个RESTful Web 服务（也称为 RESTful <a class="new" title="Web API" href="http://zh.wikipedia.org/w/index.php?title=Web_API&amp;action=edit&amp;redlink=1">Web API</a>）<br />&nbsp;<br />RESTful Web 服务（也称为 RESTful <a class="new" title="Web API" href="http://zh.wikipedia.org/w/index.php?title=Web_API&amp;action=edit&amp;redlink=1">Web API</a>）是一个使用HTTP并遵循REST原则的Web服务。它从以下三个方面资源进行定义：</p>
<ul><li>URI，比如：<code>http://example.com/resources/</code>。</li><li>Web服务接受与返回的<a title="互联网媒体类型" href="http://zh.wikipedia.org/wiki/%E4%BA%92%E8%81%94%E7%BD%91%E5%AA%92%E4%BD%93%E7%B1%BB%E5%9E%8B">互联网媒体类型</a>，比如：<a title="JSON" href="http://zh.wikipedia.org/wiki/JSON">JSON</a>，<a title="XML" href="http://zh.wikipedia.org/wiki/XML">XML</a> ，<a title="YAML" href="http://zh.wikipedia.org/wiki/YAML">YAML</a> 等。</li><li>Web服务在该资源上所支持的一系列<a title="超文本传输协议" href="http://zh.wikipedia.org/wiki/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE#.E8.AF.B7.E6.B1.82.E6.96.B9.E6.B3.95">请求方法</a>（比如：POST，GET，PUT或DELETE）。</li></ul>
<p>构建 RESTful 应用程序的最困难的部分在于确定要公开哪些资源。解决了这个问题之后，再使用开源 Restlet 框架构建 RESTful Web 服务就是小菜一碟了。</p>
<p>该表列出了在实现RESTful Web 服务时HTTP请求方法的典型用途。<br />
<table class="wikitable" border="1">
<caption>HTTP 请求方法在RESTful Web 服务中的典型应用<sup id="cite_ref-0" class="reference"><a href="http://zh.wikipedia.org/wiki/REST#cite_note-0"><font size="2">[1]</font></a></sup></caption>
<tbody>
<tr>
<th>资源</th>
<th>GET</th>
<th>PUT</th>
<th>POST</th>
<th>DELETE</th></tr>
<tr>
<th>一组资源的URI，比如<code>http://example.com/resources/</code></th>
<td><strong>列出</strong> URI，以及该资源组中每个资源的详细信息（后者可选）。</td>
<td>使用给定的一组资源<strong>替换</strong>当前整组资源。</td>
<td>在本组资源中<strong>创建/追加</strong>一个新的资源。 该操作往往返回新资源的URL。</td>
<td><strong>删除</strong> 整组资源。</td></tr>
<tr>
<th>单个资源的URI，比如<code>http://example.com/resources/142</code></th>
<td><strong>获取</strong> 指定的资源的详细信息，格式可以自选一个合适的网络媒体类型（比如：XML、JSON等）</td>
<td><strong>替换/创建</strong> 指定的资源。并将其追加到相应的资源组中。</td>
<td>把指定的资源当做一个资源组，并在其下<strong>创建/追加</strong>一个新的元素，使其隶属于当前资源。</td>
<td><strong>删除</strong> 指定的元素。</td></tr></tbody></table></p>
<p>PUT 和 DELETE 方法是<a title="超文本传输协议" href="http://zh.wikipedia.org/wiki/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE#.E5.B9.82.E7.AD.89.E6.96.B9.E6.B3.95">幂等方法</a>。GET方法是<a title="超文本传输协议" href="http://zh.wikipedia.org/wiki/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE#.E5.AE.89.E5.85.A8.E6.96.B9.E6.B3.95">安全方法</a> （不会对服务器端有修改，因此也是幂等的）。</p>
<p>不像基于<a title="SOAP" href="http://zh.wikipedia.org/wiki/SOAP">SOAP</a>的Web服务，RESTful Web服务并没有的&#8220;正式&#8221;标准<sup id="cite_ref-1" class="reference"><a href="http://zh.wikipedia.org/wiki/REST#cite_note-1"><font size="2">[2]</font></a></sup>。 这是因为REST是一种架构，而SOAP只是一个协议。虽然REST不是一个标准，但在实现RESTful Web服务时可以使用其他各种标准（比如HTTP，URL，XML，PNG等）。<br /><span style="font-family: 宋体; letter-spacing: 0.4pt">（</span><span style="letter-spacing: 0.4pt">HTTP</span><span style="font-family: 宋体; letter-spacing: 0.4pt">协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息，则它必须重传</span><span style="letter-spacing: 0.4pt">(</span><span style="font-family: 宋体; letter-spacing: 0.4pt">传参形式</span><span style="letter-spacing: 0.4pt">)</span><span style="font-family: 宋体; letter-spacing: 0.4pt">，这样可能导致每次连接传送的数据量增大。另一方面，在服务器不需要先前信息时它的应答就较快。）</span><span style="letter-spacing: 0.4pt"></span></p>
<p>&nbsp;<span style="font-family: 宋体; font-size: 12pt">HTTP</span><strong><span style="font-family: 宋体; font-size: 12pt">不是</span></strong><span style="font-family: 宋体; font-size: 12pt">一种传输协议（transport protocol），而是一种应用协议（application protocol）。它采用TCP作为下层传输（underlying transport），但它拥有自己的语义（否则它就没什么用处了）。仅将HTTP作为传输，是不恰当的。<br /></span><span style="line-height: 150%; font-family: Verdana">URIs</span><span style="line-height: 150%; font-family: 宋体">：（</span><span style="line-height: 150%; font-family: Verdana">Uniform Resource Id entifiers<span style="line-height: 150%; font-family: 宋体">）</span></p>
<p><br /></p>
<p style="text-align: left; margin: 0cm 0cm 0pt; mso-pagination: widow-orphan" class="MsoNormal" align="left"><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">个人总结：</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></p>
<p style="text-align: left; margin: 3.75pt 0cm; mso-pagination: widow-orphan" class="MsoNormal" align="left"><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">1</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">，</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">REST</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">是</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">ROA</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">的，跟</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">SOAP WEB</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">服务架构不同。</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><br />REST</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">架构是以资源为中心的，它推崇发挥</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">HTTP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">协议至极致而不是仅将</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">HTTP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">作为传输协议来用（如像我过去的</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">WEB</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">服务架构中只用</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">HTTP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">的</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">POST</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">、</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">GET</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">方法或在</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">SOAP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">仅用了</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">HTTP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">的</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">POST</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">方法来传递数据）</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><br />REST</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">充分利用</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">HTTP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">的</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">GET</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">、</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">POST</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">、</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">PUT</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">、</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">Delete</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">方法来实现对资源的操作，利用</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">HTTP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">的</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">Cache</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">机制来轻松实现了</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">REST</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">的缓存</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">&nbsp;<br />2</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">，</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">REST</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">用到</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">WADL</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">，</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">SOAP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">用到了</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">WSDL</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">，</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">WADL</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">是以资源为中心的，</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">WSDL</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">是以操作（接口）为中心</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><br />3</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">，资源间的互动是通过链接</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">(link)</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">来实现的</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><br />4</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">，其实</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">REST</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">并不擅长于面向事务的应用</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">,</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">擅长于在面向资源的应用。</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><br />5</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">，</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">REST</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">中的</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">WADL</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">仅支持</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">HTTP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">协议，</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">SOAP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">支持</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">HTTP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">，</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">FTP</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">，</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US">SMTP,MQ</span><span style="font-family: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-bidi-font-size: 10.5pt">等</span><span style="font-family: Verdana; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt" lang="EN-US"><o:p></o:p></span></p></span>
<p><br /></p>
<p>&nbsp;</p> <img src ="http://www.blogjava.net/JimmyJin/aggbug/378727.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/JimmyJin/" target="_blank">jimmy2009</a> 2012-05-21 20:45 <a href="http://www.blogjava.net/JimmyJin/articles/378727.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>