一万光年外  
日历
<2008年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567
统计
  • 随笔 - 15
  • 文章 - 0
  • 评论 - 111
  • 引用 - 4

导航

与我联系

搜索

 

常用链接

留言簿(7)

我参与的团队

随笔分类(16)

随笔档案(13)

相册

友情链接

最新随笔

积分与排名

  • 积分 - 14514
  • 排名 - 2670

最新评论

  • 1. re: 可配置B/S,C/S两用平台之三:自定义业务续
  • 本人也负责一个类似的平台研发,最近完成技术方案! 感觉这类平台的发展速度远远更不上国外技术供应商的IDE发展速度(如:vs2008+linq+codesmith已经完全实现了复杂的DCG,最近SP1还...
  • --yiruoyun

阅读排行榜

评论排行榜

 
平台内置了两种通用的数据窗体模板(可根据需要开发自己的业务模板),树导航模板和表格导航模板,下面一个简单的业务来演示不用一句代码可实现的一些基本的功能。

假设我们要实现一个物品维护的功能,首先定义物品类别,类别的级别是随意的。
1。 在业务配置中配置一个名为物品类别的主业务:

系统会根据数据库表名自动生成数据表,然后配置查询语句,如果需要作更新删除校验的话,可配置更新条件有删除条件,如果要在本表做并发验证,可配置对比字段(多个字段用逗号分隔),系统会根据相应配置自动生成查询及更新语句。
如果要做数据级锁定,可配置锁定的字段及锁定的值!

2。在字段设置中配置相应的数据库字段

除了常规的数据库字段定义外,用户可在此配置编辑控件的类型,如文本框,下拉框等,对复杂的选择器也自动支持,如果在编辑类型中选择了单选器,复选器或多选器后,可在后面的选择业务及选择字段中选择相应的参数,系统会自动生成选择窗体,如从员工表中选择员工的相应资料,此部分内容将在下一部分进行演示。
下拉框支持除从系统选项中选择内容外,也可在下拉类型中选择高级,然后在下拉选项中直接输入SQL语句即可。
如果字段类容为其中一些字段计算而得,可在计算公式中输入相应的公式即可。
除了支持常见的数据验证如必填,唯一等外,还支持正则表达式验证。
系统内置业务编码自动生成功能,在业务编码页面设置了业务编码规则后,在需应用业务编码规则的字段上选择相应的业务编码即可。
系统内置指修改功能,在需批量修改的字段上勾选可批改即可。此部分内容将在下节演示。

3。  配置系统功能菜单
平台采用插件式组件方式,在功能配置中配置了相应的功能后,会自动生成相应的功能菜单。

这里我们在类型名称中选择树导航模板,如果是自动义业务,输入相应的类名即可。
如果选中无授权,则些功能每个用户皆可使用,否则需在权限分配中进行相应授权才可使用,此处方便起见就不设置了。
如果要对每个操作如Add,Edit等进行控制,可以此功能下增加功能点即可。

4. 在C/S的界面设计器中调整业务窗体:所有和界面相关的将在此设置,保存即可。


配置好后系统就自动生成了B/S及C/S的业务程序了:

这是增加功能,系统同自动生成增加本级及增加下级菜单维护树的层级,红色的表示必填项。一些其它的验证此处就不演示了。

系统自动生成数据过滤器功能:

根据不同的数据类型,系统自动生成不同的过滤器,如上为字符型的所有待选项,确认筛选后的窗体如下:


如果要生成快速查找框,也很简单,回到第一步的业务配置窗体,配置以下的查找条件:


重新运行系统后,在左边树上面自动生成快速查找框:

输入相关数据后即可进行模糊查询。

这是C/S的窗体:


本来想把自定义业务写完的,但现在已经2点多了,内容还很多,如:业务编码,数据级锁定,通用选择器等,放到下一章吧。

昨天发了一章后,感谢很多朋友的热情参与,因为前面介绍的都是一些自动配置类的东西,给很多朋友造成了误解这仅是一套可配置的OA系统,其实不是的,这个平台的我个人定位其实在是二次开发方面(因为业务总是出于我们的意料之外),相当于一个中间件,只是内置了很多快速配置的功能而已。以后会写一些二次开发方面的文章来专门说明。

继续啰嗦两句:这个平台完成是个人用业余时间开发的,没有任何版权问题,如果有兴趣合作的话,请留QQMSN详谈,在深圳的朋友如有好的工作也请介绍介绍,现在可是坐吃山空啊!先谢了!




posted on 2008-05-13 02:18 一万光年外 阅读(1302) 评论(19)  编辑 收藏 所属分类: 可配置B/S,C/S两用平台
评论:
  • #1楼   jejwe [未注册用户] Posted @ 2008-05-13 10:51
    很不错啊,
    wgx,这个难道是webgui开发的?

    另外博主看看这个
    http://www.shareidea.net/demo.htm   回复  引用    

  • #2楼 [楼主]  圣人无名       Posted @ 2008-05-13 11:44
    @jejwe
    是用VisualWebgui开发的,因为想B/S和C/S尽量接近,所以选用了VisualWebgui
    不过VisualWebgui问题太多了,改了好多东西!都不知道当初的选择是否正确,庆幸的是现在总算差不多了。
    http://www.shareidea.net/demo.htm 以前看过,写得不错!   回复  引用  查看    

  • #3楼   jejwe [未注册用户] Posted @ 2008-05-13 11:49
    qq 3845261
    加俺
      回复  引用    

  • #4楼   boolwin [未注册用户] Posted @ 2008-05-13 20:03
    什么时候产品化呢   回复  引用    

  • #5楼   Zhongkeruanjian       Posted @ 2008-05-13 22:15
    呵呵,深圳厉害的程序员都喜欢玩这个,做OA还行,不过业务系统没这么简单,就算把所有的界面都生成完(并不是难事),都没节约什么工作量,而难点和耗时间的地方在于对业务的理解和业务逻辑的把握。   回复  引用  查看    

  • #6楼   chegan       Posted @ 2008-05-14 00:01
    @Zhongkeruanjian
    说的没错,业务逻辑这部分是任何工具都不能代替人的编码的,但如果有一种工具可以帮助我们完成那些可以自动完成的工作,何乐而不为呢?   回复  引用  查看    

  • #7楼 [楼主]  圣人无名       Posted @ 2008-05-14 08:59
    @chegan
    和我的想法一样,以前和一个同事说我想做这么一套系统的时候,同事说我想做通天塔,那是不现实的!
    其实我只想做一个梯子,能够快速方便的摘到树上的苹果就行了。如果你一定要上天,那这个梯子至少可以让你爬到房顶,再怎么上天,你自己写吧!
    而这套系统我自认为最得意的地方不是简单,高复用,而是高扩展,我个人也一直认为框架不可能解决所有的业务问题。所以如何在现有框架的基础上扩展自定义的业务就成了重中之重。
    过两天会写一些这方面的文章。
    我个人认为:一个好的框架,高复用和高扩展二者缺一不可!   回复  引用  查看    

  • #8楼 [楼主]  圣人无名       Posted @ 2008-05-14 09:03
    @boolwin
    目前还在进行最后的修改调试,说实话,我对营销实在是外行,我只是一个有点痴迷的程序员啊。
    诚心邀请:如果有朋友对这个框架有兴趣且对营销比较在行的话,可留下联系方式:QQ或MSN,大家可以合作。   回复  引用  查看    

  • #9楼   Zhongkeruanjian       Posted @ 2008-05-14 12:25
    实现这样的东西并不难,现在一般大点的公司都会有这样的平台,除非你比人家做的更好,毕竟这东西很难直接给最终用户用,还得是开发人员使用,(比如绑定数据表的下拉框,最终用户肯定是搞不定的了),所以你要么就自己用,要么就卖给软件公司(这个很难,现在这样的平台太多了,而且别人很难相信你做的是最好的)
    比如我现在所在的公司,也有这样的一套,当然数据库设计是用PB做的,然后通过分析PB文件来生成解决方案(包括数据访问,业务逻辑层,界面层)。其实公司里最缺的人不是技术上的,而是业务上的。很多技术人员都不愿去接触业务,宁愿自己研究技术。
    人的精力是有限的,聪明的人会把自己的精力花在最值得去做的地方,而不是在重复的造轮子。

    补充下:你儿子很Cool啊,呵呵   回复  引用  查看    

  • #10楼   chegan       Posted @ 2008-05-14 16:21
    @圣人无名
    是啊,高复用和高扩展是最重要的,如果不能扩展,那等于没用

    @Zhongkeruanjian
    难不难看你要做成什么样子的了,客户不一定是开发人员,最终用户也可以使用,数据邦定的下拉框最终用户也可以做啊,只需要增加一个简单的字段就可以了   回复  引用  查看    

  • #11楼   金色海洋(jyk)       Posted @ 2008-05-14 16:47
    我的MSN jyk0011@live.cn 有空可以聊一聊。

    1、该程序员写的就交给程序员,客户的思维方式是不一样的,就是说客户可能根本就学不会这种方法(比如 绑定下拉列表框)。

    2、一般这样的都是公司内部自己使用,很少看到有公开的,你的好像也不想公开,那么你想怎么做呢?推销你的框架,卖给某个软件公司,还是什么?

    3、eform 听说过吗?你和他的很像,但是他好像有一个很大的公司作为依托。

    4、确实业务逻辑的思维是不能被工具代替的。当然我也是懒人,能节省体力,就节省点,结果大大增加了脑力劳动的强度,要在短时间内思考很多的问题。

    比如说原来一天做一个页面,五天做五个页面,
    现在用了你的工具,一天就把这五个页面做出来了,但是脑力劳动(思考业务逻辑的部分),一点都没有节省,相当于在一天的时间内,思考了原来可以思考五天的业务逻辑,结果密集度很大。

    反正我的脑袋是有点受不了这种密集程度的,你呢?
      回复  引用  查看    

  • #12楼 [楼主]  圣人无名       Posted @ 2008-05-14 21:59
    @Zhongkeruanjian
    绑定数据表的下拉框?客户就可以做啊,系统有一个选项维护的功能,客户可以直接增加选项类型再选择就可以了(不需要客户懂数据库),不过我没有演示!
    不过不管框做得再好,也不可能解决所有的问题,而我写这个框架的目的,其实就是不想重复造轮子!   回复  引用  查看    

  • #13楼 [楼主]  圣人无名       Posted @ 2008-05-14 22:13
    @金色海洋(jyk)
    好啊,不过近期有点忙,过一段时间再找你!
    eform 没听说过!有时间找资料看看!

    我写这个框架的目的就是希望最终只做自己关心的那部分!
    举个简单的例子吧:
    打仗的时候,大家都在讨论怎么用兵布阵,什么地方出奇兵,或者正奇结合等排兵布阵方面。
    但实际打仗的时候才发现,武器,粮草,士气,平时的训练等等才是致胜的主要关键,也是最耗时的,往往十年准备只为一天。
    而我写这个框架的主要目的,就是想不用再关心武器,粮草,士气,平时的训练等问题,直接做我喜欢的排兵布阵就行了。   回复  引用  查看    

  • #14楼   金色海洋(jyk)       Posted @ 2008-05-15 10:46
    我排兵布阵的方式,主要是靠T_SQL语句。当然还有前期的数据库设计。

    你呢?靠对象吗?   回复  引用  查看    

  • #15楼 [楼主]  圣人无名       Posted @ 2008-05-15 11:04
    @金色海洋(jyk)
    不是,我主要是先抽象出业务技术上的共同点!然后才做具体的业务!   回复  引用  查看    

  • #16楼   chegan       Posted @ 2008-05-15 17:42
    我看VisualWebgui得license好像不能商用?会有问题吗?   回复  引用  查看    

  • #17楼 [楼主]  圣人无名       Posted @ 2008-05-15 19:47
    @chegan
    VisualWebGui是授权方式是LGPL
    我查了一下LGPL:

    * 基于 GPL 的软件允许商业化销售,但不允许封闭源代码。
    * 如果您对遵循 GPL 的软件进行任何改动和/或再次开发,则您的产品必须继承 GPL 协议,不允许封闭源代码。
    * 基于 LGPL 的软件也允许商业化销售,但不允许封闭源代码。
    * 如果您对遵循 LGPL 的软件进行任何改动和/或再次开发,则您的产品不必继承 LGPL 协议,同时允许封闭源代码

    商用应该是没问题,不过以后会不会收费就说不清楚了。   回复  引用  查看    

  • #18楼   赵俊       Posted @ 2008-05-31 11:41
    有一种程序架构是介于C/S和B/S之间的,通常的做法是Windows Form系统在程序中访问Web Form页面来完成相关模块的操作,比如招行网银系统。

    我想问一下,这种系统是不是就是简单的在Windows Form系统中加入Web浏览器控件,访问到相关页面完成的啊?不知道具体是怎么实现的?还有这种结构的系统和Smart Client系统有什么关系?谢谢!   回复  引用  查看    

  • #19楼 [楼主]  圣人无名       Posted @ 2008-06-06 12:49
    @赵俊
    不好意思 ,这一段时间比较忙,好久没有上来了
    不是,WinForm和WebForm完全是两套不同的系统!在功能上和操作性上是完全不同的!
    B/S不是用SmartClient的技术实现的,SmartClient其实不能说是B/S系统,这个是完全基于Ajax的方式开发的,客户端不用安装任何东西。   回复  引用  查看    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-05-15 09:08 编辑过


相关链接:
 


 
Copyright © 一万光年外 Powered by: 博客园 模板提供:沪江博客