作者: 清茶, 出處:IT專家網, 責任編輯: 李春禹,
2008-05-14 09:56
如果代碼開發人員一直以來都不能為代碼使用者提供真正需要的代碼開發,那所謂的最佳“企業級架構”將永遠無法實現。然而,在現實中,大部分從事代碼開發 的人并不會把另外一些可能需要到這些代碼開發的人當作使用者去對待。這也是面向服務架構(SOA)未能獲得成功的原因所在。
【IT專家網獨家】SOA絕對不是一個單純的IT問題,企業必須從業務角度和IT角度兩方面出發分析自己的需求,根據自身現狀和業務需求確定合適的SOA。 如果代碼開發人員一直以來都不能為代碼使用者提供真正需要的代碼開發,那所謂的最佳“企業級架構”將永遠無法實現。然而,在現實中,大部分從事代碼開發的 人并不會把另外一些可能需要到這些代碼開發的人當作使用者去對待。這也是面向服務架構(SOA)未能獲得成功的原因所在。
SOA所能帶來的價值已經是清楚的了,在這幾年中我們也一直努力創造出SOA軟件產品以供使用。我也知道COBOL(面向商業的通用語言,又稱為企業管理語言、數據處理語言等,Common Business Oriented Langauge)應用曾經是建立在同樣的原則之上。我曾作為一個項目的團隊負責人參與了在遵從COBOL 74規范基礎之上的超過700個核心功能服務的興建工作,我們所編寫的代碼具有著高度的可重用性。當然,這也是我們為金融機構所建立起來的一個豎井中的大型系統。我們以這樣的環境需求為基礎構建了這一系統,并保證其可以在該企業的其他部門重復使用。
對于這份工作我當時是覺得非常自豪的,但是現在回想起來,我們卻并不是一個非常好的使用者。我們樂于去試圖找到一些非商業定制的應用從而滿足我 們的主要功能需求,但是卻并不是作為自身企業一個好的代碼使用者而存在。我們甚至根本沒有考慮過從企業現有軟件應用的重用方向入手。這個問題直到現在也沒 有真正改變,因為更多的時候我們只是專注于如何編寫代碼,并讓其實現“可重用”。
問題的關鍵并不是說我們需要從代碼的角度去考慮實現可重用。我們必須得明白,這些代碼使用者即其他的程序開發人員和架構師。 我們必須把自己看作是服務的提供者,為這些使用者創造代碼,并準確的提供給他們使用。這些代碼必須是易于使用的,必須是很方便就能找到的,必須得到有效推 廣和準確定位,同時也必須是能夠滿足使用者需求的,而在做到這一切的前提是我們應該首先成為一個好的使用者,學會如何去使用他們。
類似于這樣對于使用者的認識以及整個企業和團隊中服務的認識可能并不是一個主流的理念。就目前而言,我們對使用者還缺少足夠的了解和反饋,僅僅只是感覺上的評斷。
相對于我們的開發團隊,在整個組織范圍或者更廣的范圍內將會有更多的人能夠接觸到我們所能接觸的使用者。如果我和我的團隊是為這些使用者的服務提供者,也許在這個領域還 有更多的團隊是這個使用者的服務提供者,那么我是不是應該提前就問自己一些應該被問到的問題:如果我的使用者能夠自主的選擇它所需要的服務提供者,那在所 有服務提供者都沒出錯的情況下,我應該怎樣做才能確保我會是他唯一的選擇,并且能持續不斷的贏得這場業務?我應該怎么做才能讓我的服務盡可能的便于使用?
在當前的市場上有不少杰出的工具可以用來支持這種對遺留應用的再次使用。這些都是資源管理中可以共同使用的內容。對于軟件行業而言,這些工具能 夠有助于度量之前的投資組合在實際消費的可重復使用資產的價值。而這些信息在過去一般來說是不會有的。我試圖從這些工具的使用者中整理出一個具有說服力的 數字出來,但是,無法避免的是,這個數字絕不會很高。那么,如果我的統計沒有出錯的話,是什么阻止了我們對可重用代碼的重復使用呢?
作為軟件開發人員我們并不是好的使用者,相比之下我們的同事也許更好的處理好如何去“使用”的工作。當我們要尋找一些有用的東西或者是一些示例 的時候我們可能首先想到的是互聯網而不是公司內部的資源庫。當然,這其中可能的原因是企業內部缺少一個應用能夠類似于網絡中的搜索工具。但是,更重要的 是,當我們在編寫代碼的時候可能并沒有想到會有別的開發人員可以使用這些內容。
我們并沒有為我們所編寫的代碼內容創造接口以方便人們能夠更好的使用,我們甚至根本就未曾考慮過這個問題。我們不提供設計層次的抽象內容從而有 助于其他程序員和架構師能夠從我們的解決方案中選出合適的建議整合到他們的方案中去。我們并沒有將代碼整理給團隊中沒有參與的人員或者是整個企業范圍的其 他團隊。我們缺乏市場調研,不清楚那么沒有使用我們代碼的使用者究竟需要什么,無法將我們的代碼開發發揮至最大效用。我們沒有合理的將代碼打包,使得即便 選擇使用我們的使用者也覺得不易使用。
技術支持的工作正是因為我們的這些做法才發展起來并部分的存在于當前的工作之中。我們必須開始將我們的服務提供工作從代碼層面轉向到人的層面,并更有效的利用這些技術支持。緊接著我們可以利用這些工具更好的輔助市場,并能使我們的代碼更廣泛的提供給別人。
我希望在這些工作之后能夠有一些好的度量重用的方式,真正顯示出我們艱苦工作后所建立起的可重用軟件在重復使用方面的回報。并且使用者的需求將會是真正放在第一的位置。同時,在整個SOA模型當中,服務的有效消費應該是占到一半以上的重要程度。
原文地址:
http://soa.ctocio.com.cn/xwpl/188/8114688.shtml
標簽: SOA, 架構,技術趨勢