总的来说,SQL Server CE的体系结构就是由这三大组件构成的:
·SQL Server Compact Edition 数据库引擎
·SQL Server Compact Edition 客户端代理
·SQL Server Compact Edition服务器端代理
图1展示了SQL Server CE的体系结构以及上述三个组件之间的相互关系。由图可以知道,SQL Server CE包括客户端环境和服务器环境两个部分,SQL Server CE数据库引擎和SQL Server客户端代理都是位于客户端环境中的,即Windows Mobile设备端或PC中。而SQL Server Compact Edition服务器端代理是位于服务器环境中,并且作为一个进程在IIS环境中运行。
SQL Server CE引擎的主要功能就是对SQL Server CE的数据存储区进行管理。通过对每条记录维护少量的更改跟踪信息,这样数据库引擎就可以很方便的跟踪所有进行插入、更新或删除操作的数据库记录。当我们使用合并复制或远程数据访问 (RDA) 这两种连接解决方案时,启用跟踪功能将大大加快数据同步的速度。因为可以根据跟踪信息直接判断那些记录是更改过的,从而将这些更改的记录进行数据同步,避免了设备端和服务器端数据库间对应记录间逐条比较的过程。
SQL Server CE客户端和服务器端之间主要是采用HTTP进行请求,并通过无线局域网或无线广域网进行通讯。这两者间的HTTP请求验证主要是由IIS处理。SQL Server 数据库可以和IIS位于同一台计算机中,也可以分装在不同的计算机中。
当我们需要使用合并复制或RDA实现数据同步的时候,SQL Server CE客户端就向SQL Server CE服务器端发送一个HTTP请求。SQL Server CE服务器端在接受到该请求后,就会与服务器端的SQL Server数据库进行连接,当SQL Server根据请求完成相应的操作后,SQL Server CE服务器端再以HTTP请求向SQL Server CE客户端返回数据。
图1 SQL Server 2005 Compact Edition体系结构 |
SQL Server CE客户端与服务器端之间的通讯,还可以采用安全超文本传输协议(HTTPS)来增加数据的安全性。SQL Server CE可以使用IIS的SSL特性,加密在Windows Mobile上的SQL Server CE和服务器上的SQL Server之间传输的数据,而且为了减少每次传输的数据量,SQL Server CE会对这些数据进行压缩后在进行传输。
SQL Server CE除了可以采用无线局域网和无线广域网和SQL Server进行连接外,还可以通过ActiveSync软件与桌面PC进行连接,再通过PC与SQL Server连接。好了,长话少叙,我将在下一篇文章将介绍SQL Server CE的安装过程,欢迎大家继续关注。