About this task
You can use any of the following types of resources in
a
message map:
Many of these resources can be defined in the same project
as the map or in a different one; however, for JSON schema and REST
API swagger documents, the map must be in the same project container.
When a resource is defined in a different project to the map, the
project where the map is defined must reference it.
XML schema models and DFDL data models
When
you define your message model by using a global XML schema or
a DFDL model, consider the following rules:
- You can have the map and any schema definitions that are used
in the map in the same project. The project can be a static
library project, a shared library project, or an application
project.
- You can have any schema definition that is used in the map in
a static library project and the map in an application project.
- You can have any schema definition that is used in the map in
a shared library project and the map in a different shared library
project.
Note: The XML schema files that are defined in
the application project cannot access XML schema files that
are defined in a shared library.
- You can have any schema definition that is used in the map in
a shared library and the map in an application project.
- You can have any schema definition that is used in the map in
a static library project and the map in an integration project.
User-defined models
When
you use user-defined elements in your message model and you define
these elements by using a global XML schema, consider the following
rules:
- You can have the map and any schema definitions that are used
in the map in the same project. The project can be a static
library project, a shared library project, or an application
project.
- You can have any schema definition that is used in the map in
a static library project and the map in an application project.
- You can have any schema definition that is used in the map in
a shared library project and the map in a different shared library
project.
- You cannot have the schema definitions that are used in the map
in a shared library and the map in an application project. The Graphical
Data Mapping editor reports error CWMSL209E if
you break this rule.
- You can have any schema definition that is used in the map in
a static library project and the map in an integration project.
Submaps
When
you use
submaps in a
message map, consider the following
rules:
- You can have the map and submap in the same project. The project
can be a static library project, a shared library project, or
an application project.
- You can have a submap that is used in the map in a static library
project and the map in an application project.
- You cannot have a submap that is used in the map in a shared library
and the map in an application project. The Graphical
Data Mapping editor reports error CWMSL209E if
you break this rule.
- You can have a submap that is used in the map in a static library
project and the map in an integration project.
Java code
When
you define transformations in your map that use Java code, you
can define a map in a static library project, a shared library project,
an application project, or an integration project. You can define
the Java code in one or
more Java projects. Your map
project must reference these Java projects.
Note: When
the map uses Java code available
in a shared library, you must create the map in the shared library
project where the Java code
is available.
ESQL
routines
When you define transformations
in your map that use ESQL code, consider the following rules:
- You can have the map and the ESQL code that is used in the map
in the same project. The project can be a static library project,
a shared library project, an application project, or an integration
project.
- You can have the ESQL code in a static library project and the
map in an application project, that references this static library.
- You can have the ESQL code in a shared library project and the
map in a different shared library project that has a reference to
it.
Note:
- When you store ESQL files in a shared library, you must place
the ESQL files inside a schema that is not the default empty
schema.
- Each shared library can have one or more ESQL files in one or
more ESQL schemas.
- The schema in a shared library must be unique:
- An application or a shared library cannot reference two shared
libraries that have ESQL in the same schema.
- An application with ESQL in schema A cannot reference a shared
library with any ESQL in schema A.
- You can have the ESQL code in a static library project and the
map in an integration project.
JSON
schema and REST API Swagger models
When
you define your message model by using JSON schema or REST API Swagger
models, ensure that you are aware of the requirements specified in JSON schema requirements for message maps.
Choose one of the following project structures based
on the resources that are used in the map if you want to update a
map without redeploying your application: