.NET应用架构
Kalyan Bandarupalli著,hystar翻译
这个系列文章将帮助.NET开发人员与架构师使用最新的.NET技术设计高效的.NET应用。关于应用架构这方面虽然已有很多文章与书籍,但是对于设计人员理解应用设计的最佳的原则与实践仍然是具有挑战性的。这篇文章阐述了应用架构的基本概念与原则。
介绍
这个系列文章将帮助.NET开发人员与架构师使用最新的.NET技术设计高效的.NET应用。关于应用架构这方面虽然已有很多文章与书籍,但是对于设计人员理解应用设计的最佳的原则与实践仍然是具有挑战性的。
这篇文章阐述了应用架构的基本概念与原则。
什么是应用架构?
通过优化性能,安全及可管理性来定义一个满足技术及可选需求的解决方案。
为什么要进行架构?
软件必须构建在严密的考虑之上,没能满足关键场景或没能理解设计问题将导致一个较长的设计周期。应用需要实现以下目标:
-
最终用户怎样使用你的程序?
-
与安全,性能,并发,全球化与配置相关的质量指标。
-
什么样的架构适合你现在的这个程序及其将来部署后的情况。
架构的目标
应用架构建立了商业需求与技术需求之间的桥梁。好的架构可以解决与解决方案相关的业务风险。
-
系统的结构而不是实现的细节
-
用例场景
-
关注基础支持层
-
功能及质量需求
设计架构的途径
你必须决定你正在构建的应用的类型以及将要被用于横切技术等用途的架构风格。
-
识别应用的类型
-
应用应该怎样部署?
-
快速评审架构样式与技术
-
考虑质量特性及横切关注点
应用类型
架构与设计的关键部分是识别应用的类型。应用的类型可以是
-
被设计用于运行在客户端PC上的富客户端应用
-
富Inernet应用
-
被设计用于支持松耦合组件之间通信的SOA应用。
-
智能客户端应用
部署策略
当你设计你的应用时,你必须规划基础架构以满足应用的部署要求。你的应用必须可以适应环境中存在的任何限制。在设计过程的早期就要识别基础架构。
架构样式
架构样式是一套我们应该在组件设计以及后期的应用中使用的策略与方针。
架构样式的例子包括:
1. 客户端-服务器
2. 分层架构
3. MVC
4. SOA
横切点
这些关注点是你设计过程中非常核心的问题,它们往往不仅关系应用的某一层。当你设计你的应用时你必须考虑一下关注点。
验证:决定怎样验证用户以及怎样在多层之间传递身份信息。
授权:确保在每一个信任区域内有且恰当的授权。
缓存:识别缓存什么以及缓存在哪里来提高应用的性能及相应性。
通信:选择适当的协议来保护敏感数据在网络的传输。
异常管理:在边界捕获异常,并提示给终端用户充足的信息。
统计与记录:统计所有的业务及系统核心事件并记录详细的信息。不要记录敏感信息。
结论
这篇文章解释了应用架构的基础,在本系列下一篇中我将解释架构与设计的原则。