The Client Framework is an integrated environment for developing advanced user interfaces based on .NET technology that connect to AB Suite systems. You can choose a technology to develop user interfaces by using the development tools for that technology.
Windows Presentation Foundation (WPF) Client technology is one of the primary technologies that has been integrated with the Client Framework. It can be used to create user interfaces based on the generated DataModels and DataViewModels. WPF uses Extensible Application Markup Language (XAML) to provide a declarative model for application programming. You can create client applications by using WPF/XAML technology and implement the Model-View-ViewModel (MVVM) design pattern. Refer to the MSDN documentation for more information on DataModel and MVVM design pattern. Refer to the Agile Business Suite Developer User Guide for more information on creating an application by using the WPF technology.
The Client Framework provides a complete infrastructure for the WPF/XAML technology. The components created by the Client Framework for the WPF technology includes the following:
DataModels
DataViewModels
Data Sources
Views
Collection of utility and helper classes, converters, behaviors, and other infrastructure files to assist the development of XAML based clients, such as WPF, SilverLight, and Windows Store Apps
The Client Framework also includes a complete WPF Container application that hosts the Views assembly and displays a View, which corresponds to a particular ispec. Refer to the Agile Business Suite Developer User Guide for more information.
If you are developing a WPF/XAML application, you can choose to use the standard WPF Client environment that is included with the Client Framework. Alternatively, you can choose to design a custom WPF/XAML Client, if you have other specific needs. As part of the WPF Client environment, the Client Framework software also includes the project and source codes for the WPF Container. This allows you to take advantage of the extensive infrastructure provided by the Client Framework software and still be able to change the look and feel of the user interface to satisfy custom requirements.
The AB Suite Access Layer API has been introduced to the AB Suite runtime system to take advantage of the DataModel concept. The Access Layer API is an interface to the AB Suite runtime system and has been designed by keeping the .NET developers in mind. It exposes the classes, interfaces, methods, properties, and events in the style as would be expected by a .NET based interface. The Access Layer API deals with the transfer of data by using the DataModels.
Some key features of the Access Layer API include the following:
Async methods in the Access Layer API allows the client application thread to continue processing while waiting for a reply to the async method call.
Data is exchanged through DataModel definitions and the AB Suite attribute types (for example, Date, Boolean, Numeric) are converted to their equivalent .NET types. The Client application need not perform any conversions as the Access Layer API takes care of all the conversions.
Proprietary protocols and any overheads that would otherwise be imposed by intermediate services, such as the Remote Access Server, have been eliminated as the Access Layer API connects directly to the COM interface of the runtime system.
The Client Framework also provides an MVC Scaffolder for developing Web applications by using the MVC platform. The MVC platform includes the Web API for RESTful light-weight HTTP services. The MVC Scaffolder is a Visual Studio extension that is available for use with MVC projects.
The AB Suite MVC Scaffolder is specific to AB Suite applications. It generates Views, Controllers, and other infrastructure files in an MVC project to give customers a starting point for developing their MVC applications.
Included in the Client Framework is a WCF Gateway Interface for applications that cannot directly interface to COM/DCOM. The WCF Gateway is hosted as a service when the AB Suite Runtime software is installed. The Client Framework includes a set of assemblies that expose the same Access Layer API, but interface to the WCF Gateway. This allows Client applications that can only use the .NET Portable libraries (for example, Silverlight or Windows Store Apps) to be developed using the same approach as applications that can use the full .NET Framework.