Service Factory Components

Retired Content

The Web Service Software Factory is now maintained by the community and can be found on the Service Factory site.

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies.
This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Retired: November 2011

Figure 1 illustrates the Service Factory components, the components of the underlying software factory platform, and the dependencies between them. The component names correspond to the names of the folders in the Service Factory solution structure, and dependency relationships represent references between component assemblies.

Ff648156.f3d16fc3-69b5-4e9e-b0ce-be288113869a(en-us,PandP.10).png

Figure 1
Service Factory components and relationships between them

The software factory is built from seven components. Four of those components, marked in yellow on the diagram, implement Visual Studio packages (which have deployment implications discussed in the Creating Your Version of the Service Factory Hands-on Lab). The seven components of the Service Factory are the following:

  • Data contract, Service contract, and Host. These components contain the implementations of the three Service Factory models. Each of them contains two projects, one of which describes the designer and the other the integration with Visual Studio.
  • Guidance package. This is the GAX guidance package, which defines the Service Factory recipes and Visual Studio templates. This component contains the three projects common to all GAX guidance packages.
  • Libraries. This contains class libraries shared by all Service Factory components. The component has nine projects, which are described later in this section.
  • Model project. This is a component that implements the custom project, which holds the models created with the Service Factory. This project is included to impose some control about how models are created, deleted, and where they are stored.
  • Extenders. This is a component that contains libraries of model element extender classes. Extenders are objects that add properties to DSL model elements and are discussed at some detail later in this section.

The Service Factory platform, in addition to Visual Studio and the Visual Studio SDK libraries, includes the following:

  • Visual Studio Modeling SDK**libraries, which are the DSL runtime
  • GAX Visual Studio Package
  • DIS (Designer Integration Service), a Visual Studio Package that implements cross-model references, which are discussed in the next section
  • GEL (GAX Extensibility Library),**a class library used by all patterns & practices software factories containing reusable guidance package development classes; GEL source is available on CodePlex and can be modified, so we placed it on the border line of the factory platform.