[Feature phone系列]浏览器软件架构和实现原理

2007年在手机游览器领域,WAP是主流标准. 当时全球掌握WAP浏览器核心技术的公司大概只有4家:
美国的Openwave(Motorola);

瑞典的Teleca(Obigo);

日本的Access(Netfront);

韩国的Infraware;

手机上浏览器的实现架构分析:

UC,  最先推出C/S(客户端/服务器)处理架构,将主要数据处理内容交由中间件服务器去做,手机端只负责简单的数据加/解密以及页面重排展示,解放了软件对手机硬件的依赖.
Obigo浏览器, 直接在手机本地进行数据解析,对手机硬件性能以及网络状况依赖很大.
EMCS mBrowser, 直接在手机本地进行数据解析,对手机硬件性能以及网络状况依赖很大
Opera Mini,使用C/S架构,但软件对手机硬件有一定的要求.
NetFront, 直接在手机本地进行数据解析,对手机硬件性能以及网络状况依赖很大.

WAP浏览器架构和实现原理:


移动嵌入式设备的局限性:

由于嵌入式设备的CPU能力、屏幕大小、网络环境、内容容量限制等问题,手机上的浏览器的软件架构和实现要比PC复杂一些.

1.CPU:

    一般的feature phone上的主频在104MHz或以上.因此要确保手持设备上的浏览器能够访问web,那么该浏览器应该能够工作在104MHz一下的主频环境.

2.内存:

   目前的feature phone上的RAM配置一般是在4M RAM 和16~32M Nor Flash.

3.显示屏:

   在mobile上,LCD都是比较小的比如:176X220 , 240X320等,现在的智能机很多都开始朝大屏幕发展.由于显示屏的大小的限制,那么UI排版方面就要根据具体的LCD大小做调整.

4.操作方式:

   mobile上的浏览器操作方式已经从键盘操作方式开始往触屏方式演进了.因此对触摸屏gesture事件的支持是必须的.更有甚者还要达到多点触控的效果.

5.低功耗:

    对电池的续航能力是一大考验.


移动嵌入式设备上浏览器的技术点剖析:

1.通信协议:

   Feature phone上必须支持WAP协议[目前的WAP2.0],而且现在也必须要对HTTP协议的完全支持.如果有敏感数据的交互的话,需要使用SSL协议[secure sockets layer].

2.技术规范:

   a. HTML的支持,未来看HTML5了,  [超文本标记语言,Hypertext Markup Language];

   b. CSS的支持,未来看CSS3了,  [Cascading Style Sheets, 层叠样式表单];

   c. XML的支持,支持DOM[Document Object Mode,文档对象模型],W3C 文档对象模型[DOM]是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口, 使用DOM接口便捷的访问XML;

   d. JavaScript的支持, JavaScript是一种广泛用于客户端网页开发的脚本语言,最常是于HTML上使用,用来给HTML网页添加动态功能。

   e. 图片和动画格式的支持, Jpeg,BMP,PNG,GIF 和Flash格式的支持;

    f. POP3 和SMTP的支持,这个是可选功能;

目前流行的移动浏览器:

    Opera/UC浏览器/腾讯浏览器/但是这几个都是Smart phone上的弄潮儿.

     Feature phone上有:

     Access EMCS WAP 2.0浏览器:

      

           Teleca的 Obigo浏览器:

                                  

WAP网络架构图:

                                     

WWW模型:

            传统浏览器的客户端服务模式:

                                                                           

                                                                                              WWW logical model


                                                                  

                                                                                        www programming model


WAP model:

                                                                   

                                                                                                 WAP programming model

                                    

                                                                                        Feature/Performance-Enhancing Proxy

WAP Proxy提供了很多功能,包括:
1.Protocol Gateway, 协议网关翻译来自无线协议栈的request到WWW协议[HTTP和TCP/IP].网关同时也根据client请求的URL执行DNS查找服务名.
2.Content Encoder and Decoder, 内容编码被用来转换WAP内容为一种压缩格式,便于压缩后更好的利用下层链路.
3.User Agent Profile Management, 提交给应用程序的描述客户端的容量和性能的配置文件.
4.Caching Proxy, 通过维护频繁访问资源的cache,来提升性能和网络利用率的体验.


WAE模型:

                  WAE是基于无线通讯网络开发应用和服务的一个行业标准和规范, 是一个在手持移动终端上被标记语言[包括WML和XHTML]、脚本、层叠样式表、电话服务以及编程接口使用的微型浏览器环境.

                                       

                                                                                                WAE Model



WAE环境架构:

         从下图来看,WAE包含两个逻辑层:

         1> User agents, which includes such items as browsers, phonebooks, message editors, etc;
         2> Services and Formats, which include common elements and formats accessible to user agents such as WML, WMLScript, image formats, vCard and vCalendar formats, etc.

                                               

                                                                                        WAE Client Components

用户代理是在移动终端上用于解释和执行内容的软件。 WAE中的用户代理包括WML用户代理和WTA(无线电话应用)用户代理,当然也可以有对应于其他应用的其他用户代理。

WML用户代理,是基本的用户代理,支持WML和 WMLScript,可以向WAP网关发出请求,接收WAP网关发送过来的内容(WBXML或 WMLScript字节码),正确解释、执行并显示

WTA[Wireless Telephony Application] user agent,  是一组对电话呼叫和特征控制机制所做的特定扩展,向内容创建者和最终用户提供高级移动网络服务.


WML 用户代理逻辑架构

                                                  

                                                                                           WML User Agent Logical Architecture

WML 是WAP定义的一种XML文档类型,它以HTML 和HDML为基础,针对无线网络和移动终端的特点做了简化和优化,因此,从语法、语义到文档结构都与HTML非常相似.

在WAP中,一个WML文档称为一个“deck”,一个 “deck”内包含若干个“card”,“card”是用户浏览和交互的单元,包含了呈现给用户的信息以及用于收集用户输入的指令.

WMLScript 是用于 WML 页面的脚本语言;
WML 页面可以在 WAP 浏览器中显示;
WMLScript 用于验证用户输入、生成对话框、显示出错消息以及访问用户代理设备等等;

WMLScript在WAP浏览器运行之前,需要先在Server上编译成字节码;

WMLScript并不嵌在WML页面中,WML页面仅仅包含对WMLScript URL的引用;


WAP客户端架构

                                                                

                                                                                                        WAP Client Architecture

WIM,Wireless Identity Module,包含设备标识符和加密信息,意味着
EFI,External Functionality Interface


WAP 详细架构

                                                     

                                                                                                            WAP stack architecture

WAP1.x 和WAP2.0协议架构比较

                                   

                                        WAP1.x                                                                                                                                                      WAP2.0 

          现在基本上都是双栈架构.


浏览器工作原理:

                      

                                                                                                   浏览器的软件架构

现在开始看看WAP browser的架构:

                        

                                                                                             WAP浏览器的软件架构


其实看上面两个架构其实很相似的,只是WAP浏览器多了WML的解析,以及WML script引擎.因为WAP的页面格式就是基于WML的,而且脚本语言是基于WML script的.

随着手机终端的硬件的不断提升,以及未来网络带宽的升级.WAP浏览器和PC端的浏览器差异会越来越小.


WAP浏览器的访问网络的过程

          1.设置接入点名称[APN]:

              // APN, Access Point Name

               AT+CGDCONT=1,"IP","CMNET" //通发送AT指令来设置移动网关的接入点

           2.拨号

              ATD*98#   //通过PPP协议拨号连接, 连接成功后手机终端就可以访问网络了.

           整个过程和PC拨号上网过程一样.


到此,关于WAP浏览器的实现原理和架构大概就这些.

              

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WAP(无线通讯协议)是在数字移动电话、互联网或其他个人数字助理机(PDA)、计算机应用乃至未来的信息家电之间进行通讯的全球性开放标准。这一标准的诞生是WAP论坛成员努力的结果,WAP论坛是在1997年6月,由诺基亚、爱立信、 摩托罗拉和无线星球(Unwi redPlanet)共同组成的。   通过WAP这种技术,就可以将Internet 的大量信息及各种各样的业务引入到移动电话、PALM等无线终端之。无论你在何地、何时只要你需要信息,你就可以打开你的WAP手机,享受无穷无尽的网上信息或者网上资源。   WAP能够运行于各种无线网络之上,如GSM、GPRS、CDMA等。WML是无线注标语言(Wireless Makeup language)的英文缩写。支持WAP技术的手机能浏览由WML描述的Internet内容。   WML是以XML为基础的标记语言,用在规范窄频设备,如手机、呼叫器等如何显示内容和使用者接口的语言。因为窄频使得WML受到部分限制,如较小型的显示器、有限的使用者输入设备、窄频网络联机、有限的内存和资源等。   WML支持文字和图片显示,内容组织上,一个页面为一个Card,而一组Card则构成一个Deck。当使用者向服务器提出浏览要求后,WML会将整个Deck发送至客户端的浏览器,使用者就可以浏览Deck里面所有Card的内容,而不需要从网络上单独下载每个Card。   通过WAP这种技术,就可以将Internet的大量信息及各种各样的业务引入到移动电话、PALM等无线终端之。无论在何时、何地只要需要信息,打开WAP手机,用户就可以享受无穷无尽的网上信息或者网上资源。如:综合新闻、天气预报、股市动态、商业报道、当前汇率等。电子商务、网上银行也将逐一实现。通过WAP手机用户还可以随时随地获得体育比赛结果、娱乐圈趣闻等,为生活增添情趣,也可以利用网上预定功能,把生活安排的有条不紊。   WAP协议包括以下几种:   1、WirelessApplicationEnvironment(WAE)   2、WirelessSessionLayer(WSL)   3、WirelessTransactionLayer(WTP)   4、WirelessTransportLayerSecurity(WTLS)   5、WirelessTransportLayer(WDP)   其,WAE层含有微型浏览器、WML、WMLSCRIPT的解释器等等功能。WTLS 层为无线电子商务及无线加密传输数据时提供安全方面的基本功能。
featurelistfeature是指所需实现的功能列表,每个feature都有其独立的功能和实现方法,下面是一些常见的feature及其实现方法: 1. 用户注册和登录功能:用户注册和登录是绝大多数应用程序的基本功能,可以通过使用身份验证和授权机制来实现。 2. 数据库管理功能:数据库管理功能是指对数据库进行管理和维护,可以使用数据库管理系统(DBMS)来实现。 3. 数据备份和恢复功能:数据备份和恢复功能是指在发生故障或数据丢失时,能够将数据恢复到先前的状态。可以使用数据库备份和恢复工具来实现。 4. 文件上传和下载功能:文件上传和下载功能是指用户可以上传和下载文件,可以使用文件传输协议(FTP)或云存储服务来实现。 5. 搜索功能:搜索功能是指用户可以搜索特定的内容,可以使用全文搜索引擎来实现。 6. 实时通信功能:实时通信功能是指用户可以进行实时的聊天和通信,可以使用WebSocket或即时通讯(IM)协议来实现。 7. 电子邮件发送和接收功能:电子邮件发送和接收功能是指用户可以发送和接收电子邮件,可以使用电子邮件服务器来实现。 8. 数据统计和分析功能:数据统计和分析功能是指对应用程序的数据进行统计和分析,可以使用数据可视化工具来实现。 9. 地理位置定位和导航功能:地理位置定位和导航功能是指用户可以定位自己的位置,并进行导航,可以使用全球定位系统(GPS)或地图应用程序来实现。 10. 支付和结算功能:支付和结算功能是指用户可以进行支付和结算,可以使用第三方支付平台或支付网关来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值