先来看经典的3层架构,看下图:

593px-Overview_of_a_three-tier_application_vectorVersion.svg

涉及到平台可以是:

Ruby on Rails, Java EE, ASP.NET, PHP, ColdFusion, Perl, Python

层之间的数据传输使用协议可以是:

SNMP, CORBA, Java RMI, .NET Remoting, Windows Communication Foundation, sockets, UDP, web services

我们经常说的3层架构就是N-Tier架构, 通常的N-Tier是这样的:

image

以上这个只是逻辑图,真实环境实现是有些层在相同服务器上,有一些层被拆分在不同物理服务器上。这个取决于系统如何使用,还受限于规则环境策略。
再来看一下基于DDD的 .net平台的架构图:

DDD-NET-Architecture-Diagram


看以下稍微复杂一点儿架构:

image

 

复杂应用与逻辑层示例图:

image

上面的图中提及负载均衡,应用服务器,Web服务器,文件服务器,工作流服务,邮件服务器。有一点儿工作经验的人不能理解。
在这儿不再详述。

其它提示Tips:

架构设计要达到如下的目标:
 
·可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。
·安全性(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。
·可扩展性(SCAlable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。
·可定制化(CuSTomizable)。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。
·可扩展性(Extensible)。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。
·可维护性(MAIntainable)。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费。
·客户体验(Customer Experience)。软件系统必须易于使用。
·市场时机(Time to Market)。软件用户要面临同业竞争,软件提供商也要面临同业竞争。以最快的速度争夺市场先机非常重要。

软件架构是对软件系统运行时元素的抽象,软件系统可能有很多层抽象,或由多重业务流程所组成,每层抽象或每个业务流程都有自己的软件架构。
软件架构是平衡的艺术。

 

今天先这儿,希望对您有帮助。


来资料收集与整合,希望对您软件开发与企业信息化有帮助。 其它您可能感兴趣的文章:
N-Tier Entity Framework开源项目介绍
IT基础架构规划方案一(网络系统规划)
IT基础架构规划方案二(计算机系统与机房规划规划) 
IT基础架构规划方案三(IT基础软件和系统规划)
企业应用之性能实时度量系统演变
云计算参考架构几例
智能移动导游解决方案简介
人力资源管理系统的演化

如有想了解更多软件研发 , 系统 IT集成 , 企业信息化 等资讯,请关注我的微信订阅号:

MegadotnetMicroMsg_thumb1_thumb1_thu[1]


作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog

posted on 2015-08-15 10:58  PetterLiu  阅读(6299)  评论(0编辑  收藏  举报