版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、GpoWerGpowerCMS二次開(kāi)發(fā)手冊(cè)第 頁(yè)共15頁(yè)第 頁(yè)共15頁(yè)GpowerCMS二次開(kāi)發(fā)手冊(cè)通元軟件版權(quán)所有,2004 HYPERLINK 目錄TOC o 1-5 h z1.概述3總體結(jié)構(gòu)4 HYPERLINK l bookmark6 2.1.系統(tǒng)架構(gòu)4 HYPERLINK l bookmark12 2.2.框架式開(kāi)發(fā)4 HYPERLINK l bookmark18 2.3.系統(tǒng)分層實(shí)現(xiàn)6 HYPERLINK l bookmark20 Framework開(kāi)發(fā)8 HYPERLINK l bookmark22 3.1.SpringFramework8 HYPERLINK l bookmar
2、k26 3.2.實(shí)體引擎組件8 HYPERLINK l bookmark28 GpowerCMS開(kāi)發(fā)接口12 HYPERLINK l bookmark30 4.1.GpowerCMS模塊12 HYPERLINK l bookmark38 4.2.業(yè)務(wù)實(shí)體描述13 HYPERLINK l bookmark40 4.3.核心業(yè)務(wù)組件134.3.1.內(nèi)容管理服務(wù)組件134.3.2.內(nèi)容發(fā)布服務(wù)組件14 HYPERLINK l bookmark46 4.4.模板引擎擴(kuò)展14GpoWerGpowerCMS二次開(kāi)發(fā)手冊(cè)第 頁(yè)共15頁(yè)GpowerCMS是業(yè)界領(lǐng)先的網(wǎng)站內(nèi)容管理系統(tǒng),專門(mén)用于國(guó)內(nèi)大中型企業(yè)、政
3、府、ICP的網(wǎng)站建設(shè)。GpowerCMS的核心開(kāi)發(fā)技術(shù)人員曾在搜狐、中華網(wǎng)開(kāi)發(fā)內(nèi)容管理,并為多家大型企業(yè)建立了門(mén)戶網(wǎng)站。GpowerCMS結(jié)合了研發(fā)人員多年的內(nèi)容管理系統(tǒng)經(jīng)驗(yàn),充分吸取了國(guó)外著名內(nèi)容管理廠商Vigenette的StoryServer,Interwoven的TeamSite等產(chǎn)品的特點(diǎn),采用了國(guó)際領(lǐng)先的Java、XML技術(shù)和組件化的開(kāi)發(fā)。系統(tǒng)完全基于瀏覽器的操作界面,可輕松創(chuàng)建與管理企業(yè)、政府的內(nèi)部與外部網(wǎng)站。GpowerCMS采用Struts+SpringFramework+Hibernate的先進(jìn)技術(shù),可無(wú)縫支持JSP應(yīng)用服務(wù)器(Tomcat、Resin)和J2EE服務(wù)器(W
4、eblogic、WebSphere、JBoss),支持Oracle、SQLServer、MySQL、DB2等數(shù)據(jù)庫(kù)。根據(jù)客戶的需要,從小型系統(tǒng)到分布式系統(tǒng),可無(wú)縫擴(kuò)展與伸縮。2.總體結(jié)構(gòu)2.1.系統(tǒng)架構(gòu)GpowerCMS的系統(tǒng)架構(gòu)如下:此架構(gòu)為多層架構(gòu):表現(xiàn)層:根據(jù)客戶的需要,支持多種表現(xiàn)形式,包括瀏覽器、Windows客戶端(C+Builder、Visual.NET)業(yè)務(wù)層:基于Framework的結(jié)構(gòu),F(xiàn)ramework包括基礎(chǔ)核心組件:全文檢索、事件觸發(fā)、消息管理、對(duì)象關(guān)系映射等。在Framework之上可方便、快捷地建立業(yè)務(wù)組件。EIS層:通過(guò)對(duì)象關(guān)系映射組件、連接器、JCA、JMS、
5、Web服務(wù)與后臺(tái)數(shù)據(jù)庫(kù)、業(yè)務(wù)系統(tǒng)集成。2.2.框架式開(kāi)發(fā)框架(Framework)是一套預(yù)定制的軟件塊,程序員能夠使用,擴(kuò)充或定制以滿足自己的應(yīng)用。有了框架,開(kāi)發(fā)人員不再需要每一次開(kāi)發(fā)一個(gè)應(yīng)用都不得不從無(wú)到有的創(chuàng)建,框架的設(shè)計(jì)和編碼都可能得到重用??蚣芴峁┝嘶A(chǔ)架構(gòu)(infrastructure)和設(shè)計(jì)(design),它規(guī)定了應(yīng)用的體系結(jié)構(gòu),闡明了整個(gè)設(shè)計(jì)、協(xié)作組件之間的依賴關(guān)系、責(zé)任分配和控制流程,表現(xiàn)為一組抽象類以及其實(shí)例之間協(xié)作的方法,它為組件復(fù)用提供了上下文(Context)關(guān)系,組件庫(kù)的大規(guī)模重用需要框架,因此開(kāi)發(fā)人員可以從復(fù)雜的技術(shù)中解脫專注于問(wèn)題域的分析??蚣軠p少了開(kāi)發(fā)人員以往
6、不得不執(zhí)行的開(kāi)發(fā)、測(cè)試、維護(hù)的工作量,僅需要在framework上擴(kuò)充滿足具體應(yīng)用商業(yè)需求的組件開(kāi)發(fā)。組件領(lǐng)域框架方法在很大程度上借鑒了硬件技術(shù)發(fā)展的成就,它是組件技術(shù)、軟件體系結(jié)構(gòu)研究和應(yīng)用軟件開(kāi)發(fā)三者發(fā)展結(jié)合的產(chǎn)物。在很多情況下,框架通常以組件庫(kù)的形式出現(xiàn),但組件庫(kù)只是框架的一個(gè)重要部分。框架的關(guān)鍵還在于框架內(nèi)對(duì)象間的交互模式和控制流模式??蚣鼙冉M件可定制性強(qiáng)。在某種程度上,將組件和框架看成兩個(gè)不同但彼此協(xié)作的技術(shù)或許更好??蚣転榻M件提供重用的環(huán)境,為組件處理錯(cuò)誤、交換數(shù)據(jù)及激活操作提供了標(biāo)準(zhǔn)的方法。應(yīng)用框架的概念也很簡(jiǎn)單。它并不是包含組件應(yīng)用程序的小片程序,而是實(shí)現(xiàn)了某應(yīng)用領(lǐng)域通用完備功
7、能(除去特殊應(yīng)用的部分)的底層服務(wù)。使用這種框架的編程人員可以在一個(gè)通用功能已經(jīng)實(shí)現(xiàn)的基礎(chǔ)上開(kāi)始具體的系統(tǒng)開(kāi)發(fā)??蚣芴峁┝怂袘?yīng)用期望的默認(rèn)行為的類集合。具體的應(yīng)用通過(guò)重寫(xiě)子類(該子類屬于框架的默認(rèn)行為)或組裝對(duì)象來(lái)支持應(yīng)用專用的行為。應(yīng)用框架強(qiáng)調(diào)的是軟件的設(shè)計(jì)重用性和系統(tǒng)的可擴(kuò)充性,以縮短大型應(yīng)用軟件系統(tǒng)的開(kāi)發(fā)周期,提高開(kāi)發(fā)質(zhì)量。與傳統(tǒng)的基于類庫(kù)的面向?qū)ο笾赜眉夹g(shù)比較,應(yīng)用框架更注重于面向?qū)I(yè)領(lǐng)域的軟件重用。應(yīng)用框架具有領(lǐng)域相關(guān)性,組件根據(jù)框架進(jìn)行復(fù)合而生成可運(yùn)行的系統(tǒng)??蚣艿牧6仍酱?,其中包含的領(lǐng)域知識(shí)就更加完整。下圖列示了類庫(kù)(classlibraries)和框架(framework)的
8、區(qū)別SetofclassesinstanlialedbyclientClientcallsfundionsNopredefinedflowofcontrolNopredefinedinteractionNodefsultbehaviourProvidesforcuslomizationbysubclassingCallsclientfuncliconsControlsflowofexeculionDefinesobjectinteractionProvidesdefaultbehaviauir類庫(kù)與框架的比較Framework是業(yè)務(wù)的核心和基礎(chǔ),因此所構(gòu)建的Framework必須高可靠、健壯、
9、可擴(kuò)展。GpowerCMS的Framework如下:2.3.系統(tǒng)分層實(shí)現(xiàn)系統(tǒng)按照分層的思想來(lái)設(shè)計(jì)。具體分層結(jié)構(gòu)如下:層的名稱責(zé)任用戶的使用界面基于哋啲擁,數(shù)據(jù)灘各種業(yè)務(wù)屬的接口jFacade各種業(yè)務(wù)實(shí)體,業(yè)務(wù)的般操作負(fù)責(zé)業(yè)務(wù)対象的存儲(chǔ)實(shí)現(xiàn)技術(shù)JSP/html/JavascriptStruts封裝好接口的J刖日BeanjEJBDAO,業(yè)務(wù)實(shí)體的JavaBeanHibernate系銃的分層實(shí)現(xiàn)各層具體描述如下:表現(xiàn)層:各種用戶使用的界面。包括HTML、JSP、Swing的客戶端等;應(yīng)用層:負(fù)責(zé)表現(xiàn)層的各個(gè)組件的相互交互,以及對(duì)服務(wù)層的調(diào)用;服務(wù)層:服務(wù)層是業(yè)務(wù)邏輯的主入口點(diǎn),應(yīng)用層通過(guò)對(duì)服務(wù)層的調(diào)
10、用來(lái)啟動(dòng)業(yè)GpowerCMS二次開(kāi)發(fā)手冊(cè)第 頁(yè)共15頁(yè)務(wù)邏輯并完成相應(yīng)的用例。采用SessionFagade的方法來(lái)實(shí)現(xiàn);業(yè)務(wù)層:業(yè)務(wù)層來(lái)自對(duì)業(yè)務(wù)模型采用面向?qū)ο蠓治龊蟮臉I(yè)務(wù)對(duì)象;存儲(chǔ)層:負(fù)責(zé)將業(yè)務(wù)對(duì)象存儲(chǔ)到數(shù)據(jù)庫(kù)或其他存儲(chǔ)中。一般采用JDO或EntityBean分層的原則是,上一層只能調(diào)用下一層。因此,開(kāi)發(fā)時(shí)各層的開(kāi)發(fā)人員互不影響。當(dāng)用戶需求改變時(shí),只需根據(jù)對(duì)需求的分析,改變對(duì)應(yīng)的一小部分。GpoWerGpowerCMS二次開(kāi)發(fā)手冊(cè)第 頁(yè)共15頁(yè)3.Framework開(kāi)發(fā)3.1.SpringFrameworkSpringFramework架構(gòu)如下:1/.4fiplicationContCro
11、sscuttingAspectsUlLayerStrutsMVCHibernateDomainModelBusinessObjectsDaftaSource/Connertio仃P(guān)colSpringAOPDeclarstiveTransaclioriManagenerrtApplicationServerContainerQueryLsrigusgeSupportandotherHibernateirvicesBusinessLayerSpring-loC/DependencyInjectioncontainerHib?rn=iteSessionMariaenenl:PersistenceLa
12、yerBusinessServiceClassesS:trL4tsAction,Ac1:ioriForrri,.ISF*.itrijts:-contig,iirihetc3.2.實(shí)體引擎組件對(duì)于Hibernate持久化對(duì)象,提供持久化引擎服務(wù),可對(duì)持久化對(duì)象進(jìn)行增加、修改刪除、查詢等功能,加快程序的開(kāi)發(fā)。業(yè)務(wù)組件的部署采用SpringFramework的AOP方式,以ContentService舉例如下:ContentService內(nèi)容服務(wù)接口繼承EntityServiceContentServiceImpI內(nèi)容服務(wù)接口實(shí)現(xiàn)繼承EntityServiceImpI,實(shí)現(xiàn)ContentServic
13、e接口ContentDao內(nèi)容實(shí)體操作繼承EntityDaoContentDaoImpl內(nèi)容實(shí)體操作實(shí)現(xiàn)繼承EntityDaoImpl,實(shí)現(xiàn)ContentDao接口這樣ContentService就獲得了所有實(shí)體服務(wù)的接口,只需對(duì)內(nèi)容服務(wù)中復(fù)雜的實(shí)體操作進(jìn)行處理。部署方式為下,定義content-hbm.xml,Hibernate映射文件定義contentContext.xmlGpowerCMS二次開(kāi)發(fā)手冊(cè)第 頁(yè)共15頁(yè)GpoWercom.gpower.services.content.dao.ContentDaohibernateInterceptorcontentDaoTargetAsue
14、oq/VAueoq/VCBJodoJdvcsdojd7AdoJd7CHEInoBENOIJyDvdoEdA-*=HA殳dojdvAdoJdvsHEoddnsNOLLVDVdowdA-乞弘-llA殳dojdvAsdojdv圭訊陝比總口swulJOMOdo缶MPQ.OGpeSWerGpowerCMS二次開(kāi)發(fā)手冊(cè)4.GpowerCMS開(kāi)發(fā)接口41GpowerCMS模塊GpowerCMS模塊如下:定時(shí)器GpowerCMS的模塊采用按服務(wù)的方式來(lái)編程,使得系統(tǒng)有良好的擴(kuò)展性。系統(tǒng)有一個(gè)核心類ServiceManager。提供接口publicstaticObjectgetService(Stringnam
15、e);通過(guò)接口,可取得服務(wù)。服務(wù)的定義,通過(guò)beanRefFactory.xmlbeanid=serviceManagerclass=org.springframework.context.support.ClassPathXmlApplicationContextdataAeeessContext.xmlseeurityContext.xmleontentContext.xmlseheduleContext.xml第12頁(yè)共15頁(yè)GpoWerGpowerCMS二次開(kāi)發(fā)手冊(cè)第 頁(yè)共15頁(yè)surveyContext.xml當(dāng)需要增加新的服務(wù)時(shí),修改XML配置文件,增加新的按SpringFrame
16、work規(guī)定定義的XML文件。4.2.業(yè)務(wù)實(shí)體描述4.3.核心業(yè)務(wù)組件組件的調(diào)用通過(guò)一個(gè)幫助類來(lái)調(diào)用,獲得相應(yīng)的服務(wù)。ContentHelper.getContentService()ContentHelper.getPublishService()4.3.1.內(nèi)容管理服務(wù)組件組件名稱ContentService概要描述站點(diǎn)、欄目、模板、文章對(duì)象的瀏覽、查詢和維護(hù)組件類型業(yè)務(wù)組件接口調(diào)用方法ContentHelper.getContentService()包Com.gpower.services.content4.3.2.內(nèi)容發(fā)布服務(wù)組件組件名稱PublishService概要描述站點(diǎn)、欄目的發(fā)布與預(yù)覽組件類型業(yè)務(wù)組件接口調(diào)用方法ContentHelper.getPublishService()包Com.gpower.services.content4.4.模板引擎擴(kuò)展GpowerCMS二次開(kāi)發(fā),最主要的體現(xiàn)為在模板發(fā)布時(shí),將二次開(kāi)發(fā)的接口嵌入到模板中。生成文件FTP同步-初始化Velocity模板引摯奄薩臾布廳文(-.(PublishGontext)(自建VE
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《夏洛的網(wǎng)》講義
- 河北省保定市清苑區(qū)2023-2024學(xué)年八年級(jí)上冊(cè)1月期末物理模擬試題(附答案)
- 農(nóng)貿(mào)市場(chǎng)塑料垃圾袋配送方案
- 培訓(xùn)心得體會(huì)課件
- 城市排水系統(tǒng)防滲管道施工方案
- 遠(yuǎn)程教學(xué)技術(shù)支持方案
- 身邊的安全人
- 零售業(yè)疫情防控方案及應(yīng)急預(yù)案
- 保險(xiǎn)培訓(xùn)講師個(gè)人介紹
- 2024年安全責(zé)任歸屬合同范本
- 人工智能的道德與倫理問(wèn)題
- 二手車市場(chǎng)項(xiàng)目招商引資方案
- 新媒體視聽(tīng)節(jié)目制作 第三章 新媒體視聽(tīng)節(jié)目的“策劃之道”
- 浙江省杭州市西溪中學(xué)2023-2024學(xué)年八年級(jí)上學(xué)期期中科學(xué)試卷
- 2023年2月抗菌藥物臨床應(yīng)用監(jiān)測(cè)與評(píng)估報(bào)告
- 八年級(jí)上冊(cè)美術(shù)-5《中國(guó)山水畫(huà)》【課件】
- 工程量清單及招標(biāo)控制價(jià)編制、審核入庫(kù)類服務(wù)方案
- 浙江省嘉興市2023年八年級(jí)上學(xué)期期中數(shù)學(xué)試卷(附答案)
- 求雨后姐弟小故事
- 圓二色譜原理與應(yīng)用課件
- 繪制建筑平面圖的步驟
評(píng)論
0/150
提交評(píng)論