论文部分内容阅读
摘要:介绍了DOTNET的背景、构造,阐述了DOTNET的实现机制,以及用于生成分布式WEB应用程序的DOTNET框架的基本原理。比较ASP和ASP.NET的区别。最后结合具体步骤,给出了利用DOTNET平台建造具有良好伸缩性的WEB应用程序的过程。采用微软DOTNET 2.0开发环境,配合SQL2005进行设计和开发,利用互联网的优势,建立一个独立、稳定、先进、高效的教育平台。通过远程教育平台自身丰富的个性化、人性化的交互功能,使平台成为远程教育的主要手段,让学生在远程教育网络平台上进行学习变的更加简便、轻松、有趣。丰富广大群众:的文化生活,满足全民的学习需求,提高全民素质。结合具体步骤,给出了利用DOTNET平台建造具有良好伸缩性的WEB应用程序的过程。
关键词:C/S结构 DOTNET框架 XML 分布式系统
[中图分类号]G642.0 [文献标识码]C [文章编号]1009-9646(2009)01-0073-03
1 研究背景
当互连网技术特别是WEB应用技术在20世纪90年代中期成为主流时,业务计算的模型发生了巨大变化,焦点则是对传统的客户端/服务器(Client/Server)模式产生了巨大的冲击。首先,C/s结构在维护上需要极大的成本,尤其是当客户端位于不同的区域时:其次C/S模式不具有很好的可伸缩性,因为此结构能够支持的客户端数有一定的限制,当客户端用户超过一定数目的时候,C/S结构的执行效率便开始下降,这对于Internet/Intranet和电子商务等应用系统而言,这种限制是不可接受的。
Web模型是由各种信息和应用程序集合松散地连接而成,而这些信息和应用程序又驻留在各式各样的硬件平台上,这一平台设计的非常灵活,而且不局限于一个或两个层。互连网技术之所以能够取得成功,并飞速发展,其根本的原动力在于它提供给用户一个可伸缩、可扩展和高度可用的公共信息平台。
随着南京远程教育中心的成立,如何建立一个功能强大的网络学习平台,如何丰富学生学习方式,更好的方便学生、满足其学习要求。经过和远程教育中心的沟通。决定利用.net开发这样一个平台,以满足这方面的需求。通过和平台使用者的沟通,对本平台的开发目的、背景、前景、主要功能进行仔细分析。参考微软有关资料,结合实例,逐步完善平台的功能。建立了一套理论与实际紧密结合的平台设计思路和开发模式。
此课题研究领域为微软.NET技术,分布式系统,配合SQL2005数据库系统的强大支持。
开发工具主要为Microsoft VisualStudio 2005:
Dreamweaver 8.0
数据库采用:SQL Server 2005:
2 理论分析
2.1 分布式系统构架。DOTNET是一种分布式运算构架,以XML(eXten-sible Markup Language可扩展标记语言)为基础,以WEB服务为核心辅以其他各种技术实现,意在充分利用Internet上强大的计算资源和丰富的带宽资源,提高用户的工作效率。
系统的基本原理是从逻辑上分为3个基本层:表示层、逻辑层以及数据服务层。如图1
2.1.1 表示层。表示层就是客户端。它包括客户端的软件组件、应用程序、WEB浏览器等。这些不同形式的客户端能够以可视形式提供丰富、灵活的用户交互界面,用来表示信息和收据数据,并利用逻辑层提供的功能服务完成用户请求,并且还可能会执行-些简单的业务逻辑,如用户输入的数据进行简单的检查。
2.1.2 逻辑层。逻辑层是分布式应用系统的关键所在,它负责处理所有来自表示层的用户请求,当它通过数据服务层提供的接口处理完请求之后,还要把处理结果返回给表示层。它处于表示层和数据服务层的中间,通常也被称为中间层,或称为应用程序服务器。逻辑层还需要提供执行业务规则,为具体应用提供事务处理、安全控制以及为满足不同数量客户端的请求而进行性能调整等功能。
2.1.3 数据服务层。数据服务层完成数据的定义、维护、访问与更新,以及管理并响应逻辑层的数据请求。
2.1.4 分布式构架的优势。分布式多层结构层次清晰,维护和管理简单。在分布式应用系统中,属于表示层的客户端程序主要负责和用户的交互,属于逻辑层的应用服务器运行企业逻辑,属于数据服务层的数据库服务器提供数据。由于整个应用系统的执行是分成数个不同的部分并且可以执行在不同的机器之中,整个系统的延展性、可伸缩性和灵活性以及安全性均大为提升。
2.2 ASP与ASP.NET比较。ASP(Active Server Pages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VB-script、javascnpt等脚本语言嵌入到HT-ML中,便可快速完成网站的应用程序。无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写。如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。此外,它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
之后,微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
ASP与ASP.NET的区别:
2.2.1 开发语言不同。ASP仅局限于使用non-type脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。
ASP.NET允许用户选择并使用功能完善的strongly-type编程语言,也允许使用潜加巨大的.NET?Framework。
2.2.2 运行机制不同。ASP是解释运行的编程框架,所以执行效率加较低。
ASP.NET是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。
2.2.3 开发方式。ASP把界面设计和程序设计混在一起,维护和重用困难。 ASP.NET把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/ISP差不多。
那么,ASP.Net有哪些改进呢?
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为,Net Fr-maework专门推出的C(读c sharp),它可以看作是VC和Java的混合体吧。尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
DOTNET框架是一种新的计算平台,它包含了操作系统上软件开发的所有层,它提供了微软平台(或者说任何平台上)所有的组件技术、呈现技术和数据技术的最丰富的集成。
DOTNET框架旨在实现以下目标:
提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上发布,或者是在远程执行的。
提供一个将软件部署和版本控制冲突最小化的代码执行环境。
提供一个保证代码(包括由未知的或不完全受信任的第三方创建的代码)完全执行的代码执行环境。
提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于WEB的应用程序)时保持一致。
按照工业标准生成所有通信,以确保基于DOTNET框架的代码与任何其他代码集成。Microsoft.NET的理想是全球分布系统,在单个应用程序中使用XML,允许使功能跨越组织甚至世界运行在不同的计算机上。在这种设想中,从服务器到无线掌上电脑的系统,以及其间的所有事物,都将共享相同的通用平台:对于他们全部来说,DOTNET版本都是可用的,他们之中的每个都能够与其它方透明的集成。
3 实施内容
DOTNET平台下开发远程教育平台示例。
在DOTNET平台下进行WEB开发,一般从数据层开始,然后移到中间层,最后创建用户界面。限于篇幅,本示例以某教育平台中网上招生模块的开发为例对此类开发的创建过程作一简要说明:
3.1 首先是生成数据层。在本系统中是采用微软的SQL SERVER 2005构建数据库。
3.2 然后创建中间层业务对象。创建的业务对象将在WEB服务器上运行,提供分布式应用程序所需的性能和伸缩性。另外,将把业务对象实现为XMLWEB Services,这样客户端可以使用标准Internet协议从任何平台与所创建的业务对象进行通信。其具体步骤是:
3.3 创建ASP.NETWEB服务项目。在次项目中,将创建与数据存储区的连接并通过数据集获取数据实例。
3.4 创建并配置数据库连接和数据集构架。向XML WEB Services添加两个对象:SQLDataAdapter和SQLConnec-tion。连接对象创建到数据库的新连接,而数据适配器则查询或更新数据库并将结果发送到DataSet数据集对象中。次数据集将用来显示WEB窗体页中的数据。
3.5 从业务对象中公开数据集。此操作使数据集可供Windows或WEB应用程序使用。
3.6 创建客户端界面。本系统创建的是WEB窗体页。通过创建WEB窗体应用程序,并将WEB元素添加到WEB页面,然后设置控件的属性并编写相应的代码。
3.7 运行应用程序并部署解决方案。
4 意义及目的
随着Internet/Intranet的出现和流行,给应用系统的系统架构和计算模型带来了巨大的变革。现在越来越多的应用系统都建立在Internet/Intranet所提供的可伸缩、可扩展的分布式计算平台上。Microsoft推出的DOTNET给开发人员创造了一个理想的分布式开发环境,它为建立高效、安全、健壮、可伸缩、可扩展的分布式应用系统提供了强有力的支持。DOTNET是目前建立和开发各种Web应用的两大主流平台之一。对DOTNET下Web应用开发的设计模式进行研究有着重要的意义。
关键词:C/S结构 DOTNET框架 XML 分布式系统
[中图分类号]G642.0 [文献标识码]C [文章编号]1009-9646(2009)01-0073-03
1 研究背景
当互连网技术特别是WEB应用技术在20世纪90年代中期成为主流时,业务计算的模型发生了巨大变化,焦点则是对传统的客户端/服务器(Client/Server)模式产生了巨大的冲击。首先,C/s结构在维护上需要极大的成本,尤其是当客户端位于不同的区域时:其次C/S模式不具有很好的可伸缩性,因为此结构能够支持的客户端数有一定的限制,当客户端用户超过一定数目的时候,C/S结构的执行效率便开始下降,这对于Internet/Intranet和电子商务等应用系统而言,这种限制是不可接受的。
Web模型是由各种信息和应用程序集合松散地连接而成,而这些信息和应用程序又驻留在各式各样的硬件平台上,这一平台设计的非常灵活,而且不局限于一个或两个层。互连网技术之所以能够取得成功,并飞速发展,其根本的原动力在于它提供给用户一个可伸缩、可扩展和高度可用的公共信息平台。
随着南京远程教育中心的成立,如何建立一个功能强大的网络学习平台,如何丰富学生学习方式,更好的方便学生、满足其学习要求。经过和远程教育中心的沟通。决定利用.net开发这样一个平台,以满足这方面的需求。通过和平台使用者的沟通,对本平台的开发目的、背景、前景、主要功能进行仔细分析。参考微软有关资料,结合实例,逐步完善平台的功能。建立了一套理论与实际紧密结合的平台设计思路和开发模式。
此课题研究领域为微软.NET技术,分布式系统,配合SQL2005数据库系统的强大支持。
开发工具主要为Microsoft VisualStudio 2005:
Dreamweaver 8.0
数据库采用:SQL Server 2005:
2 理论分析
2.1 分布式系统构架。DOTNET是一种分布式运算构架,以XML(eXten-sible Markup Language可扩展标记语言)为基础,以WEB服务为核心辅以其他各种技术实现,意在充分利用Internet上强大的计算资源和丰富的带宽资源,提高用户的工作效率。
系统的基本原理是从逻辑上分为3个基本层:表示层、逻辑层以及数据服务层。如图1
2.1.1 表示层。表示层就是客户端。它包括客户端的软件组件、应用程序、WEB浏览器等。这些不同形式的客户端能够以可视形式提供丰富、灵活的用户交互界面,用来表示信息和收据数据,并利用逻辑层提供的功能服务完成用户请求,并且还可能会执行-些简单的业务逻辑,如用户输入的数据进行简单的检查。
2.1.2 逻辑层。逻辑层是分布式应用系统的关键所在,它负责处理所有来自表示层的用户请求,当它通过数据服务层提供的接口处理完请求之后,还要把处理结果返回给表示层。它处于表示层和数据服务层的中间,通常也被称为中间层,或称为应用程序服务器。逻辑层还需要提供执行业务规则,为具体应用提供事务处理、安全控制以及为满足不同数量客户端的请求而进行性能调整等功能。
2.1.3 数据服务层。数据服务层完成数据的定义、维护、访问与更新,以及管理并响应逻辑层的数据请求。
2.1.4 分布式构架的优势。分布式多层结构层次清晰,维护和管理简单。在分布式应用系统中,属于表示层的客户端程序主要负责和用户的交互,属于逻辑层的应用服务器运行企业逻辑,属于数据服务层的数据库服务器提供数据。由于整个应用系统的执行是分成数个不同的部分并且可以执行在不同的机器之中,整个系统的延展性、可伸缩性和灵活性以及安全性均大为提升。
2.2 ASP与ASP.NET比较。ASP(Active Server Pages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VB-script、javascnpt等脚本语言嵌入到HT-ML中,便可快速完成网站的应用程序。无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写。如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。此外,它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
之后,微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
ASP与ASP.NET的区别:
2.2.1 开发语言不同。ASP仅局限于使用non-type脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。
ASP.NET允许用户选择并使用功能完善的strongly-type编程语言,也允许使用潜加巨大的.NET?Framework。
2.2.2 运行机制不同。ASP是解释运行的编程框架,所以执行效率加较低。
ASP.NET是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。
2.2.3 开发方式。ASP把界面设计和程序设计混在一起,维护和重用困难。 ASP.NET把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/ISP差不多。
那么,ASP.Net有哪些改进呢?
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为,Net Fr-maework专门推出的C(读c sharp),它可以看作是VC和Java的混合体吧。尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
DOTNET框架是一种新的计算平台,它包含了操作系统上软件开发的所有层,它提供了微软平台(或者说任何平台上)所有的组件技术、呈现技术和数据技术的最丰富的集成。
DOTNET框架旨在实现以下目标:
提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上发布,或者是在远程执行的。
提供一个将软件部署和版本控制冲突最小化的代码执行环境。
提供一个保证代码(包括由未知的或不完全受信任的第三方创建的代码)完全执行的代码执行环境。
提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于WEB的应用程序)时保持一致。
按照工业标准生成所有通信,以确保基于DOTNET框架的代码与任何其他代码集成。Microsoft.NET的理想是全球分布系统,在单个应用程序中使用XML,允许使功能跨越组织甚至世界运行在不同的计算机上。在这种设想中,从服务器到无线掌上电脑的系统,以及其间的所有事物,都将共享相同的通用平台:对于他们全部来说,DOTNET版本都是可用的,他们之中的每个都能够与其它方透明的集成。
3 实施内容
DOTNET平台下开发远程教育平台示例。
在DOTNET平台下进行WEB开发,一般从数据层开始,然后移到中间层,最后创建用户界面。限于篇幅,本示例以某教育平台中网上招生模块的开发为例对此类开发的创建过程作一简要说明:
3.1 首先是生成数据层。在本系统中是采用微软的SQL SERVER 2005构建数据库。
3.2 然后创建中间层业务对象。创建的业务对象将在WEB服务器上运行,提供分布式应用程序所需的性能和伸缩性。另外,将把业务对象实现为XMLWEB Services,这样客户端可以使用标准Internet协议从任何平台与所创建的业务对象进行通信。其具体步骤是:
3.3 创建ASP.NETWEB服务项目。在次项目中,将创建与数据存储区的连接并通过数据集获取数据实例。
3.4 创建并配置数据库连接和数据集构架。向XML WEB Services添加两个对象:SQLDataAdapter和SQLConnec-tion。连接对象创建到数据库的新连接,而数据适配器则查询或更新数据库并将结果发送到DataSet数据集对象中。次数据集将用来显示WEB窗体页中的数据。
3.5 从业务对象中公开数据集。此操作使数据集可供Windows或WEB应用程序使用。
3.6 创建客户端界面。本系统创建的是WEB窗体页。通过创建WEB窗体应用程序,并将WEB元素添加到WEB页面,然后设置控件的属性并编写相应的代码。
3.7 运行应用程序并部署解决方案。
4 意义及目的
随着Internet/Intranet的出现和流行,给应用系统的系统架构和计算模型带来了巨大的变革。现在越来越多的应用系统都建立在Internet/Intranet所提供的可伸缩、可扩展的分布式计算平台上。Microsoft推出的DOTNET给开发人员创造了一个理想的分布式开发环境,它为建立高效、安全、健壮、可伸缩、可扩展的分布式应用系统提供了强有力的支持。DOTNET是目前建立和开发各种Web应用的两大主流平台之一。对DOTNET下Web应用开发的设计模式进行研究有着重要的意义。