想起一年多以前开始接触SharePoint,并使用它开发企业中的报表平台,经历的故事真的是很多。SharePoint就像是一艘大船,驾驭它不是一件容易的任务,更别说紧张的项目周期,老板们的期望和从零开始的经验积累无时不刻在折磨着你的自信心。我总是问自己是什么能够让我完成它?是希望,一种对美好新生事物的渴望;也是坚持,一种对困境战斗不止的决心;更是不断的快乐,解决困扰多日的难题时,一个响指,一声yeah,带来令人兴奋的快感;team之间相互帮助,相互鼓励,一次次成功展示后的笑脸……
我不知道一件事情从头开始,对于其他人是什么感觉,与我则是非常开心的。SharePoint的故事是从安装开始的,虽然Microsoft Office SharePoint Server (MOSS) 2007支持form authentication,但是基于Windows认证的Active Directory无疑是MOSS最为典型的认证方式。要搭建一个开发实验室,需要Domain Controller,DNS Server, DHCP Server等等。企业域中,只有账户信息,却没有组信息,需要将Lotus Notes中的Mail组导入Active Directory,并同时将已经存在的用户按照Mail组的成员加入到新建的那些Domain Groups。这里需要用到Microsoft Identity Integration Server (MIIS),一个用来在同类或异类数据源间同步和集成身份信息的工具。
MOSS 2007是基于.NET Framework 2.0的应用平台,后台数据库则是使用Microsoft SQL Server 2005。基于MOSS创建一个新的Web站点会很快捷,不过想要得心应手的修饰界面却不是一个很容易的过程。当然,想要弄清楚Site Page和Application Page的区别,也需要很多个不眠之夜。如何将已经开发的普通ASP.NET Web站点集成到MOSS Web站点中?如何开发Adobe Flex的Flash程序,并调用MOSS Web应用程序的List数据?如何使用MOSS中的工作流来开发适合企业报表平台使用的审批流程?如何开发Site Feature和Web Part?如何使用SharePoint Designer来配置站点页面?如何集成Microsoft SQL Server Reporting Services?如何基于SharePoint实现团队开发?如何调试SharePoint程序?如何测试性能?……
好不容易开发完成,应用程序依然是琵琶半遮面,还需要部署到生产环境。经过开发域,测试域,User Acceptance Test到Production域,域用户的迁移,保持权限没有改变,所有报表都能被正确打开,这绝对是噩梦般的日子。更为糟糕的是,需求的变更,恼人的Bug Fix,我敢说每一个都是让人谈之色变。对于报表来说,最为关键的是其中的数据。SQL Server采用的是SAN Storage,分配磁盘存储;配置Cluster实现Failover;配置Replication将数据从Transaction 数据库复制到Report 数据库,呵呵,都是烫手的山芋啊。为了获得更好的性能,MOSS Web 站点和Reporting Services都配置了Load Balance。
产品已经顺利上线,也只是完成了工作的30%,剩下的70%就是推广,培训和支持。我都不知道我是如何熬到现在,还保持人形的。呵呵,在抵御了多次的Enhancement之后,故事有了一个令人满意的结局。但是探索和传承不止,我的故事也依然会继续。希望通过我的SharePoint故事,能和大家分享经验,也分享快乐。