淺談J-Hi的理論基礎
趨勢
在當今的企業(yè)級開發(fā)過程中隨著開源框架的不斷成熟(穩(wěn)定性與可維護性已不是問題),如何快速提高開發(fā)效率,降低開發(fā)成本已成為急待解決的問題。為了解決上述問題各各大型的軟件公司或是有五年以上經(jīng)驗積累的中、小型軟件公司都會有各自的解決方案。或是制定完整的開發(fā)方案;或是有一個帶一些業(yè)務的框架;或是有自己的開發(fā)工具。在這個大環(huán)境的驅(qū)動下也不乏一些專做開發(fā)平臺的公司應運而生。究其原因,這是一種趨勢,我們認為軟件行業(yè)正在走著一條硬件的老路,在此我們先回顧一下硬件的發(fā)展道路

通過圖不言自明,硬件正是通過是立的單元不斷向更大的集成的趨勢,每個上一環(huán)節(jié)都是下一環(huán)節(jié)的單位,而下一環(huán)節(jié)是上一環(huán)節(jié)更大規(guī)模的集成。從本質(zhì)上來看軟件也與硬件的道路差不太多,如圖:

Java就好比是硬件的二極管,是所實現(xiàn)所有事情的根源與基礎,而目前各各主流框架(如Struts、hibernate、ibatis、webwork、Spring等)都是站足在某個技術點上對Java功能的二次集成與功能擴展,這就象硬件中的集成電路,即本身是自封閉的各電路之間的通訊與融合還需另外元器件橋接。各主流框架也是一樣它們只關注于各自技術領域本身,而不提供任何業(yè)務模型,框架與框架之間的集成工作也要手動配置。在談業(yè)務開發(fā)平臺之前說一下SOA,應用企業(yè)隨著業(yè)務系統(tǒng)的增加,各系統(tǒng)之間的互通已是主要問題,而SOA就象internet讓各應用系統(tǒng)間不成為信息孤島。而J-Hi平臺本身就定位在“大規(guī)模集成”這一環(huán)節(jié)上,雖然在業(yè)務開發(fā)平臺這個環(huán)節(jié)中也有很多相關的產(chǎn)品,但J-Hi與這些平臺在理念上有很大的差別,它的目的是將主流的框架集成到該平臺當中,為您呈顯一個開放的(開源)、高效(學習曲線)、穩(wěn)定、可復用、低耦合、通用化并且功能齊全、用戶體驗友好的套件產(chǎn)品。
融合
如果從嚴格的意義來說J-Hi沒有什么創(chuàng)新點,技術創(chuàng)新不過是在前人的基礎上多前進那么一小步,因此即便是有創(chuàng)新點也只是對各種技術的融合。有人說這叫“造輪子”,我們不想造輪子,也不想提出自己的開發(fā)規(guī)范。J-Hi的關注點主要制力于對優(yōu)秀的框架與技術進行融合,使其更適合方便的使用。因此J-Hi是開放的,不同與其它以模型驅(qū)動的業(yè)務平臺產(chǎn)品有自己的開發(fā)規(guī)則、腳本語言與操作方式成為了一個自封閉的系統(tǒng)。又因為J-Hi的開放性,利用的都是主流框架的開發(fā)規(guī)則(這些框架大家都耳熟能詳,基礎知識已不是問題),從而降低開發(fā)人員的學習曲線,提高了開發(fā)速度。平臺的開放性也注定了它會不斷的融入進的元素,加入新的框架。不斷的求新、求變、保證性能的穩(wěn)定與功能的完善是它追求的目標。嗨!~~,象打個招呼這般簡單實用是它的源動力(J-Hi名字的由來)。

尊重傳統(tǒng)的開發(fā)模式
程序開發(fā)是一種習慣,看慣了代碼、寫慣了coding,程序員很難接受無編碼的開發(fā)形式,沒了設計感覺扼殺了自己的創(chuàng)造力。而J-Hi完全尊重傳統(tǒng)的開發(fā)模式,可以說是對傳統(tǒng)開發(fā)模式的有益補充,補充在代碼生成與組件的可移植性上。首先,是生成可以使您從枯燥的復重勞動中解放出來使您將精力更多的用于把握客戶的業(yè)務需求;其次,所有代碼無論是生成的還是底層代碼都是對您可見的,您可以充分發(fā)揮你的創(chuàng)造力與創(chuàng)新精神,采用設計模式寫出優(yōu)質(zhì)的代碼;***,平臺的組件化更便于您與其它系統(tǒng)的整合(例如您在OA里做了一個報銷管理,您可以通過發(fā)布器方便的將它移植到ERP系統(tǒng)或任何采用平臺開發(fā)的系統(tǒng)中去)。
所有的一切只是為了提高速度降低成本
Hi平臺的宗旨無非八個字“提高速度,降低成本”,在提高開發(fā)速度方面:
1) Hi平臺采用模式代碼生成的方式會生成從數(shù)據(jù)庫腳本、JAVA代碼、JSP頁面到相關配置文件所有文件,從而使您從枯燥繁瑣的編輯配置文件寫模式代的JAVA代碼中解放出來。
2) 平臺本身提供了很多通用的、可配置的功能模塊(如權限管理、附件、枚舉管理……)我們稱之為通用組件。因為這些通用組件都是十分常用的,可以說在一個系統(tǒng)中它們無處不在,所以利用通用組件可以大大加快項目的開發(fā)速度。
3) Hi平臺底層是一個設計良好的框架,可以說融入了當今大多數(shù)主流的開源框架。通過向?qū)У男问狡脚_可以提供對不同框架間的一站式快速搭建。
4) 除之以外如何快速響應客戶的需求的不斷變化一直是做軟件項目的一場噩夢,而Hi平臺在這方面有一些自己的經(jīng)驗與嘗試,即使是增、改數(shù)據(jù)庫表字平臺本身也有自己的解決方案。
在降低成本方面:
1) 風險成本,為了提供開發(fā)速度降低項目的經(jīng)濟成本采用平臺或工具(即使是采用一些開源框架)這已是業(yè)界不可逆轉(zhuǎn)的趨勢。隨著平臺化產(chǎn)品的不斷涌現(xiàn),如何選擇好的產(chǎn)品以降低風險已是作為決策層首當其沖考慮的問題。在這方面可以說Hi平臺在同類的產(chǎn)品中風險是***的,一、它是開源的沒有任何瓶勁;二、它是代碼生成的所有的一切均可見,J-Hi平臺不發(fā)現(xiàn)制造規(guī)范只是java世界中主流規(guī)范的執(zhí)行者,本身沒有任何技術陷阱;三、可以說J-Hi平臺是程序員為程序員開發(fā)的一個工具,它的開發(fā)模式與傳統(tǒng)開發(fā)模式完全相同
2) 人力成本,快速開發(fā)本身就意味著人力成本的降低,對于企業(yè)來說通過平臺可以將人員分出梯次從而進一步的控制人力成本。對于個人來說通過對J-Hi開源平臺的學習(因為可以說平臺本身就是目前很多主流框架的一個容器),可以快速的提升自己的技能,特別是在企業(yè)級開發(fā)上,從而自身價值的提升。
3) 管理成本,人員的流動尤其是核心人員的流動一直是企業(yè)面臨的棘手問題,而對應該問題的***方式是在項目管理與開發(fā)上的標準化。J-Hi平臺為開發(fā)的標準化提供了一個基礎,原因在于代碼生成無論是代碼樣式、風格及配置文件的規(guī)則完全相同。這樣就保證無論人員如何流動這套標準是不會變化的。
【編輯推薦】























