PerformancePoint Services Architecture
Published: May 2010
Learn about the PerformancePoint Services client, front-end web server, and application server architecture.
PerformancePoint Services in Microsoft SharePoint Server 2010 is a SharePoint Server 2010 service. Its multitiered architecture includes components on the client tier, the front-end web server, and the back-end application server. The following diagram shows a generalized view of the PerformancePoint Services architecture.
Applies to: PerformancePoint Services for SharePoint Server, Enterprise version
The client tier includes the browser and PerformancePoint Dashboard Designer.
PerformancePoint Dashboard in the Browser
PerformancePoint Dashboard Designer
Dashboard Designer provides a rich authoring environment for creating and managing dashboard content. Dashboard Designer installs on a client computer by using ClickOnce, a Web-based deployment technology. Dashboard Designer communicates with the PPSAuthoringService Web service by sending SOAP requests and receiving XML responses. Users can also perform simple design tasks in edit mode in SharePoint Server 2010, such as adding Web Parts to a dashboard.
The front-end web server runs on Internet Information Services (IIS). It hosts thin custom editors, PerformancePoint Web Parts, web services, and the application service proxy.
Custom Editors for PerformancePoint Services
Custom editors enable users to modify a custom PerformancePoint Services object, which is a native ReportView, Filter, or DataSource object that defines custom values for its properties. Custom editors run server-side in a SharePoint application instance, and they call objects in the PerformancePoint Services object model (the service application proxy and SPDataStore object). For more information about custom editors, see Editors for Custom PerformancePoint Services Objects or PerformancePoint Services Code Sample: Custom Report, Filter, and Tabular Data Source Objects.
PerformancePoint Web Parts
Scorecard, report, and filter objects are rendered in Web Parts on a dashboard page. PerformancePoint Web Parts implement Microsoft SharePoint Foundation 2010 connection interfaces, which enable them to send values to or receive values from other Web Parts that use compatible connection interfaces. Only one connection can be defined between any two Web Parts on a dashboard page. However, multiple endpoints can be connected within the connection, and multiple parameter values can be sent over the connection.
PerformancePoint Web Services
PerformancePoint Services uses two web services at the site-collection level to perform authoring and rendering tasks.
The PPSAuthoringService web service is used by Dashboard Designer to create, modify, and delete dashboard objects, retrieve dashboard content, and retrieve data from data sources.
The PPSRenderingService web service is used by Dashboard Designer and the browser to render dashboard objects.
The web services call the BIMonitoringServiceApplicationProxy service application proxy to make requests from the application server.
Calling PerformancePoint Services web services remotely is not a supported development scenario.
Service Application Proxy for PerformancePoint Services
BIMonitoringServiceApplicationProxy exposes the PerformancePoint Services API to consumers, and it provides the communication channel between the front-end web server and the application server.
The front-end Web Parts and web services call the service application proxy to render dashboard content and run data source queries. Then, the service application proxy forwards these requests to the PerformancePoint Services service application. The proxy interacts with the load balancer on the application server and maintains separation between hosted domains and web applications by identifying the part of the farm that provides results.
The service application proxy communicates with the service application by using a Windows Communication Foundation (WCF) service interface. The service-oriented architecture of the WCF interface provides improved performance, security, and scalability.
The BIMonitoringServiceApplication service application provides the middle-tier business logic for the PerformancePoint Services instance and performs the complex processing for PerformancePoint Services features. It stores annotations, temporary objects, and parameter persistence (users' filter selections) in a database instance.