09/08/2006
JavaTwo 2006 "SOA 之原則、設計與實務" 投影片及範例程式下載
終於結束今年 JavaTwo 的演講。也許是這年頭 SOA 正火熱,也許是因為 jini 大在他部落格的推薦,也許是 Browser 在 session key note 的引言,今天來場的聽眾我個人覺得是滿多的。
這次演講時間上的控制大致上還可以,這要感謝 Browser (Mike) 之前幫我做 rehearsal,在他指點下,原本不知如何取捨的繁雜內容才得到比較好的安排。美中不足的地方是,SCA 後半段的 demo 顯的有點零亂…
如果有人是衝著這次的標題 "SOA 之原則、設計與實務" 而前來,那我要對這些學員說聲抱歉,限於時間的關係,我沒法在原則、形而上之類的題材著墨太深。事實上整場演講,我想帶給學員的就是目前在 java 業界 SOA 兩大主流:JBI+ESB 及 SCA+SDO 的實務作法。希望到場的學員多少有吸收到我想表達的訊息。
此次演講中 demo 的範例程式及投影片請按此下載。壓縮檔解壓縮後包含 readme.txt,說明範例程式的安裝及執行方式。如果各位在測試上還有什麼問題,就留言討論吧!
19:55 發表於 Developing | 永久網址 | 留言 (4) | Email this | Tags: JavaTwo, SOA, demo, source, code
29/06/2006
SOA 之原則、設計與實務
這是我在 JavaTwo 2006 上的講題。選定 SOA (Service-Oriented Architecture, 服務導向架構) 為主題,一方面是因為自己感興趣,另一方面也是因為 Browser 希望能在 JavaTwo 中多增加一點 JavaEE 的場次,尤其是與 SOA 或 JBI 有關的。
考量 SOA 在台灣的發展,多是由資訊大廠所推動,這導致兩個現象:1. 其目標聽眾,大抵為企業資訊決策高階主管;2. 以資訊大廠之產品作為 SOA 應用之主軸。考量 JavaTwo 之與會者,多為系統開發人員,是捲起袖子來幹的一群人,因此我將捨棄 SOA 之業務觀點,直接從系統之架構與設計出發。
由於 SOA 強調的是模組、系統間的組裝與互動,這跟物件導向所著重的,對物件行為進行精密的控制,在出發點上有些不同,這也導致在設計原則上的差異。例如,物件導向強調物件應具有屬性與行為,但是 SOA 裡面,則強調資料與服務實作的分離。
而在設計上,由於 SOA 從架構出發,其中當然就涵括了不少設計樣式,像是 Bridge、Adapter、DAO、Registry 等。透過研究 SOA,我們亦可從中觀察到這些樣式間如何彼此合作,完成更大的服務體系。
在實務上,目前 SOA 的解決方案基本上可分為兩種型式,一種是透過 Bridge/Adapter 轉接,另一種則試圖像 DCOM 一樣,定義一套共通的分散式通信協定。前者以 ESB/JBI 為代表,而後者則為 SCA/SDO。
由於 ESB 之實作通常提供了許多連接到異質資訊系統的配接器,加上它通常會配合一套 Service Registry,因此它挺適合用於統整企業內分離的資訊系統。而 SCA (Service Component Architecture) 則因統一並簡化了分散式系統的開發方式,因此相當適合用於客製化專案或商業產品的開發,另外,SCA 也很適合作為兩個企業間或兩套系統間的溝通方式。我希望能為這兩種方案各提供一個例子。
看來要講的內容有點多,我得多加注意時間的掌控才行。


