SharePoint Strengths
This post focuses on the strengths of SharePoint. This blog post is an excerpt from an InfoStrat white paper.
Portal Framework
SharePoint provides a framework for building websites,
whether public websites, intranets or extranets. You can create and populate a website quickly
with SharePoint with a minimum of custom development. Data Models in SharePoint 2013
The Microsoft Office Dev Center provides a thorough explanation of developing applications for SharePoint 2013 (https://msdn.microsoft.com/en-us/library/office/jj162979.aspx). The article on what’s new for developers (https://msdn.microsoft.com/en-us/library/office/jj163091.aspx) highlights the key enhancements of SharePoint 2013 for developers and system architects.
The enhancements are in the following areas:
·
Cloud App Model · Familiar programming model using web standards
· Development tools
· Core platform enhancements
· Mobility
· Social and collaboration
· Search
· Workflows
· Enterprise Content Management
· Business Connectivity Services
· Application services
· Additional resources
For our analysis, the most important area is Business
Connectivity Services (BCS) which enables SharePoint to access data from
external data systems such as Dynamics CRM, in addition to other data-driven
applications that are exposed through WCF services or OData endpoints. BCS in SharePoint 2013 was improved in many ways, including OData
connectivity, external events, external data in apps, filtering and sorting,
support for REST, and others.
There are three main approaches to defining data models
for SharePoint applications:
1. Using
SharePoint data structures such as lists and content types. This approach is
best for end users.
2. You
can define a data model in an external data source, such as a relational
database, and then create a set of external content types to expose the data to
SharePoint through the Business Connectivity Services (BCS) component.
Alternatively, you could create a Web service to wrap the data source and
create your external content types from the Web service.
3. You
can create a set of external content types to model and integrate an existing
data source, such as a database, a Windows Communication Foundation (WCF)
service, or a .NET type, to expose the data to SharePoint through the BCS.
SharePoint 2013 introduces a new way to support external
data in autonomous units called apps.
Apps contain all the resources they need to run and are isolated from
other apps. The app architecture allows you to access external data from SAP,
Netflix, and proprietary and other types of data without involving the tenant
administrator. Access to external applications is provided through Business
Connectivity Services (BCS), which are a consistent and uniform interface that
can be used by other SharePoint applications.
You can access external data with REST (representational
state transfer) URLs for BCS. Like the
app framework, this enhancement makes it easier for developers to extend
SharePoint.
A new SharePoint 2013 feature called JSLink allows
rendering of fields, items and even Web Parts through a JavaScript file.
In summary, it is not that SharePoint cannot support
relational databases, but rather that significant custom development is
required to create a relational application that runs in the context of a
SharePoint portal. Using SharePoint as a shell for a custom application may be
the best approach when integrating with an existing application.
Document Management
If unstructured data is the core of your application,
SharePoint may be sufficient on its own.
For instance, SharePoint provides:· Shared website
· Access without VPN client
· Document management
· Version control
· Email Alerts
· Workflow
· Full text search
· Document metadata
· Meeting and project workspaces
While Dynamics CRM allows you to attach files to records,
it is not a document management system.
If you want version control, check-in, check-out and other document
features, you can turn to SharePoint.
Content Management
SharePoint is a content management system and Dynamics CRM
is not. Dynamics CRM provides no functionality to build websites, intranets or
extranets. While Dynamics CRM can
provide data for web services which you publish on a website, for content
management, SharePoint is the hands-down winner.
Full Text Search
SharePoint offers a search engine which crawls multiple
sources, searches on full text, and returns a combination of hits from web
pages, documents, personal profiles and other sources. Dynamics CRM allows searching in its
structured data but has nothing to compare with the SharePoint search engine.
Once again, if you need this type of functionality,
SharePoint and not Dynamics CRM would be your choice.
Decentralized Administration
The SharePoint paradigm provides a great deal of
flexibility and independence to site owners.
In a decentralized organization, SharePoint allows departments and other
groups to set their own standards without affecting others.
SharePoint lists may be easily customized by adding new
columns without affecting other lists in other sites. You could have ten lists each called
“proposals” with different fields and different configurations. Nor is there a requirement that these lists
share the same name, so similar lists could proliferate with different names in
the same or different sites.