613
京東網上商城
基於中間件/構件的開發
定義:
中間件(middleware)是基礎軟件的一大類,屬於可複用軟件的範疇。顧名思義,中間件處於操作係統和用戶的應用軟件的中間。
中間件在操作係統、網絡和數據庫之上,應用軟件的下層,總的作用是為處於自己上層的應用軟件提供運行和開發的環境,幫助用戶靈活、高效地開發和集成複雜的應用軟件,中間件是一類軟件,中間件不僅要實現互聯,還要實現應用之間的互操作;中間件是基於分布式處理的軟件,最突出的特點是其網絡通信功能。
軟件複用:
最早的軟件開發方法就是編程、寫代碼,其缺點在於無法複用,為此提出了構件化的軟件開發方法,通過把編程中一些常用功能進行封裝,並規範統一接口,供其它程序調用,例如我們開發一個新軟件,可能要用到構件1、構件2、構件3,那麼,我們隻要對其進行本地組裝,就可以得到我們想要的應用軟件。但是,這種構件的重用任然是”代碼“重用,隨著技術的不斷演化、業務的不斷變化,應用的交互常常需要架設在異構係統之上,此時,代碼複用將無能為力,所以軟件開發方法在構件化的技術上結合互聯網技術又有了新發展,其核心思想是軟件並不需要囊括構件,所需要的僅僅是構件運行的結果。也就是麵向服務(SOA)的思想,但SOA並不是一個產品,而是一種思想方法,實現這種方法的基礎唯有中間件。例如我們可以在Apache的web server的基礎上,加上一組能夠處理SOAP請求並返回SOAP結果的解析器,那麼此處的Web server和WS 構件就是我們提供SOA服務的中間件。
中間件分類:
遠程過程調用(RPC)中間件
遠程過程調用是一種廣泛使用的分布式應用程序處理方法,一個應用程序使用RPC來”遠程“執行一個位於不同地址空間裏的過程,並且從效果上看和執行本地調用相同。此類中間件需要根據相應的RPC規範,例如CORBA和Web Service,需要提供相應的服務支持,如屏蔽底層通信的細節,以及數據在異構係統之間的流轉,服務在服務器端的注冊、發現和使用等
麵向消息的中間件
RPC的調用時同步調用,客戶端和服務器直接連接,沒有中間機構來處理請求,通信過程中,服務器要保持在線狀態。MOM指的是利用高效可靠的消息傳遞機製進行平台無關的數據交流,並基於數據通信來進行分布式係統的集成,其特點是:
1,通訊程序可在不同的時間運行。
2,減少係統延遲,對應用程序的結構沒有約束,可以是一對一的聯係,也可以是一對多的聯係。
3,解耦調用者和被調用者,使程序與網絡複雜性相隔離。
數據訪問中間件
基於XML的中間件(XML-Based Middleware):
XML允許開發人員為實現在internet中交換結構化信息而創建文檔。
中間件的發展趨勢
1,規範化
在中間件的發展過程中,做的最好的一件事情就是規範的製定。對於不同類型的中間件,目前都有一些規範可以遵循,如消息類的JMS,對象類的CORBA、COM,交易類的XA,JTA,應用服務器類的J2EE,.NET,數據訪問類的ODBC和JDBC,JTA,Web服務有WSDL,UDDI,SOAP以及JAX-RS(JSR 311)等。這些規範極大的促進了中間件技術的發展,同時保證了係統的擴展性、開放性和互操作性。
2,構件化和鬆耦合
除了過時的CORBA和DCOM的基於對象的RPC構件技術外,隨著企業業務流程整合和電子商務應用的發展,中間件技術朝著麵向Web、鬆耦合的方式發展。基於XML和Web服務的中間件技術,使得不同係統之間、不同應用之間的交互建立在非常靈活的基礎上。XML是一種可擴展的標識語言,是一種中立於開發語言的結構化文檔表現方式,非常適合於異構係統間的數據交換,因此在國際上已經被普遍采納為電子商務的數據標準。而Web服務作為基於Web技術的構件,在流程中間件和集成下可以靈活、動態地被組織成跨企業的商務應用。
3,平台化
最後更新:2017-04-03 14:53:50