偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

白話SOA:面向服務(wù)+組件+架構(gòu)

開發(fā) 架構(gòu)
SOA字面直譯就是面向服務(wù)的組件架構(gòu),如果對于SOA的含義以及為什么要使用SOA心存疑惑,那么這篇文章將告訴你,只要把SOA理解為面向服務(wù)+組件+架構(gòu)就可以了。

本文來源:阿朱=行業(yè)趨勢+開發(fā)管理+架構(gòu)

原文標(biāo)題:媒體人和CIO能看懂的SOA

面向服務(wù)的組件架構(gòu)。這就是字面直譯。這恰恰是理解SOA最好的方法。

#t#首先是

1 組件。組件是什么?這個(gè)概念大家得知道。權(quán)威的OMG定義過。但不好理解,我給通俗一點(diǎn),但決不個(gè)人演繹。接口標(biāo)準(zhǔn)化、契約化,功能模塊化、封裝化,可被組裝組合重復(fù)使用。估計(jì)這個(gè)解釋和大家心中想的差不多。(不過不像大家想的那樣是屬性、方法、事件)

2 面向服務(wù)。啥是面向服務(wù)?我們先說說現(xiàn)實(shí)中我們常見的服務(wù)。就拿最容易理解的餐飲服務(wù)員來說,點(diǎn)菜、上菜、換碟、拿餐巾紙、結(jié)賬這是他提供的服務(wù)。咱們吃飯的時(shí)候從來不會注意他們是怎么提供這些服務(wù)的。這就是現(xiàn)實(shí)中的服務(wù)。而在軟件中的服務(wù),也是一樣,有人提供了若干個(gè)服務(wù),我們只想調(diào)用完成我們的事,而不想知道他們內(nèi)部怎么做的。也就是說,暴露給我們的接口方法,就是我們要做的事。其他的,不要暴露給作為用戶的我們。所以在SOA一般說服務(wù)說是粗粒度的。這就是粗粒度。很多人不明白粗粒度到底要多粗,大家可以看看taobao的開放平臺和豆瓣的Open API,比如taobao.items.get,就是把取商品類目的函數(shù),把參數(shù)傳入,出來就是我們想要的結(jié)果。淘寶是怎么取到的,那是淘寶的事。

3 架構(gòu)。要的是架構(gòu),橫豎立體搭建的。而不是一盤散沙。要有點(diǎn)、線、面、層。如果組件是一個(gè)個(gè)的點(diǎn),那么如何安置這些組件的生死、緩沖、并發(fā)、安全,如何讓組件之間通訊,通訊的接口如何定義,通訊的協(xié)議是如何的,通訊的數(shù)據(jù)結(jié)構(gòu)是怎樣的,數(shù)據(jù)信息是如何保證不丟失的,數(shù)據(jù)信息是如何保證在各個(gè)組件之間流轉(zhuǎn)到指定的組件?這就是架構(gòu)。

我說了這么多,把SOA的關(guān)鍵都講了。但這都是思想層面。首先你的思想對不對。如果你的設(shè)計(jì)是符合這個(gè)思想的,你就是SOA架構(gòu)。

這樣你就會說,過去我們做的EJB、COM+都是面向服務(wù)的組件啊,也有架構(gòu)啊。我們十多年前就做了SOA了。

對,從設(shè)計(jì)思想來說,SOA一點(diǎn)都不新。

新的是從技術(shù)方面。

過去我們有EJB、COM+、CORBA三種主流的組件體系。然后我們要互操作,我們要跨互聯(lián)網(wǎng),這三種架構(gòu)都有缺陷了。

于是讓這個(gè)基于HTTP+XML本質(zhì)的webservice來達(dá)到跨互聯(lián)網(wǎng)互操作。

是的,有人理解webservice就等于SOA。

但是,組件與組件之間如何信息通訊?有人說我自己定義好接口,我自己定義好結(jié)構(gòu),一方傳出,一方接收處理,就OK了。

但我要說的是異構(gòu)系統(tǒng)的互操作,你剛才說的都是自己內(nèi)部怎么做怎么做。

如果是異構(gòu)系統(tǒng)異構(gòu)應(yīng)用去互操作,必須要遵守,你自己自定義一套規(guī)則和結(jié)構(gòu)算什么,你老是自己玩,誰還和你玩?想大家一起玩,一起獲利,就要有一套標(biāo)準(zhǔn)來遵守。這套標(biāo)準(zhǔn),一般都是國際大巨頭領(lǐng)導(dǎo)的協(xié)會組織制定的,只有他們有話語權(quán)。你自己制定一個(gè)算什么?

所以一整套規(guī)則都出來了。組件如何做組件具備什么特征才符合標(biāo)準(zhǔn)的組件容器管理,組件之間如何數(shù)據(jù)結(jié)構(gòu)和消息通信才能互操作,這都是規(guī)則。這個(gè)規(guī)則就是架構(gòu)。于是,在架構(gòu)之下就有了企業(yè)服務(wù)總線來管理組件,有組件之間通信的數(shù)據(jù)結(jié)構(gòu)(組件數(shù)據(jù)對象)和應(yīng)用通信協(xié)議(這不是HTTP協(xié)議,也比SOAP這類應(yīng)用協(xié)議還要高,是組件之間應(yīng)用通信的協(xié)議)。

有了這些技術(shù)基礎(chǔ),但是大家搭建應(yīng)用,還是很迷惑,于是,應(yīng)用如何搭建可以符合組件特性,可以符合SOA數(shù)據(jù)特性,可以符合SOA流程特性。應(yīng)該有個(gè)可以參考的完備規(guī)范讓大家學(xué)習(xí)和借鑒。于是,應(yīng)用架構(gòu)設(shè)計(jì)規(guī)范又有出臺。

我們總是在搭建應(yīng)用軟件的架構(gòu),這樣的架構(gòu)對不對,這樣的架構(gòu)完備不完備,我們過去只是靠經(jīng)驗(yàn)來定義,現(xiàn)在我們終于有了一個(gè)規(guī)范。但這個(gè)規(guī)范參考可能太面向國外思路,所以不符合,但畢竟有我們思考的一方面。

在醫(yī)療行業(yè),有HL7標(biāo)準(zhǔn)。是國外制定的。過去也很鄙夷不符合中國市場。但是仔細(xì)閱讀后發(fā)現(xiàn)人家設(shè)計(jì)的規(guī)范與完備非常值得參考,用人家這套標(biāo)準(zhǔn)規(guī)范來設(shè)計(jì),比自己用多年經(jīng)驗(yàn)摸索設(shè)計(jì)的整齊的多。這才像架構(gòu),這才像系統(tǒng)。

不說了。爭論誰是SOA,誰不是SOA并沒有意義。因?yàn)槊總€(gè)開放標(biāo)準(zhǔn)定義的實(shí)際者都是國際巨頭廠商,他們都會代表自己的利益而去爭取一席之地。而我們自己還無法提出自己的標(biāo)準(zhǔn),我們用的標(biāo)準(zhǔn)我們用的產(chǎn)品都是人家制定和開發(fā)好的,我們只是做之上的應(yīng)用而已,所以人家為了自己利益而做的規(guī)范,這就是規(guī)范。IBM說IBM是SOA,微軟說我才是SOA。對,這就是每個(gè)廠商的利益。你跟隨誰的利益都OK。

但,我們做SOA不是為了跟隨他們的利益。他們賺錢又不會給我們分一半。所以我們是要拿他們?nèi)o我們的工具和技術(shù)來解決我們的問題。

我們要拿SOA解決什么問題?

如果我們要組件化(我們?yōu)槭裁匆M件化,大家明白不?為什么要封裝大家明白不,為什么要接口大家明白不?)

如果我們要跨互聯(lián)網(wǎng)異構(gòu)應(yīng)用異構(gòu)系統(tǒng)互操作,我們還希望這些應(yīng)用都在一個(gè)盤中下這些不同的棋子,

那么,那么,我們需要SOA。

其實(shí),簡單來說,SOA可以等于webservice接口的組件。這是一個(gè)媒體人,一個(gè)技術(shù)開發(fā)人能直白理解的,這就夠了,太多思想觀點(diǎn)反而混淆更多。對,對,SOA=webservice+粗粒度直接面向調(diào)用應(yīng)用的接口+契約化的接口interface+可復(fù)用封裝的單元。

我們尋找適合解決我們自己的問題的技術(shù)就OK了。不適合自己就別用。何必呢?

責(zé)任編輯:yangsai 來源: CSDN博客
相關(guān)推薦

2012-06-07 10:31:12

SOA架構(gòu)設(shè)計(jì)原則

2009-11-23 12:39:26

2012-03-14 11:33:31

ibmdw

2009-09-17 11:39:16

OSGi服務(wù)

2020-12-01 12:08:45

微服務(wù)架構(gòu)DOMA

2019-03-18 05:02:30

高并發(fā)京東架構(gòu)

2013-07-26 15:04:11

SOA虛擬化

2022-08-16 09:15:07

架構(gòu)汽車

2012-11-01 14:35:53

SOAWeb安全Web服務(wù)

2025-02-10 02:20:00

微服務(wù)SOA架構(gòu)

2018-04-20 10:15:34

2022-02-18 10:22:50

智能軟件汽車

2012-10-18 10:11:48

IBMdw

2009-09-15 13:33:38

SOA架構(gòu)

2020-03-31 10:58:38

2013-11-28 09:38:17

SOA系統(tǒng)消費(fèi)化社交媒體

2017-11-16 15:45:25

服務(wù)降級熔斷

2009-09-22 13:14:35

ibmdwSOA

2012-08-14 09:39:44

云計(jì)算SOA混合云

2009-09-22 13:13:32

ibmdwSOA
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號