加载中…
个人资料
dorm520
dorm520
  • 博客等级:
  • 博客积分:0
  • 博客访问:2,174
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

soa学习第一篇

(2006-04-29 21:27:37)
分类: 吴定明

create some service adaptors and proxies

move to a virtual provider

then a service integrator

and then to an ESB

 

Pattern 1: Remote service strategy

Context and problems: It deals with the problems associated with loose coupling and is used when we want to have the flexibility of changing the service implementation based on input context, for example, or quality of service characteristics that different service providers can offer. In an SOA context, we need to be able to change the service provider with minimal or no impact on the consumer?s perception of the service, thus varying the actual implementer of the service description. The implementer may, in most cases, be a provider of a remote unit of functionality, somewhere in the internal network or Internet. Now, we would like to have the flexibility of changing service providers with IT and Business impunity, which means minimal changes to IT systems and no impact on the business or customer experience in their online shopping experience.

Solution: create a service layer that separates the interface of the service you require from a layer of possible implementers of the service, the Enterprise Component Layer, for example. This provides the flexibility to change service providers who implement the service interface without having to make large changes in the code of your IT systems. "Reconfiguration," rather than hard-coded customizations, is the name of the game: a dynamically re-configurable, architectural style that provides flexibility is one of the key value propositions of SOA.

Consequences and Variations: You can start with a higher degree of coupling and move to a lower degree. Gain the ability to alter the provider by creating a service registry of providers and changing providers dynamically (UDDI, LDAP, and so on). If a further degree of dynamism is required, then the discovery and negotiation process occurs in a registry that you do not control, but is offered by an external service broker who will find you the "best-fit" or "best-match".

 

Pattern 2: Service adaptor

(Also known as the service wrapper)

Context and problems: The purpose of a service adaptor is to provide a mechanism that allows systems that are not service-oriented to participate in a Service-Oriented Architecture.

Such services are usually legacy systems or packaged applications that do not offer cleanly defined, large-grained interfaces of the type specified by an SOA.

In order to provide a wrapper service to a legacy system, some form of adaptor technology, or "service adaptor" is required. The purpose of this technology is to integrate with the non-SOA system and apply whatever data or protocol transformations are required to expose a clean service interface representing the legacy functionality. This interface is published as a "wrapper service". Service consumers can then bind to the wrapper service through the adaptor.

 

Pattern 3: Service proxy

Context and problems: Your consumer does not have the sophistication to support services directly or make service invocations using WSDL. Yet you need to give them the chance of using the functionality and quality of service associated with a given service offering by some future provider. Remember that today, perhaps, the provider is not providing the functionality as a Web service but in a legacy format and plans to migrate in the future. The service provider may not have the sophistication of service exposure yet.

Solution: In order to shield the consumer from the sophistication required to access functionality using a service interface, you may opt to, as a stepping stone, provide clients with a service proxy that acts as a surrogate to the future SOA-enabled capability.

This pattern is used in conjunction with a service adaptor for the support of virtual providers.

 

 

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有