做为新一代3G及移动终端浪潮的设备管理平台,OMA DM和DS技术获得了众多设备厂商和应用厂商的追捧。也为软件开发商提供新的崛起机会。
Sync4J开源项目为我们提供了完整的OMA DM 1.1.2和DS规范的Java实现。本文记录了Sync4J DM Server安装和以此平台为基础进行定制安装的过程,希望为众多手机和移动设备应用开发人员提供参考。
第一部分、软件安装
1、环境准备
安装环境如下: JDK 1.5.0, JBoss 3.2.3, MySQL 5.0 Database Server。安装前需预先安装上述软件。本文安装的操作系统环境为Windows XP SP2 Pro。
Sync4J同时提供了Sync4J DS和DM Server的所有软件包。Sync4J DM Server可以直接在 http://www.funambol.com/opensource/downloads.html, 撰写本文时DM Server最新版本为Sync4j Server DM 1.4.9 [8.2Mb]。
下载Sync4J DM Server后直接解压缩即可。
2、MySQL 中创建sync4j Database
运行如下命令为DM Server创建Database和相关的授权用户sync4jdm
> mysql -u root
mysql > create database sync4jdm_db;
mysql > grant all on sync4jdm_db.* to sync4jdm identified by "sync4jdm"
3、检查创建的MySQL sync4jdm 用户权限
运行如下命令检查在MySQL中创建的用户sync4jdm是否对sync4jdm_db数据库具备访问权限:
> mysql -u sync4jdm
mysql > use sync4jdm_db;
Database changed
4、创建setenv.bat文件,该文件中设置安装和运行中所必须的环境变量。
共JAVA_HOME、J2EE_HOME和JBOSS_CLASSPATH等三个环境变量。其中:JAVA_HOME指向预先安装的JDK 1.5的目录,J2EE_HOME指向预先安装的JBoss Server的路径,JBOSS_CLASSPATH则指向MySQL的JDBC驱动程序的jar文件。内容如下:
set JAVA_HOME=C:/Java/jdk1.5.0
set J2EE_HOME=E:/Sync4J/jboss-3.2.3
set JBOSS_CLASSPATH=E:/Sync4J/MySQLJDBC/mysql-connector-java-3.1.11-bin.jar
5、修改DM Server的install.properties中的数据库连接参数。
文件路径为Sync4J DM Server的根目录下,即server-dm/install.properties。所需修改的内容如下:
server-name=http://219.142.217.163:8080/sync4j-dm/dm
jdbc.classpath=E:/Sync4J/MySQLJDBC/mysql-connector-java-3.1.11-bin.jar
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1/sync4jdm_db?zeroDateTimeBehavior=round
jdbc.user=sync4jdm
jdbc.password=
如果使用MySQL,并且MySQL Server与sync4j DM Server在同一台机器上,使用127.0.0.1进行连接时,缺省情况下可以不设置口令。
server-name中提供的URL必须填写当前安装的DM Server的Internet合法IP地址,否则手机终端设备无法发起连接,无法完成DM配置信息的同步。
注:使用MySQL时必须设定jdbc.url的参数zeroDateTimeBehavior=round,否则在运行DM时将出现如下错误信息:
Error Executing Database Query.
Value '0000-00-00' can not be represented as java.sql.Timestamp
详细原因参见:http://dev.mysql.com/doc/refman/5.0/en/cj-upgrading.html
6、修改DM Server的server-dm/config/sync4j/Sync4j.properties中的参数, 内容如下:
server.uri=http://219.142.217.163:8080/sync4j-dm/dm
server.uri中提供的URL必须填写当前安装的DM Server的Internet合法IP地址,否则手机终端设备无法发起连接,无法完成DM配置信息的同步。
7、运行Sync4j DM Server安装脚本
> cd server-dm
> bin/install.cmd jboss32
BUILD SUCCESSFUL
Total time: 12 seconds
8、检查MySQL中数据库表的创建情况
前面的安装步骤结束后将在MySQL Server的sync4jdm_db中创建相关的表,本步骤对其进行检查。方法如下:
> mysql -u sync4jdm
mysql > use sync4jdm_db;
mysql > show tables;
+--------------------------------+
| Tables_in_sync4jdm_db |
+--------------------------------+
| sync4j_device |
| sync4j_dm_state |
| sync4j_id |
| sync4j_principal |
| sync4j_role |
| sync4j_treediscovery_processor |
| sync4j_user |
| sync4j_user_dm_demo |
| sync4j_user_role |
+--------------------------------+
9 rows in set (0.00 sec)
9、启动Sync4j DM Server
> setenv.cmd
> cd server-dm
> bin/start.cmd
其中setenv.cmd为前面步骤创建的脚本,用于设置JAVA_HOME, J2EE_HOME和JBOSS_CLASSPATH 等环境变量。必须事先运行环境设置,否则系统无法正常启动。
第二部分、基于Nokia 6620的DM同步测试
Nokia 6620手机基于Sybian 60series,内嵌OMA DM Client Agent的支持,测试前须确保其GPRS的设置正确,并能够访问互联网合法IP地址的Http站点。
Sync4J DM Server必须具有Internet的公网IP地址,以确保通过Nokia 6620的手机可以以HTTP方式访问Sync4J DM Server。
1、 配置Nokia 6620手机的GPRS设置(以中国移动CMWAP方式为例):
手机菜单:Settings/Connection/Access points 下创建一个新的AP
2、 设置Nokia 6620的DM参数
手机菜单:Tools/Dev. Mgr.下,创建新的DM Profile, 相关参数如下图所示:
Server Name: Sync4j
Server ID: sync4j
Server Pwd: srvpwd
Access Point:
Host Address: http:// 219.142.217.163/sync4j-dm/dm
Port: 8080
Username: sync4j
Pwd: sync4j
Active: yes
Accepted: yes
3、 访问Sync4J DM Server的Demo测试页面,追加Nokia 6620手机设备。
首先在手机上键入“*#06#”,查看手机的IMEI编后。本例中为353755000569915
访问http://127.0.0.1:8080/dmdemo/jsp/addDevice.jsp,填写设备的IMEI信息,并点击“Add”按钮,如下图所示:
注意对于Nokia手机Device Id中填写的IMEI信息必须增加“IMEI:”前缀。其它厂商的手机参见其OMA DM的实现定义。
4、 测试设备信息发现
访问http://127.0.0.1:8080/dmdemo,输入设备ID后登录成功
将Get device details选中后“Add to operation list”
在手机端启动Start configuration,同步成功后,上述页面变化如下: