SQL Server Reporting Services SDK for PHP: adding business intelligence and reporting features to PHP applications

Wouldn’t it be awesome if PHP developers building reporting applications could use the wider range of ready-to-use tools and services to create, deploy, and manage their reports. Today the SQL Server Reporting Services SDK for PHP turns that scenario into a simple reality enabling PHP developers to easily create reports and integrate them in their web applications.

Announcing the SQL Server Reporting Services SDK (Software Development Kit) for PHP

I’m excited to announce that the first version of the SQL Server Reporting Services SDK for PHP is available today on Codeplex, as an open source project: http://ssrsphp.codeplex.com.

This SDK enables PHP applications to simply utilize SQL Server Reporting Services, Microsoft’s Reporting and Business Intelligence solution. Best of all, these scenarios can be done using the free (as in “free beer”!) SQL Server 2008 Express with Advanced Services edition. This edition includes the SQL Server 2008 Express database engine as well as graphical administration tools and the Reporting Services server components for creating, managing, and deploying tabular, matrix, graphical, and free-form reports (SQL Server 2008 Express Advanced can be downloaded here).

SQL Server Reporting Services SDK for PHP in a nutshell

The SDK offers a simple Application Programming Interface (API) to interoperate with SQL Server Reporting Services. The API provides simple methods to perform the most common operations:

  • list available reports within a PHP applications,
  • provide custom parameters from a PHP web form,
  • manage the rendering of the reports within a PHP application.

Architecture

The API is built on top of the SQL Server Reporting Services Web Service API using SOAP as the underlying communication mechanism. PHP applications can then manage reports, parameters, credentials, and output formats with SQL Server 2008 Reporting Services.

The design of the report is created with Business Intelligence Development Studio which comes with SQL Server 2008 Express with Advanced Services. Developers can alter the style of the output formats to fit their needs.

From Reporting Services in SQL Server Express Edition,your access to remote data sources (SQL Server, OLEDB, ODBC, MySQL, Oracle and others) goes through a SQL Server Express instance installed on the same server, using either:

  • a linked server feature to allow your application to connect to a data source by creating views pointing to the original database.
  • importing of data so you can extract data from the original datasource and import it into the SQL Server Express instance.

The Hello World demo scenario

Using the SQL Server Reporting Services SDK for PHP, we’ve created a simple scenario showcasing how to manage reports within a PHP application. This sample is part of the package that you download from the project site.

The application displays first the list of reports that are available:

clip_image004

Once the user picks a report, he can select parameters which have been predefined for the report, for example:

clip_image006

For the developer, it’s fairly simple to build such form. It requires only to call the “GetReportParameters” method provided by the SDK and then parse the result and associate the appropriate HTML controls.
Here’s a snippet (the full Hello World demo is part of the SDK download):

clip_image008

Finally, when the user validates its choices, the report is generated on the server side and returned to the PHP applications, which does the final processing to display the information in the context of the application. Here the HTML output for our sample report:

clip_image009

Join the conversation

Today, I’m actually presenting the SDK at the Jump In! Developer Web Camp event underway in Zurich. I’m sure I’ll get a lot comments from the PHP experts attending, But what about you: does the SQL Server Reporting Services SDK for PHP respond to your scenarios?
Of course, feedback is welcome!

To join the conversation, please visit SQL Server Reporting Services SDK for PHP on Codeplex: http://ssrsphp.codeplex.com.

Claudio Caldato, Senior Program Manager, Interoperability Strategy Team.