企业架构的技术驱动:SOA

日期: 2012-01-15 来源:TechTarget中国 英文

  IBM的CIO技术团队主席Dave Newbold认为,改善业务的交互、保证业务数据的正确与可访问性是未来几年CIO们必须思考的两个主题。很显然,在来自市场的驱动力不断变化且不可预测的环境中,那种在大多数企业中现行的、由软件厂商驱动、以功能实现为核心的IT建设思路将无法为此给出答案。无论是运营管理者还是IT规划者,现在都必须意识到“企业架构”的优劣对企业成败的决定性作用、以及“业务与IT统一”这一精髓,这将给大多数企业的IT规划者带来巨大的挑战:一方面,IT工程师需要充分理解运营者关于“业务架构”的构想,并在“信息架构”和“应用架构”层面上充分地参与其中,以响应运营者的各项关切,并为端到端的业务过程赋予必要的弹性;另一方面,除了未来的新的IT软硬件设施的部署,IT工程师还不得不考虑对旧有IT基础设施的优化与改造,使之符合“信息架构”与“应用架构”的各项要求,也就是建设合理的“技术架构”。这两是两项看似相互孤立的任务,将极大地加大IT人员的负担,显然,应对新挑战需要新技术,而且某些需求看起来要更为迫切:企业那些五花八门的IT技术组合必须具有更高的效率、更高的生产力以及更高的敏捷度,换言之,“技术架构”必须具有端到端的、一致的数据转换规则,必须支持更好的代码重用,SOA正是因此而流行。

    SOA并不是新鲜事务,在早期的大型机应用系统上,很多程序专家们就已经在松散耦合、复用和未来变化方面考虑得十分周到。UNIX Shell也是一个典范:一组有限的、但设计精巧的、被称之为过滤器的小命令如cat、grep、sed、awk等能够利用管道、输入输出重定向以及Shell提供的分支、循环等逻辑组合在一起,“拼装”成各式各样的、用于完成不同的任务的更大的应用。Shell这一特性的实现缘于UNIX基于文本的约定:标准输入和输出中的内容被过滤器程序简单地理解为由特定字符分割的文本行和列,这样,无论过滤器程序由何种编程语言编写,他们都能够对管道中的内容作出恰当的相应处理。另一个关于“松散耦合”的示例是Windows平台上的ActiveX自动化:ActiveX组件实现了一个名为IDispatch的特殊接口,其中的Invoke方法允许通过一段包含了操作名称和参数描述的文本调用组件上其它接口中的方法,这样一来,无论调用者还是被调用是否由相同的编程语言实现,两者之间都可以实现互操作、进而被简单地“拼装”在一起。一个典型的场景是:在Word文档中用鼠标双击一个位图对象,位图编辑器的菜单就被显示在Word界面中,这就好像位图编辑器就是Word的一个组成部分一样。UNIX Shell和ActiveX的揭示了“程序拼装”时一些有用的设计:程序之间应当采用独立于编程语言的数据交换约定(如文本),而且程序所提供的操作也应当独立于编程语言,例如采用文本来定义并调用。

    企业的“技术架构”远比运行UNIX或Windows的单一主机来得复杂,这涉及到跨平台的分布式计算环境,而且甚至要跨越地域或企业边界的分隔,所幸的是,Internet的发展为遗留系统向合理的“技术架构”转变提供了有力的支持。Internet作为最大、最开放的分布式计算系统,在Web以及Web Service名下汇集了软件技术领域中最广泛接受的标准,它们定义了异构系统之间实现通信的方法,使得跨平台、与编程语言无关的运算成为可能。今天人们所谈论的SOA已经与Web Service密不可分:它们用标准的XML语法来交换数据和操作(XML-RPC或SOAP),从而不受任何操作系统或编程语言的约束;这些基于XML的消息可以通过标准的基于文本的协议(包括HTTP/SMTP/FTP/BEEP)在互联网上传递,从而跨越地域的分隔;它们还可以用标准的XML语法实现自我描述(WSDL),这样,客户端程序使用一种基于标准的XML语法的查找机制(UDDI)就能发现并定位它们,进而正确地调用其中的操作。现在,企业的IT遗留系统可以用Web Service加以封装和改造了,这些原本封闭、孤立的IT“竖井”被改造成标准化的可拼装组件,并呈现出一致的风格,而这种标准化和组件化特征正是好的“技术架构”的基础。

    事实上,基于Web Service的SOA不仅仅是提供了遗留系统的封装和改造能力,更重要的是它提供了把业务数据和操作从具体的、由供应商提供的IT实现中剥离的能力,从而使真正建立与实现技术无关的“信息架构”和“应用架构”成为可能。一个在许多企业中都存在的现象是:CEO往往被企业的IT战略所困扰、或者不得不置身事外,若分析其原因,则无非是一个普遍存在的矛盾:尽管信息化建设被称作是“一把手工程”,但事实上绝大多数的一把手既不是IT专家,也没有多少精力去了解IT技术的细节。

  CEO们思考的是如何理顺企业的过程和人员,使一切资源都围绕客户价值而协调运作,这一思考的结果事实上就是企业的“业务架构”;与CEO不同,IT主管思考并向CEO汇报的却是ERP或PLM之类应用系统的功能体系、技术优劣,这却是IT基础设施、即“技术架构”的范畴。很明显,在CEO和IT主管之间存在着鸿沟,运营战略与IT战略存在严重的脱节。如前所述,在良好的企业架构中,“信息架构”和“应用架构”是统一业务和IT的关键所在,而这恰恰是CEO期望关注、却往往是IT主管因各种原因无法涉足的部分。Web Service和SOA思想为填平这一鸿沟提供了技术上的可能:IT主管完全可以、同时也必须参与到“业务架构”活动中来,具体而言,就是明确其中的物流、信息流以及人员的交互并使之标准化、组件化,从而建立企业的“信息架构”与“应用架构”。由于IT工程师与运营管理者将面对同一应用领域、因而在协作中完全可以使用相同的“面向业务”的语言,确保“信息架构”和“应用架构”能彻底满足来自运营方面的关切;同时,Web Service标准的、基于XML文本的规格描述,则天然地适用于记录“信息架构”和“应用架构”的结果(各种组件),而且借助Web Service从具体技术实现中剥离数据和操作规格的能力,此时的“信息架构”和“应用架构”已经完全不涉及具体的技术实现细节。在获得了由Web Service规格所描述的“信息架构”和“应用架构”后,IT工程师可以专注于他所熟悉的求解域,即考虑Web Service的实现了,他不必担心选择的技术或IT供应商会偏离业务,因为这已和业务无关——组件的规格已经完全符合业务方面的要求。

    这就是SOA的真正价值:不仅仅是改造遗留系统,SOA还真正为“信息架构”和“应用架构”提供了一种规范,它能在业务语言和IT语言之间建立映射,“业务架构”和“技术架构”被真正统一到了一起。在很多现代企业中,CIO正逐渐成为举足轻重的人物,这显然不仅仅是对他们IT技术专家这一身份的肯定,更为深刻的背景是,绝大多数处于行业领导地位的企业都已经意识到企业架构与IT架构的是同一事物在不同方面的呈现,因而只有IT人员的充分参与,才能真正构建客户所期待的价值传递过程。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 把软件架构演进体现在栈上

    曾几何时,企业架构师要为了得到承认和支持而抗争,但这种时候正在过去。大多数企业现在已经意识到实现业务流程中敏捷性和效率需要业务目标、人力资源以及信息技术的结合。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。