SharePoint: A Product and a Platform
Posted by Nick Kellett on 10/12/09 | SharePoint
One of the key concepts to recognize when using Microsoft SharePoint is that it is both a platform and a product.
We’re all used to looking at SharePoint as a product – for instance, if we navigate to a certain URL in our browser we see our company’s SharePoint intranet site, where we can modify content, search for and view documents, and create new sites. To get this working, our IT administrator had to run a graphical wizard, configure some settings, and then (almost by magic!) all of this great functionality was available to us.
Because this functionality is packaged up in a predefined way, it is a software product. Actually, there are two Microsoft SharePoint products: one is Windows SharePoint Services (free with Windows Server), and the more advanced product is Microsoft Office SharePoint Server (MOSS).
But what does it mean for SharePoint to be a platform? And what are the implications?
What is a platform?
Let’s start by defining our terms a little bit. A “platform” refers to a consistent foundation upon which we can launch and run software applications. There are two broad kinds – hardware and software platforms.
It used to be most common to speak about hardware platforms, such as a Macintosh desktop, or a computer mainframe. When you are building an application upon a hardware platform, you need to write code that will work on that exact hardware.
These days, software platforms have become more important. A software platform is simply a set of code upon which other applications can be managed and run. In a software platform, the underlying hardware is hidden away from you. You only need to write code that will work on that software platform, which could theoretically be deployed on any hardware. This makes software platforms more flexible than hardware platforms (again, at least in theory!).
Examples of modern web software platforms include IBM WebSphere, Amazon Web Services, and SalesForce.com. Each of these provides a standardized code base upon which other applications and features can be built.
Of course, Microsoft SharePoint is also a software platform.
What Does the SharePoint Platform Provide?
SharePoint is a massive platform, which uses a stack of many different technologies. It incorporates a variety of other Microsoft components, including a SQL database (for storing content), the .NET framework (for writing code), and Internet Information Services (for running its websites).
Some of the technical features it provides include authentication and authorization, user profiles for personalization, file and data storage services, web site look and feel, dynamic navigation, document management, team collaboration, and federated search.
What Are The Implications Of Using the SharePoint Platform?
First of all, the SharePoint platform can substantially reduce the Total Cost of Ownership (TCO) of common Information Technology systems, because it provides a wide variety of technical capabilities in a unified development environment.
This means it provides a consistent set of technologies built to work together. This is one of the key benefits of using a platform. A great deal of time, money and effort is often spent writing code that integrates with other software. A unified set of development languages and tools can make this task easier. Solution development is much quicker (and therefore cheaper) since a large percentage of desired functionality may already exist in the platform (or be easily customizable).
Platforms tend to be more stable and testable. Maintenance and testing are significant costs when developing software. By relying on an underlying platform, users can offload the responsibility for much of this to the platform vendor, Microsoft. Relying parties are only responsible for testing and managing their own code.
However, they should develop and follow “best practices” in order to ensure that whatever they do is easy to deploy, maintain, and won’t break when the underlying platform is patched, or a new version of the platform hits the market. Accordingly, there is a great deal of interest in following SharePoint best practices (proven by the popular SharePoint Best Practices Conference, and numerous books and blog posts on the subject).
The SharePoint platform also decreases the support and training costs for users and developers. Since the platform uses a standard set of technologies, it also standardizes how they must be used. Since developers and users take less time to learn common activities, training and support costs are reduced.
Another significant advantage of the SharePoint platform is that it helps to create a desirable software “ecosystem”. Because software vendors, clients, the SharePoint community, and even individual developers can write software on top of the platform, they start to form a mutual ecosystem. Within this, individual offerings might compete with or collaborate with each other. However, they are all dependent for their survival on the continued use of the platform (their “environment”). Collectively the product and service offerings of this ecosystem fill in market niches that Microsoft by itself could never meet.
The SharePoint ecosystem provides incentives to its members. To begin with, Microsoft has earned over a billion dollars for its SharePoint server licenses to date. This gives it a tremendous incentive to make its products integrate with, or build upon, its SharePoint platform. So, over the last few years we’ve seen products like Microsoft Project Server, PerformancePoint, and Office begin to merge with it.
Third-party vendors also have a strong incentive to build integration into their products to benefit from the ecosystem. They are taking advantage of strong demand for SharePoint to build enhancements that fill the niche demands of SharePoint customers. They are also benefiting from the unified development platform advantages mentioned before.
The SharePoint community has an incentive to improve and share features that they desire, which might not be otherwise met by the market. Since they are sharing a common platform, it becomes easier for the community to create solutions that interoperate.
Finally, SharePoint clients have an incentive to strategically invest in SharePoint for all the reasons previously mentioned. In short, it can help their IT dollars go farther.
The ecosystem also raises the risk of platform lock-in. The more a company invests in a platform and its related technologies, the higher their switching costs to move to something else. As well, as an ecosystem improves, it exerts more and more pressure on its members to remain locked within it, since platform alternatives may not offer the same benefits they gain if they remain inside the ecosystem.
Microsoft built their enterprise SharePoint product – MOSS – on top of the SharePoint platform. By acting as their own client, Microsoft had a first-hand opportunity to field-test the experience of building products on top of the SharePoint platform. Presumably the feedback from their efforts to build MOSS was incorporated into their SharePoint platform, making it more robust, providing better logging messages, and perhaps even faster performance.
In Conclusion
In summary, Microsoft SharePoint is an interesting technology because it is not just a software product, but also a platform. It provides significant advantages including a unified development environment, increased stability and testability, reduced training and support costs, and the dynamics of a large ecosystem. It may also increase the risk of vendor lock-in by increasing the switching costs alternatives.
SharePoint is part of a wave of powerful new software platforms that are transforming how software is developed.
Want to learn more about Microsoft SharePoint?
View SetFocus' SharePoint Training options.
About Nick Kellett
Nick Kellett is a former alumni of the SetFocus Master’s Program Java Track and current instructor of the SharePoint Master’s Program. He has over a decade of Java and .NET development experience in New York, London, Ottawa, and Sydney and has been working with SharePoint since the Office 12 TAP program. Some of his career highlights include: Developing and delivering Australia's first SharePoint Deployment Planning Services engagement, speaking on governance at SharePoint Best Practices conferences, and becoming one of the first SharePoint professionals in the world to be Microsoft Certified.

This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 Unported License