集团客户端个性化功能的开发

    尹津其

    摘要:本文讨论了集团客户端个性化功能的开发项目的系统结构和开发中的关键技术的应用。介绍了SOAP技术和SOCKET技术在WEB开发中的应用实例。通过此项目的实施,使得用户乐于使用集团客户端,提高了客户黏性。

    关键词:客户端;SOAP;SOCKET;WEB开发

    0 引言

    为了通过客户端给宽带用户提供更加个性化的信息,加大集团客户端的普及力度,需要在集团客户端现有功能的基础上增加许多新的个性化的功能。实现这些功能必须依靠客户端通过客户端平台与帐务及受理等支撑系统、宽带认证计费系统之间的交互,进而获得与客户相关的固定电话、宽带和小灵通以及捆绑业务的相关信息。然后推送给客户,使得客户坐在家中即可查询上网时长,电话帐单和详单等。用户可以及时掌握自己的电话帐务信息。通过这种方式,让用户乐于使用集团客户端,提高客户黏性,有助于带动集团相关业务的开展。

    1 集团客户端介绍

    集团客户端,是中国网通提供给网通宽带ADSL上网用户使用的安装在用户个人电脑上的一款软件,它具备ADSL上网拨号功能,能够方便地引导用户访问丰富多彩的互联网内容,还可以帮助用户有效地检查与拨号上网相关的故障,同时提供对用户电脑主机的安全检测功能。

    为满足不同地域用户的不同需求,网通客户端既整合了权威、综合性内容提供给全网用户,同时也为各地用户提供当地喜闻乐见和地域性鲜明的本地内容,真正做到了优质化与差异化相结合,满足全网用户的需求。

    2 个性化功能介绍

    个性化功能包括两大部分:

    2.1 账单查询

    包括:用户信息查询、帐单查询、固话详单查询、账户余额查询等功能。

    2.2 宽带服务

    包括:ADSL用户密码修改和上网时长查询等。

    3 系统结构

    整个系统采用层次型结构。分为3层,WEB层、业务逻辑层、和数据层。

    WEB层提供查询页面,和展示查询结果信息给用户。

    业务逻辑层,控制呈现给用户的页面的流程,和与数据层通信,查询和获取用户的帐务信息。

    数据层,存储用户的各种帐务信息,以供业务逻辑层调用。在本系统中是暴露出调用接口给业务逻辑层。

    本系统的应用场景如下所述:

    客户通过客户端软件登录ADSL上网,访问安装在客户端平台上的个性化功能模块,实际上是通过HTTP协议进行的。

    客户端平台接受到客户端的访问请求,根据客户请求的功能,调用帐务平台或者宽带认证平台的接口,取得相应信息。

    例如,客户请求固话详单查询,则客户端平台根据客户的电话号码和查询区间,访问帐务平台的详单查询接口,取得详单信息,形成页面并返回给客户端。

    对于客户端平台,考虑到本系统的跨平台性,软件环境采用 Linux + Apache + PHP。

    根据上述用例分析,客户查询的信息基本都是通过接口获得的。其中,有些功能采用了SOAP接口,有些功能采用了SOCKET 接口,因此要根据不同的功能调用不同的接口。

    下面分别阐释以上两种类型接口的调用方法。

    4 关键技术

    4.1 SOAP和SOCKET协议简介

    4.1.1 SOAP协议简介

    SOAP以XML形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制。SOAP本身并没有定义任何应用程序语义,如编程模型或特定语义的实现;实际上它通过提供一个有标准组件的包模型和在模块中编码数据的机制,定义了一个简单的表示应用程序语义的机制。这使SOAP能够被用于从消息传递到RPC的各种系统。

    SOAP包括三个部分

    SOAP封装结构定义了一个整体框架用来表示消息中包含什么内容,谁来处理这些内容以及这些内容是可选的或是必需的。

    SOAP编码规则定义了用以交换应用程序定义的数据类型的实例的一系列机制。

    SOAP RPC表示定义了一个用来表示远程过程调用和应答的协定。

    虽然这三个部分都作为SOAP的一部分一起描述,但它们在功能上是相交的。特别的,封装和编码规则是在不同的名域中定义的,这种模块性的定义方法增加了简单性。在SOAP封装,SOAP编码规则和SOAPRPC协定之外,这个规范还定义了两个协议的绑定,描述了在有或没有HTTP扩展框架的情况下,SOAP消息如何包含在HTTP消息中被传送。

    SOAP把XML的使用代码化为请求和响应参数编码模式,并用HTTP作传输。具体地讲,一个SOAP方法可以简单地看作遵循SOAP编码规则的HTTP请求和响应。一个SOAP终端则可以看作一个基于HTTP的URL,它用来识别方法调用的目标。象CORBA/IIOP一样,SOAP不需要具体的对象被绑定到一个给定的终端,而是由具体实现程序来决定怎样把对象终端标识符映射到服务器端的对象。

    SOAP消息是一个XML文档,包括一个必需的SOAP封装,一个可选的SOAP头和一个必需的SOAP体。

    4.1.2 SOCKET协议简介

    Socket(套接字)是通过标准的UNIX文件描述符和其它程序通讯的一个方法。每一个套接字都用一个半相关描述:{协议,本地地址、本地端口}来表示;一个完整的套接字则用一个相关描述:{协议,本地地址、本地端口、远程地址、远程端口},每一个套接字都有一个本地的由操作系统分配的唯一的套接字号。采用SOCKET编程技术实现接口对接时,通常需要接口系统双方根据实际情况约定交互流程及数据结构定义。

    在PHP中,具有专门用来处理SOAP协议和SOCKET协议的库。

    4.2 使用SOAP接口获得信息

    用SOAP接口的方法:

    创建一个soapclient 对象 -> 准备入口参数 -> 通过soapclient 对象的call方法调用指定的命令,同时带上入口参数。PHP代码如下:

    …

    $client = new soapclient($cnc_url);// 创建一个soapclient 对象

    $params1 = array('param0'=>$ip); //准备入口参数

    $result = $client->call('queryUserInfo', $params1,$soapserver_namespace);// 调用指定的命令

    $cellnumber = $result['loginName'];

    …

    4.3 使用SOCKET接口获得信息

    在PHP中,提供了类似于操作文件一样操作socket接口的函数:fsockopen()。利用它调用socket接口的步骤:

    创建一个socket 连接 -> 发送请求 -> 取得结果(-> 发送请求 -> 取得结果…)。代码如下:

    …

    $fp = fsockopen ($host, $port, $errno, $errstr); //创建一个socket 连接

    fputs ($fp, $user);// 发送请求

    $rtn = fgets($fp, 1024);// 取得结果

    …

    5 性能和安全性考虑

    5.1性能

    考虑本系统的开发采用了Linux + Apache + PHP的平台,性能调整方面更多地考虑PHP的性能提升。

    本系统采取了PHP语言,由于 PHP 是以解释的方式执行的,所以 PHP 代码每次执行时都会被解析和转换成操作码(opcode)。操作码缓存能消除这项重复的工作,使 PHP 应用程序运行得更快。当然没有必要每次都把同样的 PHP 代码翻译一遍。PHP 代码被翻译成操作码后,可以把它保存起来并重复使用 -- 直到原始代码被修改。

    XCache 是一种效果很好的加速器。XCache 易于构建、安装和配置,因为它是做为 PHP 扩展实现的。不需对 Apache 和 PHP 进行重编译。

    通过安装XCache前后的性能测试,发现系统性能有显著的提升。Apache每秒的请求数增加了20%。

    5.2网络安全性

    客户只能访问到WEB服务器信息展示页面。页面在服务器上通过接口访问数据源,避免了客户直接访问后台的数据源。

    后台的数据源机器设备只开放了来自WEB服务器的访问。这样,客户和数据源被完全隔离开了。保证了数据源设备的安全性。

    6 结论

    本系统已经投入试用阶段,用户反应良好。

    参考文献

    [1]SOAP协议规范 http://www.w3.org/TR/

    [2]《UNIX环境高级编程》

    [3][美]Jeffrey L. Whitten, Lonnie D. Bentley, Kevin C. Dittman ,《系统分析与设计方法(原书第5版)》,机械工业出版社,2003-8-1

    [4] 吴迪文, WWW数据库系统信息集成技术, 微机发展, No.1, 1999.

    [5] Paul C. Jorgensen, 软件测试, 机械工业出版社, 2003

    [6] Alex Nghitm, IT WEB Services: A Roadmap for the Enterprise, Prentice Hall PTR, 2002

相关文章!
  • 融合正向建模与反求计算的车用

    崔庆佳 周兵 吴晓建 李宁 曾凡沂<br />
    摘 要:针对减振器调试过程中工程师凭借经验调试耗时耗力等局限性,引入反求的思想,开展了

  • 浅谈高校多媒体教育技术的应用

    聂森摘要:在科学技术蓬勃发展的今天,我国教育领域改革之中也逐渐引用了先进技术,如多媒体技术、网络技术等,对于提高教育教学水平有很

  • 卫星天线过顶盲区时机分析

    晁宁+罗晓英+杨新龙<br />
    摘 要: 分析直角坐标框架结构平台和极坐标框架平台结构星载天线在各自盲区状态区域附近的发散问题。通过建