版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
体系结构:设计N层结构的.NET应用程序李轲岩
微软顾问中心资深企业顾问第1页,共29页。第2页,共29页。议题应用和服务架构与.NET基于组件的结构设计N层结构讨论安全,通讯和操作问题第3页,共29页。基本概念.NET比WindowsDNA的范畴更广以标准为基础,促进应用,服务及它们之间的互用性应用和服务的实现变得简单了第4页,共29页。服务是构造松散系统的接口服务为外界提供业务功能的接口。以通信方式访问接口通信合同GXA是接口间的粘合剂ABC服务、乙服务甲服务丙第5页,共29页。应用及服务的系统结构.NET应用/服务系统的设计准则“Showushowitfitstogether”设计蓝图减小系统设计风险适用典型业务系统结构取舍更好的保留投资“将来我需要从头重做吗?”第6页,共29页。UI组件操作管理安全通讯UI
控制组件数据访问组件业务流程业务组件用户和器件数据存储业务实体外在服务服务接口服务代理服务和应用的层结构业务层表象层数据层第7页,共29页。UI组件UI控制组件用户和器件表象层用户界面多种器件业务层连接UI组件控件,表格等.用途:接收和展示数据解释用户命令集成其它UIViewandControllerofMVCUI控制组件表象层的特制组件用途:组织UI控制数据流程管理State不知器件种类隔离UI组件和业务层的耦合第8页,共29页。表象层–设计提示WebUIs伸缩性FarmSession选择ViewStateMachineKeys安装AppCenter,XCOPYASPNETAccount系统资源/COM+/SQL可直接访问数据库RichClientUI安装:XCOPY,HTTP,SMS安全–Semi-Trust安全WindowsIdentitywCustomPrincipal脱线和无线Localcache&QueueOfficeXP:文件要分开UI和业务逻辑显示,输入,确证大型系统才需UI控制组件UI组件UI控制组件用户和器件第9页,共29页。业务层–业务逻辑业务流程和业务活动业务活动特制的[Serviced]stateless组件用途:实现简短业务活动启动atomictransactions运行pipeline或eventsequences从数据源和外界服务索取并汇总数据业务流程Biztalkorchestrationorotherworkflowengines用途:整合由信息交换和业务活动所组成的业务流程管理信息通讯State管理业务流程(Workflow)业务组件(Component)业务实体(Entity)外界服务服务接口服务代理第10页,共29页。业务层–设计提示事先决定是否使用EnterpriseServicesGACStrongname,安装,业务Transaction或ACIDTransaction?决定2PCTransaction的边界:AtransactionshouldbearetryboundaryTransaction之外的数据是过时的把业务适当分解成业务组件业务流程(Workflow)业务组件(Component)业务实体(Entity)外界服务服务接口服务代理第11页,共29页。业务层–服务集成服务集成服务接口.NETWebServices,MSMQListeners用途:通过信息接口公开业务功能,政策执行BusinessFaçades服务代理.NETWebServiceproxies,特制组件.用途:调用外界服务封装服务调用逻辑,信息格式及调用政策等业务流程(Workflow)业务组件(Component)业务实体(Entity)外界服务服务接口服务代理第12页,共29页。业务层–服务集成:设计提示服务集成服务接口ASP.NETWebServices通常不是TransactionRoot政策执行AuthN/AuthZ提高性能:ASP.NETCaching身份:Serviceaccount或身份模仿(impersonate)服务代理.NET组件潜时:在MSMQ储存单向请求提高性能:缓存结果使用HTTPCredentialCache访问WebServices业务流程(Workflow)业务组件(Component)业务实体(Entity)外界服务服务接口服务代理第13页,共29页。业务层–数据表现数据表现方式和聚合方式BusinessEntities根据速度,编程模式及维护性要求来选择XML:灵活性高,但语义几无DataSet:功能强,databinding,validation,语义差,速度较慢TypedDataSet:编程模式较好,灵活性较差,速度较慢特制类:编程模式好,运行速度快,但需很多编程业务流程(Workflow)业务组件(Component)业务实体(Entity)外界服务服务接口服务代理第14页,共29页。数据表示–设计提示数据表现方式和聚合方式服务接口(ServiceInterfaces)DataSets,XML文件,有态组件(StatefulComponents)用途:把数据用业务相关的模式表示可包含行为(databehavior)定义如何表示复合(aggregation)数据业务流程(Workflow)业务组件(Component)业务实体(Entity)外界服务服务接口服务代理第15页,共29页。数据层–数据访问数据访问数据访问组件无态组件,封装数据访问和变换逻辑用途:封装数据访问和把数据转换成有语义的业务实体(BusinessEntity)参予Transaction同步式,函数式调用使用辅助组件(HelperComponents)数据访问组件数据源第16页,共29页。数据访问–设计提示数据访问数据访问组件设计成无态(Stateless)组件是否用EnterpriseServices?业务组件是否用EnterpriseServicesStrongName选定一种样板/模型基本的CRUD,可调用storedprocedures可延伸,用于特别功能(例翻页)使用辅助组件(Helpercomponents)
ADO.NETBestPracticesforDistributedapps:
数据访问组件数据源第17页,共29页。安全安全可信的设计鉴认(Authentication)授权(Authorization)安全通信审计如何保留身份信息ProfileManagementFederation,ScalabilityADKerberosADKerberosOtherCertificatesSSLWS-Security表象层业务层数据层操作管理通信安全鉴认安全通信授权审计ProfileMgmt第18页,共29页。操作管理通信表象层业务层数据层安全–设计提示Trustworthydesign鉴认,授权和通信提前设好信任边界(TrustBoundary)应用层上的授权ImplementPrincipalobjecttocheckpermissionsSeeWindows.NETAuthZManager应用层上的鉴认ImplementIdentity安全鉴认安全通信授权审计ProfileMgmt第19页,共29页。通信安全表象层业务层数据层操作管理易于管理易于维护Exception管理HandlingtheUnexpected监控(Monitoring)Health,SLAandscalinginstrumentation业务监控OperativeBusinessIntelligence设置管理(ConfigurationManagement)Policymanagement,distribution,andenforcement操作管理Exception
管理监控业务监控设置管理第20页,共29页。安全通信表象层业务层数据层操作管理--设计提示易于管理易于维护Exception管理PAGGuide:EMAB:监控WMIEvents–checkifavailablePerformanceCounterConfiguration:UseConfigurationSectionHandlerstosimplifycustomconfigformatUseAD/SQL/Filesasappropriate操作管理Exception
管理监控业务监控设置管理第21页,共29页。通信互用性(Interoperability)同步或异步选择(Synchronicity)信息通信(Message-basedcommunication)Non-blocking调用通信格式选择(Format)基于标准(Standards-based),互用性(Interoperability)传输和协议选择(Transportandprotocol)平台互用性(Platforminteroperability)能力(transactionflow,impersonation,etc)安全操作管理表象层业务层数据层通信格式同步异步协议ApplicationModelInterfacesRuntimePlatform…...………………GXA…GXAasStrategy第22页,共29页。表象层业务层数据层安全操作管理通信–设计提示互用性(Interoperability)选择合用的同步通信EnterpriseServices?DCOM–SecurityandTXflowWindows.NETWebServiceOruseafaçade互用性高?SOAP–用ASMX构造façade自行编写SOAP通信:WS-ISpecs可控制通信的两端?.NETRemotingPersistentqueues:MSMQOptions:PlainMSMQ,Triggers,QC通信格式同步异步协议第23页,共29页。分布式模式
分布组件时的自由度BusinessComponentsDataSourcesWebUIFarmsServicesProcessOrchestrationServiceIfaces&AgentsInternalServicesWeb-basedusersRichClientsShouldBizComponentsbeco-locatedwithWebComponents?ShouldBizComponents/BTSbeco-locatedwithServiceinterfacesandagents?DeployBizTalkclustersseparately第24页,共29页。设计提示用EnterpriseTemplates实施设计思想(EnforcePolicy)注意分割Assembly(Partitioning)DeploymentStructure,Versioning,TeamDevelopmentCOMInteroperability&Migration预先包裹COM组件Choosehorizontaltiersvsverticalslices
第25页,共29页。如果您有任何问题,请上微软中文新闻组
继续讨论加入微软中文新闻组第26页,共29页。资源http:///architecture第27页,共29页。©2002MicrosoftCorporation.Allrightsreserved.Thispresentationisforinformationa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年九江市庐山区林业系统人员招聘笔试模拟试题及答案解析
- 2026年发酵茶行业分析报告及未来发展趋势报告
- 2026年髓核钳行业分析报告及未来发展趋势报告
- 2026年绿色植物墙行业分析报告及未来发展趋势报告
- 2026年橡胶棒行业分析报告及未来发展趋势报告
- 2026年巴彦淖尔市临河区林业系统人员招聘考试参考试题及答案解析
- 2026年广东省深圳市林业系统人员招聘考试模拟试题及答案解析
- 2026年隔声屏障行业分析报告及未来发展趋势报告
- 2026年动力电池快充技术技术路线图报告
- 2026浙江温州市中西医结合医院运动医学科招聘1人备考题库附答案详解(精练)
- 湖南出版集团招聘笔试题库2026
- 资产评估内部审核制度
- 统编版(新教材)道德与法治二年级下册第9课勤俭传家好
- 机械设计基础 第5版 课件全套 柴鹏飞 第1-12章 绪论、平面机构运动简图绘制 - 联轴器、离合器及制动器
- 液化石油气维修工安全教育培训考试题及答案
- 企业绿色回收体系制度
- 隔膜泵设备安装方案
- 仓储管理文件制度规范
- 2025年7月浙江省普通高中学业水平考试历史试卷(含答案)
- 2025年常德市武陵区中小学教师招聘笔试参考试题及答案解析
- 道路交通工程安全评估报告模板
评论
0/150
提交评论