加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

行使XML实现多渠道接入网站的构架

发布时间:2018-08-20 14:36:53 所属栏目:运营 来源:站长网
导读:着实写这篇文章的目标最多的设法是把本身在客岁在瑞士做项目时应用的一个框架给揭示出来让各人共享,但我又有点担忧我的表达手段不能将我在内里行使的头脑很好的示意出来,以是迟迟 不敢下笔,最后照旧下了刻意,写吧, 不可就在好好改改,虽然也但愿各人多
着实写这篇文章的目标最多的设法是把本身在客岁在瑞士做项目时应用的一个框架给揭示出来让各人共享,但我又有点担忧我的表达手段不能将我在内里行使的头脑很好的示意出来,以是迟迟 不敢下笔,最后照旧下了刻意,写吧, 不可就在好好改改,虽然也但愿各人多提些意见。

  一.配景

  在此刻的网站中,接入的渠道是越来越多了,技能也是越来越先辈,WAP, SMS,EMAIL, 传统的Web, Socket等等,假如连数据库和LDAP也算接入的话,那在计划之中必要扩展的空间要做到很好 很好,才担保在添加新的渠道环境下不必要更多的修改代码乃至不改代码的环境。但也许吗?我想也不行能,但有什么方法可以更好的办理这种多渠道接入的框架的美满性呢?

  二.构架

行使XML实现多渠道接入网站的构架

  【图一】

  如图一所表现,在现有的全部接入都已经行使上的时辰,计划者看的都目眩凌乱了,假如是为了凑份子,那这些措施怎么写都可以,并且也必定可以实现,但维护起来就会较量疾苦,照旧回到谁人题目,怎么可以实现更美满呢?在项目组的构架接头中,我提出了路由的感念,并获得了大

  家同一的承认,如图二表现

行使XML实现多渠道接入网站的构架

  【图二】

  图二看起来象个八爪的章鱼,章鱼腿别离毗连全部的接入渠道,举办毗连全部这些渠道的焦点就是这个章鱼的头XMLRouter,Router在此的浸染是雷同全部渠道,实现数据的路由,争强体系在构架上的扩展性和机动性,甜头会许多许多。称号为XMLRouter是由于假如不行使XML这种机动而又类型的说话来做为数据传输的前言,那Router的事变量也同样会成倍的增进,界说好XML的类型后将为往后的扩展带来许多甜头.

  三.头脑和模式

  XMLRouter的最初设法来自于计较机的主板和<<Design Pattern>>之中的Builder Pattern, 计较机主板的PCI 插槽界说了PCI的类型,只要你出产的卡切合PCI尺度,那你插入到这个主板上就可以事变, 至于内里是怎么事变的则是已经封装好了. Builder Pattern则是提出将伟大的构建分分开来, 一步一步的举办实现.XMLRouter是将这些伟大的渠道分分开来,一个个的举办示意.

  Services头脑:为了能和Router举办雷同,在这些渠道接入时必需界说同一的接口,这里成为Services, 只要切合Services类型的措施就可以接入到Router并举办数据的路由.

  Factory模式和Composite模式

  XMLRouter在现实的计划中将回收Factory模式发生,Router由RouterFactory出产, 在投入行使时将安排于行列中,转达数据和吸取数据以及返回数据都从行列中取响应的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节点代表必要接入的渠道, service节点包括connector子节点, 子节点的设置按照type来区分, 假如是database则包括url, user, passwd,driver等属性, 假如是socket则包括 port, maxthread等属性, 属性值可以按照本身的界说来设置.

  另一种XML文件则是XML买卖营业数据文件,用于在全部的services中转达数据,每个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>

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读