前言
不知不觉作为一个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做什么

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

  1. 我们可以用SharePoint做什么

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

  2. 【微信转载】Google是如何做测试的

    就 目前的软件公司而言,Google无疑是在开放和创新力方面做得最好的.而如何支撑Google这种快速地扩张的研发能力以及迭代速度,并且产品质量总是 一如以往的能给人们很棒的用户体验?这是一个值得我们 ...

  3. 【转载】在 2016 年做 PHP 开发是一种什么样的体验?(一)

    转自:https://www.v2ex.com/t/312651 在 2016 年做 PHP 开发是一种什么样的体验?(一) 嘿,我最近接到一个网站开发的项目,不过老实说,我这两年没怎么接触编程,听说 ...

  4. 转载:手把手教你做iOS推送

    手把手教你做iOS推送 http://www.cocoachina.com/industry/20130321/5862.html

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

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

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

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

  7. 【Unity3d游戏开发】unity3D OnTriggerEnter和OnCollisionEnter的一点个人心得(转载)

    此文为转载,因为最近在做U3D,有一些概念弄得不是很清楚,看到这篇博客讲的不错,就转载过来了,方便自己随时查看. ------------------------------------------- ...

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

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

  9. 转载:关于Matlab GUI的一些经验总结

    去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录. 从简单的例子说起吧. 创建Matlab ...

随机推荐

  1. Win7下SQLite的简单使用

    前言 SQLite 是一个软件库,实现了自给自足的.无服务器的.零配置的.事务性的 SQL 数据库引擎.SQLite 是在世界上最广泛部署的 SQL 数据库引擎.SQLite 源代码不受版权限制. 简 ...

  2. 在C#中如何读取枚举值的描述属性

    在C#中,有时候我们需要读取枚举值的描述属性,也就是说这个枚举值代表了什么意思.比如本文中枚举值 Chinese ,我们希望知道它代表意思的说明(即“中文”). 有下面的枚举: 1 2 3 4 5 6 ...

  3. iOS设备类型

    通常App都会采集用户的设备信息,比如设备类型.网络类型.内存大小等,而拿到的数据比如:iPhone 8,1是什么意思?代表iOS 8.1吗,非也.这里放二个网站大家可以上去查一查,在统计分析的系统里 ...

  4. 5分钟破解wpa2密码(转)

    首先大家要明白一种数学运算,它叫做哈希算法(hash),这是一种不可逆运算,你不能通过运算结果来求解出原来的未知数是多少,有时我们还需要不同的未知数通过该算法计算后得到的结果不能相同,即你不太可能找到 ...

  5. reader

    http://git.oschina.net/jayqqaa12/abase-reader https://github.com/JustWayward/BookReader https://gith ...

  6. React学习资料

    以下是我整理的React学习资料,包括:React基础.Redux.reat-router, redux middleware, higher order components, React验证等, ...

  7. mybatis connection error Cannot create PoolableConnectionFactory (Access denied for user 'root '@'local

    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.Persiste ...

  8. ASP lable标签显示过长,自动换行。

    <asp:Label ID="lab_BeforPostR" runat="server" CssClass="labSty" Wid ...

  9. 对于程序开发者看书(指实在的书而不是PDF)的好处。(个人看法而已)

    书是实在的东西.不同PDF.他能带你进入一种学习态度的环境 书上已经所列了知识点.看了.那些知识点就是你的. 第一次看,未必完全理解到里面的东西.说不定过几天,几周,几个月,甚至几年.再看.就有可能看 ...

  10. 如何在C语言中调用Swift函数

    在Apple官方的<Using Swift with Cocoa and Objectgive-C>一书中详细地介绍了如何在Objective-C中使用Swift的类以及如何在Swift中 ...