在过去五年中,有大量的文章谈面向服务、SOA,而最近几乎所有的东西都可以面向服务了。但我们所说的服务和面向服务到底指什么?
有很多不同的定义,而这些定义在不断地发生变化,以反映行业和 SOA 实践的成熟。我们将在此给出一些本文中将要使用的基本定义。这些定义在图 2 中得到了反映。

图 2. SOA 的定义
1. 首先,什么是服务?服务是业务任务的可重复逻辑表现形式。此处有必要强调的是,我们所谈的是业务流程的一部分,而不是软件或 IT 的一部分。
通过技术实现后,“服务”这一术语则应用到使用外化规范的软件资源(可发现的)。此服务规范可以供服务使用者进行搜索、绑定和调用。服务提供者对服务规范实现进行实现,并向服务使用者交付服务质量要求。服务将由声明性策略进行控制,因此支持可动态重新配置的体系结构样式。
2. 第二,什么是面向服务?以我们的服务定义为基础,面向服务是一种将业务作为一组相关联的服务集成的方式。我们谈的仍然不是技术;我们谈论的是一种看待业务及其操作方式的新方法。
3. 什么是 SOA?SOA 是一种支持面向服务的体系结构样式。SOA 是一种用于根据需要对资源进行关联的企业级 IT 体系结构。这些资源被表示为与业务一致的服务,这些服务可以参与和包含到价值网、企业或业务线中,以满足业务需求。
4. 最后,什么是组合应用程序?它是一组集成的服务。组合应用程序是为了支持业务的各项功能而装配和组合到一起的实际运行的服务。SOA 应用程序的主要结构化元素是服务,而不是子系统、系统或组件。
标识 SOA 反模式的方法
SOA 反模式是通过使用以下方法标识的:
反模式模板/语言
反模式是使用以下模板/语言进行描述的:
SOA 反模式
已标识的反模式分为三类:
1. SOA 采用反模式:此类为阻碍或延迟客户和业务的 SOA 采用进程的反模式。讨论的属于此类的反模式有:
2. 服务标识和设计反模式:此类反模式是技术先驱在作为 SOA 活动的一部分对服务进行标识和设计时遇到的反模式。讨论的属于此类的反模式有:
3. 服务实现反模式:此类反模式捕获实现服务的最差实践。很多此类反模式主要关注 Web 服务实现(最常见的 SOA 实现)。在本文中,我们给出的是不关注 Web 服务的 SOA 实现反模式的部分列表,因为对于以 Web 服务为中心的 SOA 实现反模式在 Web 服务专门论坛上已经进行了大量的讨论。讨论的属于此类的反模式有:
随着 SOA 越来越成熟,其应用越来越多,则有希望标识越来越多的反模式。
表 3. 反模式列表
| 类别ID | 反模式 | 描述 |
| 采用-A1 | 技术跟风 | 一种非常值得注意的常见趋势,在此情况下,企业决定采用流行的新技术,而没有仔细考虑此技术是否对业务有所帮助。 |
| 采用-A2 | 老调重谈 | 缺乏对 SOA 和以前的计算范例之间区别的了解,从而使其提出置疑,认为 SOA 不过是同样的旧技术的一个名称而已。结果是,即使采用 SOA 能为业务带来好处,也反对采用它。 |
| 采用-A3 | 大爆炸 | 此反模式也称为“囫囵吞枣”。当将 SOA 视为万能的,而立即对所有企业系统和体系结构进行全面更改时,采用的就是此反模式。这样急于求成地采用 SOA 会导致一些会不公平地归咎于 SOA 的错误。 |
| 标识和设计-I1 | Web 服务 = SOA | 当架构师将 SOA 与 Web 服务划上等号时,他们实际上在冒险,可能会使用不具有合适体系结构的 Web 服务替换现有 API。这样将导致标识很多与业务不一致的服务。 |
| 标识和设计-I2 | 竖井方法 | 在此反模式中,服务是根据独立的应用程序标识的,因此不同的小组可能会使用不同的名称标识同样的服务。因此,不能实现公共服务或服务共享。 |
| 标识和设计-I3 | 注册中心行为不正常 | 重复的服务注册表项,所属关系重复、不清楚,从而由于重复而导致管理灾难和运行时混淆、潜在的性能低下和计划外成本。 |
| 实现-R1 | 通信较多的服务 | 此反模式描述了一个常见错误,开发人员在通过实现很多 Web 服务(这些服务彼此需要就一小部分数据进行通信)而实现服务时,通常可能犯这个错误。这将导致实现大量服务,从而导致性能下降,开发成本增加。 |
| 实现-R2 | 点到点的服务 | 在应用程序间使用 XML 或 SOAP over HTTP 代替点到点 Web 服务的中间件,将导致点到点集成的出现,而成为事实上的集成模式。 |
| 实现-R3 | 无组件的服务 | 不清楚与所属组件关联的情况下就直接进行 Web 服务的开发和实现,将会导致未结构化、不受约束的体系结构(没有严格的分层机制)。这将导致服务接口后端和保留现有应用程序和软件包的遗留限制方面的灵活性低下。 |
| 共4页: 上一页 [1] 2 [3] [4] 下一页 | ||
|
|
|||
| · 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
· 华为路由器产品 · 路由器模拟器 · AIX操作系统管理应用(.. · 思科路由器配置 · 路由器组网解决方案 · 路由器密码恢复 · 无线路由器故障处理 · 路由故障处理手册 |
||
|
|||
| · Java基础教程 · VPN技术 · SQL Server 2005全解 · ARP攻击防范与解决方案 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · 三层交换技术专题 |
· SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 · Windows操作系统安装 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 · Windows操作系统安装 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·网名接龙--之大话黄琨 ^o^ ·ARP欺骗引发的“冤案”—.. |
·ARP欺骗的原理、步骤和危.. ·利用负载均衡技术针对Web.. |
| ·VMware Workstation 6.01.. ·Windows Server 2008 RC0.. |
·ISA Server 2006的全自动.. ·ISA Server、虚拟机、托.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· IT基础教程 · 平凡黑客讲述精彩人生(.. · 平凡黑客讲述精彩人生(.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· AMD三核心处理器解析 痛.. · 服务器基础知识入门 · Rambus第二?看全缓冲内.. |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |