继续这个系列(开始于第1部分和第2部分)我将谈到一个现代的移动多层架构中更多的变化。我们可以看到,最重要的变化是发生在两个层次,第一是我在前面部分中谈到的更紧密的业务逻辑和数据之间的纽带关系。
正如我前面帖子中已经提到的,第二个重大变化在于如左边所示的经典.NET应用体系结构中服务器和客户端交流信息的方式(或更一般的,两个系统或对端交流信息的方式) 。当Web Service来临的时候,我们立刻明白,这将是未来系统间通讯的方式。而当我们写书时,还没有基本的管道工服务,大多数都必须亲自动手:)。自那以来,基本的Web服务技术( XML,Soap,Http等)被补充进来以便更好地支持安全,会话,交易等,以及提供更好的工具支持。网络服务诱人之处在于,他们可以打开一个“被锁住”的架构(即只能提供固定的UX,如同大多数的互联网网站)以开放给任何客户端。该客户可以从任何定制应用到另一个系统,只是希望使用服务和数据。这就是我的Windows Mobile网络服务系列(如电影查找Web服务)的全部意义所在。你们大多数也许会同意,很酷的网站如IMDB,和FlightExplorer通过参加混合应用服务提供更大的价值而变得更好。
在这个变化里WCF是一个很重要的技术,它建立关于Web Service的好东西,并更进一步。这就是为什么.NET Remoting应该被摆在首位,而且,即便因其用途十分广泛而有点模糊不清,其主要的信息是,你可以做任何Web Service能做的事情而且多得多,(而且表现非常好)。因此,我的建议是要很认真研究和评估这一技术是否能够在您的移动应用带来你想要的东西。只是为了让你更感兴趣,它还可以游历多个传输层技术(HTTP , TCP连接,命名管道, MSMQ的,等等) 。然而,并非所有这些传输能在.NET Compact Framework盒子之外得到支持,但一个很好的事情是WCF可以延伸到多个层次(运输,绑定等) 。这提供了解决一个移动应用中的经典问题的能力:我如何能有效地和一个可能被关机的设备进行沟通,这很难处理(IP地址变更等)?有可能使用WindowsMobileMailTransport类,它允许将信息以电子邮件的方式发送。结合使用Exchange Server,电子邮件推送技术(又名DirectPush或永远最新),这意味着,移动应用程序可以建立在和服务器进行非常有效的沟通的基础之上(或其他对端)。
在接下来的帖子中,我将更多的讨论关于现代移动架构上变化的想法,当然会有一些代码示例,以在实践中阐明理论。
相关推荐
3. **Spansion和Discretix合作**:Spansion是闪存解决方案供应商,他们与Discretix合作开发了一种集成Discretix CryptoFlash安全平台的MirrorBit HD-SIM解决方案。这涉及到安全存储技术,特别是对于移动设备中的用户...
这需要综合考虑各个平台的优缺点,构建一种能够适应不同操作系统和硬件环境的架构模型。 总结来说,手机软件架构设计是一项复杂任务,涉及到操作系统、硬件、性能和用户体验等多个方面。通过深入理解各平台的架构...
在移动通信领域,飞信作为一种融合了传统短信与互联网通讯的工具,曾经在中国市场上广受欢迎。本文将深入探讨如何在Windows Mobile操作系统上实现短信与飞信的集成,主要基于提供的“jFxion-J2ME”源码进行分析。 ...
1. **嵌入式开发**:Windows Mobile平台的开发属于嵌入式系统开发的一部分,这意味着我们需要了解嵌入式硬件环境,如处理器架构(通常基于ARM),内存管理以及功耗控制。开发者通常使用Visual Studio或Microsoft ...
本文档主要介绍了基于Android手机平台的吃豆人游戏设计与开发,涵盖了移动设备的发展趋势、Android系统的介绍、国内外手机系统的现状、Android系统的应用和开发等方面的知识点。 1. 移动设备的发展趋势 随着移动...
在第三部分"MEC系统架构"中,我们将深入探讨构成MEC(Mobile Edge Computing,移动边缘计算)核心的组件和设计原则。MEC是一种将计算能力和网络功能推向网络边缘的技术,旨在降低延迟,提高带宽效率,并为用户提供...
在移动设备上开发条码识别软件是一种常见的需求,尤其是在物流、零售和库存管理等领域。本文将深入探讨如何利用Qt框架为HTC Windows Mobile设备开发一款高效的条码识别软件,以实现快速、准确的数据采集。 首先,让...
HTML5是一种强大的技术,可以创建具有丰富用户界面和功能的应用,同时也支持跨平台和跨设备的访问。 首先,让我们来探究为什么开发者会倾向于选择HTML5来开发Web应用。主要的优势包括: 1. 跨系统、平台和浏览器:...
移动MAS机,全称为Mobile Application Server,是一种专为移动设备提供服务的应用服务器。它在企业移动信息化中扮演着重要角色,为企业提供了与移动设备进行数据交互、应用部署和管理的平台。MAS机主要关注于安全、...
在Windows Mobile平台上,开发录音应用是一项常见的任务,尤其对于初学者来说,这通常是学习移动设备编程的第一步。本文将深入探讨如何使用C#语言编写一个简单的录音程序Demo,以及涉及的相关技术点。 首先,我们要...
**JMAF(Java Mobile Application Framework)**是一个专为基于JAVA的移动应用程序设计的开发框架,旨在解决在移动开发过程中常见的问题,如程序结构不清晰、耦合度高,这不利于应用程序的扩展和维护。JMAF采用了**...
OSIOMA(Open Mobile Architecture)是另一种尝试,旨在为移动设备和服务提供更为开放和统一的体系结构,便于不同移动设备和服务之间的兼容性和互操作性。 随着互联网技术的不断进步,移动互联网应用和服务也在不断...
Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...
智能手机是一种具有独立操作系统的移动设备,可以支持用户自行安装软件、游戏等第三方服务商提供的程序,并通过此类程序不断对手机的功能进行扩充,同时可通过移动通讯网络来实现无线网络接入。智能手机具有五大特点...
C#(读作"C sharp")是一种面向对象的编程语言,由微软公司为.NET框架开发,广泛应用于桌面应用、游戏开发以及移动应用等领域。C/S(Client/Server)架构指的是客户端-服务器模型,其中客户端应用程序与远程服务器...