The (Unofficial) ITWorx Technical Architecture Blog

Archive for the ‘Visual Studio Team System’ Category

Visual Studio Team System Adventures – Architect Edition Designers

Posted by archworx on June 5, 2007

I got this question from someone about the Visual Designers in VSTS Enterprise Architect Edition, basically the person was confused with all the designers available and what each one does.

I decided to do a little explanation here, but first I would like to discuss the concept of VSTS Arch Edition. Basically the whole idea behind VSTS is to have Architects (Enterprise, Solution, Infrastructure), Developers, Quality Engineers, Configuration Managers, Project Managers all working together from the same IDE and to have the output of each role saved to a central server so that the whole team can collaborate and communicate easily.

Using VSTS the whole idea of the Architect who walks in, draws fancy diagrams, and lets the developers and project implementers handle the details is over. This type of collaboration helps verify that designs are implementable and keeps the architect in the picture as the design evolves towards implementation requirements.

VSTS Architects Edition:

This edition of Visual Studio is used by Architects to design the system, and communicate those designs with the other members of the team. The word Architect here is very generic, because in reality you can have lots of different types of Architects, each looking at the system from a different perspective.

The main roles and perspectives that are found in almost every software project are as follows:

  1. The Enterprise Architect:This person makes sure that the system being design acts as part of a bigger larger system that benefits the organization as a whole and that conforms to the organization’s standards. The main focus here would be integration with other systems and standards compliance including performance and messaging.
  2. The Infrastructure Architect:This person focuses mainly on the system Physical Architecture, so the diagrams produced would contain information like the number of servers, server configuration, locations, communication lines.
  3. The Solution Architect:The main focus here is the solution at hand; this person takes the input from the Enterprise and Infrastructure Architect and creates a solution that would fit in the Physical and Logical requirements of the entire system. The diagram produced would contain information like the Logical Architecture, the distinct system layers, and the communication points with other systems.


The Designers and how they fit in:

VSTS Architects Edition has a lot of designers that can be used to represent different views of the system. As mentioned above it is possible for each of the above roles to be performed by a different person which makes consolidating and validating these designs all the lot harder. VSTS makes this task so much easier by validating the diagrams against each other, hence allowing the Architects to work together and not to break each other’s designs.

I will mention the most important designers:

  1. Distributed System Designer
  2. Application Designer
  3. Class Designer
  4. Deployment Designer
  5. Logical Datacenter designer

In this posting I will basically answer the question about the Application Designer, I will post on each of the designers I mentioned here in coming posts.

Application Designer is used to design applications that can provide or use services within the scope of a Visual Studio solution. It is a designer mainly used for high level tasks.

I will explain some common scenarios for this tool :

1. If you have a visual studio solution and would like to reverse engineer it so you could see the different components and how they communicated Application Designer would be the tool to use.

2. You could also specify settings and constraints for my application like which protocol it would use to communicate with other services, and connection strings in the web.config.

3. You could define the databases and web services that communicate with my application.

4. You could specify a custom communication protocol that my application will use with windows communication foundation.

After designing your application, you would need to perform the following tasks:

1. Evaluate the application for deployment on the deployment production environment using the development configurations, this would help determine whether or not your logical design is compatible with your physical design.

2. Design parts of your system for reusability.

These are the main features of Application Designer, please post your comments if you there is anything that needs clarification and I will address them in my coming posts.

Posted in MSamy, Visual Studio Team System | Leave a Comment »

Visual Studio Team System first impressions

Posted by archworx on February 7, 2007

I have been studying Visual Studio Team System for a while now and considering how to approach using such a wonderful but very complex product in a company like ITWorx, or any other development company for that matter.

My first impressions of VSTS were through a session given by Ahmed Bahaa in the Cutting Edge club a couple of months ago. Ahmed gave a very compelling overview on VSTS and why it is such an important product.

The main features and ideas in his presentation that have stuck to my head until now are as follows:

1. VSTS’ main goal is to facilitate collaboration between team members in a project team.

2. The ability to customize processes and extend the current workflows in VSTS that are based on Windows Workflow Foundation.

3. The amount of time project teams spend on communication as a significant overhead and how VSTS helps reduce this overhead while still facilitating communication.

4. The idea of the workitem as the building block of all projects in VSTS, and how we should use a work item as a way of tying project documentation and code.

5. The complexity involved in installing VSTS components  and getting them to work together. (This is important because we have to plan the timing we need to start piloting VSTS).

6. The overall architecture of TFS and how to scale the system.

These are just my first impressions. Tune in for more on VSTS when I start the VSTS  Implementation series.

Posted in MSamy, Visual Studio Team System | Leave a Comment »