blog.Toby

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            130 隨筆 :: 2 文章 :: 150 評(píng)論 :: 0 Trackbacks


          ?????????XML以其開放、自描述、向前兼容的特性逐漸成為數(shù)據(jù)交換的事實(shí)標(biāo)準(zhǔn),并將觸角伸展到金融行業(yè)的不同領(lǐng)域,盡管道路不是很平坦,頗有些泥濘,但XML在金融業(yè)的應(yīng)用依然向前。

          漸行漸近的行業(yè)標(biāo)準(zhǔn)
          ????????目前,針對不同的金融應(yīng)用領(lǐng)域已經(jīng)出現(xiàn)了幾種不同的XML 格式。如Interactive Financial Exchange (IFX)和 Open Financial Exchange (OFX)標(biāo)準(zhǔn),它們處理的對象是消費(fèi)者和其他形式的小額銀行業(yè)務(wù)。
          ????????Financial Information eXchange (FIX)是作為產(chǎn)權(quán)交易數(shù)據(jù)的標(biāo)準(zhǔn)通信協(xié)議出現(xiàn)的。SWIFT在加入 ISO 15022 XML 工作組后,已經(jīng)采用XML 作為主要的表示格式,并把它的歷史悠久的數(shù)據(jù)模型轉(zhuǎn)化成了 XML 形式。Financial Products Markup Language(金融產(chǎn)品標(biāo)記語言,F(xiàn)pML)用于金融衍生市場事務(wù),通常用于錯(cuò)綜復(fù)雜的協(xié)商。eXtensible Business Reporting Language(可擴(kuò)展商業(yè)報(bào)告語言,XBRL),主要用于商業(yè)報(bào)告和數(shù)據(jù)的準(zhǔn)備與交換。
          ????????上述這些標(biāo)準(zhǔn)都不能涵蓋所有的銀行業(yè)務(wù)。會(huì)計(jì)和審計(jì)制度的不同使這些標(biāo)準(zhǔn)很難應(yīng)用在國內(nèi)的金融行業(yè)。國內(nèi)也缺乏專門的機(jī)構(gòu)和人才對金融數(shù)據(jù)交換制定適合國情的,并具有一定權(quán)威性的標(biāo)準(zhǔn),但是這些標(biāo)準(zhǔn)具有重要的參考意義不容忽視。

          dsbee
          邁過五道坎
          ????????XML的誘惑已經(jīng)使很多銀行和金融公司開始制定內(nèi)部的XML標(biāo)準(zhǔn)用于數(shù)據(jù)交換和存儲(chǔ)。關(guān)于標(biāo)記的制定、屬性值的枚舉、交易要素的多少、元素的細(xì)分等環(huán)節(jié)的隨意編寫也嚴(yán)重?fù)p害了XML的標(biāo)準(zhǔn)意義。不同銀行在相同領(lǐng)域使用不同的XML報(bào)文規(guī)范,以及同一個(gè)銀行內(nèi)部不同系統(tǒng)之間使用不同的XML報(bào)文規(guī)范在很大程度上削弱了XML語言的開放性。
          ????????同時(shí),在XML實(shí)際用于金融數(shù)據(jù)交換時(shí)要處理好以下五個(gè)問題,邁過這五道坎之后,XML將發(fā)揮出真正的實(shí)力。
          ????????1. DTD和Schema
          ????????為了說明XML詞匯表的語法規(guī)則,可以采用文檔類型定義描述(DTD)。DTD使用正式的語法定義XML文檔的結(jié)構(gòu)和允許值。通過創(chuàng)建DTD,能夠正式而精確地定義詞匯表,從而使解析器可以利用DTD驗(yàn)證文檔實(shí)例的有效性和完整性。遺憾的是DTD的數(shù)據(jù)類型對XML文件的約束顯得并不詳盡。例如,賬號(hào)和申請人的名字均被描述成#PCDATA(字符串)。但是賬號(hào)是一個(gè)整數(shù),還可能是一個(gè)32位長的整數(shù)。另一個(gè)遺憾是,DTD使用非XML文件來描述XML文件。使用XML Schema則可以在一定程度上解決上述問題。XML Schema是一個(gè)良好格式的XML文件,提供了多種數(shù)據(jù)類型定義并允許對這些定義進(jìn)行擴(kuò)展、限制和組合以創(chuàng)建自己的復(fù)雜類型。但是需要注意的是XML Schema規(guī)范正在發(fā)展之中。
          ????????作為銀行跨系統(tǒng)的應(yīng)用,使用DTD或XML Schema可以更好的表現(xiàn)和理解用于交換的XML文檔結(jié)構(gòu),并對XML文檔中的結(jié)構(gòu)和內(nèi)容錯(cuò)誤進(jìn)行指示。但是一般自定義的XML報(bào)文均缺少DTD或XML Schema定義,文檔規(guī)則隨意且不斷修改。這也許在一個(gè)系統(tǒng)內(nèi)部的交換沒有什么問題,但對于跨系統(tǒng)和跨銀行之間數(shù)據(jù)交換則會(huì)帶來認(rèn)識(shí)的差異和效率的低下。
          ????????2. 長度與性能
          ????????自解釋的一個(gè)主要后果就是XML文檔長度難以控制。標(biāo)記和屬性的顯示大大加長了報(bào)文長度。報(bào)文長度的增加產(chǎn)生了兩個(gè)方面的副作用:報(bào)文發(fā)送的成功率降低以及解析報(bào)文的內(nèi)存和CPU占用增加。不論是使用SOCKET還是消息中間件進(jìn)行報(bào)文傳遞一般都有報(bào)文長度的限制。隨著報(bào)文長度的增加,通信的成功率明顯降低,尤其是廣域網(wǎng)通信。另外無論是使用DOM還是SAX解析XML文檔,存在相當(dāng)?shù)膬?nèi)存和CPU資源占用。
          ????????金融交易一般交易元素眾多,特別是加入客戶關(guān)系管理和綜合賬戶信息后,發(fā)送和返回的信息明顯增多。常用的一種方法是對報(bào)文壓縮和進(jìn)行傳遞,實(shí)際應(yīng)用中一般壓縮比可以達(dá)到30~50%。另外就是使用縮寫,例如,將Transaction _Account _Number寫成tranAccNum,可以降低報(bào)文長度,在一定程度上能夠避免人們將過多的注意力集中于標(biāo)記而忽視真正的內(nèi)容,當(dāng)然也不能過于簡單,否則失去了使用XML語言的意義。將某些信息作為XML屬性進(jìn)行定義也可以減少文檔的長度。
          ????????3. 內(nèi)存管理
          ????????所有的XML解析器基本上都分成兩類:基于樹結(jié)構(gòu)的接口,如文檔對象模型(DOM);基于事件的接口,如簡單XML API (SAX)。DOM類型的接口使用樹型結(jié)構(gòu)作到隨機(jī)遍歷和修改XML文檔。但是使用這種類型的接口占用內(nèi)存較多。當(dāng)使用XML處理大量的數(shù)據(jù)交換時(shí)會(huì)對系統(tǒng)產(chǎn)生壓力,甚至出現(xiàn)系統(tǒng)崩潰。
          基于事件的接口可能是一個(gè)好的選擇。它不支持對XML文檔的隨機(jī)訪問,而是采用一種順序訪問的方式。無論XML文檔的大小,所用內(nèi)存的多少基本上是一定的。同時(shí),由于在運(yùn)行時(shí)不用創(chuàng)建新的對象,處理器時(shí)間占用也較少。但是使用SAX類型的接口編程比較復(fù)雜,并且沒有對文檔的后向引用。
          ????????在實(shí)際應(yīng)用中,如果重視易用性,一般使用DOM接口;如更關(guān)注性能優(yōu)勢則選擇SAX類型的接口較好。當(dāng)然也可以通過減少XML元素嵌套層數(shù)減少DOM解析樹的內(nèi)存占用。
          ????????4. 標(biāo)記粒度
          ????????元素的粒度在制定XML規(guī)范時(shí)總能讓人產(chǎn)生困惑。某些內(nèi)容是合在一起成為一個(gè)元素還是分開作為多個(gè)元素進(jìn)行標(biāo)記?例如姓名,是分成姓和名兩個(gè)元素進(jìn)行標(biāo)記,還是放在一起作為一個(gè)元素?個(gè)人覺得關(guān)于粒度的標(biāo)記定義指導(dǎo)原則就是一個(gè):盡量細(xì)分。只有細(xì)分粒度越小,才可能支持各種形式的組合。另外許多信息來源于遺留系統(tǒng),如果采用囫圇吞棗的方式延用其信息格式,表面上看節(jié)省了數(shù)據(jù)細(xì)分的難度,但是這對數(shù)據(jù)的共享和數(shù)據(jù)的整合會(huì)產(chǎn)生重大的障礙。
          ????????5. 結(jié)構(gòu)化定義
          ????????很多時(shí)候?yàn)榱颂岣遆ML文檔解析的效率或縮短文檔長度,有意識(shí)地避免采用多層結(jié)構(gòu)化的XML文檔定義。當(dāng)然不是說XML文檔沒有根節(jié)點(diǎn),但是會(huì)將節(jié)點(diǎn)的層次控制在2 ~3層。這顯然違背了XML設(shè)計(jì)的初衷。沒有了結(jié)構(gòu)的XML文檔同一般的交換報(bào)文還有什么差異呢?實(shí)際上大量交換的數(shù)據(jù)和信息存在層次。
          ????????在金融領(lǐng)域,可以在業(yè)務(wù)種類和業(yè)務(wù)要素兩個(gè)領(lǐng)域?qū)?jié)點(diǎn)層次進(jìn)行劃分。首先是業(yè)務(wù)種類領(lǐng)域。一般交易數(shù)據(jù)包含報(bào)文頭、客戶基本信息、賬戶信息、交易相關(guān)信息等幾個(gè)大部分組成,其下則包含業(yè)務(wù)要素領(lǐng)域元素,如賬戶信息領(lǐng)域下就包括賬號(hào)、賬戶類型、存期、幣種、冊號(hào)、筆號(hào)、開戶日期等多個(gè)相關(guān)業(yè)務(wù)要素元素。通過這兩個(gè)層次的劃分,基本可以說明用于交換的XML報(bào)文的層次結(jié)構(gòu)。而業(yè)務(wù)要素領(lǐng)域元素則可以進(jìn)一步劃分層次說明相關(guān)屬性。




          XBRL(可擴(kuò)展商業(yè)報(bào)告語言,eXtensible Business Reporting Language),是 XML(可擴(kuò)展的標(biāo)記語言,Extensible Markup Language)于財(cái)務(wù)報(bào)告信息交換的一種應(yīng)用,是目前應(yīng)用于非結(jié)構(gòu)化信息處理尤其是財(cái)務(wù)信息處理的最新標(biāo)準(zhǔn)和技術(shù)。XBRL在證券行業(yè)的應(yīng)用,能夠?qū)崿F(xiàn)證券業(yè)內(nèi)、業(yè)間的上市公司信息共享和互操作,進(jìn)一步推動(dòng)我國上市公司信息披露和證券信息服務(wù)業(yè)的規(guī)范、有序發(fā)展,實(shí)現(xiàn)上市公司信息網(wǎng)上披露。隨著中國證券市場規(guī)模擴(kuò)大和金融領(lǐng)域?qū)ν忾_放深入,國內(nèi)外投資者對于上市公司財(cái)務(wù)狀況和經(jīng)營情況的關(guān)注程度與日俱增,XBRL的廣泛應(yīng)用將滿足各類機(jī)構(gòu)和個(gè)人對上市公司越來越高的信息披露要求,并將顯示出愈來愈大的經(jīng)濟(jì)價(jià)值和社會(huì)效用。

             目前國際上各交易所、會(huì)計(jì)師事務(wù)所和金融服務(wù)與信息供應(yīng)商等機(jī)構(gòu)已采用或準(zhǔn)備采用該項(xiàng)標(biāo)準(zhǔn)和技術(shù)。如東京交易所的TD net系統(tǒng)采用了XBRL技術(shù)報(bào)送財(cái)務(wù)數(shù)據(jù),澳洲交易所正在研究并準(zhǔn)備使用XBRL,德國德意志銀行將XBRL用于處理貸款信息并使其信用分析過程更加流暢。XBRL自其1998年誕生起,在國際上已經(jīng)獲得了迅速發(fā)展,而且研究表明XBRL技術(shù)增加了公司財(cái)務(wù)報(bào)告披露的透明度。倡導(dǎo)XBRL國際化的XBRL國際指導(dǎo)委員會(huì)也早在1999年8月成立,由美國注冊會(huì)計(jì)師協(xié)會(huì)與EDGAR在線、微軟、普華永道等12家公司共同組建,目前世界各國已經(jīng)有250多個(gè)機(jī)構(gòu)參加了該組織。
          posted on 2007-03-08 13:31 渠上月 閱讀(305) 評(píng)論(0)  編輯  收藏 所屬分類: other tips
          主站蜘蛛池模板: 景洪市| 福建省| 延吉市| 郎溪县| 武安市| 杨浦区| 高安市| 灵台县| 汽车| 城口县| 赣州市| 泰来县| 大邑县| 浙江省| 思南县| 东平县| 炉霍县| 社旗县| 海原县| 拜泉县| 双桥区| 井陉县| 弋阳县| 宜川县| 澎湖县| 宜章县| 郴州市| 蒙自县| 察隅县| 沾益县| 汉阴县| 宁陕县| 汉源县| 常德市| 鄂托克旗| 新营市| 保康县| 绥棱县| 开远市| 石城县| 长治县|