2.3.1 ADO.NET Entity Framework
ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,早期被称为 ObjectSpace,现已经包含在Visual Studio 2008 Service Pack 1 以及 .NET Framework 3.5 Service Pack 1 中发表。
Entity Framework 利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象 (entity),而数据字段都转换为属性 (property),关系则转换为结合属性 (association),让数据库的 E/R 模型完全的转成对象模型,如此让程序设计师能用最熟悉的编程语言来调用访问。而在抽象化的结构之下,则是高度集成与对应结构的概念层、对应层和储存层,以 及支持 Entity Framework 的数据提供者 (provider),让数据访问的工作得以顺利与完整的进行。
(1) 概念层:负责向上的对象与属性显露与访问。
(2) 对应层:将上方的概念层和底下的储存层的数据结构对应在一起。
(3) 储存层:依不同数据库与数据结构,而显露出实体的数据结构体,和 Provider 一起,负责实际对数据库的访问和 SQL 的产生。
本次开发使用的是Entity Framework 5.0 在性能和编码上有了较大的提高,简化了好多关于以前使用ADO.NET 开发的步骤。
2.3.2 Log4net
log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。
其中我们在开发的过程中使用这一组件进行,系统异常的记录,以及用户报警串口数据的记录,可以很方便的记录每天报警数据,并进行按天的记录。
2.3.3 ActiveMQ
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。具有如下特性:
(1) 多种语言和协议编写客户端。语言:Java,C,C++,C#,Ruby,Perl,Python,PHP,应用协议:OpenWire,Rest ,WS Notification,XMPP。
(2) 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)。
(3) 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性。
(4) 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上。
(5) 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA。
(6) 支持通过JDBC和journal提供高速的消息持久化。
(7) 从设计上保证了高性能的集群,客户端-服务器,点对点。
(8) 支持Ajax。
(9) 支持与Axis的整合。
(10) 可以很容易得调用内嵌JMS provider,进行测试。
2.3.4 Sync Framework
Microsoft Sync Framework 是一个功能完善的同步平台,实现应用程序、服务和设备的协作和脱机访问。
它提供一些可支持在脱机状态下漫游、共享和获取数据的技术和工具。通过使用 Sync Framework,开发人员可以构建同步生态系统,将任何应用程序与任何网络上使用任何协议的任何存储中的任何数据集成在一起。
Sync Framework 包含以下组件,前三个组件可随 SQL Server 2008 一起安装:
(1) Sync Services for ADO.N E T,可在脱机和协作方案中使用以同步数据库。
(2) Sync Framework核心组件,可供 Sync Services for ADO.N E T 使用以同步数据库,也可以用于为其他类型的数据存储创建同步提供程序。
(3) Sync Services for FeedSync,可用于将 RSS 和 Atom 源与本地存储中的数据进行同步。
(4) Sync Services for File Systems,可用于同步文件系统中的文件和文件夹。
(5) Metadata Storage Service,可用于在 SQL Server Compact 3.5 中存储同步元数据。
2.3.5 Linq
LINQ,语言集成查询(Language Integrated Query)是一组用于C#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。
(1) 无需复杂学习过程即可上手。
(2) 编写更少代码即可创建完整应用。
(3) 更快开发错误更少的应用程序。
(4) 无需求助奇怪的编程技巧就可合并数据源。
(5) 让新开发者开发效率更高。
(6) 任何对象或数据源都可以定制实现Linq适配器,为数据交互带来真正方便。