Electronic Joint Business

Solution for E-Business

soap

Teiid 基于数据联邦的集成方案

要了解什么是 Teiid ,我们首先需要了解什么是虚拟数据库和数据联邦。

虚拟数据库(Virtual Database–VDB) 是将一个或多个物理数据源组合起来以提供更简单的数据集成解决方案,它提供了包含组件的容器,这些组件用来集成不同数据源的数据,并通过一致的 API 来访问它们。这些物理数据源包括: JDBC 数据源、CSV 文本文件、数据表,甚至可以是 Web services。这种技术被称为是“数据联邦” -Data federation。数据联邦技术提供了一种为数据提供抽象的数据接口的能力。这些多个数据源组成的虚拟视图可以使数据消费者(应用)不需要知道数据的物理位置、数据结构和保存方式。

与其它数据集成技术相比,数据联邦技术的明显优势在于获取数据的方便性和实时性。现在很多企业都在实现 SOA,SOA 的灵活性和敏捷性要求组织提供数据时应该具有更少的时延。以前的利用批量任务或者 ETL 的方式创建数据集市和数据仓库的方式的实时性都不太好,在很多应用场景中被数据联邦技术所取代。

但是数据联邦技术访问数据是通过一个“联邦”视图(federation view)来实现的,视图是实时的。随着企业数据量的增大,性能问题是所有数据集成(Data Integration tools)都面临的问题,但是由于设计上的根本缺陷,数据联邦在这方面虽有很大进展,但是仍无法和另外一些数据集成技术相比。这种缺点制约了它在数据集成领域的适用性,虽然很多领域都使用了数据联邦技术,但是在关键的核心业务系统它的应用非常少。

目前已实施数据联邦项目的特点如下:使用简单的有限的数据源,数据结果集不大,只读性的数据访问,数据质量要求简单。比较典型数据联邦产品有:BEA 的 AquaLogic Data Services Platform、IBM 公司的 Federation Server、Software AG 公司的 Enterprise Information Integration、Sybase 的 Data Federation 以及 Red Hat 公司的 JBoss MetaMatrix,其开源实现即 Teiid。

>>> 阅读全文

 

, , , , , , , , , ,

利用Base64在XML中存储BLOB

文章评价:
在一些 XML 的应用中,例如 SOAP,除了复杂的数据类型外,还可能包括图像、声音等多媒体数据。通常的处理办法是通过序列化的Java对象为载体进行传输,或者将图像、声音等数据包含在外部实体中,如果能将这些大型二进制对象存储在XML文件中,则处理起来会有很大的便利性。

这里我们将以图像为例子讨论在 XML 中存储传输 BLOB 数据的方法。
Base64算法详解
Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。如例1所示:

字符串“张3”
11010101   11000101    00110011

转换成Base64

00110101   00011100     00010100     00110011

即把8位的字节连成一串110101011100010100110011 然后每次顺序选6个出来之后再把这6二进制数前面再添加两个0,就成了一个新的字节。之后再选出6个来,再添加0,依此类推,直到24个二进制数全部被选完。

让我们来看看实际结果:

>>> 阅读全文

 

, , , ,