The Foundation had most familiarity with and wanted to use Microsoft technologies. Security and user authentication was already managed across the organisation using Microsoft’s Active Directory. The ‘Daylight’ applications would use Microsoft .Net and SQL Server technologies throughout. LShift went on to propose using Microsoft’s (then recently released) ASP.NET MVC 2 to build the applications for ‘Daylight’. MVC 2 is a quasi-open source framework, insofar as the source code is available for inspection, with the caveat that any modifications to MVC’s source cannot be redistributed to clients. The lack of official documentation of this new technology did pose some challenges, as did some unexpected areas of complexity that had to be worked around. Selenium and nUnit were employed for testing during development, backed up by a customised tool, written in C#, that managed database states.
Given that there were empowered decision makers on the client side with clearly prioritised requirements, the project was a great fit for LShift’s preferred agile project management method: DSDM.
LShift continues to work with the Foundation to add new features to the system.
In addition to Microsoft and Vodafone, LShift was required to work with an Over The Air (OTA) server supplier (SmartTrust) and a SIM supplier (Axalto). LShift was also responsible for working with all suppliers closely during the design phase before integrating the components.
The prototype developed achieved all objectives and was delivered in time and within budget. Subsequently LShift has been engaged to further refine the underlying protocol and architecture prior to Vodafone launching products based upon the framework.
The project was demonstrated to the distributed-systems research community at a conference at Microsoft Research, Cambridge.
We have been using WebDriver (/Selenium) for doing functional testing of web applications. I have personally been involved in using WebDriver on .NET to automate testing of several .NET web applications.Â But in my spare time, I’ve discovered another use for WebDriver, which is automating interactions with websites.
We recently started a project using Microsoft’s ASP.NET MVC 2Â framework. Since I’m pretty big on test driven development, IÂ immediately wanted to start unit testing the controllers. It turns outÂ that it’s a bit harder than I thought: in production, MVC does a wholeÂ bunch of stuff before execution ever reaches your controllers. And ifÂ you naively just start applying TDD, you get all sorts of funkyÂ NullReferenceExceptions deep in the bowels of MVC.