关闭

SOA 的定义 ——谢炯

2844人阅读 评论(0) 收藏 举报

SOA 的定义


首先,什么是服务?服务是业务任务的可重复逻辑表现形式。此处有必要强调的是,我们所谈的是业务流程的一部分,而不是软件或 IT 的一部分。
通过技术实现后,“服务”这一术语则应用到使用外化规范的软件资源(可发现的)。此服务规范可以供服务使用者进行搜索、绑定和调用。服务提供者对服务规范实现进行实现,并向服务使用者交付服务质量要求。服务将由声明性策略进行控制,因此支持可动态重新配置的体系结构样式。

第二,什么是面向服务?以我们的服务定义为基础,面向服务是一种将业务作为一组相关联的服务集成的方式。我们谈的仍然不是技术;我们谈论的是一种看待业务及其操作方式的新方法。
什么是 SOA?SOA 是一种支持面向服务的体系结构样式。SOA 是一种用于根据需要对资源进行关联的企业级 IT 体系结构。这些资源被表示为与业务一致的服务,这些服务可以参与和包含到价值网、企业或业务线中,以满足业务需求。


最后,什么是组合应用程序?它是一组集成的服务。组合应用程序是为了支持业务的各项功能而装配和组合到一起的实际运行的服务。SOA 应用程序的主要结构化元素是服务,而不是子系统、系统或组件。


SOA 不是新概念;Common Object Request Broker Architecture(CORBA)和 Distributed Component Object Model(DCOM)早就提供了类似的功能。然而,这些对于服务定位的解决方案受一些问题的困扰,如紧耦合场景和所有权设计及实现。

 

服务与组件


什么是服务?服务只是一些应用程序功能,它们被发布成业务流程的组件。同组件一样,它提供了独立的构建模块,这些模块共同代表业务应用程序环境。服务是明确定义的、独立的工作单位,不依赖于上下文或其它服务的声明,由服务提供者执行来完成服务客户所需的最终结果。提供者及客户都通过代表他们自己的软件组件来承担职责。使用 SOA,所有的业务任务或流程都可以被设计并作为互联网(或其它任何网络)上使用的服务来构建。

软件组件体系结构已经作为应用程序开发的许多领域中的标准设计范例而形成了。它从面向对象的技术发展而来,通过提供高级别的提取并将低级别的对象封装进可复用的技术组件(调整以适合于业务操作并可以被反复设计、开发和提炼)中而实现。

为了解释组件和服务之间的关系,通过阅读组件如何被定义成“可执行的代码单元,它提供了相关服务的物理黑盒封装。仅通过包含交互标准的一致的、发布的接口才能访问它的服务。组件必须能连接到其它组件上(通过通信接口) 来组成大组”(企业系统中基于组件的开发:应用选择透视图——请见参考资料)可以得到启发。

附:实例

SOA面向服务的业务转换在零售业中的最佳实践

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:28359次
    • 积分:438
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:4篇
    • 译文:0篇
    • 评论:14条
    文章存档
    最新评论