天天看点

大型系统OA--技术

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

<code>mysql</code>:开源数据库中技术最为成熟。

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

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

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

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

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

<code>inspetktr</code>:通过inspektr实现audit审核服务。

<code>scheduler</code>:定时器功能的实现。

------

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

controller之前的数据流:

大型系统OA--技术

controller之后的数据流:

大型系统OA--技术

--------------------<code>unfinished</code>----------------------

本文转自二郎三郎博客园博客,原文链接:http://www.cnblogs.com/haore147/p/4691261.html,如需转载请自行联系原作者