平臺現(xiàn)在無疑已經(jīng)是一個用濫的概念。先來看看業(yè)務(wù)平臺的定義:是為企業(yè)提供的一個可快速開發(fā)的、穩(wěn)定的、成熟的業(yè)務(wù)基礎(chǔ)開發(fā)平臺。實際上在一個技術(shù)人員的眼里,平臺=類springside的開發(fā)框架+一套組織機構(gòu)+和組織機構(gòu)相適應(yīng)的一套權(quán)限系統(tǒng)+門戶+信息資源庫+工作流引擎+一些通用的業(yè)務(wù)模塊。因為一直做關(guān)于所謂業(yè)務(wù)平臺的開發(fā),有過困惑也有思考,這里說說自己對于平臺的一些想法,也希望大家多多拍磚。我認為一個好的業(yè)務(wù)平臺應(yīng)該做到下面的幾點:
1、業(yè)務(wù)性。
這個問題我曾經(jīng)和胡長城有過很長時間的爭論。最后我得承認胡兄的正確性:業(yè)務(wù)確實是一個平臺的根本。一個業(yè)務(wù)平臺如果不滿足業(yè)務(wù)的需求,那么它存在的意義就值得懷疑。一個很簡單的例子,協(xié)同辦公中不可缺少的發(fā)文管理,正文需要用到電子簽章,業(yè)務(wù)中有這個需求,平臺不支持,那么這個平臺就不是個好的業(yè)務(wù)平臺。
2、易用性 業(yè)務(wù)平臺不是面對最終用戶的,它需要做二次開發(fā)。這樣平臺對程序員的友好性就相當(dāng)重要,畢竟平臺的使用者還是程序員。
基礎(chǔ)代碼生成是必要的,不管你采用何種方式,是根據(jù)已有表格來生成模型和相應(yīng)代碼還是先畫出模型再來生成表格和相應(yīng)代碼(所謂的MDA)。平臺的代碼結(jié)構(gòu)最好能夠和IDE有個良好的結(jié)合,因為項目的開發(fā)往往是幾個程序員協(xié)作的過程,平臺對代碼開發(fā)的支持不可能做到IDE的水平。最好的方式是生成的代碼自動在IDE里有著清晰的結(jié)構(gòu),在IDE里編輯、測試自己的代碼,然后自動發(fā)布到平臺相應(yīng)目錄中,啟動平臺,代碼運行成功。eclipse插件是個很好的選擇。
良好的API的支持,開發(fā)中不可避免的會與平臺已有的組織機構(gòu)模型和權(quán)限系統(tǒng)交互,這樣良好的、封裝清晰的API支持就很重要。
頁面組件的支持。往往有時候凌亂的WEB頁面最讓人頭疼。對常用的一些頁面元素可以用標簽或是AJAX做進一步的封裝。比如樹組件、彈出層組件、分頁組件等等。與這些相比,一些業(yè)務(wù)頁面組件的封裝也很重要。比如需要在頁面選擇用戶,直接封裝出一個用戶選擇組件,而不用開發(fā)人員在頁面用彈出層+用戶樹自己再去組裝。再比如說發(fā)文中的簽批意見,可以用AJAX直接封裝到頁面里,不用用戶自己調(diào)用相應(yīng)API。意思就是讓用戶開發(fā)盡量簡單,把工作從代碼里盡量推到頁面上去。
3、模塊化。 盡管這個或類似概念(比如說組件、構(gòu)件)一再被平臺廠家們提及,我對實際的實現(xiàn)一直報懷疑的態(tài)度。實際的實現(xiàn)往往是對模塊的一個模擬。這里的模塊實際上是對代碼做出的一種人為上的區(qū)分,所謂的模塊配置,更直接一點就是頁面URL的配置。與代碼行為無關(guān),與運行期管理更沒關(guān)。
4、可擴展性 這個暫且不說,很大的一個話題。
5、前瞻性。
一個優(yōu)秀的平臺憑什么和別人不同,一個很重要的一點就是平臺的前瞻性。一句話,就是要有別人沒有的東西。個人非常看好未來對業(yè)務(wù)整合的需求,遺留的業(yè)務(wù)系統(tǒng)+國外大廠商的概念轟炸讓客戶開口就是業(yè)務(wù)整合、BPM。是時候不再忽悠而是做點實際的東西了。
可以說,業(yè)務(wù)性+易用性在現(xiàn)階段就是一個很好的平臺了。如果再有些前瞻性的東西(注意:不是口頭上!)這個平臺應(yīng)該說很優(yōu)秀了。至于模塊化、可擴展性,想想,現(xiàn)在只能說忽悠了。
http://www.tkk7.com/ronghao 榮浩原創(chuàng),轉(zhuǎn)載請注明出處:)
posted on 2007-05-22 16:22
ronghao 閱讀(1298)
評論(1) 編輯 收藏 所屬分類:
SOA、BPM