1. 程式人生 > >企業信息化快速開發平臺--JeeSite

企業信息化快速開發平臺--JeeSite

模塊化設計 範圍 select 應用服務 容易 work ckeditor 流程 選擇框

  JeeSite是在Spring Framework基礎上搭建的一個Java基礎開發平臺,以Spring MVC為模型視圖控制器,MyBatis為數據訪問層, Apache Shiro為權限授權層,Ehcahe對常用數據進行緩存,Activit為工作流引擎。是JavaEE界的最佳整合。

內置功能

  1. 用戶管理:用戶是系統操作者,該功能主要完成系統用戶配置。
  2. 機構管理:配置系統組織機構(公司、部門、小組),樹結構展現,可隨意調整上下級。
  3. 區域管理:系統城市區域模型,如:國家、省市、地市、區縣的維護。
  4. 菜單管理:配置系統菜單,操作權限,按鈕權限標識等。
  5. 角色管理:角色菜單權限分配、設置角色按機構進行數據範圍權限劃分。
  6. 字典管理:對系統中經常使用的一些較為固定的數據進行維護,如:是否、男女、類別、級別等。
  7. 操作日誌:系統正常操作日誌記錄和查詢;系統異常信息日誌記錄和查詢。
  8. 連接池監視:監視當期系統數據庫連接池狀態,可進行分析SQL找出系統性能瓶頸。
  9. 工作流引擎:實現業務工單流轉、在線流程設計器。

      

為何選擇JeeSite

  1. 使用 Apache License 2.0 協議,源代碼完全開源,無商業限制。
  2. 使用目前主流的Java EE開發框架,簡單易學,學習成本低。
  3. 數據庫無限制,目前支持MySql、Oracle,可擴充SQL Server、PostgreSQL、H2等。
  4. 模塊化設計,層次結構清晰。內置一系列企業信息管理的基礎功能。
  5. 操作權限控制精密細致,對所有管理鏈接都進行權限驗證,可控制到按鈕。
  6. 數據權限控制精密細致,對指定數據集權限進行過濾,七種數據權限可供選擇。
  7. 提供在線功能代碼生成工具,提高開發效率及質量。
  8. 提供常用工具類封裝,日誌、緩存、驗證、字典、組織機構等,常用標簽(taglib),獲取當前組織機構、字典等數據。
  9. 兼容目前最流行瀏覽器(IE7+、Chrome、Firefox)IE6也支持,但體驗效果差。

      

技術選型

1、後端

  • 核心框架:Spring Framework 4.1
  • 安全框架:Apache Shiro 1.2
  • 視圖框架:Spring MVC 4.1
  • 服務端驗證:Hibernate Validator 5.2
  • 布局框架:SiteMesh 2.4
  • 工作流引擎:Activiti 5.21
  • 任務調度:Spring Task 4.1
  • 持久層框架:MyBatis 3.2
  • 數據庫連接池:Alibaba Druid 1.0
  • 緩存框架:Ehcache 2.6、Redis
  • 日誌管理:SLF4J 1.7、Log4j
  • 工具類:Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI 3.9

2、前端

  • JS框架:jQuery 1.9。
  • CSS框架:Twitter Bootstrap 2.3.1(穩定是後臺,UI方面根據需求自己升級改造吧)。
  • 客戶端驗證:JQuery Validation Plugin 1.11。
  • 富文本在線編輯:CKEditor
  • 在線文件管理:CKFinder
  • 動態頁簽:Jerichotab
  • 手機端框架:Jingle
  • 數據表格:jqGrid
  • 對話框:jQuery jBox
  • 下拉選擇框:jQuery Select2
  • 樹結構控件:jQuery zTree
  • 日期控件: My97DatePicker

3、平臺

  • 服務器中間件:在Java EE 5規範(Servlet 2.5、JSP 2.1)下開發,支持應用服務器中間件 有Tomcat 6+、Jboss 7+、WebLogic 10+、WebSphere 8+。
  • 數據庫支持:目前僅提供MySql和Oracle數據庫的支持,但不限於數據庫,平臺留有其它數據庫支持接口, 你可以很方便的更改為其它數據庫,如:SqlServer 2008、MySql 5.5、H2等
  • 開發環境:Java、Eclipse Java EE 4.3、Maven 3.1、Git

    

安全考慮

  1. 開發語言:系統采用Java 語言開發,具有卓越的通用性、高效性、平臺移植性和安全性。
  2. 分層設計:(數據庫層,數據訪問層,業務邏輯層,展示層)層次清楚,低耦合,各層必須通過接口才能接入並進行參數校驗(如:在展示層不可直接操作數據庫),保證數據操作的安全。
  3. 雙重驗證:用戶表單提交雙驗證:包括服務器端驗證及客戶端驗證,防止用戶通過瀏覽器惡意修改(如不可寫文本域、隱藏變量篡改、上傳非法文件等),跳過客戶端驗證操作數據庫。
  4. 安全編碼:用戶表單提交所有數據,在服務器端都進行安全編碼,防止用戶提交非法腳本及SQL註入獲取敏感數據等,確保數據安全。
  5. 密碼加密:登錄用戶密碼進行SHA1散列加密,此加密方法是不可逆的。保證密文泄露後的安全問題。
  6. 強制訪問:系統對所有管理端鏈接都進行用戶身份權限驗證,防止用戶直接填寫url進行訪問。

  

##為何使用MyBatis

  • 學習成本:Hibernate的真正掌握要比Mybatis來得難不少。Mybatis框架相對簡單很容易上手,也更加靈活。 對於學習過Hibernate的用戶,學習起MyBatis也更容易上手。

  • 開發成本:大家都說Hibernate開發效率高,個人認為MyBatis的開發效率並不比Hibernate低, 通過代碼生成器和封裝開發效率不是問題,並且MyBatis可控性比較高,並更易於維護。

  • 性能方面:由於Hibernate比較難以掌握,性能方面也成為了Hibernate的問題瓶頸,當然如果你對Hibernate非常熟, Hibernate性能上定不是問題。但對於大多數情況下,真正掌握Hibernate的人少之又少,然而的也就造就了項目風險加大。

  • 多數據庫支持:有些人說MyBatis對多數據庫支持困難,我認為這個不是問題,雖說目前JeeSite僅提供對MySql或Oracle 數據庫的支持,但對於支持其它數據庫的改動也不是很麻煩,SQL是被專門寫在XML中,對於大多數SQL來說都是通用的, 對於不同的數據庫可通過dbName區分和修改各別的SQL片段即可。

企業信息化快速開發平臺--JeeSite