版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、组合型智能客户端应用With Composite Application Block,曹严明 .NET架构顾问微软(中国),日程,组合型应用的应用场景 Composite App Block 体系架构概述 Composite App Block 主要概念 Demo,JPMC 网上银行,集成 投资信息,集成 分析工具,集成 新闻及提醒,集成 股票数据,Citibank 信息发布门户,Thomson 金融数据门户,Dell 客服集成桌面,Commonwealth Bank of Australia 柜员系统,Commonwealth Bank of Australia 柜员系统,Client ti
2、er,Commonwealth 柜员系统体系结构,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 柜员系统部署方案,日程,组合型应用的应用场景 Composite App Block 体系架构概述 Composite App Block 主要概念 Demo,Bi
4、lling,Inventory,CRM,Smart Client Module,组合型解决方案,将不同的功能模块组合成解决方案 运行环境提供基础服务 降低开发成本 灵活方便,什么是组合型智能客户端应用?,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创建企业级智能客户端,对系
5、统设计团队的价值:质量与一致性 提供一个针对企业级智能客户端应用的公共开发体系结构 提供一个一致的和可预测的方法来开发、包装、发布基础组件,以便强制企业应用的体系结构标准 对开发团队的价值:生产力 提供一个开发环境能很好的隐藏复杂度和提高生产力 通过高度抽象和关注点的分离,开发人员能够关注于业务逻辑 提高基础框架代码的复用 商务目标: 提高最终用户的生产力和业务工作的敏捷性 公司可以以更敏捷的方式推出新的和升级的功能 界面使最终用户更快的、更准确的完成工作任务,避免通过 Alt-Tab, Copy-Paste 的方式作应用间的数据交换 一致的界面降低了培训费用,主要困难,将完全不同的组件组合成
6、一个完整的应用 将Shell部分与应用逻辑部分分离开来 可扩展性使您能使用自己的设计模式和开发方法,Shell,Composite App Block 概述,Module,UI Element Mgr,View,UI Element Mgr,View,Element,Element,Work Item Shared State Shared Events,CAB 体系结构,Shell,Host,User Interface Elements,SmartPart Managers ,日程,组合型应用的应用场景 Composite App Block 体系架构概述 Composite App Bl
7、ock 主要概念 Demo,Shell,UI Elements: 你可以改变的 shell 中的共享元素 菜单条,状态条,splash screens, etc Workspaces: 能够显示和隐藏控件的对象 Tabbed, Zoned / “Portal”, MDI, Windows, Decked Commands: 可以映射到多个界面元素的“行动” 比如 “显示客户明细” 命令有工具条项和菜单项 UI Elements,Shell 开发人员,创建 Shell 应用程序 添加 UI Element Managers 注册 Workspaces,Part 开发人员,创建控件 (SmartP
8、arts) 定义 Commands 映射 UI Elements 到 Commands 显示 Controls 在 Workspaces 里,Workspaces,Workspaces 可以一致的显示多个控件 Shell 开发人员创建定制的 workspaces 以提供: 控件周围相似的框架和修饰 共享的布局和定位 眩目的切换 Activation UIs (tabs, Alt-Tab keystrokes, etc) 提供: Tabbed Workspace Windows Workspace Decked Workspace SmartPart 开发人员可以创建独立于 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 代表一个用例 包含在 Workspace 之中 服务 Service Agents 并加载状态(同步或异步) 创建其他组件 (比如 Views)。CAB 创建 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 对以下达成一致: 主题 (由 URI 决定) 消息 (如果需要一个特定的 EventArgs) 范畴 (全局事件还是局部事件),Subscribers 被调用时有对该线程的控制 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) 或是强类型的 (wrap an item with get/set) 取决于您希望的耦合度要多少 调用 State: 动态编程访问,或者通过 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,状态保持 (State Persistence),提供一个简单的服务的方式来存储和加载 WorkItem state 本质上是对 WorkItem(是一个application controller)使用了 memento 模式,采用一个 State 对象,并提供一个 service,这个 service 作为这个 State 对象的repository。 提供的实现包括: 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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购风险评估制度
- 重庆局内部采购制度
- 钢厂采购部管理制度范本
- 2025年前台沟通能力练习
- 上转换纳米粒子辅助的巯基-环氧近红外阴离子光聚合
- 云数据中心网络架构设计方案
- 2026年劳务聘请合同(1篇)
- 生产车间工作总结(汇编14篇)
- 童谣伴我成长的演讲稿11篇
- pos故障应急预案(3篇)
- 2025年书记员考试历年真题及答案
- GB/T 46561-2025能源管理体系能源管理体系审核及认证机构要求
- 活动板房临时施工方案
- 医学气管切开术讲解专题课件
- 安邦护卫集团总部及下属单位招聘笔试题库2025
- 血液透析患者的血压管理
- 2026年政治一轮复习备考策略分享
- 阳光房大玻璃施工方案
- 化工大检修项目知识培训课件
- 2024江苏护理职业学院单招数学考试黑钻押题带答案详解(达标题)
- 力扬 LY-100系列变频器使用说明书
评论
0/150
提交评论