lemon OA 下阶段工作安排
lemon OA 下阶段工作安排
经验总结
lemon OA系统作为一个中型的java web系统,在架构上还是有着很好地可学习的地方。但是由于经验不足,过程比较迂回。如果真的有经验的话,应该可以做到如下几点吧,
技术基础的问题
java WEB
的mvc框架
就那么几个,orm层
就那么几个。所以涉及HTTP服务
的技术点以后应该越来越只是一个基础了。但是这些基础十分重要。拿lemon OA来说,它应用了Spring MVC
,hibernate
。项目通过MAVEN
的pom文档来管理,这个花了一些时间来学习。系统是用slf4j做日志系统的,我在后期通过slf4j
来调试流程管理模块的listener功能,还是比较好的。在调试activiti
的流程管理模块时,通过在IDE编译器里设断点来做,比较不现实:一、代码封装在jar文件中;二、代码的逻辑不清楚,因为引擎的代码有一些应该是算法相关,而不是简单的crud功能,所以不好看。在这个时候,通过将mysql的日志功能
打开,查看流程引擎运转过程中,所产生的多条query语句。反而是Spring Security
这个逻辑十分清楚的权限控制组件,花了较多时间来理解和消化。其实,真的没有必要,权限管理这种功能实现方法“自古以来”的实现方式就那么几种。真的没有必要花那么多时间来看。
业务方面的问题
业务的问题,主要就是数据库的建模问题
。基于关系型数据库,设计实体,设计实体之间的关联是比较考验经验的活儿。
1.账号机制+组织机构+权限控制
这一块的东西,数据库的设计一直是比较稳定的。可能实现的机制有所不同,尤其java这块的框架一直有所变动
。但是核心的数据流模型是比较稳定的
。
2.前后台的逻辑划分
前台和后台的编程思维是不一样的,不同语言的编程思维也是不一样的。前台要想做得好,主要是两点:(1)GUI编程,界面效果,事件绑定;(2)数据管理,这点和后台没有本质区别。而后台编程,就是在考虑操作数据库,操作数据库。为了能够更好地操作数据库,我们要依赖服务器,框架各种各样神奇的工具和功能。多掌握一种工具,并且是市场上的通用工具是十分有优势的。
lemon OA 下阶段工作安排的更多相关文章
- Lemon OA第4篇:常用功能
OA,Office Automation的简写,中文意思办公自动化,不同的人有不同的见解,可以简单的理解为网络化办公,高效.协同是其显著的特点,如今正在朝着智能的方向发展 平时不擅长文字,写出来几句话 ...
- BZOJ1572: [Usaco2009 Open]工作安排Job
1572: [Usaco2009 Open]工作安排Job Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 775 Solved: 337[Submit ...
- BZOJ 1572: [Usaco2009 Open]工作安排Job( 贪心 )
贪心... 按截止时间排序 , 然后从小到大考虑 . 假设当前考虑第 i 个任务 , 若目前已选工作数 < D_i , 那就选 i ; 否则 若已选工作中利润最小的比 P_i 小 , 那就去除它 ...
- 【BZOJ 1572】 1572: [Usaco2009 Open]工作安排Job(贪心+优先队列)
1572: [Usaco2009 Open]工作安排Job Description Farmer John 有太多的工作要做啊!!!!!!!!为了让农场高效运转,他必须靠他的工作赚钱,每项工作花一个单 ...
- 1572: [Usaco2009 Open]工作安排Job
1572: [Usaco2009 Open]工作安排Job Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 814 Solved: 365[Submit ...
- Lemon OA第3篇:核心功能
对Lemon OA系统的核心功能进行梳理,分别介绍说明如下文. Portal页面 还是从用户主页开始说起: OA核心的功能就是流程,启动流程,办理流程,查看历史,3个常用功能都罗列在用户主页上,方便用 ...
- Lemon OA第2篇:功能解析方法
Lemon OA,整个系统功能也算是比较丰富,OA的很多功能都能看见影子,虽然做得不是很强大 接触Lemon OA,起源于Activiti的学习热情,既然这样,研究Lemon OA的目标有3: 1.L ...
- Lemon OA第1篇:简单介绍
官方网站:http://www.mossle.com/ 声明:我不是Lemon OA作者,只是分享好的资源.以下内容均代表个人见解~ 从官网说起 知道Lemon OA,也是最近研究Activiti,看 ...
- 关于lemon oa的数据库
lemonOA的数据库默认用的是hsqldb,这个数据库还是第一次听说,暂且不论. 也就说Lemon OA默认使用HSQLDB数据库,是嵌入式的数据库不需要单独安装. lemon-1.4.0\weba ...
随机推荐
- (转)Hibernate 的应用(Hibernate 的结构)?
//首先获得 SessionFactory 的对象 SessionFactory sessionFactory = new Configuration().configure(). buildSess ...
- Java-hibernate的映射文件
Hibernate 需要知道怎样去加载(load)和存储(store)持久化类的对象.这正是 Hibernate 映 射文件发挥作用的地方.映射文件告诉 Hibernate 它应该访问数据库(data ...
- HTML中的API
在程序语言里面就使用API这个行为来讲,可拆解为两个操作:取得API接口和运行API功能 例如:书本具有传授知识的功能,这里就好比一个API,学生拿出某个课本学习,就相当于取得API,学习通过课本学习 ...
- Shell编程之Shift的用法
位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常 ...
- LINQ 101——分区、Join、聚合
一.Partitioning 分区 Take 例1:取前3个数 static void Linq1() { , , , , , , , , , }; ); Console.WriteLine(&quo ...
- 转载C#泛型集合—Dictionary<K,V>使用技巧
1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib) 2.描述 1).从一组键(Key)到一组值(Value) ...
- Centos安装编译环境
众所周知,在安装完Centos完了以后,是没有编译环境的,我自己挂上光盘,手动安装解决了几十的依赖关系,在配置些软件时,还是经常报些依赖软件包的缺失,很是头疼,后来百度了下centos需要装的编译环境 ...
- OpenCV例程实现人脸检测
前段时间看的OpenCV,其实有很多的例子程序,参考代码值得我们学习,对图像特征提取三大法宝:HOG特征,LBP特征,Haar特征有一定了解后. 对本文中的例子程序刚开始没有调通,今晚上调通了,试了试 ...
- #Leet Code# Unique Tree
语言:Python 描述:使用递归实现 class Solution: # @return an integer def numTrees(self, n): : elif n == : else: ...
- Maven入门详解以及Eclisp的集成
1.首先要安装Maven到操作系统上 Maven的下载页面:http://maven.apache.org/download.html Maven跟Tomcat很像,下载下来后直接解压在指定的目录就安 ...