The DCP is a set of libraries created to bring into a web application a compatible and equivalent behavior found in a legacy application developed in a desktop framework. For the WebMap architecture the DCP is one of the most important components since it provides and controls the way in which the application behaves to act in an equivalent manner as the original application does.

The DCP provides the following:

  • GUI life-cycles: application events such as load, close, click, right click, key up, key down, among many others.

  • Models: is a data representation of an object allocated in memory during the application runtime, they can be either visual models that represent an object also present in the front-end application or a non-visual model which would only be used by the back-end application.

  • Back-end controls: A model that specifically used to represent a visual control component that is also present in the front-end application and get synchronized between both. It holds state and operations to provide compatibility with the original language control objects, also known as Control Models.

  • Modal Dialog and Modal Messages.

  • Application State.

  • Command/Event execution.

  • Controllers: is a Web API Controller class used to enable data query requests, mainly for heavy data loading controls such as a grid view, tree view, list box, among others; for which is needed to use an API call to fetch their data from the back-end to the front-end in separate structure from their models.

  • Data Transfer Objects (DTO): is a plain CSharp object used to transfer data between the back-end and front-end applications.

  • Mappers: is a class that takes a control model and maps it to a data transfer object and vice versa.

  • Observable Wrappers: An observable wrapper is a class used to hold the state of an object that cannot be converted directly by the Conversion Tool or that is part of a third-party library.

A WebMap project provides two main project libraries that are required to compose a WebMap DCP, the Bundle library and the DTO library.

The DTO library is used to implement the communication layer between the front-end and the back-end applications. Which the necessary objects to synchronize the applications state back and forth.

Last updated