解讀Java與.NET間進(jìn)行Web Service交互的選擇_.Net教程
推薦:解讀.NET中*延遲*特性的幾個(gè)陷阱.NET發(fā)展至今,其實(shí)各處都有
談到.NET和Java之間的Web服務(wù)交互性時(shí),通常的選擇只有SOAP over HTTP,而根據(jù).NET 3.0的相關(guān)規(guī)范,這僅有的一個(gè)選擇也將會(huì)受到更多限制,.NET中提供的BasicHTTP將是唯一能直接與Java Web Servcies進(jìn)行交互的方式。
最近,有兩個(gè)新的選擇出現(xiàn)了——WebSphere MQ(WMQ)和ActiveMQ傳送器,它們可以用于創(chuàng)建Java和.NET之間的交互式Web Services。而且.NET的可靠消息系統(tǒng)已經(jīng)得到了擴(kuò)展,因此對(duì)于MSMQ來說,WMQ和Active MQ都可以作為.NET Web Services的可靠傳遞者。
WMQ解決方案基于IBM AlphaWorks中IBM WMQ for Windows Communication Foundation的定制通道(Custom Channel),它的最新版本已于3月14日發(fā)布。這一產(chǎn)品允許將WMQ作為定制通道用于Windows Communication Foundation(WCF)框架(已隨.NET Framework 3提供)中,它與微軟的內(nèi)建通道工作方式相同。
消息都是經(jīng)過格式化的,以滿足WMQ v6.0的SOAP over JMS實(shí)現(xiàn),讓應(yīng)用程序即可以和運(yùn)行于WCF之上的服務(wù)進(jìn)行通信,也能和運(yùn)行在WebSphere SOAP over JMS服務(wù)基礎(chǔ)之上的服務(wù)進(jìn)行通信,包括WebSphere應(yīng)用服務(wù)器和CICS。
目前的實(shí)現(xiàn)是以概念驗(yàn)證為主,是為了幫助更好地理解對(duì)這一領(lǐng)域產(chǎn)品的需求(也就是說它并不適合在產(chǎn)品環(huán)境中使用),如何產(chǎn)品化這一實(shí)現(xiàn)的計(jì)劃還沒有最終確定。
定制通道的構(gòu)建是通過Windows Communication Foundation的可擴(kuò)展框架提供的,這一可擴(kuò)展框架允許集成和使用那些與微軟提供的內(nèi)建傳送器類似的傳送器。服務(wù)型應(yīng)用只要通過配置就可以使用新的定制通道,只要客戶端應(yīng)用程序是通過像微軟的Service Metadata utility Tool(Svcutil.exe)這樣的標(biāo)準(zhǔn)工具生成的,它們就可以正常運(yùn)行。服務(wù)的元數(shù)據(jù)描述可以被正在運(yùn)行的服務(wù)直接發(fā)布(可以通過一個(gè)附加的HTTP端點(diǎn)來暴露)或者使用WSDL(Web Service Description Language)。
目前的實(shí)現(xiàn)版本支持核心的消息功能,它有如下限制:
對(duì)于一個(gè)服務(wù)實(shí)例,只有一個(gè)客戶端可以使用雙向通道的模式;
雙向通道是對(duì)WebSphere MQ v6所提供的SOAP/JMS實(shí)現(xiàn)的一種擴(kuò)展,它只能用于WCF服務(wù)與其客戶端之間的通信;
僅支持核心的消息功能(如不支持像事務(wù)化和安全等高級(jí)特性)
運(yùn)行在現(xiàn)存WMQ v6的SOAP/JMS環(huán)境中的SOAP/JMS服務(wù)僅能進(jìn)行單向操作;
運(yùn)行在CICS或WebSphere應(yīng)用服務(wù)器的SOAP/JMS環(huán)境內(nèi)的SOAP/JMS服務(wù),不允許在一個(gè)單一合約中混合使用單向操作和請(qǐng)求/回復(fù)操作,而必須為每個(gè)通道形態(tài)分別創(chuàng)建獨(dú)立的合約。
Active MQ解決方案基于Axis提供的JMS(由Java編寫而成)和“插件式協(xié)議”特性(由.NET編寫而成),因此,它并不是以真正的.NET定制通道方式包裝的,這就需要更多的定制編程。
這兩種解決方案都沒有徹底的產(chǎn)品化,但它們卻提供了一個(gè)很好實(shí)驗(yàn)基礎(chǔ),以選擇合適的Web Services交互式傳送器。
分享:C#教程:Assembly類訪問程序集信息C#中通過Assembly類可以訪問程序集信息. 1.允許訪問給定程序集的元元素,包含可以加載和執(zhí)行程序集的方法; 2.加載程序集:使用靜態(tài)方法Assembly.Load(程序集名稱)或Assembly.LoadFrom(程序集完整路徑名); 3.屬性: FullName:程序集顯示名稱; 3.方法: Ge
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- .NET初學(xué)者推薦課程 asp.net錯(cuò)誤代碼大全
- 解析asp.net開發(fā)與web標(biāo)準(zhǔn)的沖突問題
- ASP.NET筆記之 Httphandler的操作詳解
- ASP.NET立即上手教程(9)
- 解析微軟 ASP.NET 內(nèi)置安全架構(gòu)
- ASP.NET筆記之 viewstate與cache的使用
- String.Empty、NULL、“”的不同之處
- vs.net控件updatePanel實(shí)現(xiàn)無刷新的方法
- Windows2003中配置運(yùn)行ASP.net程序
- .NET平臺(tái)依賴注入機(jī)制及IoC的設(shè)計(jì)與實(shí)現(xiàn)
- 相關(guān)鏈接:
- 教程說明:
.Net教程-解讀Java與.NET間進(jìn)行Web Service交互的選擇
。