<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 59, 文章 - 4, 評(píng)論 - 184, 引用 - 7
    數(shù)據(jù)加載中……

    【ESB專題】之四 - Message Transformation及其相關(guān)模式

     

     

     

    通常,通過消息系統(tǒng)集成的應(yīng)用很少有同樣的消息格式。比如說,一個(gè)帳務(wù)系統(tǒng)同一個(gè)CRM系統(tǒng)對(duì)客戶對(duì)象是有著不同的概念的。基于這個(gè),一個(gè)系統(tǒng)可能將消息存儲(chǔ)在關(guān)系表中,另一個(gè)可能存儲(chǔ)在文件中。集成已存在的系統(tǒng)通常意味著我們沒有修改系統(tǒng)以便使他們更好的一起工作的自由。然而,集成方案不得不協(xié)調(diào)和解決各種系統(tǒng)之間的不同。Message Translator模式提供了一個(gè)通用的解決方案。這里解釋幾種特定的Message Translator

     

    Message Transformation包含以下幾種模式:

    l         Envelope Wrapper

    l         Content Enricher

    l         Content Filter

    l         Claim Check

    l         Normalizer

    l         Canonical Data Model

     

    大多數(shù)消息系統(tǒng)放置特定的需求在消息頭的格式和內(nèi)容中。我們包裝有效數(shù)據(jù)到一個(gè)Envelope Wrapper中以適應(yīng)消息基礎(chǔ)設(shè)施的需求。如果消息需要穿過不同的消息基礎(chǔ)設(shè)施,可以結(jié)合多個(gè)Envelope Wrapper

    如果原始系統(tǒng)不能提供目標(biāo)系統(tǒng)需要的數(shù)據(jù)域,可以使用一個(gè)Content Enricher。它可以查找缺少的信息并從已有數(shù)據(jù)中計(jì)算出它。Content Filter正好相反,它從消息中刪除不需要的數(shù)據(jù)。Claim Check也從消息中刪除數(shù)據(jù),但是它將存儲(chǔ)他們以便以后取回。Normalizer將多個(gè)不同格式的消息翻譯成統(tǒng)一格式。

     

    消除依賴

     

    消息轉(zhuǎn)換在集成中是一個(gè)很深的話題。Message ChannelsMessage Routers可以通過消除應(yīng)用必須知道另外一個(gè)應(yīng)用的位置的需求從而解除應(yīng)用間的基本依賴。

    一個(gè)應(yīng)用可以發(fā)送一個(gè)消息到Message Channel而不必?fù)?dān)心誰來取出消息。然而消息格式增加了另外一種依賴。如果一個(gè)應(yīng)用不得不將消息格式化成另外一個(gè)應(yīng)用的數(shù)據(jù)格式,通過Message Channel解耦的說法就像一個(gè)幻想。接收系統(tǒng)的任何改變或切換到另外一個(gè)接收系統(tǒng)都需要對(duì)發(fā)送應(yīng)用進(jìn)行改變。Message Translators可以幫助除去這種依賴。

     

    元數(shù)據(jù)管理

     

    將消息從一個(gè)消息格式轉(zhuǎn)換到另一個(gè)格式需要操作元數(shù)據(jù) 描述數(shù)據(jù)格式的數(shù)據(jù)。

    元數(shù)據(jù)在兩個(gè)并行系統(tǒng)之間的集成中扮演著非常重要的角色。一個(gè)處理實(shí)際的消息數(shù)據(jù),另外一個(gè)處理元數(shù)據(jù)。許多用于處理消息數(shù)據(jù)的模式也同樣可以管理元數(shù)據(jù)。比如說,Channel Adapter不僅可以從一個(gè)系統(tǒng)中移進(jìn)和移出消息,還可以從一個(gè)外部應(yīng)用中獲取元數(shù)據(jù),并將其加載到一個(gè)元數(shù)據(jù)倉(cāng)庫(kù)中。使用這個(gè)倉(cāng)庫(kù),集成開發(fā)者可以定義應(yīng)用元數(shù)據(jù)與Canonical Data Model.之間的轉(zhuǎn)換。

     

     

    元數(shù)據(jù)集成

     

    o_MT1.JPG

    舉例來說,上面的圖描述了兩個(gè)需要交換客戶信息的應(yīng)用的集成。每個(gè)系統(tǒng)的客戶數(shù)據(jù)的定義稍有不同。從
    AB的消息需要轉(zhuǎn)換一下才能被B接收。如果Channel Adapters可以抽取元數(shù)據(jù)的話,創(chuàng)建一個(gè)轉(zhuǎn)換將非常簡(jiǎn)單。然后這個(gè)元數(shù)據(jù)可以被放入一個(gè)倉(cāng)庫(kù),大大的簡(jiǎn)化了Message Translator的配置和驗(yàn)證。元數(shù)據(jù)可以被存儲(chǔ)成不同的格式。通常XML消息使用XSD格式。其他EAI工具實(shí)現(xiàn)所有元數(shù)據(jù)格式,但是允許管理員導(dǎo)入或?qū)С龅狡渌袷健?/SPAN>

     

    消息系統(tǒng)外的數(shù)據(jù)轉(zhuǎn)換

     

    這些轉(zhuǎn)換模式組成的很多原則可以被應(yīng)用于非消息集成。比如說,File Transfer可以執(zhí)行系統(tǒng)間的轉(zhuǎn)換工作。類似的,Remote Procedure Invocation必須使請(qǐng)求使用要調(diào)用的service的格式,即使應(yīng)用本身的格式可能不同。典型的,需要調(diào)用程序來執(zhí)行轉(zhuǎn)換。一些最成熟的轉(zhuǎn)換引擎組成了ETL工具,比如Informatica或者DataMirror。這些工具一般都一次轉(zhuǎn)換大量的數(shù)據(jù),而不是轉(zhuǎn)換單個(gè)消息。

    Message System應(yīng)專注于幾種基本的Message Translator模式。而不應(yīng)該關(guān)心實(shí)體間結(jié)構(gòu)轉(zhuǎn)換的細(xì)節(jié)(不同的數(shù)據(jù)模型之間的轉(zhuǎn)換,比如ER模型不支持多對(duì)多關(guān)系而其他的支持這種)。關(guān)于這個(gè)主題最老也使最相關(guān)的書是Kent的《Data and Reality》。

     

    posted on 2005-11-21 21:40 fisher 閱讀(1622) 評(píng)論(1)  編輯  收藏 所屬分類: Programing

    評(píng)論

    # 【ESB專題】之四 - Message Transformation及其相關(guān)模式 [TrackBack]  回復(fù)  更多評(píng)論   

    通常,通過消息系統(tǒng)集成的應(yīng)用很少有同樣的消息格式。比如說,一個(gè)帳務(wù)系統(tǒng)同一個(gè)CRM系統(tǒng)對(duì)客戶對(duì)象是有著不同的概念的。基于這個(gè),一個(gè)系統(tǒng)可能將消息存儲(chǔ)在關(guān)系表中,另一個(gè)可能存儲(chǔ)在文件中。集成已存在的系統(tǒng)通常意味著我們沒有修改系統(tǒng)以便使他們更好的一起工作的自由。然而,集成方案不得不協(xié)調(diào)和解決各種系統(tǒng)之間的不同。
    [引用提示]fisher on csdn 引用了該文章, 地址: http://blog.csdn.net/flyingbug/archive/2005/11/21/534215.aspx
    2005-11-21 22:10 | fisher on csdn
    主站蜘蛛池模板: 一级毛片免费视频网站| 亚洲午夜电影一区二区三区| 亚洲午夜久久久久久久久电影网| 亚洲人成电影网站久久| 又大又硬又爽又粗又快的视频免费 | 亚洲一区二区三区在线观看精品中文 | 色窝窝亚洲AV网在线观看| 18禁无遮挡无码网站免费| 亚洲国产精品成人综合久久久 | 最近2019中文字幕免费直播| 亚洲国产综合专区在线电影| 日韩精品免费视频| 亚洲另类激情综合偷自拍| 天天操夜夜操免费视频| 亚洲AV无码一区二区乱子仑| 国产成人高清精品免费鸭子| 高潮毛片无遮挡高清免费| 亚洲偷自拍拍综合网| 最近的2019免费中文字幕| 亚洲av无码成h人动漫无遮挡| 99re在线视频免费观看| 亚洲an日韩专区在线| 免费无码成人AV片在线在线播放| 国产精品亚洲精品爽爽| 国产亚洲精品a在线观看| 毛片在线播放免费观看| 亚洲国产精品久久久久秋霞影院| 亚洲?V无码成人精品区日韩 | 99热在线精品免费全部my| 日韩欧美亚洲国产精品字幕久久久| 久久精品国产亚洲AV网站| 亚洲av再在线观看| 在线看无码的免费网站| 一本岛v免费不卡一二三区| 亚洲日本天堂在线| 国产精品亚洲mnbav网站 | 亚洲天堂免费在线视频| 亚洲自偷自拍另类12p| 超pen个人视频国产免费观看| 99爱视频99爱在线观看免费| 国产免费高清69式视频在线观看 |