Setting up a development environment

We sometimes get the question from our new partners how they'd go about setting up their ADAM development environment. This is the setup we find most effective.

The most obvious choice is for a developer to setup an entire ADAM environment on his individual laptops. This includes the ADAM components and an ADAM database. These workstations should be running:

  • Microsoft Windows XP/Vista/Server 2003/Server 2008
  • Microsoft SQL Server 2005/2008
  • Microsoft Visual Studio 2003/2005/2008

As always, every approach has its pros and cons:

Pro:

  • Easy to setup.
  • Each developer has its own ADAM database and can work independently from each other.
  • Works well for small projects and individual developers.
Con:
  • Hard to collaborate on projects with multiple developers.
  • Hard to keep the ADAM databases in sync during the development track: each developer has his own 'version of the truth'.

A slightly different approach is to put the ADAM database on a separate server and let all workstations connect to the same database (i.e. let every ADAM registration on each workstation point to the same SQL Server database). This server doesn't need to have the ADAM components, as it is only used as a database server in this scenario. However, installing the components could turn your server in a testing environment that can be used to verify the work done by the individual team members:

Pro:

  • Single version of the ADAM database
  • Easier to collaborate for multiple developers

 

Con:
  • Changes on ADAM records/classifications/files that are made by one developer can impact another developer (certainly for bigger features).
  • Difficulties to take the development work with you, e.g. to the customer or home.

This setup can be optimized by having a centralized server that can be used by the developers if they're in the office or connected through VPN. Together with this centralized database, each developer will restore a backup copy of the database whenever they go offline or want to work on an individual feature:

This setup proves to be the most effective in most cases. It is what we recommend to all our partners that need to get their ADAM development going.

As your ADAM work starts to grow, you'll hopefully be serving multiple customers or projects. In that case, you can extend the setup above by adding multiple databases (and corresponding ADAM registrations) on the same server/workstation:

Finally, in more advanced test or development environments you could choose to install different versions of ADAM to run side-by-side on the same server. For more info on how to setup your server/workstation, please review the ADAM Installation and Configuration Guide: "Side-by-side installation attention points".

Comments

Friday, 31 July 2009Alec Wadey says
Another way of setting up your development environment (which we have found to be very flexible) is to use VPC or VMWare images as your development environments. These can fit into all the above scenarios (as long as you have your VPC / VMWare image configured correctly to access your central Adam database). The one massive advantage we have found in developing in this way is if you manage to trash your local environment, or want to roll it back for whatever reason, it is a lot easier to do. It also reduces the need for the infamous "Developer rebuild". Al
Leave a comment
You must be logged in to post comments.
Sign in now
 
 
Technical
Business
rss feed