qsdada1(
网学)贡献
Architecting Enterprise Application on .NET
在.NET上构架企业级应用程序 上构架企业级应用程序
Peng Huang peng.huang@acm.org
课程设计
Session 1:
软件构架的基础知识
Session 2:
.NET软件构架的基础知识 软件构架的基础知识
Session 3:
企业级应用程序的构架
Session 4:
案例学习: 案例
学习 PetShop .NET
Session 5:
Teamwork与Bug Tracking 与 概念工具与实践(可选) 概念工具与实践(可选)
Session 1 软件构架的基础知识
系统构架师 软件构架概述 构架框架
系统构架师
“理想的建筑师应该既是文学家又是数字家 理想的建筑师应该既是文学家又是数字家 他还应通晓历史,热衷于哲学研究, ,他还应通晓历史,热衷于哲学研究,精 通音乐,懂得医药知识,具有法学造诣, 通音乐,懂得
医药知识,具有
法学造诣, 深谙天文学及天文计算。 深谙天文学及天文计算。”
--Vitruvius(古罗马建筑师),约公元前 25 年 (古罗马建筑师),约公元前 ),
所以开发良好的企业应用程序的 第一步就是寻找优秀的
系统构架师
软件构架概述
构架与设计的关系: 构架与设计的关系:
构架属于设计的一方面, 构架属于设计的一方面,它集中于某些具体的特征
构架的定义: 构架的定义:
IEEE Working Group on Architecture 把其定义为“ 把其定义为“ 系统在其环境中的最高层概念” 系统在其环境中的最高层概念” David Garlan 和 Mary Shaw 认为软件构架是有关如 下问题的设计层次: 下问题的设计层次: 在计算的算法和数据结构之外, “在计算的算法和数据结构之外,设计并确定系统整 体结构成为了新的问题。 体结构成为了新的
问题。 结构问题包括总体组织结构和全局控制结构;通信、 结构问题包括总体组织结构和全局控制结构;通信、 同步和数据访问的协议;设计元素的功能分配; 同步和数据访问的协议;
设计元素的功能分配;物理 分布;设计元素的组成;定标与性能; 分布;设计元素的组成;定标与性能;备选设计的选 择。”
软件构架概述
构架重点
构架只同以下几个具体方面相关: 构架只同以下几个具体方面相关:
模型的结构,即组织模式,例如分层。 模型的结构,即组织模式,例如分层。 基本元素,即关键用例、主类、常用机制等, 基本元素,即关键用例、主类、
常用机制等,它们 与模型中的各元素相对。 与模型中的各元素相对。 几个关键场景, 几个关键场景,它们
表示了整个
系统的主要控制流 程。 可选特征、产品线状况的服务。 可选特征、产品线状况的服务。
什么是构架框架? 什么是构架框架
构架框架或构架基础设施(中间件) 构架框架或构架基础设施(中间件)
可以在其上构建某种构架的构件集。 可以在其上构建某种构架的构件集。许多主要 的构架困难应在框架或基础设施中进行解决, 的构架困难应在框架或基础设施中进行解决, 而且通常针对于特定的领域:命令和控制、 而且通常针对于特定的领域:命令和控制、 MIS、控制系统等等。 、控制系统等等。
目前比较优秀, 目前比较优秀,总拥有成本低的企业应用 构架框架
Microsoft .NET Framework
Session 2 .NET软件构架的基础知识 软件构架的基础知识
.NET Framework .NET Framework 类库 VS.NET中的企业应用程序模板 中的企业应用程序模板 演示
Duwamish 7 C#中的层次结构 中的层次结构
.NET Framework与VS.NET 与
VB C++ C# JScript … Common Language Specification Visual Studio.NET Visual Studio.NET
ASP.NET: Web Services &; Web Forms
Windows Forms
ADO.NET: Data and XML
Common Language Runtime
Operating System
VS 6与VS.NET 与
Visual Studio 6.0 ASP HTML generated using XML and XSL Small amount of VB Script Proprietary cache Cookie / session / db state COM+ components ADO disconnected recordsets SQL Server with stored proc