冷靜面對SOA的中介軟體

2021-04-12 12:59:26 字數 4364 閱讀 4801

一定要選擇soa的中介軟體?

中介軟體是什麼?可以說中介軟體是一類軟體產品,又可以進一步把它劃分為應用伺服器、訊息中介軟體、交易中介軟體、門戶伺服器和工作流系統等多個類別,不同的中介軟體解決不同的問題。soa是什麼?soa是一種軟體系統提供功能的架構式樣。組成這樣的乙個架構,需要有服務的請求者、服務的提供者、以及服務的描述者,其中,服務的請求者、提供者要遵循相同的規範和標準,才能實現基於網際網路的呼叫,描述者則要把這些服務描述清楚,使請求者能夠了解服務是做什麼的、到那裡去找,如何訪問乙個服務,這是乙個支援松偶合的技術架構。要說乙個是產品,乙個是架構,兩者結合在一起,即所謂符合或者支援soa架構的中介軟體產品,或者乾脆稱自己是soa架構的中介軟體產品,這意味著什麼?對於使用者而言,在採購中介軟體產品的時候,是否一定要購買這樣產品呢?

先來看所謂soa架構的中介軟體產品的含義,為此,我求教了相關中介軟體廠商,含義無外乎兩個:乙個是說採用這種中介軟體產品可以很好的構建soa的應用;再有就是採用這種中介軟體產品開發出來的應用,將很容易被整合進soa架構。兩者的含義都差不多,就是其應用很容易實現soa。業內人士指出,所謂soa架構中介軟體並不十分的準確,因為這裡中介軟體的提法太籠統了。前面說過,中介軟體可以分為7大類,其中有些產品,如應用伺服器、門戶中介軟體、一些新的工作流系統等,與網際網路關係密切,本身就支援web服務的封裝,基於它們開發的應用的功能很容易就能封裝成web服務,支援soa;但是對於訊息中介軟體、交易中介軟體等,來談論soa,其意義就不大了。

總體看來,所謂soa架構的中介軟體,無非就是要表明,廠商提供的中介軟體產品對於soa有很好的考慮,而soa還是針對應用而言。 soa概念的提出是為了解決動態的b2b應用整合的問題。這裡不妨看乙個理論中關於物流行業的例子。物流涉及倉儲、運輸、車輛等幾個環節,如果這些環節相應的資訊系統所提供的功能服務都能夠以web服務的方式提交出來,那麼相互的呼叫就會非常容易,很容易實現動態的b2b整合。哪怕你沒有自己的倉庫、車輛,同樣可以利用這些服務,構建全新的物流商業模式,提供靈活的商業服務,成為乙個第三方、第四方物流企業。對於企業而言也是這樣,我們看一些成功的企業,如cisco,對於上下游的合作夥伴,具有很高的資訊化的要求。以分銷**為例,cisco已經不接受傳統的下單方式,其總**必須通過電子商務的方式定購產品。cisco所採用的系統是sap的,這就要求上下游的合作夥伴也必須採用sap的系統,否則系統就無法對接,這就是現實的情況。

如果各家erp廠商能夠按照soa的觀念,遵循標準化的規範,把服務以標準的方式提交、展現出來,那麼,這樣的限制就不復存在,soa的價值在於跨越了不同應用系統、不同技術的整合,這種整合改變現有的商業模型。

soa描繪了乙個無比美妙的未來,也是擁有一定的現實基礎,soa與現今流行的web服務緊密聯絡在一起。web服務是一項技術,其規範包括wsdl、soap、uddi。web服務由wsdl描述,通過uddi發現,並通過soap去訪問。web服務提供了技術,而soa則提供了應用這種技術的框架,是乙個非常好的思路,因此得到了軟體業界普遍的認可。

中介軟體對於web應用具有簡化和幫助其相互連線、相互訪問的作用。從理論上講,基於web服務的中介軟體將會給應用軟體的開發、部署、應用方式帶來革命性變化,因為web服務的出現,使各應用元件之間能夠以松偶合和標準的方式連線,突破了傳統的基於某廠商特定技術、某一種特定技術的方式。目前,幾乎所有新的中介軟體型別、新的中介軟體產品都支援web服務,可以基於它們實現soa架構的應用。正因為如此,人們將中介軟體視為實現soa架構的理想平台。憑藉這種天然的聯絡,中介軟體搭車soa也是乙個增加**率的明智擇。從技術視野上來看,如果中介軟體產品沒有考慮soa是短視的,在技術跟隨上顯得行動緩慢。

未來前景廣闊 現實問題重重

按照gartner等權威機構的**,作為一種面向未來的構想,soa到成為現實的主流架構顯然還有很長路要走,甚至可能要用5~10年的時間。對於現實的意義而言,soa有什麼價值嗎?

對於廠商而言,應該密切注意技術的發展潮流,加緊技術的跟蹤與研發,待時機成熟,隨時推出產品和方案。對於使用者而言,如果你具有很強的技術背景和開發實力,也可以嘗試著進行一些概念的驗證和實踐,以期進一步熟悉和了解soa的架構。相對而言,在企業的內部驗證soa容易一些,你可以把一些應用封裝為web服務,自己作為這些服務的提供者和使用者,在企業內部使用這些服務創造新的價值,從這個意義來說,這個時候的使用者,已經成為技術的實踐者。。

如果企業打算向外部推廣一些服務,和它的供貨商、分銷商、**商、客戶等一起來構建soa架構的應用,就還有很長的路要走。這裡有乙個實際的例子。我們知道商業銀行現在向客戶提供很多代繳固話費、手機費、水費、電費、煤氣費等服務,乙個省級分行要和幾十個需要收費的單位互聯,實現應用的相互訪問。從純技術的角度看,無疑是基於web服務的soa架構應用的最佳用武之地。但現實是,沒有人這麼做。因為需要改造自己的業務系統,牽涉很多人員和投入。此外,也要安全的問題,效率的問題等,目前還沒於成熟的解決辦法。

早有國外專家指出,soa作為乙個具有發展前景的應用系統架構,尚存在許多有待改進的地方,例如在可靠性、安全性、編制(orchestration)、遺留系統(legacy support)支援和語義(semantics)方面均還存在嚴重不足。以可靠性為例,在不可否認性(non-repudiation)、訊息一定會被傳送且僅傳送一次(once-and-only-once delivery)以及事務撤回(rollback)等問題上, soa還沒有做好準備。現有的基於交易中介軟體、訊息中介軟體的解決方案,較好地滿足了應用系統在效能、服務質量和安全性等幾個方面的需求。但在soa環境中,其應用元件之間是一種松耦合的關係,要讓乙個應用軟體的元件,很容易去跟屬於不同應用的軟體元件進行對話,如何確保這些迥然不同,但又相互連線的系統的效率、可靠性、可控性和安全性,就複雜得多了,是soa還沒有最終解決好的問題。這些都影響了soa的實際實施和推廣。

未來的餅 怎麼可以解決今天的溫飽

前面說過,soa的概念主要來自應用的動態b2b整合。從廠商的反饋來看,目前國內使用者整體上還沒有到規模化的推廣、應用基於web服務和soa架構發b2b應用的階段,即使是企業內部的應用整合soa適用的情況也不多,僅有的案例其實際意義也非常有限。企業是否要部署和應用soa,根本上還是要看業務上的需要和要解決的業務問題以及要通過it系統達到的目的。在技術的選擇上,無論是在soa出現之前、現在、還是soa之後,最重要的是要看什麼技術和產品能夠最有效、最可靠、最方便地解決使用者的現實業務問題和相關的技術問題。能夠把握現在,才能適用未來。從國內的應用整合實踐來看,部門內部或跨部門的資料的整合、一般的應用系統的整合還是最主流的需求。針對這些需求,有許多成熟的方法和工具。目前國內很多省市都在推動和建設的企業信用系統,可以很好地驗證這一觀點。建設企業信用系統是要把散布在質檢、工商、國稅、地稅、銀行等部門的企業信用資料整合起來,進行分析、處理和深加工,最終提供一系列的信用產品並為**部門的管理和決策服務。因此,需要建乙個大的企業資料中心,需要把散布在不同部門中的資料匯集起來。其關鍵的問題就是資料的同步問題,需要不斷彙總、更新資料,而不是簡單的、同步的資料查詢。這不是soa最適合的工作。

金融方面也有類似的例子。例如某銀行在實現全國集中資料處理後,需要把在全國中心產生的交易流水資料按需要下傳給省行和地市行使用,以實現交易的事後監督。要傳的資料量比較大,從總行到省分行可以達到幾個gb的規模。對這個案例而言,如何實現高效、可靠的網上傳輸是最關鍵的問題,是整個的應用整合方案的核心。曾經使用過ftp在網上進行傳輸,由於缺乏可靠性傳輸和斷點續傳等保證,實際效果不好。後來採用了基於訊息中介軟體軟體實現的海量檔案傳輸整合方案,就能夠很好的解決有關問題。這同樣不適合soa。從目前來看,國內很難找到有實際意義和一定規模的soa應用部署。。因此,無論是國內廠商還是國外廠商,宣傳的大都還是概念、技術產品和應用方案,鮮有實際的案例,和實際案例的詳細的解析。soa的現實意義大打折扣。

毋庸諱言,與國外發達國家的企業相比,國內在創新技術的研發和投入上仍有教大的差距,但這並不等於說,國內企業在技術上就一無所長。實際上,國內企業在技術的實踐上還是有很多的經驗和心得,在這一點上,國內外並沒有什麼差距。理論的研究再好,也是要與實際的商業進行結合才會煥發出生命力。對於soa也是如此,沒有人敢保證soa將來肯定成功。今天所能說是,面向未來發展,soa為應用的動態整合提供了乙個非常好的思路,乙個解決問題的方法。然而目前soa相關技術和應用還處於探索和發展之中,對此一定要有乙個清醒的認識。

在it業內有乙個口號:以使用者為中心,也就是以使用者的需求為中心。soa作為一種技術上的視野,應該讓使用者有更多的了解,也可以讓使用者也參與進來,我們看到ibm在很多情況下就是這樣做的,這也是一種負責任的態度。在軟體方面,ibm的策略是不做應用軟體,只做基礎軟體,通過幫助合作夥伴,為終端使用者提供服務。但是我們也看到另外一種情況,soa作為未來的發展方向,其本身非常複雜,而國內使用者受應用水平的限制,在技術視野上本不廣闊,讓他們清楚地分辯未來與現實本就不是一件容易事情,很容易受到**的誤導。有些廠商,把soa作為一種技術標籤加以推廣,其目的只有乙個,抬公升自己企業的品牌形象,通過市場手段故意混淆現實與未來的需求。這就背離了技術發展的初衷,是應該遭到唾棄和批判。

對於中介軟體而言,還是要回到使用者的需求上來!與兼顧未來相比,解決使用者現實的問題同等重要、甚至更為重要。即使是兼顧未來,大多數國內的中介軟體產品同樣是非常好的選擇!中介軟體市場上,乙個技術上遙遙領先的巨無霸,其實並不存在!

SOA會把中介軟體引向何方

飛馬摘要 本文舉例說明了soa和中介軟體的關係,並指出基於soa必將成為中介軟體發展的技術趨勢。按照用途來分,中介軟體可以劃分為基礎中介軟體 應用中介軟體和領域應用框架三類。其中,應用中介軟體主要有資料資源整合 應用資源整合 業務流程整合 門戶整合等中介軟體。隨著soa的普及,資訊系統內部為滿足互通...

中介軟體 訊息中介軟體學習總結

冪等 在程式設計中.乙個冪等操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。冪等函式,或冪等方法,是指可以使用相同引數重複執行,並能獲得相同結果的函式。這些函式 不會影響系統狀態,也不用擔心重複執行會對系統造成改變。例如,getusername 和settrue 函式就是乙個冪等函式....

中介軟體作業

主要檔案的 fctrl client linux.c this is sample code generated by rpcgen.these are only templates and you can use them as a guideline for developing your ow...