time 
设为首页】【收藏本站
当前位置: 主页 > 软件工程 > 分析与建模 > RAD外层框架应该具备的内容

RAD外层框架应该具备的内容

时间:2009-12-01 20:28 点击:1183次 字体:[ ]




  整个RAD工具应该包括对象建模,流程建模,业务规则建模和界面建模几部分的内容。因此RAD工具的底层首先应该实现很多基础的内容,否则整个RAD架构本身就是不健壮的。

  现在大家都热衷分层,一个分布式系统是应该适当分层,但要适度。如果分层太多把系统搞得太复杂反而是适得其反,因此我一直的一个观点是架构本身可以具备复杂性,但复杂性是内聚的,不应该暴露给最终的开发人员和使用者。类似于分层,搞得一个简单的功能都要涉及到5,6个甚至更多的类需要和修改,显然对开发效率是有影响的,而且分层太多反而是系统不稳定,出了异常跟踪起来也困难。
 
接着我们考虑RAD底层框架需要考虑的一些内容:
 
1.数据持久层选择:这里需要引入相关的O/R Mapping组件。现在用过的感觉XPO比较好,但是商业化的软件。如果使用NHibernate,Castle或Gentle,则还需要处理大量的配置信息,而这些配置信息到了RAD平台下都需要系统自动的去处理和生成。其实不管用哪种组件,对于数据集的绑定上面始终是无法提供很好的支持的。而使用DataSet或Typed DataSet则基本无此问题,但需要自己来实现一些O/R Mapping的功能。
 
2.异常日志的处理:这应该是系统最基本的一个功能,在这里不推荐使用App Block或其它开源组件了。这块可以根据RAD平台的自身业务需要自己写代码来实现。主要是要明确具体的业务需求,如方面问题的跟踪和Debug,异常能够记录下来,用户相关操作能够记录下来,发生异常时候给用户抛出友好提示但相关实际的错误堆栈又能够记录。这块的实现切记是简单好用,搞得太复杂了反而不好用,而且往往需要大量的配置信息。
 
3.分布式的安全性问题:分布式的安全性主要需要考虑暴露的远程服务接口的安全性,另外就是数据传输过程中的安全性。基本就是这两个大问题,对于Web Service可以采用增加Soap Header来实现验证或采用WSE。对于Remoting安全性可以考虑增加自定义Sink的方式,以Addin插件的方式加入,这样可配置性和扩展性都很强,这块在Sharp Develop IDE和Indigo中有很多可借鉴内容。
 
4.分布式的实现问题:
用户可以选择具体分布式的实现方式,系统应该通过用户选择的方式自动生成相关的服务接口类和服务代理类。所以这里对于Remoting+IIS来实现分布式是最简单的一种方式,只需要配置客户端和服务器端的两个Xml文件即可以实现分布式。因此这里的分布式实现将转换为一个部署问题,用户在RAD建模完成后通过一个发布功能即可以将系统发布为一个分布式的系统。
 
5.对于缓存的考虑问题:还是建议自己来实现,不推荐采用微软的Cache App Block。缓存对于客户端缓存和服务器端缓存都需要考虑,服务器端缓存对性能的提高往往不大,主要是减少DB的打开和关闭时间,降低服务器开销。而由于有Connection Pool,经过测试这块带来的性能增加已经很有限了。所有对于分布式应用,缓存的重点还是在客户端,但是由于并发的问题对于实际的业务单据等数据是不适合进行缓存的,所有对于缓存主要是缓存一些基础代码表,基础表的信息。这些信息往往是不经常变化的。对于缓存可以设置过期时间,在缓存过程后可以强制重新从数据库对数据进行Fetch。
 
6.界面层相关的公用组件:对于界面层需要对TextBox,ComboBox等最基本的控件都进行封装,实现IRadControl接口,方便后续界面UI类的处理和自动生成。对于GRID建议引入相关的商业组件进行处理,这样可以减小GRID处理的复杂性,方便Form的生成。对于系统的菜单应该完全是可以配置的,配置信息应存在xml文件或数据库中,在App启动的时候动态调入。
 
7.自动更新问题
:不建议使用微软的App Update Block。这里可以自己简单的实现一个从远程服务器或数据库中获取最新的dll的Loader程序即可。
 
8.权限管理和工作流问题:权限管理和工作流是紧密结合的系统基础功能,这块首先底层架构要完全适应后期的流程建模。业务对象的权限是跟系统中的角色和用户,当前流程状态等有关系的;而且权限的管理粒度需要细化到业务对象的每个数据项。这样才能够满足时间的业务要求。整个流程建模和对象建模,权限设置都关系紧密,但架构中又要考虑很好的解藕。
 
9.Facade层的抽取:界面建模完成后系统应该支持向Web Form或Win Form两种方式下的动态生成,因此这里的Facade层应该进一步的抽象。特别是对于Web Form 和Win Form在UI实现方式上存在较大差异的地方更需要考虑清楚。



本文地址 : http://www.fengfly.com/plus/view-158819-1.html
标签: 框架 内容 具备 对于 应该 需要
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: