The customer needed to integrate their software with organizational structures stored in Microsoft Active Directory and Azure AD (now EntraID). The goal was to retrieve and replicate data from these directory services so that customers would not have to recreate the organizational structure in the new software. The main challenge was that Active Directory does not strictly enforce a specific structure, meaning each customer has a different setup.
For the first version, we used C# and .NET, as both technologies provide direct support for Active Directory and Azure AD. This application was called from FileMaker via the Toolbox plugin and ran on Windows. However, due to limitations such as the requirement to run on the Windows platform and the slow data transfer from Active Directory, we decided to improve the solution.
The second version of the application was rewritten in Python, which brought significant advantages. Python allowed the application to run on various platforms, including Windows, macOS, Linux, and also under Docker, improving scalability and deployment flexibility. Multiple instances of the service can be run on a single server, making it easier to handle a larger number of requests.
A key part of the solution is the field mapping between Active Directory and FileMaker, which is part of our integration call. This mapping ensures the correct transfer of data. The implementation for Azure AD is currently in development, while the integration for Active Directory has already been successfully deployed. Thanks to the transition to Python, the integration now works not only faster and across more platforms but also responds more flexibly to the specific needs of the customer.