用于Windows CE的Web服务

日期: 2009-01-11 作者:Daniel Rubio翻译:杨君 来源:TechTarget中国 英文

Web服务通常用在内存和磁盘空间要求不是很高的环境里。但是在这些资源及其匮乏的情况下,为什么还需要使用Web服务呢?在嵌入式设备领域,这里的Web服务和数据处理环境下的Web服务大同小异。根据这一点,我们就可以解决Windows CE下的Web服务,Windows CE是嵌入式设备里最主要的操作系统。   Windows CE是专门针对嵌入式设备市场而开发的操作系统。

它和嵌入式Windows XP截然不同,尽管面对的是相似的设备,Windows CE更多的是建立在PC定向基础上的操作系统。另外一点还需指出的是Windows CE是元件化的操作系统,这一点使得Windows CE成为设备制造商使……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

Web服务通常用在内存和磁盘空间要求不是很高的环境里。但是在这些资源及其匮乏的情况下,为什么还需要使用Web服务呢?在嵌入式设备领域,这里的Web服务和数据处理环境下的Web服务大同小异。根据这一点,我们就可以解决Windows CE下的Web服务,Windows CE是嵌入式设备里最主要的操作系统。

  Windows CE是专门针对嵌入式设备市场而开发的操作系统。它和嵌入式Windows XP截然不同,尽管面对的是相似的设备,Windows CE更多的是建立在PC定向基础上的操作系统。另外一点还需指出的是Windows CE是元件化的操作系统,这一点使得Windows CE成为设备制造商使用的众多操作系统的基础。在这些操作系统中,你可以找到用于Pocket PC和Windows Mobile的Windows。在这里我们要说的是Windows CE触及到嵌入式市场的许多设备。

  说完了Windows CE中的Web服务,我们还要谈一谈设计Web服务的受控代码和不受控代码。这两种方法的不同之处在于微软拥有两个顶层编程模块:基于其内存管理功能,一个使用的是.NET框架—复制为‘受控方法’——另一个使用的是COM/DOM对象,经常被称为‘本地方法’,因为它没有集成内存管理功能。

  现在我们来看一下Windows CE设备中Web服务的配置问题,尽管在这样的设备中使用Web服务本身就很有趣,但是在嵌入式设备中部署Web服务就更为强大了。想一想像这样规模的设备可以为SOA中其它的应用提供实时信息,包括从监测到跟踪PC环境下的其它领域的任务,要办到这点似乎不太容易。

  从相似的立场来看,我们将进一步向大家展示在重量级的Windows XP或者Windows Vista中和在轻量级的Window CE中部署Web服务有什么区别。除此之外,相信你对开发Windows应用也会怀有疑问,例如: Visual Studio IDE,有关COM(针对不可授权Web服务)以及.NET方面的知识(授权Web服务),Microsoft,Windows Vista支持编程语言的灵活性。

  将Web服务嵌入COM

  通过研究Windows CE中Web服务的受控版本——或者是认为.NET不可知一类。创建‘本地’Web服务所需要的组件最先是使用微软公司的SOAP工具箱,该工具箱包括Windows CE和PC版本的基本成分相同,可以提供Web服务器以及执行COM对象所需的附属元件。

  要想建立一个针对Windows CE的COM对象,你需要使用能够创建DLL需求的C++,或者eMbedded,VisualBasic之类的工具箱。

  最大的障碍源自COM对象的注册——动态连接到操作系统注册表,但是这个项目和微软正在使用的操作系统没有绑定,并且和微软中的‘不受控’应用工作的方式一样。要想进一步了解对部署‘不受控’Web服务的介绍,请参见Mike Hall撰写得文章:在Windows CE.NET建立本地Web服务。

  用.NET嵌入Web服务

  谈到Windows CE中的受控Web服务,首先你所需要的是.NET压缩框架,这个软件将会在Windows CE管理Web服务。压缩版本和当前最流行的标准版本的不同之处在于,压缩版本缺少受资源限制组件的某些特征,不管是框架类形式还是组件形式。

  一旦在组合Web服务中要考虑逻辑和类,两个框架之间的区别就不太大了。要想克服没有标准.NETWeb服务支持这个障碍——ASMX类型——包括即将部署Web服务的Web服务器。部署使用标准.NET框架的Web服务必须使用ASMX文件和IIS(网络信息服务器)。ASML避免了创建Web服务所需的支持代码,IIS则可以管理‘受控’Web服务。在嵌入的情况下,.NET缺少对二者的支持。

  无论上述所说是否真正阻碍了对受控Web服务的部署,这使得流程更为复杂了,解决这个文体的方式就是创建一个在.NET压缩框架内部运行的小型Web服务器,并用这个服务器处理操作Windows CE设备所产生的服务。关于这一点,我强烈推荐你查阅Richard Jones关于操作Richard Jones设备Web服务撰写的文章,这里面包含了我们创建小型Web服务器所需的源代码,这些源代码用于部署Windows CE上的Web服务。

  在这里,我们关于对Windows CE启用设备部署Web服务的讨论就告一段落了,希望这些关于对受控和不受控Web服务在可携式设备部署之间的比较,而不是针对资源丰富的Windows操作系统,你会更容易了解SOA设计用途的广泛性。

相关推荐