|
pigcan
說:
SOA
技術體系里有幾個核心概念
: A message-- represents the data required to complete some or all parts of a unit of work. An operation-- represents the logic required to process messages in order to complete a unit of work. A service-- represents a logically grouped set of operations capable of performing related units of work. A process-- contains the business rules that determine which service operations are used to complete a unit of automation. In other words, a process represents a large piece of work that requires the completion of smaller units of work.
由此你可以判斷組件所處在的位置
,
并可以了解組件和服務之間的關系了
amiracle
說:
簡單來講
: Components can be seen as the mechanism to package, manage and expose services. Component
提供
service,Serivice
是依托于
component
。
kant1981
接著
問:
在
IBM
提出的面向服務的建模和設計的時候給出了一個分層的架構圖
,
其中企業組件層處在服務層的下方
.
SOA
的一個架構模板:?
 對于這個圖形,我的理解是service是在component的基礎上有封裝了一層.服務處在更高的層次上. 于是,我對你說的component是對service打包,管理和暴露的機制不太能理解.能不能具體解釋一下組件如何對服務進行打包,管理和暴露??
amiracle回答說:例如用EJB開發的,實現了轉帳功能的組件,那么我們可以把他們封裝成serivce,或者說把這些組件的功能expose為service,就是轉帳服務,這樣就可以被消費了。所以就看你怎么理解了:) 現在許多開發工具都可以直接從EJB等生成service。當然,也可以先創建service,然后選擇用什么方式來實現。 Creating a Web service using the Bean2WebService tool You can use the Bean2WebService tool from a command line to generate a Web service from a Java? bean using the IBM? WebSphere? run-time environment. pigcan接著說:據我理解,組件是用以實現功能并實現一些非功能特性的,而服務則可以是將他的一個封裝以提供對外的通用接口.IBM提供的資料中有很詳細的描述...
最后,我查了一下資料,IBM Developer上有文章如下解釋:參照上圖:層2:企業組件層。本層由那些負責實現功能(業務組件)和保持公開服務QoS 的企業組件(基礎設施組件,一般由容器提供)組成。這些特殊的組件是企業和業務單元級支持的企業資產的受管理和控制的集合。層3:服務層。業務選擇來支持和公開的服務處在這一層。它們可以被發現或者直接靜態綁定,接下來被調用,或者可能的話,編排到合成服務中。這個服務公開層同樣提供了獲取企業范圍組件,業務單元特定組件,以及有些情況下,特定項目組建的機制,并且以服務描述的形式具體化了他們的接口子集。因此,企業組件使用它們接口提供的功能在運行時提供服務實現。在這一層的接口公開為一個服務描述,在這層中他們被公開以提供使用。他們可以獨立存在或者作為合成服務。
|