Longhorn beta3英文版里面服务器的角色被称为Role。在Longhorn的beta3里面一共有17种角色:
- Active Directory Certificate Services(AD证书服务)
- Active Directory Domain Services(AD域服务)
- Active Directory Federation Services(AD联合服务)
- Active Directory Lightweight Directory Services(AD轻量目录服务)
- Active Directory Rights Management Services(AD权限管理服务)
- Application Server(应用服务器)
- DHCP Server(DHCP服务器)
- DNS Server(DNS服务器)
- Fax Server(传真服务器)
- File Services(文件服务)
- Network Policy and Access Services
- Print Services(打印服务)
- Terminal Services(中断服务)
- UDDI Services(UDDI服务)
- Web Service(IIS)
- Windows Deployment Services(Windows部署服务)
- Windows SharePoint Services(WSS)
这里面有不少我们熟悉的面孔,还有我们非常熟悉但是需要自己手动安装的服务,还有几个确实全新的。别的不说,单说Longhorn集成了这写服务,方面我们安装配置,这一点来说还是很方便的。
Feature是Longhorn里面最新提供的特性,这不仅让我们想起了WSS 3.0和MOSS2007里面的feature。Longhorn beta3的"Server Manager"里面一共提供了35个feature以及每个feature下属的更小的feature:
可以看出,feature是对原来"Windows组件"的替代(Longhorn beta3已经没有了"添加/删除程序",以"Programs and Features"代替)。
最近在研究EntLib2.0的DAAB。DAAB的特性之一是可以使我们在编写代码的时候不必关心数据库到底是什么,也就是DAAB可以当作数据库抽象层。但是你得有你要使用的数据库在这个抽象层之下的驱动。
我们知道现在开源关系数据库主要有两个,一个是MySQL,一个是PostgreSQL。这两个数据库现在都有现成的开源.NET Data Provider。由于微软也提供了EntLib2.0的源代码,这样我们很容易仿照其SQL Server的DAAB Database Provider写出他们在抽象层之下的驱动。我试着写了一下,MySQL的部分实现了,PostgreSQL的完全没有实现。
MySQL的DAAB Database Provider除了XmlReader相关的部分,其他部分都实现了。这是由于MySQL的.net connecter虽然是仿照SQLServer的.NET Database Provider来定义的接口,但是.NET Framework 2.0新增的一些内容还没有实现,MySQL对于XML的支持也不如SQL Server那么完善。
PostgreSQL的DAAB Database Provider完全没有实现。和MySQL的.NET Database Provider类似,PostgreSQL的Npgsql也没实现XmlRaeder的功能,除此以外,Npgsql的NpgsqlCommand对象竟然没有继承DbCommand, ICloneable,导致在一些NpgsqlCommand强制转换的情景下会失败。这个情况导致了PostgreSQL的DAAB Database Provider没办法实现。
比较MySQL和PostgreSQL对.NET的支持,看来是MySQL更胜一筹。
为了解决使用Entlib的DAAB来访问PostgreSQL的问题,估计可能得写一个ODBC的DAAB Database Provider了。研究了一下ODBC的.NET Database Provider的情况,似乎ODBC和MySQL的情况类似,在.NET Framework2.0的类库里面并没有对XmlReader支持,估计仍然不能实现ODBC的DAAB Database Provider的XmlReader部分。
下载