<rt id="eeo40"><acronym id="eeo40"></acronym></rt>
  • <dd id="eeo40"><s id="eeo40"></s></dd>
  • <menu id="eeo40"><code id="eeo40"></code></menu>
  • 您的位置:首 頁 > 新聞中心 > 資訊動態(tài) > 新聞動態(tài)基于模塊化的彈性擴展門戶網(wǎng)站架構(gòu)設計

    資訊動態(tài)

    新聞動態(tài)基于模塊化的彈性擴展門戶網(wǎng)站架構(gòu)設計

    發(fā)布:2019-03-11 12:52:06 瀏覽:6318

    在政府機構(gòu)中,工商、公安等機構(gòu)基本都擁有自己的門戶網(wǎng)站;在企事業(yè)單位中,各中大型企業(yè)、醫(yī)院、學校等也有相應的辦公門戶.在這些門戶網(wǎng)站中,往往會碰到信息陳舊、板塊空缺、布局雜亂、進入層次太深、系統(tǒng)更新緩慢、用戶很難找到自己關(guān)注信息等問題.導致這些現(xiàn)象的因素很多,有的因為經(jīng)費不足而缺少維護;有的因為測試不全面導致系統(tǒng)穩(wěn)定性差;有的因為缺少規(guī)劃而趕不上發(fā)展速度;還有因為無法利用現(xiàn)有系統(tǒng)資源,機構(gòu)小而沒有內(nèi)容支撐門戶網(wǎng)站建設等原因.

    作為企事業(yè)單位中的信息部門,面對系統(tǒng)扁平化、個性化需求的增加,導致系統(tǒng)定制化趨勢越來越明顯,信息部門除了創(chuàng)建數(shù)量龐大的系統(tǒng)來滿足用戶不斷變化和增加的需求之外,還有其他應對措施嗎?大多數(shù)人都知道,傳統(tǒng)網(wǎng)站架構(gòu)往往是根據(jù)業(yè)務需求、現(xiàn)有團隊等因素考慮設計,主要解決的是通用需求和當前業(yè)務,團隊成員之間也相對了解,能快速完成一個個獨立的信息系統(tǒng).但這樣的系統(tǒng)設計與開發(fā)團隊耦合性太緊密,一旦團隊核心人員變動,往往會導致系統(tǒng)可擴展性和穩(wěn)定性受到極大的影響,或一旦需求變化太大,系統(tǒng)就必須大規(guī)模重新設計才能滿足需求.在越來越依賴信息化的今天,需求快速變化是比較正常的,這就導致上述各種現(xiàn)象.為了規(guī)避這些現(xiàn)象,信息部門必須具備以下的能力才能夠應對挑戰(zhàn):1)持續(xù)提高創(chuàng)新能力,使系統(tǒng)的技術(shù)含量越來越高,以滿足客戶需求;2)不斷縮短系統(tǒng)研發(fā)時間,快速響應用戶需求;3)不斷強化成本控制能力,通過優(yōu)化產(chǎn)品生命周期內(nèi)的各種成本來控制系統(tǒng)總成本,取得投入產(chǎn)出比優(yōu)勢;4)持續(xù)穩(wěn)定的質(zhì)量改進能力.

    經(jīng)驗表明,設計信息系統(tǒng)一方面必須利用業(yè)務模塊的批量化、標準化和通用化來縮短系統(tǒng)上線周期、降低研發(fā)成本、提高模塊重用性和系統(tǒng)穩(wěn)定性,另一方面還要不斷地進行研發(fā)創(chuàng)新使系統(tǒng)越來越個性化,滿足用戶的定制需求.這樣,如何平衡系統(tǒng)的標準化、通用化與定制化、穩(wěn)定性之間的矛盾,成為贏得競爭的關(guān)鍵因素.基于這兩方面的考慮,設計一套基于模塊化的彈性擴展門戶網(wǎng)站架構(gòu).該設計把業(yè)務拆分為一個個模塊,通過這些模塊的組合可以向分支機構(gòu)、下屬單位、甚至崗位、人員提供相應的個性化門戶系統(tǒng),不僅解決了企事業(yè)單位整體的系統(tǒng)建設成本,而且也解決了門戶網(wǎng)站內(nèi)容不足、內(nèi)容復用、組織機構(gòu)之間信息交互等問題.對軟件開發(fā)團隊來說,也解決了系統(tǒng)迭代的穩(wěn)定性、模塊之間的耦合度、用戶需求的個性化、開發(fā)團隊分工與協(xié)助等問題.

    1系統(tǒng)分析與建模

    1.1架構(gòu)需求

    企業(yè)門戶是一個聯(lián)接企業(yè)內(nèi)部和外部的網(wǎng)站,它把各種應用系統(tǒng)、數(shù)據(jù)資源、業(yè)務處理與企業(yè)各部門、分支機構(gòu)等需求統(tǒng)一集成到門戶之下,可以為企業(yè)提供一個單一的訪問企業(yè)各種信息資源的入口,企業(yè)的員工、分支機構(gòu)、合作伙伴等都可以通過這個門戶獲得個性化的信息和服務.經(jīng)過多次整理歸納,明確了企業(yè)及用戶對架構(gòu)的主要需求內(nèi)容如下:

    1)企業(yè)門戶統(tǒng)一入口地址,針對特定節(jié)假日有換膚功能,每個分支機構(gòu)和部門有獨立的門戶,特定崗位和特定角色也有特定門戶.

    2)企業(yè)門戶、部門門戶等內(nèi)部常規(guī)門戶必須包含總公司的公告、郵件、流程審批等模塊.

    3)特定用戶可能在多個部門任職,則該用戶的門戶可能是包含多部門信息的獨立門戶,也可能是采用切換的方式訪問多個部門的門戶.

    4)每個用戶登錄到門戶首頁,“第一眼”就能看到自己當天的待辦工作和關(guān)注信息.

    5)每個模塊只開發(fā)一次,后期只是各模塊單獨升級,可以重復利用,不要重復開發(fā).

    6)每個門戶的關(guān)注點和導航都不相同,但是相同模塊在不同門戶里的具體內(nèi)容相同,導航頁面之間的切換不能改變用戶的默認選擇.

    7)每個模塊相對獨立,不能影響其他模塊及整體系統(tǒng)的使用.

    1.2系統(tǒng)選型

    無架構(gòu),不系統(tǒng),架構(gòu)選型是門戶系統(tǒng)成功的關(guān)鍵.面對清晰的業(yè)務架構(gòu),而現(xiàn)有OA系統(tǒng)和零散業(yè)務系統(tǒng)無法滿足企業(yè)發(fā)展.在考察過單體式應用架構(gòu)、分布式架構(gòu)、SOA架構(gòu)等架構(gòu)后,最后集中在OSGI框架平臺和自主研發(fā)基于模塊化的彈性擴展門戶網(wǎng)站架構(gòu)的選擇上.

    OSGi(openservicegatewayinitiative)技術(shù)是Java動態(tài)化模塊化系統(tǒng)的一系列規(guī)范.基于該規(guī)范,一些開源社區(qū)和廠商實現(xiàn)具體的OSGI開發(fā)平臺,如Java開發(fā)的Felix和Equinox,以及.NET平臺實現(xiàn)的OSGi.NET.這些基于OSGI規(guī)范的架構(gòu),基本解決了軟件復用、團隊協(xié)作、軟件可維護性、開放性等問題.但是基于這些架構(gòu)開發(fā)出來的產(chǎn)品,很難解決系統(tǒng)美觀性和友好性問題,以及用戶個性化需求的問題.基于開源的OSGI架構(gòu)平臺思路,考慮到系統(tǒng)之間的集成和現(xiàn)有開發(fā)團隊,最終選擇自主研發(fā)基于模塊化的彈性擴展門戶網(wǎng)站架構(gòu).

    1.3系統(tǒng)建模

    在本企業(yè)門戶中,業(yè)務參與者包括各部門、分支機構(gòu)、分(子)公司的全體人員.系統(tǒng)管理員指整個門戶系統(tǒng)的管理者.用例指各個業(yè)務場景,不同的業(yè)務場景可能由不同團隊或人員獨立開發(fā).圖1是以財務人員、人力人員、財務總監(jiān)為例,說明各個模塊之間的關(guān)系.

    2定制首頁設計

    門戶首頁是門戶的精華所在,是企事業(yè)單位的辦公和精神集中地,往往用戶記住和使用最多的是門戶首頁.當用戶看到首頁,就知道門戶是做什么,用戶從這里得到哪些服務,獲得哪些信息,下一步用戶將到哪里去,最終目的就是給用戶帶來極佳體驗,并吸引足夠多的注意力.同樣引導什么功能呢,用戶進入門戶首頁不可能只停留在首頁,他會根據(jù)自己的工作和目的來決定去點擊鏈接.而如何引導用戶用最快的時間找到自己想要做和去的地方,則是對門戶設計、用戶體驗和引導的綜合考量.門戶首頁模塊化設計的目的就是最大程度滿足多樣化用戶需求,最大程度給每位用戶帶來極佳體驗.

    網(wǎng)頁的模塊化和汽車生產(chǎn)是如出一轍,首先把一個頁面的每一個部分按照內(nèi)容的獨立性和關(guān)聯(lián)性分成不同的模塊,這樣一個頁面就由背景和很多個模塊組成,然后再將每個模塊按照業(yè)務類別、外觀樣式等因素分配給不同的組員進行開發(fā),并最終又將這些模塊按用戶所需拼合在一起,形成一個完整的門戶首頁。

    后臺配置設計

    從定制首頁設計中可預知,系統(tǒng)管理員需要在后臺把頁面主題、模板、???、模塊等信息配置完畢供門戶首頁呈現(xiàn)調(diào)用.下面先解釋幾者之間的關(guān)系,再詳細說明每一項的具體含義。

    一個模板對應多個???具體對應多少個??蚴歉鶕?jù)用戶首頁建模拆分出的模框研究性和創(chuàng)新性.??蚺c模塊是一對一關(guān)系,每個模塊都需要一個??蜓b載才能在頁面上渲染.模框只是為了達到模塊在設計和開發(fā)上的分離和渲染上的融合,以及模塊復用的功能才在模板和模塊之間抽象出的中間邏輯,是模塊在模板上的一個預占位.對一個集體來說,統(tǒng)一主題制作不僅節(jié)省主題開發(fā)成本,而且可以更好地適配頁面.對用戶來說,能看到和關(guān)注的是模板上最終呈現(xiàn)的那些內(nèi)容(即那些模塊).在常規(guī)頁面看似簡單的開發(fā),但在模塊化的門戶首頁中,門戶首頁渲染是通過系統(tǒng)、頁面、??颉⒛K層層入棧傳遞參數(shù),層層出棧構(gòu)造頁面結(jié)果.首頁的渲染不只是模塊的規(guī)則組合,而且還需頁面風格、用戶語言等參數(shù)的搭配渲染.下面是幾項核心配置的簡要說明:

    1)主題配置:用于指定門戶CSS樣式、圖片、語言包等調(diào)用的文件夾,主要屬性包括主題名稱、主題語言、描述.

    2)模板配置:用于體現(xiàn)門戶首頁??蛭恢玫墓袒团渲媚K的定位.主要屬性包括名稱、模板文件名、URL地址、寬度、高度、??蚩倲?shù)、設計預覽圖、語言類別.

    3)模框配置:用于描述將來配置特定模塊呈現(xiàn)在頁面上的固定位置以及??蚺c頁面的關(guān)系.主要屬性包括??蛎Q、標記、寬度、高度、適配說明.圖4是模板、??虻呐渲谜故?

    4)模塊配置:用于描述每個業(yè)務模塊基本信息,主要供系統(tǒng)管理員或用戶選擇查看.主要屬性包括顯示名稱、類名、相對路徑、寬度、高度、類型、是否異步加載、是否可調(diào)整、語言類別.

    5)模塊與模板配置:用于配置首頁呈現(xiàn)的內(nèi)容形態(tài),主要是配置模板與門戶導航和模塊的關(guān)系.圖5是模板與模塊配置說明圖.

    6)主題與模板配置:用于配置最終首頁呈現(xiàn)樣式,一個模板可以配置多個主題,一個主題可以配置多個模板.

    后臺配置及用戶設置的最終目的是生成加載門戶首頁的配置信息。

    根據(jù)以上“后臺配置設計”介紹,結(jié)合“定制化首頁”設計思路,推導出門戶首頁渲染過程如下:首先,針對不同用戶的個性化需求進行逐一建模,并挖掘出不同首頁模板.然后,在后臺根據(jù)首頁建模的布局和用戶崗位、角色、部門等信息進行首頁模板、???、模塊的配置,并最終生成不同的“門戶首頁配置信息”配置關(guān)系.最后,不同的首頁模板根據(jù)相應配置文件渲染出個性化的首頁.

    4模塊開發(fā)

    4.1總體開發(fā)思路

    模塊是構(gòu)成門戶的一部分,一般具有獨立完整的功能,具有一致的前后端接口和加載方式,相同形態(tài)的模塊在門戶中可以相互替換,不同模塊的按需組合就構(gòu)成了最終個性化首頁.為什么要這樣設計呢?我們發(fā)現(xiàn)在一個項目里,需求提出者往往參照某一兩個系統(tǒng)而提出,在這些系統(tǒng)頁面中,都會存在內(nèi)容和外觀相同或相似的部分,如果我們按照模塊化來設計與開發(fā),不同的業(yè)務已經(jīng)變成了一個個的模塊,那么這些相同業(yè)務或相似界面的模塊就可以分給同一個團隊或個人來開發(fā).假如不同模塊之間互不影響,或不同模塊相互之間交互都有相應規(guī)范,那么不同開發(fā)團隊可以同步進行開發(fā),這樣效率必將有很大的提高,且代碼的質(zhì)量和系統(tǒng)穩(wěn)定性也會得到相應保證.由于每個模塊都是單獨存在的,所以當任何門戶首頁需要用到這個模塊時,都可以很便捷地直接將這個模塊配置到首頁使用,而不必再次重新開發(fā),大大增強了模塊復用性.

    怎樣設計開發(fā)出這種具有通用性、互換性、相對獨立性的模塊呢?在“后臺配置設計”中已經(jīng)了解模塊呈現(xiàn)過程關(guān)系設計的基礎(chǔ)上,再簡要介紹模塊的交互設計思路.首先把模塊類型分為:列表自適應型、焦點圖型、導航條型、廣告型.其次在列表自適應型中,已經(jīng)定義好模塊自適應??虻臉邮胶凸┣岸苏{(diào)用的常用方法,業(yè)務開發(fā)人員不在關(guān)注怎樣適應模框、模塊加載處理等共性問題,只需關(guān)注列表數(shù)據(jù)來源及列表對應二級、三級業(yè)務頁面,而且在二級、三級等頁面開發(fā)中,業(yè)務開發(fā)人員也只需關(guān)注頁面內(nèi)容,而頁面導航、風格等共性問題不需要花費精力.同樣,焦點圖型的模塊基類已經(jīng)定義好適配模框方法和圖片切換方法,導航條型基類已經(jīng)處理好相同的頁面在不同門戶自動加載不同導航條的方法;只有廣告型模塊約束相對較少,適合模塊擴展和特殊處理場景.針對不同的業(yè)務版塊,不同團隊可以按照微服務的方式同步開發(fā)首頁模塊和相應二級、三級頁面,也可以按照常規(guī)方式開發(fā)首頁模塊.

    4.2基本實現(xiàn)思路

    在了解上面設計思路后,下面以3個核心基類來說明主要實現(xiàn)思路.門戶首頁基類BaseHomePage、門戶首頁模塊基類BaseUserControl、其他二三級頁面基類BasePage.門戶首頁基類除了當前主題、語言和用戶信息外,其中最重要的方法就是加載模塊方法(LoadControls),在頁面基類方法中已經(jīng)實現(xiàn)了從緩存及配置文件中自動加載模塊的方法,后期開發(fā)人員只需關(guān)注“定制首頁設計”中的首頁建模和特殊細節(jié)處理.門戶首頁模塊基類主要目的是提供標準啟動方法(OnStart)供首頁通過反射的方式調(diào)用,并把用戶及配置信息傳遞給具體模塊初始化使用;在常規(guī)模塊的開發(fā)中,模塊開發(fā)人員只需考慮采用前端或后臺的方式獲取后端數(shù)據(jù)并進行模塊渲染,不再關(guān)心常規(guī)權(quán)限、換膚、日志等通用功能.二三級頁面基類雖然只提供了當前用戶信息及配置信息供調(diào)用,但在頁面前端提供了導航、樣式等動態(tài)生成內(nèi)容和通用處理方法.

    對于業(yè)務復雜、流量及并發(fā)大的模塊,團隊成員可以考慮采用微服務的方式處理模塊業(yè)務邏輯,為了交互方便,架構(gòu)也提供了共享session和單點登錄集成方式.在整個項目開發(fā)中,為了提高開發(fā)效率、系統(tǒng)穩(wěn)定性、分工明確性.為此,在本架構(gòu)設計過程中,同步編寫了“門戶開發(fā)規(guī)范及過程管控”的規(guī)范化文檔,為開發(fā)實踐打下了良好的基礎(chǔ).

    4.3開發(fā)實踐

    有了以上的設計和開發(fā)思路,在進行實際開發(fā)過程中還需考慮基本規(guī)范、模塊前端、模塊后端及模塊交互等系列問題.基本規(guī)范包括那些呢?首先,在按照不同業(yè)務進行團隊分工后,需要防止不同開發(fā)團隊的命名沖突,否則可能導致模塊加載失敗;其次,需要考慮不同模塊的并發(fā)控制;最后,還需考慮模塊與系統(tǒng)間的集成.

    在實際開發(fā)過程中,針對該架構(gòu)制定了前端、后端及數(shù)據(jù)庫開發(fā)規(guī)范.在進行單個模塊開發(fā)時,需要根據(jù)規(guī)劃確定模塊的簡寫,如系統(tǒng)模塊簡寫是“SYS”.規(guī)定命名空間(java叫包)以模塊簡寫單獨結(jié)尾,這樣在加載模塊的時候就不會造成沖突.同樣,在前端的css樣式文件和javascript腳本文件中也把不同模塊的文件放在以模塊簡寫的文件夾下面;并且在腳本中涉及相同的函數(shù)名稱添加模塊前綴,在樣式文件中涉及到樣式文件采用模塊簡稱的類限定,防止樣式文件沖突.在數(shù)據(jù)庫層面,除了基本數(shù)據(jù)庫規(guī)范外,主要是在表名的前綴添加模塊簡寫的方式區(qū)分和防止不必要的沖突;當然,根據(jù)模塊流量和并非情況,不同模塊數(shù)據(jù)可以放在同一數(shù)據(jù)庫,也可以把單個模塊存放在一個或多個獨立數(shù)據(jù)庫中.

    在模塊前端開發(fā)過程中,除了遵守基本前端規(guī)范之外,本設計提煉出常用的前端模塊樣式和通用javascript函數(shù),如多種列表樣式、圖片切換樣式及相應的自適應樣式等,當模塊開發(fā)人員發(fā)現(xiàn)自己開發(fā)的模塊存在對應模塊樣式時,只需按照前端文檔進行調(diào)用,減少前端調(diào)試時間.樣式文件、腳本及圖片等靜態(tài)文件按照規(guī)范統(tǒng)一放在主題包文件夾下面,整個主題包可以單獨部署在單獨二級域名下的服務器上,也可以部署在網(wǎng)站的子目錄下.當配置文件配置為相對路徑時,則模塊前端和后端調(diào)用相對路徑下的靜態(tài)文件;同理,配置為二級域名時,前后端則自動調(diào)用獨立服務器下的靜態(tài)資源.

    在模塊后端開發(fā)過程中,我們推薦采用模塊后臺代碼輕量化方式,結(jié)合微服務處理后端業(yè)務邏輯方式.當然沒有后臺業(yè)務代碼邏輯,或把簡單業(yè)務邏輯直接寫在后臺也是可以正確進行模塊渲染.主要是根據(jù)模塊業(yè)務復雜性和模塊并發(fā)大小來綜合考慮是否在后端采用微服務方式處理業(yè)務邏輯,是否提供統(tǒng)一的API供模塊后臺調(diào)用,以及后端數(shù)據(jù)庫是否分庫和集群等方式.在模塊與各系統(tǒng)交互過程中,如果是自主開發(fā)的系統(tǒng),推薦采用Session共享集成方式,否則推薦采用單點登錄集成方式.

    >>> 查看《新聞動態(tài)基于模塊化的彈性擴展門戶網(wǎng)站架構(gòu)設計》更多相關(guān)資訊 <<<

    本文地址:http://www.modelkey.org/news/html/5829.html

    趕快點擊我,讓我來幫您!
    亚洲高清无码中文成人在线,AV色综合久久天堂AV色综合在,久久人人爽人人爽人人片av高,日本亚洲成a人片在线观看
    <rt id="eeo40"><acronym id="eeo40"></acronym></rt>
  • <dd id="eeo40"><s id="eeo40"></s></dd>
  • <menu id="eeo40"><code id="eeo40"></code></menu>