实现面向服务的架构SOA

    |     2015年7月12日   |   文库   |     评论已关闭   |    1094

||2004-10-11


面向服务的架构(Service-Oriented Architecture,SOA)是每个企业都想努力实现的一个架构。然而,通向SOA的路径仍然十分模糊,架构承诺实现的目标也遥不可及。尽管如此,逐步向SOA靠近还是有可能的,这个过程中花费的成本和努力也会得到应有的回报。


META预测,到2005年,一组SOA架构原则将在整个IT领域内扩散开来,它的表现形式有面向服务的业务架构、面向服务的安全架构、面向服务的管理架构等。到2006年,SOA将成为一种被广泛接受的元数据互操作架构,因为它强调互操作标识符、格式(信息模型)和协议(流程模型)。到2007年,应用将以SOA的动态、可扩展、联合互操作性原则为基础,通过基于XML的技术(如Web services)实现。


SOA是对组织设计业务系统及其支持系统的方式的大变革。这种改变不仅会影响应用系统,也会影响公司的角色和责任设置,影响建立应用系统所用的工具和技术。面向服务看上去似乎很难实现,它所描述的前景(高适应性的服务通过某种模式与业务流程建立联系,而且这种连接方式是业务人员能够理解的)似乎远远超出了现有系统和组织的能力。许多供应商和公共媒体在宣传SOA的时候,都只描述了它的最终愿景,这样企业就很难为SOA做路线图计划。


但是,还是有很多企业做好了实施路线图,它们正逐步向SOA靠近。虽然这些企业的举措并非都一模一样,但它们的路线图中有很多相同的活动。这些活动都在一般企业IT部门的能力范围之内,它们将快速地实现一些好处。虽然这些步骤不是真正的面向服务的,但下列活动能够实现面向服务的一些好处:


·组织必须开始创建服务,并使用基于模型的开发技术:SOA一个引人注目的特性就是它使用模型来创建应用和系统。由于服务完全是由它们的元数据来描述的(这是当前的理论,但正在投入实际),因此我们可以通过按预定顺序连接服务来构建系统。当然这种顺序本身(以及相关的扩展逻辑)也是可以用元数据来描述的。创建控制服务调用顺序的元数据的这个过程被称为“编制”。这种编制通常被认为是一个模型(比如说,模型是顺序元数据的可视化)。因此,编制通常与业务流程建模能力相关联。用于创建顺序元数据的模型是业务流程模型,因为它们安排了对象、时间、人员的顺序。业务流程执行语言是实现模型互操作的标准。


对于SOA来说,使用业务流程建模及其执行工具是一个良好的开端。系统中使用这类模型的部分相对比较容易构建,修改也比其他方式(比如基于代码的)要方便。但是,我们不可能期望现有的大部分系统和应用是按照这种方式按照准确的粒度来提供服务的。在早期的实施过程中,这种现状会影响使用基于业务流程的系统创建新的应用,影响应用之间、系统与手工流程的集成。业务流程建模还没有成熟到能够代替代码来描述组件和服务之间的大部分交互。


·企业必须建立通用服务参考对象、服务范式、系统设计的标准:要建立业务层次的服务,最常用的做法是围绕通用服务参考对象创建服务。选取哪些对象要根据企业与行业情况确定。但是,对于针对客户和产品的对象已达成了共识。基本的对象几乎包含在企业的每一个流程中,因此它们几乎出现在企业使用的每一个系统中。创建一组基本对象的通用定义(名词)和一组定义好的服务(动词),这组服务将确定对象的使用方式,这样企业就可以接受实际对象的分散化实施,并通过服务来补救这种实施的不一致性。使用的模型应该按照联合数据原则建立。应该建立一个一般的数据模型,然后由各个组根据自己的需求对这个模型进行扩展,但扩展的方式应该保持元素间最低限度的一致性。这个过程并不简单,但它是多个集成项目自然会产生的结果,它能够通过增量方式实现。用于创建此类服务的技术通常并不复杂。更为困难的一个问题是,如何创建企业对象选择和对象定义流程。


·企业必须使用基于标准的机制进行集成:除了建立基本参考对象,企业还需要一个基础设施支撑此类服务在应用环境中的使用。这个基础设施可以是基于Web Services标准的,这样有利于以后进行技术升级。这里必须说明的是,基于标准并不是指“公开源代码”或“自由”。大部分企业会从集成产品供应商那里购买基于标准的集成实施。


·企业必须使用合适的标准来降低技术依赖性:除了基于标准的集成机制,企业还应该制定其他所有想得到的标准。对于集成机制,企业可以使用SOAP消息来隔离特定的数据传输问题。这将保证传输基础设施的变化对编程的影响降到最小。同样,企业可以使用XML来简化多个组件的编程。消息应该根据现有的公共标准或内部标准进行编制。


·企业必须建立具有互操作性的中间件平台:我们的目标是要建立一组一致的服务,它们是通过一系列技术建立起来的,将通过多种工具和框架实现对服务的访问。在大多数企业中,要达到这个目标得花上一段时间。但是当企业在计划它们的应用配置时,它们应该考虑减少架构中的中间件数量。企业应该将能够为类似应用服务的系统组合起来,或者直接从供应商那里购买预先集成的系统。大多数情况下,这些系统都有标准的产品(如应用服务器、集成服务器、门户框架)。企业应该为未来的系统开发定义一组技术平台。由于不同类型的应用可能需要不同的系统,在这个平台之上做一些变动也是有可能的(也就是说,某些应用可能不会使用内容管理系统或网络商务系统)。但是,企业要对这个平台进行战略指导和治理,这样才能创建更加可重用的范式、组件和服务。


企业要向SOA发展,必须开始创建服务和使用基于模型的开发技术。它们必须为服务与系统设计建立通用服务参考对象与范式的标准。企业必须使用基于标准的机制进行集成,制定合适的标准以降低技术依赖性,并且要建立一个具有互操作性的中间件平台。

AMTeam.org

责编:admin

转载请注明来源:实现面向服务的架构SOA

相关文章

噢!评论已关闭。