翻了翻《java SOAP編程指南》,其中對于WSDL的描述,在用語上與饒老師講課時候的用語很像,小學作文六要素,不過書中沒有用這個詞。于是把饒老師的課件拿出來翻了一遍,回味了一遍,發現句句真言,后悔當初沒好好聽課啊,唉...
?
小學作文六要素:時間、地點、人物、事情的起因、經過、結果
用英文表述就是:when、where、who、why、how、result
?
而饒老師當時講的是John Zachman的“信息系統架構框架”的5w1h原則:when、where、who、why、what、how,它是一個二維結構,垂直方向上分別為:contextual、conceptual、logical、physical、dataed representation、functioning enterprise,分別給予了從頂層咨詢師、架構師、設計師、底層開發人員、項目集成部署人員、用戶相關的關注點。當時之所以看不懂這門課也許是因為沒有走出校園,很難從一個企業的宏觀角度去看問題,或者說只是對技術了解,而對技術的作用域與特點及其適用范圍是不了解的?,F在看來這個“信息系統架構框架”真是牛b啊,能總結出這個框架的Zachman也可以稱為神人了。
這里把Zachman的圖貼上來,不是很清楚,大家可以g一下:
?
小學作文六要素和“信息系統架構框架”有5個是對上的,只有what和result沒有對上。這里主要是因為二者所觀察的對象是不同的。
?
小學作文六要素的目標是描述好一件事情。事情是一個流動的過程,要包括流程以及相關要點
?
5w1h原則的目標則不同,5w1h基本上是用來描述一個事物的,這個事物可以是抽象的(軟件)或是具體的(比如公安局、政府)。小學作文六要素已經翻譯成中文了,下來把5w1h翻譯過來,這里采用英-英-中的方式,翻譯的誤差應該是很小的
when、where、who、why、what、how
time(何時去做這個事物)、network(事物的環境,這里既然是信息系統。那么信息系統協作的環境當然是網絡環境了)、people(參與制作事物的人員或事物的相關人員)、motivation(事物之所以要被做出來的動機,誘因)、DATA(表達事物的數據是什么)、function(這個事物的功能是什么)
?
由此可見,把小學作文六要素和“信息系統架構框架”拉來扯一扯只能博大家一笑。其實二者所關注的目標不是很相同,當然有重疊的地方,如果一個事物只有一個流程,那么這二者所關注的目標就有很大的重疊了。
?
?
扯了這么多,都是自己淺薄的理解,或許大家不同意,那么請提出意見,互相交流時學習的最好途徑嘛。
讓我們再回到WSDL ,WSDL是事物還是流程呢?可以這么說,它是一個只有一個流程的事物。那么就是小學作文六要素和5w1h的結果了,必須具有一下7點:
what、when、where、who、why、how、result
?
what:DATA(表達事物的數據是什么),<type>這個標簽定義了WSDL的數據
?
when:time(何時去做這個事物)WSDL屬于開發的具體技術,在Zachman縱向結構來說已經處于最底端,我還真沒有找出跟when相關的標簽,如果哪個達人有意見可以提出一下。
?
where:<service>定義了改web service的地址
?
who:people(參與制作事物的人員或事物的相關人員)。其實WSDL在這里應該是定義參與一次web service的參與者,這里參與者其實跟傳輸類型有關系,每種傳輸類型尤其不同的參與者。
傳輸類型如下:
1.單向:一個消息發送給端點。參與者:客戶端、端點(0...n)
2.請求-應答:最一般的request-response模型。參與者:客戶端、端點,一對一
3.懇求(solicit)-應答:這個模式比較模糊,其實查查solicit單詞你就明白了,其中有個“拉客”,呵呵,那么參與者有三個,客戶端、懇求端(皮條客)、真正被調用端。
4.通知:端點只發送通知。參與者:端點,客戶端(0...n)
這四種傳輸類型是根據<input><output>來定義的。
?
how:<binding>定義了一種具體的消息格式和協議
?
result:<portType>中的<output>定義了返回結果,<binding>的子元素<fault>定義了出錯結果
?
why:motivation(事物之所以要被做出來的動機,誘因)。說實在的,我只找到<document>這個標簽和why沾點邊,其他的實在找不出來有何聯系,或許以后WSDL標準委員會會把跟這個相關的標簽加上去吧,呵呵。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
