版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
基于Silverlight的RIA架構
及百度應用楊丹資深.NET架構師微軟〔中國〕陳廣琛Web前端工程師百度議題RIA與應用平臺趨勢Silverlight應用架構界面模型邏輯分層網(wǎng)絡訪問平安機制百度Silverlight應用RIA與應用平臺趨勢純Web在Web上實現(xiàn)通過Web部署WebDesktopRIAHTMLRichnessReachDHTMLAJAXSilverlightWinFormWPFPlug-in界面更美觀像桌面應用動畫多媒體Silverlight架構純Web界面更美觀開發(fā)更高效SilverlightRuntimePresentation
CoreCoreCLRSmallBCLGarbageCollectorSecurityExceptionLoaderDebuggingXAMLMediaDRMSilverlight應用架構BrowserSilverlightSilverlightWebServerB/LB/LB/L邏輯分層平安機制網(wǎng)絡訪問界面模型界面模型如何與HTML頁面結合?三種選擇RIA與HTMLRIA與RIA單體RIA模塊粒度松散耦合本地通訊MVC/MVPRIA與RIA-本地訪問Silverlight與HTML對象:JavaScript接口Silverlight應用之間:本地消息Domain1本地消息接受者LocalMessageReceiver本地消息發(fā)送者LocalMessageSenderDomain2本地消息接受者LocalMessageReceiver本地消息發(fā)送者LocalMessageSender單體RIA-按需加載Silverlight應用應用Package(.xap)In-Package文件應用程序集(.dll)ApplicationClassApplicationClass資源文件Library程序集ApplicationClassApplicationClass資源文件ExternalPart程序集Library程序集ApplicationClassApplicationClass資源文件On-Demand程序集Library程序集ApplicationClassApplicationClass資源文件EntryPoint〔緩存〕〔延后〕界面模型-控制流轉(zhuǎn)面向頁面vs.面向GUI頁面GUISilverlight導航:相對于Application的狀態(tài)NavigationFramework:Frame,Page<HyperlinkButton
TargetName="MainContent“NavigateUri="/Views/List/Products.xaml"></HyperlinkButton>邏輯分層多層架構VS.C/S架構Silverlight應用定位邏輯寫在何處?與ASP.NETMVC的關系?簡單展現(xiàn)邏輯包含較多邏輯安全性暴露展現(xiàn)數(shù)據(jù)暴露業(yè)務邏輯和數(shù)據(jù)耦合性服務可以復用邏輯在客戶端靈活性簡單展現(xiàn)前臺靈活業(yè)務類型業(yè)務處理在后臺業(yè)務處理在前臺邏輯分層–與ASP.NETMVC結合僅傳遞用于顯示的對象以REST調(diào)用為主與ASP.NETMVC結合publicclassCategoryController:Controller
{publicActionResultProducts(intid)
{returnJson(prods);//returnView();
}ASP.NETMVC業(yè)務邏輯層SOAPREST網(wǎng)絡訪問WebService訪問方式不同資源/REST
vs.調(diào)用/RPCREST具象狀態(tài)傳輸URI資源的狀態(tài)Http標準操作Get/PostRPC簡單對象訪問協(xié)議SOAP方法調(diào)用,復雜語義Http-BasedWebServiceSOAPREST網(wǎng)絡訪問-RPC/SOAP方式效勞端處理WCF支持SOAP客戶端調(diào)用-Proxy使用VisualStudio菜單工具AddServiceReference命令行工具SLsvcutil.exeSilverlight版本的svcutil.exe基于ChannelModel開發(fā)最靈活的方式網(wǎng)絡訪問-REST方式效勞端處理WCF支持REST[OperationContract][WebGet(UriTemplate="Northwind/Order/{orderId}")]OrderInfoMsgGetOrderInfo(stringorderId);客戶端調(diào)用WebClient數(shù)據(jù)處理XML:XmlReader,LinqtoXML,XmlSerializerJSON:LinqtoJSON,DataContractJsonSerializerRSS/AtomFeeds:網(wǎng)絡訪問-REST與SOAP比較RESTSOAP互操作性更優(yōu)是伸縮性容易是復雜度簡單較復雜協(xié)議僅HTTP多種協(xié)議安全性傳輸層加密消息層加密事務不支持支持處理邏輯面向資源面向調(diào)用平安機制認證(Authentication)授權(Authorization)身份傳遞(Credential)消息加密(Encryption)平安機制–身份傳遞身份信息如何傳遞給后臺效勞?Browser-Based(自動)WindowsAuthenticationASP.NETFormAuthentication/CookiesMessage-Based(手工)URL參數(shù)消息頭包含Username/Password或TokenBrowser-BasedAuthenticationExamplewithCookies+FormsAuthBrowserE.g.:ASP.NETlogin
User:
Password:YourDomainCredentialsAuthinfo(cookie)Servicecalls+AuthinfoBrowser-BasedAuthentication LoginthroughSilverlightUser:
Password:YourDomainCallwithcredentialsto
ASP.NETAuthServiceReplycontainscookieServicecalls+AuthinfoASP.NETAuthServiceBrowserBrowser-BasedAuthenticationUsingWindowsAuthenticationWindowslogin
User:
Password:YourDomainServicecalls+CredsBrowserMyBankLogin
User:
Password:MyBankCredentialsAuthinfo(e.g.cookie)惡意請求+Authinfo惡意網(wǎng)站惡意程序Couldstealor
changedata
ifprotectionwasn’tinplace
Browser-BasedAuthentication:
Cross-DomainThreatMessage-BasedAuthenticationIdentitymanagedbySilverlight,nottheBrowserUser:
Password:YourDomainCredsareaddedbySilverlight,notbrowserNo
credsBrowser惡意網(wǎng)站Message-BasedAuthentication:選擇1:修改接口[OperationContract]publicdecimalGetActBal
(intactID,stringuser,stringpwd);選擇2:通過WCF的WS-Security在SOAP包頭中自動插入身份信息<basicHttpBinding><bindingname="myBinding"><securitymode="TransportWithMessageCredential"><messageclientCredentialType="UserName"/></security><sTransport/></binding></basicHttpBinding>平安機制–認證和授權效勞端如何認證和授權?Message-Based身份if(!OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.IsAuthenticated)thrownewSecurityException();//標準WCF方法Browser-Based身份if(!.Identity.IsAuthenticated)thrownewSecurityException();//ASP.NETMembership平安機制–消息加密傳輸層加密消息層加密點到點安全,從Brower到Server端到端安全,從App到App對整個消息加密可以對消息的局部加密支持單一傳輸協(xié)議,例如HTTP支持混合傳輸協(xié)議,例如HTTP+TCP常用實現(xiàn):HTTPS,SSL常用實現(xiàn):SOAPWS-Security完整,真實,防篡改兩種選擇:傳輸層加密,消息層加密Silverlight應用架構界面模型邏輯分層網(wǎng)絡訪問平安機制百度應用Silverlight版百度Hi界面模型選擇單體RIA源自Web版的風格Silverlight3.0暫時缺乏多窗口模型單體RIA的問題耦合度高,難以維護——來自Web版的經(jīng)驗利用MVC別離來解決Code-BehindASPX/XAML(View)CS/VB(Code-Behind)從Win/WebForms到MVC<ButtonOnClick=“…〞>…</Button>privatevoidButton_OnClick(…){…}從Win/WebForms到MVCMVCASPX(View)CS/VB(Controller)<formaction=“…〞>…</form>publicActionResultSearch(…){ViewData=…;returnView();}ViewDataSilverlightMVC實踐BindingXAML(View)CS/VB(Controller)<ButtonClick=“…〞>…</Button>privatevoidButton_Click(…){…Counter.Value++;}BindingSilverlightMVC實踐BuilderXAML(View)CS/VB(Controller)<ButtonClick=“…〞>…</Button>privatevoidButton_Click(…){Counter.Value++;builder.Update();}Builder邏輯分層統(tǒng)一調(diào)用百度IMAPI隱藏后端邏輯百度IMAPISilverlight版百度Hi網(wǎng)頁版百度Hi第三方客戶端〔方案支持〕異步模型調(diào)用單個異步函數(shù)RetrieveUserAsync(username)
.AddCallback(user
=>ProcessUser(user));多個異步函數(shù)組成工作流Async.Chain()
.Next(context=>FirstStep(context))
.Next(context=>SecondStep(context))
.Next(context=>Th
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026北京市海淀區(qū)實驗幼兒園招聘備考題庫及一套答案詳解
- 2026新疆綠翔供銷合作社聯(lián)合社有限責任公司招聘5人備考題庫及答案詳解(奪冠系列)
- 2026年淄博市教育局所屬事業(yè)單位公開招聘工作人員的備考題庫(133人)及1套參考答案詳解
- 2026河南安陽市直機關遴選公務員3人備考題庫(安陽市檢察院遴選3名)及答案詳解1套
- 2026云南保山市隆陽區(qū)林業(yè)和草原局招聘公益崗位人員2人備考題庫及答案詳解1套
- 2026年福建莆田市城廂區(qū)新任教師公開考核招聘20人備考題庫及完整答案詳解
- 2025巴彥淖爾市能源(集團)有限公司第三批招聘29人備考題庫及參考答案詳解
- 2026年成都高新中學天府一街分校面向社會公開招聘臨時聘用教師備考題庫(3人)及參考答案詳解
- 2026年陜西中醫(yī)藥大學體育健康學院招聘備考題庫參考答案詳解
- 2026年福建莆田市城廂區(qū)新任教師公開考核招聘20人備考題庫及完整答案詳解一套
- 酒店物業(yè)管理合同范本
- 醫(yī)療質(zhì)量改進中文書書寫能力提升路徑
- 血乳酸在急危重癥應用的專家共2026
- STM32G4入門與電機控制實戰(zhàn)
- 2025年中共深圳市龍華區(qū)委黨校博士后公開招聘(廣東)筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 快遞安檢協(xié)議書
- 香港專業(yè)服務助力中國內(nèi)地企業(yè)出海成功案例實錄
- 人文護理:護理與人文關懷的國際化趨勢
- 2025年國家義務教育質(zhì)量監(jiān)測小學四年級勞動教育模擬測試題及答案
- 2025年及未來5年中國瀝青混凝土行業(yè)市場供需格局及行業(yè)前景展望報告
- 防止錯漏混培訓課件
評論
0/150
提交評論