In line with SOA architecture of many applications built today, PPS is no exception, both the Planning and Monitoring parts of PPS use a Web service's to function. For the moment we will explore using the planning web service with a web application in .NET 3.5.
There are 2 separate web services that are exposed, these are MetaDataManager.asmx and DataManager.asmx


So to begin we will create a web application in order to access the web services. Most of the web methods cannot be invoked directly from a web browser as they do not accept primitive types. Those that do work are the following:
MetadataManagerWebService:
- Connect - Returns a Boolean result to test an active connection to the planning web service.
- Disconnect - Disconnects from the planning service.
- GetSystem (bool expandModelSitesContents) - Returns all information relating to the Server that the web service is called on, this contains a lot of information, and the relevant GUID's for the applications and sites.
DataManagerWebService:
- GetOverrideStatusChoices - returns the Work Unit Statuses that are available within the Planning system
Retrieving Data from the Web Service:
Let’s start with a really simple retrieval of data from the Web Service, and use the method in MetaDataManager called GetSystem. This will form the building blocks of an application that can identify, Sites, ad models in a PPS deployment.
We need to add the web reference to the project, add both MetaDataManager.asmx and DataManager.asmx.
Now to test the connection lets set up the connection to the web service and call GetSystem, this should return all the information from the PPS Planning System installed on the server we are calling the web service from.
MetaDataManager.MetadataManagerWebService ppsMDM = new MetaDataManager.MetadataManagerWebService();
System.Net.CredentialCache myCredentials = new System.Net.CredentialCache();
NetworkCredential netCred = new NetworkCredential("frfrfr", "frfrr", "frfrfr");
myCredentials.Add(new Uri(ppsMDM.Url), "Basic", netCred);
ppsMDM.Credentials = myCredentials;
MetaDataManager.BizSystem bizSystem = ppsMDM.GetSystem(false);
This should not return an error, however upon further inspection you will find that the BizSystem object has a Dataset called applications, of which has no DataTables, not what we expect, especially on inspection of the XML Output that is returned from the Web service when executed in a browser. On closer inspection of the XML, it is obvious that the xml could never de-serialise into a simple DataSet... So what’s going on - how do we get the data?
<?xml version="1.0" encoding="utf-8" ?>
<BizSystem ...>
<Name />
<Description />
<Applications>
<ArrayOfBizApplication>
<BizApplication Id="65c3097d-8df4-4e88-a826-3d19332e2e0e"
Label="AdventureWorksCycles"
ParentId="5f4a9fe1-15a7-4215-8bbc-a9e6d14e4c3a"
xmlns="">
<Name>AdventureWorksCycles</Name>
<Description />
<RootModelSite Id="a87d3d69-73df-48b3-82c6-a96398e552db"
Label="AWC"
ParentId="65c3097d-8df4-4e88-a826-3d19332e2e0e">
<Name>AWC</Name>
<Description />
</BizApplication>
<BizApplication
Id="65c3097d-8df4-4e88-a826-3d19332e2e0e"
Label="Adatis"
ParentId="5f4a9fe1-15a7-4215-8bbc-a9e6d14e4c3a"
xmlns="">
<Name>Adatis</Name>
<Description />
<RootModelSite
Id="a87d3d69-73df-48b3-82c6-a96398e552db"
Label="AWC"
ParentId="65c3097d-8df4-4e88-a826-3d19332e2e0e">
<Name>ADATIS</Name>
<Description />
</BizApplication>
</ArrayOfBizApplication>
<Applications>
It appears that we need to write our own methods to de-serailise this object; this can be easily achieved, and gives us the ability to fully understand this object.
So, one of my previous posts I explored using PPS with SQL 2008 Feb CTP. Now with the release of PPS SP1 and SQL RC0, I thought a perfect time to re-test the installation. With a complete new installation of Windows Server 2008, SQL 2008 RC0, and PPS SP1, the testing has started all over again.
The installation of SQL 2008 goes smoothly now, and very easy, as does the installation of PPS and PPS SP1. However the issues come in after installing all of PPS and then attempting to configure PPS Planning (Monitoring to come later this month).
After Installing SQL 2008, you will also need to install the following items from the SQL 2008 and SQL Server 2005 feature pack:
- Analysis Management Objects 9.0 (SP2)
- SQL Server Native Client 9.0
- ADOMD.NET 9.0 SP2
After installing of these, we can now get the pre-requisite page, and also allows the use of the relational part of SQL Server 2008, however Analysis Services still does not accept the SQL 2008 instance, after much investigation, it does not seem possible to install PPS, even with SP 1, to use Analysis Services SQL 2008 instance. With much regret, I have currently installed an Instance of SQL 2005, just Analysis Services. This allows the install the complete.
Now many people have said that the 2005 Instance can be upgraded to SQL 2008, however I have found that deploying a new model site, still fails once upgraded to SQL 2008. This investigation will continue.
In April I wrote about Reporting Services in SQL 2008 with MOSS 2007 (here), and also a small article on the SQL 2008 feature pack February CTP. This was all tested on the February CTP, of SQL 2008. The feature pack is required to get the Add-In for SharePoint Integration. Andrew has beaten me too it and written a great reference article on the latest RC0 version of SQL 2008 Feature Pack that can be found here. Between PPS SP1 and the RC0 release, I hope to get round to testing all the new releases as soon as possible.
What a treat, I am sure you have all already heard the SP1 has been released for PerformancePoint, which hopefully will enable us to run PerformancePoint on SQL Server 2008. As well as this it seems that RC0 has been released on TechNet for SQL Server 2008. I will be getting an environment for testing set up as soon as possible and begin testing compatibility. Details of availability of this can be found on Andrew Fryer's blog: http://blogs.technet.com/andrew/archive/2008/06/06/sql-server-2008-rc0.aspx