Best practices: Mediation modules and packaging

When developing mediation service applications, you may need to work with resources such as JSP files, JAR files, Web projects, Java™ projects, and J2EE projects. This topic provides information to help you set up your projects and resources so that they can be successfully built and deployed to WebSphere® Enterprise Server or WebSphere Process Server.

Working with Java code

Best Practices: If you need to develop Java applications or import JAR files that will be used by a custom mediation primitive, you should create a Java project for the code and add a dependency on the Java project to the mediation module that will be using the Java code.

If you need to import a JAR file, you can just drag and drop the file into a module, mediation module, or library artifact in the Business Integration view (you can also import or copy and paste). You will be prompted to confirm that you want to have the JAR set up for use by the library or module. A wizard will create a separate Java project and configure it to hold the JAR file. The wizard will also set up a dependency from the module, mediation module, or library to the Java project. The properties of this generated project will be automatically set up to allow for easy deployment.
Important: Do not alter the Java properties of the business integration library, module, or mediation module, because alterations are likely to cause problems in deployment code generation.
If you need to develop a Java application that will be used in a business integration module or mediation module, you should create a Java project for the code and add a dependency on the Java project to the module that will be using the Java code. Here are some instructions for the Java development in a Java project:
  1. Create a Java project.
  2. Develop your Java code in that Java project.
  3. Add a dependency from a module, mediation module, or library to this Java project. To do that in the dependency editor, open the module that will use the Java code. Add the Java project as a dependent and make sure that the Deploy with Library or Deploy with Module check box is selected. The dependency editor will add the Java project to the module's classpath.

The Business Integration view only shows Java implementations and interfaces that are used in an assembly diagram. They are listed under the mediation module that uses them. If you need to work with Java projects you can switch to work in the Java perspective.

Switching to the Java perspective

Open the Java perspective by following these steps:

  1. From the menu, select Window > Open Perspective > Other.
  2. Select Java and click OK.

In the Java perspective, the two opened perspectives are shown at the top right corner of the Workbench window, you can switch to the Business Integration perspective by clicking the Business Integration perspective button, as shown in this image:

top right corner of the Workbench window showing the two perspective buttons

Business objects and interfaces for imports and exports

Best Practices: If you plan to use imports and exports in mediation module assembly diagrams, it is a good practice to put the business objects and interfaces that are used by the import and exports into a library so that they can be shared. Then, add a dependency on the library to all of the modules that use these common resources. Avoid copying the same business objects and interfaces into different modules to use them.

Library resources that are shared

After deployment, if shared resources change in the library, modules using the resources have to be updated. For example, two modules share some resources in a library. The applications are deployed. One of the modules has to be updated resulting in changes to some of the shared resources in the library. In this case, the second module also needs to be updated to reflect the changes in the shared resources.

WSDL files must be in a module or a library

If you need to use a WSDL file in a module, copy it to the module. Optionally, copy the WSDL file to a library and, in the module, set a dependency on the library so that you can use the library's resources. If you tried to drag a WSDL file from another type of project, for example a Web project, an error message will prompt you to copy the WSDL to the module or library.

J2EE module names

The mediation module is a simple project which produces a J2EE EAR file consisting of J2EE projects. If the module is named MyApp, then J2EE projects with these names are generated and you should not use them for your own J2EE projects:
  • MyAppApp
  • MyAppEJB
  • MyAppEJBClient
  • MyAppWeb

Changing dependencies without the editor

You should avoid modifying module dependencies outside of the dependency editor.

When you add a dependency on a library, Java project, or J2EE project, changes are made to the module's properties. That is, the module's properties are changed, as follows:

  • The Java Build Path would have the library or project added to its build path.
  • The Project References determines which J2EE projects or utility Jar files are to be included in the resulting EAR file for the module. If in the dependency editor, the library or project is also selected to be Deployed with the Module, then the Project References will have the library or project selected so that it will be added to the EAR file for deployment.

Use the dependency editor to manage project dependencies for your mediation modules and libraries instead of editing their properties. There are important Java assumptions set in the properties of mediation modules and libraries, so you should not modify the Java properties, for example, to change their source and output folders.

Related concepts
Modules and libraries
Modules and libraries dependencies
Business integration capabilities and roles
Business integration cheat sheets
Best practices: Sharing projects
Related tasks
Creating a module for business services
Creating a mediation module
Changing default namespaces
Enabling tools capabilities
Adding dependencies to modules and libraries
Creating the library

Related information

Tutorial: Work with modules and libraries

Feedback
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.