首页 > EA > 正文

企业架构的技术驱动:SOA

2011-12-09 13:35:54  来源:CIO时代网

摘要:“技术架构”必须具有端到端的、一致的数据转换规则,必须支持更好的代码重用,SOA正是因此而流行。
关键词: 企业架构 SOA
    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人员的充分参与,才能真正构建客户所期待的价值传递过程。

第三十四届CIO班招生
北达软EXIN网络空间与IT安全基础认证培训
北达软EXIN DevOps Professional认证培训
责编:fanwei

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。