Context

The patterns & practices team is in the process of updating GAX, GAT, and 3 software factories (Smart Client, Web Client, and Web Service) to work with Visual Studio 2010. We intend to release all of these within 30 days of the VS 2010 launch. The main goal of this effort is to allow customers using Visual Studio 2008 to be able to move to VS 2010 and continue to use these VS extensions.

Broad Changes

All p&p releases are available on the MSDN Download Center and the same is true for this effort, but the binary releases of these extensions will also be published as a VSIX file to the Visual Studio Gallery. VSIX is a new, simplified deployment mechanism for VS extensions and we’re huge fans. The installation is much faster. As we have done in the past, source code releases each of the factories (not GAT or GAX) will also be provided on MSDN as a ZIP file.

Since Enterprise Library 5.0 is being built at the same time as this effort, we always intended to update any EntLib 3.0 dependencies to EntLib version 4.1. However, this week we are determining if we can use 5.0. Even if we can use 5.0, we know we won’t have time to take advantage of any new features. Also, any ObjectBuilder 1.0 references will not be updated. Stay tuned for updates on this.

We don’t intend to release the written documentation with the binary releases (it wouldn’t be very accessible even if we did), but they will be available online, and in a way you can sync them locally (for offline use) pretty easily. For the source code drops of the 3 factories, we will also include a CHM file of the documentation in the ZIP.

GAX 2010 and GAT 2010

Beyond the change to VSIX deployment and some bug fixes, you won’t see much difference with GAX. As I type this, there is a beta release of GAX in the VS Gallery and we’re waiting on the RC build to be signed so we can update it. This should happen within days of this post. We also removed the documentation for GAX since it didn’t add much value and the same content was included in the GAT documentation.

GAT is now capable of building guidance packages (GPs) that are VSIX deployable instead of having to use installer projects. It also has a new recipe for changing a Visual Studio 2008 GP to a Visual Studio 2010 GP. If you need to migrate a GP, we would be interested in your experience with these draft instructions. The release candidate build of GAT will be going out the same time as GAX (days from now).

Smart Client Software Factory 2010

Progress on the SCSF is going very well. We are currently in the process of building an RC drop to publish to the VS Gallery the week of March 22nd. As we were reviewing the docs for the SCSF, we realized the ClickOnce technology has undergone so much change since these deployment topics were written we basically have to rewrite them. This effort has a lower priority than the factory itself, but we’re doing the best we can to have it updated by the release.

Web Client Software Factory 2010

Progress on the WCSF is also going very well. We have a version working on VS2010, and will be completing functional testing this week. We plan to publish a release candidate in early April. We did not add or remove any functionality.

Web Service Software Factory 2010

The Service Factory is the one we knew would need considerable changes. These changes are driven by new capabilities in Visual Studio that allow us to remove some of our code and simplify how we do certain things. Here is a brief description of some of those items:

  • The 2008 version uses the DSL Integration Service (DIS) to handle relationships between shapes on different models. VS 2010 includes the Model Bus to do the same thing in a cleaner, more robust way. This also made it very easy to enable composition and sharing of data contracts across data contract models—not possible (without modification) in the 2008 version.
  • The custom model project has been removed to simplify the code base and provide more flexibility. Now it uses a generic class library project. This makes it much easier to work with model files, but it does mean you have to make a language decision sooner.
  • We’ve replaced our components that generate the client proxy with the proxy generator built into Visual Studio. This simplifies the code base and the user experience, as well as provides more consistency between the client and the service.
  • The host model now has a look and feel that is more consistent with the user experience and metaphors used on the service contract and data contract models.
  • Because we are now using the latest DSL tools, we also get the benefit of their new features.

Miscellaneous

Release availability. All existing releases of these (code and documentation) will continue to be available on MSDN without change. These new releases will only be supported in VS 2010.

Side-by-side. We are not aware of any issues that prevent VS 2008 and the associated versions of these extensions from being installed on the same computer as VS 2010 and these new extensions.

* We understand some customers will be upgrading from the VS 2005 versions of the SCSF and WCSF. We expect these migrations won’t go as smoothly as the ones from VS 2008, but it should be possible. If this scenario describes you, we would like to hear from you.

Don, p&p team member