Générateur de Code
Le générateur de code est une fonction MapForce intégrée qui vous permet de générer du code Java, C++ ou C# depuis des fichiers de mappage conçus avec MapForce. Vous pouvez générer du code non seulement depuis des mappages simples avec une seule source et cible de données, mais aussi depuis des mappages avec des sources multiples et des cibles multiples. Le résultat est une application complète proposant toutes les fonctions qui effectue l’opération de mappage pour vous. Une fois que vous générez le code, vous pouvez exécuter le mappage en exécutant l’application directement lors de la génération. Vous pouvez aussi importer le code généré dans votre propre application ou y ajouter vos propres fonctions.
L’objectif principal du code généré est d’exécuter un mappage MapForce. Si votre mappage utilise les schémas XML ou DTD, vous pouvez choisir en option de générer des bibliothèques de schéma wrapper pour des schémas XML/DTD utilisés par le mappage, ce qui vous permet de lire ou écrire des données de/vers des instances XML. Les bibliothèques de schéma wrapper vous permettent de travailler avec des données XML de manière programmatique, utilisant des types générés depuis le schéma, sans trop de souci pour l’API XML sous-jacent. Pour des détails, voir Générer du code depuis des Schémas XML ou des DTD.
Le code généré est exprimé dans les langues de programmation en C++, Java ou C#.
Langue cible | C++ | C# | Java |
---|---|---|---|
Environnements de développement | Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022 | Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022
Frameworks cible :
•.NET Framework •.NET Core 3.1 •NET 5.0 •NET 6.0 | Java SE JDK 8, 11, 17, 21 (y compris OpenJDK) Eclipse 4.4 ou plus Apache Ant (fichier build.xml) |
XML DOM implementations | MSXML 6.0 Apache Xerces 3 | System.Xml | JAXP |
Database API | ADO | ADO.NET | JDBC |
Note: | Le code généré par MapForce peut être considéré thread-safe uniquement si le DOM XML tiers sous-jacent et les bibliothèques API de base de données le sont. Bien que la sécurité thread du code généré ne peut pas vraiment être prouvée ou garantie, il est probable que, dans la plupart des cas, plusieurs instances concurrentes du code de mappage pourront être exécutées avec succès. |
C++
Vous pouvez configurer si vous souhaitez que la sortie générée C++ doit utiliser MSXML 6.0 ou Apache Xerces 3. MapForce génère des fichiers complets de projet (.vcproj) et de solution (.sln) pour toutes les versions prises en charge de Visual Studio (voir table ci-dessus). Le code généré prend en charge MFC on option.
Exigences préalables :
1.Pour compiler le code C++ généré, Windows SDK doit être installé sur votre ordinateur.
2.Afin de pouvoir utiliser Xerces 3 pour C++, vous devrez l'installer et le construire en suivant les instructions sous http://xerces.apache.org/xerces-c/. Veuillez vous assurer d'ajouter la variable d'environnement XERCES3 qui pointe vers le répertoire dans lequel Xerces a été installé, par exemple : C:\xerces-c-3.2.2. De même, la variable d'environnement PATH doit contenir le chemin dans lequel les binaires Xerces se trouvent, par exemple : %XERCES3%\bin.
3.Lors de la création du code C++ code pour Visual Studio et de l’utilisation d’une bibliothèque Xerces précompilée pour Visual C++, un paramètre de compileur doit être modifié pour être changé dans tous les projets de la solution:
a)Choisir tous les projets dans le Solution Explorer.
b)Dans le menu Project, cliquer sur Properties.
c)Cliquer sur Configuration Properties | C/C++ | Language.
d)Dans la liste des configurations, choisir All Configurations.
e)Modifier Treat wchar_t as Built-in Type en No (/Zc:wchar_t-)
C#
Le code C# généré peut être utilisé depuis tout langage de programmation compatible avec .NET, comme VB.NET, Managed C++ ou J#. Les fichiers de projet peuvent être générés pour toutes les versions prises en charge de Visual Studio (voir table ci-dessus).
Java
La sortie Java générée est écrite en conformité avec l'API Java de standard industriel pour XML Processing (JAXP) et comprend un fichier build Ant et des fichiers de projet pour les versions prises en charge de Java et Eclipse (voir table ci-dessus).
Sortie générée
Le dossier de désigné pour le code généré contiendra toutes les bibliothèques et les fichiers requis pour manipuler le mappage, concrètement :
•Un nombre variable de bibliothèques Altova requises par le mappage (par exemple, des bibliothèque de fonctions Altova, des bibliothèques de base de données)
•Une application de mappage complète. Lorsqu’elle est compilée et exécutée, l’application effectue la transformation de mappage.
Modèles de générateur de code
Le code généré prend en charge la personnalisation via un langage modèle appelé SPL (Spy Programming Language). Ceci peut être utile, par exemple, quand vous voulez personnaliser le code selon les conventions écrite de votre entreprise ou remplacer des bibliothèques dans le code généré.
Exemples de générateurs de code
Pour des exemples de générateurs de code, voir l’Exemple : Book Library et Example: Purchase Order.