如何构建战略性SOA平台
SOA(Service-Oriented Architecture)平台——即企业用于建立、配置、监控和管理服务的软件基础设施及工具——对企业实现战略业务灵活性具有重大影响。企业应该组合多种产品建立自己的战略性SOA平台, 而不仅仅是购买单个供应商的产品,因为综合多种产品才能实现全面的功能,例如安全性、交易、版本控制、事件管理、可靠的传递、服务目录、业务流程控制、元数据管理、业务报表、动态政策、服务管理等等。
不过这些功能也不是一下子就建立好了。应该根据SOA的价值——即灵活的业务变化、丰富的业务连接、有力的业务控制,为企业设定一个SOA平台愿景,用以指导企业从现有的应用平台逐步转换到SOA平台。
1. SOA的业务背景和IT背景
长期的业务竞争力和成功需要企业持续进行变化和调整,SOA能够为此提供帮助。在战术层面,SOA能够帮助企业立竿见影地解决一些问题,例如同业务伙伴连接,访问遗留系统,跨技术集成。从战略层面看,SOA能够创建一个支持持续业务创新和优化的IT环境。一个成功的SOA平台战略必须同时传递战术价值和战略价值:
加快业务变化:当业务发生变化时,开发人员能够更容易地将业务流程变化映射到应用系统中,实施相应的IT变化。
提供业务连接:将业务流程组装成模块和服务,企业可以在优化内外部流程的过程中将这些模块和服务连接起来。
加强业务控制:在SOA中,经过SOA平台的数据流和交易都是有价值的业务数据,可以使用这些数据分析和优化业务结果和流程成本。
灵活的基于服务的应用能够更容易更迅速地进行业务变化,业务人员可以运用这种敏捷性优势快速开发新能力、优化核心流程。
2. 建立SOA平台愿景
要建立SOA平台来推进持续的业务改进,那么首先要对SOA进行充分可靠的定义。Forrester将SOA定义为设计、配置和管理应用及软件基础设施的一种方式,它实现以下目标:
将应用组织为业务单元(业务服务),并可通过网络访问。
服务接口定义是最重要的开发任务,应受到和数据库一样的重视。
针对每一个服务明确定义服务质量特点(安全性、交易、性能、服务交互形式等)。
软件基础设施负责管理服务的访问、执行和质量。
服务及其元数据存放在某个存储器中,开发工具和管理工具可以在这些存储器中找到它们。
SOA内的协议和结构占主要地位,但并不排除其他可能,采用行业标准(例如SOAP)。
按照这种定义,SOA既与软件基础设施设计相关,又与应用设计相关。除了将业务逻辑封装成服务,SOA还负责保证安全性、服务质量、管理和运行服务,这样开发人员就能将更多的精力专注于业务逻辑上。基于SOAP的Web Services只是负责管理服务访问的一个重要部分,还有其他的管理方式可用,例如MOM(Message-Oriented Middleware)、分布式对象协议CORBA(Common Object Request Broker Architecture)、IIOP(Internet Inter-ORB Protocol),甚至一些非传统的应用连接方式,如e-mail。
3. 四大设计中心
为了保证SOA平台架构上的准确性,在进行平台设计时必须遵循SOA的价值。SOA最大的战略价值在于——快速、可持续发展、适应性的业务优化——这要求SOA实现三大核心价值定位:快速灵活的业务变化;丰富深入的业务连接;业务层和IT层的反馈和控制。
服务生命周期环境(Service Lifecycle Environment,SLE)实现快速灵活的业务变化。通过传统的编程语言和基于元数据的规范,SOA平台必须为灵活建模、创建、修改、测试、维护业务服务提供工具和基础设施。
服务交付网络(Service Delivery Network,SDN)实现丰富深入的业务连接。SOA平台必须跨越多种企业和技术边界,保证安全性、可靠性、响应、交互形式等多种要求。
服务指挥平台(Service Command Platform,SCP)提供业务层和IT层的反馈和控制。控制是有效管理提供的价值。除了满足传统的IT管理要求,SOA平台必须为用户提供到特定服务的动态接入——做出响应并抽取业务管理所需的主要数据。
核心应用平台提供各种业务能力。SOA平台必须包含目前业务中所使用的各种技术,包括应用平台(例如Microsoft .NET、J2EE)、集成解决方案、遗留系统。
4. 变化:服务生命周期环境
SLE负责创建和维护业务服务,因此它是SOA平台的业务规则中心。SLE既要建立服务,又要建立到现有业务逻辑的服务接口。它必须覆盖整个服务生命周期和所有服务交付活动,包括程序代码、元数据、定制适配器等等。业务是服务生命周期的一个重要方面,业务分析员可以用SLE工具来详细说明业务流程、处理政策、业务规则。SLE的主要功能如下:
服务创建(新服务和遗留服务的封装)
业务流程和服务的建模
服务生命周期管理和治理
转换和映射
服务编制和工作流
业务规则管理
服务存储
元数据管理
5. 连接:服务交付网络
SDN负责各类业务、技术之间的全局连接。它保证业务服务对于合适的消费者来说是安全可用的,并通过合适的渠道进行传递,达到一定的服务水平和增值能力(交易、路由、恢复、事件管理等)。SDN除了提供一组协议和产品实施外,还实现协议和产品之间的多样化连接,以满足各种连接需求和服务质量需求。SDN提供的主要功能有:
消息
可靠的消息和处理
安全性(促进信任,预防攻击)
交易
版本控制
事件管理
协议解释
寻址和路由
SDN的具体实施情况取决于企业的历史和需求。比如在Sabre Holding公司,为了保证性能,该公司只采用两条服务路径——CORBA和WebSphere MQ。而Verizon公司则认为它必须同时支持CORBA、Web Services、JMS等多种协议。为了获得更高的性能,Allstate保险公司甚至对某些内部连接使用SOAP,保证XML和HTTP之间的适度组合。
6. 控制:服务指挥平台
SOA平台的第三个设计中心是SCP,它首先保证对服务运营进行IT层面的控制。除此之外,SCP还负责整合SOA平台内的数据,为业务层提供对服务运营的洞察和对服务处理政策的治理。例如,当一个订单输入服务的实时报表反映出新的订单活动出现错误,那么业务人员就能使用SLE动态地修改定价、折扣或产品组合。又或者一个规则引擎甚至能够自动进行以上调整。SCP还有助于加强IT和业务之间的联系。SCP不同于目前市场上的Web Services管理(WSM),因为它所涉及的范围是整个SOA平台,既包括Web Services元素,也包括非Web Services元素。SCP的主要功能有:
业务活动和结果报表生成
动态政策(例如业务政策、IT管理政策)
集成的服务配置
服务开票
监控
IT和服务水平协议管理
服务网格管理
主要的管理平台供应商(例如BMC软件、Computer Associates、HP、IBM)所提供的产品能够较好地管理SOA平台中的所有技术元素。虽然BPM为SCP提供了一种进行业务层控制的有效模式,但至少花3年时间来实施BPM才能初有成效,实现广泛深入灵活的动态业务控制。
7. 核心应用平台
前面三个设计中心围绕SOA的核心价值建立起一系列基础设施。但是服务仍然需要一个能够运行它们的应用平台。不管这个应用平台是只采用一种技术还是采用多种技术,只有将它建立起来才能形成一个完整的SOA平台。假如企业计划从现有应用平台产品中提取一些功能加入到SOA平台中,那这时候应用平台就显得尤为重要了。应用平台提供的主要功能如下:
流程集成
应用集成
遗留系统集成
业务规则引擎
应用服务器
数据集成
数据和内容存储
8. 四大SOA平台设计中心之间的关系
上述四大SOA平台设计中心之间存在着多种联系和交互。
从SLE到SDN和核心应用平台:SLE工具负责对服务整个生命周期中的开发和维护进行管理(以代码和元数据的形式),而SDN和核心应用平台为这种管理提供了改进服务设计的标准和尺度。
从SCP到SDN和核心应用平台:SCP工具定义了安全政策和质量政策来控制服务在SDN和核心应用平台中的执行。SCP工具还负责监控和管理服务运营,从SDN和核心应用平台那里接收运行时的执行数据和事件。
从SLE到SCP:SLE向SCP提供配置服务所必需的数据。
从SDN到SCP:在业务管理层,SDN向SCP的业务活动和结果报表引擎提供业务流程执行和服务调用相关的数据。
9. SOA基础设施市场
对于上述四大SOA平台设计中心,市场上并不一定有对应的产品。实际上,许多产品是跨越多个设计中心的,围绕某个目标领域(例如交易管理或业务规则)实现各个设计中心的一部分功能。另外一些产品则会专注于一个设计中心,但也不会实现设计中心的所有功能。企业在构建SOA平台时,不要只购买一个供应商的产品,应该先购买一个处于主流地位的平台,然后再从各个领域内的最佳品牌供应商那里购买一些附件——尤其是在未来3~5年内市场逐渐成熟的时候。
SOA平台需要混合一系列强势的核心技术和Web Services能力。当Web Services专业供应商在开发重要的Web Services能力时(有些供应商甚至开发更为通用的SOA能力),他们面临着来自主要软件基础设施供应商的激烈竞争。架构和平台只有实现集成时才是最好的,因此很多IT商店都将战略应用的未来押在大型供应商身上。于是从长期来看,提供应用平台、安全平台、管理平台的大型供应商将在SOA平台市场中占上风。但是Web Services专业供应商仍然能为企业近期的Web Services平台需求提供良好的解决方案,使用它们的产品能够迅速取得成效。
10. SOA平台示例
实施战略性SOA的道路有很多,选择哪一条道路决定了企业之间的不同。企业刚开始实施SOA时,可以参照以下公司的做法:
实现简单内部集成的SOA平台:某家大型媒体公司使用远程方法调用(Remote Method Invocation,RMI)-IIP作为访问主要Java服务的机制,Web Services则是将来可能会实现的访问机制。某家大型医疗机构正将遗留COBOL封装成服务,它使用主机适配器将这些服务发布为Web Services。在上述两个场景中,他们采用的SOA平台可以使用Java或微软的应用服务器,同时可以使用Web Services-to-host产品实现对遗留组件的访问。
实现丰富内部集成的SOA平台:某家大型金融服务机构使用Web Services创建数据访问层,用以跟踪和审计法规遵从情况。应用和数据集成产品十分适合它们的架构。为了创建组合服务,将来自多个应用套件的功能组合起来,你可以使用EAI产品提供的路由、工作流、转换和映射能力——注意要保证按照良好的服务设计原则创建接口,而不是设计出仅针对特定应用的集成接口。
实现多渠道应用的SOA平台:从上面简单集成和丰富集成两个场景中可以看出,服务能够同多个交互渠道连接——Web应用、desktop应用、门户服务器、移动终端等等,可以通过Web单一登录(Web SSO)产品来管理渠道中的用户身份和访问权限。然后就可以使用WSM产品来截取、认证和授权Web Services请求(请求使用中央目录和访问权限)。
实现外部集成的SOA平台:某家大型物流企业使用B2B软件和EAI的组合来实现同运输客户的直接连接。另一家航空公司则使用XML安全网关实现同外部合作伙伴的连接。
你可能正处于上面这几种场景中的一种,你需要建立短期和长期的SOA平台战略。比如说你需要同时实现丰富的内部集成和外部集成,那么SOA平台的主要元素可能是一个应用服务器、EAI、XML安全网关。
11. SOA战略应在SOA平台实施之前
一些企业可能未曾仔细考虑SOA战略就匆匆忙忙投入建设SOA平台的大潮中。的确,这样做能够帮助企业迅速从服务中获益,但这种缺乏战略思考的方法将限制或减缓企业从SOA中得到的长期获益。为了保证SOA平台在长期上的正确性,企业必须从一开始就定义一个SOA战略,用以指导SOA的具体实施。在建设战略性SOA时,应遵循下面三个原则:
从全局出发:SOA带来业务变化。在开始制定SOA平台愿景时,应采取头脑风暴的方式发掘在业务层实施端到端流程创新和优化的机遇。在进行这项工作时,应分析整个公司实现改进的可能性。通过这项工作,你将了解公司最需要提高灵活性和响应能力的业务领域。这样就设定了创建应用战略实现业务灵活性的优先顺序,也体现了SOA对企业未来的重要性。
根据SOA实现的业务价值建设SOA:不要采用从上到下的方式建设战略性SOA平台。相反,要根据当前的需求逐步完善SOA平台,但这个过程也要在SOA愿景指导下进行。这种“底层策略”现在显得尤为重要,因为SOA基础设施相关的标准和产品正迅速发生变化。
根据SOA愿景逐步完善SOA:为了实现SOA愿景同当前SOA建设决策之间的对应,要仔细考察和计划企业特定的SOA需求和机遇。
12. 大型供应商是SOA平台市场的重要厂商
SOA平台不仅仅是一个架构在现有应用之上的独立Web Services层。它作为企业数字业务的战略集成平台,必须提供用以设计、建立、配置、运行、监控和管理业务服务的所有技术。这包括应用服务器、集成解决方案、套装软件、管理工具、开发工具、业务流程设计、Web Services基础设施等等。
所有大型软件基础设施供应商正在向他们的平台添加一般的面向服务属性,同时也在构建特定的Web Services能力。应该选择这些大型供应商的产品作为建设战略性SOA平台的起点。专业的Web Services供应商通常有更为丰富的产品——特别是在当前阶段大型供应商产品尚未成熟之际,他们能够为企业当前的SOA需求快速提供解决方案。但只能将这些解决方案用于实现战术性目标(12~24个月)。企业平台愿景将指导企业选择供应商和标准,最终实现一个成熟的长期的SOA平台。(AMT)
- 1资产管理的“核”问题
- 2五种方法帮中小企业提高技术支持效率
- 3漫谈服务之道
- 4网络融合需团队整合先行
- 5管理软件的道与术
- 6什么时候该终止一个项目的开发
- 7企业有必要请第三方提供业务流程系统吗?
- 8对软件工程项目的一些思考
- 9OA实现公文的行文、流转、制度档案的建立和共享
- 10点击科技王志东细述协同渊源(二)
- 112005企业门户市场趋势
- 12看SAP如何向SOA转型
- 13CIO“培养”CEO
- 14为什么说引进OA办公系统是一种投资?
- 15微软副总裁McDowell:IT投资应重视变革的力量
- 16ERP,大处着眼小处着手
- 17在SOA时代如何发展你的SOA技能
- 18ERP中的标准成本的应用原则
- 19DELL的服务闭环
- 20小资料:业务流程重组的几种经典方法
- 21如何完成一个结果成功、用户满意的OA项目?
- 22跨国公司如何重构ERP
- 23怎样与系统开发商签定开发合同
- 24麦德龙超市的IT系统
- 25IT十大危机时刻应该如何避免(上)
- 26从产品生命周期看中小企业的产品策略
- 27中国IT服务并没有真正发挥自己的重要作用?
- 28IT产品管理的PM思想
- 29中小企业当心低价诱饵
- 30企业怎么样才能获得最佳外包服务