RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SOA是什么_SOA主要的開發(fā)方法和工具分析

lhl545545 ? 來源:電子發(fā)燒友網(wǎng) ? 2018-02-07 12:45 ? 次閱讀

前言

面向服務(wù)架構(gòu)soa以其獨特的優(yōu)勢越來越受到企業(yè)的重視,它可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。Soa的開發(fā)方法一般主要有開源的dubbo、dubbox、mule、wso2、cxf,以及付費的oracle soa、ibm soa等。

SOA是什么

SOA是一種粗粒度、松耦合服務(wù)架構(gòu),服務(wù)之間通過簡單、精確定義接口進行通訊,不涉及底層編程接口和通訊模型。SOA可以看作是B/S模型、XML(標準通用標記語言的子集)/Web Service技術(shù)之后的自然延伸。

SOA將能夠幫助軟件工程師們站在一個新的高度理解企業(yè)級架構(gòu)中的各種組件的開發(fā)、部署形式,它將幫助企業(yè)系統(tǒng)架構(gòu)者以更迅速、更可靠、更具重用性架構(gòu)整個業(yè)務(wù)系統(tǒng)。較之以往,以SOA架構(gòu)的系統(tǒng)能夠更加從容地面對業(yè)務(wù)的急劇變化。

SOA是什么_SOA主要的開發(fā)方法和工具分析

SOA的實施具有幾個鮮明的基本特征。實施SOA的關(guān)鍵目標是實現(xiàn)企業(yè)IT資產(chǎn)的最大化作用。要實現(xiàn)這一目標,就要在實施SOA的過程中牢記以下特征:

可從企業(yè)外部訪問

隨時可用

粗粒度的服務(wù)接口分級

松散耦合

可重用的服務(wù)

服務(wù)接口設(shè)計管理

標準化的服務(wù)接口

支持各種消息模式

精確定義的服務(wù)契約

SOA服務(wù)具有平***立的自我描述XML文檔。Web服務(wù)描述語言(WSDL, Web Services Description Language)是用于描述服務(wù)的標準語言。

SOA 服務(wù)用消息進行通信,該消息通常使用XML Schema來定義(也叫做XSD, XML Schema Definition)。消費者和提供者或消費者和服務(wù)之間的通信多見于不知道提供者的環(huán)境中。服務(wù)間的通訊也可以看作企業(yè)內(nèi)部處理的關(guān)鍵商業(yè)文檔。

在一個企業(yè)內(nèi)部,SOA服務(wù)通過一個扮演目錄列表(directory listing)角色的登記處(Registry)來進行維護。應(yīng)用程序在登記處(Registry)尋找并調(diào)用某項服務(wù)。統(tǒng)一描述,定義和集成(UDDI, Universal Description, Definition, and Integration)是服務(wù)登記的標準。

每項SOA服務(wù)都有一個與之相關(guān)的服務(wù)品質(zhì)(QoS, quality of service)。QoS的一些關(guān)鍵元素有安全需求(例如認證和授權(quán)),可靠通信(注:可靠消息是指,確保消息“僅且僅僅”發(fā)送一次,從而過濾重復信息。),以及誰能調(diào)用服務(wù)的策略。

隨著全球信息化的浪潮,信息化產(chǎn)業(yè)不斷發(fā)展、延伸,已經(jīng)深入了眾多的企業(yè)及個人,SOA系統(tǒng)架構(gòu)的出現(xiàn),將給信息化帶來一場新的革命。

縱觀信息化建設(shè)與應(yīng)用的歷程,盡管出現(xiàn)過XML(標準通用標記語言的子集)、Unicode、UML等眾多信息標準,但是許多異構(gòu)系統(tǒng)之間的數(shù)據(jù)源仍然使用各自獨立的數(shù)據(jù)格式、元數(shù)據(jù)以及元模型,這是信息產(chǎn)品提供商一直以來形成的習慣。各個相對獨立的源數(shù)據(jù)集成一起,往往通過構(gòu)建一定的數(shù)據(jù)獲取與計算程序來實現(xiàn),這樣的做法需要花費大量工作。信息孤島大量存在的事實,使信息化建設(shè)的ROI(投資回報率)大大降低,ETL成為集中這些異構(gòu)數(shù)據(jù)的有效工具。 ETL常用于從源系統(tǒng)中提取數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)換為與目標系統(tǒng)相兼容的格式,然后將其裝載到目標系統(tǒng)中。數(shù)據(jù)經(jīng)過獲取、轉(zhuǎn)換、裝載后,要產(chǎn)生應(yīng)用價值,還需另外的數(shù)據(jù)展現(xiàn)工具予以實現(xiàn),如此復雜的數(shù)據(jù)應(yīng)用過程,必定產(chǎn)生高昂的應(yīng)用成本。

結(jié)構(gòu)化的數(shù)據(jù)管理尚可通過以上方法,予以實現(xiàn)其集成應(yīng)用。在非結(jié)構(gòu)化的內(nèi)容方面,這些具有挑戰(zhàn)性的問題令人生畏。內(nèi)容管理的應(yīng)用方案基于不同的信息化應(yīng)用系統(tǒng),而且大部分是縱向的以組織部門為界限的。在內(nèi)容管理市場中,經(jīng)常使用來自不同廠商的產(chǎn)品來提供這些解決方案。即使是同一個廠商的產(chǎn)品,相互之間的功能也是經(jīng)常重疊,并且無法集成。

隨著信息化建設(shè)的深入,不同應(yīng)用系統(tǒng)之間的功能界限已趨于模糊。同時企業(yè)資源計劃系統(tǒng)和協(xié)同商務(wù)系統(tǒng),又需要商業(yè)智能的分析展現(xiàn)數(shù)據(jù)提供用戶操作依據(jù)。

在激烈競爭且多變的市場環(huán)境下,企業(yè)的管理模式很難固化,應(yīng)用傳統(tǒng)的信息化軟件,當企業(yè)要做出一些改動時需要面對巨大的挑戰(zhàn)。

2000年WebService出現(xiàn)后,SOA被譽為下一代Web服務(wù)的基礎(chǔ)框架,已經(jīng)成為計算機信息領(lǐng)域的一個新的發(fā)展方向。

SOA的出現(xiàn)給傳統(tǒng)的信息化產(chǎn)業(yè)帶來新的概念,不再是各自獨立的架構(gòu)形式,能夠輕松的互相聯(lián)系組合共享信息。

可復用以往的信息化軟件。基于SOA的協(xié)同軟件提供了應(yīng)用集成功能,能夠?qū)RP、CRM、HR等異構(gòu)系統(tǒng)的數(shù)據(jù)集成。

松散耦合方式,只要充分了解業(yè)務(wù)的進程,就可以不用編寫一行代碼,通過流程圖實現(xiàn)一套我們自己的信息系統(tǒng)。就像已經(jīng)給你準備好了磚瓦和水泥,只需要想好蓋什么樣的房子就可以輕松的蓋起。加快開發(fā)速度,并且減少了開發(fā)和維護的費用。軟件將所有的管理提煉成表單和流程,以記錄管理的內(nèi)容,指定過程的流轉(zhuǎn)方向。

更簡便的信息和數(shù)據(jù)集成。信息集成功能可以將散落在廣域網(wǎng)和局域網(wǎng)上的文檔、目錄、網(wǎng)頁輕松集成,加強了信息的協(xié)同相關(guān)性。同時,復雜、成本高昂的數(shù)據(jù)集成,也變成了可以簡單且低成本實現(xiàn)的參數(shù)設(shè)定。創(chuàng)建了完全集成的信息化應(yīng)用新領(lǐng)域。

在具體的功能實現(xiàn)上,SOA協(xié)同軟件所實現(xiàn)的功能包括了知識管理、流程管理、人事管理、客戶管理、項目管理、應(yīng)用集成等,從部門角度看涉及了行政、后勤、營銷、物流、生產(chǎn)等。從應(yīng)用思想上看,SOA協(xié)同軟件中的信息管理功能,全面兼顧了貫穿整個企業(yè)組織的信息化軟硬件投入。盡管各種IT技術(shù)可以用于不同的用途,但是信息管理并沒有任意地將信息分為結(jié)構(gòu)化或者非結(jié)構(gòu)化的部分,因此ERP等結(jié)構(gòu)化管理系統(tǒng)并不是信息化建設(shè)的全部;同時,信息管理也沒有將信息化解決方案劃分為部門的視圖,因此僅僅以部分為界限去構(gòu)建軟件應(yīng)用功能的思想未必是不可撼動的?;赟OA的協(xié)同軟件與 ERP、CRM等傳統(tǒng)應(yīng)用軟件相比,關(guān)鍵的不同在于它可以在合適的時間、合適的地點并且有正當理由向需要它提供服務(wù)的任何用戶提供服務(wù)。

SOA是什么_SOA主要的開發(fā)方法和工具分析

利用SOA架構(gòu)開發(fā)的優(yōu)點:

第一、更易維護

業(yè)務(wù)服務(wù)提供者和業(yè)務(wù)服務(wù)使用者的松散耦合關(guān)系及對開放標準的采用確保了該特性的實現(xiàn)。建立在以 SOA基礎(chǔ)上的信息系統(tǒng),當需求發(fā)生變化的時候,不需要修改提供業(yè)務(wù)服務(wù)的接口,只需要調(diào)整業(yè)務(wù)服務(wù)流程或者修改操作即可,整個應(yīng)用系統(tǒng)也更容易被維護。

第二、更高的可用性

該特點是在于服務(wù)提供者和服務(wù)使用者的松散耦合關(guān)系上得以發(fā)揮與體現(xiàn)。使用者無須了解提供者的具休實現(xiàn)細節(jié)。

第三、更好的伸縮性

依靠業(yè)務(wù)服務(wù)設(shè)計、開發(fā)和部署等所采用的架構(gòu)模型實現(xiàn)伸縮性。使得服務(wù)提供者可以互相彼此獨立地進行調(diào)整,以滿足新的服務(wù)需求。

下面詳細論述幾種主要的開發(fā)方法和工具:

一、Dubbo

DUBBO是淘寶公司的一個分布式服務(wù)框架,致力于提供高性能和透明化的RPC遠程服務(wù)調(diào)用方案,以及SOA服務(wù)治理方案。淘寶公司的許多應(yīng)用就是采用dubbo,運行穩(wěn)定成功?,F(xiàn)在,不少企業(yè)采用dubbo開發(fā)應(yīng)用系統(tǒng)。Dubbo是簡單有效的soa架構(gòu),值得采用。

相比于其他服務(wù)框架,DUBBO有如下優(yōu)勢:

透明化的遠程方法調(diào)用,就像調(diào)用本地方法一樣調(diào)用遠程方法,只需簡單配置,沒有任何API侵入;

軟負載均衡及容錯機制,可在內(nèi)網(wǎng)替代F5等硬件負載均衡器,降低成本,減少單點;

服務(wù)自動注冊與發(fā)現(xiàn),注冊中心基于接口名查詢服務(wù)提供者的IP地址,并且能夠平滑添加或刪除服務(wù)提供者。

其核心部分包含:

遠程通訊:提供對多種基于長連接的NIO框架抽象封裝,包括多種線程模型,序列化,以及“請求-響應(yīng)”模式的信息交換方式。

集群容錯:提供基于接口方法的透明遠程過程調(diào)用,包括多協(xié)議支持,以及軟負載均衡,失敗容錯,地址路由,動態(tài)配置等集群支持。

自動發(fā)現(xiàn):基于注冊中心目錄服務(wù),使服務(wù)消費方能動態(tài)的查找服務(wù)提供方,使地址透明,使服務(wù)提供方可以平滑增加或減少機器。

Dubbo有如下功能:

透明化的遠程方法調(diào)用,就像調(diào)用本地方法一樣調(diào)用遠程方法,只需簡單配置,沒有任何API侵入。

軟負載均衡及容錯機制,可在內(nèi)網(wǎng)替代F5等硬件負載均衡器,降低成本,減少單點。

服務(wù)自動注冊與發(fā)現(xiàn),不再需要寫死服務(wù)提供方地址,注冊中心基于接口名查詢服務(wù)提供者的IP地址,并且能夠平滑添加或刪除服務(wù)提供者。

Dubbo基本原理-分布式服務(wù)框架

 SOA是什么_SOA主要的開發(fā)方法和工具分析

快速啟動

Dubbo采用全Spring配置方式,透明化接入應(yīng)用,對應(yīng)用沒有任何API侵入,只需用Spring加載Dubbo的配置即可,Dubbo基于Spring的Schema擴展進行加載。

服務(wù)提供者:定義服務(wù)接口

定義服務(wù)接口:(該接口需單獨打包,在服務(wù)提供方和消費方共享)

在服務(wù)提供方實現(xiàn)接口

在服務(wù)提供方實現(xiàn)接口:(對服務(wù)消費方隱藏實現(xiàn))

用Spring配置聲明暴露服務(wù)

加載Spring配置

服務(wù)消費者:

加載Spring配置,并調(diào)用遠程服務(wù):(也可以使用IoC注入)

Zookeeper注冊中心安裝

建議使用dubbo-2.3.3以上版本的zookeeper注冊中心客戶端。

Zookeeper是Apache Hadoop的子項目,強度相對較好,建議生產(chǎn)環(huán)境使用該注冊中心。

Dubbo未對Zookeeper服務(wù)器端做任何侵入修改,只需安裝原生的Zookeeper服務(wù)器即可,所有注冊中心邏輯適配都在調(diào)用Zookeeper客戶端時完成。

開源網(wǎng)址:

http://alibaba.github.io/dubbo-doc-static/Home-zh.htm

Zookeeper下載地址:

http://zookeeper.apache.org/releases.html

Zookeeper注冊中心安裝:

http://alibaba.github.io/dubbo-doc-static/Zookeeper+Registry+Installation-zh.htm

二、Mule

Mule是一個以Java為核心的輕量級的消息框架和整合平臺,基于EIP(Enterprise Integeration Patterns,由Hohpe和Woolf編寫的一本書)而實現(xiàn)的。Mule的核心組件是UMO(UniversalMessage Objects,從Mule2.0開始UMO這一概念已經(jīng)被組件Componse所代替),UMO實現(xiàn)整合邏輯。UMO可以是POJO,JavaBean等等。它支持30多種傳輸協(xié)議(file,F(xiàn)TP,UDP,TCP,email,HTTP,SOAP,JMS等),并整合了許多流行的開源項目,比如Spring,ActiveMQ,CXF,Axis,Drools等。

Mule Studio是一個功能強大、用戶界面友好的基于Eclipse的開發(fā)工具。使用者不需要深入了解Mule的XML配置語法,就可以在幾分鐘內(nèi)輕松的創(chuàng)建、編輯、測試Mule ESB流程。Mule Studio基于Eclipse技術(shù),包含3個主要部件:項目結(jié)構(gòu)樹、工具箱和畫布。項目結(jié)構(gòu)樹包含整個項目的目錄結(jié)構(gòu)。

Mule是一個企業(yè)服務(wù)總線(ESB)消息框架。它的主要特性包括:

1.基于J2EE1.4的企業(yè)消息總線(ESB)和消息代理(broker)。

2.可插入的連接性:比如Jms,jdbc,tcp,udp,multicast,http,servlet,smtp,pop3,file,xmpp等。

3.支持任何傳輸之上的異步,同步和請求響應(yīng)事件處理機制。

4.支持Axis或者Glue的Web Service.

5.靈活的部署結(jié)構(gòu)[Topologies]包括Client/Server,P2P, ESB 和Enterprise Service Network.

6.與Spring 框架集成:可用作ESB 容器,也可以很容易的嵌入到Spring應(yīng)用中。

7.使用基于SEDA處理模型的高度可伸縮的企業(yè)服務(wù)器。

8.強大的基于EIP模式的事件路由機制等。

三、wso2

WSO2ESB是一種根據(jù)ApacheV2.0許可證發(fā)布的快速、輕量級和靈活的企業(yè)服務(wù)總線產(chǎn)品。使用ESB在HTTP、HTTPS、JMS、mail等協(xié)議基礎(chǔ)上通過業(yè)務(wù)系統(tǒng)過濾、轉(zhuǎn)換、路由和處理SOAP,二進制、純XML和文本消息。

WSO2ESB是一個為企業(yè)準備的完全成熟的ESB。WSO2ESB是建立在Apache Synapse項目基礎(chǔ)上的。Apache Synapse是使用Apache Axis2創(chuàng)建的。

應(yīng)用程序發(fā)送消息到ESB,該消息由ESB Transport撿起。

Transport通過消息管道發(fā)送消息。像安全和可靠的消息傳遞的信息方面的質(zhì)量受到這個pipe的照顧。在該pipe內(nèi)部是axis2的流入和流出流。ESB可以有如下兩種操作:

消息中介:使用單管道

代理服務(wù):使用獨立的管道運輸?shù)讲煌拇矸?wù)。

消息轉(zhuǎn)換和消息路由可以看做一個獨立的單元。如圖所示,消息轉(zhuǎn)換組件和路由組件之間沒有明顯的分離。WSO2ESB調(diào)用這個中介框架。一些轉(zhuǎn)換發(fā)生在路由決定之前,一些轉(zhuǎn)換發(fā)生在路由決定之后。這一部分由Synapse執(zhí)行。

然后根據(jù)目的地將消息注入到獨立的管道。在這里再次確定消息服務(wù)方面的質(zhì)量。

傳輸層負責通過ESB所需的傳輸協(xié)議的轉(zhuǎn)換。

該圖顯示了如何通過ESB的體系架構(gòu)將請求傳到一個實際的endpoint。響應(yīng)處理是這個操作的反向操作。

所有這些組件可以通過WSO2ESB管理控制臺管理和檢測。

ESB Components

Transports

WSO2ESB支持所有廣泛使用的傳輸協(xié)議包括HTTP/s、JMS、VFS和特定領(lǐng)域的傳輸如FIX。一個新的傳輸協(xié)議使用axis2傳輸框架輕松地被添加和插入到ESB中。不同的傳輸工具為ESB帶來各種消息內(nèi)容/負載。

傳輸內(nèi)容:

消息建設(shè)者:允許使用內(nèi)容類型標識消息并使變成普通的XML消息集。因此每個內(nèi)容類型都有相關(guān)聯(lián)的建設(shè)者。WSO2ESB包含基于文本的內(nèi)容信息的建設(shè)者和二進制內(nèi)容建設(shè)者。

消息格式:建設(shè)者的相反的搭檔。格式化程序通過指出傳輸協(xié)議處理前消息內(nèi)容的類型將消息轉(zhuǎn)換回原始格式。類似transport的用戶可以使用axis2框架實現(xiàn)消息的建設(shè)和格式化。

參閱Transports

端點(Endpoints)

Endpoints作為具有傳輸協(xié)議的邏輯組件。兩套端點地址和WSDL。地址endpoint可以使用任何可用的transport調(diào)度消息。

參閱Endpoints

代理服務(wù)(ProxyServices)

在WSO2ESB中代理服務(wù)是實現(xiàn)使用消息接收器和開放接收消息的虛擬服務(wù)。一個代理服務(wù)可以使用類似于一個普通的web服務(wù)地址的url訪問。代理服務(wù)允許將WSDL發(fā)布到用于先前使用的程序組。可以使用任何可用的傳輸協(xié)議從代理服務(wù)接收和發(fā)送消息。

參閱Proxy Services Sample

主題(Topics)

Topics是另一個恢復消息處理事件的實施,包括subscription和events.

參閱eventing

中介(Mediators)

WSO2ESB的power仍然是為不同方面提供服務(wù)的全面調(diào)節(jié)庫。使用mediator庫實現(xiàn)廣泛使用MEPs和EIPs。由于WSO2ESB提供了一個健康的框架,使得開發(fā)者寫一個mediator非常容易。mediators可以使用包括Java,scripting和Spring的各種技術(shù)。

參閱mediator

序列(Sequences)

Sequence充當mediators的配置組件。Sequence允許阻止mediators實現(xiàn)管道和過濾模式。

參閱Sequences

任務(wù)和命令(Tasksand Commands)

Tasks提供在WSO2ESB中配置計劃工作的設(shè)施并且允許執(zhí)行mediation的內(nèi)部或外部命令。

參閱Tasks

QoS組件(QoSComponents)

Qos組件實現(xiàn)可靠的消息傳遞和代理服務(wù)自帶的Apache的Rempart和Sandesha兩個實現(xiàn)模塊的安全性。

配置、庫/注冊(Configuration,Repository/Registry)

Configuration是ESB架構(gòu)的架構(gòu)圖。WSO2ESB提供了一個內(nèi)置的 Repository/Registry存儲配置和配置元數(shù)據(jù),而且提供了使用遠程庫設(shè)施。

管理和配置界面(Managementand Configuration GUI)

有助于在生產(chǎn)環(huán)境中運行WSO2ESB組件可以在組件中找到。這些組件實現(xiàn)集群、高可用性和負載平衡功能。

GUI組件進行綜合管理、配置和檢測GUI。GUI通過分離前端和后端的關(guān)注實現(xiàn)了分層架構(gòu)。這允許用戶使用一個GUI控制臺連接到多個后臺。

WSO2ESB基于組件的體系結(jié)構(gòu)加強了使用OSGi的松耦合性質(zhì)。所有組件都建為OSGi包。

四、cxf

ApacheCXF 是一個開源的Services框架,CXF幫助您利用Frontend 編程 API來構(gòu)建和開發(fā)Services,像JAX-WS。這些Services可以支持多種協(xié)議,比如:SOAP、XML/HTTP、RESTful HTTP 或者 CORBA ,并且可以在多種傳輸協(xié)議上運行,比如:HTTP、JMS或者JBI,CXF大大簡化了Services的創(chuàng)建,同時它繼承了XFire傳統(tǒng),一樣可以天然地和Spring進行無縫集成。

功能特性

CXF 包含了大量的功能特性,但是主要集中在以下幾個方面:

支持Web Services標準:CXF支持多種Web Services標準,包含SOAP、BasicProfile、WS-Addressing、WS-Policy、WS-ReliableMessaging和 WS-Security。Frontends:CXF支持多種“Frontend”編程模型,CXF實現(xiàn)了JAX-WS API(遵循JAX-WS 2.0 TCK版本),它也包含一個“simplefrontend”允許客戶端和 EndPoint 的創(chuàng)建,而不需要Annotation注解。CXF既支持 WSDL優(yōu)先開發(fā),也支持從Java的代碼優(yōu)先開發(fā)模式。容易使用: CXF設(shè)計得更加直觀與容易使用。有大量簡單的 API用來快速地構(gòu)建代碼優(yōu)先的 Services,各種Maven的插件也使集成更加容易,支持 JAX-WS API,支持Spring 2.0更加簡化的XML配置方式,等等。支持二進制和遺留協(xié)議:CXF的設(shè)計是一種可插撥的架構(gòu),既可以支持 XML,也可以支持非XML的類型綁定,比如:JSON和CORBA。

項目目標

下面列出了來自Apache CXF官方網(wǎng)站的項目目標。

概要

高性能可擴展簡單且容易使用支持多種標準

支持 JAX-WS、JAX-RS、JSR-181和 SAAJ;支持SOAP 1.1、1.2、WS-IBasicProfile、WS-Security、WS-Addressing、WS-RM 和 WS-Policy;支持WSDL 1.1、2.0;支持MTOM;

多種傳輸方式、Bindings、DataBindings和Format

Bindings:SOAP、REST/HTTP;DataBndings:目前支持JAXB 2.0、Aegis兩種,默認是JAXB 2.0。XMLBeans、Castor和JiBX數(shù)據(jù)綁定方式將在CXF 2.1版本中得到支持;格式(Format):XML、JSON;傳輸方式:HTTP、Servlet、JMS和Jabber;可擴展的API允許為CXF增加其它的Bindings,以能夠支持其它的消息格式,比如:CSV和固定記錄長度。

2Apache CXF特點

靈活部署

輕量級容器:可在Tomcat或基于Spring的容器中部署Services;集成JBI:可以在如ServiceMix,OpenESB or Petals 等等的JBI容器中將它部署為一個服務(wù)引擎;集成 SCA:可以部署在如Tuscany之類的SCA容器中;集成J2EE:可以在J2EE 應(yīng)用服務(wù)器中部署 Services,比如:Geronimo、JOnAS、JBoss、WebSphereApplication Server 和WebLogic Application Server,以及Jetty和Tomcat;獨立的Java 客戶端/服務(wù)器。

支持多種編程語言

全面支持JAX-WS 2.0 客戶端/服務(wù)器編程模型;支持 JAX-WS 2.0 synchronous、asynchronous和one-way API‘s;支持JAX-WS 2.0 Dynamic Invocation Interface (DII) API;支持wrapped and non-wrapped風格;支持XML messaging API;支持JavaScript和ECMAScript 4 XML (E4X),客戶端與服務(wù)端均支持;通過Yoko支持CORBA;通過Tuscany支持SCA;通過ServiceMix支持JBI;

代碼生成

Java toWSDL;WSDLto Java;XSDto WSDL;WSDLto XML;WSDLto SOAP;WSDLto Service;

CXF 框架支撐環(huán)境

CXF 框架是一種基于 Servlet 技術(shù)的SOA應(yīng)用開發(fā)框架,要正常運行基于 CXF應(yīng)用框架開發(fā)的企業(yè)應(yīng)用,除了 CXF框架本身之外,還需要JDK和Servlet容器的支持。

五、dubbox

當當網(wǎng)我們根據(jù)自身的需求,為Dubbo實現(xiàn)了一些新的功能,并將其命名為Dubbox(即DubboeXtensions)。

主要的新功能包括:

· 支持REST風格遠程調(diào)用(HTTP +JSON/XML):基于非常成熟的JBoss RestEasy框架,在dubbo中實現(xiàn)了REST風格(HTTP + JSON/XML)的遠程調(diào)用,以顯著簡化企業(yè)內(nèi)部的跨語言交互,同時顯著簡化企業(yè)對外的Open API、無線API甚至AJAX服務(wù)端等等的開發(fā)。事實上,這個REST調(diào)用也使得Dubbo可以對當今特別流行的“微服務(wù)”架構(gòu)提供基礎(chǔ)性支持。 另外,REST調(diào)用也達到了比較高的性能,在基準測試下,HTTP+ JSON與Dubbo 2.x默認的RPC協(xié)議(即TCP + Hessian2二進制序列化)之間只有1.5倍左右的差距,詳見下文的基準測試報告。

· 支持基于Kryo和FST的Java高效序列化實現(xiàn):基于當今比較知名的Kryo和FST高性能序列化庫,為Dubbo 默認的RPC協(xié)議添加新的序列化實現(xiàn),并優(yōu)化調(diào)整了其序列化體系,比較顯著的提高了Dubbo RPC的性能,詳見下圖和文檔中的基準測試報告。

· 支持基于嵌入式Tomcat的HTTP remoting體系:基于嵌入式tomcat實現(xiàn)dubbo的HTTP remoting體系(即dubbo-remoting-http),用以逐步取代Dubbo中舊版本的嵌入式Jetty,可以顯著的提高REST等的遠程調(diào)用性能,并將Servlet API的支持從2.5升級到3.1。(注:除了REST,dubbo中的WebServices、Hessian、HTTP Invoker等協(xié)議都基于這個HTTP remoting體系)。

· 升級Spring:將dubbo中Spring由2.x升級到目前最常用的3.x版本,減少項目中版本沖突帶來的麻煩。

· 升級ZooKeeper客戶端:將dubbo中的zookeeper客戶端升級到最新的版本,以修正老版本中包含的bug。

注:dubbox和dubbo 2.x是兼容的,沒有改變dubbo的任何已有的功能和配置方式(除了升級了Spring之類的版本)。另外,dubbox也嚴格遵循了Apache 2.0許可證的要求。

總之,soa架構(gòu)具有松耦合、高復用、開發(fā)、維護靈活方便、支持多平臺多系統(tǒng)、對原系統(tǒng)良好支持、消除信息孤島等許多優(yōu)點,以dubbo為代表的開發(fā)方法有一百多種,以上5種主要的方法值得借鑒采用,相信一定會帶來極好的價值!

SOA是什么_SOA主要的開發(fā)方法和工具分析

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SOA
    SOA
    +關(guān)注

    關(guān)注

    1

    文章

    287

    瀏覽量

    27463
收藏 人收藏

    評論

    相關(guān)推薦

    SOA關(guān)鍵技術(shù)專利分析(一)

    SOA 相關(guān)的研究都集中在技術(shù)討論或市場研究上,但未能指出關(guān)鍵的 SOA 技術(shù)和 SOA 技術(shù)的發(fā)展趨勢。因此,本研究對 SOA 專利進行了分析
    的頭像 發(fā)表于 12-19 09:52 ?57次閱讀
    <b class='flag-5'>SOA</b>關(guān)鍵技術(shù)專利<b class='flag-5'>分析</b>(一)

    面向服務(wù)的整車EE架構(gòu)(SOA)設(shè)計開發(fā)咨詢服務(wù)

    經(jīng)緯恒潤多年來一直致力于為客戶提供先進電子電氣架構(gòu)解決方案,近年來,經(jīng)緯恒潤在國內(nèi)率先開展整車SOA架構(gòu)的技術(shù)研發(fā)和業(yè)務(wù)布局,參與多款SOA架構(gòu)下量產(chǎn)車型的研發(fā),積累了豐富的SOA架構(gòu)設(shè)計經(jīng)驗。
    的頭像 發(fā)表于 12-12 15:11 ?540次閱讀
    面向服務(wù)的整車EE架構(gòu)(<b class='flag-5'>SOA</b>)設(shè)計<b class='flag-5'>開發(fā)</b>咨詢服務(wù)

    SOA光脈沖調(diào)制模塊簡介

    SOA(半導體光放大器)光脈沖調(diào)制模塊使用半導體光放大器(SOA作為調(diào)制器時也稱為SOM)作為核心器件,利用半導體光放大器SOA的高速調(diào)制特性,通過SMA接口接入的外部觸發(fā)的窄脈沖調(diào)制電信號,或使用內(nèi)部觸發(fā)模式通過內(nèi)部驅(qū)動電路對
    的頭像 發(fā)表于 11-20 10:38 ?354次閱讀
    <b class='flag-5'>SOA</b>光脈沖調(diào)制模塊簡介

    9月26日云技術(shù)研討會 | SOA整車EE架構(gòu)開發(fā)流程及工具實施方案

    本次研討會經(jīng)緯恒潤將結(jié)合業(yè)務(wù)團隊多年來在SOA架構(gòu)開發(fā)工具實施領(lǐng)域的項目實踐經(jīng)驗,分享探討SOA趨勢下先進的整車EE架構(gòu)開發(fā)模式,聚焦在
    的頭像 發(fā)表于 09-19 17:09 ?299次閱讀
    9月26日云技術(shù)研討會 | <b class='flag-5'>SOA</b>整車EE架構(gòu)<b class='flag-5'>開發(fā)</b>流程及<b class='flag-5'>工具</b>實施方案

    SOA架構(gòu)開發(fā)小助手PAVELINK.SOA-Converter V1.4.2新版本發(fā)布

    PAVELINK.SOA-Converter轉(zhuǎn)換工具,用于銜接基于SOA的控制器設(shè)計、開發(fā)及測試過程中所常見的各類軟件工具。PAVELINK
    的頭像 發(fā)表于 08-07 15:10 ?539次閱讀
    <b class='flag-5'>SOA</b>架構(gòu)<b class='flag-5'>開發(fā)</b>小助手PAVELINK.<b class='flag-5'>SOA</b>-Converter V1.4.2新版本發(fā)布

    MOS管的安全工作區(qū)SOA詳解限制線介紹

    以下是這期文章的目錄:①什么是MOS管的SOA區(qū)?②SOA曲線的幾條限制線的意思?1、什么是MOS管的SOA區(qū),有什么用?SOA區(qū)指的是MOSFET的安全工作區(qū),其英文單詞
    的頭像 發(fā)表于 07-09 08:05 ?668次閱讀
    MOS管的安全工作區(qū)<b class='flag-5'>SOA</b>詳解限制線介紹

    PAVELINK.SOA-Converter-應(yīng)用場景介紹#SOA #IDL轉(zhuǎn)化 #汽車架構(gòu)開發(fā)

    SOA
    北匯信息POLELINK
    發(fā)布于 :2024年04月29日 18:56:30

    SOA-Converter v1.3.2上線|新增Excel模板適配插件及ARXML合并功能

    PAVELINK.SOA-Converter轉(zhuǎn)換工具,用于銜接基于SOA的控制器設(shè)計、開發(fā)及測試過程中所常見的各類軟件工具。PAVELINK
    的頭像 發(fā)表于 04-18 08:25 ?362次閱讀
    <b class='flag-5'>SOA</b>-Converter v1.3.2上線|新增Excel模板適配插件及ARXML合并功能

    汽車電子電氣架構(gòu)SOA如何實現(xiàn)?

    在車載環(huán)境中,SOME/IP基本解決了SOC,但SORS呢?SOS呢?僅有SOC的SOA是沒有靈魂的,是不完整,也不可能實現(xiàn)SOA的目標,故而,若認為SOA=SOME/IP的話,你真的低估了S
    發(fā)表于 04-11 10:01 ?331次閱讀
    汽車電子電氣架構(gòu)<b class='flag-5'>SOA</b>如何實現(xiàn)?

    波長可調(diào)激光器中的增益芯片和SOA

    ----翻譯自SATO Kenji,ZHANG Xiaobo于2019年發(fā)表的文章 摘要: 本文討論了用于波長可調(diào)激光器(TL)的半導體光放大器(SOA)和增益芯片的設(shè)計規(guī)則。即與常規(guī)SOA或激光器
    的頭像 發(fā)表于 04-08 10:41 ?1189次閱讀
    波長可調(diào)激光器中的增益芯片和<b class='flag-5'>SOA</b>

    汽車SOA功能模塊與開發(fā)流程深度剖析

    SOA是從遵循服務(wù)導向原則的可重用服務(wù)中構(gòu)建復雜軟件系統(tǒng)的方法SOA也是1個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù)),通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。
    發(fā)表于 04-07 10:13 ?900次閱讀

    什么是MOS管的SOA區(qū)?SOA曲線的幾條限制線的意思?

    SOA區(qū)指的是MOSFET的安全工作區(qū),其英文單詞是Safe Operating Area。也有一些廠家叫ASO區(qū),其英文單詞是Area of Safe Opration,總之,兩者是一個意思,下面我們統(tǒng)一稱為SOA區(qū)
    的頭像 發(fā)表于 03-11 09:16 ?3638次閱讀
    什么是MOS管的<b class='flag-5'>SOA</b>區(qū)?<b class='flag-5'>SOA</b>曲線的幾條限制線的意思?

    如何理解IGBT的四種SOA?

    不會受到損壞。Continuous SOA通常是以電流和電壓的關(guān)系圖形呈現(xiàn),其中電流為橫軸,電壓為縱軸。 連續(xù)工作區(qū)域的主要限制是熱穩(wěn)定性。當IGBT通過電流較大、電壓較高時
    的頭像 發(fā)表于 02-18 11:04 ?1060次閱讀

    soa光放大器原理 soa光放大器增益測試

    )的工作原理,以及相關(guān)的增益測試方法,帶領(lǐng)讀者更深入地了解SOA光放大器的特性和應(yīng)用價值。 一、SOA光放大器的工作原理 半導體光放大器(Semiconductor Optical Amplifier,簡稱
    的頭像 發(fā)表于 01-25 09:48 ?3773次閱讀

    soa光放大器增益測試

    SOA(Semiconductor Optical Amplifier,半導體光放大器)是一種利用半導體材料的電光效應(yīng)來放大光信號的器件。它主要由P型和N型半導體層組成,當電流通過時,會在P-N結(jié)
    的頭像 發(fā)表于 01-10 13:38 ?960次閱讀
    RM新时代网站-首页