面向服务的架构:短期内从SOA获得切实益处(上)

日期: 2009-06-10 作者:Jay Beecham翻译:冯昀晖 来源:TechTarget中国 英文

  本文是节选。点击这里下载完整白皮书。   引言   本文的目的是揭开SOA(Service-Oriented Architecture,面向服务的体系结构)以及支持SOA架构方法技术神秘的面纱。同时,本文也为组织的投资提供了一个能在短期内获得切实收益的切入点。

为了实现这一目的,本文讨论了以下几个问题:什么是真正的松耦合流程?是混合而成的应用程序吗?你期望从面片汤一样杂乱令人迷惑的相关标准中得出什么判断,来决定使用服务作为可复用处理组件,还是使用Web Service作为通信协议?到底什么是服务?换句话说,要求是松耦合、可复用、可组件化、可发布、可展现,而且独立于协议的东西,而且是组织可以赖……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

  本文是节选。点击这里下载完整白皮书。

  引言

  本文的目的是揭开SOA(Service-Oriented Architecture,面向服务的体系结构)以及支持SOA架构方法技术神秘的面纱。同时,本文也为组织的投资提供了一个能在短期内获得切实收益的切入点。为了实现这一目的,本文讨论了以下几个问题:什么是真正的松耦合流程?是混合而成的应用程序吗?你期望从面片汤一样杂乱令人迷惑的相关标准中得出什么判断,来决定使用服务作为可复用处理组件,还是使用Web Service作为通信协议?到底什么是服务?换句话说,要求是松耦合、可复用、可组件化、可发布、可展现,而且独立于协议的东西,而且是组织可以赖以根据市场情况变化快速做出反应的东西,这是什么?

  技术,定义和愿景

  为了达到一个共同的认识水平,我们将简要地回顾一些概念,介绍一些SOA密切相关的技术。首先,我们要定义“服务”概念,列举几个“真实的服务”作为示例,这些例子都是在ERP(Enterprise Resource Planning企业资源计划)软件套件中应用着的。


  “服务”是一种组件,它是代表一个功能单元的自动子处理(例如,“获取客户记录”功能),这个功能单元实现了业务功能的一部分,如核实客户的联系方式或者确认客户近期的采购活动。

  SOA的想法就是设计一些服务,使他们不仅为您的ERP(企业资源计划)系统提供功能,而且还作为跨平台和跨组织的组件提供服务。“查找近期的客户活动”这一服务可能在您的销售订单管理应用程序,订单处理程序和销售量预测程序中都运行良好,但也要用来查看你的客户关系管理(CRM)解决方案的客户活动,也许要看您的呼叫中心软件和问题跟踪应用程序。这一信息将显示在您桌面电脑浏览器中,或者在你去客户的办公室开会之前,你也可以从PDA中看到子这些信息。从跨组织的角度来看,同一个服务“查找近期的客户活动”可能会被您的供应商和服务提供商重复利用,用来发现你所在组织的采购活动,或用来检查未支付的应付采购订单的最新状态。

  面向服务的架构(SOA)是一个宏观视图,它展现了业务和技术架构如何集成,复合应用功能如何交付到Portal(门户网站)或Web浏览器。SOA在商业合作伙伴之间使用端到端的跨企业应用集成,它提供了一个灵活的模式,允许企业迅速有效地应对市场变化。这是一个涉及到企业应用集成(EAI)的概念,它支持我们能够在整个价值链中更方便和有效地整合数据和应用。它彻底地重新构建应用,采用一个或多个上面提到的“服务”,并把这些服务连接起来形成一个完整的、跨功能的、端对端的业务处理流程。比如:“采购到付款”或者“报价到兑现”。这一点与现在那种“一揽子应用”有根本性的区别。在“一揽子应用”中,服务以更小粒度(例如:“查询供应商编号”)的构件存在,而不是像现在ERP系统中的电子采购模块那样可以执行一个完整业务处理的大粒度构件。这种架构方式依赖于互联网,是业务架构,应用架构,软件架构紧密结合的产物。这种架构风格使用户可以根据业务优先级,需求调整或者市场情况变化快速构建,复用,重新配置自动化工作流业务流程(服务)。

  如上所述,“复合应用”是完整的SOA实现的最终理想状态。这些虚拟的应用是一个相互连接的,基础处理流程的一套相互独立的服务集,这些服务来源于企业内部或外部(比如:服务提供者或者外包功能)。他们就像定制的软件解决方案一样被应用于一组业务需求,但不同的是没有硬编码的集成逻辑。

相关推荐