## 2 Related Work
### The Agnostic Message Component  
In integrating software units, the interaction between them is carried out through the exchange of information. In this regard, the DCDM defines the _Agnostic Message_, which represents the transactions and properties of an existing entity in a repository or database. The particularity of this message lies in the contract or universal signature that is exposed to the applications for sending standardized information within a dynamic structure that uses the MAP component for this purpose. Agnostic messages are digital structures representing an unknown entity or process regardless of whether they are used at design or run time. The use of these messages allows modeling data within a single database and serving as a reference for all entities and their relationships, as well as representing common information produced and consumed by applications in a simplified way using collection map type structures. The role they play in the proposed architecture is fundamental since their structure is the basis for the type of message for data integration. The graphical representation of the _Agnostic Message_ structure is shown in Figure 2, which exposes the components that conform to the message. Firstly, _Envelope_, which is the object that stores the _Payload_ sections, i.e., the payload, which, in turn, contains _Properties Entity_ or _Entity Properties_ and the _Transaction_ section which constitutes the information represented as a MAP <key, value> which represents the information that will be used as appropriate to the management algorithm. The message is used universally; that is, it can be used for any purpose when adding, modifying, or deleting information from any entity in any database. Moreover, it can be drawn on executing any function or procedure found in the databases using the same message or wrapper with the proposed definition. On the other hand, this design was translated in its XSD (XML Schema Definition) schema structure form to represent the contract to the client within the WSDL (Web Services Description Language). Figure 3 shows such a graphical representation in the service location section called _targetNamespace_  
Figure 1: DCDM architecture structure. that can be consumed from the web address [[http://message.cddm.mx/](http://message.cddm.mx/)]([http://message.cddm.mx/](http://message.cddm.mx/)) (accessed on 10 June 2023) and this is where the _namespace_ is located. The _sendMessage_ section contains all the objects that conform to the _Agnostic Message_. It uses the _messageFacade_ to access the schema of each component under _transactionScheme_. The _Payload_, conformed by _actionType_, _entityName_, _fields_, _key_, and _value_, is stored here. The request represented by _sendMessage_ and the response by _sendMessageResponse_ of the service are publicly exposed in order to be used by the different software units, and the possible actions of _actionType_ (_SAVE_, _UPDATE_, _DELETE_, and _PROCESS_) are also defined. The representation of the _Agnostic Message_ in the service schema towards the client is a WSDL contract exposed for consumption. The message is created in an XSD file containing predefined tags for each document element. The WSDL is composed of the following tags:  
* _types_. This shows the types of data to handle and helps shape the message. * _Message_. These contain the request and response where the _Agnostic Message_ travels. * _portType_ or _interface_ tag indicates the document's operations. Figure 3: The _Agnostic Message_ XSD structure. Figure 2: The _Agnostic Message_ component. * _sendMessage_ corresponds to the request in the petition. * _sendMessageResponse_. The document's response according to the petition made in _sendMessage_. * _binding_ specifies the communication protocol used: SOAP (Simple Object Access Protocol). An example of the _Agnostic Message_ implementation is shown in the SoapUI tool version 5.4.0 used as an aid for the execution of the tests, where the WSDL document contract is consumed.