数据集成,是将客户端的datasource与实际的数据系统(数据库、XML文件、LDAP等)绑定,从而进行数据的持久化操作。集成后的数据源必须能提供 CURD 四种基本数据操作,界面程序通过数据源对后台数据库进行这四种操作。
数据集成的两种方式:
1、server-side
服务器端数据集成,使用SmartGWT中基于Java的服务器程序来连接Java对象或者JDBC数据库。这里不需要事先存在能访问数据库的 Web 应用,只要数据能用 Java 或 JDBC 访问即可。SmartGWT 在服务器端提供了将这些 Java 数据服务集成到 Web 应用中的能力,所以称为服务器端数据集成。
使用服务器端的数据集成时,请求和响应中均使用java objects,不需要关注DsRequest和DsResponse,这更加简单和强大。但是必须使用Smart GWT Server Framework,该Framework只在Pro及其以上版本中提供,而且采用GPL协议,使用者必须公开自己的源代码。
2、client-side
客户端数据集成。客户端的请求以HTTP requests的方式发送到服务器端(在java中,一般使用Servlet或者.jsp处理请求)。服务器对请求中的数据/参数进行解析处理,然后以XML或者JSON(包括WDSL)的格式返回给客户端。
客户端数据集成,将SmartGWT的数据源与现有的可以返回 XML、JSON或其他文本格式的HTTP数据服务连接。由于HTTP服务已经存在,SmartGWT 客户端可以直接通过 HTTP 协议来访问数据,SmartGWT 提供的数据连接功能发生在客户端,故称之为客户端数据集成。
如果不使用支持Java的Web服务器,那么需要选择客户端数据集成。客户端数据集成主要涉及到实现支持 CRUD 四个基本操作的 HTTP 数据服务和创建客户端数据源。
对于服务器端数据集成,用户可以使用SmartGWT企业版中包含的类库和工具,不写一行代码来实现应用和数据库的连接,但是该版本是GPL授权模式,即使用者需要公开自己的源码。
客户端UI组件和数据库之间的桥梁是数据源(DataSource),用户的任务就是创建合适的数据源。SmartGWT 企业版内置了对 JDBC 和 Hibernate 的支持,对这样的数据源,只需通过定制配置文件的方式即可动态的创建,大大简化了开发。而且数据源将界面组件和后台数据分隔开来,带来的好处是可以替换数据源而不改动任何客户端代码。
图中,路径 1 是服务器端数据集成,路径 2,3,4 是客户端数据集成。
|