UML软件工程组织 |
用Java开发企业级无线应用(1) |
作者:龙海涛 本文选自:开放系统世界—赛迪网 2003年02月20日 |
客户端(Client Tier) 客户端获得用户请求后提交给远程服务器,得到结果后加以表现。我选择在J2ME(CLDC+MIDP)平台上开发客户端程序。由于MIDlet程序开发具有内存小、界面简单、有限的运算能力和网络性能等特点,需要重点设计以下几个方面: 1.与Web服务器之间的通信 J2ME支持打开网络连接、传送数据、访问远程服务器资源。首先,用户在离线方式下设置系统参数,指定本公司Web服务器的IP地址、端口和Web根目录,选择工作方式(在线或者离线)。随后,程序将两条相关信息写进本地数据库,一条记录Web服务器地址,另一条记录工作方式。每当系统启动或者切换工作方式时加载,这样可以使得MIDlet工作在适当的状态。MIDlet编程支持HTTP网络连接,代码如下: HttpConnection conn = (HttpConnection)Connector.open(url);
url = "http://www.mcrm.com:8000/CRMRoot/custCreateAlias?id=001&name=..." Web服务器中相应的Servlet将调用doGet()方法处理请求,返回响应,从而把业务逻辑的处理交给服务器端,达到“瘦”客户端的设计目标。建好HTTP连接以后,就可以方便地操作数据流,进行数据读写了,代码如下: InputStream in = conn.openInputStream();
客户端编程的重点在于准确地提交用户请求参数、创建和查询客户信息、联系人信息、商业机会和服务请求,并可对查询到的结果进行更新、删除和下载。实现时,类CRMCustomer、类CRMLinkman、类CRMOpportunity、类CRMService封装了这些方法;类custSearch、类linkSearch、类oppoSearch、类servSearch提供了查询的界面;类CRMViewProduct实现了查看产品信息的功能。它们的实现手段相同,都是通过生成并提交存储请求参数信息的url,打开HTTP连接,请求服务响应来达到目的。]
MIDP(Mobile Information Device Profile)支持对持久数据的存储,J2ME记录管理系统 ( RMS )允许数据流被储存并在一个记录基础上访问数据,由应用程序开发者把每个记录解析到字段水平。系统需要存储的是包含用户请求参数信息的URL,从第三条记录开始读写(前两条已做系统参数用)。调用J2ME中类RecordStore的getRecord(int recordId)、addRecord(byte[] data, int offset, int numBytes)方法进行基本的读、写操作,并以“&”为标志符解析数据记录url,得到名/值对。系统把整个本地数据库操作封装在类CRMdb当中,这样,这些操作就可重用。
|
版权所有:UML软件工程组织 |