In this guest blog post, Jeremy Thake, enterprise architect and Microsoft Sharepoint MVP at Avepoint looks at the opportunities for using SharePoint Online 2010 as an application development platform.
Microsoft launched Office 365 (O365) in June 2010, including SharePoint 2010 Online, as an update to its existing Business Productivity Online Services (BPOS) suite that offered SharePoint 2007 Online.
But what is SharePoint?
SharePoint is a platform that presents different workloads such as: collaboration, enterprise content management (ECM), search, communities, line-of-business (LOB) integration and business intelligence. As a rapid application development platform, it allows businesses to build business solutions without the need for development resources and other IT department interaction.
SharePoint has had a major release every three years, with SharePoint 2007 being the first to be made available as a software-as-a-service offering in BPOS. It has been available on-premise since 2000, when it was known as Tahoe. It is worth noting that there is functionality available on-premise that is not available in BPOS/O365.
SharePoint is a web-based platform and so being hosted in the cloud means that it provides a highly accessible platform from anywhere on the Internet -- securely. The key benefit to the platform is that it provides a common framework for solutions to build on, rather than each solution being built by different teams using different frameworks, which subsequently leads to maintenance and operational issues.
From a business user perspective, it also offers a common user interface and allows co-existence of solutions and high interoperability between them. Microsoft has invested considerable effort to ensure that integration with the rest of the stack is exceptional, with strong stories in Microsoft Office client suite, Lync, Dynamics CRM, SQL, and Exchange.
If your organisation already has some, or all, of these products being used, it is very quick to get productivity gains for solutions due to the familiarity already existing out there in the field.
SharePoint provides the ability for solutions to be built using the common framework - here are some of the areas that are leveraged:
• Security model - both authentication and authorisation (including claims based) are heavily leveraged in solutions
• Lists and libraries - the ability to add strongly typed metadata to items in a list or library with additional versioning, workflow, event receivers, alerting, and RSS feeds
• Publishing - a WYSIWYG interface for web pages that allows adding of web parts to pages to build strong mash ups between solutions
• Service Applications - the ability to leverage the User Profile Service (UPS) to store/retrieve user data across solutions, have a centralised taxonomy/folksonomy with the Managed Metadata service (MMS), or integrate LOB applications using Business Connectivity Services (BCS)
• APIs - there are various APIs available to consume including a Representational State Transfer (REST) interface for all lists and libraries, a client object model for various areas of the framework and a sandboxed server object model to reach deeper areas of the framework
One thing to consider is that SharePoint is not recommended for all solutions. In the field, the areas that seem to start stretching the platform's capabilities are: highly relational data and large datasets (millions rows) due to performance implications, and wanting a "non-SharePoint" looking user interface without risking supportability issues in upgrade to the next major version.
In the next article (there are four to collect and keep), we will discuss getting started in building a solution on SharePoint 2010 Online.