??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品伦理久久久久久,亚洲欧洲免费视频,www国产亚洲精品久久网站http://www.aygfsteel.com/shoppingbill/zh-cnThu, 19 Jun 2025 03:18:09 GMTThu, 19 Jun 2025 03:18:09 GMT60ActionScript External APIhttp://www.aygfsteel.com/shoppingbill/archive/2010/11/24/338968.htmlshoppingbillshoppingbillWed, 24 Nov 2010 10:47:00 GMThttp://www.aygfsteel.com/shoppingbill/archive/2010/11/24/338968.htmlhttp://www.aygfsteel.com/shoppingbill/comments/338968.htmlhttp://www.aygfsteel.com/shoppingbill/archive/2010/11/24/338968.html#Feedback0http://www.aygfsteel.com/shoppingbill/comments/commentRss/338968.htmlhttp://www.aygfsteel.com/shoppingbill/services/trackbacks/338968.html
Js 如下Q?br />
1<script language="javaScript">
2    function printBookInfo(title,price){
3       alert("Book Title:"+title+ " is price at:"+price;
4    }

5
6
7</script>

As如下Q?br />
 1if(ExternalInterface.available){
 2   var title:String = "Actionscript";
 3   var price:uint = 300;
 4   var result:String = ExternalInterface.call("printBookInfo",title,price);
 5   Alert.show(result);
 6
 7}
else{
 8
 9    Alert.show("External interface is not vaailable")
10}



2,JavaScript 调用 ActionScript

ActionScript中注册调用方?br />
ExternalInterface.addCallback("myFunction",sayHello);


private sayHello(name:String):String
{

  
return "Helloo from AS,"+name;
}


JS:

 

function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft"!= -1{
   
return window[movieName]
}
else{
   
return document[movieName]
}

}


 

function callExternal() {
thisMovie(
"swfId").showAlert()
}


 

<script type="text/javascript">
     
var f4=new SWFObject('test.swf', "swfId""400""300""8""#000",true);
     
//new SWFObject(swf, id, width, height, version, background-color [, quality, xiRedirectUrl, redirectUrl, detectKey]);
     f4.addParam('allowScriptAccess','sameDomain');
     f4.addParam('wmode','transparent');
     f4.skipDetect
="false";
     f4.addParam('bgcolor','#c5d1f0');
     f4.write(
"flvPlayerDivId");
    
</script> 




















 



shoppingbill 2010-11-24 18:47 发表评论
]]>
REST WebService与SOAP WebService的比?/title><link>http://www.aygfsteel.com/shoppingbill/archive/2010/04/27/319476.html</link><dc:creator>shoppingbill</dc:creator><author>shoppingbill</author><pubDate>Tue, 27 Apr 2010 06:11:00 GMT</pubDate><guid>http://www.aygfsteel.com/shoppingbill/archive/2010/04/27/319476.html</guid><wfw:comment>http://www.aygfsteel.com/shoppingbill/comments/319476.html</wfw:comment><comments>http://www.aygfsteel.com/shoppingbill/archive/2010/04/27/319476.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/shoppingbill/comments/commentRss/319476.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/shoppingbill/services/trackbacks/319476.html</trackback:ping><description><![CDATA[<font size="3" face="宋体"><span>?/span>SOA<span>的基技术实现方式中</span>WebService<span>占据了很重要的地位,通常我们提到</span>WebService<span>W一x是</span>SOAP<span>消息在各U传输协议上交互。近几年</span>REST<span>的思想伴随着</span>SOA<span>逐渐被大家接受,同时各大|站不断开?/span>API<span>提供l开发者,也激起了</span>REST<span>风格</span>WebService<span>的热潮?/span> </font> <h1><span style="font-size: 15pt; line-height: 240%;"><font size="3" face="宋体">SOAP</font></span></h1> <p><font face="宋体"><font size="3">       <span>什么是</span>SOAP<span>Q我想不用多_</span>google<span>一把满眼都是。其?/span>SOAP<span>最早是针对</span>RPC<span>的一U解x案,单对象访问协议,很轻量,同时作ؓ应用协议可以Z多种传输协议来传递消息(</span>Http,SMTP<span>{)。但是随着</span>SOAP<span>作ؓ</span>WebService<span>的广泛应用,不断地增加附加的内容Q得现在开发h员觉?/span>SOAP<span>很重Q用门槛很高。在</span>SOAP<span>后箋的发展过E中Q?/span>WS-*<span>一pd协议的制定,增加?/span>SOAP<span>的成熟度Q也l?/span>SOAP<span>增加了负担?/span></font></font></p> <h1><span style="font-size: 15pt; line-height: 240%;"><font size="3" face="宋体">REST</font></span></h1> <p><font face="宋体"><font size="3">       REST<span>其实q不是什么协议也不是什么标准,而是?/span>Http<span>协议的设计初衷作了诠释,?/span>Http<span>协议被广泛利用的今天Q越来越多的是将其作Z输协议,而非原先设计者所考虑的应用协议?/span>SOAP<span>cd?/span>WebService<span>是最好的例子Q?/span>SOAP<span>消息完全是?/span>Http<span>协议作ؓ消息承蝲Q以至于对于</span>Http<span>协议中的各种参数Q例如编码,错误码等Q都|之不顾。其实,最轻量U的应用协议是</span>Http<span>协议?/span>Http<span>协议所抽象?/span>get,post,put,delete<span>好比数据库中最基本的增删改查,而互联网上的各种资源好比数据库中的记录Q可能这么比M是很好)Q对于各U资源的操作最后L能抽象成四种基本操作Q在定义了定位资源的规则以后Q对于资源的操作通过标准?/span>Http<span>协议可以实玎ͼ开发者也会受益于q种轻量U的协议?/span></font></font></p> <p><font face="宋体"><font size="3">    REST<span>的思想归结以下有如下几个关键点Q?/span></font></font></p> <p style="text-indent: 21pt;"><font face="宋体"><font size="3">1<span>Q面向资源的接口设计</span></font></font></p> <p style="text-indent: 21pt;"><font face="宋体"><font size="3"><span>所有的接口设计都是针对资源来设计的Q也很cM于我们的面向对象和面向过E的设计区别Q只不过现在网l上的操作实体都作ؓ资源来看待,同时</span>URI<span>的设计也是体C对于资源的定位设计。后面会提到有一些网站的</span>API<span>设计说是</span>REST<span>设计Q其实是</span>RPC-REST<span>的؜合体Qƈ非是</span>REST<span>的思想?/span></font></font></p> <p><font size="3" face="宋体">       2<span>Q抽象操作ؓ基础?/span>CRUD</font></p> <p><font size="3" face="宋体">       <span>q点很简单,</span>Http<span>中的</span>get,put,post,delete<span>分别对应?/span>read,update,create,delete<span>四种操作Q如果仅仅是作ؓ对于资源的操作,抽象成ؓq四U已l够了Q但是对于现在的一些复杂的业务服务接口设计Q可能这L抽象未必能够满。其实这也在后面的几个网站的</span>API<span>设计中暴露了q样的问题,如果要完全按?/span>REST<span>的思想来设计,那么适用的环境将会有限制Q而非放之四v皆准的?/span>      </font></p> <p><font face="宋体"><font size="3">       3<span>Q?/span>Http<span>是应用协议而非传输协议</span></font></font></p> <p><font face="宋体"><font size="3">       <span>q点在后面各大网站的</span>API<span>分析中有很明昄体现Q其实有些网站已l走C</span>SOAP<span>的老\上,说是</span>REST<span>的理念设计,其实是作了一套私有的</span>SOAP<span>协议Q因此称之ؓ</span>REST<span>风格的自定义</span>SOAP<span>协议?/span></font></font></p> <p style="text-indent: 21.75pt;"><font face="宋体"><font size="3">4<span>Q无状态,自包?/span></font></font></p> <p style="text-indent: 21.75pt;"><font face="宋体"><font size="3"><span>q点其实不仅仅是对于</span>REST<span>来说的,作ؓ接口设计都需要能够做到这点,也是作ؓ可扩展和高效性的最基本的保证,q是?/span>SOAP<span>?/span>WebService<span>也是一栗?/span></font></font></p> <h1><span style="font-size: 15pt; line-height: 240%;"><font size="3" face="宋体">REST vs SOAP</font></span></h1> <h2><span style="font-size: 14pt; line-height: 173%;"><font size="3" face="宋体">成熟度:</font></span></h2> <p style="text-indent: 21pt;"><font face="宋体"><font size="3">SOAP<span>虽然发展到现在已l脱M初衷Q但是对于异构环境服务发布和调用Q以及厂商的支持都已l达C较ؓ成熟的情c不同^収ͼ开发语a之间通过</span>SOAP<span>来交互的</span>web service<span>都能够较好的互通(在部分复杂和Ҏ的参数和q回对象解析上,协议没有作很l致的规定,Dq是需要作部分修正Q?/span></font></font></p> <p style="text-indent: 21pt;"><font face="宋体"><font size="3">REST<span>国外很多大网站都发布了自q开?/span>API<span>Q很多都提供?/span>SOAP<span>?/span>REST<span>两种</span>Web Service<span>Q根据调查部分网站的</span>REST<span>风格的用情况要高于</span>SOAP<span>。但是由?/span>REST<span>只是一U基?/span>Http<span>协议实现资源操作的思想Q因此各个网站的</span>REST<span>实现都自有一套,在后面会讲诉各个大网站的</span>REST API<span>的风根{也正是因ؓq种各自实现的情况,在性能和可用性上会大大高?/span>SOAP<span>发布?/span>web service<span>Q但l一通用斚wq远不及</span>SOAP<span>。由于这些大|站?/span>SP<span>往往专注于此|站?/span>API<span>开发,因此通用性要求不高?/span></font></font></p> <p style="text-indent: 21pt;"><font face="宋体"><font size="3"><span>׃没有cM?/span>SOAP<span>的权威性协议作范,</span>REST<span>实现的各U协议仅仅只能算是私有协议,当然需要遵?/span>REST<span>的思想Q但是这L节方面有太多没有U束的地斏V?/span>REST<span>日后的发展所走向规范也会直接影响到这部分的设计是否能够有很好的生命力?/span></font></font></p> <p style="text-indent: 21pt;"><font face="宋体"><font size="3"><span>ȝ来说</span>SOAP<span>在成熟度上优?/span>REST<span>?/span></font></font></p> <h2><span style="font-size: 14pt; line-height: 173%;"><font size="3" face="宋体">效率和易用性:</font></span></h2> <p><font face="宋体"><font size="3">       SOAP<span>协议对于消息体和消息头都有定义,同时消息头的可扩展性ؓ各种互联|的标准提供了扩展的基础Q?/span>WS-*<span>pd是较ؓ成功的规范。但是也׃</span>SOAP<span>׃各种需求不断扩充其本n协议的内容,D?/span>SOAP<span>处理斚w的性能有所下降。同时在易用性方面以及学习成本上也有所增加?/span></font></font></p> <p><font face="宋体"><font size="3">       REST<span>被h们的重视Q其实很大一斚w也是因ؓ光效以及简z易用的Ҏ。这U高效一斚w源于光向资源接口设计以及操作抽象简化了开发者的不良设计Q同时也最大限度的利用?/span>Http<span>最初的应用协议设计理念。同Ӟ在我看来</span>REST<span>q有一个很吸引开发者的是能够很好的融合当?/span>Web2.0<span>的很多前端技术来提高开发效率。例如很多大型网站开攄</span>REST<span>风格?/span>API<span>都会有多U返回Ş式,除了传统?/span>xml<span>作ؓ数据承蝲Q还有(</span>JSON,RSS,ATOM<span>Q等形式Q这对很多网站前端开发h员来说就能够很好?/span>mashup<span>各种资源信息?/span></font></font></p> <p><font face="宋体"><font size="3">       <span>因此在效率和易用性上来说Q?/span>REST<span>更胜一{V?/span></font></font></p> <h2><span style="font-size: 14pt; line-height: 173%;"><font size="3" face="宋体">安全性:</font></span></h2> <p><font face="宋体"><font size="3">       <span>q点其实可以攑օ到成熟度中,不过在当前的互联|应用和q_开发设计过E中Q安全已l被提到了很高的高度Q特别是作ؓ外部接口l第三方调用Q安全性可能会高过业务逻辑本n?/span></font></font></p> <p><font face="宋体"><font size="3">       SOAP<span>在安全方面是通过使用</span>XML-Security<span>?/span>XML-Signature<span>两个规范l成?/span>WS-Security<span>来实现安全控制的Q当前已l得C各个厂商的支持,</span>.net <span>Q?/span>php <span>Q?/span>java <span>都已l对其有了很好的支持Q虽然在一些细节上q是有不兼容的问题,但是互通基本上是可以的Q?/span></font></font></p> <p><font face="宋体"><font size="3">       REST<span>没有M规范对于安全斚w作说明,同时现在开?/span>REST<span>风格</span>API<span>的网站主要分成两U,一U是自定义了安全信息装在消息中Q其实这?/span>SOAP<span>没有什么区别)Q另外一U就是靠g</span>SSL<span>来保?/span>,<span>但是q只能够保证点到点的安全Q如果是需要多点传输的?/span>SSL<span>无能ؓ力了。安全这块其实也是一个很大的问题Q今q在</span>BEA<span>C上看到有演示采用</span>SAML2<span>实现的网站间</span>SSO<span>Q其实是直接采用?/span>XML-Security<span>?/span>XML-Signature<span>Q效率看h也不是很高。未?/span>REST<span>规范化和通用化过E中的安全是否也会采用这两种规范Q是未知的,但是加入的越多,</span>REST<span>失去它高效性的优势多?/span></font></font></p> <h2><span style="font-size: 14pt; line-height: 173%;"><font size="3" face="宋体">应用设计与改造:</font></span></h2> <p><font face="宋体"><font size="3">       <span>我们的系l要么就是已l有了那些需要被发布出去的服务,要么是刚刚设计好的服务Q但是开发h员的传统设计思想?/span>REST<span>的Ş式被接受q需要一Ҏ间。同时在资源型数据服务接口设计上来说按照</span>REST<span>的思想来设计相Ҏ说要Ҏ一些,而对于一些复杂的服务接口来说Q可能强要去按照</span>REST<span>的风格来设计会有些牵强。这一点其实可以看看各大网站的接口可以知道,很多|站q要传入</span>function<span>的名UC为参敎ͼq就明显已经q背?/span>REST<span>本n的设计思\?/span></font></font></p> <p><font face="宋体"><font size="3">       <span>?/span>SOAP<span>本n是面向</span>RPC<span>来设计的Q开发h员十分容易接受,所以不存在什么适应的过E?/span></font></font></p> <h2><span style="font-size: 14pt; line-height: 173%;"><font size="3" face="宋体">ȝ来说Q其实还是一个老观念,适合的才是最好的</font></span></h2> <p><font face="宋体"><font size="3">       <span>技术没有好坏,只有是不是合适,一U好的技术和思想被误用了Q那么就会得到反效果?/span>REST<span>?/span>SOAP<span>各自都有自己的优点,同时如果在一些场景下如果L?/span>REST<span>Q其实就会走?/span>SOAP<span>Q例如安全)?/span></font></font></p> <p><font face="宋体"><font size="3">       REST<span>对于资源型服务接口来说很合适,同时特别适合对于效率要求很高Q但是对于安全要求不高的场景。?/span>SOAP<span>的成熟性可以给需要提供给多开发语a的,对于安全性要求较高的接口设计带来便利。所以我觉得Ua说什么设计模式将会占据主导地位没有什么意义,关键q是看应用场景?/span></font></font></p> <p><font face="宋体"><font size="3">       <span>同时很重要一点就是不要扭曲了</span>REST<span>现在很多|站都跟风去开?/span>REST<span>风格的接口,其实都是在学其ŞQ不知其心,最后弄得不伦不c,性能上不去,安全又保证不了,徒有一个看D摸象L皮囊?/span></font></font><font size="3" face="宋体"><span>?/span>SOA<span>的基技术实现方式中</span>WebService<span>占据了很重要的地位,通常我们提到</span>WebService<span>W一x是</span>SOAP<span>消息在各U传输协议上交互。近几年</span>REST<span>的思想伴随着</span>SOA<span>逐渐被大家接受,同时各大|站不断开?/span>API<span>提供l开发者,也激起了</span>REST<span>风格</span>WebService<span>的热潮?/span> </font> </p> <h1><span style="font-size: 15pt; line-height: 240%;"><font size="3" face="宋体">SOAP</font></span></h1> <p><font face="宋体"><font size="3">       <span>什么是</span>SOAP<span>Q我想不用多_</span>google<span>一把满眼都是。其?/span>SOAP<span>最早是针对</span>RPC<span>的一U解x案,单对象访问协议,很轻量,同时作ؓ应用协议可以Z多种传输协议来传递消息(</span>Http,SMTP<span>{)。但是随着</span>SOAP<span>作ؓ</span>WebService<span>的广泛应用,不断地增加附加的内容Q得现在开发h员觉?/span>SOAP<span>很重Q用门槛很高。在</span>SOAP<span>后箋的发展过E中Q?/span>WS-*<span>一pd协议的制定,增加?/span>SOAP<span>的成熟度Q也l?/span>SOAP<span>增加了负担?/span></font></font></p> <h1><span style="font-size: 15pt; line-height: 240%;"><font size="3" face="宋体">REST</font></span></h1> <p><font face="宋体"><font size="3">       REST<span>其实q不是什么协议也不是什么标准,而是?/span>Http<span>协议的设计初衷作了诠释,?/span>Http<span>协议被广泛利用的今天Q越来越多的是将其作Z输协议,而非原先设计者所考虑的应用协议?/span>SOAP<span>cd?/span>WebService<span>是最好的例子Q?/span>SOAP<span>消息完全是?/span>Http<span>协议作ؓ消息承蝲Q以至于对于</span>Http<span>协议中的各种参数Q例如编码,错误码等Q都|之不顾。其实,最轻量U的应用协议是</span>Http<span>协议?/span>Http<span>协议所抽象?/span>get,post,put,delete<span>好比数据库中最基本的增删改查,而互联网上的各种资源好比数据库中的记录Q可能这么比M是很好)Q对于各U资源的操作最后L能抽象成四种基本操作Q在定义了定位资源的规则以后Q对于资源的操作通过标准?/span>Http<span>协议可以实玎ͼ开发者也会受益于q种轻量U的协议?/span></font></font></p> <p><font face="宋体"><font size="3">    REST<span>的思想归结以下有如下几个关键点Q?/span></font></font></p> <p style="text-indent: 21pt;"><font face="宋体"><font size="3">1<span>Q面向资源的接口设计</span></font></font></p> <p style="text-indent: 21pt;"><font face="宋体"><font size="3"><span>所有的接口设计都是针对资源来设计的Q也很cM于我们的面向对象和面向过E的设计区别Q只不过现在网l上的操作实体都作ؓ资源来看待,同时</span>URI<span>的设计也是体C对于资源的定位设计。后面会提到有一些网站的</span>API<span>设计说是</span>REST<span>设计Q其实是</span>RPC-REST<span>的؜合体Qƈ非是</span>REST<span>的思想?/span></font></font></p> <p><font size="3" face="宋体">       2<span>Q抽象操作ؓ基础?/span>CRUD</font></p> <p><font size="3" face="宋体">       <span>q点很简单,</span>Http<span>中的</span>get,put,post,delete<span>分别对应?/span>read,update,create,delete<span>四种操作Q如果仅仅是作ؓ对于资源的操作,抽象成ؓq四U已l够了Q但是对于现在的一些复杂的业务服务接口设计Q可能这L抽象未必能够满。其实这也在后面的几个网站的</span>API<span>设计中暴露了q样的问题,如果要完全按?/span>REST<span>的思想来设计,那么适用的环境将会有限制Q而非放之四v皆准的?/span>      </font></p> <p><font face="宋体"><font size="3">       3<span>Q?/span>Http<span>是应用协议而非传输协议</span></font></font></p> <p><font face="宋体"><font size="3">       <span>q点在后面各大网站的</span>API<span>分析中有很明昄体现Q其实有些网站已l走C</span>SOAP<span>的老\上,说是</span>REST<span>的理念设计,其实是作了一套私有的</span>SOAP<span>协议Q因此称之ؓ</span>REST<span>风格的自定义</span>SOAP<span>协议?/span></font></font></p> <p style="text-indent: 21.75pt;"><font face="宋体"><font size="3">4<span>Q无状态,自包?/span></font></font></p> <p style="text-indent: 21.75pt;"><font face="宋体"><font size="3"><span>q点其实不仅仅是对于</span>REST<span>来说的,作ؓ接口设计都需要能够做到这点,也是作ؓ可扩展和高效性的最基本的保证,q是?/span>SOAP<span>?/span>WebService<span>也是一栗?/span></font></font></p> <h1><span style="font-size: 15pt; line-height: 240%;"><font size="3" face="宋体">REST vs SOAP</font></span></h1> <h2><span style="font-size: 14pt; line-height: 173%;"><font size="3" face="宋体">成熟度:</font></span></h2> <p style="text-indent: 21pt;"><font face="宋体"><font size="3">SOAP<span>虽然发展到现在已l脱M初衷Q但是对于异构环境服务发布和调用Q以及厂商的支持都已l达C较ؓ成熟的情c不同^収ͼ开发语a之间通过</span>SOAP<span>来交互的</span>web service<span>都能够较好的互通(在部分复杂和Ҏ的参数和q回对象解析上,协议没有作很l致的规定,Dq是需要作部分修正Q?/span></font></font></p> <p style="text-indent: 21pt;"><font face="宋体"><font size="3">REST<span>国外很多大网站都发布了自q开?/span>API<span>Q很多都提供?/span>SOAP<span>?/span>REST<span>两种</span>Web Service<span>Q根据调查部分网站的</span>REST<span>风格的用情况要高于</span>SOAP<span>。但是由?/span>REST<span>只是一U基?/span>Http<span>协议实现资源操作的思想Q因此各个网站的</span>REST<span>实现都自有一套,在后面会讲诉各个大网站的</span>REST API<span>的风根{也正是因ؓq种各自实现的情况,在性能和可用性上会大大高?/span>SOAP<span>发布?/span>web service<span>Q但l一通用斚wq远不及</span>SOAP<span>。由于这些大|站?/span>SP<span>往往专注于此|站?/span>API<span>开发,因此通用性要求不高?/span></font></font></p> <p style="text-indent: 21pt;"><font face="宋体"><font size="3"><span>׃没有cM?/span>SOAP<span>的权威性协议作范,</span>REST<span>实现的各U协议仅仅只能算是私有协议,当然需要遵?/span>REST<span>的思想Q但是这L节方面有太多没有U束的地斏V?/span>REST<span>日后的发展所走向规范也会直接影响到这部分的设计是否能够有很好的生命力?/span></font></font></p> <p style="text-indent: 21pt;"><font face="宋体"><font size="3"><span>ȝ来说</span>SOAP<span>在成熟度上优?/span>REST<span>?/span></font></font></p> <h2><span style="font-size: 14pt; line-height: 173%;"><font size="3" face="宋体">效率和易用性:</font></span></h2> <p><font face="宋体"><font size="3">       SOAP<span>协议对于消息体和消息头都有定义,同时消息头的可扩展性ؓ各种互联|的标准提供了扩展的基础Q?/span>WS-*<span>pd是较ؓ成功的规范。但是也׃</span>SOAP<span>׃各种需求不断扩充其本n协议的内容,D?/span>SOAP<span>处理斚w的性能有所下降。同时在易用性方面以及学习成本上也有所增加?/span></font></font></p> <p><font face="宋体"><font size="3">       REST<span>被h们的重视Q其实很大一斚w也是因ؓ光效以及简z易用的Ҏ。这U高效一斚w源于光向资源接口设计以及操作抽象简化了开发者的不良设计Q同时也最大限度的利用?/span>Http<span>最初的应用协议设计理念。同Ӟ在我看来</span>REST<span>q有一个很吸引开发者的是能够很好的融合当?/span>Web2.0<span>的很多前端技术来提高开发效率。例如很多大型网站开攄</span>REST<span>风格?/span>API<span>都会有多U返回Ş式,除了传统?/span>xml<span>作ؓ数据承蝲Q还有(</span>JSON,RSS,ATOM<span>Q等形式Q这对很多网站前端开发h员来说就能够很好?/span>mashup<span>各种资源信息?/span></font></font></p> <p><font face="宋体"><font size="3">       <span>因此在效率和易用性上来说Q?/span>REST<span>更胜一{V?/span></font></font></p> <h2><span style="font-size: 14pt; line-height: 173%;"><font size="3" face="宋体">安全性:</font></span></h2> <p><font face="宋体"><font size="3">       <span>q点其实可以攑օ到成熟度中,不过在当前的互联|应用和q_开发设计过E中Q安全已l被提到了很高的高度Q特别是作ؓ外部接口l第三方调用Q安全性可能会高过业务逻辑本n?/span></font></font></p> <p><font face="宋体"><font size="3">       SOAP<span>在安全方面是通过使用</span>XML-Security<span>?/span>XML-Signature<span>两个规范l成?/span>WS-Security<span>来实现安全控制的Q当前已l得C各个厂商的支持,</span>.net <span>Q?/span>php <span>Q?/span>java <span>都已l对其有了很好的支持Q虽然在一些细节上q是有不兼容的问题,但是互通基本上是可以的Q?/span></font></font></p> <p><font face="宋体"><font size="3">       REST<span>没有M规范对于安全斚w作说明,同时现在开?/span>REST<span>风格</span>API<span>的网站主要分成两U,一U是自定义了安全信息装在消息中Q其实这?/span>SOAP<span>没有什么区别)Q另外一U就是靠g</span>SSL<span>来保?/span>,<span>但是q只能够保证点到点的安全Q如果是需要多点传输的?/span>SSL<span>无能ؓ力了。安全这块其实也是一个很大的问题Q今q在</span>BEA<span>C上看到有演示采用</span>SAML2<span>实现的网站间</span>SSO<span>Q其实是直接采用?/span>XML-Security<span>?/span>XML-Signature<span>Q效率看h也不是很高。未?/span>REST<span>规范化和通用化过E中的安全是否也会采用这两种规范Q是未知的,但是加入的越多,</span>REST<span>失去它高效性的优势多?/span></font></font></p> <h2><span style="font-size: 14pt; line-height: 173%;"><font size="3" face="宋体">应用设计与改造:</font></span></h2> <p><font face="宋体"><font size="3">       <span>我们的系l要么就是已l有了那些需要被发布出去的服务,要么是刚刚设计好的服务Q但是开发h员的传统设计思想?/span>REST<span>的Ş式被接受q需要一Ҏ间。同时在资源型数据服务接口设计上来说按照</span>REST<span>的思想来设计相Ҏ说要Ҏ一些,而对于一些复杂的服务接口来说Q可能强要去按照</span>REST<span>的风格来设计会有些牵强。这一点其实可以看看各大网站的接口可以知道,很多|站q要传入</span>function<span>的名UC为参敎ͼq就明显已经q背?/span>REST<span>本n的设计思\?/span></font></font></p> <p><font face="宋体"><font size="3">       <span>?/span>SOAP<span>本n是面向</span>RPC<span>来设计的Q开发h员十分容易接受,所以不存在什么适应的过E?/span></font></font></p> <h2><span style="font-size: 14pt; line-height: 173%;"><font size="3" face="宋体">ȝ来说Q其实还是一个老观念,适合的才是最好的</font></span></h2> <p><font face="宋体"><font size="3">       <span>技术没有好坏,只有是不是合适,一U好的技术和思想被误用了Q那么就会得到反效果?/span>REST<span>?/span>SOAP<span>各自都有自己的优点,同时如果在一些场景下如果L?/span>REST<span>Q其实就会走?/span>SOAP<span>Q例如安全)?/span></font></font></p> <p><font face="宋体"><font size="3">       REST<span>对于资源型服务接口来说很合适,同时特别适合对于效率要求很高Q但是对于安全要求不高的场景。?/span>SOAP<span>的成熟性可以给需要提供给多开发语a的,对于安全性要求较高的接口设计带来便利。所以我觉得Ua说什么设计模式将会占据主导地位没有什么意义,关键q是看应用场景?/span></font></font></p> <p><font face="宋体"><font size="3">       <span>同时很重要一点就是不要扭曲了</span>REST<span>现在很多|站都跟风去开?/span>REST<span>风格的接口,其实都是在学其ŞQ不知其心,最后弄得不伦不c,性能上不去,安全又保证不了,徒有一个看D摸象L皮囊?/span></font></font></p> <img src ="http://www.aygfsteel.com/shoppingbill/aggbug/319476.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/shoppingbill/" target="_blank">shoppingbill</a> 2010-04-27 14:11 <a href="http://www.aygfsteel.com/shoppingbill/archive/2010/04/27/319476.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2文g下蝲http://www.aygfsteel.com/shoppingbill/archive/2009/12/17/306235.htmlshoppingbillshoppingbillWed, 16 Dec 2009 16:01:00 GMThttp://www.aygfsteel.com/shoppingbill/archive/2009/12/17/306235.htmlhttp://www.aygfsteel.com/shoppingbill/comments/306235.htmlhttp://www.aygfsteel.com/shoppingbill/archive/2009/12/17/306235.html#Feedback0http://www.aygfsteel.com/shoppingbill/comments/commentRss/306235.htmlhttp://www.aygfsteel.com/shoppingbill/services/trackbacks/306235.html/**
 * 
 
*/

package com.download;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

/**
 * 
@author billzhang
 *
 
*/

public class DownloadFileAction extends ActionSupport {

    @Override
    
public String execute() throws Exception {
        
return "success";
    }

    
    
public InputStream getInputStream(){
        
//        return new ByteArrayInputStream("struts2文g下蝲".getBytes());
        return ServletActionContext.
                              getServletContext().getResourceAsStream(
"/upload/sw01-1.swf");
    }

    
    
public String getFileName() throws UnsupportedEncodingException
        String fileName
="试sw01-1.swf ";
        
return new String(fileName.getBytes(),"ISO8859-1");
    }

}


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd"
>
<struts>
    
<package name="struts2" extends="struts-default">
        
<action name="downloadFile" class="com.download.DownloadFileAction">
            
<result name="success" type="stream">
                
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
                
<param name="contentDisposition">attachment;filename="${fileName}"</param>
                
<param name="inputName">inputStream</param>
                
<param name="bufferSize">4096</param>
            
</result>
        
</action>
    
</package>
</struts>    
今天在公司写同样的代码就是不能用q雷下蝲。回到家再写一遍,我电脑上的迅雷就是可以的。hoho郁闷。今天搞了一天。没有结果。本人初步判断应该是公司电脑上的q雷有问题。安装的时候就有些文g复制p|。hoho。。。。无语咯?

shoppingbill 2009-12-17 00:01 发表评论
]]>
Spring IoChttp://www.aygfsteel.com/shoppingbill/archive/2009/11/09/301700.htmlshoppingbillshoppingbillMon, 09 Nov 2009 06:34:00 GMThttp://www.aygfsteel.com/shoppingbill/archive/2009/11/09/301700.htmlhttp://www.aygfsteel.com/shoppingbill/comments/301700.htmlhttp://www.aygfsteel.com/shoppingbill/archive/2009/11/09/301700.html#Feedback0http://www.aygfsteel.com/shoppingbill/comments/commentRss/301700.htmlhttp://www.aygfsteel.com/shoppingbill/services/trackbacks/301700.html阅读全文

shoppingbill 2009-11-09 14:34 发表评论
]]>
Spring IDEhttp://www.aygfsteel.com/shoppingbill/archive/2009/11/09/301680.htmlshoppingbillshoppingbillMon, 09 Nov 2009 04:37:00 GMThttp://www.aygfsteel.com/shoppingbill/archive/2009/11/09/301680.htmlhttp://www.aygfsteel.com/shoppingbill/comments/301680.htmlhttp://www.aygfsteel.com/shoppingbill/archive/2009/11/09/301680.html#Feedback0http://www.aygfsteel.com/shoppingbill/comments/commentRss/301680.htmlhttp://www.aygfsteel.com/shoppingbill/services/trackbacks/301680.html阅读全文

shoppingbill 2009-11-09 12:37 发表评论
]]>
Spring Validation Using Annotationhttp://www.aygfsteel.com/shoppingbill/archive/2009/11/06/301477.htmlshoppingbillshoppingbillFri, 06 Nov 2009 10:14:00 GMThttp://www.aygfsteel.com/shoppingbill/archive/2009/11/06/301477.htmlhttp://www.aygfsteel.com/shoppingbill/comments/301477.htmlhttp://www.aygfsteel.com/shoppingbill/archive/2009/11/06/301477.html#Feedback0http://www.aygfsteel.com/shoppingbill/comments/commentRss/301477.htmlhttp://www.aygfsteel.com/shoppingbill/services/trackbacks/301477.html阅读全文

shoppingbill 2009-11-06 18:14 发表评论
]]>
վ֩ģ壺 | | ʤ| ͼ| ̨| ʡ| | | | ͼ| | Ļ| ԭ| Զ| פ| | ư| | | ԫ| ̨| ϼ| Ĭ| ٲ| ʯ¥| | ʡ| γ| | | ƽ| ԣ| ˮ| | ¦| | | ˫| | ʻ| |