关于作者:自从<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />081021辞职之后到现在12-27)已经有两个月的光景,两个月的时间,说长不长,相对于100年来说,简直如兔子尾巴,不长。说短也难熬,毕竟是66个日日夜夜。在这一段时间内,作者很少来博客,更不用说和大家打声招呼,在此表示诚挚的歉意。那么,作者都干什么去了?去了比较好的公司?还是改行了?还是做坏事蹲号子了?还是…..?不用猜测,作者没有拿着×××去轰炸靖国神社,如果靖国神社没有了,我们到哪去去便便?也没有扛着AK47参加索马里海盗,因为妈妈说不劳而获是可耻的。作者在家研究代码来着,闭关修行,确切的说是在完善一个从05年就想完成而一直没有完成的一个心愿,就是开发一个快速的开发平台。所使用的技术是比较老的,实现的功能也是比较常见的,可以这么定义:没有新的内容,但是针对一些领域开发应用软件来讲,方便。下面就简单的介绍一下这些天的劳动结果。欢迎大家批评指正
1.       平台开发背景:
1.net 的出现
    1. 开发工具:基于.netweb开发软件.net framework
    2. 优点:易学,易用,上手快,快速建模,对使用者要求低。
    3. 缺点:需要支付费用,后台的处理逻辑需要花时间去学习,修改后台处理的流程需要对平台有较多的理解。
2. 基于 java web 开发平台
1.       常用开发软件以及工具 Struts,webwork,Spring,Hibernate,JSF myEclipse ,等
2.       优点: free ,源码开放, ssh 框架满足大型企业级应用的开发需求。 Strut2.0 整合了 Strut,webWork Spring ,使得 Strut 成为业界公认的优秀开发平台,并被普遍接受。
3.       基于 Java 开发的 web 应用程序具备 Java 的优点,并且有许多开源的软件提供相应的支持,比如 tomcat web 服务容器, ANT jdom xdoclet 等组件,对于没有足够资金支付软件使用费用的公司来说,开源软件是经济的选择。
4.       基于 java 的开源软件大部分为国外开发,对于使用者还需要进行学习和本土化。对于快速开发的支持有一定的局限。
5.       国内技术,各大公司都具有自己的快速开发平台,对于大型的开发,平台的支持能力 明显欠缺,最终弃之不用。商用的快速开发平台如 fastUnit 支持界面的可视化开发和定制,功能强大但维护复杂,对高级开发者的要求高。
6.       本平台是在国内外先进技术发展的基础上,借鉴优秀软件的设计思想,针对开发适用于中小企业软件的开发公司定制的。汲取 .net 平台的易用性特点。 Struts 平台的验证、自定义标签和 MVC 架构, Hibernate 的数据层封装操作,融合了 jspsmart jdom applet kindEditor c3p0 popcalender 等开源组件,使用了单例、工厂、职责链、代理、命令等多种设计模式。
  1. 平台特点
    1. 平台的目标是:易学,易用,易维护。
    2. 平台的目的:构建一个方便开发者使用的快速开发工具,使得开发者把更多的精力投入到业务当中。
    3. 平台具有针对性。平台不会宣称支持所有类型的开发。设计者借鉴2/8思想,对常用领域的应用找出最常用的功能,针对这些功能开发代码。
    4. 框架结构简单,MVC架构,视图层提供的方便易用的自定义标签,中间层使用XML作为配置文件,
    5. 开发者要求低,开发者需要了解基本的数据库操作、xml知识、htmljavaScript即可以胜任高级开发,初级开发者只需要了解数据库具有字段和字段类型即可。
    6. 部署方便,平台提供bat脚本,部署程序的过程简化为双击并修改1~2个参数。
    7. 代码易于管理,平台提供ant脚本实现应用的打包,部署,加密,解密,授权。
    8. 界面风格多样化,平台提供多个风格模板供用户选择(升级)。
    9. 支持特殊需求开发,平台提供基础类供开发者使用。
    10. 支持多种数据库,mysql, mssql, oracle,  postGreSql, sysbase
    11. 支持文件上传,统计图表,大文本字段(clob),树形组件。
    12. 支持多种服务器,平台开发基于servlet 2.3规范,凡是支持servlet2.3规范的服务器均适用。TomcatwebLogicwebSphere等。
    13. 跨平台,继承自java
    14. 客户端支持IE,遨游等以IE为内核的浏览器,不支持fireFox
    15. 支持数据双向加密(crm
3. 简单示例
•         假设目前需要一个维护公司部门的功能模块,每个部门都有上级部门,每个部门有部门名称,部门编号,和所属机构。所属机构可以理解为一个总公司或者学校,比如北京大学,下面有学院,学院下面系别,每个学院和系别都属于北京大学。所属机构和上级部门都引用自身作为参照。
•         第一步 , 确定表名和字段
•         表名:部门表 (sysDept)
•         主键 :pk1
•         名称 :deptName
•         编号 :deptNo
•         上级部门 :pdeptpk
•         机构 :org
上级部门和所属机构需要引用自身,需要使用动态选择的标签,因此需要添加另外的字段 .
上级部门 :pdeptpk_show
机构 :org_show
  第二步:录入表的信息
  
第三步:生成相应的页面,依次点击按钮生成 tableTag, moduleTag,jsp Tag,dbTable,dynTag
第四步:配置资源即访问路径。
第五步:为访问部门维护功能的角色授权 ( 角色授权用户略去 ) ,拥有相应角色的用户就可以访问此资源。
生成的主界面:
新增界面:
•         其他用途:柱形图统计
•         文本编辑
•         文件上传等
以上所展示的功能都为自动生成,不需要其他的干预。
•         结论:本平台适合的项目:
•         具有大量信息录入,修改,查询,删除
•         具有审批流程(非工作流)
•         业务报表
•         文件管理
•         信息发布后台
•         数据安全未达到国家机密要求的项目
•         不适合的项目:
•         门户网站
•         个性化网站
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />