ShowTable of Contents
Application Pattern
This Application Pattern overview article discusses the generation of user interfaces (input forms, tabular lists) from structured data, such as XML data retrieved from back and data integration servers automated by WEF/WPF . Unlike the more targetted Application Pattern articles, this article provides an introductory higher level overview of which page automation builders to choose for which general high level types of user interface patterns. Please refer to the rest of the articles in the WEF Application Pattern series for more information on building applications with Web Experience Factory based on specific application patterns.
Builders Used
Builder | Description |
Service Consumer | Leverage data operations and input/result descriptions (schemas) defined by service provider models |
Data Services User Interface | Automate the generation of a complete CRUD (Create, Read, Update and Delete) application from providers that provide those operations |
View and Form | Automate the generation of a List and Details application (with optional create and/or edit) from provider(s) that provide those operations. |
Data Page | Automate the generation of a user interface (e.g. read only table of data or simple data entry) from structured data (e.g., schema described XML Variable) |
Input Form | Automate the generation of an html input form from structured data (e.g., schema described XML Variable or service operation inputs) |
Data Field Settings | Define the visibility, labels and controls to be used for the various fields described by the structured data schema. |
Best Practices
While all of the above builders may be used in many WEF/WPF based user interfaces, there are pros/cons and best practices around which of the builders you should choose for various use cases and tasks.
- As with all WEF Best Practices, use the highest level builder available for the task at hand.
- If you are building a full CRUD application where the service operations have been labelled with metadata indicating their purpose (eg, read vs update vs delete ...) by a builder like SQL Data Services, OR you are able to supply that metadata for the operations in the provider manually, then use Data Services User Interface.
- For a simple List and Details use case, use View and Form
- For a simple non-interactive (no link to details) table generated from structured tabular data, use Data Page.
- For an input form only (not a List/Details/Update pattern) from a schema defined structured set of data, use Input Form.
(FILL IN PROS/CONS OF VARIOUS CHOICES HERE)
- Use Data Field Settings (as opposed to a combination of multiple Data Field Modifier, Data Column Modifier builders) to set the behavior for specified fields across all pages in your application.
Samples
Sample | Description |
OrdersServiceConsumer | Sample in the Building Models feature set which uses the Data Services User Interface builder to generate a CRUD application |
Tutorial, Database | WEF Tutorial on creating a database backed CRUD application using Data Services User Interface and Data Field Settings builders |
LabelAbove and LabelOnLeft | Out of the box samples in the Building Models feature set showing use of Data Page builder with modifier builders |
Resources
Learning Roadmap
Samples - Add the "Building Models" and "Tutorials" feature sets to your project and then look under models/samples and models/tutorials in the project explorer.