体系结构设计N层结构的NET应用程序.ppt

上传人:本田雅阁 文档编号:3314821 上传时间:2019-08-11 格式:PPT 页数:28 大小:547.06KB
返回 下载 相关 举报
体系结构设计N层结构的NET应用程序.ppt_第1页
第1页 / 共28页
体系结构设计N层结构的NET应用程序.ppt_第2页
第2页 / 共28页
体系结构设计N层结构的NET应用程序.ppt_第3页
第3页 / 共28页
体系结构设计N层结构的NET应用程序.ppt_第4页
第4页 / 共28页
体系结构设计N层结构的NET应用程序.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《体系结构设计N层结构的NET应用程序.ppt》由会员分享,可在线阅读,更多相关《体系结构设计N层结构的NET应用程序.ppt(28页珍藏版)》请在三一文库上搜索。

1、体系结构:设计N层结构的.NET应用程序,李轲岩 微软顾问中心资深企业顾问 ,议题,应用和服务架构与 .NET 基于组件的结构设计 N层结构讨论 安全, 通讯和操作问题,基本概念,.NET 比 Windows DNA 的范畴更广 以标准为基础,促进应用,服务及它们之间的互用性 应用和服务的实现变得简单了,服务是构造松散系统的接口,服务为外界提供业务功能的接口。 以通信方式访问 接口通信合同 GXA 是接口间的粘合剂,A,B,C,应用及服务的系统结构,.NET 应用/服务系统的设计准则 “Show us how it fits together” 设计蓝图 减小系统设计风险 适用典型业务系统结构

2、 取舍 更好的保留投资 “将来我需要从头重做吗 ?”,UI 组件,UI 控制组件,数据访问组件,业务流程,业务组件,用户和器件,数据存储,业务实体,服务和应用的层结构,UI 组件,UI 控制组件,用户和器件,表象层,用户界面 多种器件 业务层连接,UI 组件 控件,表格等. 用途: 接收和展示数据 解释用户命令 集成其它 UI View and Controller of MVC,UI 控制组件 表象层的特制组件 用途: 组织 UI 控制数据流程 管理 State 不知器件种类 隔离 UI 组件和业务层的耦合,表象层 设计提示,Web UIs 伸缩性 Farm Session 选择 ViewS

3、tate Machine Keys 安装 AppCenter, XCOPY ASPNET Account 系统资源/COM+/SQL 可直接访问数据库,Rich Client UI 安装: XCOPY, HTTP, SMS 安全 Semi-Trust 安全 Windows Identity w Custom Principal 脱线和无线 Local cache & Queue Office XP: 文件,要分开 UI 和业务逻辑 显示, 输入, 确证 大型系统才需 UI 控制组件,UI 组件,UI 控制组件,用户和器件,业务层 业务逻辑,业务流程和业务活动,业务活动 特制的 Serviced

4、 stateless 组件 用途: 实现简短业务活动 启动 atomic transactions 运行 pipeline 或 event sequences 从数据源和外界服务索取并汇总数据,业务流程 Biztalk orchestration or other workflow engines 用途: 整合由信息交换和业务活动所组成的业务流程 管理信息通讯 State 管理,业务流程(Workflow),业务组件(Component),业务实体(Entity),业务层 设计提示,事先决定是否使用 Enterprise Services GACStrong name, 安装, 业务 Tran

5、saction 或 ACID Transaction? 决定 2PC Transaction 的边界: A transaction should be a retry boundary Transaction 之外的数据是过时的 把业务适当分解成业务组件,业务流程(Workflow),业务组件(Component),业务实体(Entity),业务层 服务集成,服务集成,服务接口 .NET Web Services, MSMQ Listeners 用途: 通过信息接口公开业务功能,政策执行 Business Faades,服务代理 .NET Web Service proxies, 特制组件.

6、用途: 调用外界服务 封装服务调用逻辑,信息格式及调用政策等,业务流程(Workflow),业务组件(Component),业务实体(Entity),业务层 服务集成: 设计提示,服务集成,服务接口 ASP.NET Web Services 通常不是 Transaction Root 政策执行 AuthN / AuthZ 提高性能: ASP.NET Caching 身份: Service account 或身份模仿(impersonate),服务代理 .NET 组件 潜时: 在 MSMQ 储存单向请求 提高性能: 缓存结果 使用 HTTPCredentialCache 访问 Web Servi

7、ces,业务流程(Workflow),业务组件(Component),业务实体(Entity),业务层 数据表现,数据表现方式和聚合方式,Business Entities 根据速度,编程模式及维护性要求来选择 XML: 灵活性高, 但语义几无 DataSet: 功能强, databinding, validation,语义差,速度较慢 Typed DataSet: 编程模式较好, 灵活性较差,速度较慢 特制类: 编程模式好,运行速度快,但需很多编程,业务流程(Workflow),业务组件(Component),业务实体(Entity),数据表示 设计提示,数据表现方式和聚合方式,服务接口 (

8、Service Interfaces) DataSets, XML 文件, 有态组件(Stateful Components) 用途: 把数据用业务相关的模式表示 可包含行为 (data behavior) 定义如何表示复合 (aggregation) 数据,业务流程(Workflow),业务组件(Component),业务实体(Entity),数据层 数据访问,数据访问,数据访问组件 无态组件,封装数据访问和变换逻辑 用途: 封装数据访问和把数据转换成有语义的业务实体 (Business Entity) 参予 Transaction 同步式,函数式调用 使用辅助组件 (Helper Comp

9、onents),数据访问组件,数据源,数据访问 设计提示,数据访问,数据访问组件 设计成无态 (Stateless) 组件 是否用 Enterprise Services? 业务组件是否用 Enterprise Services Strong Name 选定一种样板/模型 基本的 CRUD,可调用 stored procedures 可延伸,用于特别功能 (例 翻页) 使用辅助组件 (Helper components) http:/ ADO.NET Best Practices for Distributed apps: http:/ (Authentication) 授权 (Authori

10、zation) 安全通信 审计 如何保留身份信息 Profile Management Federation, Scalability,AD,Kerberos,AD,Kerberos,Other,Certificates SSL WS-Security,表象层,业务层,数据层,操作管理,通信,安全,鉴认,安全通信,授权,审计,Profile Mgmt,操作管理,通信,表象层,业务层,数据层,安全 设计提示,Trustworthy design,鉴认, 授权和通信 提前设好信任边界 (Trust Boundary) 应用层上的授权 Implement Principal object to ch

11、eck permissions See Windows .NET AuthZ Manager 应用层上的鉴认 Implement Identity,安全,鉴认,安全通信,授权,审计,Profile Mgmt,通信,安全,表象层,业务层,数据层,操作管理,易于管理 易于维护,Exception 管理 Handling the Unexpected 监控 (Monitoring) Health, SLA and scaling instrumentation 业务监控 Operative Business Intelligence 设置管理 (Configuration Management) P

12、olicy management, distribution, and enforcement,操作管理,Exception 管理,监控,业务监控,设置管理,安全,通信,表象层,业务层,数据层,操作管理 - 设计提示,易于管理 易于维护,Exception 管理 PAG Guide: http:/ EMAB: http:/ 监控 WMI Events check if available Performance Counter http:/ Configuration: Use ConfigurationSectionHandlers to simplify custom config for

13、mat Use AD/SQL/Files as appropriate,操作管理,Exception 管理,监控,业务监控,设置管理,通信,互用性 (Interoperability),同步或异步选择 (Synchronicity) 信息通信 (Message-based communication) Non-blocking 调用 通信格式选择(Format) 基于标准 (Standards-based), 互用性 (Interoperability) 传输和协议选择 (Transport and protocol) 平台互用性 (Platform interoperability) 能力

14、(transaction flow, impersonation, etc),安全,操作管理,表象层,业务层,数据层,通信,格式,同步异步,协议,表象层,业务层,数据层,安全,操作管理,通信 设计提示,互用性 (Interoperability),选择合用的同步通信 Enterprise Services? DCOM Security and TX flow Windows.NET Web Service Or use a faade 互用性高 ? SOAP 用 ASMX 构造 faade 自行编写 SOAP 通信: WS-I Specs 可控制通信的两端 ? .NET Remoting Pe

15、rsistent queues: MSMQ Options: Plain MSMQ, Triggers, QC,通信,格式,同步异步,协议,分布式模式 分布组件时的自由度,Business Components,Data Sources,Web UI Farms,Services,Process Orchestration,Service Ifaces & Agents,Internal Services,Web-based users,Rich Clients,Should Biz Components be co-located with Web Components?,Should Bi

16、z Components / BTS be co-located with Service interfaces and agents?,Deploy BizTalk clusters separately,设计提示,用 Enterprise Templates 实施设计思想 (Enforce Policy) 注意分割 Assembly (Partitioning) Deployment Structure, Versioning, Team Development COM Interoperability & Migration 预先包裹 COM 组件 Choose horizontal tiers vs vertical slices http:/ 继续讨论,加入微软中文新闻组 http:/ 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1