Kaneboy's SharePoint Blog

SharePoint & Office Zealot
随笔 - 391, 评论 - 8165, 引用 - 201

导航

关于


About me :
SharePoint Architect. Build SharePoint solutions from year of 2003. Joined Microsoft in 2004. Working for HP now.

Certification :
MCPD - Web Dev
MCTS - SharePoint 2007 Dev
MCTS - SharePoint 2007 Config
MCTS - WSS 3.0 Dev
MCTS - WSS 3.0 Config
MCTS - SPS2003 Infra
MCTS - SPS2003 App
MCT
(ex)MVP 

Contact me :
kaneboy@gmail.com | follow @kaneboy on twitter

Authored books:


标签

每月存档

最新留言

  • YuQRkwvMBBZqPFbxLOZ
    Very good site. Thanks!, <a href="http://basudasu.100webspace.net/finder-rf0/map.htm...
    by palermo pizza(匿名) on 2010/3/19 8:31:52
  • KCWuaBjeQjjTAwrbD
    Very good site. Thanks!, <a href="http://gekasite.angelfire.com/drive-fib0/map.html&...
    by perform definition(匿名) on 2010/3/19 7:31:03
  • BdWphqDuVGQ
    Nice site. Thank you., <a href="http://qevubig.100webspace.net/indian-e5c/cerayeem.h...
    by miss paris 2010(匿名) on 2010/3/19 1:04:33
  • waQJcBXJIUeshGqb
    Nice site. Thank you., <a href="http://usuarios.multimania.es/gedewuq/wholesal8e/zde...
    by louisiana college and university(匿名) on 2010/3/18 4:56:59
  • EnyuAcEEMmnRoTId
    Very good site. Thanks!, <a href="http://tovadeh.tripod.com/wholesal7a/zdeddeain.htm...
    by ponds dry skin cream(匿名) on 2010/3/18 3:50:00
  • OGxXKGtGarqlVonGd
    Nice site. Thank you., <a href="http://usuarios.multimania.es/sixacig/7th-dumm5f/map...
    by gourmet kitchen tool(匿名) on 2010/3/18 0:26:14
  • sRGCvENEKieXau
    Very good site. Thanks!, <a href="http://kuxeramu.100webspace.net/fashion-00/map.htm...
    by patent vinyl fabric(匿名) on 2010/3/17 8:06:07
  • cWfXKniuINOYXKuI
    Nice site. Thank you., <a href="http://kuxeramu.100webspace.net/mormon-r33/map.html&...
    by manitowoc ice maker(匿名) on 2010/3/17 6:59:30
  • qdvyXmxjTh
    Very good site. Thanks!, <a href="http://necilasa.100webspace.net/drag-game2/map.htm...
    by tennessee birth injury attorney(匿名) on 2010/3/17 5:52:17
  • lRojiPFRIMcWwEXXu
    Very good site. Thanks!, <a href="http://bikroom.co.tv/admitidos-univers/ssthapllery...
    by 2010 earned income tax credit(匿名) on 2010/3/16 6:44:43
  • hsJFqJCGACrvvC
    Very good site. Thanks!, <a href="http://magra.myip.org/linkin-park/disoracove.html&...
    by lowongan kerja bank 2010(匿名) on 2010/3/16 4:24:53
  • nhGzvxBcXxwQg
    Very good site. Thanks!, <a href="http://bikroom.co.tv/admitidos-univers/dedsthoth.h...
    by cheap prom dresses 2010(匿名) on 2010/3/16 3:17:22
  • re:SharePoint 2010新体验10 - 文档评分
    @hao SharePoint 2010是内置的。WSS 3.0的有第三方工具实现类似的功能。
    by kaneboy(匿名) on 2010/3/15 23:56:52
  • re:SharePoint 2010新体验10 - 文档评分
    涂老师呀,这个功能是内置的还是第三方的呀?如果是第三方的,怎么没有下载点呀?! 还有,可不可以在WSS3中实现呀?
    by hao(匿名) on 2010/3/15 21:27:30
  • aXEOfuczpGJ
    Nice site. Thank you., <a href="http://tobovibu.angelfire.com/fiddler-8b/map.html&am...
    by miss il 2010(匿名) on 2010/3/14 4:39:10
  • rASlKTZvzQNHBKjko
    Very good site. Thanks!, <a href="http://wubibuz.tripod.com/barn-kidfa/onloremacend....
    by horse racing pick(匿名) on 2010/3/14 1:16:42
  • uPEaKxFwQmvylJcyld
    Very good site. Thanks!, <a href="http://usuarios.multimania.es/qujimeh/2010-monad/m...
    by latest songs 2010 list(匿名) on 2010/3/13 8:17:22
  • TFmptavYRfzLZZsajHV
    Nice site. Thank you., <a href="http://usuarios.multimania.es/guropin/pizza-noae/map...
    by pavitra rishta 11 january 2010(匿名) on 2010/3/13 4:54:06
  • AecAqkJdZqcodEzyT
    Nice site. Thank you., <a href="http://usuarios.multimania.es/zewiler/new-regg46/ron...
    by grammys 2010 red carpet arrivals(匿名) on 2010/3/13 2:41:40
  • oYYuhOkPwCVBgmvT
    Nice site. Thank you., <a href="http://usuarios.multimania.es/juputow/faschingd0/hod...
    by stat holidays canada 2010(匿名) on 2010/3/13 1:34:54
  • jcFlYYBsXW
    Nice site. Thank you., <a href="http://usuarios.multimania.es/noqihaw/serenata3b/fon...
    by how much snow will delaware get on 0205(匿名) on 2010/3/13 0:27:06
  • re:几个小工具
    <p><a href="http://www.moretiffany.com/">tiffany jewelry</a> Choose, buy...
    by sibat0705(注册) on 2010/3/12 20:48:39
  • re:我在SharePoint 2010 Day上做的一个演示课程
    &lt;a href=&quot;http://www.moretiffany.com&quot;&gt;tiffany jewelry&lt;/a&g...
    by sibat(匿名) on 2010/3/12 20:44:28
  • re:我在SharePoint 2010 Day上做的一个演示课程
    tiffany jewelry Choose, buy and shop for on sale tiffany jewelry including Tiffany &amp; Co Silv...
    by sibat(匿名) on 2010/3/12 20:43:55
  • re:为SharePoint 2010创建Application Page
    tiffany jewelry Choose, buy and shop for on sale tiffany jewelry including Tiffany &amp; Co Silv...
    by sibat(匿名) on 2010/3/12 20:41:36
  • re:SharePoint服务器连接配置数据库的连接字符串保存在哪里?
    tiffany jewelry Choose, buy and shop for on sale tiffany jewelry including Tiffany &amp; Co Silv...
    by sibat(匿名) on 2010/3/12 20:41:18
  • re:SharePoint服务器连接配置数据库的连接字符串保存在哪里?
    tiffany jewelry Choose, buy and shop for on sale tiffany jewelry including Tiffany &amp; Co Silv...
    by sibat(匿名) on 2010/3/12 20:40:46
  • GgrmjyrOzGQuTzL
    Very good site. Thanks!, &lt;a href=&quot;http://kofovoy.tripod.com/olympic-55/map.html&...
    by the energy show 2010(匿名) on 2010/3/12 4:08:58
  • dUUdDpkufOWSyzVtTpj
    Nice site. Thank you., &lt;a href=&quot;http://qaqodiq.tripod.com/salut-boe4/map.html&qu...
    by free virus removal windows 2010(匿名) on 2010/3/12 3:04:49
  • RUMxxmTcrgNYlOOZKpr
    Nice site. Thank you., &lt;a href=&quot;http://keladap.tripod.com/almasae-2f/map.html&qu...
    by costa croisieres 2010(匿名) on 2010/3/12 3:04:40
  • uwRyyEISfsepvT
    Nice site. Thank you.,
    by name(匿名) on 2010/3/9 9:31:43
  • qSdYCESfFoly
    Very good site. Thanks!,
    by name(匿名) on 2010/3/9 6:21:29
  • tgjKggthOUYDbh
    Very good site. Thanks!, &lt;a href=&quot;http://iyuqaba.tripod.com/lisa-lan98/map.html&...
    by who does the bachelor jake pick spoiler(匿名) on 2010/3/9 5:21:35
  • bNrIymrsBAnelvDFZ
    Nice site. Thank you., &lt;a href=&quot;http://ijopawu.tripod.com/who-inve4b/map.html&qu...
    by howard finster(匿名) on 2010/3/9 4:16:31
  • EApAUSdhdQFdMIRlACa
    Nice site. Thank you., &lt;a href=&quot;http://ijopawu.tripod.com/who-inve4b/map.html&qu...
    by bob sanders injury report(匿名) on 2010/3/9 4:16:28

广告

在SharePoint开发中引入Composite Web Application Block

Composite Web Application Block是Web Client Software Factory中一个用来开发Web应用的框架,它能帮助程序员更方便的使用MVP模式。关于CWAB的更多信息,请参考这里

当我们开发SharePoint界面的时候,比如,创建一个Web Part,如果你希望使用MVP模式,是可以引入CWAB的。在这个文档中解释了如何在SharePoint中使用CWAB,但文档里面的一些步骤,其实不一定是最好的。比如,文档中告诉你,将各个程序集放到Web Application的/bin目录中,但我的建议是仍然将它们部署到GAC里面,这样,你就不需要更改Web Application的web.config中的<trust>节点,将代码的默认信任等级提高了。

嗯,总之,我们可以使用CWAB来方便的基于MVP模式来开发Web Part,比如下图所示的项目结构:
image 

上图中的“KBSample.SiteUser.Module”是CWAB中的一个Module项目,包含了与界面UI分离的业务模块。在“Views”目录中包含了定义View的接口和Presenter类:
image

在“Services”目录中包含了与业务操作相关的Service类:
image

而“KBSample.SiteUser”项目则是专门的SharePoint项目(你可以选择使用VSeWSS,或是其它你习惯的工具),其中包含了用来定义Web Part界面的View的实现。

在下面所示的Service接口中,定义了用来真正和SharePoint Object Model交互以获取数据的Service:
image

在Module被初始化时,将上面的Service注册到Container中:
image

对View接口的定义:
image

在Presenter里面,通过[ServiceDependency]来注入所依赖的Service对象(CWAB通过ObjectBuilder来干这件事),同时定义了当View被载入时的操作:
image 

View是通过一个用户控件来实现的,它实现了View接口,通过[CreateNew]来将一个新的Presenter对象注入进来:
image

别忘记在View被载入时,也要执行一下Presenter中的载入方法:
image

如果你熟悉Web Client Software Factory的话,那么在SharePoint开发中引入CWAB应该不是一件困难的事情。不过,由WCSF提供的那些Template和Recipe都不能使用了,项目的结构,需要我们来手工维护(这样反而给了我们很大的自由度:)。

posted on 2008-12-23 17:25:06 by kaneboy  评论(85) 阅读(16597)

SharePoint : 超级Web Application Framework

在Wikipedia上,对“Web Application Framework”的定义是:

一个Web Application Framework是一个设计为支持动态Web网站、Web应用程序和Web Services开发的软件框架。Web Application Framework的目标是减少在Web开发中,与常见的开发工作有关的问题。例如,许多框架都提供了诸如数据库访问类库、模板框架和会话管理,同时,框架通常都能促进代码复用。(注:http://en.wikipedia.org/wiki/Web_application_framework

Wikipedia的定义虽然清晰明了,但未免过于宽泛。根据这个定义,实际上,我们可以再将Web Application Framework分成两种:
■ Web Application Infrastructure Framework
■ Web Application Building Framework

Infrastrcture Framework提供了用来构建Web应用最底层的各种基础框架,诸如HTTP请求的截取和分配、网站与页面处理框架、会话管理、缓存等等。ASP.NET、PHP、JSP就属于Infrastrcture Framework。

Building Framework则是基于Infrastrcture Framework而构建起来的层次更高的Web应用框架,它的目的包括:
■ 将Web应用开发人员的视角从最底层的网站与页面框架,拉到更上面的基于具体应用的业务功能上
■ 用来支撑大型复杂的Web应用,例如超过上千个网站、上万个页面的Web系统,而且提供对服务器场、负载平衡的支持

在.NET领域,DotNetNuke就是一个典型的Building Framework。有了Building Framework,Web开发人员就可以不用从最底层开始构建Web应用系统,而是可以基于Building Framework,开始构建所需要的应用功能组件。一个Building Framework通常会包含下列内容:
■ 成熟的网站与页面结构框架,使得开发人员不用再基于页面、目录来管理整个Web应用
■ 完善且可扩展的用户、角色与权限管理
■ 灵活的UI模型
■ 内置的数据和文件存储能力
■ 具备完善的功能模块封装型
■ 对必要的功能接口提供API
■ 其他…

clip_image002

对于Web应用的开发来说,从静态网站到动态网站,从Infrastructure Framework到Building Framework,几乎是必然的。随着Web应用越来越复杂,开发人员面临的挑战也越来越大:如何维护和管理上千个网站、上万个页面?如何使Web应用能部署到网络负载平衡的环境中?如何使后台的Services与前台Web请求分离?如何提供完善的系统备份与迁移方案?如果我们必须基于Infrastructure Framework来解决这些问题,那么我们可能得将大部分的项目开发周期,花费在解决这些“底层架构”框架之上(虽然有些开发人员确实更喜欢开发“框架”,而不是一个可用的业务系统)。

clip_image004

当基于Building Framework之上进行开发时,开发人员可以更关注业务需求和业务功能的实现。通常,每一种Building Framework都会有一套专门的对功能模块进行封装和打包的模型,开发人员可以基于这一套模型,将自己开发的功能模块以标准化的方式进行封包。一方面,这样可以使得功能模块的部署变得更简单(避免了基于文件的手工拷贝方式),另一方面,开发人员也更容易的将自己开发的功能模块共享给社区(社区中使用同一套Building Framework的开发人员,可以方便的将拿到的功能模块以标准化的方式部署到自己的环境中)。

待续…

posted on 2008-12-23 16:04:09 by kaneboy  评论(88) 阅读(16916)

一个通过数据库镜像实现SPS 2003门户快速备份与恢复的操作手册

这个操作手册是之前帮一个客户写的,使用了SQL Server 2005 Mirroring来实现SPS 2003的门户的快速恢复,主要目的是在SPS 2003门户的突然不可访问(如数据服务器损坏、服务器群集所在网络不可用等)时,能够用最短时间在另外的地点恢复出门户网站。基本上MOSS 2007的原理类似,参考手册中的方法进行即可。

不过需要注意的是,在决定用SQL Server 2005 Mirroring来实现快速备份和恢复之前,你需要根据你的服务器场环境的具体情况,确定是否SQL Server 2005 Mirroring这种方式确实适用于你的服务器场环境。考虑的因素包括:
■ 对快速恢复所花费时间的要求
■ 网络情况
■ 评估Mirroring可能造成的性能上的损失

点击此处下载。

posted on 2008-12-10 01:03:59 by kaneboy  评论(95) 阅读(15266)

Powered by: Joycode.MVC引擎 0.5.2.0