新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式环境下Web Service技术的实现

嵌入式环境下Web Service技术的实现

作者:时间:2012-03-21来源:网络收藏

摘要:为了解决系统与其他异构系统之间互联和集成的难题,提出了 Seivice在低端设备上的方法。以ARM Cort ex-M3微处理器为核心,基于小型实时操作系统和TCP/IP协议栈,详细阐述了 过程,包括HTTP接收.XML与SOAP协议的解析,以及同具体服务的绑定,并针对嵌入式下资源受限的特点。给出了相应的优化方法。使用专用测试软件进行的压力测试表明,该实现运行稳定,具有良好的可行性。
关键词: ;XML;SOAP;嵌入式系统

0 引言
近年来随着网络化概念的不断推广,嵌入式系统也摆脱了以往“信息孤岛”的封闭局面,相互之间逐渐形成了分布式的协作关系。然而嵌入式系统在网络的应用层上常常采用自定义的传输协议,加之各系统之间巨大的平台差异性,给系统间的互访以及企业级信息的集成带来了困难。Web 具有良好的跨平台和松耦合特性,能够实现不同平台的分布式系统之间的无缝集成,降低了企业进行设备升级和服务重组时的投入。本文以32位微处理器ARM Cortex-M3为核心,借助于嵌入式TCP/IP协议栈和实时操作系统,在嵌入式下实现了Web Ser vice

1 Web Service与SOAP协议
Web Service是网络化应用的一种,可以将其看成一种函数调用,只不过这个函数的实体存在于某个服务器上,而对函数的调用在客户端进行,客户端只要接入装有服务的机器所在的网络即可调用函数。为了实现这种远程调用,需要对传输的数据格式采取一些约定措施.简单对象访问协议(Simple Object Access Protocol,SOAP)很好地应对了这种需求。SOAP协议以XML形式提供了一个简单、轻量的机制,用于在分布中交换结构化信息。SOAP本身并没有定义任何应用程序语义,如编程模型或特定语义的实现;实际上它通过提供一个模块化的封包模型和在模块中进行数据编码的方法,定义了一个简单的表示应用程序语义的机制。
SOAP消息是由Envelope,Header和Body三部分组成的XML文档,其中Envelope是SOAP消息的根元素,必须在SOAP消息中出现;可选的Hea der元素包含有关SOAP消息的应用程序专用信息;必需的Body元素包含打算传送到消息最终端点的实际SOAP消息。最后,为了进行基于SOAP的远程调用,需要一种低级传输协议。SOAP规范允许使用HTTP,SMTP甚至原始的TCP/IP套接字,其中HTTP协议最为常用。

2 Web Service在嵌入式环境下的实现
2.1 底层软硬件结构
本文中所使用的硬件基于ST公司推出的ARMCortex-M3 32位微处理器STM32F107VC。Cortex-M3是针对价格敏感但又有高系统效能需求的嵌入式应用而设计的ARM内核,作为ARM7的后继者,大刀阔斧地改革了设计架构,显著简化了编程和调试的复杂度,处理能力也更加强大。ST M32F107VC工作频率最高为72 MHz,带有256 KB的片上FLASH和64 KB的SRAM,以及以太网MAC控制器,因此外接一片PHY芯片RTL8201,完成与以太网的物理通信。
为了达到实时任务管理,本文选用嵌入式实时操作系统FreeRTOS和轻量级TCP/IP协议栈1wIP组成底层软件开发平台。FreeRTOS作为一个免费开源的小型实时内核,主要用于建立和管理各个模块的任务;1wIP则为数据的TCP/IP封装提供了一个良好的软件基础。
2.2 SOAP消息的处理
目前已经有许多成熟的SOAP工具,例如针对C++的gSOAP、针对Java的kSOAP等,但是这些实现方案均是为PC机或者带有高级操作系统的嵌入式系统设计的,对资源的消耗较多。对于低端的嵌入式环境,需要更轻量型的处理方法。
由前文可知,SOAP可以简单的理解为HTTP+XML+远程调用规则,因此SOAP消息的处理也分为3步:HTTP协议的实现、XML解析、具体服务实现。其总体结构如图1所示。

本文引用地址:http://www.eepw.com.cn/article/149382.htm

b.JPG

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

c++相关文章:c++教程



上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭