## 5 The Proposed KM MCC Platform
### The Architecture of the KM Platform  
In order to satisfy the requirements discussed in the literature review and the expected usage, the proposed platform architecture consists of a series of software and hardware layers. The KM platform was built with the facilities provided by Microsoft Azure. This cloud vendor was selected to support this platform because it fits its current status and future plans. Having a KM platform hosted using Azure cloud services provides a flexible and extensible system for performing different data processing tasks. This platform can be dynamically scaled to fulfill the several computational requirements in a cost-efficient way, such as processing heavy tasks or managing complex data from different sources.  
\begin{table}
\begin{tabular}{l} \hline \hline
**Question** \\ \hline
1. The system responds to my requests in a timely manner \\
2. The system can be used in different environments, for example, at central office and on site \\
3. The system prevents access by persons outside the company or without associated permissions \\
4. The system offers a structured way of storing knowledge in the company \\
5. The system provides a useful way of storing knowledge in the company \\
6. The system allows quick access to the information and knowledge stored in the company \\
7. The system will increase the amount of stored knowledge in the company \\
8. The system will increase the amount of knowledge available to professionals in the company \\
9. The system will allow the active participation of company’s professionals in the lessons learned process \\
10. The knowledge stored in the system will improve the process of decision making in the company’s projects \\
11. The system is suitable for use in everyday work \\ \hline \hline \end{tabular}
\end{table}
Table 3: Affirmations to answer using a Likert scale regarding the propose platform.  
The interrelationships between the different layers are shown in Figure 3. Next, a description of each layer and its role in the fulfillment of requirements is presented.  
* Mobile UI: Cross-platform mobile application to be installed on the devices of on-site professionals. It is associated with requirements R1, R2, R3, R4, R5, R6, R7, R8, R9, and R10.
* Web UI: Web application that is accessible from any device with a Web browser. It is associated with requirements R1, R5, R6, R7, R8, R9, and R10.
* Cloud Backend as a Service: Application Programming Interfaces (APIs) that expose the functionalities of the application logic to the different UIs, adapting the requests and responses to the most suitable format and content for each of them. It is associated with requirements R4, R12, and R11.
* Application Logic: Centralized components that handle and implement the business logic, maintaining the consistency of the information regardless of which client accesses it. It is associated with requirements R3, R5, R6, R8, R9, and R10.
* Domain Models: Abstractions that represent the information units to be stored and/or processed (e.g., a lesson, a project, a microblog message, among others) and how they are related to each other. Are associated with requirements R5, R6 and R7.
* Cloud PaaS: Software components that access the services provided by the cloud vendor, in the form of a platform as a service. As a different cloud provider could be used in the future, it defines interfaces to be used by the rest of the application, providing a concrete implementation that depends on the cloud provider contracted at present. It is associated with requirements R11 and R12.  
Figure 2: General overview of the use of the KM platform.  
The most widely known layers are the Web application, mobile application, and cloud Backend as a Service (BaaS), as they encompass the complete architecture. Thus, the following subsections explain the functionalities of the platform based on these three layers.