ARC302-曹嚴(yán)明-組合型智能客戶端應(yīng)用.ppt_第1頁
ARC302-曹嚴(yán)明-組合型智能客戶端應(yīng)用.ppt_第2頁
ARC302-曹嚴(yán)明-組合型智能客戶端應(yīng)用.ppt_第3頁
ARC302-曹嚴(yán)明-組合型智能客戶端應(yīng)用.ppt_第4頁
ARC302-曹嚴(yán)明-組合型智能客戶端應(yīng)用.ppt_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、組合型智能客戶端應(yīng)用With Composite Application Block,曹嚴(yán)明 .NET架構(gòu)顧問微軟(中國),日程,組合型應(yīng)用的應(yīng)用場景 Composite App Block 體系架構(gòu)概述 Composite App Block 主要概念 Demo,JPMC 網(wǎng)上銀行,集成 投資信息,集成 分析工具,集成 新聞及提醒,集成 股票數(shù)據(jù),Citibank 信息發(fā)布門戶,Thomson 金融數(shù)據(jù)門戶,Dell 客服集成桌面,Commonwealth Bank of Australia 柜員系統(tǒng),Commonwealth Bank of Australia 柜員系統(tǒng),Client ti

2、er,Commonwealth 柜員系統(tǒng)體系結(jié)構(gòu),Data storage,Private Services,SmartPart,Active Directory,Local Cache,Agent,Security,Instrumentation,Oracle,Configuration,Authn,Orchestration,Private service n,Private service,Authz,Config,Legacy systems,Mainframe n,WS Proxy,IFW Service n,SOFA,Service Helpers,Data Integration

3、,SOFA,Mainframe,IFW Service,Data centre,Branch site,Smart Client,Smart Card,Local AD,SOFA Farm,HIS Farm,AD Farm,BizTalk Farm,Mainframe,Other Application Servers, Oracle,Every Service authorized against AD,Commonwealth 柜員系統(tǒng)部署方案,日程,組合型應(yīng)用的應(yīng)用場景 Composite App Block 體系架構(gòu)概述 Composite App Block 主要概念 Demo,Bi

4、lling,Inventory,CRM,Smart Client Module,組合型解決方案,將不同的功能模塊組合成解決方案 運(yùn)行環(huán)境提供基礎(chǔ)服務(wù) 降低開發(fā)成本 靈活方便,什么是組合型智能客戶端應(yīng)用?,Smart Client Module,Smart Client Module,Composite UI App Block 的來由,UIP1 PAG,UIP2 PAG,CAB PAG,CCF,Thomson,Dell,CAB,微軟其他部門,客戶解決方案,PAG,Other field frameworks,Composite UI Application Block創(chuàng)建企業(yè)級智能客戶端,對系

5、統(tǒng)設(shè)計(jì)團(tuán)隊(duì)的價(jià)值:質(zhì)量與一致性 提供一個(gè)針對企業(yè)級智能客戶端應(yīng)用的公共開發(fā)體系結(jié)構(gòu) 提供一個(gè)一致的和可預(yù)測的方法來開發(fā)、包裝、發(fā)布基礎(chǔ)組件,以便強(qiáng)制企業(yè)應(yīng)用的體系結(jié)構(gòu)標(biāo)準(zhǔn) 對開發(fā)團(tuán)隊(duì)的價(jià)值:生產(chǎn)力 提供一個(gè)開發(fā)環(huán)境能很好的隱藏復(fù)雜度和提高生產(chǎn)力 通過高度抽象和關(guān)注點(diǎn)的分離,開發(fā)人員能夠關(guān)注于業(yè)務(wù)邏輯 提高基礎(chǔ)框架代碼的復(fù)用 商務(wù)目標(biāo): 提高最終用戶的生產(chǎn)力和業(yè)務(wù)工作的敏捷性 公司可以以更敏捷的方式推出新的和升級的功能 界面使最終用戶更快的、更準(zhǔn)確的完成工作任務(wù),避免通過 Alt-Tab, Copy-Paste 的方式作應(yīng)用間的數(shù)據(jù)交換 一致的界面降低了培訓(xùn)費(fèi)用,主要困難,將完全不同的組件組合成

6、一個(gè)完整的應(yīng)用 將Shell部分與應(yīng)用邏輯部分分離開來 可擴(kuò)展性使您能使用自己的設(shè)計(jì)模式和開發(fā)方法,Shell,Composite App Block 概述,Module,UI Element Mgr,View,UI Element Mgr,View,Element,Element,Work Item Shared State Shared Events,CAB 體系結(jié)構(gòu),Shell,Host,User Interface Elements,SmartPart Managers ,日程,組合型應(yīng)用的應(yīng)用場景 Composite App Block 體系架構(gòu)概述 Composite App Bl

7、ock 主要概念 Demo,Shell,UI Elements: 你可以改變的 shell 中的共享元素 菜單條,狀態(tài)條,splash screens, etc Workspaces: 能夠顯示和隱藏控件的對象 Tabbed, Zoned / “Portal”, MDI, Windows, Decked Commands: 可以映射到多個(gè)界面元素的“行動” 比如 “顯示客戶明細(xì)” 命令有工具條項(xiàng)和菜單項(xiàng) UI Elements,Shell 開發(fā)人員,創(chuàng)建 Shell 應(yīng)用程序 添加 UI Element Managers 注冊 Workspaces,Part 開發(fā)人員,創(chuàng)建控件 (SmartP

8、arts) 定義 Commands 映射 UI Elements 到 Commands 顯示 Controls 在 Workspaces 里,Workspaces,Workspaces 可以一致的顯示多個(gè)控件 Shell 開發(fā)人員創(chuàng)建定制的 workspaces 以提供: 控件周圍相似的框架和修飾 共享的布局和定位 眩目的切換 Activation UIs (tabs, Alt-Tab keystrokes, etc) 提供: Tabbed Workspace Windows Workspace Decked Workspace SmartPart 開發(fā)人員可以創(chuàng)建獨(dú)立于 Workspace

9、的 Parts,Tabbed Workspace,A Smart Part,Your Work Item,Windows Workspace,Splat Workspace,aWorkspace.Show(mySmartPart);,View A,Work Item State,WorkItems,WorkItem 代表一個(gè)用例 包含在 Workspace 之中 服務(wù) Service Agents 并加載狀態(tài)(同步或異步) 創(chuàng)建其他組件 (比如 Views)。CAB 創(chuàng)建 Controllers。 組件共享 WorkItem State 并可以通過它控制用例的生命周期,Your Work It

10、em,Run (IWorkspace ws),Service Agent,Service Agent,Controller A,Event Broker Publisher-Subscriber,Publishers,Subscribers,1,*,.NET Event with Attribute,.NET method with attribute,EventSubscription(“topic:/Customer/Changed”, ThreadOption.Background) Public void CustomerChanged(object sender, CustArgs

11、args) /go call some web services or something long-running ,EventPublication(“topic:/Customer/Changed”) event EventHandler CustomerIdChanged; /fire like a normal .NET event CustomerIdChanged(this, new CustArgs() );,EventSubscription(“topic:/Customer/Changed”) Public void CustomerChanged(object sende

12、r, CustArgs args) MessageBox.Show(args.CustomerId,“new customer!”); ,Publishers 和 Subscribers 對以下達(dá)成一致: 主題 (由 URI 決定) 消息 (如果需要一個(gè)特定的 EventArgs) 范疇 (全局事件還是局部事件),Subscribers 被調(diào)用時(shí)有對該線程的控制 Background (For long-running work) UI Thread (to update UI controls on appropriate thread) Publisher (on same thread

13、as publisher),A Work Item,共享 WorkItem State,弱類型的 (use as a dictionary) 或是強(qiáng)類型的 (wrap an item with get/set) 取決于您希望的耦合度要多少 調(diào)用 State: 動態(tài)編程訪問,或者通過 IoC attributes,public void SomeMethod() Customer currentCust = (Customer)Context.State”Customer”; ,public class ControllerX : Component ( private Customer cus

14、t; State(“Customer”) public Customer set cust = value; ),View X,Controller X,Work Item State,狀態(tài)保持 (State Persistence),提供一個(gè)簡單的服務(wù)的方式來存儲和加載 WorkItem state 本質(zhì)上是對 WorkItem(是一個(gè)application controller)使用了 memento 模式,采用一個(gè) State 對象,并提供一個(gè) service,這個(gè) service 作為這個(gè) State 對象的repository。 提供的實(shí)現(xiàn)包括: SQL Isolated File File Optional DPAPI 加密,public interface IStatePersistenceService void Save(State state); State Load(Guid id); void Remove(Guid

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論