Generador de código
El generador de código es una característica integrada de MapForce que sirve para generar código Java, C++ o C# a partir de archivos de asignación de datos diseñados con MapForce. Puede generar código a partir de asignaciones de datos con un solo origen y destino, pero también de asignaciones con varios orígenes de datos y varios destinos. Como resultado obtendrá una aplicación entera y totalmente funcional que lleva a cabo la operación de asignación de datos. Una vez generado el código, la asignación se podrá ejecutar con solo iniciar la aplicación recién generada. También podrá importar el código generado en otras aplicaciones o ampliarlo con más funciones.
El objetivo principal del código generado es ejecutar una asignación de datos de MapForce. Si su asignación usa esquemas XML o DTD, puede generar bibliotecas contenedoras de esquemas para los esquemas que usa la asignación, lo que permite leer o escribir datos en o desde instancias XML. Las bibliotecas contenedoras de esquemas permiten trabajar con datos XML de forma programática usando tipos generados a partir del esquema, sin prestar demasiada atención a la API XML subyacente. Para más detalles consulte Generar código fuente a partir de esquemas XML o DTD.
El código generado se expresa en los lenguajes de programación C++, Java o C#.
Lenguaje de destino | C++ | C# | Java |
---|---|---|---|
Entornos de desarrollo | Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022 | Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022
Marcos de destino:
•.NET Framework •.NET Core 3.1 •.NET 5.0 •.NET 6.0 | Java SE JDK 8 u 11 (incluido OpenJDK) Eclipse 4.4 o superior Apache Ant (compile el archivo.xml) |
Implementaciones XML DOM | MSXML 6.0 Apache Xerces 3 | System.Xml | JAXP |
API de BD | ADO | ADO.NET | JDBC |
Nota: | solo se puede considerar seguro el código generado de MapForce si también lo son el XML DOM subyacente y las bibliotecas API de bases de datos. Aunque no se puede comprobar ni garantizar que el código generado sea seguro, es posible que se puedan ejecutar varias instancias del código de asignación al mismo tiempo sin problemas en la mayoría de los casos. |
C++
Puede configurar si el resultado generado en C++ debe usar MSXML 6.0 o Apache Xerces 3. MapForce genera archivos completos de proyecto (.vcproj) y solución (.sln) para todas las versiones de Visual Studio compatibles (véase la tabla de más arriba). El código generado puede ser compatible con MFC.
Requisitos:
1.Para compilar el código C++ generado debe tener Windows SDK instalado en su equipo.
2.Para usar Xerces 3 para C++ debe instalarlo y compilarlo según las instrucciones de http://xerces.apache.org/xerces-c/. Asegúrese de que añade la variable de entorno XERCES3 que apunta al directorio en el que instaló Xerces, por ejemplo C:\xerces-c-3.2.2. Además, la variable de entorno PATH debe incluir la ruta de la ubicación donde se encuentran los archivos binarios Xerces, por ejemplo: %XERCES3%\bin.
3.Al compilar código C++ para Visual Studio mientras usa una biblioteca Xerces precompilada para Visual C++ debe cambiar la configuración del compilador en todos los proyectos de la solución:
a)Seleccione todos los proyectos en el explorador de soluciones.
b)En el menú Proyecto haga clic en Propiedades.
c)Haga clic en Propiedades de la configuración | C/C++ | Lenguaje.
d)En la lista de configuraciones seleccione Todas las configuraciones.
e)Cambie Treat wchar_t as Built-in Type por No (/Zc:wchar_t-).
C#
El código C# generado lo puede usar cualquier lenguaje de programación apto para .NET, como VB.NET, Managed C++ o J#. Los archivos de proyecto se pueden generar para todas las versiones compatibles de Visual Studio (véase la tabla de más arriba).
Java
El código Java generado se escribe conforme a la API Java para procesamiento XML (JAXP) e incluye un archivo de compilación Ant y archivos de proyecto para las versiones compatibles de Java y Eclipse (véase la tabla de más arriba).
Resultados generados
La carpeta de destino designada incluye todas las bibliotecas y los archivos necesarios para ejecutar la asignación, es decir:
•Un número variable de bibliotecas de Altova necesarias para la asignación (por ejemplo, bibliotecas de funciones de Altova, bibliotecas de BD, bibliotecas EDI)
•Una aplicación de asignación completa. Al compilarla y ejecutarla la aplicación lleva a cabo la transformación de la aplicación.
Plantillas de generación de código
El código generado se puede personalizar con un archivo de plantilla llamado SPL (Spy Programming Language). Esto puede ser útil, por ejemplo, si quiere personalizar código conforme a las convenciones de su empresa, o bien reemplazar bibliotecas concretas en el código generado.
Ejemplos de generación de código
Para ver ejemplos de generación de código, consulte los apartados Ejemplo: Book Library y Ejemplo: Purchase Order.