Software Factory Capabilities
| Retired Content |
|---|
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. |
You can use the Smart Client Software Factory to address common requirements for different areas of your smart client application architecture. Figure 1 illustrates the primary application areas targeted by this release of the software factory.
Note: |
|---|
| You can also extend and customize the software factory to meet your specific requirements. For more information, see Customizing the Smart Client Software Factory. |

Figure 1
Application architecture requirements targeted by the software factory
The assets included in the Smart Client Software Factory assist architects and developers in solving the common challenging aspects of building smart client applications. Smart Client Software Factory assets, such as automated code generation, provide proven solutions for common challenges. The software factory assets can also be customized and extended for your specific requirements.
Table 1 lists the capabilities that the Smart Client Software Factory offers.
Table 1: Smart Client Software Factory Capabilities
|
Smart Client Software Factory capabilities |
Guidance |
Automation |
|---|---|---|
|
Modularity | ||
|
Building composite UIs that are based on integration of multiple back-end systems |
|
Yes |
|
Composing applications from individually developed, tested, and deployed modules (parts) |
|
Yes |
|
Obtaining the configuration of the application (list and loading sequence of modules) from a central location |
|
Not applicable |
|
Working on multiple instances of business entities, such as customers, at the same time |
|
Not applicable |
|
User experience | ||
|
Separating responsibilities of visual display from business logic handling behavior |
|
Yes |
|
Providing multiple layouts for the same application |
|
Yes |
|
Supporting navigation panes (area where modules can register themselves) |
|
Not applicable |
|
Supporting task panes (areas where modules can add entries to their logic) |
|
Not applicable |
|
Loosely coupling components by allowing them to communicate through events |
|
Yes |
|
Deployment and updates | ||
|
ClickOnce deployment and updates |
|
Not applicable |
|
Supporting module versioning by separating module implementation from module interfaces |
|
Not applicable |
|
Supporting deploying modules independently |
|
Not applicable |
|
Advanced ClickOnce scenarios including deployment by group, handling high deployment server load, and implementing a Custom ClickOnce Server File Repository |
|
Not applicable |
|
Web service communication | ||
|
Communicating with Web services (asynchronously with timeout or synchronously), queuing messages, working offline |
|
Yes |
|
Local storage | ||
|
Caching frequently accessed data for fast retrieval |
|
Not applicable |
|
Security | ||
|
Changing the UI behavior based on user role (authorization) |
|
Not applicable |
|
Manageability | ||
|
Handling exceptions |
|
Yes |
|
Logging exceptions |
|
Yes |
Note: