ShowTable of Contents

Application Patterns
IBM Web Experience Factory allows you to automate the generation of many types of web applications, with various use case overviews described in this application pattern series.
This WEF application pattern introductory article provides an overview of the Page Automation (UI Generation) related builders, along with the Service Consumer and Provider related builders used in a service oriented architecture (SOA).
We will briefly discuss 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
User Interfaces
| Builder | Description |
| 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 search inputs and/or update) 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. |
Service Consumers/Providers
| Builder | Description |
| Service Consumer | Leverage data operations and input/result descriptions (schemas) defined by service provider models |
| Service Definition | Specify that the model will be used as a service provider, by service consumer models. |
| Service Operation | Specify an individual operation, associated with a service definition, callable by service consumers |
| SQL Data Services | High level SQL builder that in addition to integrating with a relational DB, wraps the usage of Service Definition and Service Operations for you, along with logical operation metadata required by DSUI |
| Web Service Multi-Operation | High level Web Service builder that in addition to integrating with WSDL described SOAP services, wraps the usage of Service Definition and Service Operations for you. |
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 List/Search, Details,and optional Update 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.
- 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.
- Use a single Web Service Multi-Operation builder rather than many Web Service Call builders when defining a service provider that will leverage multiple operations from a WSDL definition.
- Use SQL Data Services high level builder (which adds the Service Definition and Service Operation builders for you) rather than using the lower level SQL Call and Service Definition / Operation builders directly.
Samples
|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.