选择显示字体大小

企业管理软件在j2me无线平台中的应用

在当今,计算机管理系统广泛服务于全球各地的企业、组织中,为企业创造着巨大价值。系统终端用户已经被覆盖到企业intr.net或广域的inte.net中,使用户更加容易简单的获得系统服务。这样就满足用户对获得系统服务的需求了吗?企业的采购员可能想在路途中知道当前仓库中的动态存货量,销售人员在和客户谈判时可能想立刻获知当前在库产品价格和数量以争取到一笔大的销售定单,你无法预知你的系统用户在什么时刻需要获得计算机服务,传统的管理软件约束了用户更多正常行为。无线技术应用延伸了客户端用户对空间位置的需求,使这些企业需求变为现实。

无线设备编程中的j2me体系

无线接入设备的可定制化编程能力被第三代 (3g) 和grps宽带无线网络所推进,从而可以在无线网络中传输视频信号和高质量的音频信号,而在这些基础网络硬件的推进下,无线设备已不象过去那样提供制造商所固有的编码程序,各种无线设备开发平台逐步形成,并成为业界生产和制造标准,这些设备将支持动态程序下载、自动安装、用户触发执行等功能。java语言最初是用户消费类型产品的编程,非常适合无线设备编程的特点,例如支持广泛的网络协议、安全性、平台交叉的兼容性、纯面向对象的开发过程等。

java技术经过多年的发展,已经是一种非常成熟的编程语言,但是使用传统的java虚拟机和类库并不能够运行在这些资源相当受限的设备上(例如普通手机内存只支持几十到几百字节)。1999年由jcp(java community process,jcp)公布了互联受限设备配置(connected,limited device configuration,cldc),和移动设备描述(mobile information device profile,midp)。cldc为大量不同制造商、不同类型的互联资源受限设备的java平台提供了"最低公共标准"的核心类库和java语言、虚拟机等特征,并将定义的范围缩到最小,已能够适应广泛的无线设备,而midp则基于cldc定义的平台之上,针对移动设备而扩展的一些api。这些规范和通用框架被称为java 2平台微缩版(java 2 platform,micro edition,j2me




但是j2me并不能定义所有设备制造商、其他原始设备制造商所拥有的特性,列如motorola java手机(下面的无线设备就以kjava手机为例)可能与palmos提供不同的手机特性,为此各厂商提供自己的oem类库来访问特定的功能。

j2me提供了开发无线应用的标准类库,作为这篇文章最关心的部分,j2me提供了通用的支持输入\输出的互联框架,使用这个框架允许无线设备具有网络通讯输入\输出的可编程能力,如下图所示:

调用格式:


connector.open("<protocol>":"<address>":"<parametes>");

所有的连接都通过调用javax.microedition.io.connector类中的方法open来创建,通过这个连接类,我们可以方便的实现无线设备与pc服务器进行tcp/ip的socket的通讯:


streamconnection conn=(streamconnection)
connector.open("socket://www.cn-java.com:8080");
inputstream in = conn.openinputstream();
outputstream out= conn.openoutputstream();

在企业实际案例中,应用更广泛的是透过防火墙来访问企业数据库的http方式,我们也可以简单的使用下面的方式来实现无线设备与pc服务器进行tcp/ip的http通讯:


httpconnection conn=(httpconnection)
connector.open("http://www.cn-java.com/index.php";);
inputstream in=conn.openinputstream();
outputstream out= conn.openoutputstream();



在cldc定义的框架中,所有connection都继承了实现了connection接口,如下图所示:





在midp提供了一套标准的用户界控件面库和屏幕模型,屏幕模型是midp界面的核心概念,屏幕模型可以帮助开发者根据不同需求组装成不同的屏幕,有两种屏幕类型:canvas和screen。canvas可以允许开发者在屏幕上画置图形、响应用户输入的低级对象,功能灵活,但编程难度较大,而screen则是一个封装了完整用户界面的高级对象(alert、list、textbox、form)。一个完整的应用可以由两种类型的屏幕交互组成。

如果屏幕类被扩展了form类型,则可以在form中包含下面的item类:
stringitem -显示字符串
imageitem -显示图象
textfield -受限的文本输入
datefield -显示日期时间
gauge -显示图形化的值
choicegroup - 单选和多选框

一般情况一个简单的界面应用可以由screen类型的屏幕完成,如果应用界面比较复杂,则需要使用canvas方式将画面一一画出,并自己写程序负责事件的响应机制。

在原有旧系统上实现无线设备的数据交换

应用无线设备让企业管理系统更加高效和灵活,但是更多的计算机管理软件系统在当初设计时可能并未考虑过实现无线设备应用,在企业的软件投资过程中,投资应当受到合理的保护,给遗留系统添加无线设备访问能力成为一个值得研究的课题。

1.可行性分析

传统企业管理系统一般为c/s、b/s或混合而成,支持无线设备的首要条件是网络环境。kjava手机或其他java无线设备可以通过http或socket协议访问inte.net资源,因此,企业数据库必须能够通过互联网进行访问,如果企业管理系统由于硬件环境不能接入inte.net,则与普通无线设备进行交互的可能性不大。在物理环境下,企业数据库必须能够与外界inte.net进行数据交换。

无线设备作为一种资源受限设备,相较pc程序而言只能完成比较简单的界面交互,内存和cpu处理能力的限制使不进行大规模数据计算和图形处理,屏幕和键盘输入设备也不是很方便,开发成本也较高。因此,需要分析哪些业务数据是有必要与无线设备进行数据通信。由于各种kjava无线设备厂商生产的设备在除了支持j2me标准外,一般都会增加一些oem特性,以能够访问其设备特性,因此需要考虑到支持市面上哪类家族的无线设备,是nokia系列还是moto系列,也可以为不同家族的手机开发出不同j2me程序(在ui控制方面有自己的开发包)。

2.制定客户端与服务器端通讯接口标准

无线设备中的java虚拟机只提供了设备的可编程能力,数据的io传输等,因此,在开发服务器端系统和客户端(无线设备)系统前需要制订出一套完善的通讯接口。要制订这一个接口首先应该清楚的是当两者通讯时,我们一般会使用流的方式,既把一个请求数据或响应数据编码成一个长的流,流内包含的数据使用约定的分割符号进行界定,例如发送登录命令的请求流的编码顺序可能是这样的:
login jackliu 123456 解释:login 表示登录请求,一个空格后表示跟随一个用户名,另一个空格跟随口令,但也可能是这样的 01 _name[jackliu]name_ ps[123456]ps_ 解释:01表示登录请求,_name[和]name_之间表示用户姓名,_ps[和]ps_之间表示登录口令,可以看出流的编码方式是多样的,只要能够让服务器端和客户端识别,遵循简单、通用的原则制定即可(也可以使用xml语言来描述,但是我觉得目前手机内存和cpu计算能力较弱,适合j2mexml解析器也不多)。

3.开发服务器端响应系统

无线设备不支持直接访问数据库的能力,而企业管理系统多数都由大型数据库支持,因此我们需要编写一套服务器端程序来接受无线设备的请求指令,通过解析请求、执行逻辑、响应结果的方式把数据再传回给无线设备。旧的原有系统很可能采用非java语言开发,如果服务器端系统使用java语言开发可能对原软件供应商存在技术障碍,同时原有系统逻辑不容易与java集成。在这种情况下,服务器端程序就不一定使用java编写,由于是使用http或socket通讯,使服务器端程序可以由任何支持http协议或socket协议的程序语言编写。

[1] [2]  下一页


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons