biztalk什么意思_aide教程网
更多內容請查看:BizTalk動手實驗系列目錄
BizTalk 開發系列
Web Service是在構建SOA平臺中廣泛使用的技術。在BizTalk開發過程中使用SOAP適配器接收和發送 Web Services 請求。業務流程可以發布為 Web Services 并使用外部 Web Services。由于Web Service是基于Internet上統一、開放的標準,如HTTP、XML、SOAP(簡單對象訪問協議)、WSDL等內容比較豐富。這里僅探討在BizTalk中如何使用Web Service。
如下圖所示,我們構造了這樣一個場景:數據庫中存儲Addressbook表。我們通過BizTalk將發布Web Service接收添加數據到數據庫表中。如果在數據庫操作成功的話則返回受影響的行數。如是失敗的話則返回異常信息。
在設計流程過程中,需要添加異常捕獲形狀接收在數據庫操作過程中產生的異常信息。將錯誤信息借助雙向端口的Fault Port將異常信息返回給請求系統。注意在異常處理模塊中結束流程,否則會產生錯誤:
mustreceivebeforesendingamessagewhosemessagetypecorrespondstoarequestreponseoperationonanimplementedport
發布架構為Web Services
BizTalk設計器通過使用BizTalk Web Services發布向導將流程或架構發布為Web Service. MSDN推薦僅將架構發布為Web Service。“如果您想要更詳細的解釋,那就是松散耦合! 這樣做使您在更改業務流程時具有更大的自由性,無需中斷調用方。”。 雖然不是很贊成松散耦合這個觀點,因為通過比較兩種方式發布出來的Web Servcie最終都是通過注入的方式調用全局緩存的流程類庫。
但是還是建議僅將架構發布為Web Service。因為如果僅將架構發布為Web Service的話生成的Web Service項目僅在需要使用的Schema.但如果將流程發布為Web Services的話可能一些其他的架構也會暴露在Web Services的項目中。比如上圖所示的流程(Schema和流程在一個同項目文件中)中如果使用發布流程的話則在流程中使用的添加數據的架構也會暴露在Web Service中。這樣是不太安全的因為數據庫操作的架構包含存儲過程名稱,參數及類型之類的信息。
[通過發布架構產生的Web Service] [通過發布流程產生的Web Service]
當然直接選擇發布流程的話就不需要設置方法和參數名等信息簡化了發布的過程。選擇哪種方式可以看實際情況而定。
討論了兩種發布方式的區別下面提示Step by Step的方式發布架構為Web Service。
1.在Visual Studio開發環境的工具欄下找到BizTalk Web Service發布向導,或者可以在開始-程序-Microsoft BizTalk Server 2006目錄下找到BizTalk Web Service發布向導。
2.在創建 Web Service 頁面下選擇發布架構為向導。發布流程的方式比較簡單將在之后討論。
3.在Web Service定義頁面。可以分別對這些節點命名。當然還可以根據實際需要對其項目進行添加、刪除、修改等操作。注意方法名稱應該與Orchestration設計過程中使用的端口的操作名稱一致。
4.輸入目標命名空間,這個命名空間是在SOAP請求消息中使用的。所以可以不跟架構中使用的消息一致。
5.選擇發布位置,這里的名稱是虛擬目錄的名稱。如果有舊版本的相同名稱的話需要選擇覆蓋安裝。另外選擇訪問方式和為BizTalk程序創建接收位置。
6. 至此將架構發布成了Web Service.窗口中提示的路徑是Web Service項目保存的路徑。可以直接打開項目源碼,(但最好不要做改動,如果不是很熟悉的話。)
同時可以在IIS里查看到新添加的虛擬目錄
發布流程為Web Service
1.發布流程為Web Service的過程比較簡單,接上面第2步開始選擇發布流程為Web Service。
2. 建議在Visual Studio中使用工具菜單下的Web Services發布向導,這樣這一步就可以直接定義到項目中的動態庫。
3.選擇需要發布的流程和端口。
4.后續的部署跟上面是一致的。可以從第4步開始設置。
BizTalk Application綁定相應的Web Service。
這一過程比較簡單,如果在發布向導的時候已經選擇了為應用程序產生接口的話直接在應用程序配置窗口選擇相應的接收位置即可。
BizTalk消費Web Service.
在BizTalk的應用程序中引用Web Service的方法跟一般的.NET應用程序類似。
1.在BizTalk應用程序中添加Web引用
2.選擇本地計算機上的Web服務,在列表中選擇相應的服務。添加相應的名稱之后可以在類型窗口查看到相應的端口類型和消息類型。
3.在流程中創建消息時選擇對應的Web Message Types。創建端口時也同樣使用已經存在的端口類型,即引用Web Services創建的端口類型。
4.項目部署之后,在配置端口時選擇類型為SOAP,在配置頁面輸入Web Service路徑。
Web Services的測試
在.NET開發 Web Services的過程中常常會采用頁面輸入的方式對Web Service進行測試。但是BizTalk生成的Web Service項目已經在Web.Config配置文件中禁止HTTP GET和HTTP POST方法。因此需要通過使用XMLSpy或SoapUI等工具對Web Service進行測試。
我們來測試本次Sample的場景,在SOAPUI中新建一個Project。在請求參數中將“?”更改為相應的數值。發送請求,則返回受影響的行數。測試結果跟預期的一致。
另外,由于我們需要測試返回錯誤消息的情況因此在數據庫中將名稱字段設為主鍵。然后根據發送相同的請求參數返回錯誤信息。請注意,紅線部分是在異常處理模塊里通過字符串構造的方法添加的。
總結
經過以上的探討基本上涵蓋了SOAP Adapter的基本應用。本Sample的代碼可以已經上傳可供下載:BTSSOAP[www.cbcye.com].zip
總結
以上是生活随笔為你收集整理的biztalk什么意思_aide教程网的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于 SAP Spartacus 服务器
- 下一篇: 3DSmax2014打开Autodesk