CLR Hosting (0) -- CLR Hosting 系列


  本篇文章是CLR Hosting系列中的首篇,篇中简要介绍一下这一系列文章的主题,并作为一个占位来提供系列中文章的索引链接,起到一个目录的作用。

  Microsoft .Net platform 是微软当前技术策略中的强势主流,已基本上渗透到了微软技术的方方面面。.Net Framework 2.0版的发布,标记了.Net CLR 核心部分组件的基本成熟和稳定,.Net Framework 3.0版中,又补充进了WPF、WCF和WF三大方面的框架体系。在.NET platform 版图不断扩大、完善的背后,其CLR技术核心在体系结构上的主要改进,也正在为与将来的Windows操作系统进一步深度集成做着精心的准备,可以说,微软在新技术框架下的基础设施方面的建设,正逐步走上轨道。那么,这些技术的应用方面情况如何呢?

  我们先来看看服务器端的应用情况。服务器端的应用,首先让人想到的是目前已被广泛使用的ASP.NET,无论是ASP.NET Web Application还是ASP.NET Web Service,都是.Net CLR在为其提供核心的驱动力。随着微软Web Server基础软件IIS7的即将推出,主机供应商提供的ASP.NET空间服务将会更加方便、灵活,且具备更加深入的可编程性。再看微软的另一款重量级的服务器软件MS SQL Server,从.Net Framework 2.0开始,.Net CLR已可以被集成进SQL Server了,已经可以使用.Net CLR的Managed Code为SQL开发存储过程。相信将来,更多的微软或其他第三方的服务器软件会集成.Net CLR,提供强大的可扩展能力。

  我们再来看看客户端用户桌面上的情况。多数Windows系统的用户,其桌面系统中已内置部署了.Net Framework。而且,微软提供的许多常用的软件,都已经提供了.Net的支持能力,例如Office System、Internet Explorer等等,这些桌面软件的用户,可以使用Managed Code为其开发扩展组件(Addins),或以Code Behind Document形式将代码关联在文档上。但是,纯粹以Managed Code的形式实现的较大规模的桌面软件,无论是来自微软自己的,还是来自其它软件厂商的,都还没有出现,但在微软的新的产品中均出现了对.Net的支持迹象。这一点,也从另外一个角度说明了.Net技术在桌面环境下目前阶段的应用方向和特点。

  读到这里,您或许会有疑问,上面的介绍与文章系列的主题CLR Hosting似乎没有什么关系呀。这里可以用一个问题来解释这一疑问,那就是,前文中提到的服务器软件或桌面软件是通过什么方式、什么技术实现了对.Net CLR的集成和支持呢?简单地回答笔者自己的问题,就是CLR Hosting。

  .Net CLR是Microsoft .Net platform technology的核心技术,是各版.Net Framework的核心组成,从本系列文章的角度来看,本质上讲它不是常规的OS内容,也不同于一般的虚拟机(VM)环境,它是一个被原生设计用来易于被宿入(host)的虚拟环境(A virtual system environment that can be easily hosted)。这一点从CLR本身的结构设计、本身的可扩展点设计、本身的可定制方面设计等等特色上均可以得到印证。一个进程宿入(host)CLR环境的过程或技术,就是CLR Hosting。

  那么,宿入CLR环境,对一个应用来说有什么益处呢?回答是显而易见的了。

  微软正在不遗余力的推进着它的.Net战略,CLR环境下Managed方式的开发,由于其合理的架构设计思想和易于上手等特点,正逐渐产生和吸引、培养着大批的使用C#、VB.net等语言工具的开发人员。如果您的系统宿入了CLR环境,不但使您在一个高度优秀的架构下获得了应用系统的可扩展能力,还潜在地把这部分开发人员一起转入了可能的、您的应用系统的扩展定制开发用户中。这是不是有足够的诱惑力呢?

  您一定不容易下决心把手头上的服务器或桌面项目以纯Managed Code的方式来设计实现,但您一定不会不考虑对.Net CLR的集成和支持,以期获得强大的可扩展、可定制能力。另外,目前市场存在着的大量的Windows环境下的大型软件产品,这些Win32平台上的产品,有的可能已经集成了VBA环境获得了一定的可扩展能力,但是要想进一步在这个方面(可扩展)来发展,那么,关注.Net技术、关注CLR Hosting就是必须的选择了。

  本文章系列就是在这样一个想法下产生的。笔者对软件架构设计、组件技术、脚本技术、可扩展结构设计等方面有较浓的兴趣,98年开始接触VBA APC Hosting,2001年后逐步有机会接触并学习研究.Net CLR hosting相关的技术,希望通过这个文章系列来总结一下自己的学习,同时也希望能感染带动有相同兴趣的读者一起学习,一起研究.Net CLR的核心技术。

  计划中的本文章系列将包括CLR Hosting的各个细节方面,同时也从一个较近的距离来认识、研究.Net CLR的方方面面。

 

文章系列索引:

   CLR Hosting (1) -- 可扩展体系结构和CLR Hosting 

   CLR Hosting (2) -- CLR Hosting API概览

   ......

 

 

posted @ 2007-03-23 10:25  JesseQu  阅读(4198)  评论(12编辑  收藏  举报