一个.Net系统的架构设计,欢迎参与讨论大家好,我正在做一个中型软件系统的架构设计,该系统计划作为一个产品
一个.Net系统的架构设计,欢迎参与讨论
大家好,我正在做一个中型软件系统的架构设计,该系统计划作为一个产品推向市场。最近我也收集了一些信息和资料,对系统架构做了些初步的构思,但是还感觉不太成熟。现在我把具体需求和架构设计构思贴出来,欢迎大家多发表意见一起讨论。谢谢!
产品需求:
1、系统主要在客户局域网内使用,但是也不排除小部分用户需要通过公网使用本系统;
2、用户界面需要丰富和良好的互操作特性;
3、对客户的数据库系统不能做具体限制;
4、需要能够支持20个左右的并发数;
5、不需要安装客户端,或安装部署比较方便。
架构构思:
1、系统基于.Net框架(.Net Framework 3.5)
开发工具vs2008+sp1
2、系统采用三层结构;
参考Petshop4.0,表示层、业务逻辑层、数据访问层
3、系统同时支持SQL Server和Oracle,并可以扩展
参考Petshop4.0,采用工厂模式
4、服务端通过XML Web Services对外提供接口
客户端所有的数据库访问操作均通过Web服务来完成。
(解决了公网访问的问题,但是性能是否能够满足要求?)
5、客户端采用Winform智能客户端
用户界面互操作性好,部署也相对容易
6、采用Membership对用户和角色进行统一管理
参考Petshop4.0,网上也找到了完整的Oracle Membership部件,甚至有MySQL的;
Web服务包装的用户和角色管理这部分的代码可以尽量少写了。
7、采用ADO.Net Entity Framework技术
除了用户和角色,Web服务包装的对其他对象的CRUD操作均使用ADO.NET EF技术实现。
(开发效率高了,性能是否有很大问题?)
其他复杂的数据库操作,采用存储过程或者内置SQL查询的传统方式。
[解决办法]
mark下先
[解决办法]
关注中
[解决办法]
7、采用ADO.Net Entity Framework技术
除了用户和角色,Web服务包装的对其他对象的CRUD操作均使用ADO.NET EF技术实现。
---------------------------------
性能不是問題,但是目前的ADO.NET EF衹支持MS SQL,而你又不限制數據庫,這點務必考慮到!
4、服务端通过XML Web Services对外提供接口
客户端所有的数据库访问操作均通过Web服务来完成。
(解决了公网访问的问题,但是性能是否能够满足要求?)
--------------------------------
建議使用WCF,性能會稍稍有所提升。但是公網訪問性能,得看程序的具體實現技巧。
[解决办法]
友情up
[解决办法]
up
[解决办法]
下载一下CoreLab第三方软件可以支持Ado.net entity frameWork,同时支持ORACLE9i以上版本
[解决办法]
CoreLab是微软在支持Oracle时用ado.net entity framework的例子时用的第三方工具
[解决办法]
关注下
[解决办法]
最近我们的一个小的项目用到了WCF,被它的魅力所迷惑
呵呵,我也是初学WCF不过感觉很好用,建议楼主考虑
[解决办法]
[解决办法]我用了一下ado.net entity framework,并在ORACLE做了实验,还行,特别是对于主细表关系(即一对多)处理方便,但唯一不足的是如果系统中有几百个以及上千个时,产生EDM比较困难,要另建一个Edm时,得用两个entites1,entities2,跨EDM时处理比较难受
[解决办法]性能方面稍逊一筹,若一次提取大些的数据量时,比较慢.若是提取七\八千条,速度还可以
[解决办法]mark!
[解决办法]UP
[解决办法]6、采用Membership对用户和角色进行统一管理
最好是带接口能够自定义角色的
目前我在做客户需求的时候,经常碰到企业级的客户多数是AD+HR,因此需要根据当前的身份认证系统有接口拓展,否则,用户今后在使用不同的系统需要登入不同的用户身份,最终会被SharePoint等产品给淘汰.
说到SharePoint,其实我觉着楼主的需求利用MOSS完全可以实现.
[解决办法]现在许多企业都比较关心SSO,虽然SSO中对于身份认证数据库似乎并不是太过于关心,可以利用映射表来实现,如果能够将当前的系统与其他系统的身份认证数据库统一在一起,那是再好不过了。举个例子,我在与客户谈需求的时候,对方就说到这样一个情况,当前客户有六套应用系统正在运行,每套应用系统都有自己的身份认证方式,每个用户在每套系统中都有一个用户信息,如果这个用户发生变动,如离职或调职时,同时好几套系统都得同时变更,因此这对于管理员来讲也是一个巨大的工作量。所以,这个身份认证模式可以采用自己的数据库或基于membership或ad的方式来处理,但一定需要留有接口以备与其他系统进行对接。
[解决办法]
mark
[解决办法]
欣赏一下
[解决办法]
up
[解决办法]
支持一下
[解决办法]
[解决办法][解决办法]对事态,表示关注!
[解决办法]顶
[解决办法]局域网用,smartclient,WCF,那就把petshop忘掉吧.
vs2008,采用linq
[解决办法]客户端如果可以的话使用asp.net更容易部署
[解决办法]我给楼主一个建议,可用企业库做架构,主要用于安全与异常错误处理,效果还很不错
[解决办法]楼主很强,只能说顶你
[解决办法]ding
[解决办法]楼主很强,学习了
[解决办法]支持
[解决办法]问题关注中,目前我也在准备试着做一套架构,不知道用C#.net+Ajax.Net+SQLSERVER做BS开发应该用怎样的架构会好一些呢?(主要在架构中封装一些项目常用的一些实现:如Login,Log,Master维护,导入导出,上传下载,角色权限等吧)
还有就是上面说的WCF不知道和WCSF是不是一回事呢,不是很了解,只接触过WCSF,它和WebService比实现上有什么好处呢?也请大家帮忙讨论一下。给点意见。
[解决办法]ding
[解决办法]既然准备是用3.5了,还参考什么petshop4.0。
前端表现层用WPF(内网clickonce发布,外网用silverlight套一层)
网络通讯用WCF(通讯无关,并能AOP)
数据源访问用Entity(做到数据源无关)
什么权限检测,事件日志,数据缓存之类的全局通用操作全部靠AOP
[解决办法][解决办法]mark
[解决办法]顶
[解决办法]找板凳
[解决办法]看来我的赶紧学习WCF
[解决办法]还是remoting好一点,
[解决办法]客服端可以考虑用WPF,我们就是用WPF做客服端的
[解决办法]up
[解决办法]感觉太炫了,智能客户端如果自己做用remoting吧,纯对外的接口再用webservice
------解决方案--------------------
[解决办法][解决办法][解决办法]困难没有办法多
[解决办法][解决办法]建议用三层架构,你要同时满足同时支持SQL Server和Oracle,并可以扩展 ,一定要用三层。
1,表示层,
2,逻辑层,
3,实体模型层,
4,数据库SQL层。
看起来是四层实际上实体模型层是一个抽象层
[解决办法]关注
[解决办法]mark!
[解决办法]关注
[解决办法]WCF 在应用上比remoting 简单一点,毕竟都封装在里面了.
WCF的功能的确很强大
[解决办法]局域网内部的数据库访问直接使用ADO.net就行,没必要搞什么WS,如果你操作的是大数据量的,慢死你。
[解决办法]研究WCF也有段时间了,如果只是把WCF拿来替代web service,这就埋没了WCF的初衷了
WCF的魅力并不在于此,他更多的是事物、安全、异常消息、消息回调处理
[解决办法]架构考虑好扩展,以后慢慢用新技术更新
刚开始不要引入太多新东西。否则风险太大。
[解决办法]mark
[解决办法]好好学习
[解决办法]mark!关注一下哦!
[解决办法]有那么麻烦吗?我觉的你的产品要求很简单啊。
[解决办法]wcf 好好学习下是有好处的。
[解决办法]关注下~希望楼主能吧最终解决方案发布~
[解决办法]Ado.net entity frameWork
如果表很多,会不会影响速度?
[解决办法][解决办法]WCF是.net里最有价值的新功能了,新开发的系统都应该采用,方便以后系统之间的对接
[解决办法]用Winform智能客户端,楼主研究一下Winform客户端的自动升级
[解决办法]学习了
[解决办法]jf了
------解决方案--------------------
用XML Web Services还要考虑好安全性能,如果仅仅为了提供方法还是直接访问数据库好了
[解决办法]