Technical Details
This page describes the technical architecture, installation, data storage, work item process template, and other technical details of The Exia Process tool.
Oveview
The Exia Process is a Windows client application that acts as a front end for Microsoft Team Foundation Server. It reads and writes TFS Work Item information using the Team Foundation Server API (Application Programming Interface).
Installation and Connectivitiy
The installation of The Exia Process is extremely simple and consists of just a small (20MB) Windows client installation. Unlike some of our competitor products that require dozens of pages of installation instructions, server setup, IIS configuration and so on, The Exia Process installation is very quick and painless.
Once installed, The Exia Process connects to any Team Foundation Server just like Visual Studio or Team Explorer does. You can connect to a local TFS a remote TFS over IP, or a hosted TFS.
The Exia Process can be installed on multiple Windows machines. Any Exia Process client application can connect to any Team Foundation Server instance to which it has access over the local network or the Internet. All that's required is login permission.
Corporate Installation
The Exia Process is designed to be easy to install in a corporate environment. Primary corporate considerations are deployment model, security, standards compliance, server cost, complexity or architectural unknowns, performance and virtualization support.
- Deployment Model - Installation consists of a single standard MSI package 20MB in size that installs on Windows XP or Windows 7 desktops. The Exia Process can be deployed in a corporate environment through standard group policy or similar mechanism.
- Security - The Exia Process uses Active Directory authentication and complies with the built-in Team Foundation Server security model. Although data is cached, no server data is stored locally. The Exia Process is as secure as Team Foundation Server itself.
- Standards Compliance - The Exia Process is a fully compliant Microsoft .NET 3.5 Windows application that uses standard .NET managed code libraries. It is built and compiled using Microsoft Visual Studio 2010 and the WPF/XAML framework.
- Server Cost - No servers are required for installation. The Exia Process uses existing Team Foundation Server installation(s) for its data storage. (Organizations that do not have Team Foundation Server installed will need to license and install TFS first. Please see Prerequisites for details.)
- Complexity or Architectural Unknowns - The Exia Process is a Windows client that reads and writes Team Foundation Server data using the TFS API supplied by Microsoft. This API makes calls to Team Foundation Server via the web service exposed by the TFS application layer. In this regard The Exia Process is architecturally similar to the TFS Team Explorer Windows desktop client application that is typically deployed in the corporate environment as part of the corporate TFS installation. The Exia Process therefore introduces no new variables or architectural unknowns.
- Performance - The Exia Process is an extremely high performance application that uses technologies such as DirectX, multi-threading and caching to ensure that users have the optimal user experience.
- Virtualization Support - The Exia Process supports standard virtualization models such as VMWare, Citrix, ThinOS, RDC and MED-V.
GUI Responsiveness
The Exia Process GUI is built using Windows Presentation Foundation, Microsoft's most modern "next generation" tool for .NET Windows and web development. Multi-threading is used extensively to ensure the GUI stays responsive while background processes are running.
Data Caching
Lazy loading and data caching are employed so that the application loads quickly, and so that work items are only queried once from the TFS data store. The use of data caching means that The Exia Process places much less load on the TFS engine than standard TFS clients such as Visual Studio, Team Explorer or TFS Web Access.
Data Storage
The Exia Process requires no proprietary database installation. It uses the TFS database for data storage, and TFS stores its data in standard SQL Server databases. SQL Server is highly scalable and is suitable for both small desktop installations and for large corporate installations with thousands of users. For small team installations of TFS, the SQL Server version is SQL Express, which is a free version of SQL Server.
Documentation Storage
The Exia Process documentation system is comprised of a tree of strings, with Books being at the root of the tree. The tree is stuctured using one-to-many parent/child relationships. The lowest level of decomposition is the paragraph, topic or heading. Each element of the tree is stored as a separate, version controlled work item in Team Foundation Server. This gives The Exia Process many benefits, such as the ability to track changes at the paragraph level, the ability to go back in time, the ability to find all changes in a given period and the ability to link documentation to work items for traceability.
Sharing of TFS Data
The Exia Process works with TFS Work Items. It reads and writes the same work items that you read/write when you use TFS itself. This means that users have the choice whether to use TFS, The Exia Process, or both. A work item created with The Exia Process is immediately visible in TFS, and vice versa. Likewise changes made to work items in either tool are immediately visible in the other.
Work Item Process Template
The Exia Process uses the MSF Agile 5.0 process template. Additionally it installs one new work item type to store the documentation data. The installation of this work item type occurs on a project by project basis. The Exia Process prompts you to install the work item template the first time it is required. If you elect not to install it, you can still use all the Exia Process functionality except the documentation feature. Alternatively you can elect to install the documentation work item type at the server level, making it available to all new projects.
Currently you cannot use The Exia Process on projects with templates other than MSF Agile 5. In the near future this limitation will be removed.
Metadata
The Exia Process uses metadata to store additional information that cannot be stored in work items. Metadata is used to store the following data: project vision, description, mission, status etc; application portfolio data; iteration start and end dates; Agile storyboard card positions, storyboard zoom and scroll position. In TFS 2010, this information is stored in the TFS 2010 native metadata store. In TFS 2008 there is no metadata store, so The Exia Process creates a work item type called Metadata and stores the information in special work items of that type.
Security
The Exia Process uses the built-in TFS security model. Authentication is via Windows Active Directory, so there is no login to The Exia Process required. Data is extremely secure.
