這篇文章給大家分享的是有關xml如何實現(xiàn)多渠道接入網站的構架的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

一.背景
在現(xiàn)在的網站中,接入的渠道是越來越多了,技術也是越來越先進,WAP, SMS,EMAIL, 傳統(tǒng)的Web, Socket等等,如果連數(shù)據(jù)庫和LDAP也算接入的話,那在設計之中需要擴展的空間要做到很好 很好,才保證在添加新的渠道情況下不需要更多的修改代碼甚至不改代碼的情況。但可能嗎?想也不可能,但有什么方式可以更好的解決這種多渠道接入的框架的完美性呢?
二.構架
在現(xiàn)有的所有接入都已經使用上的時候,設計者看的都眼花繚亂了,如果是為了湊份子,那這些程序怎么寫都可以,而且也肯定可以實現(xiàn),但維護起來就會比較痛苦,還是回到那個問題,怎么可以實現(xiàn)更完美呢?在項目組的構架討論中,提出了路由的感念。
進行連接所有這些渠道的核心就是這個章魚的頭XMLRouter,Router在此的作用是溝通所有渠道,實現(xiàn)數(shù)據(jù)的路由,爭強系統(tǒng)在構架上的擴展性和靈活性,好處會很多很多。稱呼為XMLRouter是因為如果不使用XML這種靈活而又規(guī)范的語言來做為數(shù)據(jù)傳輸?shù)拿浇?那Router的工作量也同樣會成倍的增加,定義好XML的規(guī)范后將為以后的擴展帶來很多好處.
三.思想和模式
XMLRouter的最初想法來自于計算機的主板和<<Design Pattern>>之中的Builder Pattern, 計算機主板的PCI 插槽定義了PCI的規(guī)范,只要你生產的卡符合PCI標準,那你插入到這個主板上就可以工作, 至于里面是怎么工作的則是已經封裝好了. Builder Pattern則是提出將復雜的構建分離開來, 一步一步的進行實現(xiàn).XMLRouter是將這些復雜的渠道分離開來,一個個的進行表現(xiàn).
Services思想:為了能和Router進行溝通,在這些渠道接入時必須定義統(tǒng)一的接口,這里成為Services, 只要符合Services規(guī)范的程序就可以接入到Router并進行數(shù)據(jù)的路由.
Factory模式和Composite模式
XMLRouter在實際的設計中將采用Factory模式產生,Router由RouterFactory生產, 在投入使用時將放置于隊列中,傳遞數(shù)據(jù)和接收數(shù)據(jù)以及返回數(shù)據(jù)都從隊列中取相應的Router來調用,應用了Composite的模式.
四.XML配置文件
XML文件對于Router之中的使用分為兩個部分, 第一個是Router的配置,如:
<?xml version="1.0" ?> <services> <!-- database Service --> <service name="database" type="database" class="com.web.service.DBService"> <connector driver="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://192.168.0.179:1433" user="test" passwd="test" /> </service> <!-- Web Service--> <service name="web" type="web" class="com.web.service.WebService" > <connector /> </service> …… </services>
這是Router的配置文件, service節(jié)點代表需要接入的渠道, service節(jié)點包含connector子節(jié)點, 子節(jié)點的配置根據(jù)type來區(qū)分, 如果是database則包含url, user, passwd,driver等屬性, 如果是socket則包含 port, maxthread等屬性, 屬性值可以根據(jù)自己的定義來配置.
另一種XML文件則是XML交易數(shù)據(jù)文件,用于在所有的services中傳遞數(shù)據(jù),每個Services自己包涵一個相應的XML文件,比如webtrans.xml格式如下:
<?xml version="1.0" ?> <transaction> <trans name="addDoc" service="database" method="insert"> <property name="createtime" type="timestamp"/> <property name="creatorid" type="long"/> <property name="doctypeid" type="int"/> <property name="docstatusid" type="int"/> </trans> </transaction> 相應的dbtrans.xml格式如下 <trans name="addDoc" table="TDOC_DOCS" method="insert"> <primarykey name="docid" /> <set> <property name="createtime" type="timestamp"/> <property name="creatorid" type="long"/> <property name="doctypeid" type="int"/> <property name="docstatusid" type="int"/> </set> </trans>
感謝各位的閱讀!關于xml如何實現(xiàn)多渠道接入網站的構架的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章標題:xml如何實現(xiàn)多渠道接入網站的構架的方法-創(chuàng)新互聯(lián)
URL標題:http://chinadenli.net/article16/gcddg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、微信公眾號、網站改版、搜索引擎優(yōu)化、網站內鏈、移動網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)