.NET Framework是由微软开发,致力于敏捷软件开发、快速应用开发、平台无关性和网络透明化的软件开发平台。.NET Framework是一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言(C#、VB.NET、C++、Python等)的开发。.NET也为API提供了新功能和开发工具。这些革新使得程序设计员可以同时进行Windows应用软件和网络应用软件以及组件和web服务的开发。.NET提供了一个新的反射性的且面向对象程序设计编程接口。.NET设计得足够通用化从而使许多不同高级语言都得以被汇集。
.NET的初级组成是CLI和CLR。CLI是一套运作环境帮助,包括一般系统、基础类库和与机器无关的中间代码,全称为通用中间语言(CIL)。CLR则是确认操作密码符合CLI的平台。在CIL运行前,CLR必须将指令及时编译转换成原始机器码。
所有CIL都可经由.NET自我表述。CLR检查元数据以确保正确的方法被调用。元数据通常是由语言编译器生成的,但开发人员也可以通过使用客户属性创建他们自己的元数据。
如果一种语言实现生成了CLI,它也可以通过使用CLR被调用,这样它就可以与任何其他.NET语言生成的数据相交互。CLR也被设计为操作系统无关性。
通过.NET,你可以用SOAP和不同的web服务进行交互。
.NET vs. Java EE
公共语言基础(CLI),通用中间语言(CIL)以及C#与Sun的Java虚拟机和Java之间有不少的相似之处,因此它们无疑是强烈的竞争者。它们两者都使用它们各自的中间码(在微软,它们叫做通用中间语言,而在Sun,它们叫字节码)。通用中间语言被设计来即时编译(JIT),而Java的字节码在最初的时候则是设计成用于解释运行,而非即时编译。.NET现在只在Windows上被完美地支持,而Java则可在很多平台上被完好支持。然而,现在一些正在开发中的实现版本例如Mono或者Shared source CLI可以用于在类Unix操作系统例如Linux,FreeBSD和Mac OS X上运行.NET应用程序。Sun的一个产品,J2EE提供与微软的一些捆绑于Windows中的技术例如COM+(先前的MTS)和MSMQ等效的功能。
Java和.NET可经由IKVM,一个在.NET平台上实现的Java虚拟机作更多的沟通。
Java有其专门的远程程序调用技术RMI(Remote Method Invocation), RMI的另一版本RMI-IIOP更可兼容CORBA。
.Net Remoting & XML WebServices
.NET remoting属于进程(process)内沟通的抽象方法。 Microsoft.NET Remoting提供一个丰富可扩充的框架给存在两个不同AppDomain中的Object,使得在不同进程(进程)和不同机器中能够进行无缝地沟通。.NET Remoting提供一种强大但简单的可编程化模型并且在运行阶段支持数据交换。
XML Web services将基础的功能区块布署到网络的不同电脑上。开放标准的通信协议以及人和应用程序可以通过Web Services集成应用程序的环境来合作。应用程序可以从不同的来源使用多个XML Web Services来建构应用程序而不需要知道他们在哪里以及如何来运作。
ref:
阅读(801) | 评论(0) | 转发(0) |