第八章 microsoft biztalk 架構

62
第第第 Microsoft BizTalk 第第 • BizTalk 第第 • BizTalk 第第第第第 • BizTalk 第第第第第第 • SOAP(Simple Object Access Protoco) 第第第第 • BizTalk 第第第第第第 • BizTalk 第第第第 • BizTalk 第第第第 • BizTalk 第第第第 Schema 第第 • BizTalk 第第第第第第第第第第第第第

Upload: media

Post on 30-Jan-2016

77 views

Category:

Documents


0 download

DESCRIPTION

第八章 Microsoft BizTalk 架構. BizTalk 簡介 BizTalk 的標準術語 BizTalk 的邏輯層模式 SOAP(Simple Object Access Protoco) 通訊協定 BizTalk 訊息傳送流程 BizTalk 文件結構 BizTalk 傳送協定 BizTalk 文件定義 Schema 架構 BizTalk 架構與其它開放標準整合應用. BizTalk 簡介. Microsoft 以 XML 為標準制定的標示語言 透過網際網路傳輸之 XML 商業文件加以標準化 - PowerPoint PPT Presentation

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