lemon OA 下阶段工作安排

经验总结

lemon OA系统作为一个中型的java web系统,在架构上还是有着很好地可学习的地方。但是由于经验不足,过程比较迂回。如果真的有经验的话,应该可以做到如下几点吧,

技术基础的问题

java WEBmvc框架就那么几个,orm层就那么几个。所以涉及HTTP服务的技术点以后应该越来越只是一个基础了。但是这些基础十分重要。拿lemon OA来说,它应用了Spring MVChibernate。项目通过MAVEN的pom文档来管理,这个花了一些时间来学习。系统是用slf4j做日志系统的,我在后期通过slf4j来调试流程管理模块的listener功能,还是比较好的。在调试activiti的流程管理模块时,通过在IDE编译器里设断点来做,比较不现实:一、代码封装在jar文件中;二、代码的逻辑不清楚,因为引擎的代码有一些应该是算法相关,而不是简单的crud功能,所以不好看。在这个时候,通过将mysql的日志功能打开,查看流程引擎运转过程中,所产生的多条query语句。反而是Spring Security这个逻辑十分清楚的权限控制组件,花了较多时间来理解和消化。其实,真的没有必要,权限管理这种功能实现方法“自古以来”的实现方式就那么几种。真的没有必要花那么多时间来看。

业务方面的问题

业务的问题,主要就是数据库的建模问题。基于关系型数据库,设计实体,设计实体之间的关联是比较考验经验的活儿。

1.账号机制+组织机构+权限控制

这一块的东西,数据库的设计一直是比较稳定的。可能实现的机制有所不同,尤其java这块的框架一直有所变动。但是核心的数据流模型是比较稳定的

2.前后台的逻辑划分

前台和后台的编程思维是不一样的,不同语言的编程思维也是不一样的。前台要想做得好,主要是两点:(1)GUI编程,界面效果,事件绑定;(2)数据管理,这点和后台没有本质区别。而后台编程,就是在考虑操作数据库,操作数据库。为了能够更好地操作数据库,我们要依赖服务器,框架各种各样神奇的工具和功能。多掌握一种工具,并且是市场上的通用工具是十分有优势的。

lemon OA 下阶段工作安排的更多相关文章

  1. Lemon OA第4篇:常用功能

    OA,Office Automation的简写,中文意思办公自动化,不同的人有不同的见解,可以简单的理解为网络化办公,高效.协同是其显著的特点,如今正在朝着智能的方向发展 平时不擅长文字,写出来几句话 ...

  2. BZOJ1572: [Usaco2009 Open]工作安排Job

    1572: [Usaco2009 Open]工作安排Job Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 775  Solved: 337[Submit ...

  3. BZOJ 1572: [Usaco2009 Open]工作安排Job( 贪心 )

    贪心... 按截止时间排序 , 然后从小到大考虑 . 假设当前考虑第 i 个任务 , 若目前已选工作数 < D_i , 那就选 i ; 否则 若已选工作中利润最小的比 P_i 小 , 那就去除它 ...

  4. 【BZOJ 1572】 1572: [Usaco2009 Open]工作安排Job(贪心+优先队列)

    1572: [Usaco2009 Open]工作安排Job Description Farmer John 有太多的工作要做啊!!!!!!!!为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单 ...

  5. 1572: [Usaco2009 Open]工作安排Job

    1572: [Usaco2009 Open]工作安排Job Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 814  Solved: 365[Submit ...

  6. Lemon OA第3篇:核心功能

    对Lemon OA系统的核心功能进行梳理,分别介绍说明如下文. Portal页面 还是从用户主页开始说起: OA核心的功能就是流程,启动流程,办理流程,查看历史,3个常用功能都罗列在用户主页上,方便用 ...

  7. Lemon OA第2篇:功能解析方法

    Lemon OA,整个系统功能也算是比较丰富,OA的很多功能都能看见影子,虽然做得不是很强大 接触Lemon OA,起源于Activiti的学习热情,既然这样,研究Lemon OA的目标有3: 1.L ...

  8. Lemon OA第1篇:简单介绍

    官方网站:http://www.mossle.com/ 声明:我不是Lemon OA作者,只是分享好的资源.以下内容均代表个人见解~ 从官网说起 知道Lemon OA,也是最近研究Activiti,看 ...

  9. 关于lemon oa的数据库

    lemonOA的数据库默认用的是hsqldb,这个数据库还是第一次听说,暂且不论. 也就说Lemon OA默认使用HSQLDB数据库,是嵌入式的数据库不需要单独安装. lemon-1.4.0\weba ...

随机推荐

  1. VS2010调试多进程--医疗His调试中使用

    有些时候碰到自己开发的程序嵌入到别人的框架中,而在接口的地方出了问题,而又不方便将自己的模快加入到别人的工程中这个时候VS的附加到进程调试变得不可或缺了,直奔主题 http://msdn.micros ...

  2. JDK自带方法实现RSA非对称加密

    package jdbc.pro.lin; import java.security.InvalidKeyException; import java.security.Key; import jav ...

  3. 手把手教你Windows下Go语言的环境搭建

    1.想写GO语言首先得下载go语言的开发包 官方下载地址:https://code.google.com/p/go/downloads/list 我用的是Win7 64位的操作系统,截图如下: 2.把 ...

  4. 域名解析-delphi 源码

    unit Unit1; interface uses  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, Syste ...

  5. 状态CSS

    <span style="background-color: #999999 !important;color:#FFFFFF;font-size: 11px;height: 18px ...

  6. http和HTTPS的区别及SSL介绍

    简单来说: 在URL前加https://前缀表明是用SSL加密的. 你的电脑与服务器之间收发的信息传输将更加安全. Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定.  ...

  7. Javascript字符串拼接小技巧

    在Javascript中经常会遇到字符串的问题,但是如果要拼接的字符串过长就比较麻烦了. 如果是在一行的,可读性差不说,如果要换行的,会直接报错. 在此介绍几种Javascript拼接字符串的技巧. ...

  8. 【清橙A1084】【FFT】快速傅里叶变换

    问题描述 离散傅立叶变换在信号处理中扮演者重要的角色.利用傅立叶变换,可以实现信号在时域和频域之间的转换. 对于一个给定的长度为n=2m (m为整数) 的复数序列X0, X1, …, Xn-1,离散傅 ...

  9. 更改css element.style

    样式后面加 !important就可以更改element.style的优先级了

  10. jquery自动切换tabs选项卡

    <%@ page language="java" contentType="text/html; charset=utf-8"    pageEncodi ...