OpenJweb

OpenJweb,是一款基於java主流開源技術(SSH2)實現的Web套用快速開發平台產品。

簡介

OpenJWeb是一款基於java主流開源技術(SSH2)實現的Web套用快速開發平台產品。如果選擇了OpenJWeb作為貴公司的基礎產品架構,這意味著您選擇了一個低成本、高效率的軟體開發模式,換句話說,就是軟體開發速度會成倍提高、產品或項目研發成本會大幅度降低。而且OpenJWeb還為您的公司節省了一個平台研發團隊的投入。

功能特點

1.6.1 多語言支持
可在登錄後的系統首頁通過點語種連線來切換不同的語種(不過目前有許多頁面沒做文字翻譯,只翻譯了個別單詞可以看到語種切換的效果)。表單列表頁面和編輯頁面的標籤支持多語,只需要在表欄位定義中定義各語種文字,從平台編譯代碼後,能自動生成對應的多語資源檔案
1.6.2 Portlet風格的首頁
帶Portlet風格的後台首頁,可實現Portlet視窗的拖拉,目前設定了我的待辦任務,我的已辦任務等Portlet(目前尚未設計OA及工作流系統,所以Porlet中的信息目前是演示數據)。
1.6.3 線上編譯功能
通過平台生成功能代碼後,不需要在IDE開發環境中執行代碼編譯,可直接在頁面中點“編譯代碼”,編譯完成後新代碼生效。
1.6.4 提供了定時器開發接口
平台已提供了定時器的具體開發和配置的例子,用戶只需要在指定的定時期類中增加自己的新的定時器方法,並在Spring配置檔案中稍作配置即可。
1.6.5 提供了郵件傳送API調用接口
平台已提供帶HTML格式的多附屬檔案傳送調用API,利用這個API可很方便地實現郵件群發
1.6.6 集成了FckEdit線上編輯器
本平台提供了基於FckEdit的可視化的線上編輯器。
1.6.7 提供了業務邏輯組件接口和實現類的生成功能
當建表時,如果選擇生成業務邏輯組件,則自動生成業務邏輯接口和實現類。並自動在Spring配置檔案中進行配置。
1.6.8 支持基於JTA的跨資料庫事務
可實現跨資料庫的事務控制,當指定異常拋出時,可在兩個資料庫中同時回滾
1.6.9 表結構管理
定義了表和表欄位後,可生成資料庫表、Hibernate映射檔案和Java實體類。表欄位定義中可定義欄位的類型,長度,是否非空,各語種標籤文字,使用哪些欄位校驗器,默認值生成規則設定,表欄位在列表頁面和編輯頁面是否顯示,顯示順序,表欄位的輸入方式(輸入框,日期選擇,彈出視窗,下拉列表等多種輸入形式)、表欄位是否為查詢條件欄位等。另外表欄位維護中還增加了生成表欄位功能,用於在表已經建立後,如果增加新的欄位,就不再需要從開發環境中開發實體類,hibernate映射檔案進行修改,也不需要打開資料庫管理工具增加新的欄位,只需要在頁面上執行操作就可以完成以上內容。
1.6.10 代碼表管理
也稱數據字典管理,主要用於頁面上下拉列表的下拉選項的定義。例如職稱可定義001工程師,002高級工程師;用戶既可定義代碼表位於專用的數據字典表,也可以指定任意表的兩個欄位作為代碼欄位和名稱欄位。如果同一類型的代碼不是很多(少於50條),可以用代碼表管理,代碼表的明細項如果太多,推薦專門建表維護,這時別的欄位如參照使用本代碼表,應該使用彈出視窗進行選擇。
1.6.11 功能定義
可針對一個資料庫表創建單表增刪改查頁面。也可創建主明細表增刪改查頁面(可帶多個tab)。建主明細表時需要維護主表和明細表對照關係。在本頁面配置好功能相關屬性後,點“生成代碼”,可生成struts2的action配置檔案,action控制層類,列表頁面,編輯頁面,彈出視窗選擇頁面(每個功能都有可能作為別的頁面欄位的參照輸入)。如果此頁面中設定了要創建的表單類型(單表/主表/明細表),則可分別針對不同的表單類型創建對應風格的頁面。
1.6.12 數據許可權定義
可指定一個表設定針對不同用戶的不同的數據許可權,包括查詢許可權,修改和刪除許可權。
1.6.13 欄位校驗器
平台可從欄位校驗器表中讀取欄位校驗器類進行保存前的數據校驗。如果用戶開發了新的校驗器(需要實現校驗器接口),可錄入到資料庫中,然後在表欄位定義中選擇性地綁定需要的校驗器。用戶還可以自己設定正則表達式校驗器。
1.6.14 查詢
平台生成的頁面中有顯示在列表頁面查詢列,如果想增加或減少查詢列,只需要修改表欄位定義中的是否查詢欄位,將是否查詢條件設定為“否”,然後重新生成此功能的代碼即可。另外組合查詢中可定義定義組合查詢條件。本平台的查詢條件欄位的輸入方式是根據配置動態變化的,例如日期輸入型欄位,則查詢條件自動顯示日期選擇器,如果是彈出視窗,自動顯示彈出按鈕,如果是下拉列表,查詢條件列自動檢索出列表項。
1.6.15 許可權維護
維護一個許可權樹。許可權樹中可定義功能選單許可權,按鈕許可權等。如果設定了URL,則沒有授權的用戶不能訪問URL,此表是Spring Security框架讀取許可權信息的表,是許可權框架的核心資料庫表。
1.6.16 公司基本信息維護
維護頂級法人公司列表。是組織結構樹的根,在這裡可以錄入本公司,客戶公司。如客戶公司因業務需要需在本系統建立自己的組織結構和用戶,則需要在這裡註冊公司信息。
1.6.17 組織結構維護
可選擇一個頂級公司維護組織結構樹,組織結構樹可定義行政部門、客戶、供應商、角色、崗位、業務組等多種類型組織結構,可以在一個組織結構下維護人員信息,同時也可以維護一個多對多的組織結構-人員關係,比如某個組織結構節點為角色,則可以將屬於此角色的人員添加進來。這樣形成了一個多對多的矩陣型組織結構-人員關係,如果此組織結構被授予許可權,則直屬此組織結構的人員可以獲得組織結構許可權;另外,角色許可權可以繼承,即上級角色可以具有下級角色的許可權;另外系統還可直接對人員授權。這樣一個人員的許可權就包括了直接授權,從組織結構獲得許可權,從角色型組織結構獲得許可權及繼承許可權,這樣構成了一個完整的授權體系。
1.6.18 EXCEL導出功能
通過OpenJWeb平台生成的功能頁面中提供了針對此頁面數據的EXCEL導出功能,所以在本平台中,針對單表的普通列表格式的EXCEL導出功能完全不再需要開發人員自己開發,這無疑節省了大量的EXCEL導出功能的開發時間。本平台的EXCEL導出功能大致有以下幾個特點:
(1) 普通格式的EXCEL導出功能不再需要開發人員編寫代碼實現。通過平台生成的增刪改查功能頁面都具有EXCEL導出功能。
(2) 可以由用戶自己定義導出的EXCEL表格的查詢條件。
(3) 可以由用戶定義EXCEL表格的標題文字、EXCEL中單元格的表頭文字、單元格對應的欄位順序,可定義資料庫中哪些欄位在EXCEL中顯示,哪些隱藏,這樣可以由用戶來控制單元格顯示順序及需要顯示那些內容。
(4) 因為資料庫表中很多欄位存儲的是編碼,而EXCEL中需要顯示名稱,例如省份欄位存儲的是0001,實際上此代碼映射的是北京市,所以在EXCEL表格中需要顯示出北京市。在本平台中可以定義任一編碼欄位對應的名稱,這個是通過設定一個SQL來查詢編碼對應的名稱。
1.6.19 EXCEL導入資料庫
通過平台生成的增刪改查頁面具有EXCEL導出以及從EXCEL導入數據到資料庫中的功能。這樣就實現了通過EXCEL快速編輯數據的功能,在系統錄入大量數據的時候非常有用。由於每個頁面都由平台生成了導入數據的按鈕和實現,所以使用本平台開發新的功能不需要開發人員重複編寫EXCEL導入資料庫的代碼。在操作EXCEL導入資料庫功能之前,可以先從平台中導出數據,然後在導出的EXCEL檔案中編輯,編輯完成後導入到資料庫中,系統在導入過程中會根據設定的業務主鍵來自動判斷哪些數據是新增的,哪些數據是在原來的基礎上修改的記錄,這樣系統可以自己選擇是插入一條新數據還是在原來的行上替換新的值。如果EXCEL單元格中,有的值是名稱,錄入到資料庫需要反查編碼,例如EXCEL中的城市為“北京”,但在資料庫中“北京”的編碼是001,這樣EXCEL導入資料庫時會自動將北京替換為001。
1.6.20 快速功能建模
OpenJWeb提供了功能選單快速創建功能,選單創建完成後,將選單許可權分配給用戶,很快就可以搭建一個新的子系統框架。只要頁面開發出來與選單進行連線,並與許可權綁定,功能模組就可以使用了。具體操作方法見用戶手冊。
1.6.21 站內全文檢索
OpenJWeb集成了Lucene搜尋引擎,並開發了html、txt、pdf、excel、word等格式的檔案解析器。在OpenJWeb平台中,當信息發布為靜態頁面後,靜態頁面會保存到一個公共目錄,平台的後台定時器可定時調用搜尋引擎進行索引重建。所以每隔一段時間,發布的靜態頁面就可以通過搜尋頁面按關鍵字進行檢索。
1.6.22 Spring Security與單點登錄產品CAS
本平台提供了Spring Security與CAS Server 3+的整合方式。如果用戶需要配置Spring Security和CAS Server,可參考web.xml.cas和ApplicationContext-security.xml.cas.用戶手冊里描述了部分配置過程。
1.6.23 樹型結構生成器
OpenJWeb平台實現了樹型結構生成器,用戶可以在平台定義一個樹型的表結構,並根據這個表生成一個樹型的增刪改查維護頁面,非常方便。這個功能解決了企業套用開發中樹型結構維護功能的開發難度大,周期長的問題,使用本平台幾分鐘就可以創建一個增刪改查功能,並且不用編寫任何代碼。
1.6.24 工作流支持
OpenJWeb平台實現了工作流引擎,支持流程狀態設定、審批流設定、路由、條件設定、工作流定時器、工作流表單動態生成、待辦任務、郵件通知、單據打回處理。審批單可以顯示審批日誌、單據狀態、並可根據參與者條件自動顯示可由當前人員審批的審批路線,審批單上還可以填寫審批意見等。
1.6.25 內容管理系統信息編輯與發布
在簡易審批流的支持下,平台實現了信息審批流的配置,用戶使用Fckedit線上編輯器,在審批通過後,發布信息的同時可生成靜態的html頁面,信息發布前也可指定對應的欄目。靜態頁面的內容可被平台的搜尋引擎定時索引。
1.6.26 資料庫管理工具
平台支持oracle、Sybase、sqlserver、mysql等多種資料庫,並提供了資料庫結構轉出功能、不同資料庫之間的數據完整複製功能、資料庫表結構文檔生成功能等。用戶可以很方便地利用本平台將一種資料庫轉換為另外一種資料庫。
1.6.27 線上考試/線上調查系統
openjweb實現了線上考試/線上調查系統,可定義試卷、試題、標準答案、試題分數、試題類型支持單選、多選、簡答。選擇題支持計算機自動打分功能。
1.6.28 簡易的即時通信功能
平台實現了簡單的即時通信功能,用戶可選擇其他人員進行線上聊天。
1.6.29 集成了Jforum論壇產品
Openjweb平台實現了與jforum論壇進行單點登錄和單點退出功能。
1.6.30 多種開發實例
開發人員可以通過openjweb學習mvc的設計模式,郵件收發,excel 導入導出,spring security和cas集成模式,檔案的上傳下載,blob圖片存儲,圖片驗證碼生成、欄位校驗框架、許可權管理框架、fckedit集成、ssh2等多種開發技巧。如果開發人員想快速超越同齡人,請關注、學習openjweb,並歡迎廣大開發人員為openjweb提出寶貴意見。如果您使用過其他的開源和商用快速開發工具,再來關注openjweb這個快速開發平台,它會為您帶來更多的驚喜。

使用技巧

如果您決定使用OpenJWeb作為Java Web套用的基礎架構,您會獲得以下利益:
(1) OpenJWeb平台的絕大部分原始碼。
(2) 不再需要花大量資金投入一個平台研發團隊。
(3) 您的開發人員不再需要單獨投入大量工作時間研究開源技術,OpenJWeb已經集成了主流的Java 開源技術。
(4) 與商業的平台廠商不同,OpenJWeb為貴公司提供了透明的平台架構,您公司完全可以基於平台做更多的擴展。
(5) 低廉的產品價格和永久免費的線上技術支持(QQ或MSN)。
(6) 定義一個增刪改查模組僅需要幾分鐘時間,並且還可以生成java原始碼,支持單表,主明細(Master-Detail)表、樹型結構、審批單等多種樣式的Web頁面。

作用

(1) 在企業套用開發中,組織結構,許可權,功能選單管理等基礎模組,因為沒有進行良好的設計,導致在不同的項目中不能重用,還要做大量修改才能在新的項目中使用。
(2) 對於單表,主明細表類的增刪改查,由於開發模式相似,但由於沒有代碼生成器和Web頁面生成器,導致程式設計師即使開發一個相似的功能,也要花大量的時間進行編碼和調試。開發效率非常低。開發人員經常因為查找一個BUG花費大量時間調試,調試完才發現不是有的地方在複製代碼的過程中漏改了,就是有的地方大小寫拼寫錯誤等等。
(3) 在國內,大量的公司,大量的項目開發人員都不可避免地要實現組織結構,許可權等每個業務系統都必需的基礎功能,如果有一個好的開源的平台,大家就不需要在這些基礎模組上投入不必要的開發時間,有這樣的平台能大大降低研發資源的重複投入。
(4) 欄位校驗規則,欄位默認值、頁面中的查詢條件列,都可以在平台中配置,不需要更改頁面代碼和程式代碼。許可權管理非常細緻,不僅包括選單,按鈕、數據行都可以進行授權。
(5) 新的開發人員加入團隊後,稍微加以培訓,就會了解應該在什麼地方添加業務邏輯,在什麼地方增加新的校驗類等等,能否在很短的時間內就融入到開發環節中。
(6) 由於開源框架眾多,選擇什麼框架,並將這些框架有機集成起來,然後針對這些框架做出開發平台,沒有豐富的Java開發經驗是難以完成的。但有了統一的集成好的框架,開發人員不需要再為java產品的選型頭疼了。
(7) 平台提供了大量的套用組件,包括郵件收發、內容管理、試題系統、檔案管理、工作流引擎和審批流設定、內部論壇、郵件及簡訊群發、即時通信、搜尋引擎等。
(8)使用openjweb作為產品平台,可以統一開發規範,提高軟體復用度,降低開發成本,提高項目利潤。同時也會迅速提高Java開發人員的技術水平,大大縮短開發人員成為架構師所需要的時間。

技術框架

OpenJWeb 1.8版本的基礎框架struts2.0.6+Spring2.5.6+hibernate3+Spring security2.0,另外還有strut1(部分功能是以前開發的)、dwr、fckedit、extjs、圖表採用JFreechart,樹控制項採用dhtmlxTree。另外還集成了JOTM,這個是在tomcat中的JTA,支持跨資料庫事務處理。

套用

很多軟體公司為企業開發套用系統,往往動輒一年甚至更久,如此長的開發實施周期,導致項目還沒有實施完,需求已經發生很大變化,所以OpenJWeb從開發模式上採用平台定製+二次開發輔助的模式可大大減少項目的開發工作量,縮短項目的實施周期,甚至後期都可以由用戶自己定製業務模組,因而避免了軟體公司交付產品後,新的業務需求仍然需要軟體公司開發的局面。應該說,對於越大型的企業套用項目,OpenJWeb節省的成本越顯著。這體現在:
(1) 一般企業套用都有大量的後台維護模組,而這些模組的開發很多都不可避免地要解決頁面JSP檔案的開發,分頁、排序功能的處理,增刪改查功能的實現,資料庫建表,以及頁面中涉及到代碼-名稱列表的下拉視窗的檢索等等很多開發內容,如果沒有一個平台工具提供快速開發支持的話,一個象簡單的客戶基本信息維護這樣的功能至少也得兩天的時間才能完成,而使用平台工具開發的話,只需要十幾分鐘的定製的時間就可以輕鬆搞定。兩天和十幾分鐘的差異絕對不是一個小數目,對於一個百萬元的項目而言,使用平台開發至少可以節省20萬以上的項目成本。對於軟體公司而言,減少20%的項目成本就意味著項目提高20%的利潤率!OpenJweb的快速功能生成器在項目開發中的效率,是傳統的軟體開發模式是不能匹敵的,只要數據結構設計出來,功能就可以快速生成出來。在做項目需求原型的時候是非常有幫助的。
(2) OpenJWeb平台對開源社區的框架產品進行了很好的整合,同時也經過了若干大型項目的驗證,使用OpenJWeb平台的用戶因而可以避免重複選型的風險,也節省了重新搭建套用框架的時間。
(3) 基於平台產品進行套用開發和實施是以後軟體行業的主要模式,使用平台產品進行開發可以使軟體公司完全擺脫手工作坊式的研發時代,對於大型項目的實施也不再需要靠大量招聘開發人員這種非常耗費成本的實施方式。另外,成熟的平台減少了代碼出錯率,這也在很大程度上減少了修改錯誤代碼的時間。
(4) 成熟的開發平台具有透明和統一的開發模式和框架,因而項目人員的變動不會對產品的體系架構產品影響。因而很大程度上減少了關鍵人員離職造成項目失敗的風險。
(5) 平台產品已經實現了增刪改查生成,組織結構許可權,數據許可權控制,欄位校驗器,業務邏輯生成器,默認值設定,代碼表管理、工作流引擎即時通信、郵件收發、等很多功能,不需要用戶再進行同類功能的重複開發。
(6) 此平台不僅對軟體公司,最終用戶有很大的價值,同時對於Java開發人員來說也是一個很好的學習平台,具有很大的學習價值和培訓價值。OpenJWeb平台由於有機集成了開源領域的眾多產品,為Java人員提供了Java開源技術“一站式”學習通道,能在很短的時間內掌握這些開源技術的使用方式。通過OpenJWeb的學習和使用可以使Java人員在很短的時內提高自己的技術水平,從而使自己在競爭激烈的職場中脫穎而出。基於以上這些價值,OpenJweb快速開發平台也是培訓機構很好的實戰教材。
1.5 OpenJWeb的主要用戶群體
(1) 對於還沒有或者剛選擇Java平台的軟體公司,本平台已經具有了很多開發好的功能,不需要重複開發。
(2) 對以於項目實施為主的軟體公司(按項目定製開發),使用此平台開發項目可以大大減少開發工作量。
(3) 諮詢人員:諮詢人員使用此平台可以在很短的時間定製一個原型套用,因而使得在打單或需求調研過程中迅速給客戶展示一個套用系統模型。
(4) 企業用戶。使用此平台使得在軟體公司的服務到期後,仍可以使用平台來定製自己的新的業務套用,用戶新增加一個功能可不再依賴於軟體公司,從而真正做到隨需應變。
(5) 培訓機構。OpenJWeb平台是一個不可多得的基於開源框架的快速Web套用開發平台,一般IT培訓機構是很難獲取到這種具有實戰價值的代碼,針對OpenJWeb平台進行Java培訓一定可以使學員在相對短暫的培訓期間體驗到真正的企業級套用開發。
(6) 個體創業者或者中小軟體公司。對於中小軟體公司是沒有資金去聘請一個專職的高級架構師,引入一個優秀的開源平台進行軟體開發是他們最好的選擇。

相關詞條

相關搜尋

熱門詞條

聯絡我們