用J2ME开发企业级无线应用 - 编程入门网
arch、类servSearch提供了查询的界面;类CRMViewProduct实现了查看产品信息的功能。它们的实现手段相同,都是通过生成并提交存储请求参数信息的url,打开HTTP连接,请求服务响应来达到目的。]
图1 移动客户支持管理系统体系架构简图 2.本地数据库操作 MIDP(Mobile Information Device Profile)支持对持久数据的存储,J2ME记录管理系统 ( RMS )允许数据流被储存并在一个记录基础上访问数据,由应用程序开发者把每个记录解析到字段水平。系统需要存储的是包含用户请求参数信息的URL,从第三条记录开始读写(前两条已做系统参数用)。调用J2ME中类RecordStore的getRecord(int recordId)、addRecord(byte[] data, int offset, int numBytes)方法进行基本的读、写操作,并以“&”为标志符解析数据记录url,得到名/值对。系统把整个本地数据库操作封装在类CRMdb当中,这样,这些操作就可重用。 3.XML解析 XML(Extensible Markup Language)是一种独立于系统的表达数据信息的标记语言,现已成为网络系统中通用的数据交换格式。本系统采用XML技术进行数据交换,利用它的分级结构,很容易访问到所需的数据信息。这就意味着想要取得远程服务器端XML文档中的数据信息,MIDlet编程就必须支持XML解析技术。从网上不难得到J2ME端的XML解析器,本系统采用的是NanoXML,它是一种非确认(non-validating)、单步(single-step)解析器。NanoXML解析整个XML文档,并把它转换成一棵元素树(如图2),可以通过调用方法getChildren、getTagName、getContents等来遍历整棵树,得到数据信息。 图2 XML文件和相对应的树型文件模型 表示层(Web Tier) Servlets和JavaBean构成了表示层。这是一种控制结构,减低了视图与模型之间的耦合性。当Servlet响应到一个HTTP GET请求时,doGet()方法被service()方法的默认实现所调用,并把request对象和response对象作为参数传给该函数。整个程序覆盖了doGet()方法,它们所做主要工作是创建JavaBean实例,传递request对象,调用bean方法,取得存放于Bean中的数据,返回结果(XML文档)。JavaBean封装了更为复杂的业务逻辑,可以调用EJB方法执行各种数据存取的事务。JavaBean是一种可重用组件,提高代码复用性,加快了软件开发过程。如上所述,系统利用JAXP和W3C提供的访问XML的接口DOM来处理XML文档。代码如下所示:
用J2ME开发企业级无线应用(3)时间:2011-01-10 蒋涛业务逻辑层(Business Tier) EJB container提供了一种系统级服务,开发者只需要专注于业务逻辑处理即可。系统运用实体Bean封装数据对象,建立与数据库间的映射。会话Bean封装了业务逻辑,该系统实现的会话Bean是无状态的。业务逻辑层结构如图3所示。 图3 业务逻辑层结构设计 EJBs功能如表1。 表1
数据库(Backend Tier) 利用Sun公司提供的JDBC API可以很方便地操作关系型数据库(RDBMS),如上所述,实体Bean要与数据库表建立一种良好的映射关系。设计数据库时要注意主键值,它是惟一标识。本系统数据库共有五张表,见表2。 表2
|
||||||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |