一起谈.NET技术,Silverlight 应用整合

简介:   Silverlight与企业信息化  在企业应用系统中,企业客户不在满足于呆板的Portal、树形结构、数据堆积的表格和满屏的文字描述。企业客户越来越倡导用户体验,Silverlight迎合了这种需求,实现了炫目的体验和丰富交互的应用,更重要的是Silverlight更适合企业应用系统的开发,依靠.Net平台,使用C#高级语言代替JavaScript脚本语言,实现了强大的客户端计算能力、支持多线程,丰富的控件、特效与动画,更可控的浏览器适应性,更安全的沙箱模式,客户端嵌入式数据库等。

  Silverlight与企业信息化

  在企业应用系统中,企业客户不在满足于呆板的Portal、树形结构、数据堆积的表格和满屏的文字描述。企业客户越来越倡导用户体验,Silverlight迎合了这种需求,实现了炫目的体验和丰富交互的应用,更重要的是Silverlight更适合企业应用系统的开发,依靠.Net平台,使用C#高级语言代替JavaScript脚本语言,实现了强大的客户端计算能力、支持多线程,丰富的控件、特效与动画,更可控的浏览器适应性,更安全的沙箱模式,客户端嵌入式数据库等。

  现在企业应用开发有两大阵营,一个是Java,另一个是.NET平台,难道Silverlight只能服务于后者吗?答案:不是。Silverlight定位于,可以快速部署到浏览器中的富互联网应用。Silverlight将要覆盖的领域是“客户端应用程序”和“媒体体验”。Silverlight是为连接到主机的网页内容而设计的,其特点是不但用户可深入地参与到交互中,而且应用还可在任何浏览器中运行。

图1 Silverlight各组件之间的关系

  “Silverlight应用”运行于浏览器中的“XAP文件”本身需要使用Microsoft Visual Studio 工具开发,就像“Flash应用”运行于浏览器中的“SWF文件”需要使用AdobeFlex工具开发一样。“Silverlight应用”可以和“Flash应用”一样嵌入到已有的网页中运行,“应用本身”需要数据时再去向后端服务器通讯,例如:“Flash应用”经常使用的从服务器下载“XML数据文件”后再显示于应用中的通讯方案。

  Silverlight应用通信原型

  Silverlight内嵌在HTML网页中,自然就包含在web浏览器的沙箱内。非常重要的一点是,在Silverlight运行的客户端机器并不需要安装.NET。运行Silverlight应用所需的必要资源全都包含在Silverlight浏览器插件中,所有互操作场景都建立在Silverlight之上。Silverlight应用的最终生的XAP文件,在被用户下载到本地后所有通信任务都是由前端的Silverlight应用通过网络访问后端Server的数据,以回传绑定显示在UI之上。Silverlight支持广泛的网络能力如:REST、SOAP、POX,RSS及标准HTTP服务等网络技术的调用,这部分对前端的Silverlight特别重要。下面所示是通信原型:

图2 Silverlight通信原型

  前端的Silverlight通过网络访问后端服务器的数据,并以在UI之上绑定显示回传数据的过程分为以下步骤:

  1. 内嵌在HTML网页中Silverlight应用发起请求或回传数据。
  2. 客户端内存中的“请求”或“数据”被序列化为可传输的字符串,并发送到服务器。
  3. 服务器接收并反序列化传输的字符串为请求或数据到服务端内存中处理。

  Silverlight通信技术

  Silverlight提供了丰富的与服务器端通信能力,目前Silverlight支持TCP、UDP、Socket等网络协议,以及HttpHandler、WebServices等多种应用层协议,还可以通过WCF RIA Service数据“透明”访问方式(通过向客户端公开数据访问层,屏蔽了通信层手工编码)快速实现实体通信。下面所示为可用于Silverlight的通信技术:

图3 用于Silverlight的通信技术

  Silverlight 运行时支持若干将网络应用程序与远程主机进行连接的主要方法:

序号

命名空间

用途

1

System.Net

WebClient

HTTP

这些类使用 HTTP 或 HTTPS 协议来进行网络通信

2

System.Net.Sockets

套接字

这些类提供一个低级别的套接字接口,该接口可用于更常规的使用单播的网络通信

3

System.Net.Sockets

UdpAnySourceMulticastClient UdpSingleSourceMulticastClient

这些类为 UDP 多路广播客户端提供支持

  Silverlight 运行时直接支持的连接方法,都可用于非.Net平台的技术平台如:JAVA和PHP等。

  数据或命令要正常交换要具备两个必要条件:渠道和通用语义。这里的渠道就是与远程主机的连接方法,这里的通用语义指的就是:“序列化与反序列化”。当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以可保持或传输的格式在网络上传送。把对象转换为可保持或传输的格式的过程称为对象的序列化。把可保持或传输的格式恢复为对象的过程称为对象的反序列化。

序号

类型

通途

1

二进制序列化

保持类型保真度,这对于在应用程序的不同调用之间保留对象的状态很有用例如,通过将对象序列化到剪贴板,可在不同的应用程序之间共享对象。

2

XML 序列化

不保持类型保真度,当您要提供或使用数据而不限制使用该数据的应用程序时。

3

JSON序列化

不保持类型保真度,一种通用的数据格式,有着存储体积小的特点。

  Silverlight应用整合

  在原有应用集成方面,如果服务器端使用.Net平台,那么Silverlight客户端程序可以重用原有通信方式,而不必对服务器端程序有较大改动,如果服务器端使用Java平台,Silverlight也提供标准WebServices、Http、Socket多种交互方式进行通信,服务器端只要进行简单的服务封装就可以实现与Silverlight客户端的数据通信。因此,Silverlight基于.Net提供了快速与服务器端程序集成的能力。事实上,在笔者所开发的项目中,已经实现了Silverlight客户端与.Net、J2EE(通过REST接口)、Tuxedo(通过SALT接口)的数据通信。

图4 原有应用集成

  因此,Silverlight基于.Net提供了快速与服务器端语言集成的能力。事实上,在笔者所开发的项目中,已经实现了Silverlight客户端与.Net、J2EE(通过REST接口)、Tuxedo(通过SALT接口)的数据连通性。

  Silverlight 以前对于支持网络的插件的设计将连接性限制到主机或源站点。这意味着,Web 应用程序只能向后与其部署服务器通信,因此,网络应用程序可以连接到从中下载它们的主机。Silverlight 2 和更高版本包括对跨域连接的支持,这使得应用程序可以访问并非源站点的其他位置中的资源。这是一个重要的功能,它使 Silverlight 应用程序可以使用 Web 上的现有服务。

  结束语

  企业客户越来越认识到RIA技术对于企业应用的重要性,而Silverlight就是实现企业应用RIA重要的选择之一。Silverlight 定位于“客户端应用程序”,无论是互联网应用中,还是企业应用中,都可以为使用者带来的愉悦感和价值感。在Silverlight的数据与通信的中,除了通信渠道与序列化的问题外,最值得注意的两点:异步模式与同步模式的区别、不同开发平台的数据类型匹配问题。

目录
相关文章
|
7天前
|
C# Android开发 iOS开发
2025年全面的.NET跨平台应用框架推荐
2025年全面的.NET跨平台应用框架推荐
55 23
|
23天前
|
开发框架 算法 .NET
C#/.NET/.NET Core技术前沿周刊 | 第 15 期(2024年11.25-11.30)
C#/.NET/.NET Core技术前沿周刊 | 第 15 期(2024年11.25-11.30)
|
23天前
|
开发框架 Cloud Native .NET
C#/.NET/.NET Core技术前沿周刊 | 第 16 期(2024年12.01-12.08)
C#/.NET/.NET Core技术前沿周刊 | 第 16 期(2024年12.01-12.08)
|
2月前
|
自然语言处理 物联网 图形学
.NET 技术凭借其独特的优势和特性,为开发者们提供了一种高效、可靠且富有创造力的开发体验
本文深入探讨了.NET技术的独特优势及其在多个领域的应用,包括企业级应用、Web应用、桌面应用、移动应用和游戏开发。通过强大的工具集、高效的代码管理、跨平台支持及稳定的性能,.NET为开发者提供了高效、可靠的开发体验,并面对技术更新和竞争压力,不断创新发展。
108 7
|
2月前
|
开发框架 安全 .NET
在数字化时代,.NET 技术凭借跨平台兼容性、丰富的开发工具和框架、高效的性能及强大的安全稳定性,成为软件开发的重要支柱
在数字化时代,.NET 技术凭借跨平台兼容性、丰富的开发工具和框架、高效的性能及强大的安全稳定性,成为软件开发的重要支柱。它不仅加速了应用开发进程,提升了开发质量和可靠性,还促进了创新和业务发展,培养了专业人才和技术社区,为软件开发和数字化转型做出了重要贡献。
47 5
|
2月前
|
传感器 人工智能 供应链
.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。
本文深入探讨了.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。通过企业级应用、Web应用及移动应用的创新案例,展示了.NET在各领域的广泛应用和巨大潜力。展望未来,.NET将与新兴技术深度融合,拓展跨平台开发,推动云原生应用发展,持续创新。
51 4
|
2月前
|
开发框架 .NET C#
.NET 技术凭借高效开发环境、强大框架支持及跨平台特性,在软件开发中占据重要地位
.NET 技术凭借高效开发环境、强大框架支持及跨平台特性,在软件开发中占据重要地位。从企业应用到电子商务,再到移动开发,.NET 均展现出卓越性能,助力开发者提升效率与项目质量,推动行业持续发展。
42 4
|
2月前
|
机器学习/深度学习 人工智能 Cloud Native
在数字化时代,.NET 技术凭借其跨平台兼容性、丰富的类库和工具集以及卓越的性能与效率,成为软件开发的重要平台
在数字化时代,.NET 技术凭借其跨平台兼容性、丰富的类库和工具集以及卓越的性能与效率,成为软件开发的重要平台。本文深入解析 .NET 的核心优势,探讨其在企业级应用、Web 开发及移动应用等领域的应用案例,并展望未来在人工智能、云原生等方面的发展趋势。
49 3
|
2月前
|
敏捷开发 缓存 中间件
.NET技术的高效开发模式,涵盖面向对象编程、良好架构设计及高效代码编写与管理三大关键要素
本文深入探讨了.NET技术的高效开发模式,涵盖面向对象编程、良好架构设计及高效代码编写与管理三大关键要素,并通过企业级应用和Web应用开发的实践案例,展示了如何在实际项目中应用这些模式,旨在为开发者提供有益的参考和指导。
48 3
|
2月前
|
开发框架 安全 Java
.NET技术的独特魅力与优势,涵盖高效的开发体验、强大的性能表现、高度的可扩展性及丰富的生态系统等方面,展示了其在软件开发领域的核心竞争力
本文深入探讨了.NET技术的独特魅力与优势,涵盖高效的开发体验、强大的性能表现、高度的可扩展性及丰富的生态系统等方面,展示了其在软件开发领域的核心竞争力。.NET不仅支持跨平台开发,具备出色的安全性和稳定性,还能与多种技术无缝集成,为企业级应用提供全面支持。
46 3

热门文章

最新文章