前言

  不知不觉作为一个SharePoint的开发人员若干年了,从SharePoint api 开始学习,到了解SharePoint的结构,逐渐一点点了解sharepoint的体系;从SharePoint 的2007到2010到2013到SharePoint Online都接触了一些。本文会从个人的视角给大家展现一下我了解的sharepoint的体系结构,以及介绍一下sharepoint的相关功能,欢迎大家共同讨论拍砖。

SharePoint平台的体系结构

基本平台:

  • ASP.NET  SharePoint平台归根结底是一个ASP.NET程序,因此大家在开发ASP.NET用到的技术SharePoint中都会相应的体现。Master Page, WebPart, WebService , IIS 这些基本的概念大家都耳熟能详了,这些技术在SharePoint中的各处都能体现出来,一些基于ASP.NET的设计思想在SharPoint都能体现。
  • SQL Server服务 SharePoint作为一个企业级的产品,就必须考虑到如何存储一个站点中相关的数据,随着数据的级别不断的增大,如果解决数据存储问题,如何解决数据的备份问题以及灾难恢复问题,因此SQL Server顺势成为了SharePoint的数据存储后台。因此,使用SharePoint的企业,除了需要SharePoint管理员,还需要数据库管理员。随着数据级别的增加,数据库管理员会对SharePoint的效率起着越来越重要的作用。RBS,EBS等外部存储机制,在SharePoint Online之前的版本也一度非常火。
  • Workflow Services 工作流服务是一直在企业中很常用的,因此SharePoint作为一个门户网站集成了工作流服务,除了一些基本的审批工作流。SharePoint提供了SharePoint Designer来让用户可以自定义复杂的工作流。SharePoint2013之前的工作流基本是基于事件机制的,SharePoint2013引入了Platform Workflow,因此Workflow Manager也作为一个SharePoint组件被引用。SharePoint工作流现作为一个SharePoint的基本模块已经非常成熟。
  • Search Service 作为一个门户网站,用到搜索相关的技术是很平常不过的。因此SharePoint作为一个平台也不能缺少这样一个功能。Search Service因此也作为SharePoint的基本服务提供,里面提供了一些基本的爬网,增量爬网,添加索引的的功能,及时只有内网,你仍然可以点几下就能实现搜索的功能。

核心服务

  • 权限模型 提供了基本的角色-成员为基础的权限模型,并且提供了接口进行权限模型的扩展。关于权限认证方面,除了AD认证,可以自己配置CBA,NTLM,ADFS等其他认证方式,并且集成到SharePoint中,可以为相同的站点配置不同的认证方式,实现Extranet和Intranet的管理。
  • 基本存储 主要分两类存储,一些基本的模板信息存储在文件系统中。用户保存的文件以及文件的属性信息,主要存储在数据库中。并且实现了文件的版本控制,以及API进行相关功能的备份,还原,扩展。
  • 拓扑结构 服务级别的拓扑结构主要是基于Centeral Admin-Web Front End,这种结构。这种结构主要实现了服务器级别的负载均衡,可以实现在不同的Server上处理不同的任务,但是整体又互相协助。 站点级别的拓扑结构主要基于站点集,不同的站点之间共享权限,也可以设置独立的权限。
  • API SharePoint提供了强大的API来对SharePoint进行操作管理,这个功能也是SharePoint作为一个产品,区别于一个ASP.NET项目的最重要的一点。 API也催生了很多SharePoint下游的产品,如用API进行二次开发,用API对站点进行自动化管理。

应用层面:

  • 协作 提供了Outlook中的类似日历的功能,并且和Outlook很好的集成在了一起。Online offline的功能,和lync集成在一起。讨论版功能,投票功能,审批管理功能等,这些常见的小功能作为一些简单的Feature集成在了SharePoint中。
  • 内容管理 相关的功能有很多,例如:发布功能,只有是发布状态的页面或者文档才对用户可见;审查功能,随时关注站点中的数据被谁更改过;多语言转换,可以实现同一页面不同的语言版本的转换;回收站及其数据滞留机制等等。任何开发人员或者终端用户对数据做的修改,管理员都可以进行追踪。
  • Portal 集成了MySite,社交论坛等常见的相关功能。类似于Like,Rate 这种功能,并且可以查找不同用户在社区的行为,以及用户的个人信息,公开或者隐私的信息。把社区功能完美同SharePoint,AD集成在了一起。
  • BI 商业智能。SharePoint中10开始集成了商业智能,通过Excel Service,Business Intelligence Service,同时可以集成SharePoint,SQLServer, Oracle,Office等各种常见的数据源,生成自己的报表,仪表板,报告。并且可以通过报表的形式随时监听数据的变化,因此把商业智能相关的功能也集成到了旗下,并且提供用户扩展。

从上面介绍的这些功能大家简单的了解SharePoint是如何实现了门户网站,文档管理,协作,社交等相关功能的无缝衔接。SharePoint基本实现了常见的站点的常见功能。由于微软一直在大力的支持,因此SharePoint对于大的企业的IT协作,一直是很好的选择。

  虽然SharePoint作为一个不错的产品,但是SharePoint的使用在中国并不火,社区也很冷清。原因虽然有很多,个人觉得觉得主要原因还是水土不服: Sharepoint生态系统授权过于昂贵,除了授权还需要二次开发,中国的人力成本较低因此对于IT集成的需求不高。但是SharePoint作为一个产品,他里面很多的设计思想及其理念,是很值得我们学习的。

未完待续

我们可以用SharePoint做什么的更多相关文章

  1. [转载]我们可以用SharePoint做什么

    前言 不知不觉作为一个SharePoint的开发人员若干年了,从SharePoint API开始学习,到了解SharePoint的结构,逐渐一点点了解sharepoint的体系:从SharePoint ...

  2. SharePoint 2013 通过JavaScript实现列表标题列宽度可拖动

    前言 最近有个新需求,用户希望标题栏可以拖动宽度,其实觉得没什么用,既然用户要了又推不掉,就勉为其难实现一下吧. 其实原理比较简单,就是利用JavaScript对标题栏进行宽度控制,然后从网上搜了一下 ...

  3. 无废话SharePoint入门教程一[SharePoint概述]

    一.前言 听说SharePoint也有一段时间了,可一直处在门外.最近被调到SharePoint实施项目小组,就随着工作一起学习了一下实施与开发.但苦于网上SharePoint入门的东西实在太少,导致 ...

  4. 与中国最顶尖sharepoint工程师共舞

    最近又跳了,来到某家外企.自以为善能称心如意,谁知乃井里之蛙. 给我的最大感触是,做sharepoint一定要做过非常大型的部署开发,没有经过这种淬炼,天天闷声研究,做一些页面功能,对技术提升毫无帮助 ...

  5. SharePoint 门户网站的图片轮播-页面定制

    这个想法是自己突然的一个想法,想想我们经常用SharePoint做门户网站,不知道你们多数项目都是怎么完成的,我们客户要求的效果都还是很严格的,所有展现起来,还是很漂亮的,但是很多时候的效果,还是难以 ...

  6. [转]无废话SharePoint入门教程一[SharePoint概述]

    本文转自:http://www.cnblogs.com/iamlilinfeng/p/3026332.html 一.前言 听说SharePoint也有一段时间了,可一直处在门外.最近被调到ShareP ...

  7. BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第1章节--SharePoint 2013 介绍 处理开发者需求

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第1章节--SharePoint 2013 介绍 处理开发者需求         SharePoint本质上是一个平台.你 ...

  8. Windows 商店应用中使用 Office 365 API Tools

    本篇我们介绍一个API 工具,用于在 Windows Store App 中使用 Office 365 API. 首先来说一下本文的背景: 使用 SharePoint 做过开发的同学们应该都知道,Sh ...

  9. Microsoft Graph API -----起题 Graph API

    最近因为工作需要,接触学习使用了Microsoft Graph API.在看完Microsoft的Graph官方文档之后,也做了一些简单的案例,在Stack Overflow上做过一些回答.整体来说, ...

随机推荐

  1. WinExec

    WinAPI: WinExec - 运行外部程序 //声明 WinExec(   lpCmdLine: LPCSTR; {文件名和参数; 如没指定路径会按以下顺序查找: 程序目录/当前目录/Syste ...

  2. windows下apache+php+mysql 环境配置方法

    一 准备 1 下载apache http://httpd.apache.org/download.cgi#apache24 httpd-2.2.22-win32-x86-openssl-0.9.8t. ...

  3. encache学习教程

    http://www.cnblogs.com/hoojo/archive/2012/07/12/2587556.html

  4. html 高亮显示表格当前行

    html在线模拟网:http://www.w3school.com.cn/tiy/t.asp?f=html_basic 高亮显示表格当前行 <html> <head> < ...

  5. js window.open() 父窗口与子窗口的互相调用(未必有用)

    javascript 父窗口与子窗口的互相调用 <html> <head></head> <body> 主要实现父子关系的页面 window.opene ...

  6. 极客DIY:使用树莓派制作一套“NAS+私有云盘+下载机”

    原创作者:HackLiu 0×00 前言 ‍ ‍ 如果你家里有多台设备需要联网需要娱乐,你一定会或多或少遇到设备碎片化带来的烦恼.当然,已经有很多厂商包括新晋的小米.360在内的互联网公司做了这个事情 ...

  7. JSON.parse()和JSON.stringify()(转载)

    parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":&qu ...

  8. Oracle SQL*plus常用的命令和函数

    常用命令: 连接sqlplus命令行下运行cmd进入,如以sys模式登陆,命令如下:(1).sqlplus "sys/zhb126 as sysdba" (2).sqlplus/n ...

  9. HDU 1540 Tunnel Warfare(线段树+区间合并)

    http://acm.hdu.edu.cn/showproblem.php?pid=1540 题目大意:抗日战争期间进行地道战,存在n个村庄用地道连接,输入D表示破坏某个村庄(摧毁与其相连的地道, 包 ...

  10. tabbar底部标题和子控制器标题为什么会保持一致?

    原因: 1.当self.navigationItem.title,self.tabBarItem.title没有赋值情况下值和self.title一致. 2.当切换到该控制器页面的时候自己设置的sel ...