zoukankan      html  css  js  c++  java
  • OA生成器的构思与实现数飞OA的实现

          说到OA系统,通常我们会想到发布公告、审批文件、文件管理等等。这些功能,到了开发人员手里就是存储数据、查询数据。用java开发OA软件有6年了,经常在做重复的工作,于是构思开发一个OA引擎,可以由普通的实施人员,在可视化的界面上配置系统属性、拖拉控件。有了OA引擎,就可以根据客户的个性化要求进行配置,在最短的时间内部署一套全新的OA。

         说的简单些,OA引擎就是一个OA生成器、OA开发工具、OA配置工具、表单引擎。我们构思用javascript定义表单,用java驱动XML,自动创建、修改数据库。JAVA程序通过读取XML配置文件,自动生成数据查询程序、数据录入程序、数据查询统计程序等等,用简单的技术实现引擎驱动的概念。
       
          表单引擎不仅仅是定义表单。传统概念的表单定义仅仅是定义布局、输入控件,在B/S系统里就是定义html,控件table和input。在数飞OA系统中,定义表单仅仅是表单引擎的一个步骤,这个步骤主要是用js控件html,通过点击拖动实现。这个步骤可以由实施人员或者最终用户来操作,尽可能的按照用户自己的意愿进行布局和加入需要的控件。跟数据表的交互由引擎完成,每加入一个控件我们自动对应一个数据表的字段,用户不需要涉及这一快。在保存表单的时候,系统将字段情况保存到XML,同时自己创建或者修改数据表。

          我们可以将一个功能模块定义成一个表单,比如人事档案。在定义界面的同时,可以选择使用那种权限类型,是否需要附件、是否需要使用编辑器、是否需要使用word控件、excel控件,甚至可以指定是否需要流程审批。这些属性同样保存到XML配置文件中,最终由JAVA驱动实现最终用户的要求。

          没有导入导出、查询统计的系统肯定不好用,于是我们的XML配置里加入了导入导出、查询统计的定义。

          对于高级用户的要求,比如需要指定数据表的名称、数据字段的名称、类型等,我们同样提供了定义功能。

          实现了以上的构思后,优势如下:
    1。可以用极少的时间去实现一个功能,不需要重复的编码,甚至不需要开发人员就可以实现
    2。所有的功能都出自表单引擎,代码集中,不需要花很多精力去维护很多代码

          深圳数飞尔科技致力于以上问题的研究,实现人员ken@soarwell.com,QQ472992,欢迎讨论。

    图一: 用js+html实现表单定义的界面

    图二: 系统自动创建数据表格式,用户也可以选择自己配置字段名称,显示属性等:

    图三: 定义表单保存后,系统自动生成对应的程序界面,不需要重新编译

    有兴趣的朋友,可以到http://www.soarwell.com/下载以上实现.

  • 相关阅读:
    java cocurrent并发包
    阻塞队列只有一个线程在同一时刻对其进行或者读或者写
    在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。
    深入理解生产者消费者
    java并发编程阻塞队列
    高并发
    ClassLoader Java中类加载出现在哪个阶段,编译期和运行期? 类加载和类装载是一样的吗
    JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式)
    Java并发编程-Executor框架(转)
    Java主线程等待所有子线程执行完毕再执行解决办法(转)
  • 原文地址:https://www.cnblogs.com/soarwell/p/1413060.html
Copyright © 2011-2022 走看看