摘要 "和欣"嵌入式操作系统基于CAR构件技术、支持构件化应用的操作系统,是家863支持的TD-SCDMA的操作系统标准。本文利用"和欣"嵌入式操作系统提供的一系列API及其CAR技术,实现了一个在"和欣"嵌入式操作系统上部署和提供WEB SERVICE的组件。
关键词 "和欣"嵌入式操作系统 CAR WEB SERVICE
引 言
嵌入式Internet是近几年随着嵌入式系统的广泛应用和计算机网络技术的发展而兴起的一项技术。嵌入式系统凭借其以应用为中心、以计算机技术为基础、软件硬件可裁剪的特点,赢得了巨大的市场,在应用数量上远远超过了各种通用计算机。随着Internet的发展,各种设备都产生了连接性的需求,从冰箱到电表,似乎所有电器都需要连入因特网。通过为现有嵌入式系统增加因特网接入能力来扩展其功能,以Internet为介质实现信息交互的过程,就产生了嵌入式Intefnet技术。
当前,在诸多的嵌入式操作系统上开发应用的模式与传统的桌面应用开发方式相差无几CONTROL ENGINEERING China版权所有,基本上采用强类型的系统编程语言(如C、Java)及其相应的开发模式来进行。随着嵌入式设备特别是移
但是在家电高度智能化的今天,仅仅对传统的计算机进行软件集成是不够的,还必须考虑到各种嵌入式设备。如何让各种手机、PDA使用原先只有传统计算机才能实现的服务CONTROL ENGINEERING China版权所有,如何将电视机、微波炉等家电无缝集成到分布式系统中而不再需要驱动,这些都对计算机软件体系提出了新的挑战。本文利用"和欣"嵌入式操作系统的WEBSERVICE构件解决了上述问题。
1 和欣嵌入式操作系统和CAR构件技术
1.1 和欣嵌入式操作系统
"和欣"嵌入式操作系统是一个我国完全自主研发、完全自主知识产权的国际先进的嵌入式操作系统,在国内是最适合嵌入式设备搭建而向服务软件结构基础的嵌入式操作系统。
"和欣"嵌入式操作系统是一个基于构件化软件模型的系统,构件化软件设计思想贯穿于整个系统的设计与实现中。系统实现本身就是构件模式,除内核中最底层的控制部分外,所有系统功能都是以构件接口形式提供的。另外,操作系统为构件化软件模型提供了必要的运行环境,来源不同的构件可以在该环境上实现互操作。系统提供了构件自动寻址/自动加载机制,用户不必知道调用的构件程序是本地的还是来自子网上。也就是说,构件运行环境可以对用户透明,构件化系统的实现,使得操作系统本身具有高度的灵活性和扩展性。"和欣"采用的构件技术是CAR技术。
1.2 CAR构件技术
CAR(Component Application Run-Time)是一个国内自主知识产权的构件系统,是由上海科泰世纪科技有限公司开发的新一代的构件系统。其主要特点是从操作系统层面上引入"构件"的概念,所有的服务都由构件来提供,从而实现软件的目标代码级的重用。CAR是新一代的构件系统,为网络编程和网络服务提供了强大的支持。同时,CAR是一个面向构件的编程模型www.cechina.cn,它表现为一组编程规范,包括构件、类、对象、接口等定义与访问构件对象的规定。
2 在"和欣"上实现WEB SERVICE组件
2.1 "和欣"WEB SERVICE组件总体架构
"和欣"WEB SERVICE组件主要由以下几部分组成:XML解析器(此处仅实现了1个DOM解析器),1个基于XML解析器的SOAP文档解析器,1个基于XML解析器的WSDL文档解析器和生成器,1个CGI(作为HTTP服务器)以及1个基于XML解析器的WEB SERVICE配置文档解析器。总体上WEB SERVICE提供的组件如图l所示。
整个组件的主程序就是一个CGI的HTTP服务器,在启动时就调用配置文件解析器。配置文件是一个XML文档,用于配置和发布WEB SERVICE方法,包括HTTP服务的端口号,系统中的WEB SERVICE方法(将是一些CAR组件)及其调用方式和输入/输出数等。之后就把这些内容存放在内存中,对配置的SOCKET端口进行侦听,等待HTTP请求。HTTP服务器接收的HTTP WEBSERVICE请求包括HTTP GET/POST和SOAP两种,服务器接收到SOAP请求之后就通过SOAP解析器进行解析,确定调用的是哪个WEB SERVICE方法,找到后就调用相应的CAR组件,并输入参数;用SOAP解析器将得到的结果包装成一个结果SOAP文档,然后从原端口返回给客户。
这里只提供了简单的SOAP接口解析控制工程网版权所有,要进行客户端编程时可以使用;而且"和欣"嵌入式操作系统上已有标准浏