
本文介绍的应用案例是Joinwork合作伙伴为客户开发实现的智能办公系统。在合作伙伴和客户的许可下,这里展现的系统,除了更改了与客户身份相关的信息(系统名称、Logo、组织结构等)外,在功能特性上与实际系统完全一致。为了叙述方便,我们这里称此系统为“JoinDesk智能办公系统”。

JoinDesk智能办公系统包括的功能特性主要可以概括为以下几大类:协同办公、信息交流、内容管理和个人办公。
协同办公包括:公文收发、用车用印申请、请假请示、会议室管理。信息交流包括:通知发布、电子邮件、短消息、论坛、聊天室。内容管理包括:公共信息管理、内部信息管理、档案管理。个人办公包括:个人工作安排、名片夹。
在JoinDesk智能办公系统里涉及到各种多人协作工作流程,如公文收发流程、各种申请流程、网上调查流程和信息发布流程。
它们有的很长需要划分为子流程(如发文流程)、有的一个工作任务需要多人同时办理(如收发文流程中的会签和网上调查流程中的多人同时投票)、有些流程可以退到前几步重新做(如发文流程中的重新撰稿)、有些流程中的工作任务可以终止(如调查发起人可以终止未完成的投票活动)、在用户出差或不方便的时候可以设置工作代理人(如用车申请和请假申请中的审批)。

如果没有Joinwork工作流引擎和可视化流程开发工具,上述这些功能特性全部需要项目开发组成员,在项目预算和周期限制下自己开发实现的话,基本是不可能的。
通过使用Joinwork流程启动节点的权限控制、流程类别的树形结构和流程角色定义,JoinDesk智能办公系统实现了树状功能菜单和权限控制。系统根据登陆用户的身份显示不同的菜单,即使用户直接输入非法的访问联接也不能执行无权的操作。系统管理员可以根据需要随时调整用户权限,更改的权限立即会发生作用。所有这些方便灵活的权限控制功能,不用项目开发人员写一行代码。
JoinDesk智能办公系统中直接使用了Joinwork产品提供的用户和组织管理模块,因为针对这个应用来说Joinwork的用户和组织管理模块完全能够满足需求。
在JoinDesk系统的一些功能页面中经常需要使用到组织结构信息,如发送短信选择收信人、显示当前在线用户时、为发文会签和网上调查选择用户时。通过使用Joinwork组织结构模块的现成API接口,实现上述页面功能比从头写起节约了大量时间。
因为Joinwork动作脚本的语法和Java语言一致,JoinDesk智能办公系统的开发人员没花多少培训时间,就很快的掌握了Joinwork动作脚本的编写。
Joinwork能为数据组件生成JavaBean对象和映射数据库表的特性,因为方便实用,在系统开发时得到了大量的采用。
在美工人员设计好页面总体风格后,Joinwork动态生成的表单不再像例子应用中那么难看了,结果系统中有1/3的页面都是动态生成的,大大的减少了页面开发工作量。
会话流程被大量应用到复杂页面流转中,结果系统虽然使用了Struts框架,可struts_config.xml文件中的页面流转信息却不多。系统的页面流转信息大部分都在Joinwork会话流程模板中了,因为它是图形化的,更直观,维护修改起来更方便。
在管理类软件项目的开发中,业务需求的不确定性和多变性是项目最大的风险之一。“项目中的两个流程:发文流程和收文流程,我们和客户交流了3-4次,每次需求都有变化,可我们都轻松应对了。”合作伙伴负责此项目的技术经理这样说,“知道为啥?改起来方便!”
