大型系统OA--技术

OA办公自动化系统--技术###


1.由于涉及企业的流程控制与规则管理。所以系统对于规范要求的严谨性,导致在小型开发组在进行开发时必须基于成熟的技术架构。开源的lemon OA,采用了如下技术细节:



mysql:开源数据库中技术最为成熟。


hibernate:经典的orm框架,由于在OA系统建模时,采用的流程引擎activiti是以一种叫petri网的状态转移模型。状态转移本身,就含有较多的表(实体)映射与关联。


SpringMVC:其实这点值得考虑,因为:(1)系统为了实现很多横向组件,把这些功能放在一个compositeFilter中;(2)系统中url mapping过于分散,当然基于Spring MVC可以直接映射到method上,但是url管理显得有些复杂。


Spring:在配置文件定义bean,在java源代码文件定义注解,可以非常方便地提升工作效率。使得在配置文件中,不需要写那么多的路径或者class。而在java源代码文件中,可以通过注解,省去一些较为通用工具类的加载和初始化。


maven+jetty:web应用的版本管理变得有章可查,而且系统变得轻量,因为依赖库是通过maven-repository在load时进行的加载。


Spring Security:通过Security的authentication和authority机制,定义角色和控制。


inspetktr:通过inspektr实现audit审核服务。


scheduler:定时器功能的实现。

2.下面通过两个序列图来展现这样的系统里的数据流:

controller之前的数据流:

controller之后的数据流:


--------------------unfinished----------------------

原文地址:https://www.cnblogs.com/haore147/p/4691261.html