[Web Services]SOAP yes, SOA, no?

转载自: http://www.orablogs.com/pavlik/archives/000654.html SOAP yes, SOA, no? In a number of private and in sometimes public exchanges on what's going on with WS-Resource Framework, I keep getting bogged down in very fine grained arguments. These tend to be about nuances in WSDL, whether such a thing as a normal model for services exists, and models for communicating session information in the Web services environment. While these conversations are important and fundamental, I fear that the really big issue is lost in the details: what is the real design center for service-oriented systems in general and for Web services in particular? A high level point of distinction between service orientation and resource orientation: SOA-based WSDL advertises what messages a service will accept and (potentially) how that service may respond. Resource oriented services have WSDL that specifically deals with operations that effect referenced resources. Though there is supposed to be a distinction between services and resources they manage, it's really a facade: the interface described in WSDL is the interface of the resource. The reference that clients have is a reference to a resource (hence, the WS-Addressing embodiment in WS-Resource: formally known as the Implied Resource Pattern). I'll harp on this latter point a bit as an aside: Implied Resource Pattern was an apt description for what was going on. In this model, consumers of EndpointReferences really have no idea what resource the EndpointReference refers to. The identity is encoded in the ReferenceProperties, which are opaque to the client by definition. I was struck by how well understood this is in distributed object systems in general while recently re-reading part of the EJB 2.1 specication: "Session objects are intended to be private resources used only by the client that created them. For this reason, session objects, from the client’s perspective, appear anonymous. In contrast to entity objects, which expose their identity as a primary key, session objects hide their identity." The problem is that explicit identification of application domain artifacts is fundamental to service oriented systems. Messages are self-contained data sets that are in turn processed by intermediaries and endpoints. This whole model is rejected by WS-RF in favor of opaque tokens for identity. It's not the packaging of the identity with the reference that is the key problem, but the fact that the identity is hidden from clients. They don't know what they are working with outside the context of reference creation, without additional identity acquisition operations a la entity bean primary key accessors. (Incidently, my former co-worker William from HP has recently discussed the reference-identity duality in his new blog.) It's been asked why WS-MessageDelivery doesn't have a concept of "ReferenceProperties". WSDL is state agnostic precisely because it favors the service oriented paradigm. MessageDelivery modeled service references to reflect that same bias. WS-RF is a sterling example of what we were trying to avoid. Grid and management are application domains. Because they will be used to integrate loose-coupled, even federated systems, they really ought to be SOA-based. There is no rationale for the extra infrastructure that WS-RF is defining except to avoid using the SOA model. From that standpoint, the WS-RF has nothing to do with the Grid per se and everything to do with defining an alternative model for distributed systems that draws it's inspiration much more strongly from distributed objects than messaging and Web infrastructure. The threat (and the intention) is that this anti-SOA crusade starts to impact the base Web services model.Posted by greg.pavlik at November 18, 2004 02:40 PM

阅读全文(2729) | 回复(0) | 编辑 | 精华

验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)


«April 2021»
blog名称:World Wide Web Watch
站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.037 second(s), page refreshed 144565303 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》