I had word today that my entry into the European WinPHP Challenge 2009 competition had been accepted. As I haven’t seen anyone else blog about it yet, I’m starting to wonder how many participants there are ;) (Someone should setup a Planet WinPHP Challenge site or something).
Seriously, the competition is a good idea. During my four and a bit years working on a proprietary PHP CMS for Box UK (2003-2008), about half of the customer base chose Windows Server as their server platform. Generally, folks choose to deploy web-based applications on Windows Server because they already have Windows Server. Selling them something that will only work on Linux is a tough sell, so a competition like this that seeks to show off how well PHP works on Windows should be another small step forward for all those small ISVs like Box UK who want to sell products written in PHP – provided Microsoft actually do something marketing-wise with the results.
The tag line for the competition is: “To help show how well PHP runs on Windows, we are holding the “European WinPHP Challenge” to showcase the FAST in FastCGI.” (their emphasis) So I figure an interesting showcase would be to build an app that combines PHP and .NET into a web services gateway.
And, it would actually be useful.
PHP’s SOAP client falls somewhere between being a toy and a joke, depending on how much your job depends on it working against real enterprise services. Because these services are built in .NET (or Java) for other .NET programmers to use, they exploit the full expressiveness of SOAP (well, the automated wizard that builds the service does, but you get the idea ;) ) without any thought of toning things down to remain interoperable with PHP. It’s a source of great frustration at work.
So my competition entry is called “Give It A REST”, and the idea is to create a SOAP<->REST gateway using PHP and .NET, running under IIS7, before the end of May. My primary test case is being able to interface with the SOAP APIs published by Netsuite and Daptiv from PHP via a RESTful interface. The PHP client will be remote; it will not be running on the same box as Give It A REST. And the PHP client won’t be using SOAP at all.
Should make for an interesting six weeks or so :)