Transcript
Page 1: 第八章  Microsoft BizTalk 架構

第八章 Microsoft BizTalk 架構

• BizTalk 簡介• BizTalk 的標準術語• BizTalk 的邏輯層模式• SOAP(Simple Object Access Protoco) 通訊協定• BizTalk 訊息傳送流程• BizTalk 文件結構• BizTalk 傳送協定• BizTalk 文件定義 Schema 架構• BizTalk 架構與其它開放標準整合應用

Page 2: 第八章  Microsoft BizTalk 架構

BizTalk 簡介• Microsoft 以 XML 為標準制定的標示語言

•透過網際網路傳輸之 XML 商業文件加以標準化

•一種在電子商務環境的 Language of Business

Page 3: 第八章  Microsoft BizTalk 架構

BizTalk 簡介 (續 ) •企業雙方利用 BizTalk 架構系統 ,便可以利用網路環境進行商業溝通

•一個開放的電子商務訊息交換架構

• BizTalk 架構只提供開放的傳送機制標準 ,並不提供商業文件 Schema 內容標準

Page 4: 第八章  Microsoft BizTalk 架構

BizTalk 簡介 (續 )

•微軟將藉重 BizTalk 架構以支援其 BizTalk Server 、 Commerce Server 及 SQL Server 等下一代電子商務工具和解決方案,而在符合 BizTalk 開放架構的條件下,其他業者亦可提供相關之軟、硬體產品。

Page 5: 第八章  Microsoft BizTalk 架構

BizTalk 主要包括

•技術規範: BizTalk 架構之技術規範定義使用 XML 之一致性方法

•標籤集合: BizTalk 架構由一組 "必要性 "及 "選擇性 "標籤所構成,這些標籤集合使 XML 相關工具得以透過一致性的方法,有效處理 Biz alk 文件。

Page 6: 第八章  Microsoft BizTalk 架構

BizTalk 主要包括 (續 )

• BizTalk 入口網站:該網站網址為:http://www.biztalk.org。 Biz Talk 網站主要包括 BizTalk Schema 儲存庫 (repository) 和相關工具,其主要目的是欲降低企業或組織,利用 XML-based 文件進行資訊交換的進入障礙。值得注意的是 Biz Talk的 Schema 係使用微軟提議的 XDR 語法。

Page 7: 第八章  Microsoft BizTalk 架構

BizTalk 基本架構圖

Page 8: 第八章  Microsoft BizTalk 架構

BizTalk 發展方向1. 研究描述 XML 文件內容的封包

2. XML 訊息傳遞程序以及設計規則

3. 各使用者依據不同產業的特性及需要 ,訂定其商業文件 (Business Document) 資訊交易的標準 (即制定各種產業專屬的訊息Schema)

Page 9: 第八章  Microsoft BizTalk 架構

BizTalk 架構所遵循的規則1. 利用 XML-Data Reduced(XDR) 格式來定義

BizTalk 邏輯, Schema 結構及商業訊息文件結構, Schema 的結構包含商業訊息文件中,應包括那些元素、屬性,以及組成方式

Page 10: 第八章  Microsoft BizTalk 架構

BizTalk 架構所遵循的規則(續 )

2. 在 SOAP1.1 封包訊息中使用 BizTalk 架構標籤

3. 定義 attachment 的邏輯結構,以便應用程式自動將其編入分類目錄中

Page 11: 第八章  Microsoft BizTalk 架構

BizTalk 的標準術語

一 .BizTalk Framework Compliant Server (BFC Server):

符合在 BizTalk Framework 規格書中,所律定的各項訊息處理機制之服務功能的伺服器

Page 12: 第八章  Microsoft BizTalk 架構

BizTalk 的標準術語 (續 )二 .Application: 儲存與執行商業資料,或邏輯的商業系統,也可以包含外加的轉換程式,及與 BFC伺服器溝通

三 .Business Document: 是一份正確合法的 XML 文件,包含商業交易所需的資料

Page 13: 第八章  Microsoft BizTalk 架構

BizTalk 的標準術語 (續 )四 .Schema: 用來敘述 XML 文件的內容與結構的 metadta

五 .BizTalk Document: (1)Business Documents (2) 特定的 BizTalk 標頭項目資料

Page 14: 第八章  Microsoft BizTalk 架構

BizTalk 的標準術語 (續 )六 .BizTag: 用來處理特定 Business Document 的文件標籤集合

七 .BizTalk Message: BFC伺服器之間連線層級資料交換的基本單元

Page 15: 第八章  Microsoft BizTalk 架構

BizTalk 的標準術語 (續 )八 .Transport: BFC伺服器使用的通訊機制

九 .Attachment: 其他不能成為適當 Business Document的資訊格式或內容

Page 16: 第八章  Microsoft BizTalk 架構

BizTalk 的邏輯層模式•採用分層 (layers) 的架構

•提供相同功能且相容於 BizTalk 架構規格書中的規定 ,就可以使用其他不同的邏輯分層結構

Page 17: 第八章  Microsoft BizTalk 架構

BizTalk 的邏輯層

1. Application(適當的轉換程式 adapters)

2. BFC伺服器

3. Transport( 通訊機制 )

Page 18: 第八章  Microsoft BizTalk 架構

BizTalk分層架構圖

Page 19: 第八章  Microsoft BizTalk 架構

SOAP 通訊協定 SOAP(Simple Object Access Protocol)

的組成

1. The SOAP envelop:定義一個封包結構及如何處理的方法 ,包 SOAP

訊息內容

Page 20: 第八章  Microsoft BizTalk 架構

SOAP 通訊協定 (續 )2. The SOAP encoding rules:

定義一組可描述應用程式的資料型態規則

3. The SoAP RPC representation:能處理遠端程序呼叫與回應的方法

Page 21: 第八章  Microsoft BizTalk 架構

SOAP 訊息結構

Page 22: 第八章  Microsoft BizTalk 架構

SOAP 訊息實例

<SOAP-ENV:ENVELOPE xmlns:SOAP-ENV=“http://Schemas.xmlsoap.org/soap/env

elope/” SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/s

oap/encoding/"/> <SOAP-ENV:Header> <t:Transaction xmlns:t="some-URI" SOAP-ENV:mustUnderstand="1">

5 </t:Transaction> </SOAP-ENV:Header>

Page 23: 第八章  Microsoft BizTalk 架構

SOAP 訊息實例 ( 續 )<SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DEF</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Page 24: 第八章  Microsoft BizTalk 架構

SOAP 的優點1.跨平台

2.標準化

3. Programming model 無關

SOAP 可望成為溝通各種 programming model 或平台的協定標準

Page 25: 第八章  Microsoft BizTalk 架構

BizTalk 訊息傳送流程

Page 26: 第八章  Microsoft BizTalk 架構

BizTalk 訊息傳送流程 (續 )1. 產生傳送 BizTalk 需求 , 並發生應用程式

的事件

2. 應用程式或轉換程式會依照已經發佈的 BizTalk Message 的 Schema 來產生一個以SOAP 標準定義的 BizTalk Document

Page 27: 第八章  Microsoft BizTalk 架構

BizTalk 訊息傳送流程 (續 )3. 應用程式將所產生的 BizTalk Document

傳送給 BFC 伺服器

4. 發送 BFC 伺服器將 BizTalk Document加上傳輸所需要的 Transport 資訊 ,成為BizTalk Message 傳送給目的地的 BFC 伺服器

Page 28: 第八章  Microsoft BizTalk 架構

BizTalk 訊息傳送流程 (續 )5. 目的地的 BFC 伺服器收到 BizTalk Mess

age 後 ,先對於此 BizTalk Message做驗證 ,然後再將此 BizTalk Message 送往目的地應用程式處理

Page 29: 第八章  Microsoft BizTalk 架構

簡單的 BizTalk 文件例子

<SOAP-ENV:ENVELOPE xmlns:SOAP-ENV=“http://Schemas.xmlsoap.org/s

oap/envelope/” xmlns:xsi="http://www.w3.org/1999/XMLSchema-i

nstance"> <SOAP-ENV:Header> <dlv:delivery SOAP-ENV:mustUnderstand="1" xmlns:dlv="http://Schemas.biztalk.org/bt

f-2-0/delivery" xmlns:agr="http://www.trading-agreements.

org/types/">

Page 30: 第八章  Microsoft BizTalk 架構

簡單的 BizTalk 文件例子(續 )

<dlv:to> <dlv:address xsi:type="agr:departmen

t">Book OrderDepartment</dlv:address> </dlv:to> <dlv:from> <dlv:address xsi:type="agr:organiza

tion:>BookloversAnonymous</dlv:address> <dlv:from> </dlv:delivery> <prop:properties SOAP-ENV:mustUnderstand="1" xmlns:prop="http://Schemas.b

iztalk.org/btf-2-0/properties">

Page 31: 第八章  Microsoft BizTalk 架構

簡單的 BizTalk 文件例子 (續 )

<prop:identity>uuid:74b9f5d0-33fb-4a81-b02b-5b760641c1d6</prop:identity> <prop:sentAt>2000-05-14T03:00:00+08:00<p

rop:sentAt> <prop:expiresAt>2000-05T04:00:00+08:00 </prop:expiresAt> <prop:topic>http://electocommerce.org/purchase_ord

er/ </prop:topic> </prop:properties>

Page 32: 第八章  Microsoft BizTalk 架構

簡單的 BizTalk 文件例子 (續 )

</SOAP-ENV:Header> <SOAP-ENV:body> <po:purchaseOrder xmlns:po="http://el

ectrocommerce.org/purchase_order/"> <po:Title>Essential BizTalk</po:Ti

tle> </po:PurchaseOrder> </SOAP-ENV:body></SOAP-ENV:Envelope>

Page 33: 第八章  Microsoft BizTalk 架構

BizTalk 文件結構

1. 為一個特定應用的 Business Document,此文件擁有為了該應用所定義的 XML Namespace,此 Business Document 為 SOAP Message 的主體

Page 34: 第八章  Microsoft BizTalk 架構

BizTalk 文件結構 (續 )2. BizTalk 的特定 SOAP 標頭項目 <deliver

y>與 <properties>, 使用標準 BizTag Namespace 所定義 BizTages 及 BizTalk 規格書所定義的 Schema 及語意 (semantics)來組成

3. BizTalk Document 的標頭部分 (<SOAP-ENV:Header>…</SOAP-ENV:Header>)

Page 35: 第八章  Microsoft BizTalk 架構

BizTalk 文件結構 (續 )4. BizTalk Document 的主體部分 (<SOAP-ENV:Body>…< /SOAP-ENV:Body>)

5. 文件內部的 BizTags 是沒用的 ,只會當成被處理的資料

Page 36: 第八章  Microsoft BizTalk 架構

BizTalk 文件主體• SOAP 訊息的 <Body>元素構成一個 BizTalk Document

•相關的 Business Documents 通常都會分享內容 ,SOAP針對資料可讓多個來源參考 (multipe references) 有一個很直接的機制 ,它使用 XML 的 ID 屬性和相關 URIs

Page 37: 第八章  Microsoft BizTalk 架構

BizTalk Document 標頭項目1. 文件繞徑與遞送 2. 文件辨識與屬性

3. 文件類別

4. 程序管理

Page 38: 第八章  Microsoft BizTalk 架構

文件繞徑與遞送a.繞徑 (Document routing) 使用 <delivery>BizTag

b. 包含 BizTalk Document 的來源和目標資訊

c. 提供穩定遞送 (reliable delivery) 所需要的資訊

Page 39: 第八章  Microsoft BizTalk 架構

文件繞徑與遞送 -子標籤

• <to>包含 BizTalk Document 要傳送到的商業實體伺服器或應用程式

• <from>包含 BizTalk Document從那個商業實體伺服器或應用程式傳送出來的資訊

Page 40: 第八章  Microsoft BizTalk 架構

文件繞徑與遞送 -子標籤 (續 )

• <address>包含商業實體的識別名稱 , 使用的元素必須要包含 xsi:type 屬性

• <reliability>包含穩定遞送 BizTalk Document 所需要的資訊

Page 41: 第八章  Microsoft BizTalk 架構

文件繞徑與遞送 -子標籤 (續 )• <sendReceiptTo> 指定 transport address的 URL ( 一般是在來源商業實體 ),此為 BizTalk Document 的收據 ,需要回寄的地址

• <receiptRequiredBy>包含需要回寄收據給接收 BizTalk Document 的伺服器的絕對立即時間

Page 42: 第八章  Microsoft BizTalk 架構

文件繞徑與遞送 -例子<dlv:delivery SOAP-ENV:mustUnderstand="1" xmlns:SOAP-ENV=“http://Schemas.xmlsoap.org/soa

p/envelope/” xmlns:xsi="http://www.w3.org/1999/XMLSchema-ins

tance" xmlns:dlv="http://Schemas.biztalk.org/btf-2-0/d

elivery" xmlns:agr="http://www.trading-agreements.org/ty

pes/"><dlv:to> <dlv:address xsi:type="agr:department">Book OrderD

epartment </dlv:address> </dlv:to>

Page 43: 第八章  Microsoft BizTalk 架構

文件繞徑與遞送 -例子 (續 )<dlv:from> <dlv:address xsi:type="agr:organization:>Bookl

overs Anonymous </dlv:address> <dlv:from> <dlv:reliability> <dlv:sendReceiptTo>www.we-love-books.org/po/co

nfirmations </dlv:sendReceiptTo> <dlv:receiptRequiredBy>2000-05-14T03:00:00+08:00

</dlv:receiptRequiredBy> </dlv:reliability></dlv:delivery>

Page 44: 第八章  Microsoft BizTalk 架構

文件辨識與屬性

•在 SOAP 標頭訊息中的 <properities>BizTag指定了文件辨識其他屬性的資訊

• <properties>元素的編碼必須永遠包含SOAP-ENV:mustUnderstand=“1”屬性

Page 45: 第八章  Microsoft BizTalk 架構

文件辨識與屬性 -子標籤• <identity>是一個 URI 參考 , 可以用於登入 (logging),追蹤 (tracking),錯誤處理(error handing) 或其他文件的處理及相關需求 (correlation requirements),當成唯一識別 BizTalk Document 的目的

• <sentAt>傳送文件的時間戳記

Page 46: 第八章  Microsoft BizTalk 架構

文件辨識與屬性 -子標籤 (續 )• <topic>包含 URI 參考 (URI reference),此 URI 參考是用來辨識 BizTalk Document的整體目的

• <expiresAt>為文件的過期時間戳記

Page 47: 第八章  Microsoft BizTalk 架構

文件辨識與屬性 -例子<prop:properties SOAP-ENV:mustUnderstand="1" xmlns:SOAP-ENV=“http://Schemas.xmls

oap.org/ soap/envelop

e/” xmlns:dlv="http://Schemas.biztalk.or

g/btf-2-0/ properties"> <prop:identity>uuid:74b9f5d0-33fb-4a81-b02b-5b760641c1d6

</prop:identity>

Page 48: 第八章  Microsoft BizTalk 架構

文件辨識與屬性 -例子 (續 )<prop:sentAt>2000-05-14T03:00:00+08:00<prop:sentAt>

<prop:expiresAt>2000-05T04:00:00+08:00 </prop:expiresAt> <prop:topic>http://electocommerce.org/purchase_order/

</prop:topic></prop:properties>

Page 49: 第八章  Microsoft BizTalk 架構

文件類別

• <manifest>BizTag 是用來指定文件類別資訊 ,用來檢查 BizTalk 內容的一致性 ,完整性及驗證機制

Page 50: 第八章  Microsoft BizTalk 架構

文件類別 - 子標籤• <reference> 1. <uri>是一個 URI 參考值

2. <Description>是 Bussiness Document 或 attachment 的文件的文件描述

Page 51: 第八章  Microsoft BizTalk 架構

文件類別 -例子

<fst:manifest xmlns:fst="http://schemas.biztalk.org/btf-2-0 /manifest"> <fst:reference fst:uri="#insurance_claim_document_id"> <fst:description>Insurance Claim<fst:description> </fst:reference> <fst:reference fst:uri="CID:[email protected]

m">

Page 52: 第八章  Microsoft BizTalk 架構

文件類別 -例子 (續 )

<fst:description>Facsimile of Signed Claim Document

</fst:description> </fst:reference> <fst:reference fst:uri="CID:car.jpeg@claimin

g-it.com"> <fst:description>Photo of Damaged Car <

/fst:description> </fst:reference></fst:manifest>

Page 53: 第八章  Microsoft BizTalk 架構

程序管理 -子標籤• <process>BizTag指定程序管理 (Process Management) 資訊 ,包含商業處理的資訊– <type>包含一個 URI 參考 ,此參考代表所使用的商業程序的類型

– <instance>包含一個 URI 參考 ,此參考用來辨識一個 BizTalk Document 相關的特定商業程序實體

Page 54: 第八章  Microsoft BizTalk 架構

程序管理 -子標籤 (續 )

• <handle>是一個 URI 參考 ,此參考提供進一步的資訊 ,這些是辨識商業程序實體中的步驟或是進入點時所需要的資訊

Page 55: 第八章  Microsoft BizTalk 架構

程序管理 -例子<prc:process SOAP-ENV:mustUnderstand="1" xmlns:SOAP-ENV=“http://Schemas.xmls

oap.org/soap/envelope/” xmlns:prc="http://Schemas.biztalk.or

g/btf-2-0/Process"> <prc:type>purchasing:Book_Purchase_Process</prc:type> <prc:instance>purchasing:Book_purchase_process#12345 <prc:instance> <prc:handle>port:po_receiver</prc:handle></prc:process>

Page 56: 第八章  Microsoft BizTalk 架構

附加 Attachments 的 BizTalk Documents

• 多重部分的 MIME結構 (Multipart MIME Structure): 一個主要的 BizTalk Document 包含一個或多個 attachments, 並使用 mutipart MIME structure 來傳送

• Attachments 的載貨單結構 (Manifest Structure for Attachments): 在 <mainifest>標頭項目珠 <reference>元素的關係 ,利用 <reference>中的 uri 屬性包含相關 attachment 的位置

Page 57: 第八章  Microsoft BizTalk 架構

BizTalk 傳送協定•一般使用 HTTP 通訊協定來傳送

•但是 HTTP回應的意義與內容只是表示傳送訊息的送達

•套用 SOAP 1.1 HTTP binding 規則

Page 58: 第八章  Microsoft BizTalk 架構

使用 HTTP 的例子POST /bookPurchase HTTP/1.1HOST: www.we-have-books.comContent-Type: text/xml;charset="utf-8"Content-Length: nnnnSOAPAction: http://electrocommerce.org/purchase_order/

<?xml version='1.0' ?><SOAP-ENV:ENVELOPE *********(請參考 " 簡單的 BizTalk 文

件例子 ")</SOAP-ENV:Envelope>

Page 59: 第八章  Microsoft BizTalk 架構

BizTalk 文件定義 Schema 架構1. 傳送標頭項目 (Delivert header entry)

2. 屬性標頭項目 (Properties header entry)

3. 載貨單標頭項目 (Manifest header entry)

4. 程序標頭項目 (Process header entry)

Page 60: 第八章  Microsoft BizTalk 架構

BizTalk 文件定義 Schema 架構(續 )

5. 收據標頭項目 (Receipt header entry)

6. SOAP 1.1 Envelope for BizTalk Document

7. SOAP 1.1 Envelope for BizTalk Receipt

Page 61: 第八章  Microsoft BizTalk 架構

XML 的註冊機制與儲存庫

• 註冊機制 : 一個用來「註冊」 XML 文件、架構及相關中介資料的機制,這些資料可經由查詢或瀏覽 XML註冊目錄取得

• 儲存庫 儲存庫包含被註冊所指向的一個或一群分散式位址,其中包存放了與文件相關的型態定義,可以把儲存庫視為 schema libary

Page 62: 第八章  Microsoft BizTalk 架構

著名的 XML註冊與儲存庫網站

• XML.org 儲存庫 : http://www.xml.org/xml/registry.jsp

• BizTalk.org 儲存庫 : http://www.biztalk.org/library/library.asp


Top Related