系统技术架构dotnet说明书.docx
《系统技术架构dotnet说明书.docx》由会员分享,可在线阅读,更多相关《系统技术架构dotnet说明书.docx(25页珍藏版)》请在冰豆网上搜索。
系统技术架构dotnet说明书
流动人口管理系统
技术架构文档
技术性需求分析
一致的逻辑数据
从逻辑上,任意服务网络接点的数据应该是一致的,所有的服务接点都是这个数据库的客户端访问;
优秀的网络环境适应性
从系统的实现角度考虑,要满足各种复杂的网络环境;
系统的兼容性
由于服务结点的数量巨大,其使用的平台和语言各不相同,需要能够容纳所有类型的服务结点;
开放的界面和接口
不仅个人用户能够方便地通过Web或桌面应用查询探月信息,同时也需要提供非GUI的交互界面,以便使其它应用系统也能使用数据管理系统提供的信息服务,同时还需要为第三方软件预留标准的编程接口,使系统具有高度的可扩展性;
完备的数据存储、备份管理策略
高度的安全性
技术性设计思想和原则
先进性、扩展性、标准性、易用性、易管理性及安全性等原则。
安全性
系统中的各种数据应该保证严格的机密性,尤其在本系统的方案中,所有的企业信息数据都集中存储在中央服务器之中,而且需要通过网络在客户机和服务器之间传输。
系统应该提供安全的措施来保障数据的存储安全以及传输安全。
易操作性
界面友好应作为系统的一个重要特点。
用户界面是系统用户最直接感受的一项内容,易操作性不仅降低了用户使用系统复杂度,同时在某种意义上也提高系统的工作效率。
适应性及灵活性
系统设计需要充分考虑到实际系统在今后工作发展而产生的升级需求,尽量保证在原有代码基础上容易适应、容易修改和升级的目标。
基于组件的软件开发
基于组件的软件开发方法已成为现代软件开发方法的主流,组件的开放性、互联性、可重用性和可裁剪性,给基于组建的应用系统带来了可重组性和对实际应用需求和运行环境的针对性的提高。
按照组件标准进行业务功能开发,是保证整个系统的可维护性、可重用性、可重组性、易扩充性的最为有效方法。
数据共享
对所有的数据采用合理的数据结构,把它们有效地组织好,进行统一维护管理,避免数据重复,减少冗余,提高准确性和可靠性,保证数据的统一性和完整性。
系统环境
数据库平台
选择合适的数据库平台是建立流动人口管理决策系统系统要解决的首要问题之一。
数据库模型简介
(1)平面文件模型
平面文件得名于该文件除了数据集合以外没有其他内容这一事实。
平面文件模型已有多年历史,是人们日常用的文件橱的自然扩展。
它是一种非常简单的模型,具有最小的结构,相当于所有数据都存在一张表中。
这类文件在设计时按指定的格式顺序存储数据。
平面文件所包含的内容都是数据。
由于结构化信息(变换数据)并不存储在这类文件中,所以系统开销极小。
对数据库而言,对平面文件的操作非常快,因为它只含有数据。
对用户而言,应用程序必须含有对数据文件的低层的逻辑操作。
应用程序必须准确地知道数据的存储位置及方式。
对于小系统来说,平面文件工作得很好,但对大系统来说,平面文件变得很麻烦。
在Internet上,由于平面文件系统伸缩性较差,当许多记录被放到一个平面文件中时,性能急剧下降。
此外,移植一个基于平面文件的应用程序比移植一个基于数据库管理系统的应用程序更为困难。
所以,现在已经很少有人使用平面文件型数据库了。
(2)关系模型
关系模型中的单张关系数据库表格,看上去与平面文件模型没有区别,而关系数据库的特色是“关系”。
将数据的各个部分有机地联系起来是关系数据库的标志,这种模型是有很多优点,有关关系模型的详细内容将在附录A中加以阐述。
最简单的方法是将一个关系模型想象成各种唯一的对象之间的一系列链接,这些对象可以有任意种属性。
(3)面向对象模型
面向对象数据库的概念与Java的概念非常相象:
将对象概念化,寻找仅仅属于该对象的属性,如果发现某些属性同时也属于其他对象,则它们必须同属于一个父对象。
这很象一个个叠起来的过滤器。
面向对象模型要比其他模型更为复杂,因为子对象要继承父对象中包含的数据属性。
(4)多维模型
这是一种相对较新的数据库模型,它来自数学中的数组理论。
尽管大多数数据库是基于多个数组的,但多维数据库的实际结构与一个数组很相象。
多维模型更适于存储有大量概括性数据的环境。
不同于基于关系模型的数据库,数据库引擎对维的概念的直接支持使得多维视图实现起来容易得多。
在多维模型中,由于它的类似数组的结构,检索时间也会大大减少。
由于在一次检索中,普通数据库要遍历每个记录,当移动大量记录上的光标时开销会变得大得多。
关系数据库用以减少检索时间的一个方法是对数据项加以索引。
这些索引的结构仅仅是相应数据项在数据库中的游标偏移量。
MDBMS(多维数据库管理系统)的数据存储格式本身有利于检索,因为引擎知道用户所要检索的数据的通常位置。
由于数据实际上是以数组的结构存储的,MDBMS不必遍历每一记录的全部数据项,它只是有选择地搜索所需要的几列,这有时能够指数倍地减少搜索时间。
MDBMS也不再需要关键字,因为关键字的主要作用是帮助用户更容易地查找所需要的数据。
在决定是否使用这类数据库的时候,首先必须理解所要创建的系统的需求。
多维数据库系统适于高级计算以及不再是规范化形式的概括性数据的检索,常用于在线分析处理(OLAP,OnlineAnalysisProcess)应用和数据仓库环境。
这种数据库的多用户功能通常没有SQL数据库那么强大,它也不适于事务量很大的环境以及在原子级别上要求很详细的环境。
选择数据库的准则
通常,对于数据集合在几兆字节之内,数据记录之间没有复杂的关系的情况,可以选用文本文件建立数据库,这样可以最大限度地限制建库成本,同时文本文件具有数据库管理系统(DBMS)所没有的优势,即当数据发生错误时,可以将文本文件调入任何一个文本编辑器进行恢复。
对于较大的数据集合,或者数据记录之间存在着复杂的关系,则最好选用数据库系统。
用文本文件实现一个几十兆的数据库将使任何一台高档服务器不堪重负。
如果采用交互程序处理数据间复杂的关系,必然会使交互程序的复杂性加大,占用过多的服务器资源。
此外,利用数据库系统的功能可以简化交互程序设计的难度,提高开发效率。
在选择数据库管理系统时,应着重考虑以下几个方面:
●操作系统平台
选择通用的,可发者熟悉的数据库管理系统,也要选择开发者熟悉的操作系统平台,只有这样,才可以减少出错的概率。
●性能价格比
在各种能完成自己工作的数据库管理系统中,选择实用、可靠、便于维护、技术服务好、最便宜的包括性能评估(响应时间、数据单位时间吞吐量)、性能监控(内外存使用情况、系统输入/输出速率、SQL语句的执行,数据库元组控制)、性能管理(参数设定与调整)的数据库管理系统。
●构造数据库的难易程度
需要分析数据库管理系统有无范式的要求,即是否必须按照系统所规定的数据模型分析现实世界,建立相应的模型:
数据库管理语句是否符合国际标准,符合国际标准则便于系统的维护、开发、移植;是否具备面向用户且易用的开发工具;所支持的数据库容量,数据库的容量特性决定了数据库管理系统的使用范围。
●程序开发的难易程度
是否具备计算机辅助软件工程工具CASE——计算机辅助软件工程工具可以帮助开发者根据采用工程的方法提供各开发阶段的维护、编码环境,便于复杂软件的开发、维护。
是否具备第四代语言的开发平台——第四代语言具有非过程语言的设计方法,用户无需编写复杂的过程代码,易学、易懂、易维护。
是否具备面向对象的设计平台——面向对象的设计思想十分接近人类的逻辑思维方式,便于开发和维护。
是否支持多媒体数据类型——对多媒体数据的需求时今后发展的趋势,支持多媒体数据类型的数据库管理系统必须减少应用程序的开发和维护工作。
●对分布式应用的支持
包括数据透明与网络透明程度。
数据透明是指用户在应用中无需指出数据在网络的什么节点上,数据库管理系统可以自动搜索网络,提取所需数据。
网络透明是指用户在应用中无需指出网络所采用的协议,数据库管理系统自动将数据包转换成相应的协议数据。
●并行处理能力
支持多CPU模式的系统,负载的分配形式,并行处理的粒度、范围。
●可移植性和可扩展性
可移植性和可扩展性指垂直扩展和水平扩展能力。
垂直扩展要求新平台能够支持低版本的平台,数据库客户机/服务器机制支持集中式管理模式,这样保证用户以前的投资和系统。
水平扩展要求满足硬件上的扩展,支持从单CPU模式转换成多CPU并行机模式。
●数据完整性约束
数据完整性指数据的正确性和一致性保护,包括实体完整性、参照完整性、复杂的事务规则。
●并发控制能力
对于分布式数据库管理系统,并发控制功能是必不可少的。
数据库面临的是多任务分布环境,可能会有多个用户点在同一时刻对同一数据进行读或写操作,为了保证数据的一致性,需要由数据库管理系统的并发控制功能来完成。
评价并发控制的标准应从以下几方面加以考虑:
(1)保证检索结果一致性方法;
(2)数据锁的粒度(数据锁的控制范围,表、页、元组等);
(3)数据锁的升级管理功能;
(4)死锁的检测和解决方法。
●容错能力
容错能力指数据库管理系统在异常情况下对数据的容错处理。
评价标准:
(1)硬件的容错,有无磁盘镜像处理功能;
(2)软件的容错,有无软件方法实现对异常情况的容错功能。
●安全性控制
安全性控制包括安全保密的程度(帐户管理、用户权限、网络安全控制、数据约束)。
●支持汉字处理能力
支持汉字的处理能力包括数据库描述语言的汉字处理能力(表名、域名、数据)和数据库开发工具对汉字的支持能力。
本系统数据库选择
目前,关系型数据库(DBMS)已取代了层状型和网状型数据库,成为数据库管理系统的主流。
现今国际上比较成熟的大型关系型数据库管理系统主要有:
Oracle、MicrosoftSQLServer、IBMDB2、Informix-UniversalServer和SybaseAdaptiveServerEnterprise等。
对上述几个大型数据库管理系统在管理、服务器引擎、多媒体数据类型、交互式、可编程性、查询语言和数据库设计等多方面特性进行了综合的对比与分析,根据数据库管理系统的选取准则,结合建立流动人口管理决策系统系统的需要,我们选取Oracle9i/或MSSQL2000作为流动人口管理决策系统系统的数据库管理系统。
Oracle9i的特性
MSSQL2000的特性
网络操作系统
目前,Windows和Unix/Linux是主要的两大网络操作系统。
Unix/Linux是60年代后期开发的主要的企业操作系统,它能够提供可靠的、稳定的、多任务的、多用户的环境。
与UNIX/LINUX相比较,富于灵活性的WindowsServer产品家族众多的优秀特性使之最终深受用户、系统和网络管理员以及软硬件开发人员的青睐。
Windows操作系统是从个人PC和平台发展而来的,强调图形用户界面(GUI)和桌面应用程序,WindowsServer系列操作系统能够完整地建立网络系统,这一点是其他任何操作系统所不能比拟的。
本工作中,我们选取了Windows®Server2003作为开发流动人口管理决策系统系统的网络操作系统。
WindowsServer2003是一个多任务操作系统,它能够按照您的需要,以集中或分布的方式处理各种服务器角色。
其中的一些服务器角色包括:
▪文件和打印服务器。
▪Web服务器和Web应用程序服务器。
▪邮件服务器。
▪终端服务器。
▪远程访问/虚拟专用网络(VPN)服务器。
▪目录服务器、域名系统(DNS)、动态主机配置协议(DHCP)服务器和WindowsInternet命名服务(WINS)。
▪流媒体服务器。
WindowsServer2003系列的主要优点有:
(1)可靠性
WindowsServer2003具有可靠性、实用性、可伸缩性和安全性,这使其成为高度可靠的平台。
a)提供集成结构,用于帮助您确保商业信息的安全性。
b)提供可靠性、实用性和可伸缩性,使您可以提供用户需要的网络结构。
▪实用性:
WindowsServer2003家族增强了群集支持,从而提高了其实用性。
对于部署业务关键的应用程序、电子商务应用程序和各种业务应用程序的组织而言,群集服务是必不可少的,因为这些服务大大改进了组织的可用性、可伸缩性和易管理性。
在WindowsServer2003中,群集安装和设置更容易也更可靠,而该产品的增强网络功能提供了更强的故障转移能力和更长的系统运行时间。
WindowsServer2003家族支持多达8个节点的服务器群集。
如果群集中某个节点由于故障或者维护而不能使用,另一节点会立即提供服务,这一过程即为故障转移。
WindowsServer2003还支持网络负载平衡(NLB,networkloadbalancing),它在群集中各个结点之间平衡传入的Internet协议(IP)通讯。
▪可伸缩性:
WindowsServer2003家族通过由对称多处理技术(SMP)支持的向上扩展和由群集支持的向外扩展来提供可伸缩性。
内部测试表明,与Windows2000Server相比,WindowsServer2003在文件系统方面提供了更高的性能(提高了140%),其他功能(包括活动目录服务、Web服务器和终端服务器组件以及网络服务)的性能也显著提高。
WindowsServer2003是从单处理器解决方案一直扩展到32路系统的。
它同时支持32位和64位处理器。
▪安全性:
随着业务的不断扩展,通过将Intranet、Extranet和Internet站点结合起来,各公司超越了传统方式的局域网(LAN)。
因此,系统安全问题比以往任何时候都更为严峻。
作为Microsoft对可信赖、安全和可靠的计算的承诺的一部分,公司认真审查了WindowsServer2003家族,以弄清楚可能存在的错误和缺陷。
WindowsServer2003在安全性方面提供了许多重要的新功能和改善,包括:
▪公共语言运行时:
本软件引擎是WindowsServer2003的关键部分,它提高了可靠性并有助于保证计算环境的安全。
它降低了bug数量,并减少了由常见的编程错误引起的安全漏洞。
因此,攻击者能够利用的弱点就更少了。
公共语言运行时还验证应用程序是否可以无错误运行,并检查适当的安全性权限,以确保代码只执行适当的操作。
▪InternetInformationServices6.0:
为了增强Web服务器的安全性,InternetInformationServices(IIS)6.0在交付时的配置可获得最大安全性(默认安装“已锁定”)。
IIS6.0和WindowsServer2003提供了最可靠、最高效、连接最通畅以及集成度最高的Web服务器解决方案,该方案具有容错性、请求队列、应用程序状态监控、自动应用程序循环、高速缓存以及其他更多功能。
这些功能是IIS6.0中许多新功能的一部分,它们使您得以在Web上安全地执行业务。
(2)高效
WindowsServer2003提供各种工具,允许您部署、管理和使用网络结构以获得最大效率。
WindowsServer2003通过以下方式实现这一目的:
a)提供灵活易用的工具,有助于使您的设计和部署与组织及网络的要求相匹配。
b)通过加强策略、使任务自动化以及简化升级来帮助您主动管理网络。
c)通过让用户自行处理更多的任务来降低支持开销。
WindowsServer2003在许多方面都具有使组织和员工提高工作效率的能力,包括:
▪文件和打印服务器:
任何IT组织的核心都是要求对文件和打印资源进行有效地管理,同时又允许用户安全地使用。
随着网络的扩展,位于站点上、远程位置甚至合伙公司中用户的增加,IT管理员面临着不断增长的沉重负担。
WindowsServer2003家族提供了智能的文件和打印服务,其性能和功能性都得到提高,从而使您降低企业拥有总成本(TCO)。
▪活动目录:
活动目录是WindowsServer2003家族的目录服务。
它存储了有关网络上对象的信息,并且通过提供目录信息的逻辑分层组织,使管理员和用户易于找到该信息。
WindowsServer2003为活动目录带来了很多改善措施,使其使用起来更通用、更可靠,也更经济。
在WindowsServer2003中,活动目录提供了增强的性能和可伸缩性。
它允许您更加灵活地设计、部署和管理组织的目录。
▪管理服务:
随着桌面计算机、膝上电脑和便携式设备上计算量的不断增大,维护分布式个人计算机网络的实际成本也显著增加了。
通过自动化来减少日常维护是降低操作成本的关键。
WindowsServer2003新增了几套重要的自动管理工具来帮助实现自动部署,包括Microsoft软件更新服务(SUS,SoftwareUpdateServices)和服务器配置向导。
新的组策略管理控制台(GPMC)使得管理组策略更加容易,从而使更多的组织能够更好地利用活动目录服务及其强大的管理功能。
此外,命令行工具使管理员可以从命令控制台执行大多数任务。
GPMC拟在WindowsServer2003发行之前作为一个独立的组件出售。
▪存储管理:
WindowsServer2003在存储管理方面引入了新的增强功能,这使得管理及维护磁盘和卷、备份和恢复数据以及连接存储区域网络(SAN,StorageAreaNetworks)更为简易和可靠。
▪终端服务:
MicrosoftWindowsServer2003的终端服务组件构建在Windows2000终端组件中可靠的应用服务器模式之上。
终端服务使您可以将基于Windows的应用程序或Windows桌面本身传送到几乎任何类型的计算设备上-包括那些不能运行Windows的设备。
(3)连接性
连接WindowsServer2003可以帮助您创建业务解决方案结构,以便与雇员、合作伙伴、系统和客户更好地连接。
WindowsServer2003通过以下方式实现这一目的:
▪提供集成的Web服务器和流媒体服务器,帮助您快速、轻松和安全地创建动态Intranet和InternetWeb站点。
▪提供集成的应用程序服务器,帮助您轻松地开发、部署和管理XMLWeb服务。
▪提供多种工具,使您得以将XMLWeb服务与内部应用程序、供应商和合作伙伴连接起来。
WindowsServer2003包含许多新功能和改善的措施,以确保您的组织和用户保持连接状态:
▪XMLWeb服务:
IIS6.0是WindowsServer2003家族的重要组件。
管理员和Web应用程序开发人员需要一个快速、可靠的Web平台,并且它是可扩展的和安全的。
IIS中的重大结构改进包括一个新的进程模型,它极大地提高了可靠性、可伸缩性和性能。
默认情况下,IIS以锁定状态安装。
安全性得到了提高,因为系统管理员根据应用程序要求来启用或禁用系统功能。
此外,对直接编辑XMLmetabase数据库的支持改善了管理能力。
▪网络和通讯:
对于面临全球市场竞争挑战的组织来说,网络和通讯是现在的当务之急。
员工需要在任何地点、使用任何设备接入网络。
合作伙伴、供应商和网络外的其他机构需要与关键资源进行高效地相互沟通,而且,安全性比以往任何时候都重要。
WindowsServer2003家族的网络改善和新增功能扩展了网络结构的多功能性、可管理性和可靠性。
▪企业UDDI服务:
WindowsServer2003包括企业UDDI服务,它是XMLWeb服务的动态而灵活的架构。
这种基于标准的解决方案使企业能够运行他们自己的内部UDDI服务,以供Intranet和Extranet使用。
开发人员能够轻松而快速地找到并重新使用企业内可用的Web服务。
IT管理员能够编录并管理他们网络中的可编程资源。
利用UDDI服务,公司能够生成和部署更智能、更可靠的应用程序。
▪Windows媒体服务:
WindowsServer2003包括业内最强大的数字流媒体服务。
这些服务是MicrosoftWindowsMedia™技术平台下一个版本的一部分,该平台还包括新版的Windows媒体播放器、Windows媒体编辑器、音频/视频编码解码器以及Windows媒体软件开发工具包。
(4)最经济
由于PC技术提供了最经济的芯片平台,仅依靠PC就可完成任务已成为采用WindowsServer2003的重要经济动机。
而对WindowsServer2003在成本控制方面适合扩大或缩小规模来说,这只是开始。
使用Windows.NETServer中自带的许多重要服务和组件,各组织可以迅速利用这个易于部署、管理和使用的集成平台。
当您采用了Windows.NETServer时,您就成为了帮助使Windows平台更高效的全球网络中的一员。
这种提供全球服务和支持的网络有如下优点:
▪最大数量的ISV支持:
Microsoft软件拥有遍及世界各地的大量的独立软件供应商(ISV),他们支持Microsoft应用程序并在Windows上生成已认证的自定义应用程序。
▪全球服务:
Microsoft提供全球450,000多名Microsoft认证系统工程师(MCSE)以及供应商和合作伙伴的支持。
▪培训选项:
Microsoft提供各种IT培训,使得IT人员只需交付适当的费用就可以继续扩展他们的技能。
▪经过认证的解决方案:
第三方ISV为Windows提供了数千个经过认证的硬件驱动程序和软件应用程序,使它便于添加新设备和应用程序。
另外,MicrosoftSolutionsOfferings(MSO)可帮助各组织创建能解决业务难题并经得起考验的解决方案。
这种产品和服务的架构能够降低企业拥有总成本(TCO),从而帮助组织获得更高的生产效率。
XMLWeb服务和.NET框架
Microsoft.NET已与WindowsServer2003家族紧密集成。
它使用XMLWeb服务使软件集成程度达到了前所未有的水平:
离散、组块化的应用程序通过Internet互相连接并与其他大型应用程序相连接。
通过集成到构成Microsoft平台的产品中,.NET提供了通过XMLWeb服务迅速可靠地构建、托管、部署和使用安全的联网解决方案的能力。
Microsoft平台提供了一套联网所需的开发人员工具、客户端应用程序、XMLWeb服务和服务器。
这些XMLWeb服务提供了基于行业标准构建的可再次使用的组件,这些组件调用其他应用程序的功能,调用的方法独立于创建应用程序,操作系统、平台或设备用于访问它们的方法。
利用XMLWeb服务,开发人员可以在企业内部集成应用程序,并跨网络连接合作伙伴和客户。
这种先进的软件技术使联合合作成为可能,并且所带来的更有效的商业到商业和商业到用户服务可以对企业收入产生潜在的重要影响。
数百万其它用户可以以各种组合使用这些组件,获得高度个性化、智能化的计算体验。
WindowsServer2003家族的其他.NET优势有助于开发人员:
▪利用现有的投资、现有用于WindowsServer的基于Windows的应用程序将继续运行在