Apr 13
Permalink

Agavi on the Azure Platform

The next release of Agavi will have initial support for running applications on the Microsoft Windows Azure platform, as well as a database adapter for the new ext/sqlsrv driver to communicate with Microsoft SQL Server and support for the IIS7 web server, which now finally has a very nice rewrite module.

As always with these kind of features, the biggest task was getting to know the platform and its components. I spent a good amount of time setting up the necessary tools, learning the finer details of Azure deployment, researching on how the load balancing worked, finding the right rewrite rules for IIS and bending ext/sqlsrv to my will.

In Agavi itself, you will merely find a new session storage class (for cloud-based sessions), a new database adapter class to talk to MSSQL, and some minor modifications to the web request and routing implementations to deal with IIS7’s URL decoding behavior. The latter is still a work in progress, and requires a lot of testing since unfortunately, Apache/IIS/lighttpd/… all have vastly different behavior especially when it comes to URL decoding.

All of these updates will be in Agavi 1.0.4; I plan on releasing 1.0.3 as a final first (it’s been out there long enough in RC state now).

Expect a blog post with examples on how to get your Agavi app up and running on Azure very soon; especially with the Toolkit for Eclipse, it’s a remarkably convenient way of testing and deploying your applications on a cloud infrastructure. And there will, of course, be another article with a wrap-up of last week’s Jump In Camp.

Apr 07
Permalink

Jump In! Camp

Jump In! Developers’ Camp has started today at a beautiful resort near Zürich, Switzerland. Over the next three days, we’ll have workshops focusing on the topics of cloud computing, the Microsoft Azure platform. There are quite a bunch of fellow Open Source developers here, and it’ll be exciting to sit together and hack away on various features.

For Agavi, this means that work will be done this week on native support for the Azure cloud computing platform, support for IIS7 and the new SQL Server Driver for PHP. I’m also hoping to get some support in for the table and queue stores the Azure platform offers, although that will require a lot work on the new storage subsystem planned for Agavi 1.1 that will be difficult to squeeze into the next three days.

In addition to that, I’ve been working on support for both input types (finally!) and a new security infrastructure that decouples authentication and authorization and will allow you, among other things, to access validated request data, so you can for instance implement an ACL subsystem to perform authorization checks directly on your business objects.

I’ll blog several updates over the next few days, so stay tuned!

– David