ASP.NET网站制作之在.NET下多层架构企业办理体系的开辟
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:)架构 摘要跟着.NET2.0的公布,在.NET下用多层架构来构建企业办理体系也愈来愈便利。本文以某外洋商业公司的办理体系为背景,先容在.NET平台下,接纳多层架构构建企业办理体系。关头词.NET;单位测试;B/S架构
弁言
.NET框架是微软开辟出的新一代开辟平台。同意使用程序经由过程Internet举行通信和共享数据,而不论所接纳的是哪一种操纵体系、设备或编程言语。本文先容的办理体系是在.NET平台下开辟的,以极限编程的开辟头脑,接纳了面向工具开辟、B/S架构、ASP.NET、C#和主动化测试工具CSUnit。
成绩剖析
本体系为外洋的某商业公司开辟,对公司的推销、发卖、库存等各个商业环节举行办理。该公司在外洋,它的供给商在国际,而客户都是外洋的公司。公司、供给商、客户今朝都能够毗连Internet,公司外部有局域网,对外次要经由过程ADSL高速毗连Internet。
在对公司的营业需求举行了细心的剖析后,我们以为全部体系应该包括以下的功效:可以实时同供给商举行交换,并对供给商的产物临盆进度举行跟踪;收到供给商发来的产物后,能够对这些产物举行库存办理,并随时懂得产物的库存情况;能够实时同客户举行交换,并对客户发来的定单情况举行跟踪;可以对用户举行权限把持,进步体系的可控性和平安性;新体系要界面友爱、数据传输速率较快、易用性和扩大性强,等等。
体系开辟形貌
依据后面的体系需乞降功效剖析,体系次要分为以下几个部分:
⑴基础设置办理:包含职员办理模块――用于创建和保护利用体系的用户,公司办理模块――保护体系触及到的客户和供给商信息,产物办理――增加、修正、删除和查询产物信息。
⑵供给办理体系:由于公司的供给商次要在国际,体系接纳中文界面,包含对推销定单的办理模块,临盆进度办理模块,发货批次办理模块,报表办理模块和交换信息办理模块。
⑶发卖办理体系:该子体系卖力与客户的交换,包含客户询价办理模块,客户定单办理模块,临盆信息查询模块,质量信息反应体系和报表办理模块。
⑷库存办理体系:对公司的库存情形举行保护,包含库房基础设置模块,库房产物办理模块,报表办理模块。
体系接纳三层的系统布局,数据库接纳MicrosoftSQLServer2000,编程言语为C#和ASP.NET,Web页面接纳ASP.NET、codebehide代码,背景程序由C#编写。除Web暗示层外,另有Model层、数据会见层DAL、营业逻辑层BLL,主动化测试层UT,等等。
DAL卖力数据库的数据存取,BLL经由过程挪用DAL层的办法来完成营业需求,Web层经由过程挪用BLL的办法来完成与用户的交互,UT层卖力Model层、DAL层和BLL层的单位测试,Model供应数据实体类供Web、BLL、DAL挪用,各层之间的干系如:
DAL卖力与数据库的交互,为了进步保护性,接纳OOP的计划头脑,只要BLL层能够间接挪用DAL层类中的办法,不成以跨层挪用。数据库的毗连字段信息安排在Web.config文件中,比方:要毗连SQLSERVER数据库,设置以下:
<addkey=”MSSQLConnString”value=”server=(local);userid=sa;password=pwd;
database=dbEnt”/>
关于DAL,数据会见大概对照频仍,必要常常举行数据库的毗连和封闭操纵,因而体系没有接纳ADO.NET,利用DataReader工具前往数据以进步使用程序的功能并削减体系开支。示比方下:
publicstaticSqlDataReaderExecuteReader(stringconnString,CommandTypecmdType,stringcmdText,paramsSqlParameter[]cmdParms)
SqlCommandcmd=newSqlCommand();
SqlConnectionconn=newSqlConnection(connString);
try
{
PrepareCommand(cmd,conn,null,cmdType,cmdText,cmdParms);
SqlDataReaderrdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
returnrdr;
}
catch
{
conn.Close();
throw;
}
}
BLL层的功效次要包含发卖办理、推销办理、库存办理、基础设置办理、产物办理、质量办理、财政办理等方面,由多个分歧的类相互共同完成庞大的营业逻辑。
UT层卖力对BLL、DAL和Model举行单位测试,依照XP和TDD的头脑,先编写单位测试类,后入手下手类办法的编写。经由过程测试来引导程序代码的开辟,单位测试的经由过程就是类办法的完成。UT层的布局相似DAL,BLL等,针对分歧的类创建响应的测试单位类。UT的布局如:
WEB层是间接与用户交互的层面,经由过程codebehind代码,该层间接挪用BLL层的办法来完成用户的营业需求,并将了局显现在Web页面。由于公司服务器在英国伦敦,可是良多用户其实不在英国,要思索的成绩包含:
⑴平安性在web.config中对文件的平安性举行设置,即便用户登录体系后,某些网页必需有特定权限的用户能够扫瞄;关于页面间的参数传送经由过程Session举行,超等链接后不附加任何参数。
⑵速率思索到部分的用户上彀速率对照慢,带宽不敷,关于多量量的数据显现只管接纳分页的体例举行。
⑶易用性因为良多的用户非盘算机专业职员,因而请求体系利用便利而快速,好比:对有多个输出框的数据输出,能够经由过程回车键在分歧的输出框之间跳转,便利用户操纵;关于外部办理体系,由于本来客户一向利用Access体系,请求新的体系具有较高的自进修才能,只管参照本来体系。
UT的布局图
停止语
本体系开辟工夫为12个月,开辟职员为5人。数据库利用50多个库表,开辟工具为VisioStudio2003,接纳开源工具CSUnit作为单位测试工具。在多层架构的开辟形式下,分歧的开辟职员卖力分歧的层,能够专注于本人的部分。好比:卖力Web页面的人能够用心计划界面,卖力DAL层的人则次要思索与数据库的交互,至于营业需求则由卖力BLL层的人来举行。经由过程分层形式,年夜年夜改良了体系的保护性,也加速了开辟速率。能够想像,陪伴着微软.NET计谋的奉行,在.NET下多层架构的开辟形式将愈来愈盛行。也许C#刚上市的时候有些抄袭Java吧,但自从C#2.0上市之后,整个局面就扭转乾坤了,不但Java在模仿C#,而且他从来都没能跟得上C#的脚步。 网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项! 在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。 在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗? 我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
页:
[1]