CTC WCF Services Generator - Features
CTC WCF Service Controller Top of page

The CTC WCF Service Controller is specifically designed to encapsulate everything related to the runtime management of the generated ispec Service Models, including all communication with the back-end EAE/AB Suite host system and the processing of request/response messages to/from the client applications.

The Service Controller is very flexible and customizable. It is utilized from the generated Adapter solution. Through the programmatic interface provided by the Service Controller, the Adapter can get control at key events during the processing of the service request and the communication with the EAE and AB Suite host system.

Major features of the CTC WCF Service Controller include:
  • Complete host system session management
  • Processing of service request/response messages
  • Error handling
  • Customization through flexible API and event handling

See also the Runtime Architecture.

Configurable Data Type Controls Top of page

The CTC WCF Services Generator includes a number of standard Data Type controls that determine how the data items on an ispec are generated. Standard Data Type controls included are:

Alpha Type Control    Controls the generation of data items defined as alpha-numeric.
This includes Alpha and String types.
Boolean Type Control    Controls the generation of data items painted as a single Push Button or a single CheckBox that contain true/false values specified at design time.
CopyFrom Type Control    Controls the generation of a CopyFrom area.
A CopyFrom area is generated as a .NET class with a property for each data item in the first copyfrom row.
Date Type Control    Controls the generation of data items defined as date.
A date is generated as a .NET DateTime type. At runtime, dates are converted to/from the appropriate ispec date format.
Decimal Type Control    Controls the generation of data items defined as numeric with decimal.
This includes Number, Signed, Credit, + and - types.
Enum Type Control    Controls the generation of data items painted as controls such as Push Button, Radio Button, List Box and Combo Box that contain a list of values specified at design time.
This creates a .NET Enum type containing a list of valid values for a data item. This is then included in the Service Contract, making it easy for the client application to know the possible values for a property.
Kanji Type Control    Controls the generation of data items defined as Kanji.
List Type Control    Controls the generation of data items painted as a List Box or Combo Box that at runtime creates a dynamic list.
A .NET class is created for the list with a property for each column in the list.
Maint Type Control    Controls the generation of the Maint field on standard component ispecs.
Numeric Type Control    Controls the generation of data items defined as numeric without decimal.
This includes Number, Signed, Credit, + and - types.
Wide Type Control    Controls the generation of data items defined as Wide.

Using the CTC Configurator, the properties of a data type control can be customized by modifying the default template of a data type control to suit specific requirements.

The CTC Configurator provides a Properties Editor, which allows the user to edit the complete set of properties for a control. As an example, shown below is the default template for the CopyFrom Type Control. For a CopyFrom Type, you can specify the comparison to be performed at runtime to eliminate empty rows of a CopyFrom area being sent to the client application.


Data Type Control Properties Editor

See also the Custom Controls.

Automatic Creation of Web Services Solution Top of page

Optionally, a Web Services solution that makes all operations included in the bundle available as Web Services can automatically be generated.

In addition to creating a Web Services interface, this also enables testing of the Adapter services using the Microsoft WCF Test Client, without first having to write a client application. For convenience, a bat file is supplied with the solution that can be used for starting the WCF Test Client.


WCF Test Client

Custom Code Module Top of page

The generator can optionally add a custom code module to the generated Service Model for selected ispecs.

A custom code module allows users to add code specific to a Service Model to handle specific requirements during the processing of the service request. In the code module, users can add additional properties to be part of the service message interface, or add code for validating input from the external client application before the data is sent to the host system.

Once a code module is created, it is not overwritten or in any way affected by the generator.

Alternate Services Top of page

The Alternate Services feature is intended for those who have very specific requirements and want to design custom services.

Alternate Service can be created for selected ispecs and when specified, the generator creates a copy of the current generated version of the Service Model. This copy then provides the starting point for designing and developing the custom service while taking advantage of the infrastructure provided by the generated Adapter solution.

Once an alternate service is created, it is not overwritten or in any way affected by the generator.

External Data Files Top of page

The List Type Control can be configured to include data from XML formatted files external to the EAE and AB Suite systems.

The List Type Control includes properties that allow specification of the file path, an expression for extracting nodes, and columns to display in the list. When specified, the data elements of the file matching the expression will automatically be included in the response message sent to the client application. If necessary, rows and columns from the Xml file can be manipulated in a custom code module added to the Service Model.

Below is an example of the specifications of a List Type Control including data from an XML file located in ExternalLists/Countries.xml. The columns code, name and population of each country element will be included in the client response message.

<ListItem Order="[ORDER]" PropertyName="[PROPERTYNAME]" ListType="[LISTTYPE]"
  XmlFilePath="ExternalLists/Countries.xml" XmlElementPath="//country">
  <Key PropertyName="CountryCode" DataType="" Column="code" />
  <Column PropertyName="Name" DataType="" Column="name" />
  <Column PropertyName="Population" DataType="ClientDataTypes.IntType" Column="population" />
</ListItem>

Automatic Setup of Application Infrastructure Files Top of page

The generator automatically installs all required infrastructure files into the bundle views directory. No manual steps are required for this. When running the generator for the first time on a new bundle, the infrastructure files are automatically copied to the output directory of the bundle. An option is provided for the generator to reinstall the infrastructure files when the files have been updated or new files have been added.

Automatic Compile and Build of the Generated Application Top of page

As part of the generate process, the generator can automatically compile the generated Adapter solution and build the necessary dll’s. This is achieved using MSBuild, the build platform from Microsoft used by Visual Studio. Together with the option for configuring the Runtime parameters, this means the application is ready to deploy when the generation of the user interface application is complete.

Configuration of Runtime Parameters Top of page

Parameters for the runtime configuration of the generated Adapter solution can be specified using the CTC Configurator. When any of the runtime configuration parameters are changed, the generator will update the Adapter config file. This provides a convenient way to maintain all configuration details in one place.


Runtime Parameters Configuration

For further details on all features and capabilities see the following documents: