开发语言技术简介
微软的C#+ASP.NET组合技术目前正是风风火火。作为全球软件业最大的公司,微软在.NET技术上投入了大量的人力物力,把公司未来战略重心放在了.NET上,而从目前看来,.NET技术无疑代表了未来Internet技术的方向之一。而系统正是基于C#和ASP.NET来进行开发的。
2.1.1 C#介绍
C#做为一门高级开发语言,它在带来对应用程序的快速开发能力的同时,忠实地继承了C和C++的优点。C#是专门为.NET应用而开发出的语言,这从根本上保证了C#与.NET框架的完美结合。在.NET运行库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。以下是C#的一些突出的特点,将会为以后体会到“#”-“SHARP”的真正含义打下基础。
(1)简洁的语法
在缺省的情况下,C#的代码在.NET框架提供的“可操纵”环境下运行,不允许直接地内存操作。它所带来的最大的特色是没有了指针。与此相关的是,那些在C++中被疯狂使用的操作符(例如:“::”)已经不再出现。C#只支持一个“.”。
(2)精心地面向对象设计
C#具有面向对象的语言所应有的一切特性:封装、继承与多态性。在C#的类型系统中,每种类型都可以看作一个对象。C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。
(3)与Web的紧密结合
.NET中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相统一,例如超文本标记语言(Hypertext Markup Language, HTML)和XML。由于历史的原因,现存的一些开发工具不能与Web紧密地结合。SOAP的使用使得C#克服了这一缺陷,大规模深层次的分布式开发从此成为可能。
(4)完整的安全性与错误处理
通过垃圾回收、结构化异常处理、类型安全检查,来实现其更好的安全处理。在类型安全检查中,C#要求遵循相关变量的规则,禁止使用没有被初始化的变量、取消不安全的类型转换和提供边界检查。
(5)版本处理技术
C#提供内置的版本支持来减少开发费用,使用C#将会使开发人员更加轻易地开发和维护各种商业用户。
升级软件系统中的组件(模块)是一件容易产生错误的工作。在代码修改过程中可能对现存的软件产生影响,很有可能导致程序的崩溃。为了帮助开发人员处理这些问题,C#在语言中内置了版本控制功能。例如:函数重载必须被显式声明,而不会像在C++或java中经常发生的那样不经意地被进行,这可以防止代码级错误和保留版本化的特性。另一个相关的特性是接口和接口继承的支持。这些特性可以保证复杂的软件可以被方便地开发和升级。
(6)灵活性和兼容性
在简化语法的同时,C#并没有失去灵活性。如果需要,C#允许你将某些类或者类的某些方法声明为非安全的。这样一来,你将能够使用指针、结构和静态数组,并且调用这些非安全代码不会带来任何其它的问题。此外,它还提供了一个另外的东西(这样的称呼多少有些不敬)来模拟指针的功能--delegates,代表。再例:C#不支持类的多继承,但是通过对接口的继承,你将获得这一功能。
(7)安全性。
正是由于其灵活性,C#允许与C风格的需要传递指针型参数的API进行交互操作,DLL的任何入口点都可以在程序中进行访问。C#遵守.NET公用语言规范(Common Language Specification, CLS),从而保证了C#组件与其它语言组件间的互操作性。元数据(Metadata)概念的引入,既保证了兼容性,又实现了类型安全。
2.1.2 ASP.NET介绍
ASP.NET是统一的 Web 应用程序平台,它提供了为建立和部署企业级Web应用程序所必需的服务。ASP.NET为能够面向任何浏览器或设备的更安全的、更强的可升级性、更稳定的应用程序提供了新的编程模型和基础结构。
ASP.NET 是Microsoft .NET Framework 的一部分,是一种可以在高度分布的 Internet 环境中简化应用程序开发的计算环境。.NET Framework 包含公共 语言运行库,它提供了各种核心服务,如内存管理、线程管理和代码安全。它也包含.NET Framework 类库,这是一个开发人员用于创建应用程序的综合的、面向对象的类型集合。ASP.NET提供了下面的优点:
可管理性:ASP.NET 使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和 Web应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。详细信息,请参阅 ASP.NET 配置。
安全:ASP.NET为Web应用程序提供了默认的授权和身份验证方案。开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。详细信息,请参阅 ASP.NET安全。
易于部署:通过简单地将必要的文件复制到服务器上,ASP.NET 应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。详细信息,请参阅ASP.NET部署。
增强的性能:ASP.NET是运行在服务器上的已编译代码。与传统的Active Server Pages (ASP) 不同,ASP.NET 能利用早期绑定、实时(JIT) 编译、本机优化和全新的缓存服务来提高性能。详细信息,请参阅ASP.NET性能监视。
灵活的输出缓存: 根据应用程序的需要,ASP.NET 可以缓存页数据、页的一部分或整个页。缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。
国际化:ASP.NET在内部使用Unicode以表示请求和响应数据。可以为每台计算机、每个目录和每页配置国际化设置。
移动设备支持:ASP.NET 支持任何设备上的任何浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。
扩展性和可用性:ASP.NET 被设计成可扩展的、具有特别专有的功能来提 高群集的、多处理器环境的性能。此外,Internet信息服务(IIS)和ASP.NET 运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。详细信息,请参阅ASP.NET进程隔离。
跟踪和调试:ASP.NET 提供了跟踪服务,该服务可在应用程序级别和页面 级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪 查看工具查看信息。在开发和应用程序处于生产状态时,ASP.NET 支持使用.NET Framework 调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语 句能够留在产品代码中而不会影响性能。
与.NET Framework集成:因为ASP.NET 是.NET Framework的一部分,整个平台的功能和灵活性对Web应用程序都是可用的。也可从Web上流畅地访问.NET 类库以及消息和数据访问解决方案。ASP.NET是独立于语言之外的,所 以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用性还保 存了基于COM 开发的现有投资。与现有 ASP 应用程序的兼容性:ASP和ASP.NET 可并行运行在 IIS Web 服务器上而互不冲突;不会发生因安装 ASP.NET而导致现有ASP应用程序崩溃 的可能。ASP.NET 仅处理具有 .aspx 文件扩展名的文件。具有.asp文件扩展 名的文件继续由ASP引擎来处理。然而,应该注意的是会话状态和应用程序状 态并不在ASP和ASP.NET页面之间共享。
2.2 系统体系结构的目的
B/S和C/S是当今世界开发模式技术架构的两大主流技术。C/S是美国Borland公司最早研发,B/S是美国微软公司研发。目前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。这两种技术都有自己一定的市场份额和客户群,各家企业都说自己的管理软件架构技术功能强大、先进、方便,都能举出各自的客户群体,都有一大用户为其摇旗呐喊,可谓仁者见仁,智者见智。本课题考虑到实际的需要,系统同时采用B/S架构和C/S架构。
2.2.1 C/S架构介绍
C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理 分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的 软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部 的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台 电脑以上局域网用户同时使用。而且代价高,效率低。
2.2.2 B/S架构介绍
B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次 性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据 库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
2.2.3 B/S和C/S的比较
系统性能的比较
在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。
不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。采用C/S结构时,客户端和 服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式 为主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。
系统开发
C/S结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出 了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统 上,C/S结构的软件需要开发不同版本的客户端软件。但是,与B/S结构相比,C/S技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握 水平来看,C/S技术应是更成熟、更可靠的。
升级与维护
C/S系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。B/S与C/S处理模式相比,则大大简化了客户端,只要客户端 机器能上网就可以。对于B/S而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了 异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么B/S架构的产品优势明显——所有的升级操作只需要针对服务器进行,这对那些点多 面广的应用是很有价值的,例如一些招聘网站就需要采用B/S模式,客户端分散,且应用简单,只需要进行简单的浏览和少量信息的录入。
客观地分析C/S、B/S的优劣,规划系统的时候有的放矢地“趋利避害”,才能够搭建成合适的信息系统。系统将C/S、B/S有机结合起来:通过终端获取基站数据然后传送接收使用C/S客户端,因为需要使用网络编程来传送接受数据;管理层则使用B/S客户端进行数据的查询,这样客户端比较灵活,只要能上网即可以操作。如此处理,可充分发挥各种模式的优越性——避免了B/S结构在安全性、保密性和响应速度等方面的缺点以及C/S结构在维护和灵活性等方面的缺点。
2.3 数据库及数据库访问技术
2.3.1 数据库
SQL Server 是一个关系数据库管理系统。SQL Server 2008, 是Microsoft 公司推出的SQL Server 数据库管理系统的新版本。该版本继承了SQL Server 2005 版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。
SQL Server 2008具有以下特点:
(1)、丰富的图形化管理工具,使系统管理,操作更为直观方便。SQL Server企业管理器是一个基于图形用户界面(GUI)的集成管理工具,利用它可以配置管理SQL Server服务器、管理数据库和数据库对象、备份和恢复数据、调度任务和管理警报,实现数据复制和转换操作等。此外,SQL Server 2008还提供了SQL事件探查器、SQL查询分析器 、SQL Server服务管理器和多种操作向导等图形界面管理工具,大大简化了用户操作,从而增强了系统的易用性。
(2)、动态自动管理和优化功能。即使SQL Server数据库管理员不做任何设置,SQL Server也能够在运行过程中根据环境配置和用户访问情况动态自动配置,以达到最优性能,从而减轻管理员工作。
(3)、充分的Internet技术支持。SQL Server增强了对Internet技术的支持,它除保留了前期版本中的数据库Web出版工具"Web助手"外,还增加了对XML和HTTP技术的支持,这使得信息系统能够通过XML等访问SQL Server数据库系统,也扩展了SQL Server在数据挖掘和分析服务领域的应用。
(4)、丰富的编程接口工具,使用户开发SQL Server数据库应用程序更加灵活。SQL Server提供了Transact-SQL、DB-Library for C、嵌入式SQL(ESQL)等开发工具。此外,SQL Server 2008还支持ODBC、OLE DB、ADO.NET规范,可以使用ODBC、OLE DB、ADO.NET接口访问SQL Server数据库。
(5)、具有很好的伸缩性和可靠性。SQL Server 2008既能运行在Windows桌面操作系统下,又可运行在服务器操作系统下;既能运行在单CPU计算机上,又能运行在对称多处理系统下。所以,它具有很好的伸缩性,能够满足从桌面应用到大型企业分布式应用等不同层次用户的需求。
(6)、简单的管理方式。SQL Server能够充分利用操作系统所提供的服务和功能(如安全管理、事件日志、性能监视器,内存管理和异步I/O等),从而增强了SQL Server数据库系统的功能,并且只需占用很少的系统资源。
2.3.2数据库访问技术
ASP.NET通过ADO.NET来操作数据库。ADO.NET并不是ADO的升级版本,它是全新的面向对象模型。比ADO更适应于分布式及Internet等大型应用程序环境,为了多人同时存取更具扩展性,ADO.NET的数据存取采用的是离线存取模式,可说是专门为.NET平台设计的数据存取结构。它具有简单地访问关系数据、可扩展性、支持多层应用程序、统一XML和关系数据访问的特点。
(1) 简单地访问关系数据。ADO.NET的主要目标是提供对关系数据的简单访问功能。坦白的说,易于使用的类描述关系数据库中的表、列和行。另外,ADO.NET引入了DataSet类,它代表来自封装在一个单元中的关联表中的一组数据,维持他们之间完整的关系。这是在ADO.NET中的新概念,可以显著的扩展数据访问接口的功能。
(2) 可扩展性。ADO.NET可以扩展——它为插件.NET数据提供者(也称为可管理提供者)提供了框架,这些提供者被构建,以便从任何数据源读取和写入数据。ADO.NET提供了两种内置的.NET数据提供者,用于OLE DB数据源,可以通过OLE DB访问数据格式(比如Microsoft Access)、第三方数据库和非关系数据。另外,Microsoft最近预演了用于ADO.NET的ODBC.NET数据提供者,它允许.NET访问更多的旧的数据格式和第三方数据库。
(3) 支持多层应用程序。ADO.NET用于多层应用程序。这是当今商业和电子商务应用程序最常见的体系结构。在多层体系结构中,应用逻辑的不同部分运行在多个服务器或进程中,每一部分就称为一层。ADO.NET使用开放的Internet标准XML格式在层之间通信,允许数据通过Internet防火墙来传递,并允许以非Microsoft技术来实现一层或多层。
那么在Visual Studio.NET中ADO.NET访问数据库分为二种。一种是Access数据库,另一种是其它任何类型的数据库。系统的后台数据库为sql server 2008,因此是通过SqlConnection、SqlCommand、SqlDataAdapter、DataSet、DataView等几个主要的数据访问对象来访问数据的,以下是在引用类DB.cs中写的几个数据库操作方法。
2.4 基于MVC的软件结构
MVC模式最早由Trygve Reenskaug在1974年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模式的目的是实现一种动态的程式设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。其中控制器(Controller)负责转发请求,对请求进行处理。视图(View)界面设计人员进行图形界面设计。模型(Model)程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。软件系统通过对自身基本部份分离的同时也赋予了各个基本部分应有的功能。
系统基于MVC三层框架来进行设计,基础框架遵循标准的 MVC 架构来组织应用,其层次结构:分为表示层、业务逻辑层和数据访问层,把系统的界面、业务、数据分离,各个层次各司其职。这样做的优点是使项目结构更清楚。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了,所以更安全。根据系统实际情况具体分层结构如下:
表示层:主要使用ASP.NET实现,主要有工程定义页面、工程分解页面、工程设置页面、数据上传页面、数据审核流程页面等等,为协同设计人员提供良好的交互页面。通过与用户界面的交互,表示层数据和服务层数据可以方便地进行相互传送。
业务逻辑层:使用工作流引擎和业务逻辑类实现。表示层提供服务和持久层进行数据交互。为系统协同设计提供项目分解分配功能、设计审核流程及其他管理、数据查询功能等等。
数据访问层:进行数据的处理,主要有用户实体、工程实体、地区实体、基站实体以及各工程节点实体等等。在基站建设过程中产生大量的合同文档、设计图纸、各节点验收图片及验收数据等资源信息,这些信息全部保存到数据库中,同时也可对数据库的数据进行访问,实现数据的动态交互。系统MVC组件类型的关系图如图2-1所示:
图2-1 系统MVC组件类型关系图
系统充分做到了MVC中“分解关注点”的思想:Model要重、Controller要轻、View要够笨。所有数据库的访问的动作全部通过Model层级的类来进行操作,尽可能的隐藏数据库访问数据或筛选数据的动作。并且更进一步地将一些复杂的业务逻辑一并抽离到Model层级的类中,以降低Controller的复杂度,让Controller思考的仅是如何有意义地操作数据,而如何筛选、改变数据,怎么设定默认值,以及使用哪种存储方式,都不会在Controller中看到,包括数据连接的程序代码也都一并抽离到独立的类中。
基于单一责任原则(Single Responsibility Principle,SRP),系统将与数据库访问有关的动作抽象成一个一个的接口,目的让Controller专注与接口方法的使用上,而非实现的细节。这样,降低了Controller与Model之间的耦合度,达到了“分解关注点”的目的。
系统同时采用了IOC的开发模式,IOC英文全称为“Inversion of Control”,控制反转模式。在规划较大型的软件架构时,IOC方法可以有效的降低类之间依赖的情况,不但能增加架构的弹性,也能有效降低软件的复杂度。
2.5 系统中Ajax技术的应用
2.5.1. Ajax的概述
Ajax 这一术语是短语 Asynchronous JavaScript and XML,中文译作“异步式JavaScript 与 XML”,它是近几年出现,并迅速红遍大江南北的一项技术。严格来说,Ajax 不是一个新技术,而是几种已有技术的组合,或者也可以说是一种模式,它主要包括一下项技术:
基于 web 标准的 XHTML+CSS 的表示。
使用 DOM(Document Object Model)进行动态显示及交互。
使用 XML 和 XSLT 进行数据交换及相关操作。
使用 XMLHttpRequest 进行异步数据查询、检索。
传统的 web 应用允许用户填写表单,当提交表单时就向 web 服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前后两个页面中的大部分 HTML 代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。与此不同,Ajax 应用可以仅向服务器发送并取回必需的数据,它使用 SOAP或其它一些基于 XML 的 Web Service 接口,并在客户端采用 JavaScript 处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以 Web 服务器的处理时间也减少了。Ajax 应用程序的优势在于:
1.通过异步模式,提升了用户体验。
2.优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用。
3. Ajax 引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。
2.5.2 Ajax 技术的实现原理
图 2-2 传统同步模型下请求示意图
图 2-3 Ajax 异步模型请求示意图
图 2-2 显示了在传统的同步模型情况下,B/S 架构的系统是如何工作的。在 这种架构下,客户端发出请求,可能是单纯请求一个新页面,也可能是提交了包含数据的表单。不论怎样,这些请求信息将被提交到服务端,在从提交开发,客户端就进入“假死”状态,服务端收到请求信息及数据,按照指定的程序对其进 行处理,然后把响应信息交给客户端,这些响应信息是完整的页面。客户端接到 响应信息后,把它们显示在浏览器中。
图 2-3 是基于 Ajax 技术异步模型下 B/S 系统的工作原理图。在这里,客户端不再直接向服务端发出请求,而是通过一个 XMLHttpRequest 对象发送一个异步请求,而后,服务端接收到请求和数据,开始按照程序进行处理,而此时的客户端不必等待,可以继续做自己的工作。当服务端完成处理后,将自动调用一个在发送请求时指定的回调函数,这个回调函数一般使用 JavaScript 对页面的 DOM 进行操作,完成页面的更新。而整个这个过程是不需要刷新页面的。
2.5.3.Ajax的几种框架
目前我们采用的比较多的ajax框架主要有ajax.dll,ajaxpro.dll,magicajax.dll 以及微软的atlas框架。Ajax.dll和Ajaxpro.dll这两个框架差别不大,而magicajax.dll只是封装得更厉害一些,比如说它可以直接返回DataSet数据集,前面我们已经说过,ajax返回的都是字符串,magicajax只是对它进行了封装而已。但是它的这个特点可以给我们带来很大的方便,比如说我们的页面有一个列表,而列表的数据是不断变化的,那么我们可以采用magicajax来处理,操作很简单,添加magicajax之后,将要更新的列表控件放在magicajax的控件之内,然后在pageload里面定义更新间隔的时间就ok了,atlas的原理和magicajax差不多。但是,需要注意的一个问题是,这几种框架都只支持IE,没有进行浏览器兼容方面的处理,用反编译工具察看他们的代码就可以知道。
除这几种框架之外,我们用到的比较多的方式是自己创建xmlHttpRequest对象,这种方式和前面的几种框架相比更具有灵活性。另外,在这里还提一下ASP.NET2.0自带的异步回调接口,它和ajax一样也可以实现局部的无刷新,但它的实现实际上也是基于xmlhttprequest对象的,另外也是只支持IE,当然这是微软的一个竞争策略。
2.5.4.Ajax在系统中的应用
ASP.NET MVC中内置了Ajax的辅助方法,可以辅助开发人员快速的实现Ajax的开发效果。系统在MasterPage中加载了MicrosoftAjax.js,MicrosoftMvcAjax.js两个JavaScript文件,使用Ajax.BeginForm()、Ajax.ActionLink()方法来进行Ajax调用,并使用一些支持Ajax框架的jQuery来简化对Ajax的调用。使用Ajax辅助方法操作数据,页面并不会换页,而是直接将操作的结果显示在页面上,界面显示非常友好。
2.6 IIS信息服务器
IIS是Internet Information Server的缩写,它是微软公司主推的服务器,最新的版本是Windows2003里面包含的IIS 6.0,IIS与WindowNT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。
IIS支持HTTP(Hypertext Transfer Protocol,超文本传输协议),FTP(Fele Transfer Protocol,文件传输协议)以及SMTP协议,通过使用CGI和ISAPI,IIS可以得到高度的扩展。IIS支持与语言无关的脚本编写和组件,通过IIS,开发人员就可以开发新一代动态的,富有魅力的Web站点。IIS不需要开发人员学习新的脚本语言或者编译应用程序,IIS完全支持VBscript,Jscript开发软件以及Java,它也支持CGI和WinCGI,以及ISAPI扩展和过滤器 。在系统中主要是用到IIS的WEB服务器功能。
IIS的设计目的是建立一套集成的服务器服务,用以支持HTTP,FTP和SMTP,它能够提供快速且集成了现有产品,同时可扩展的Internet服务器。IIS相应性极高,同时系统资源的消耗也最少,IIS的安装,管理和配置都相当简单,这是因为IIS与Windows NT Server网络操作系统紧密的集成在一起,另外,IIS还使用与Windows NT Server相同的SAM(Security Accounts Manager,安全性账号管理器),对于管理员来说,IIS使用诸如Performance Monitor和SNMP(Simple Nerwork Management Protocol,简单网络管理协议)之类的NT已有管理工具。IIS支持ISAPI,使用ISAPI可以扩展服务器功能,而使用ISAPI过滤器可以预先处理和事后处理储存在IIS上的数据。用于32位Windows应用程序的Internet扩展可以把FTP,SMTP和HTTP协议置于容易使用且任务集中的界面中,这些界面将Internet应用程序的使用大大简化,IIS也支持MIME(Multipurpose Internet Mail Extensions,多用于Internet邮件扩展),它可以为Internet应用程序的访问提供一个简单的注册项。
IIS的一个重要特性是支持ASP。IIS 3.0版本以后引入了ASP,可以很容易的张贴动态内容和开发基于Web的应用程序。对于诸如VBscript,Jscript开发软件,或者由Visual Basic,Java,Visual C++开发系统,以及现有的CGI和WinCGI脚本开发的应用程序,IIS都提供强大的本地支持。在 IIS 6.0 中,ASP.NET MMC 管理单元提供了用于配置 ASP.NET 的 IIS 相关管理功能。系统就是采用IIS6.0版本。