SilverlightERP技术白皮书

上传人:仙*** 文档编号:62148168 上传时间:2022-03-14 格式:DOC 页数:28 大小:3.36MB
收藏 版权申诉 举报 下载
SilverlightERP技术白皮书_第1页
第1页 / 共28页
SilverlightERP技术白皮书_第2页
第2页 / 共28页
SilverlightERP技术白皮书_第3页
第3页 / 共28页
资源描述:

《SilverlightERP技术白皮书》由会员分享,可在线阅读,更多相关《SilverlightERP技术白皮书(28页珍藏版)》请在装配图网上搜索。

1、Silverlight ERP 技术白皮书后台信息部供应链组版本号 : 0.0.0.1360Buy京东商城2011年2月一:SIlverlight 介绍Silverlight 概述:Microsoft Silverlight 是一种跨浏览器、跨平台的 .NET Framework 实现,用于为 Web 生成和提供下一代媒体体验和丰富的交互式应用程序 (RIA)。Silverlight 统一了服务器、Web 和桌面的功能,统一了托管代码和动态语言、声明性编程和传统编程以及 Windows Presentation Foundation (WPF) 的功能。Silverlight特性:1: 基于.

2、Net平台,拥有丰富的基础类库支持,可以快速构建复杂的企业级应用Silverlight拥有强大的.Net平台支持,自Silverlight1.1使用.Net运行时环境以来,Silverlight类库已经得到极大的扩充,并集成了WPF、WCF、LINQ、DLR、COM等.Net平台的优秀技术,下图是MSDN上关于.Net for Silverlight的支持图例。2: 支持多线程,支持UI线程与后台线程分离,具有更大的性能优势Silverlight具有彼此分离的UI线程与后台线程,可以将客户端的耗时操作放在后台线程中处理。这样做有两方面的收益:第一,由于没有在UI线程中执行耗时操作,避免了UI线

3、程阻塞,提高了UI响应速度;第二,由于没有将操作放在服务器端运行,减少了网络的调用开销,同时通过使用客户端资源降低服务器端压力。Silverlight多线程可以通过多种方式实现,比如Dispatcher、BackgroundWorker、ThreadPool都可以轻松创建后台线程,并可以通过事件句柄实现线程间异步通信。3: 丰富的服务器端通信能力目前Silverlight支持TCP、UDP、Socket等网络协议,以及HttpHandler、WebServices等多种应用层协议,还可以通过WCF RIA Service数据“透明”访问方式(通过向客户端公开数据访问层,屏蔽了通信层手工编码)快

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

5、4: LINQ语言的支持LINQ是一种开发高效的声明式语言,开发者通过可以这种类似SQL的语言快速构建数据逻辑,而避免了原有面向对象操作中的复杂过程,当然这只是LINQ的外在表现形式。其实LINQ申明式语言依赖于Lamda表达式,而Lamda表达式的背后是强大的表达式树ExpressionTree,LINQ to Any的真正强大在于将数据逻辑的具体实现方式与书写方式分离开,使开发者使用一种方式就可以访问和操作各种数据对象。而Silverlight集成了LINQ语言,在实际的应用开发中,开发者可以通过更加简单的方式来实现复杂的业务逻辑;另一方面,Silverlight同样集成了强大的表达式树,

6、使得开发者可以通过自行扩展表达式树来构建LINQ To Any的适配器,也可以使用表达式树来构建更加复杂的动态语法和动态LINQ。当然,如果未来微软将PLINQ的并行查询语言集成到Silverlight中,那将使Silverlight的查询性能更近一步。5: 客户端嵌入式数据库支持Silverlight内置独立存储, 通过使用独立存储,数据将始终按用户在虚拟文件系统中隔离,虚拟文件系统可以是根目录中的一个文件,也可以是一个目录和文件树。独立存储数据舱是一个抽象的存储位置,而不是一个具体的存储位置。它由一个或多个独立的存储文件(称为存储区)组成,这些存储文件包含存储数据的实际目录位置。任何类型的

7、数据都可以保存到存储区中。存储区通常驻留在客户端,但应用程序也可以使用服务器上的独立存储。使用IsolatedStorage可以操作独立存储中的数据,但这还不足以实现复杂的数据操作,我们需要在Silverlight项目中引入第三方嵌入式数据库程序集,实现Silverlight可以通过客户端独立存储来建立客户端嵌入式数据库,实现在脱机状态下存储与管理数据。开发者可以通过嵌入式数据库快速构建纯客户端(包括桌面、移动设备等)的信息管理应用,甚至实现基于嵌入式数据库缓存的“云与端”应用。目前支持Silverlight的嵌入式数据库选择已经相当广泛,比如Siaqodb、EffiProz、Perst、Ra

8、pid Repository(WP7 DataBase)等都有专门针对Silverlight的嵌入式数据库与管理工具。6: 3D引擎与丰富的多媒体控制Silverlight基础类库包含MediaElement控件,可以在Silverlight程序中控制媒体对象,也可以通过System.Windows.Media类集对绘图、文本和音频/视频内容进行编程,比如通过Brush、ImageBrush、VideoBrush绘制更加丰富的媒体内容;通过BitmapImage类自定义点阵图片,实现诸如粒子效果的应用;通过System.Windows.Media.Animation类集来创建动画;通过Syst

9、em.Windows.Media.Effects实现模糊、阴影等多种视觉特效;通过System.Windows.Media.Media3D操作3D投射矩阵。Silverlight5还将增加GPU3D加速的API支持,增加3D视觉特效,增加即时模式图形API,允许将图形图像直接呈现到GPU,这些特性的加入将使Silverlight具有更强大的媒体展现能力。7: MEF扩展性管理框架的支持MEF (Managed Extensibility Framework)扩展性管理框架,是.NET平台下用于创建可扩展的轻型应用程序的库。在Silverlight SDK(C:Program FilesMicr

10、osoft SDKsSilverlightv4.0Libraries)中我们可以找到System.ComponentModel.Composition.dll与System.ComponentModel.Composition.Initialization.dll这两个动态链接文件。在Silverlight项目中引用后,就可以使用MEF扩展性管理框架,该框架以声明方式指定其功能,在运行时通过MEF 组合引擎发现部件。应用程序无需硬编码的引用或脆弱的配置文件即可利用相关部件,其依赖项注册的实现方式甚至比基于配置的Spring还要简单,Silverlight完全可以利用MEF构建扩展性极强的企业级

11、应用。Silverlight 页面运行环境当第一次打开页面时,会提示需要安装一个 Silverlight 插件,以后就可直接访问 Silverlight 页面。图:非常友好的Silverlight安装提示窗口。二:SIlverlight ERP 项目架构SIlverlight ERP 架构方面主要有五个特性:Prism 4.0、托管扩展框架 (MEF)、面向对象的嵌入式数据库系统(Perst.Silverlight)、MVVM 模式,WCF RIA Services1:Prism 4.0 Prism是由微软Patterns & Practices团队开发的项目,目的在于帮助开发人员构建松散耦合

12、的、更灵活、更易于维护并且更易于测试的WPF应用或是Silverlight应用以及Windows Phone 7应用。使用Prism可以使程序开发更趋于模块化,整个项目将由多个离散的、松耦合的模块组成,而各个模块又可以由不同的开发者或团队进行开发、测试和部署。目前Prism的最新版本是Prism 4,于2010年11月12日发布。关于如何使用 Prism 复合 Web 应用程序,可以参考如下链接2:托管扩展框架 (MEF)Managed Extensibility Framework 或 MEF 是一个用于创建可扩展的轻型应用程序的库。应用程序开发人员可利用该库发现并使用扩展,而无需进行配置。

13、扩展开发人员还可以利用该库轻松地封装代码,避免生成脆弱的硬依赖项。通过 MEF,不仅可以在应用程序内重用扩展,还可以在应用程序之间重用扩展。如下图是 MEF 的一个形象描述:MEF 网址 基于MEF开发的主要示意图结构如下:主要组成图,由容器、基础类库和属性编程模型组成主要类图注:MEF 的相关信息可参考如下MSDN连接3:嵌入式数据库系统(Perst.Silverlight)Perst是McObject公司的开源、双重授权、面向对象的嵌入式数据库系统(ODBMS)。Perst有两个可用版本,其一是全Java版本的嵌入式数据库,另一版本则是用C#实现的(面向Microsoft .NET框架应用

14、程序)Perst使开发人员能够在使用Java与C#的面向对象方法的同时,在其程序中以最快的速度和较低的内存及存储开销来排序、存储以及检索对象。.NET下Perst允许支持Silverlight数据库的应用程序改善性能(例如:事务、灵活易用的API、多种数据库索引、垃圾回收等等)。含Silverlight的Perst主要用作应用程序设置及网页表单中表格、网格、列表数据的客户端缓存。Perst还可以帮助客户存储利用Silverlight Web应用程序的未完成项目数据。注:相关信息可以参考如下网址McObject已经发布了最新Silverlight数据库的demo,展示了在基于Silverligh

15、t的客户关系管理(CRM)系统中Perst的使用流程。此demo运行于用户浏览器,在本地存储记录,诸如把索引及本地全文搜索进行分类、恢复以及在数据库中写入记录。用户可以在McObject网站启动此程序,并且可以下载完整、带有注释的源代码与文档。4:MVVM 模式。MVVM的提出源于WPF,主要是用于分离应用界面层和业务逻辑层。微软的WPF带来了新的技术体验,如Sliverlight、音频、视频、3D、动画,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了诸如Binding、Dependency Property、Routed Events、Command、DataTem

16、plate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。框架结构图使用MVVM 的原因:MVVM实际上是三层架构,M层(Model实体层)、V层(View表示层,它有DataContext属性,这个属性可以使用DataTemplate模板绑定VM层的数据用来显示)、VM层(ViewModel层,对Model层进行CRUD进行操作,同时对V层提供数据绑定)。这样分层的好处是各部门可以完全独立地工作。命令对象在 Silverli

17、ght ERP 项目中,已经实现了一些UI控件的命令实现和绑定5:WCF RIA ServicesWCF RIA Services简化了N层结构的RIA应用程序的开发。当开发一个N层结构的RIA应用程序时,一个通常的问题就是在中间层和表现层之间协调应用逻辑。为了建立更好的用户体验,你可能想要你的RIA客户端了解在服务器上的应用逻辑,但并不想开发和维护在表现层和中间层上的应用逻辑。现在RIA服务可以解决这个问题,它提供框架组件、工具以及服务来使RIA客户端不用手动复制程序逻辑就能调用位于服务器上的应用逻辑。你所建立的RIA客户端不仅能够了解商业逻辑,而且当每次解决方案编译时会自动更新中间层逻辑。

18、下图显示了一个简单的N层应用程序。 RIA服务集中于在表现层和数据访问层之间的盒子内,目的是使n层结构的RIA客户端开发更简单。RIA服务在Visual Studio中添加工具,使用这些工具能够在一个解决方案中把客户端和服务器端的项目连接起来,并且从中间层的代码中为客户端的项目生成代码。这些组件支持编写应用逻辑的规范模式,所以它能够在表现层中重复使用。提供适于通用情况的服务可以减少开发时间,例如身份验证和用户设置等。可以从RIA服务站点来下载 WCF RIA Services三:Silverlight ERP解决方案结构1:项目相关信息项目名字:JD.SCM.Presentation.ERP_

19、Libs目录:需要引用的dll库。_Services 目录:WCF RIA服务端和客户端代码。_UnitTests 目录:单元测试。Common目录:一些通用的项目,包含 Silverlight 自定义空间集和项目要用到的公共组件。Modules目录:Silverlight Prism所用到的模块。项目名称描述JD.SCM.Presentation.ERPSilverlight 主应用程序。JD.SCM.Presentation.ERP.Modules.MainSilverlight ERP 项目的主模块。JD.SCM.Presentation.ERP.Modules.ProcurementS

20、ilverlight ERP 项目的采销模块。JD.SCM.Presentation.InfrastructureSilverlight ERP 项目的公共组件。JD.SCM.Presentation.ControlsSilverlight ERP 项目所用到的自定义控件。2:类结构图程序集结构图 :JD.SCM.Presentation.ERP项目类结构图:JD.SCM.Presentation.ERP.Modules.Main项目类结构图:JD.SCM.Presentation.ERP.Modules.Procurement项目类结构图:程序集见关系图3:系统界面:系统登陆界面:错误提示:首页【全屏效果图】:注:笔记本全屏效果截图注:宽屏显示器效果截图系统菜单:注:菜单动画新闻:数据显示区域:系统等待条:下拉框效果:Band分级查询页面图书信息编辑页面 360Buy京东商城 版权所有

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!