前言

  不知不觉作为一个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. JAXB 2.0 API is being loaded from the bootstrap classloader

    在使用webservice,mule esb等需要jaxb的项目里经常会出现 JAXB 2.0 API is being loaded from the bootstrap classloader这个 ...

  2. sql server 行转列解决方案

    主要应用case语句来解决行转列的问题 行转列问题主要分为两类 1)简单的行转列问题: 示例表: id  sid           course  result 1   2005001 语文     ...

  3. 三星framebuffer驱动代码分析

    一.驱动总体概述 本次的驱动代码是Samsung公司为s5pv210这款SoC编写的framebuffer驱动,对应于s5pv210中的内部外设Display Controller (FIMD)模块. ...

  4. isa指针

    转载自 http://www.cnblogs.com/zhangdashao/p/4438540.html 可以去这里看详细的. 每个Objective-C对象都有一个隐藏的数据结构,这个数据结构是O ...

  5. 【MVC】 异常处理

    [MVC] 异常处理 一 . 自定义 HandleErrorAttribute public class ExceptionLogAttribute : HandleErrorAttribute { ...

  6. AsyncTask下载网络图片的简单应用

    1.imageTest package lpc.com.asynctaskdemo; import android.app.Activity; import android.graphics.Bitm ...

  7. PHP 判断是否为Get/Post/Ajax提交

    <?php PHP 判断是否为Get/Post/Ajax提交 /** * 是否是AJAx提交的 * @return bool */ function isAjax(){ if(isset($_S ...

  8. Selenium2+python自动化25-js处理日历控件(修改readonly属性)

    前言 日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用j ...

  9. ng-repeat指令应用

    1.ng-repeat 一看就知道跟foreach等指令类似,用于循环重复.一般用于列表和表格中.用法如下: <tr ng-repeat="data in dataList" ...

  10. 边表+SPFA (使用指针+动态内存)

    233 只是我怕忘了怎么写指针操作 所以写一遍指针版的 然而洛谷评测机不给力,400多ms过了数组的,600多ms过指针的... 我想,指针的比数组的理解起来应该容易一点吧 戳我是数组版的,NOIP时 ...