zoukankan      html  css  js  c++  java
  • 用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?

     

    这次试验的起因是一场内部辩论。

    “用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?”

     我们推测是快4倍。

    但是经过测试发现,我们推测错了。

    本文记录了试验的规划、过程以及令人惊讶的结果。

    真实的故事。

    参与者

    Renier 简介

    Renier是K2 blackpearl的产品市场营销经理。很 久以前,Renier 还是一名软件开发人员,但是他 现在不再编写程序了。Renier 需要使用 K2 smartforms 来开发测试应用程序。

    Eugene 简介

    Eugene是一名K2技术专家。他是一名非常专业的开 发人员,擅长使用 Visual Studio 和 K2 blackpearl Eugene 的任务是尽快用 ASP.NET 开发出相同的应 用程序。

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    PK应用程序

    我们决定开发费用报销应用程序,因为在某种程度上,所有类型和规模的机构对此都有共同需求。我们常常在 K2 blackpearl 上演示此解决方案,所以可以将现有的应用程序作为设计基础。Renier 和 Eugene 对应用程序的功能都非常熟悉,因此我们相信这是一次公平竞争。

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    PK要求

    Renier 和 Eugene 需要对应用程序要求达成共识。为了区分表单及平衡其他变量,他们二人同意将开发仅限于表单开发。

    试验中不包括表单背后的工作流,并且提前用 K2 SmartObjects 创建数据存储。SmartObjects 的使用类似于传统的业务对象,具有 CRUD(创建、读取、更新、删除)功能。每个人都可以使用相同的设置:员工、成本中心、部门、费用报销和费用报销项。

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    费用报销状态说明

    SAVED(已保存):员工可以创建费用报销单,并且无需提交审批即可保存。这通常用于定期获取费用,以后批量提交。当报销单处于保存状态时,可以打开,对其进行编辑。

    SUBMITTED(已提交):报销单已提交审批。员工无法更改这种状态下的报销单,但可以查看。 

    PROCESSED(已处理):此报销单已经审批并处理。这种状态下的报销单不能更改只能查看。

    系统假定登录 Windows 的用户是员工,需要填写表单。要在此基础上开发以下表单。

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    管理费用报销表单

    管理费用报销表单将作为应用程序的登录页。

     

     

    版块 • 页眉是 K2 标识和应用程序名称 • 当前用户的员工数据及审批负责人列表 • 授权用户创建的所有报销项列表

    操作 •打开并创建新的支出表单 •选择现有支出后,打开我的支出(My Expense)

    创建新的费用报销表单

    员工可以用这个表单收集单项报销费用。

    tl_files/contents/k2-contents/products/smartforms/xinzhichu.jpg

    版块

    • 页眉是 K2 标识和应用程序名称 • 当前用户的员工数据及审批负责人列表 • 费用报销的详细信息,如日期、名称和汇总资料 • 支出项目,包括日期、说明、币种、汇率和附件

    操作 • 提交费用报销单以备审批 • 保存费用报销单,稍后再填写 • 编辑费用报销单的详细信息 • 添加、编辑或删除支出项目

     

    一级和二级审批表单

    审批表单用于验证报销费用,作为工作流的一部分。

     

     

    版块 • 页眉是 K2 标识和应用程序名称 • 当前用户的员工数据及审批负责人列表 • 费用报销的详细信息,如日期、名称和汇总资料 • 支出项目,包括日期、说明、币种、汇率和附件 • 审批人意见 • 历史意见

    操作 • 批准或拒绝报销单 • 添加意见 • 查看支出项目

    tl_files/contents/k2-contents/products/smartforms/shenpibiaodan.jpg

    注:如果报销金额超过部门或审批人的审批额度,那么此报销项就需要2级审批。只要该表单能够显示所有之前的审批意见,那么就由 Renier 和 Eugene 决定他们是否需要使用一个或两个表单来完成多个审批人场景。

    我的支出表单

    员工可以使用这个表单查看已提交的费用。

    版块 • 页眉是 K2 标识和应用程序名称 • 当前用户的员工数据及审批负责人列表 • 费用报销的详细信息,如日期、名称和汇总资料 • 支出项目,包括日期、说明、币种、汇率和附件 • 审批人意见 • 历史意见

    操作 • 查看支出项目 • 关闭表单

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    准备工作

    摄像头已安装在两个隔间外,机器已配置好必需的

    软件,冰箱里放满了苏打水,Camtasia 已经准备好

    录下两人的活动。

     

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    开始运行

    Renier: 已经开始构建表单视图。K2 smartforms 为他完成所有的低级命令;零代码;零耗时;

    Eugene: 在用 ADO 连接K2 SmartObjects 的时候,他已经慢在起跑线上了;

     18分钟时...  

    Renier: 正在配置一个新费用申请表单 

    Eugene :仍然在开发费用报销表单 

     42分钟时...

    Renier: 开始创建一个新的费用报销表单

    Eugene :仍然在编写费用报销表单

     88分钟时...  

    Renier: 已开始测试费用报销表单    

    Eugene :仍然在开发表单,已落后 Renier 67 分钟   

     117分钟时...

    Renier: 已完成整个应用程序开始享受余下时光

    Eugene :仍然在编写代码

     

    4小时... 9小时... 第二天...
    Eugene在编写代码 Eugene在编写代码 Eugene在编写代码

     

    ///////////////////////////////////////////////////////////////////////////////////////////////////

    结论

    “用K2 smartforms开发一个应用程序

    究竟比ASP.NET快多少?”

     17小时,15分钟,52秒 …

    Eugene 终于快完成了。他很疲惫。我们的观点被证实了。我们应该欢呼。

    我们推测是快4倍。

    但是经过测试发现,我们推测错了。

    不是快4倍,而是8倍。

    (至少)

      1:57:52  
                                            VS                                             
      17:15:52  

     

    “我对 K2 smartforms 有了新的认识。让任何一位ASP.NET 开发者进行此项试验,他们都会得出完全相同的结论 - 这件产品简直太棒了!”- Eugene

     

     

     

     

     

     

  • 相关阅读:
    Spring@Profile注解
    day 32 子进程的开启 及其用法
    day 31 udp 协议SOCK_DGRAM
    day 30 客户端获取cmd 命令的步骤
    day 29 socket 理论
    day 29 socket 初级版
    有关 组合 继承
    day 27 多态 接口 类方法 静态方法 hashlib 摘要算法模块
    新式类和经典类的区别
    day 28 hasattr getattr serattr delattr 和带__内置__ 类的内置方法
  • 原文地址:https://www.cnblogs.com/K2China/p/3410082.html
Copyright © 2011-2022 走看看