扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
企业中可能有许多数据,没有什么轻松的方法来集成和访问它们。如果采用了面向服务的架构(Service-Oriented Architecture,SOA),那么集成和访问数据就会很容易成功了。采用数据总线,使得将准确而一致的数据提供给需要的人得到了极大的简化。
这是BEA AquaLogic Data Services Platform的产品经理 Brad Wright经常谈及的内容。为了进一步了解将信息作为服务交付的内涵,Arch2Arch对Brad进行了专访。
什么是“信息就是服务”?
Jon:我们越来越多地听到类似于“信息就是服务”、“数据服务”或“数据虚拟化”这样的术语。这些术语都是什么意思?它们又是如何应用于面向服务的架构(Service-Oriented Architecture,SOA)的?
Brad Wright:所有这些术语都意味着以一种业务友好的格式将企业信息传递给整个组织内的消费者。它意味着在正确的时间以正确的方式将具有正确格式的正确信息提供给正确的人。这些术语描述了数据访问和集成应用于SOA时有怎样的问题。让我们来面对这些问题,所有服务都在使用并操作着数据。数据服务是一种扩展SOA规则的方法,能够实现数据的松耦合和重用。
Jon:您所谈到的信息指的是什么?
Brad Wright:我说到的信息位于数据库、文件、电子表格和遗留系统中——往往是具有难以理解的格式和结构的数据。每当采用一种“信息就是服务”的策略,首先要做的事情之一就是使服务支持数据,从而使数据易于使用。
创建数据服务
Jon:那么如何创建数据服务呢?
Brad Wright:首先,使用AquaLogic Data Services Platform(ALDSP)的导入向导编目描述数据源的元数据。这个步骤给出ALDSP访问和公开数据所需要的信息。您可能止步于此并拥有了一个数据服务,尽管从结构上看起来与底层数据源非常相似。但其实际价值在于创建有可能将来自多个数据源的数据集成到一个业务友好的对象(例如Customer对象)中的逻辑数据服务。可以在ALDSP中使用拖放式、可视化编辑器建模逻辑服务并将元数据映射到它。无需任何编码!
Jon:请您具体介绍一下好吗?比如说,在磁盘某处有一个XML文件,每个月按账号进行更新,如何使“服务支持”它?
Brad Wright:服务支持意味着使消费者能够通过一种标准的方法访问该XML文件(或数据库、遗留数据源)中的数据。对于一些消费者来说,这意味着可将其作为基于SOAP的Web服务访问。对于其他消费者来说,则意味着可将其作为Java Service Data Object访问。然而,其他消费者也许会将XML文件数据视为通过我们的JDBC驱动程序公开的一种关系表。服务支持是一种“以正确的格式和正确的方式获取数据”战略的一部分。
Jon:您提到了“业务友好”的格式,在此例中这是什么意思呢?
Brad Wright:它意味着对XML文件中数据的命名和组织,使其数据项的名称标准化为公认的业务术语,并以对业务有意义并且有好处的方式组织,从而使企业能够更轻松地使用。实际情况是,在数据源中典型的数据命名和组织对于DBA或底层数据存储技术有益,而并非对消费者有益。或许数据源中的一些域命名为CRMId。为什么不应该使消费者看到更有意义的数据名称,比如像CustomerID呢?
Jon:我想不必使服务支持所有数据,那么怎样划分这个界线呢?
Brad Wright:“信息就是服务”对于任何具有多重数据源和多个消费应用程序的组织都是适用的。如果是一个组织规模较小,并且只有一个数据库和一个主应用程序,那么“信息就是服务”就不合理了。但是如果小型组织处于一个快速发展的市场上,或者期望被收购或收购另一个组织,那么信息总线就能够使业务更加便捷灵活,更加具有竞争力。当然了,如果有多对多问题——大量数据源和大量消费应用程序,那么您将受益于“信息就是服务”的方法。
信息总线
Jon:您提到了“信息总线”。ALDSP能与AquaLogic Service Bus协同工作吗?
Brad Wright:完全可以。ALDSP与AquaLogic Service Bus(ALSB)相结合可创建我们所说的信息总线。这些技术共同以一种面向服务的方式保持数据的一致性和可重用性。使用ALDSP设计并实现信息服务,使用ALSB提供服务,使遍及整个组织的服务消费者可以使用这些服务。
Jon:信息总线还有哪些优点?
Brad Wright:最显著的优点是通过数据的一致性和敏捷性实现业务转型和发展的最大化。“信息就是服务”战略使整个组织内的数据或信息更易于消费。这意味着减少获得解决方案的时间、降低开发成本,以及削减总体拥有成本。当应用程序需要数据时,不必再构建一个筒仓式的数据访问解决方案来满足其需求。只需到数据总线调用所需信息服务来获取所需数据即可。
Jon:必须使用ALSB公开数据吗?还是说可以简单地使用ALDSP公开数据?
Brad Wright:ALDSP可独自为Web Services、JDBC或Java客户端集成和公开数据服务,所以不必使用ALSB。但是作为企业SOA工作的一部分,ALSB为那些ALDSP数据服务添加了出色的监管和SLA管理功能。这两种产品都能分别独立运行良好,不过一起配合使用就会更好了!
Jon:我想如果正在使用ALSB,那么也能够获得额外的收益,比如SLA管理,是这样吗?
Brad Wright:是的。ALDSP有一些关于数据的关键特性——访问、集成、转换、保护。ALSB有一些关于服务管理的关键特性——可见性、UDDI注册、SLA度量以及告警。将其结合使用将获益匪浅。
控制数据
Jon:我想,如果具有一个基于服务的方法,那么就可以进一步控制这些服务和数据,来避免更多的特殊信息检索了,是这样吗?
Brad Wright:是这样的。除了使数据更易于消费之外,“信息就是服务”也能够帮助确保所消费数据的一致性和准确性。
举一个实际的例子。我有一家银行在同月同日提供的两张信用卡。为什么?因为当一家银行收购了另外一家之后,它们有两个不同的系统记录着关于我的数据。我把它们都丢掉了,奇怪银行为什么不改变一下这种情况。这家银行有几个关键业务处理流程来处理不同的数据。如果他们“采用信息就是服务”的方法,那么将只有一种获取一致且准确的客户数据的服务。所以这种战略将帮助您为组织交付一致、准确、可重用的信息。
Jon:早些时候您提过Service Data Objects。请您给我们详细介绍一下,好吗?
Brad Wright:没问题。SDO是BEA和IBM公司在几年前提出的一项标准,它描述了数据服务对于Java用户应该是怎样的。毕竟,不是每个人都希望或者需要将数据作为Web services消费。显然,他们并不希望直接面对XML。SDO标准描述了数据服务怎样以广为人知的getter和setter方法映射到强类型的Java对象。SDO使用一种断开的数据传输模式,它追踪数据更改,从而使ALDSP能够提供出色的乐观锁定功能。
Jon:如果我们更轻松快捷地使用信息,那么怎样保持数据仍然是安全的?
Brad Wright:问得好。基于请求信息的人员的角色,可能仅需要返回一个给定服务中的一个数据子集。
举个例子,社会保障编号(social security numbers,SSN)。组织应该在处理SSN时保持一定的敏感性,所以也许并不希望一名呼叫中心代表看到SSN。您会说:“对于这个角色,绝不要给他们显示服务响应的这些部分。”那就是ALDSP提供的安全性之一。如果不需要这些规则和策略,就不必使用它们,但是它们正是因为这些原因而存在的。
Jon:AquaLogic Data Services Platform与类似技术有什么不同之处?
Brad Wright:一个重要的差异就是ALDSP具有查询优化技术,这种技术优化了DSP对各数据请求的响应内容。毕竟,多种多样的消费者可能会在多种上下文环境中使用信息服务。因此,我们经常遇到的一个实际问题就是“怎样从关于‘消费者’的单一信息服务中跨各种应用程序来满足不同的需求?”答案是不可能实现——除非所用技术能够在以每次使用为基础优化请求。
举例来说,如果我有一个用户信息服务,显示出我的业务友好的“客户”视图,包括客户姓名、地址和电话号码,然后应用程序A只需要姓名和电话号码,而应用程序B只需要姓名和地址,那么这两个请求的返回结果都会是检索到的姓名、地址和电话号码吗?不是。
在第一种情况下,ALDSP分辨出我们仅需要姓名和号码,所以它就这样优化了。在第二种情况下,尽管还是同一个数据服务,返回的却只有姓名和地址。查询优化技术与其他一些现有数据访问技术不同,那些数据访问技术实际上只是关于产生访问一个给定表格的代码,并没有为各种不同的请求而优化。ALDSP则更为智能化,而且优点是性能更高,对后台系统的影响也更小。
采用信息就是服务
Jon:怎样着手采用这一战略呢?
Brad Wright:选择采用这个方法可能很难。企业应该怎么做?是进行巨大的前期投资用于设计一应俱全的信息服务层,一次性完成它;还是采用逐个项目处理的方法,有可能因其视角过于狭窄而产生错误?
并没有一个适用于所有情况的万能答案,但是我们已经看到了用户最初用六至八个月的时间处理一组项目,并构建了一个初始信息服务层来满足这些项目的需要,取得了成功。在此基础之上,他们按照需求为下一组项目作出增量式更改。但这将要求具备可靠的监管和规划模型来加以管理。
Jon:那么采用“信息就是服务”时,您认为需要“信息架构师”吗?还是说这样的角色已经以一种不同的形式存在了?
Brad Wright:我们的确发现创建有用的数据服务需要一些关键的数据建模技术。它介于物理源建模与企业数据建模之间,结合了理解像行和连接之类的关系概念的技能与逻辑地看待数据的技能。我们发现每一个组织中都有具备这些技能的人员,其职位不一定是信息架构师或数据架构师。“信息就是服务”涉及到找出这些人,并且用像ALDSP这样的技术增强他们的能力!让这些人与您的SOA架构师协力工作,这样就能实现SOA的所有承诺!
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者