2009-03-20 09:06:39 来源:计算机世界报
什么样的企业IT架构是理想的?在很多新技术不断涌现的今天,企业用户似乎有了越来越多的选择,但是更多的选择在有些时候也可能会意味着无所适从。新技术到底带来哪些新的企业IT架构模式?不同的架构又会为企业带来什么?未来的架构会是什么样?
《InfoWorld》的编辑和记者对目前主流的企业IT架构模式进行了简单的分析,并将其分为7类:以数据为中心的架构、流程驱动架构、面向服务的架构、基于需求的架构、安全的架构、轻便开放的架构以及无时无处不在的架构。
这样的分类不能算是很严谨,但它代表了一种趋势:企业用户对IT架构的整体规划意识越来越强。事实上,企业架构的搭建已经日渐成为企业信息化的基础,从前东建一个系统、西开发一款软件的企业IT系统搭建模式已经成为过去,就像软件开发从最初的作坊式开发发展到今天的软件工程一样,企业IT架构的规划也将是一项系统工程。
尽管不同的企业会根据自己的实际情况采用不同的新技术,SOA(面向服务架构)、ILM(信息生命周期管理)、虚拟化都可能是它们的技术外衣,并据此形成不同的企业IT架构模式,但在所有这些不同的背后我们还是能够找到它们的共通之处,即它们的本质驱动力都是来自业务驱动。CEO和CIO们也从来没有像今天这样对企业架构产生如此大的兴趣。几年前85%的架构工作在物理层和逻辑层,但现在50%转移到了业务层面,这种向业务驱动的转变是未来IT系统的一种特征。
以数据为中心的架构:强调数据一致性和质量
以数据为中心的架构不仅要保证IT系统内数据的一致性,更重要的是要提高数据的质量。
在信息时代,数据只有转化成有用的信息之后才能体现其价值,而要达到这个目标,首先要能够集中处理来自多个数据源的数据,其次数据质量也要有所保障。企业管理层在进行决策时总是希望获得更多信息,无论它们是来自企业业务系统还是文档、内容管理系统。另一方面,如果来自多个数据源的数据总是不一致,不仅会导致更高的维护成本,而且一旦使用了过时数据必然会限制业务流程的实施速度并妨碍流程自动化的实现。事实上在实际应用中,有太多信息封闭在相互独立的系统中,全面获取正确的信息并非易事。
对于许多大型企业用户来说,以数据为中心的架构最初是出于对企业核心地位“基本数据”的管理,即确定客户、产品、雇员和其他核心参考数据的特征和属性。在一个全球化的大企业中,客户或产品数据一般分布在几十个甚至数百个CRM、ERP以及其他系统中,而这些系统通常来自不同的厂商。
而且每套数据通常都是针对工程、销售、市场等特定业务需求以及特定区域定制的。结果,企业从上至下呈现的是一个四分五裂的数据海洋,从而不可避免地会在运用商业智能(Business Intelligence,简称BI)时导致错误结果。因此IBM、甲骨文、SAP、Siebel等软件供应商推出了一系列基本数据管理解决方案,兼有发布和预订机制、规则可配置的流程自动化控制以及一个协助数据经理协调不同数据系统的知识库。而有些干脆是在原有的应用系统之上增加商业分析功能。它们的目标都是为了建立一个规范的基本数据集,并将这个规范的数据集推向遍布企业的各种数据库。
在抽取来自不同数据源的数据的同时,确保数据质量是另一个重要问题。因为用户在最终拿到数据之后要基于它们进行分析得到有用的信息。
除了控制基本数据,企业用户还需要在结构化和非结构化数据系统之间建立联系。XML、SOA、企业搜索技术使得建立这种联系更加容易,成本也更低。越来越多的工具可以把面向SQL、面向对象、面向内容的存取方法以及企业搜索技术结合起来,在各种关系数据库、XML存储系统、大型机、文件服务器、内容管理系统,甚至电子邮件系统中实施查询操作。
这样一来,企业决策层不仅能够看到各种业务系统中可能存在的流程问题,而且企业搜索系统随处可查的动态查询功能还能增强传统BI系统的能力,将尚未装载到数据仓库中的实时数据也纳入BI系统的挖掘范围。
有分析师认为,这种通用的搜索和报告方法最终将导致数据仓库的淘汰,其中的关键在于能够同时存储关系型数据和XML数据的数据库技术。
通常为了分离OLAP或数据挖掘应用,人们必须进行数据装载、数据净化、数据卸载、重新格式化数据等复杂的操作,服务器的数量和复杂度也成倍增加。但将来软件供应商会试图把系统简化到只有一个核心的数据库或类似的产品,它能够在数据库引擎内直接处理所有任务。
当然,完全实现基于服务的信息和通用数据存取尚需时日,OASIS和其他标准组织也正在针对一些垂直行业以及这些行业之间的信息互通制定各种规范,以便不同系统能够更有效地通过XML来共享信息。
要利用有用的信息,企业用户必须着眼对全局的了解。以数据为中心的企业架构正是试图从全局的角度提供完整、一致、准确的信息。
流程驱动的架构:关键是更灵活
业务流程是企业业务的核心所在,在以业务流程为中心的基础之上,企业还必须使业务流程的实现更加灵活,以应对外界的变化。
看看那些悄悄进入企业架构领域的缩略语:BPEL(业务流程执行语言)、BPM(业务流程管理)、BPO(业务流程外报)……你就会发现在重视效率、新产品上市速度和法规遵从性的今天,“业务流程”的概念正大举进入IT的总体架构中。
事实上在设计每一代架构时,所抽象的层次是越来越高。以业务流程为中心的架构中的抽象级别是虚拟业务流程。业务流程是企业业务的核心所在,在以业务流程为中心的基础之上,企业还必须使业务流程的实现更加灵活,以应对外界的变化。所以企业的IT部门需要改变以往从面向独立交易单元效率的角度或其他资源驱动的角度去开发、优化和管理系统,而换之以从端到端业务流程的角度去管理系统。
一些典型的端到端流程包括:订单至现金收入、采购至付账、产品开发与人力资源等。在这些流程中还存在大量子流程。另一套重要的流程是IT系统自身的工作流程,如同ITIL(IT基础设施库)框架所描述的那样。通常企业会把IT投资集中用在改善对企业具有最大影响力的流程上。如在汽车行业把产品设计时间从3年缩短到18个月。
从业务流程的角度设计IT架构需要做些什么?首先IT部门必须从确定流程战略开始,然后是定义和设计流程,接着是执行。其中定义流程是关键,通常所能实现的IT功能的自动化程度取决于客户对其流程认识的清晰程度。其次,IT部门必须能够在抽象层上对流程驱动的架构建立模型并实施该架构,以在流程变化时能迅速适应,给企业带来更大的灵活性。
软件供应商都在力图打破IT与特定资源结合在一起的束缚,就好像这些资源是组合在一起表示业务流程的、面向对象的组件一样。因此各种软件供应商都在设计适合各种现有环境的BPM工具,以从资源和工作流的角度协助对关键业务流程的性能建模,并对其进行优化和监视。这些工具通常靠Web服务或类似接口在整个环境中实现端到端的连接,以支持端到端的业务流程,而且大多数工具都支持新出现的Web服务标准。
与此同时,IT架构还必须纳入有关流程的最佳实践知识,例如各种预置参考模型和流程模型,它们就像一个流程工程,把各种最佳实践组合起来,放在流程驱动的架构中。
安全的架构:要尽早考虑安全问题
从一开始设计时就应全方位地考虑安全问题,而不是等系统建好以后再追加安全功能。
由于企业网络边界日趋复杂,应用级安全威胁越来越难以应付,各种法规又要求CIO们保证公司数据的安全,所以随便给网络添加一堆安全技术来保证安全已经不再行得通。如今对于安全,企业用户的做法已不再是跟踪最新安全威胁动态,而是直接确定核心业务流程以及实现公司目标必不可少的信息资产,并直接保证这些流程和资产的安全。
实际上,安全问题已经深深融入到业务流程和基础设施中去了,可能会有那么一天,由于安全功能太普遍,以至安全技术不再有必要作为一门单独的技术类别而存在。无论你在企业中做什么工作,你的职责都可能包括信息安全部分。
如果说有什么东西让传统的网络安全边界失效,那就是网络信息存取越来越不受时间和地点限制了,这样的信息存取活动越来越普遍。过去,各公司的雇员总是随身带着笔记本电脑,用VPN进行远程系统操作。但是随着SSL VPN的出现,雇员们现在可以用家中的计算机、其他公司的计算机、提供计算机的小亭子甚至网吧中的计算机访问企业网络。在这种情况下,一个简单的间谍软件可以轻易捕获使用者的口令并将其发送到攻击者手中。而且远程办公人员常常与家人共享家中的计算机,所以孩子在下在音乐文件时的小疏忽就可能导致机器被感染,进而损害到企业网。
与此同时,企业还要尽量考虑到业务外包、与合作伙伴联网以及Web服务增长可能给网络安全带来的负面影响。毫无疑问,Web服务应用削减了传统防火墙的价值,因为各公司必须向外界提供数据。随着越来越多的应用层活动作为合法的端口80信息流穿过防火墙,各公司已经开始采用考虑了应用层问题的入侵检测解决方案,并开始考虑战略性地放置应用层防火墙和XML防火墙,以保护一些敏感数据。事实上这些功能正越来越多地融入到传统防火墙解决方案中。
有分析家预测,到2006年,如果有人购买防火墙,那么他还会购买入侵检测系统。还有预测认为,XML和Web应用安全功能将融入内容过滤产品。
在Web服务技术和各种法规的推动下,对端到端企业身份认证解决方案和联合身份标准的需求也在逐步增长。这些解决方案和标准可帮助不同的机构之间建立相互信任关系。尤其是身份管理的集中审计功能,正在成为实现法规规定的重要工具。
传统的台式机和网络管理解决方案越来越多地承担了程序修补管理和其他安全功能。随着PC技术和Web服务器不断纳入各种设备,台式机和网络管理解决方案也可能成为企业安全战略必不可少的组成部分。例如,思科这样的交换机厂商正在把安全功能加入到主流网络硬件中。
值得一提的是,企业在开发和部署IT系统过程中正在更早地考虑安全问题,外部代码审查以及脆弱性和穿透性测试也更加普遍。也许随着安全考虑无处不在,“安全”这个术语将会逐渐“消失”。
轻便开放的架构:新型IT系统的口号
轻便便宜的组件和开放源码软件是各种类型企业用户攻克大量难题的武器。
在20世纪70年代流行这样一种说法:“买IBM的产品准没错儿”。那时,大型机为王,而且说到大型机几乎就是默认为IBM的大型机,当时企业软件涉及的都是非常大的合同。那时候自由软件基金会这个想法还没影儿,购买全套企业应用软件意味着一个昂贵长期的合同,对用户来说,最好是选择能够找到的最大(因而也是最可靠的)厂商来提供产品。
现在情况已经发生了很大变化,随着市场规模不断扩大,在传统企业用户之外出现了大量中小企业和新兴行业用户,它们的价格门槛各不相同。当然像IBM这样的公司仍然试图用自己的技术满足每个企业的IT需求。
这类非传统企业用户的共同之处是,它们都需要比传统的单个大型IT基础设施更高的灵活性和敏捷性。如果能够降低 IT支出,这些企业也不怕冒险。较小的企业不会花钱去购买一套大型软件,而其中可能很多功能永远都不会用到,尤其是预见到市场情况会发生变化时,就更不会将大笔预算花费在大型软件身上了。
而且不仅是中小企业和新兴行业的用户具备这样的特点,越来越多的大型企业用户也开始要求低成本和低开销的灵活架构。出现这种趋势的根源是,业界涌现出了大量成熟开放的技术标准。开放标准在某些软件领域实现了同类产品的互操作性,为用户自由选择不同厂商的产品提供了方便。这些标准还为开放源代码社区提供此类开放源代码软件打开了方便之门,从而进一步降低了客户的IT系统成本。
在很多情况下,开放源代码都被看做是开放标准的推动力。一个标准只不过描述了一种公用协议或格式,但开放源码软件却给标准注入了生命。
用开放源码和开放标准来安慰关注企业IT系统敏捷性的客户,并非仅仅IBM一家大型软件供应商,HP、 Novell、甲骨文以及很多其他公司也都已加入到这一行列。CA公司去年开放其Ingres关系数据库源码之后很快就获得了双重好处,让这个以前只是稳定、可靠但并不算知名的产品焕发了新的光彩。在Ingres数据库的源码开放之前,要让数据从现有数据库中取出来放入其他类型的数据库一直很难做到,但现在CA不仅让客户看到数据库迁移的成本真的降低了,而且还充分享受到了开放源代码社区的好处。开放源码界对Ingres的第一个重要贡献是提供了一个引擎,使其能够理解甲骨文专有的PL/SQL查询语言,这样一来,甲骨文客户向Ingres迁移应用程序就容易多了。
事实上,向开放、标准化和灵活发展的趋势不仅限于软件。例如在硬件方面,用户正在远离功能强大的大型单机,而采用由低成本服务器组成的可扩展的集群,使用英特尔处理器的1U机器和刀片服务器都是这种低成本系统。像Google的数据中心就是由数万台PC服务器和容错软件组成。
确实,IBM仍然在销售大型机,但是自20世纪70年代以来,它的销售策略有了相当大的变化。现在,IBM zSeries机器除了提供z/OS,还运行Linux,大型机处理器单元也成了在类似集群配置的环境中用IBM z/VM虚拟化软件迅速实现虚拟服务器的工具。
从数据中心到台式机,可扩展性、灵活性、开放性和标准化已经成为新型IT系统的口号。
面向服务的架构:下一代企业架构
SOA被认为是下一代的企业IT架构,各企业正在利用SOA模型为更加高效灵活的未来IT系统奠定基础。
很多人第一眼看到SOA(面向服务架构)时会认为,要理解和应用SOA的各项法则必须首先就“服务”的定义达成一致,但实际上始终没有达成这样的一致,而SOA照样为越来越多的企业用户所接受。事实上之前“对象”和“组件”这两个推动了前几个阶段软件发展的概念也一样难以给出清晰的定义,SOA并非首开先河。
ObjectWatch的首席执行官Roger Sessions在最近的文章中建议,把这3个模型都看做是为实现重用而对代码进行组装的方法,它们的区别是代码在哪里运行以及如何运行。“对象”共享一个公共操作系统流程和执行环境,如Linux、Windows、Java、。NET等;“组件”存在于不同的流程中,但共享一个环境;“服务”则既跨出了流程的边界,也超出了环境的边界。
Web服务和SOA的运行环境就是Internet。10年前,编程人员开始采用Web公共网关接口(CGI)来发布和使用服务。今天我们设计和实现服务时仍然以此共有的技术遗产为基础,SOA在两个方面发扬了这个传统,一方面是数据表示,另一方面是数据通信。
毫无疑问,XML是数据表示的通用语言,但在如何使用这种通用语言上却存在激烈的争论。例如XML Schema(XML概要)这个可选功能成了两种不同做法的分水岭。可互操作的服务需要严格的数据定义吗?抑或它们需要的是一种模糊状态?答案是两者皆可,视不同时间、不同方式和不同用途而定。
在SOAP和WS-*系列规范的世界里,XML Schema一般管理服务之间的合同。如果代表一份购买订单的XML文件不是有关Schema的有效实例,那就该发出报警信号了。有了XML Schema,任何流程,无论在哪里运行,甚至是离线运行,都能执行这种有效性检查。不符合Schema的内容怎么办?今天这类数据是通过电子邮件传递的。电子邮件系统对这些数据进行不了太多操作,因此关键是定义能够携带任意XML内容的Schema,以便人们能够“抓住空档匆匆写就一些东西”。同时,不要忽视企业中日益增多的XML数据,这些数据没有,可能永远也不会概要化,其最好的例子就是RSS。RSS为我们提供了一种轻便和通用的方法,方便我们交换、路由并重新组合各种内容。今天用电子邮件在人和流程之间建立联系的应用,几乎每个都能重塑成面向RSS的服务。
但另一方面不该忽视的是,WS-*系列标准将很多数据通信的属性推进应用层,如安全性、异步性、可靠性、路由和代理等。在应用层,我们可以从业务的角度来判断这些属性,而不是作为网络通道来处理这些属性。
也有一批对这些技术保持悲观态度的人,他们认为这些概念已经被宣教了两三年,什么网格、企业服务总线、面向服务架构……太多的概念让人眼花缭乱。但是这些概念一定有相当一部分会存活下来,并在未来几年引发企业软件时尚。
基于需求的架构:清晰划分服务等级
根据用户需求向不同用户提供不同级别的服务并动态地恰当分配资源,是基于需求的企业架构的初衷。
把系统资源分配给固定用户的日子已经一去不复返,企业用户因为营收压力使得IT部门越来越像一个内部服务公司。在这种情况下,面对用户快速变化的需求和不同用户的服务级别要求,企业IT架构必然要保证系统做出更加积极的响应。
IT部门作为一个服务公司以及基于需求的服务级别管理这样的理念需要体现在IT架构中。现在企业架构设计领域压倒一切的趋势是SOA,它在某种程度上使得满足不同需求更加容易,因为可以采用一些标准协议来获取应用功能,而不必从头开始建立系统。另外,在规划SOA 时,也很难做到把所有各方现在和将来的需求都一一考虑周全,因此采用标准协议的方式就显得更加必要了。
例如,在医院的信息系统中,其无线基础设施支持4类用户:医生调用临床诊断结果和安排检查以及医疗工作时,可以享用最快的网络速度,并得到最安全的服务;病人使用同一个网络,但安全模式不同;此外该网络还支持无线VoIP和针对人员和设备的RFID应用,这两种应用都有自己的服务级别。在搭建基于需求的企业IT架构时,要做的就是了解需求,然后采用一种划分等级的做法设计并搭建系统架构,以满足不同级别的需求,毕竟不可能为所有终端提供绝对的最高级别服务和最高质量,因为资金预算有限。
还有些企业把这种做法推向了极至,它们的系统允许针对非常具体的内部用户或外部客户进行服务级别微调。例如,向在线客户提供详细分级服务,这种分级通常是由政策驱动的,可以动态实现,也就是企业界一直谈论的差别服务,从前的技术是做不到这一点的。
就内部用户而言,这种分级常常是基于角色的,并需要能够支持政策设置、规则引擎以及用量跟踪和计费的架构。在后端,这种系统要具有灵活性,能够扩展,或可以根据需求签约或者动态地调整负载,以尽可能无缝地向合适的用户提供级别恰当的服务。
足够好的基于需求的架构应该能够不断变化以满足内部和外部客户日新月异的需求,而不是以前那种单一庞大、如同登月计划那样的架构规划。架构必须内在地考虑变化因素,而不是持久不变。了解变化的驱动因素是什么,把所能理解的都充分落实到架构中,然后再不断根据需求变化进行修改。
无时无处不在的架构:随时随地获取资源
企业环境正在成为随时随地获取公司资源、应用和数据的环境,企业的架构也因此随之改变。
什么是无时无处不在的IT架构?问20个人可能会有20个答案。有些人会提到永远开机的无线和移动设备的迅速普及;还有些人会想到,数10亿微型IP连接传感器、RFID标签等产品即将大量涌现;也会有人从时间而不是空间的角度考虑,把无时无处的概念等同为24小时工作……
但是不管你怎样看待这个问题,最近的技术进步都推动企业进入了一个新的世界,要在这个世界中获得成功,至关重要的是能够随时随地访问人、应用和数据。很明显,企业的IT部门必须从头设计一些系统,并从一开始就把这些需求考虑进去。
医院的CIO正努力争取其无线系统能100%地覆盖整个医院,以便临床医生们能随时随地访问数据,他们是真正的移动知识工人。移动软件供应商则在IP将无处不在的假设下建设各种移动网络。像Wi-Fi、Wi-Max、3G、2.5G这样的技术实际上保证了业务能够永远连通,虽然这些技术还不够可靠、廉价、安全和自由,但是这些技术随处可用,人们已经在这些技术上花费了巨额投资。
工作日的概念已经一去不复返,7×24推动着我们的企业IT架构必须继续向前发展。
在这种无时无处不在的未来架构中,所有东西都是可寻址的,所有东西的状态都是可以完全知道的。除了存在响应速度问题和容量问题之外,从企业架构的角度看,如果真的达到如此高程度的连接性,那么就会存在不同资源管理水平、状态理解水平、流程优化水平甚至管制水平之间的巨大差别,而且会有大量隐私和安全问题需要全力解决。
IT架构设计师该如何为这种即将到来的无时无处不在的未来架构做好准备?现在所有事情都在Web上做,所有事情都是中间件驱动的,无时无处不在的架构正是这种模式的副产品。而程序员们都将成为粘合专家,能把差别可能很大的各个部分粘合起来,使得整个系统看上去像一个集成产品。
换句话说,就是利用一个统一的后端系统为多种渠道、多种设备和多种格式服务。大多数CIO都想实现客户随时随地对企业资源的访问,而且这种访问要与企业内部运作过程一致。在这当中,移动设备并不是主要因素,用户不想部署定制化的系统,他们希望获得更高的投资回报,而实现这一目标的工具是标准的操作系统、Web服务和复合应用。考虑到全球部署需要不同的语言和针对不同地域的内容,所以XML转换技术应该置入架构中,不管是面向进行理赔的保险经纪人、在股票市场上进行交易的股票经纪人,还是房地产代理人,无时无处不在的IT系统都能以其下的中间件层为基础,为这些人进行定制,并以相当开放的方式转换和组装不同的组成部分。
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。