S
Shadow
Unregistered / Unconfirmed
GUEST, unregistred user!
ADO 与 BDE 或者 ODBC 不是相同的东西。其区别来自于设计思想和目的。
诸位应该记得 ADO 的连接首先指向的是一个 Provider 而不是任何已知
的数据库,其关键在于 ADO 提供的是一个数据提供者 (Data Provider)
而不是数据源 (Data Source) 这么简单。其优势在于通过一个数据提供
者的概念我们可以将任何现实世界中的数据抽象成为一个数据逻辑提供给
业务对象使用。对业务逻辑而言,它仅仅和数据逻辑打交道,不必理会该
数据的物理形态。这将业务处理与数据真正的隔绝开。如果你对这个概念
不能充分理会的话,那么你首先应该仔细阅读M$关于多层技术方面的文档。
理论联系现实,目前大家所做的项目和产品,仅仅指企业应用方面,多少
都应该涉及到互联网方面。互联网对我们而言首当其冲的是数据形式的复
杂性。
在过去二十年中,关系性数据库一统天下,谈数据仅仅涉及到二维关系为
止。但是在今天现实世界的一切存在均被企图抽象成为某种数据存在,数
据的形式因而变得纷繁复杂,多维数据库、对象数据库、文档型数据库是
大家已经熟知的,前一段时间还有人声称要重新开发二十年前已经死掉的
树型数据库。除此以外涉及面最大应该是流式数据,数据流的背后是什么
不一定,但从你角度来看仅仅能够把他称作一个动态的流,流的格式、内
容获取的手段全部时未知的,同时也可能是多变的。使用的数据提供者的
优点就在于所有不同的数据形式可以被同一为相同的数据逻辑,想象一下
你的业务对象仅仅和 ADO 打交道,而不必理会相关的数据集的物理形式,
相对于不得不在同一个业务对象中罗列一大堆数据连接方式,而这些连接
方式可能三天两头发生变化,头一天使用的是一堆字符串,第二天变成了
浮点数,那一个对系统的稳定性、易维护性、可扩展性更容易造成伤害?
至于说对现实世界的表现力而言两者的差距几乎无话可说。
从技术的角度来说,ADO 与 BDE 和 ODBC 这些传统的数据连接方式相比
仅仅是做出了一个小小的技术改进,单从概念上说,我们在 Windows 平
台上拥有了一个真正开放的和更具包容性数据获取手段,与以往不同的是
我们不必因为数据的任何变化导致整个系统的重新编写,数据形式第一次
真正的与业务逻辑相互隔离了。
下面是一个问题:
TWebConnection 大家应该使用过了,我想了解大家的看法。从 TWebConnection
的源文件来看,TWebConnection 实质是使用一个 WinCGI 作为代理与WEB
服务器的业务对象建立了一个持久的连接。可是持久的连接与HTTP的设计
目的是相违背的,HTTP本来是为了在无持久连接的情况下交换数据。大家
认为以这种方式搭建的框架,WEB 端的业务对象的生存期是针对客户端每
一个请求还是针对客户端建立每一个连接如同WEBConnection现在所做的更
好呢?
该问题涉及到 Extranet 和防火墙,因此仅仅能够使用单纯的HTTP方式,同
时涉及到复杂数据对持久连接的可靠性严重依赖。
诸位应该记得 ADO 的连接首先指向的是一个 Provider 而不是任何已知
的数据库,其关键在于 ADO 提供的是一个数据提供者 (Data Provider)
而不是数据源 (Data Source) 这么简单。其优势在于通过一个数据提供
者的概念我们可以将任何现实世界中的数据抽象成为一个数据逻辑提供给
业务对象使用。对业务逻辑而言,它仅仅和数据逻辑打交道,不必理会该
数据的物理形态。这将业务处理与数据真正的隔绝开。如果你对这个概念
不能充分理会的话,那么你首先应该仔细阅读M$关于多层技术方面的文档。
理论联系现实,目前大家所做的项目和产品,仅仅指企业应用方面,多少
都应该涉及到互联网方面。互联网对我们而言首当其冲的是数据形式的复
杂性。
在过去二十年中,关系性数据库一统天下,谈数据仅仅涉及到二维关系为
止。但是在今天现实世界的一切存在均被企图抽象成为某种数据存在,数
据的形式因而变得纷繁复杂,多维数据库、对象数据库、文档型数据库是
大家已经熟知的,前一段时间还有人声称要重新开发二十年前已经死掉的
树型数据库。除此以外涉及面最大应该是流式数据,数据流的背后是什么
不一定,但从你角度来看仅仅能够把他称作一个动态的流,流的格式、内
容获取的手段全部时未知的,同时也可能是多变的。使用的数据提供者的
优点就在于所有不同的数据形式可以被同一为相同的数据逻辑,想象一下
你的业务对象仅仅和 ADO 打交道,而不必理会相关的数据集的物理形式,
相对于不得不在同一个业务对象中罗列一大堆数据连接方式,而这些连接
方式可能三天两头发生变化,头一天使用的是一堆字符串,第二天变成了
浮点数,那一个对系统的稳定性、易维护性、可扩展性更容易造成伤害?
至于说对现实世界的表现力而言两者的差距几乎无话可说。
从技术的角度来说,ADO 与 BDE 和 ODBC 这些传统的数据连接方式相比
仅仅是做出了一个小小的技术改进,单从概念上说,我们在 Windows 平
台上拥有了一个真正开放的和更具包容性数据获取手段,与以往不同的是
我们不必因为数据的任何变化导致整个系统的重新编写,数据形式第一次
真正的与业务逻辑相互隔离了。
下面是一个问题:
TWebConnection 大家应该使用过了,我想了解大家的看法。从 TWebConnection
的源文件来看,TWebConnection 实质是使用一个 WinCGI 作为代理与WEB
服务器的业务对象建立了一个持久的连接。可是持久的连接与HTTP的设计
目的是相违背的,HTTP本来是为了在无持久连接的情况下交换数据。大家
认为以这种方式搭建的框架,WEB 端的业务对象的生存期是针对客户端每
一个请求还是针对客户端建立每一个连接如同WEBConnection现在所做的更
好呢?
该问题涉及到 Extranet 和防火墙,因此仅仅能够使用单纯的HTTP方式,同
时涉及到复杂数据对持久连接的可靠性严重依赖。