10种无线技术全接触(上)

相关专题: 无线
  编者按:Java语言能够完善无线应用从而使开发者更好地满足企业的需求。一直以来,Java语言都是移动和无线应用程序的最佳平台,但是现有的技术使Java难以应用到应用程序中去。比如设备的处理功率能力不足,网速太慢和网络不安全等问题。直到设备和网络提升了速度才得以支持运用无线技术的应用程序。Java在使用网络资源方面强调的安全性和高效性使其成为在小而功能强大设备上(如智能电话和手持电话)构建企业应用程序的理想平台。这里列举出10种重要的能够完善无线应用程序的技术,以及它们对于Java开发者而言至关重要的原因。



  之一:WAP技术



  移动设备(诸如智能电话和PDA)正在被充分应用到企业应用架构之中。这种想法最初是逐渐潜入人心的,但是发展趋势却显而易见:企业用户正在将移动设备运用到日常工作当中。这就是结构设计者在勾画应用于整个企业的程序结构时需要考虑将Java运用到电话中(甚至给手机配备基本的上网功能)的原因。



  基于Wireless Application Protocol (WAP)技术的具有浏览网页功能的手机在北美和欧洲一带逐渐流行起来。WAP是由无线应用协定论坛(the WAP Forum)发展并流传开来的,该论坛是由一群无线和通讯产业的公司组成,发布了能够在无线设备上所使用Web内容和应用的“产业标准” 规范。于近期被认可的WAP版本是2.0版,但要到2003年我们才可能看到支持该版本的手机批量问世。目前,WAP1.1和WAP1.2.1版本是最为流行的。



  WAP开发要点:



  在企业Web应用程序中将诸如电话和PDA等基于WAP的设备作为最终用户。



  虽然通过使用HTTP和HTML等著名的协议会使WAP2.0开发更容易些,但近期内我们仍需要以WAP1.x为途径进行开发。



  编写服务器端代码使其可以生成HTML和WML,同时也要考虑屏幕大小和数据流量。



  虽然有可用的代码转换器及HTML和WML间的转换器,但很少能够将设计漂亮的HTML页面转换成同样漂亮WML页面。你需要有特殊设计的中间件或使用系统自带的XML/XSL解决方法。



  WAP Forum 在设计1.x版本的时候是经过深思熟虑的,但它和我们熟知和喜爱的3W协议 (比如HTTP, SSL 和HTML)并不兼容。WAP1.x堆栈被定义为五层,自底向上依次是:WDP (Wireless Datagram Protocol), WTLS (Wireless Transport Layer Security), WTP (Wireless Transaction Protocol), WSP (Wireless Session Protocol), 和 WAE (Wireless Application Environment,包括 Wireless Markup Language 或 WML, 以及 WMLScript )。每一层都和3W堆栈层面大致吻合:WDP->IP, WTP->TCP, WTLS->SSL/TLS, WSP->HTTP, 以及WML->HTML。



  2002年,WAP Forum引入3W协议并将其加入WAP堆栈当中。如今WAP2.0开发者能够象使用WAP 1.x协议一样运用TCP/IP, HTTP和SSL, 以WAP2.0电话为目标进行开发。虽然现在难以确定这种双向方法是否可行,这种做法无疑使WAP与World Wide Web Consortium 和IETF( Internet Engineering Task Force)的建议和标准更好的同步。WAP协议和3W协议的合并将很可能使无线Web应用更容易投入使用,但是如何设计一种可以良好运用于大或小的form factors的程序显示还是具有一定的挑战性的。Web设计师不得不用一种不同的方法在小型设备上进行页面设计,同时平衡移动设备的优点(诸如轻便性,及时性和位置识别性)和缺点(诸如传输速度慢,显示屏太小,以及输入法笨拙



  之二:移动标示语言和开发要点



  移动标示语言(Mobile Markup Languages),建立并传送信息到移动设备上(例如Web电话,传呼和手持设备)的过程和将其建立和传送到台式电脑或其他Web应用程序的过程相似。当然它们也有重要的差别。开发者必须因为移动设备屏幕更小,内存更小,计算能力较弱,以及数据流量更小而做出各种权衡。因此,许多传送到移动设备中的内容没有象在Web的目前标示标准HTML4.0的版本中那样被完全格式化。这里有三种被推荐的替代方法:



  ·WML



  ·Compact HTML (cHTML)



  ·XHTML Basic 及 XHTML Mobile Profile



  WAP是一套包含WML的协议,它符合XML1.0标准。WML是一个由WAP Forum设计并实施的全球工业标准。WAP2.0中对WML和低层传输协议进行了重要改进。WAP Forum设计的2.0版本将适应W3C中关于HTTP 和XHTML的标准,安全性更好,更新后的用户界面和输入法将跟上移动电话硬件的飞速发展。



  移动标示语言开发要点:


  ·应重新设计内容和应用,尤其是面向移动设备的。


  ·应通过平衡移动设备的便携性和屏幕大小以及数据流量而突出其特性。


  ·应使用中间件和服务器端生成动态页面来支持多种标示语言。



  cHTML是由Access公司推出的一种标示语言,于1998年被吸收成为W3C标准。cHTML因其用在日本DoCoMo公司提供的时下流行的i-mode无线Web服务中而名噪一时。cHTML和HTML结合使用让i-mode应用发展得以轻松入门。结合DoCoMo公司的低成本B2C传输费用和i-mode在年轻人当中的声望,cHTML的成功指日可待。



  目前,cHTML和WML两种语言处于竞争状态,CHTML的优势是普及广,而对WML来说,作为XML语言的实现者以及被设备制造公司和内容供应商广泛采纳则是其优势所在。如今,cHTML和WML被溶入了结合所有最佳标示选项的HTML新版本-XHTML Basic 和 XHTML Mobile Profile。XHTML Basic 语言规范的制定者来自于各大公司,包括Openwave(Phone.com支持WML),Access Co. Ltd. (支持cHTML), W3C (从 XML 和 HTML 的角度出发), Sun, Ericsson, 以及Panasonic。



  XHTML Basic是XML中对HTML4.01版本的实现。XHTML花费了相当长的时间改进了在HTML规范中的许多模棱两可的问题。在XML的严格引进下,XHTML给浏览用器及其他浏览设备提供了清楚的页面输出导向,并允许使用“模块”组件选择处理浏览器性能的变化。XHTML是HTML的接替版,在未来的版本中所有的浏览器都将支持XHTML。



  2000年12月,W3C发布了XHTML Basic 规范作为限定资源设备的推荐规范。2001年,WAP Forum 和DoCoMo正式采用XHTML Basic作为未来浏览器开发的基本标示语言。XHTML Basic是通过使用XHTML模块来实现的XML文档类型,这些模块是构造XML文档类型的“积木”。XHTML Mobile Profile是增加了用于显示元素和内部style sheets模块的XHTML Basic的扩展集。



  符合WAP2.0技术的设备将通过同时支持WML 1.x 和 XHTML Basic或通过实现XSLT转换来和WML1.x向下兼容。符合XHTML Basic规范的WAP2.0设备将具有先进的用户界面,动画效果,弹出式菜单以及颜色,这些将使得WAP内容与i-mode 内容一致。另外,Access公司和DoCoMo已就向XHTML Basic规范靠拢方面达成部分一致。




  之三:多模式标示语言和开发要点



  多模式标示语言(Multimodal Markup Languages)



  对无线Web程序的开发者来说,最难的一关是设计用户输入法以及在设备上显示出信息,这在很大程度上是一种使用性能大挑战。对许多缺乏耐心的人来说在电话的数字键盘上打字是最为乏味和痛苦的。而且,电话机以及手持电话的屏幕太小也会使信息难以阅读,并给大量信息的显示造成一定困难。



  现在有一种方法可以使这种情况得以改善,它可以在一定程度上解决问题,而且效果非常明显:使用语音传输。每种电话的听筒都有一个扩音器和扬声器用于语音的传入和传出。很多PDA产品都配有扩音器和音质良好的扬声器。有了这些语音传输工具,移动程序设计者就可以给用户提供一种其他方法去捕获和传送信息。



  多模式标示语言开发要点:



  绝大多数人将电话作为通话手段,其次才是将它作为数据终端。



  研究智能电话的Java开发者通过结合使用XHTML+Voice 和 SALT设计出多模式程序(包括语音,文本,图形),并以此同时满足消费者和公司的要求。



  尽管XHTML+Voice 和 SALT还处于早期开发阶段,但它们很可能迅速流行起来。而VoiceXML(XHTML+Voice 的前身)则被广泛用于只传输声音或其他交互式声音回应程序当中。



  但是如何将语音传输功能运用到无线Web应用中去呢?在VoiceXML中定义了一套用于捕获和传送语音的的语言,但它不支持例如文本,图形或视频等其他形式的输入和输出。IBM和Motorola以及Opera共同研制了一种在Web程序中加入声音,文本和图形等多种性能的的方法:模块化 VoiceXML 2.0并将它结合到XHTML当中 (XHTML+Voice)。这种方法与W3C所提倡的在内容的形式化、使XHTML易于扩展及保持该语言的灵活性方面的指导思想相一致。XHTML+Voice支持语音合成,语音对话,命令,控件以及语音语法。



  SALT(Speech Application Language Tags)是另一种解决方法,和XHTML+Voice不同,SALT 不但没有借助于VoiceXML,反而特意避免VoiceXML的开发模式以及VoiceXML支持本语言中特有的重用性。SALT能够充分利用支持语言的所有事件和脚本。例如,在使用HTML时,SALT标签的用法就和其他HTML标签一样。SALT标签可以通过使用脚本和包含属性,方法和事件等进行设计,而这些属性,方法和事件可以通过HTML页面的文档对象模式进行访问。这并不是说SALT是绑定在HTML上的,其实SALT标签能够和SGML家族中的任何标示语言结合使用,比如Wireless Markup Language,Compact HTML,以及用在移动电话和手机上的具有新特性的XHTML profiles。同时开发者也可以将SALT和一些可视性标示结合使用,比如WML,XHTML,或用于只传输声音(voice-only browsing)的标示(2000年12月,W3C发布了XHTML Basic 规范作为限定资源设备的推荐规范。2001年,WAP Forum 和DoCoMo正式采用XHTML Basic作为浏览器未来开发的基本标示语言。XHTML Basic是通过使用XHTML模块来实现的XM在这一点上和VoiceXML很相似)。




  之四:短信传送和开发要点



  短信传送(Short Messaging)



  Short Messaging Service (SMS) 短信息服务是指在无线电话或传呼机等无线设备之间传递小段文字或数字数据的一种服务。SMS是一种相对较简单和可靠的技术。SMS在1992年首次出现在GSM电话中,而今所有的主要无线设备都支持它,而且大多数移动电话都有发送和接收SMS信息的功能。有数据显示仅在2001年的12月其间全球就有300亿条文本消息被发送出去。用户可以通过电话键将160个以内的数字或字母仔细地输入一条SMS信息中。用户也可以借助使用缩写字母或者其他捷径轻松完成信息输入过程。



  短信息开发要点:



  SMS的地位已经确立;而EMS和MMS直到2002年底或更晚才会流行起来。



  SMS并不容易开发,将短信和程序结合起来的最简单的方法是使用第三方工具,比如Simplewire的 Java SMS SDK 和 object XP jSMS。



  EMS是SMS的升级版本,而MMS是其未来版本,它要求使用3G无线构架模式。



  如果WAP2.0连同OpenWave中的新兴浏览器能在今明两年赢得市场,那么MMS会很快流行起来。



  由于短信息的流行,老式的SMS面临着革新。一种新的换代产品增强型信息服务(Enhanced Messaging Service EMS)问世了,它使用了SMS技术并新增了对二进制对象如声音、图像和动画等的支持。EMS可以使用预加到手机中的图像和声音。接收的信息中可以参照这些对象而不用将其下载。由于EMS对象是二进制编码,所以会使开发过程就变得更复杂一些,而且会比单一的文本信息载荷更容易出错。因此在使用SMS或者EMS系统的界面中编写代码不是轻松的工作。Simplewire的 Java SMS SDK和object XP的 jSMS等产品将同各种SMSC进行交互的大量细节方面的内容掩藏了起来,并给用户呈献一种清晰的对象界面以执行传信功能。



  一些手机制造商正在研究一种更为前卫的多媒体短信发送功能。这种多媒体信息服务(MMS)是在SMS产生10周年后的一个新生代产品。MMS使用XML格式和现有的HTTP及WAP基础结构。MMS在产业界有着强大的后盾,WAP Forum已将其加入新的WAP 2.0建议书中,而手机制造巨头Nokia, Motorola, 和Ericsson也开始将MMS用于他们未来的产品中。MMS网络将手机和其他MMS用户连接到MMS代理和服务器上,它们会依次连接到Internet电子邮件服务器上,以及SMS和EMS系统中。这样将会使开发者轻松进入传信系统中,只要使它兼容于我们熟知的Web和无线开发界面及工具就可以了。



  MMS已被安装到50多种装置上,但要普及的话恐怕要等到更快性能更好的第三代网络和电话的问世了。在它的首次迭代过程中,MMS使用了W3Cd 一个标准-Synchronized Multimedia Integration Language( SMIL)和WAP的WML作为其基本语言在多媒体信息中体现其文本风格和色彩图像。




  之五:SyncML及开发要点



  SyncML



  信息化同步是无线设备产生之后应运而生的产物。负责管理着我们的日程安排,通讯簿,任务目录和电子邮件的个人数字助理和智能电话通常并不能完全发挥其作用,除非将他们的信息库与个人电脑中的类似信息库或者企业信息服务器相连才能将其完全利用。有很多实现同步化的方法,但通常最简便的方法也就是最好的方法:用一个普通协议将基于文本的更新材料从一个数据源传到另一个。而SyncML就是这样一种方法。



  SyncML开发要点:



  ·数据同步化是电话和其他移动设备应用的需求。



  ·几乎所有的同步化服务器产品提供者都支持SyncML。



  ·如果你自己处理同步化工作,请在SourceForge中查阅sync4j项目。



  由Ericsson, IBM, Lotus, Motorola, Nokia, Matsushita, Openwave, Psion, 和 Starfish Software提供赞助,SyncML 联盟建立和发行了SyncML协议,它是一种使依从该协议的设备、开发程序和服务在网络中实现信息同步化的通用语言。SyncML用于在HTTP,WSP(会议层协议,基于WAP的无线Web应用),OBEX(一种对象交换协议,它基于红外线和蓝牙技术并用于构建多种操作系统)和低层的TCP/IP以及电子邮件协议诸如SMTP, POP3, and IMAP当中。



  SyncML协议使用XML语言来编译命令和数据并旨在成为和HTTP,SSL,和WAP一样的最好的Web协议,因此它兼容用于Web-friendly移动平台(如J2ME)的开发程序。开发者只需使用最少的工具便可在移动程序中加入同步化性能。用来建立和读取XML文档的剖析器是处理XML执行过程最好的方法,但却不是必须的方法。一条SyncML信息本身就是一个经过处理的包含标题和正文的XML文档。标题由SyncHdr元素和该信息的路由和版本信息组成。正文包括SyncBody元素和同步命令,以及相关数据。



  正文部分是真正执行处理过程的地方。SyncML指定13种必带命令。例如,Add元素可以包括授权认证,指定同步化数据格式的元数据,以及数据本身。这个元数据可以直接被使用,例如,通过调用适当的XML命名空间来确定被附上的数据是一个vCard。然后该数据将出现在“text/x-vcard”命名空间里。



  SyncMl语言有相应的SyncML框架支持,这种框架体现出用于完全的端到端交叉平台同步化解决方案(几乎包含所有移动设备,台式机和服务器数据源)的结构,但是SyncML联盟也不会摈弃现存的端对端单一平台解决方案。Microsoft的 ActiveSync技术在Windows平台上运行的很好并且Windows很可能是其单一平台。然而我们还是期待Microsoft和Palm、IBM等大的移动电话制造商合作,那么其他制造商将有可能实现同单一设备中普通实例间的同步化。




摘自 JavaResearch
   

微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子