?????這幾天一直在思考幾個(gè)問(wèn)題,現(xiàn)在提出了SCA(面向構(gòu)件)的思想。而現(xiàn)在提出的SCA是在SOA的基礎(chǔ)上建立的。而我就我們目前產(chǎn)品的狀況,談一談我使用古老的技術(shù)實(shí)現(xiàn)SCA的思想,當(dāng)然不是建立在SOA上的。因?yàn)槲覀兠總€(gè)模塊和每個(gè)模塊的聯(lián)系甚小(不好抽出共享service)。還考慮到SOA一些成本的問(wèn)題。還是用比較本,但應(yīng)該行之有效的方法解決,以下為解決方案。
???? 產(chǎn)品背景:研發(fā)人員頻繁的出差,主要是因?yàn)楫a(chǎn)品在各地市(移動(dòng),聯(lián)通,網(wǎng)通,電信)的業(yè)務(wù)需求不同導(dǎo)致,需要在主版本上修改功能以滿(mǎn)足各地市的需求。這樣我們的產(chǎn)品無(wú)疑是湖北移動(dòng),湖北電信,福建電信,福建移動(dòng)等等,各出一個(gè)版本。其實(shí)我們做了很大一部分重復(fù)的工作。我們的產(chǎn)品也就不能稱(chēng)為產(chǎn)品,而我們一直在做項(xiàng)目。
?????現(xiàn)在就可定制、可復(fù)用以節(jié)省開(kāi)發(fā)成本提出一些我的想法。
???
?????我想我們的產(chǎn)品應(yīng)該面向組件,也就是說(shuō)要松偶合,可復(fù)用,可定制。我們的平臺(tái)(基礎(chǔ)模塊)只包括系統(tǒng)管理(用戶(hù)、權(quán)限及公用工具、也可以用portal)一部分。而其他模塊,像作業(yè)計(jì)劃,值班管理,信息發(fā)布等等。每個(gè)都是一個(gè)單獨(dú)可以部署在主版本(系統(tǒng)管理)的應(yīng)用。而平臺(tái)向外發(fā)布web servie接口以及也可以傳統(tǒng)java方式調(diào)用,這些是可配的。這樣可以做到每個(gè)模塊各布署到單獨(dú)的應(yīng)用。如果這樣我們可能還需要一個(gè)單點(diǎn)登陸(除portal)。這些工作是由研發(fā)人員進(jìn)行控制。研發(fā)人員提供實(shí)施人員頁(yè)面操作,實(shí)施人員通過(guò)配置可以將模塊(組件也就是作業(yè)計(jì)劃,值班管理)配到平臺(tái)(基礎(chǔ)模塊)上。這樣我們來(lái)維護(hù)一個(gè)組件庫(kù),組件庫(kù)中包括各模塊的應(yīng)用。組件庫(kù)的豐富是一個(gè)漫長(zhǎng)的過(guò)程,也就是說(shuō),假如我們現(xiàn)在有一個(gè)福建移動(dòng)的作業(yè)計(jì)劃,而不滿(mǎn)足福建電信的要求的,若需要新增功能,我想應(yīng)該在原來(lái)版本上進(jìn)行新增(由研發(fā)人員控制),若要修改功能,如果功能修改量比較小,而又對(duì)業(yè)務(wù)要求不是很合適。我們可以試著讓項(xiàng)目經(jīng)量說(shuō)服客戶(hù)。如果二義性比較大,這樣我們可以在原來(lái)版本上新建一個(gè)版本,形成一個(gè)新版本。OK,現(xiàn)在我們有兩個(gè)版本的作業(yè)計(jì)劃了,隨著時(shí)間的增加。我們的組件庫(kù)越來(lái)越豐富。如果某個(gè)地市說(shuō)要上產(chǎn)品一期,我們會(huì)拿出需求去比對(duì),按照每個(gè)相應(yīng)的組件去配置形成一個(gè)滿(mǎn)足某地市的需要。而這些工作完全可以不用研發(fā)人員做。而這樣,我們就實(shí)現(xiàn)了一個(gè)可定制的版本。如果這個(gè)地市要上二期,我們保持主版本的向后兼容,可以直接將新要上的模塊掛上去。
???目前面臨的問(wèn)題:
??????1.平臺(tái)(基礎(chǔ)模塊)要修改,會(huì)改動(dòng)很多模塊。而我的想法是,基礎(chǔ)模塊的修改應(yīng)該保持向下兼容。若修改應(yīng)明確記錄,其我們的多個(gè)組件也應(yīng)修改。這樣才能使已經(jīng)上線(xiàn)的產(chǎn)品可以很容易的升級(jí)或新增組件。
??????2.需要有一個(gè)組件管理庫(kù),它用來(lái)管理組件,組件的版本,主要實(shí)現(xiàn)內(nèi)容啦。修改組件的log,發(fā)布的組件啦。這是一個(gè)非常重要的事情。應(yīng)該由研發(fā)人員撐控。
????? 總之主要面臨的問(wèn)題就是版本的管理。
?? 我目前也只是構(gòu)思。也希望聽(tīng)聽(tīng)各位的意見(jiàn)。希望能給出意見(jiàn)。可能我的思想很老套了,但確實(shí)可以解決我們現(xiàn)在的問(wèn)題。
?