|
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:服务层。业务选择来支持和公开的服务处在这一层。它们可以被发现或者直接静态绑定,接下来被调用,或者可能的话,编排到合成服务中。这个服务公开层同样提供了获取企业范围组件,业务单元特定组件,以及有些情况下,特定项目组建的机制,并且以服务描述的形式具体化了他们的接口子集。因此,企业组件使用它们接口提供的功能在运行时提供服务实现。在这一层的接口公开为一个服务描述,在这层中他们被公开以提供使用。他们可以独立存在或者作为合成服务。
|