本书对信息系统从Windows平台移植到开放源码Linux平台的过程中的技术决策和组织实施提出了参考建议。本书共分为绪论、信息系统移植技术指南、信息系统移植实施指南三大部分和附录。绪论部分包括信息系统移植基础、信息系统移植中的关键问题、信息系统移植的决策建议等内容;技术指南部分包括操作系统环境的移植、文件系统移植、打印服务移植、网络服务移植、系统审计与管理服务移植、目录服务移植、认证服务移植、Web服务移植、数据库移植、群件构建模型移植、终端服务器和瘦客户端移植、桌面Office应用移植、中间件技术移植、高可用性系统移植以及其他一些功能移植的描述;实施指南部分包括信息系统移植的组织与实施、完全替换类信息系统移植的策略与实例、部分替换类信息系统移植的策略与实例等内容;附录给出了Windows平台与开放源码Linux平台功能软件对应参考表。本书为读者提供了一座将信息系统从Windows平台移植到开放源码Linux平台的桥梁,适合各行各业信息系统决策者、信息系统管理者和广大IT行业的技术工程师阅读,也可作为从事IT行业的老师与学生的参考书。前言本书的特色目前国内关于Linux平台的技术手册、培训教材、工程实践方面的图书种类繁多,但是从技术和管理方面指导信息系统从微软Windows平台移植到开放源码Linux平台的书和教材很少见。本书采取了Windows环境功能组件与Linux环境功能组件对比的方式,按照“信息系统移植的基本概念→Windows环境下信息系统各功能组件的描述→Linux环境下各功能组件移植方法→信息系统移植项目的决策与组织实施”的思路,比较完整地描述了将微软Windows平台构建的信息系统移植到Linux平台所涉及的技术问题、策略问题和组织实施问题,使信息系统决策者、管理者和开发者能够在理性思维的状态下,理解、接受和应用开放源码Linux平台。本书阅读指南第1章信息系统移植基础。首先描述了Windows操作系统和开放源码平台的发展历史,然后分别列举了Windows信息系统和开放源码Linux信息系统的典型组成环境,最后论述了将基于Windows平台的信息系统移植到开放源码Linux平台的主要原因以及移植中涉及的主要内容。第2章信息系统移植中的关键问题。主要描述了信息系统从Windows平台移植到开放源代码平台过程中需要考虑的几个关键问题,包括移植的技术可行性分析、移植中人的因素、移植中效益评估的问题以及信息系统新技术的发展对移植过程带来的影响。第3章信息系统移植的决策建议。首先描述了信息系统移植采取系统化的决策过程,包括IT战略阶段、经济效益评估、标准参考阶段、产品选择阶段和方案实施阶段,然后论述了从Windows平台移植到开放源代码平台移植的完全性移植方法和部分移植方法,最后提出了信息系统移植的一般性建议。第4章操作系统环境的移植。主要讨论了Windows操作系统环境下在Windows域中增加GNU/Linux服务器、GNU/Linux桌面以及用户将现有的Windows客户端替换为Linux系统的移植过程。第5章文件系统移植。重点讨论了Windows环境下NTFS文件系统的权限管理和访问控制,以及文件系统向Linux移植时需要考虑的一些特殊功能。在文件系统移植中,可以利用Samba系统直接替换Windows服务器,Windows客户端仍然可以保留;Samba的运行方式对Windows客户端而言和Windows服务器完全类似。第6章打印服务移植。主要讨论了Windows环境下的打印服务环境,以及打印服务移植到Linux系统的方法。首先讨论了Linux的打印环境,提出了Windows下的两种打印方法,直接打印和使用打印服务器打印,重点讨论了“指哪打哪”的打印方法。在Linux环境下,打印功能的标准是CUPS,主要的Linux系统发行厂商都支持这一标准。CUPS被设计为具有跨平台的功能,因为它实现了IPP,并且CUPS也支持其他相关打印协议,像LPR/LPD、Socket/AppSocket、SMB/CIFS和MS-RPC等。本章结合使用CUPS和Samba给出了一个完整的打印系统移植方案。第7章网络服务移植。主要讨论了WINS、DNS、DHCP等典型网络服务的移植方案。其中WINS为Windows因特网名字服务协议,在Linux系统下由Samba软件包的nmbd执行,而Bind9则提供DNS服务,dhcpd提供DHCP服务。第8章系统审计与管理服务移植。讨论了系统审计与管理服务的移植。Windows只有很有限的系统管理工具,而且其功能也非常有限,经常使用的是第三方提供的工具,有些工具还可以在Linux系统使用。系统管理除了可以使用Linux自带的工具(如cron/at)外,还有许多商业Linux产品和OSS解决方案,如Nagios就是一个提供服务可视化和服务审核的工具。但OSS还没有一个完整的高度集成的适应所有系统管理的纯OSS解决方案。第9章目录服务移植。主要讨论了Windows的活动目录服务向Linux系统的移植。首先介绍了Windows目录服务、Kerberos认证机制、DNS名字空间等内容,然后给出了利用Linux/OpenLDAP移植Windows的活动目录服务的移植方案,在移植过程中,使用OpenLDAP作为一个OSS的解决方案将会带来很多好处,特别是可以实现用户友好的认证服务。第10章认证服务移植。首先讨论了Windows环境下的认证服务,介绍了Windows域在管理用户认证方面的重要作用,重点讨论了Windows域的认证机制及目录服务功能。在移植过程中,本章提出了Linux/OpenLDAP和Samba相结合的认证服务移植方案,可以利用Samba服务替代Windows的主域控制器为Windows客户端提供类似功能的服务。第11章Web服务移植。描述了Windows平台下的Web服务系统的基本概念、跨平台的XML语言以及Windows环境下主流Web服务器ISS的基本特性,重点针对Linux环境下APACHE服务器的基本特征,论述了从ISS服务器向APACHE服务器移植的方法。第12章数据库移值。讨论了Windows平台下的数据库系统移植到Linux环境中的相关技术,表明有足够多的OSS产品可以作为SQLServer替换移植的解决方案,这类OSS产品重要的代表有MySQL,PostgreSQL,Firebird和SAPDB;同时,也有像Oracle、DB2这样的企业级数据库管理系统存在,它们提供的Linux解决方案,为Linux的企业级应用奠定了基础。上述OSS产品有不同的功能特性,必须逐一分析它们在不同应用背景需求下的适应性。第13章群件构建模型移植。讨论群件构建模型的移植过程,重点分析和研究了使用基于Linux系统的解决方案替换Exchange5.5和后续产品Exchange2000的各种方案。对于群件构建模型系统的移植,既可以移植到一个异构的环境中,也可以移植到纯OSS的环境中。移植到异构的环境中时可以使用基于Linux的服务器端系统,而客户端完全基于Windows系统的MSOutlook,也可以在服务器端仍然保留Exchange系统,而客户端采用Linux系统;根据研究表明,对于群件构建模型系统移植到基于Linux的纯OSS产品环境中也是完全可行的。第14章终端服务器和瘦客户端移植。讨论了终端服务器和瘦客户端移植过程。由于Linux/UNIX系统所使用的协议本身就支持一般意义下的终端服务,因此终端服务和瘦客户端的移植是非常直观、可行的。考虑到公共机构的整个IT战略,即出于包括安全在内的各种原因,公共机构的信息平台应该尽可能地建立在开放源码软件而非某一家软件公司的产品之上,因此基于Linux建立的LTSP项目和NX终端服务器项目可以实现多种不同的技术解决方案。第15章桌面Office应用移植。讨论了桌面Office应用移植过程,除了单纯从成本上考虑外,技术上的考虑也是相当重要的,特别是对于文档格式的改变。MSOffice2003的文档可以以XML格式存储,但是由于其格式定义中的关键部分并未公开,所以这并不意味着微软的Office已经成为开放格式,关键应用场合的数据文档仍然不应该以MSOffice格式存储。尽管存在格式完全兼容等一些复杂问题,但是OpenOffice/StarOffice移植方案已经具备了替换微软桌面Office应用的大多数能力,特别在Word、Excel、PowerPiont文档的移植,集成的外部应用程序的移植,宏和OLE/COM的移植,编程环境的移植等方面已日趋成熟。第16章中间件技术移植。讨论了中间件技术的应用移植过程。中间件技术是软件系统发展的必然结果,它可以有效地提高软件开发效率,控制软件复杂度,COM/DCOM技术和基于.Net平台的中间件解决方案,已经成为微软平台复杂应用软件系统的应用重点。随着Linux平台上中间件技术的发展,GNOME桌面环境的CORBA技术以及J2EE平台技术已经成为Linux下复杂软件开发的首选方案,由于两者都具备平台无关性,一旦它们移植成功,将为未来的业务扩展奠定坚实的基础。第17章高可用性系统移植。论述了Linux环境中高可用性(HA)系统的解决方案。Windows系统在HA领域不占主导地位,大多数专用HA解决方案均依赖于UNIX,而目前Linux平台已经有了很多HA解决方案,它们或者由传统的UNIX解决方案移植而来,或者由程序员重新开发,随着Linux企业应用的增强,这方面的需求将会越来越大。第18章其他功能组件技术移植。涵盖了一些没有归入以前各章主题的内容,如病毒防护、时间服务、桌面管理、备份与恢复,是对本书应用移植技术指南的补充。第19章信息系统移植的组织与实施。介绍了信息系统从Windows特定环境移植到OSS环境过程中在组织与实施方面需要考虑的一些重要问题,包括确定移植目标,选择决策者和用户的介入时机,移植实施的技术前提,移植实施的组织机构,移植实施的计划,移植的控制与管理以及用户与管理员的培训等内容。移植并非在购买和实现所需的功能组件后就结束了,还必须在移植开始时、移植过程中和移植以后考虑进一步的相关活动,这样才能保证移植过程的成功。第20章完全替换类信息系统移植策略与实例。论述了采取完全替换性移植策略时对任何组织结构的信息系统都需要进行的通用功能移植实例,以及根据大中型组织、提供IT服务的特殊机构和小型组织等不同应用环境需要分别讨论的特殊功能移植实例。移植实例表明,几乎总是可以找到功能类似的OSS和(或)COLS产品作为对微软产品进行完全替换性移植的解决方案。第21章部分替换类信息系统移植的策略与实例。论述了采取选择性移植策略情况下,在服务器端移植最重要的内容是要确保移植后的基于Linux平台的服务器系统能够与基于Windows的客户端的正常交互。尽管选择性移植通常不会带来明显的成本优势,但在实际决策时综合考虑紧迫性等一些因素,选择性移植可以作为一种经常采用的移植策略。附录A给出了Windows信息系统平台与开放源码Linux平台功能软件对应参考表。