UML软件工程组织

用Java开发企业级无线应用(2)
作者:龙海涛 本文选自:开放系统世界—赛迪网 2003年02月20日

 


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文档。代码如下所示:

<custList>	
 <matchedCust>7</matchedCust>	
 <customer>	      
<id>Cust_001</id>	
 <name>Oliver</name>	
 </customer>	
</custList>


业务逻辑层(Business Tier)

EJB container提供了一种系统级服务,开发者只需要专注于业务逻辑处理即可。系统运用实体Bean封装数据对象,建立与数据库间的映射。会话Bean封装了业务逻辑,该系统实现的会话Bean是无状态的。业务逻辑层结构如图3所示。



图3 业务逻辑层结构设计


EJBs功能如表1。

表1


包ejb.entity 封装了客户、联系人、产品、商业机会及客户服务请求等数据信息,并提供Home、Remote访问接口。
包ejb.session 封装了系统所需的业务逻辑和数据操作,包括添加、查询、更新和删除各项信息,并提供Home、Remote访问接口,也提供了一些方便数据操作的辅助类。


数据库(Backend Tier)

利用Sun公司提供的JDBC API可以很方便地操作关系型数据库(RDBMS),如上所述,实体Bean要与数据库表建立一种良好的映射关系。设计数据库时要注意主键值,它是惟一标识。本系统数据库共有五张表,见表2。

表2


customer 存储客户信息,设name,location,honor等字段,主键id。
linkman 存储联系人信息,设birthday,custid,custname等字段,主键id。
opportunity 存储商业机会信息,设description,moment,status等字段,主键id。
product 存储产品信息,设style,price,unit等字段,主键id。
service 存储客户服务请求信息,设product,contact等字段,主键id。


现在,以“创建客户信息”为用例,察看整个系统各个模块间的协作与实现。

请求参数输入界面:	CRMCustomer.java
响应的servlet:	custCreate.java
处理请求的JavaBean:	CRMController.java
调用的会话bean:	CRMBean.java
实体bean:	CustBean.java
数据库表:	customer
显示结果:	CRMCustomer.java


在整个开发周期中,需不断精化和细化用户需求,改进用例与建模,迭代构造和测试,使系统趋于完善。

小结


利用Java无线应用技术,结合J2ME和J2EE平台,可以设计并开发出健壮、高效的企业级无线应用程序,帮助企业提升经济效益。现在,越来越多的电信厂商生产出性能优越的Java手机,而且在电信运营商、电信设备制造商和应用程序开发者之间存在着一种较好的盈利模式。我们相信Java无线应用会有更好的发展。

(责任编辑 Sunny

 

1 2 上一页

 



版权所有:UML软件工程组织