您的位置:首页 > 其它

用Sync4J和SCTS搭建一个OMA DM的学习环境

2008-07-30 19:55 459 查看
做为新一代 3G 及移动终端浪潮的设备管理平台, OMA DM 技术获得了众多设备厂商和运营商的追捧,也为软件开发商提供新的崛起机会。业内目前也有不少工作在做这方面的软件。好多公司这方面的产品都是基于Sync4J开发的。
Sync4J 开源项目为我们提供了完整的 OMA DM 1.1.2 规范的 Java 实现。本文记录了 Sync4J DM Server 安装以及使用SCTS模拟器来模拟手机做一个DM业务,本文没有用PPG来通过短信方式来用真手机来做,只是用模拟器来做的。SCTS是OMA官方提供的一个测试工具,主要用来测试DMserver的,这里我们用来测试Sync4J。Sync4J和SCTS的集合是我们学习OMA的一个很好的方式。
一: Java环境安装

1: Java现在使用的版本是:jdk-1_5_0-windows-i586.exe.

2: 安装完毕,请在windows系统下设置环境变量JAVA_HOME={jdk的安装目录}

如: JAVA_HOME=C:"Java"jdk1.5.0

二: Mysql安装
1: Mysal使用的版本是: [b]mysql-5.0.22-win32.zip


2: 安装完毕,要进行数据库的创建

3: 在MySQL 中创建funambol Database

运行如下命令为DM Server创建Database和相关的授权用户funambol
mysql > create database funambol_db;
mysql > grant all on funambol_db.* to 'funambol'@'localhost' identified by 'funambol';
4: 检查创建的MySQL funambol 用户权限

运行如下命令检查在MySQL中创建的用户funambol是否对funambol _db数据库具备访问权限:
> mysql -u funambol
mysql > use funambol_db;
Database changed
5: 安装创建完成,可以到Mysql的data目录查看目前创建的数据库是否存在.

三: Jboss安装
1: Jboss使用版本为:jboss-4.2.1.GA

下载地址:
http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=16942&release_id=523619
2: 在如上的下载页中下载JBoss-3.2.7.GA.zip文件。

[/b]
下载完成后,将其解压缩后即可完成安装,解压缩后将其放置到一个不带空格的目录(若目录带有空格,例如:C:"Program Files,日后可能会产生一些莫名的错误),eg:c:"jboss3.2.7。同时在“环境变量设置”中设置名为JBOSS_HOME的环境变量,值为JBoss的安装路径,如:
JBOSS_HOME= c:"jboss3.2.7
J2EE_HOME= c:"jboss3.2.7

3: 拷贝mysql的驱动到jboss目录下,

将mysql的jdbc驱动文件mysql-connector-java-3.1.12-bin.jar拷贝到c:" jboss3.2.7"

MySQLJDBC下(如果没有请自行创建),并在“环境变量设置”设置

JBOSS_CLASSPATH=c:" jboss3.2.7"MySQLJDBC"mysql-connector-java-3.1.12-bin.jar

在此,JBoss的安装工作已经结束,

4: 测试安装是否成功:

运行JBoss安装目录"bin"run.bat,如果窗口中没有出现异常,且出现:10:16:19,765 INFO [Server] JBoss (MX MicroKernel) [4.2.1.GA (build: SVNTag=JBoss_4_2_1_GA date=200707131605)] Started in 30s:828ms字样,则表示安装成功。
5: 访问JBOSS

我们可以通过访问:http://localhost:8080进入JBoss的欢迎界面,点击JBoss Management下的JMX Console可进入JBoss的控制台。
6: 若启动失败,可能由以下原因引起:

1)JBoss所用的端口(8080,1099,1098,8083等)被占用。一般情况下为8080端口被占用(例如,Oracle占用了8080端口),此时需要修改JBoss的端口,方法为进入JBoss安装目录"server"default"deploy"jboss-web.deployer目录,修改其下的server.xml目录,在此文件中搜索8080,将其改成你想要的端口即可(例如8088);
2)JDK安装不正确;
3)JBoss下载不完全。
四: Funambol DM安装
1: Funambol 使用的版本是: funambol-dm-server-3.5.2

下载地址:
http://www.funambol.com/opensource/downloads.html
2: 下载Sync4J DM Server后直接解压缩即可。具体的地址可以是C:"funambol

3: 修改DM 的install.properties中的数据库连接参数。

文件路径为Sync4J DM Server的根目录下,即install.properties。所需修改的内容如下:
server-name=http://{your ip}:8080/funambol/dm
dbms=mysql
jdbc.classpath=C:/jboss-4.2.1/MySQLJDBC/mysql-connector-java-3.1.12-bin.jar
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1/funambol_db?zeroDateTimeBehavior=round
jdbc.user=funambol
jdbc.password=funambol
注意:
A: 如果使用MySQL,并且MySQL Server与sync4j DM Server在同一台机器上,使用127.0.0.1进行连接时,缺省情况下可以不设置口令。
B: server-name中提供的URL必须填写当前安装的DM Server的Internet合法IP地址,否则手机终端设备无法发起连接,无法完成DM配置信息的同步。
C:使用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
4: 修改DM Server的default"config"common"properties" Funambol.properties中的参数, 内容如下:
server.uri=http://{your ip}:8080/funambol/dm
注: server.uri中提供的URL必须填写当前安装的DM Server的Internet合法IP地址,否则手机终端设备无法发起连接,无法完成DM配置信息的同步。
5: 运行Sync4j DM Server安装脚本
> cd funambol
> bin"install.cmd jboss32
BUILD SUCCESSFUL
Total time: 12 seconds
6: 检查MySQL中数据库表的创建情况
前面的安装步骤结束后将在MySQL Server的funambol_db中创建相关的表,本步骤对其进行检查。方法如下:
> mysql -u funambol
mysql > use funambol_db;
mysql > show tables;
+----------------------------------------+
| Tables_in_sync4jdm_db |
+----------------------------------------+
| fnbl_device |
| fnbl_dm_state |
| fnbl_id |
| fnbl_principal |
| fnbl_role |
| fnbl_treediscovery_processor |
| fnbl_user |
| fnbl_user_dm_demo |
| fnbl_user_role |
+----------------------------------------+
9 rows in set (0.00 sec)
7: 启动Sync4j DM Server
当安装成功后,系统会自动在bin目录下生成start.cmd/sh文件.
> cd funambol
> bin"start.cmd
注意: 所有的字符都是大小写敏感,所以上面红色字体一定按照实际情况的大小写进行组织.

[b]五:调试 [/b] http://your ip:8080/dmdemo/index.html
用 device id : IMEI:111111111111111 login



然后点击 add to operation list



<!--[endif]-->
然后用 SCTS 主动回联一下,看看 server 能够拿到这个节点的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: