I have started using WDS to setup win7 client machines. The next step is deploying specific applications (both MSFT and non-). Can WDS be used for this or is there a recommended solution that I can tie in with it?
There are a couple ways you could go about this.
You can capture an image with your desired software installed. This isn't a favorite of mine since it tends to age badly and be more work than it is worth.
I suggest you look at the Microsoft Deployment Toolkit to deploy out images as part of your process. This allows for scripted installations. This includes driver injection and the ability do silient installs as part of the deploy process. It works pretty well, plus it is a free product. I used this method for a while before settling with the method outlined below.
My favorite method is using EminentWare (now Solar Winds Patch Manager) to push out both full packages and updates. When I image in this fashion I use WDS to do a network boot and pull down a lite touch MDT image. I have a small script that pulls down all of the available Windows Updates in this process. Whatever updates and packages I have approved for my build will automatically be pushed out and installed.
This results in a perfectly built reproducible and fully up to date system every time.
Although I have a strong leaning to EminentWare SCCM (and likely a couple other products) can be used in the same fashion.
Allow me to add to Tim's suggestion of MDT... MDT allows you to install applications (even 3rd party applications like Adobe reader), updates, and drivers. In the How-to Videos section of this page, the second video is all about using MDT to deploy Windows and Office. More information on using MDT to deploy can be found on the Windows 7 Springboard pages. And remember, MDT is free and will integrate with your WDS server or SCCM.