The Microsoft Application Platform is a technology stack used for the development and deployment of high end enterprise level business applications. It provides for both on-premises, cloud and hybrid-based deployments.
The Microsoft Application Platform is based on the following layers:
- Windows Server provides for the Infrastructure Layer and includes support for the core functionality needed by any application such as security, virtualisation and networking. Windows Azure provides the same for cloud based deployments.
- SQL Server provides the Database Layer and includes support for transactional database programming and data warehousing. SQL Azure provides for cloud deployments.
- The Application Services Layer provides a fully functional middle tier and includes facilities such as message handling, work flow, state management and caching. This layer is covered by Microsoft .NET, Windows Server AppFabric and Microsoft BizTalk Server. For the Cloud it is covered by Windows Azure Platform AppFabric.
- The top layer is the Application Layer which encompasses a number of line-of-business applications from the Microsoft Dynamics suite and in particular Microsoft Dynamics CRM, Microsoft SharePoint and Microsoft Exchange. For the Cloud there is Office 365 for Exchange and SharePoint and Microsoft Dynamics CRM Online.
In addition to the application layers there are supporting tools including Visual Studio for developers and Microsoft System Centre for system administrators to help monitor and manage the infrastructure, particularly relevant with on-premise and hybrid deployments.
Note that SQL Server is used to provide the data layer for all of the key components of the Microsoft Application Platform including BizTalk, SharePoint, CRM and any custom components.
The Microsoft Application Platform is not just designed to support deployment of fixed packaged applications. One of its unique properties is that it provides the core functionality for custom applications without requiring development from scratch, for example:
- SharePoint can be customised by:
- Developing Web Parts that add new functionality to the web pages.
- Workflows can be developed to manage the handing of documents and other content.
- Event Receivers can add special processing when data changes.
- Developing new page layouts that control how pages are edited in the content management system.
- Microsoft CRM also has a programming interface that supports the development of custom:
- Data entities
- BizTalk and .NET are development environments and so directly support customisation.
- Exchange also supports customisation through its Web Service and Message Filter facilities and the ability to change the appearance of Outlook Web Access.
The above demonstrates the power of the Microsoft Application Platform. Windows provides the infrastructure. SQL Server provides the data platform. SharePoint provides the portal with authentication and security to manage permissions and BizTalk provides the message handling and workflow capabilities.
A full-blown enterprise level system with the minimal custom code.
By Geoff Ballard, Chief Technical Officer at Ballard Chalmers
About the author
Geoff Ballard is Co-Founder of Ballard Chalmers and the company’s CTO, directing technical strategy, overseeing technical consultants, managing larger development projects and ensuring technical delivery quality standards. Geoff has been a SQL Server consultant since the very first beta release by Microsoft and is a trainer and author in Microsoft technology, including courses delivered throughout the world.