System Modeler integrates the generation of Client Framework applications by using the concept of Technology folders and Graphical Interfaces for ispecs, events, insertables, copyispecs, copyevents, and classes. You can create a Technology folder for a required client technology to generate the Client Framework application and design the user interface by using the development tools such as WPF Designer, Microsoft Blend, and others for the chosen technology. One or more Technology folders can be created under a segment in the Class View window. Each Technology folder can specify either the same or different target technology type and include the set of ispecs and classes that are required for your client application.
The following example illustrates the usage of Technology folders:
A DeploymentFolder contains Segment1, and Segment1 contains a Technology folder named WPFClient. The Technology folder contains an ispec named CUST and an IGraphicalInterface node that is exposed as a DataModel for client application development.
The DeploymentFolder is configured to deploy general application components such as runtime system, database, and reports. The Technology folder is configured to generate Client Framework applications for user interface development.
Note: The Technology folder output is normally generated in the background as changes are made to the AB Suite application model definitions. Typically, a build operation performed on a deployment folder does not result in any output from the Technology folder, because the output would have been generated as changes were made to an application.
To create a Technology folder and generate Client Framework applications, perform the following:
Add a Folder to a segment, and then drag or add the required ispecs, events, insertables, copyispecs, copyevents, or classes into the folder. These elements are exposed through the Access Layer API, if they contain an IGraphicalInterface node. Refer to Adding IGraphicalInterface for Client Framework Applications for more information.
A folder with the default name Folder1 appears under the model.
Rename the folder from Folder1 to an appropriate Technology folder name. For example, if you want to create a WPF application you can rename the folder to WPFClient.
Right-click the Technology folder and select Properties from the context menu.
The <Technology Folder Name> Property Pages dialog box appears.
Select or enter the Client Technology that you want to use from the list.
You can select or enter any of the following client technologies in the Client Technology field:
WPF (Windows Presentation Foundation) – It is a user interface framework that creates rich, interactive client applications. The WPF development platform supports a broad set of application development features, such as application model, resources, controls, graphics, layout, data binding, documents, and security. You can choose this option to generate projects for DataModels, DataViewModels, and Views. The Views can be designed using the WPF Designer (or Blend) and deployed for use by the AB Suite WPF Client application, which is a WPF Container solution provided by Unisys. Alternatively, you can develop your own WPF Container application and still make use of the infrastructure provided by this technology option.
.Net Standard DataModels – This option generates the corresponding Standard DataModels project for the ispecs or classes specified in the System Modeler Technology folder. The compiled DataModels assembly can then be referenced by any .Net application that requires the .Net Portable subset; for example, Silverlight, Windows Store Apps, and others. It can also be referenced by any .Net application by using the full .Net Framework; for example, ASP.Net Model View Controller (MVC), ASP.Net Web Forms, Web Services, and others. You can choose this option, if you want to develop a custom .Net client application by using the generated Portable DataModels and the Remote Access Layer API assemblies.
Note that the Remote Access Layer interface communicates through the AB Suite WCF (Windows Communication Foundation) Gateway service.
.Net Standard DataModels and ViewModels – This option generates the corresponding Standard DataModels project and ViewModels project for the ispecs or classes specified in the System Modeler Technology folder. You can choose this option if you want to develop a custom .Net client application that employs the Model-View-ViewModel (MVVM) pattern, such as SilverLight and Windows Store Apps.
WCF Library (Windows Communication Foundation) – This option generates a WCF Library project that can be used to deploy a WCF Service that exposes the generated DataModel definitions. A WCF Client can then call this service with a data contract based on the DataModel for an ispec.
Note: For all the options selected above, the standard .Net DataModels is always generated, because they are required by the Access Layer Connector module (which is referenced by the Client application either directly or through the WCF Gateway).
Set the Generate User Experience mode Projects property to True.
Set the Include ACTMTH property to True or False as required.
Set the Include Ispec Header Items property to True or False as required.
Click OK.
Note: The Client Technology field in the <Technology Folder Name> Property Pages dialog box is disabled after generating the Client Framework applications for a specific client technology.
The relevant Client Framework applications are generated automatically.
For example, if the client technology is WPF/XAML, the following additional folders are generated in the Solution Explorer window.
A Models folder comprising C# projects named, <Application Name>.<Folder Name>.DataModels and <Application Name>.< Folder Name>.DataViewModels.
A C# project named <Application Name>.<Folder Name>.Views. This contains empty XAML Views and Data Sources that can be in the WPF Designer (or Blend), to create a user interface for an ispec.
Note: For a class, the XAML file is generated under the Classes folder. For an ispec, an event, an insertable, a CopyIspec, and a CopyEvent, the XAML file is generated under the Stereotyped folder.
DataModels and DataViewModels are generated based on the Graphical Interface definitions.
DataViewModels are generated so they can be used by the WPF Client to exchange data with the WPF View in a typical MVVM pattern, which is usually employed when developing a WPF/XAML application. The Data Sources assist in designing Views in the WPF Designer. Refer to Designing User Interfaces for Client Framework Applications for more information on designing Views in the WPF Designer.
Note: If you turn off the Auto Generate User Experience mode Projects option you must generate the User Experience mode project manually by selecting Generate User Experience mode Projects from the Build menu.
Synchronizing AB Suite Client Framework Applications with System Modeler
The default synchronization mode for AB Suite projects associated with User Experience mode model is to automatically update the associated project files in the background when changes are made to the AB Suite User Experience mode model definitions.
Note: During synchronization, the User Experience model regenerates the Data Models for a Technology folder. For the WPF technology, it also regenerates the DataViewModels and the Data Sources. It does not update any designed Views in the existing client View projects. Any change made to the ispec definition must be manually applied to the View by using the WPF Designer.
To verify the synchronization of User Experience mode with System Modeler changes, you can perform either of the following:
Add a new ispec or class.
The new ispec or class is automatically generated into the Data Models, DataViewModels, and Client Views projects.
Update an ispec by adding, renaming, or deleting one or more existing attributes.
The ispec or class is automatically synchronized by creating new DataModel, DataViewModel, and Data Source definitions for the ispec as required, in the projects that reference the ispec or class.
Delete an ispec or class.
The ispec or class is automatically synchronized by deleting the ispec or class from all the DataModel and DataViewModel projects that reference the ispec or class. The Data Source definitions for this ispec are also removed, but any designed View for the ispec in the Views project is retained. The user can delete the View manually, if it is not essential.
You can control the automatic synchronization and generation of User Experience mode projects by using the Auto Generate User Experience mode Projects option.
To turn off the automatic synchronization of User Experience mode projects, perform the following:
From the Tools menu, select Options.
The Options dialog box appears.
Expand SystemModeler from the left pane, and then select User Experience mode.
Clear the Auto Generate User Experience mode Projects check box in the right pane.
If you want to propagate updates to User Experience mode projects after turning off the Auto Generate User Experience mode Projects, you must generate the User Experience mode projects manually by selecting Generate User Experience mode Projects… from the Build menu. This also generates any outstanding changes, as determined by Change Analysis, for a Technology folder.