首页 > 人工智能 > 正文

当前实施SOA大胆构想的挑战是什么?

2010-08-09 19:27:35  来源:ERPWorld

摘要: SOA在中国的全面发展是要看何时国内软件提供商以及其他国内软硬件提供商都能够共同宣传推广SOA,并从产品应用的角度真正向用户进行营销。目前来看,在2008年,除普元软件积极倡导SOA
关键词: SOA 实施

  当前SOA已经成为以IBM、SAP、甲骨文、用友为代表的软件厂商共同关注、推广和建设应用的主题。IBM于昨日携手国内软件产业领导厂商--用友软件股份有限公司在北京宣布开展NC/MB战略合作,在“智慧地球”的愿景下,充分利用双方在软件领域领先的技术和方案优势,以“平台化应用集成”策略帮助企业客户打破“信息孤岛”的同时,信息安全隐患再次被提上日程。

 

    IBM于昨日携手国内软件产业领导厂商--用友软件股份有限公司在北京宣布开展NC/MB战略合作,该合作依托IBM与用友长期的战略合作伙伴关系,在“智慧地球”的愿景下,充分利用双方在软件领域领先的技术和方案优势,以“平台化应用集成”策略帮助企业客户打破“信息孤岛”,把不同应用集成起来,为建立智慧企业奠定坚实基础,此前,基于MB的用友NC顺利通过IBM全球SOA解决方案最高级别认证,也是唯一被IBM SOA创新中心授予的最顶级应用认证资格的管理软件。同时,该合作也是双方促进生态系统健康发展,为合作伙伴和最终用户创造更多价值的重要举措,是双方合作历史上一个具有重要战略意义的里程碑。

 

    SOA在中国的全面发展是要看何时国内软件提供商以及其他国内软硬件提供商都能够共同宣传推广SOA,并从产品应用的角度真正向用户进行营销。目前来看,在2008年,除普元软件积极倡导SOA外,像东方通、金蝶这样的国内典型软件提供商对SOA没有值得提及的市场举措,观望态度依然明显。 2009年,SOA似乎又火了起来。

 

    1、SOA的定义

 

    SOA全名为面向服务的体系结构(service-oriented architecture),它是一种软件架构模型。SOA将应用程序的各个功能单元间通过定义良好的接口和契约联系起来,而这种不同功能单元被称作为服务。服务间接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言等环境。这样,服务间将采用通用的、统一的和与系统平台无关的方式进行交互。SOA的特性是“服务的封装”、“服务的重用”和“服务的互动”。SOA系统的需求源自于业务应用系统需求,SOA系统可根据业务的需要不断的将每一个独立的“服务”组合,以适应不断变化的环境,比如经常改变的合作伙伴关系、业务级别、业务重点、政策、行业地位以及其他与业务有关的因素的更改,每一个服务都是一个独立的个体。

 

    2、SOA的应用技术

 

    首先,SOA并不是一种新的技术,它是一种应用架构模型,是不完全依赖于技术的应用架构模型,SOA的技术实现方式可以有多种,是多种技术的集合架构模型。其次,SOA 是通常基于可扩展标记语言(eXtensible Markup Language,XML),通过使用WSDL语言(称为 Web 服务描述语言(Web Services Definition Language,WSDL))来描述接口。再次,Web Services并不是实现 SOA 的惟一方式,以前我们所熟识的 CORBA 是另一种实现方式。SOA鼓励使用可替代的技术和消息机制,通过把服务联系在一起来满足应用。而且,SOA 的系统并不排除使用面向对象的设计来构建单个服务,但是其整体设计却是面向服务的。最后,为了建立体系结构模型,我们所需要的并不只是服务描述,我们还需要定义整个应用程序如何在服务之间执行其工作流,尤其需要找到业务的操作和业务中所使用的软件的操作之间的转换点。所以,SOA 应该是将业务的商业流程与它们的技术流程联系起来,并且映射这两者之间的关系。因而,工作流在 SOA 的设计中扮演重要的角色。

 

    3、SOA的商业应用思想

 

    SOA的一个中心思想就是让企业应用彻底摆脱面向技术的解决方案的束缚,轻松自如的应对企业商业服务变化、发展的需要。企业IT架构环境中单个应用程序是无法包容用户的各种业务需求的,即使是一个大型的ERP解决方案,仍然不能满足这个用户不断膨胀、变化的业务需求。原来,为了对市场快速做出反应,商业企业只能通过不断开发新应用、扩展现有应用来支撑其现有的业务需求。今后,商业企业采用SOA后,通过将注意力放在服务上,应用程序能够集中起来提供更加丰富、目的性更强的商业流程,其结果就是,基于SOA的企业应用会更加真实地反映出与业务模型的结合。SOA商业应用思想就是为“业务驱动服务,服务驱动技术”。服务是从业务流程的角度来看待技术的,这同一般的从可用技术所驱动的商业视角是不同的。服务的优势已经清晰可见,服务同业务流程结合在一起,能够更加准确地表示业务模型、更好地支撑业务流程。对于企业用户来说,SOA根本的目标是解决“信息孤岛”问题,并能提供随需应变的服务。 SOA通过将原有的应用和资源转变为可共享的标准服务,打破了“信息孤岛”。企业决策者只需要根据企业的策略来定制流程,把应用作为服务“随需获得”,而无需考虑底层的集成,这样就可以实现IT和企业业务之间的“业务驱动服务,服务驱动技术”。

 

    但SOA真正实施起来却存在着很多问题。即使是主打SOA的软件厂商也缺乏对IT、商业、开发生命周期、人员、流程、合作伙伴、数据等的综合考虑; 缺乏成熟的解决方案,面对企业不愿意大规模增加资金、人员投入改造现有业务系统的局面,没有成熟的解决办法;缺乏典型的行业系统应用案例,当前很多SOA案例都是由厂商主导并打造的行业典型应用,SI和ISV本身的价值并没有得到体现,而SI和ISV的优势就是熟悉行业业务,能提供成熟的行业应用解决方案。因此,只有当渠道商将SOA架构真正融入到其具体应用系统解决方案中,用户才更容易接受和采纳,但现在,SI和中小ISV还并没能树立典型的应用案例,换言之,其在行业中的增值作用还没有在SOA的拓展中发挥出来。

 

    造成这种局面的很大一部分原因是软件提供商对SOA的争论让市场推广很混乱,很多中小型SI和ISV对SOA在认知上都还存在着误区,如错误的将SOA架构理解为SOA产品、如实施一两款集成中间件就称用户构建了SOA,就更不用说将SOA架构真正融入到其具体应用系统解决方案中了,这不仅对用户认知理解造成了混淆,而且非常不利于SOA的长远发展。计世资讯认为,当SI和ISV在中间件和业务基础软件平台采购、应用、部署时都会提到SOA时,用户自然也会基于未来发展趋势的考虑开始有所倾向。

 

    关于SOA在2009年的大胆构想

 

    1) 经济动荡将使得SOA回源:以自下而上,渐进的方式(bottom up, incremental.)。

 

    2009年经济的不确定性仍将贯穿全年,但将进入复苏阶段。然而,这改变不了竞争环境的刀锋态势,公司将继续寻找流水化和降低成本的解决方案,而这恰恰是基于实践的SOA的天然角色。请记住,Web服务和SOA自2001年的经济不景气中苏醒过来后,被打造成一种以较少投入来提高IT效率、提升商业价值的途径。在企业中,大块头的SOA项目会少一些了,更多的是渐进式、自下而上(bottom up, incremental.的成效,这中间的许多将是立马可见的。只要你愿意,还有更多的游击队SOA(guerrilla SOA轻量级的、聚焦短期目标的SOA项目)。SOA 也将令公司在进行合并、收购或重组时变得更简单。

 

    2) 供应商将不再把SOA作为“独特”产品来强调。

 

    SOA的炒作将变少,但并不意味它将消失。新的解决方案和应用将有面向服务的概念。云产品将以符合SOA原则的方式建设。还不会有许多提供SOA解决方案的初创供应商,但会有许多提供Web2.0类型和基于云的服务,这些都是以SOA原则为基础的。

 

    3) 内部的云,小规模的外包。

 

    关于“内部云”(“internal cloud,”)是指在组织内部为用户和系统提供的服务,业界有很多讨论。当然,内部云的美丽之处,是它们对应用和数据有了更多的控制。很显然,SOA的天然角色,是作为任何新出现的内部云的骨干。作为该角色的一部分,期望看到SOA在网格计算和虚拟化中扮演更大的角色。对外部而言,更多SOA初步行动将把防火墙之外的服务即一种应用功能的“微型外包”(“micro-outsourcing”),纳进来。

 

    4) 对数据元素给予更多的关注。

 

    公司有可能肯下大力气来精简和优化(商业)过程,但通常忽略了过程中数据流的质量和存活性。这导致了过程和SOA的失败。是到“分析竞争”(“competing on analytics”)大放异彩的时候了,公司们将会更加关注SOA所服务的数据。

 

    5) SOA世界将拥有更多的Web 2.0工具,并带来新的管理问题。

 

    Web 2.0和SOA实践的聚合意味着老问题有了更有趣的解决方案,比如商业智能收集(gathering business intelligence)。还有Mashup,它们中许多是在IT的大背景下由用户自己设计的东西,这将成为复合型应用程序的默认选择,用以从SOA化的系统内外访问服务。已经在SOA的管理问题上摔过跟头的组织,将会发现把mashups和其他Web 2.0化的活动规范到什么程度是个问题。

 

    SOA治理比在传统环境中的治理更重要,因为当机构采用SOA的时候,他们一般都是从一个包含少量大型的、静态的和捆绑良好的应用程序和系统的架构转向许多小的、容易访问的业务服务环境。SOA的主要好处,如服务重复使用和增强的业务灵活性,意味着这些较小的业务服务之间的关系及其对业务的影响非常复杂,很难掌握和控制。如果做错了,SOA很快就变成混乱。

 

    SOA引进了许多独立和装备在一个容器里的活动组件。这些组件在整个企业范围内广泛地重复使用,是重要任务商务流程的一个重要组成部份。当一个服务改变时会发生什么事情?你如何保证你消费的服务是高质量的?如果一个混合服务的子组件撤销之后会发生什么事情?你如何保证一项新的服务符合IT、业务和管理政策?你如何确保一项服务预计的运行时间?这些问题都说明了SOA的需求。这是有关管理服务的质量、一致性、预测能力、变化和相互依赖性的问题。这是有关把面向服务的灵活性与传统的IT架构控制结合在一起的问题。

 

    SOA广泛应用的一个重要挑战是虽然服务质量的管理是极为重要的,但是,有关质量的信息必须要有效地沟通和衡量。质量第一次必须要向消费者证明和说明以获得消费者的信任并且创建一个有效的共享的服务环境。

 

    考虑SOA中信任的重要性的一个有用的方法是考虑eBay等消费者市场的例子。匿名的购买者和销售商在这个市场结合在一起并且迅速建立某种程度的信任,尽管他们都是匿名的。根据基本的经济理论,一个市场需要信息有效地发挥作用。信息是任何市场的生命线,主要是因为信息能够让买主和销售商做出明智的决策,并且提供建立信任的基础。eBay网站上的购买者和销售商根据信息进行交易。购买者只有在知道提供了什么产品、销售的条款和条件、销售商的信誉等信息之后才做生意。同样,销售商要及时得到购买者支付能力和意愿。在这方面,SOA是没有区别的。SOA没有信任就不能取得成功。如果消费者不能确认质量、可预见性以及条款和条件的透明度,消费者就不能重复使用这些服务。按照同样的方式,在不理解和不控制访问、配置和可重复使用的服务的整个适应性之前,机构不应该鼓励使用这些服务。

 

    紧密耦合的系统定义在应用程序环境中的治理和控制。SOA以不同的方式表明应用环境是不同的和一直在变化的。这意味着治理必须在不同的抽象层次上进行管理,在服务本身上进行管理。政策需要从代码中提取出来并且作为与它们有关的元数据。使这个事情更加复杂的是这样一个事实:在松散耦合的世界,变化使是一个常量并且在增长。松散耦合的架构可能包含数百个根据自己的独特额生命周期发展和变化的服务。随着这些变化同时发生,一个IT机构如何识别和管理这种潜在的影响和变化的相互依赖性?这是SOA治理领域的一个关键。

 

    担负开发SOA治理流程任务的企业设计师面临的挑战是为那些管理严格足以保护这个业务的服务创建一个开放的市场。但是,过于严格的管理可能造成应用失败。服务需要能够被轻松地访问并且显示出是可信赖的。但是,如何和什么时候重复使用或者修改这些服务需要认真地控制。

 

    全面的SOA治理的标准

 

    企业对治理打折扣,把治理当作一种可以选择的、最好拥有的、或者是SOA后期阶段的事情,是一个错误。治理必须与最初的SOA部署一起部署,提供这种框架、流程和推出健康的和高效率的SOA的做法。一旦SOA的实施达到一个新的成熟水平,机构就不能简单地在实施过程中进行治理。在SOA环境中,治理不是在成功之后,而是治理带来成功。

 

    SOA治理必须把重点放在建立一个框架方面,以保证服务质量,在服务提供商与消费者之间建立信任,因为这两个单个的服务和整个服务网络在他们的整个生命周期中都是在进步的。没有适当的治理战略或者基础设施,机构在推进SOA计划的时候将遇到障碍。

 

    我们找到了全面的SOA治理的三个广泛的标准:

 

    引起机构的兴趣

 

    治理需要有权威,需要机构接受。创建一个SOA卓越中心是把SOA治理、质量和和管理与生命周期服务集成在一起的一个可行的方法,以便计划、实施和管理你的SOA计划。它把一个决策机构中的关键的业务和IT股东结合在一起,提供一个灌输一致性和控制的机制。它提供方法、技术专长和一套统一的工具以支持一个标准化的SOA基础设施,鼓励和强制实施新的开发方式和运营程序,监视SOA应用、服务使用率和整个业务结果。

 

    最佳做法自动化

 

    SOA就是采用不同性质的东西,利用资源和充分利用现有的IT资产。SOA不是全部淘汰,重新构建。SOA不要求使用一套技术采用一种方法做一切事情。然而,SOA要求用一个强大的基础保证可见性、信任和对SOA治理的控制,自动化和管理治理流程。

 

    SOA最低限度要求创建一个系统记录,提供有关服务的全部信息的一种规范的资源。它需要一种方法管理服务的整个生命周期,让服务提供商和消费者能够签署合同并且签署如何重复使用服务的协议。它需要一个管理业务和IT政策的方法,把这些政策与正确的服务关联起来并且在运行时间强制执行这些政策。开发人员必须在整个机构中采用治理技术创建服务、企业架构管理流程。这些服务的消费者也可以采用这些治理技术。他们必须向不同的股东提供有意义的信息和内幕情况。

 

    支持扩展的企业

 

    SOA承诺的好处之一是它能够填平技术和商务流程之间的鸿沟。这个鸿沟把“扩展的企业”中的业务部门、合作伙伴、供应链和客户隔开了。要实现这个目标,SOA治理必须不依赖中间件软件和平台支持多种多样的IT。这需要一种开放的和基于标准的方法,让治理解决方案共享信息或者兼容其它的SOA技术。SOA治理不能与一个单个的厂商捆绑在一起。支持一个产品生态系统和支持的技术的标准与技术规范能够让SOA治理更容易实施、集成和随着应用的加速而扩展。

 

    随着机构评估如何开始自己的SOA转换,一个诱人的集中的地方是治理领域。通过建立一个与机构衔接的治理基础,提供最佳的做法并且提供对扩展的企业的支持,从SOA计划中获得可以衡量的业务成果是非常可能的。

 

    SOA现在很火爆,每个人都在谈论它是如何从根本上改变应用建立、数据访问和与伙伴进行沟通的方式。SOA所带来的好处已是众所周知。但是在这波SOA革命的浪潮中却有一个被忽略的问题。

 

    保障SOA安全性的方法

 

    SOA 安全网关:网关为进入企业的XML流量提供了一个代理,并运用安全策略来确保某种形式的请求与验证。

 

    SOA平台:在为SOA应用提供管理的同时,平台在验证和授权方面也提供了一些基本的安全保护。

 

    SOA容器:最终每种应用都将直接建立自己的安全功能来保护数据安全。

 

    在反垃圾邮件方面,部署安全最有效的地方就是网关。而对于SOA来说却并非如此简单。你需要结合上述所有的方面来进行部署,并要根据你对企业SOA环境的评估来具体决定。

 

    那么,如何才能找到保护SOA应用的最佳方法呢? 你可以借鉴企业解决网络访问管理(WAM)问题来提高互动状态的方法来保护你的SOA。

 

    早期的大型网站都偏向于直接在网络应用里建立自己的验证和授权技术。 在当时这的确很有效,也能提供根本的保护。但很快这些应用就变得越来越复杂,在管理上也变得越来越困难。因此企业开始部署独立的网络访问管理(WAM)产品。现在许多大型网站都已将WAM作为整体架构的一部分。

 

    同样的故事也会发生在SOA身上。许多企业都从SOA网关入手来拦截基于XML的恶意软件和未经授权的应用请求。由于其易于实施,这可以说是一个很好的切入点。

 

    由于在企业SOA部署的早期阶段都已包含了这些应用,因此他们可以利用已有的平台或容器服务来快速有效地完成任务。可遗憾的是,这种解决方案并不是长久之计。它的成效会越来越弱,届时就会需要一套更为专业的SOA安全保护来将所需的安全要求具体化。

 

    这给了目前那些从事WAM管理的厂商一个近水楼台的机会。 这些厂商都热衷于在他们现有的WAM平台(或基于现有的WAM平台)上建立新的网络服务和SOA功能来支持这些新的应用架构。

 

    随着时间的推移,SOA的安全保护将会更加具体化,因为这是唯一能够保护SOA所固有的灵活性和它所创造的无限运算环境的方法。


第二十九届CIO班招生
法国布雷斯特商学院MBA班招生
法国布雷斯特商学院硕士班招生
法国布雷斯特商学院DBA班招生
责编: