It is recommended that you develop integration components in the following general order:
Connectors and application-specific business objects are the integration components that communicate directly with the applications being integrated.
You should develop application-specific business objects after connectors because you must understand the connector in order to develop business objects for it. You should develop application-specific business objects before you develop generic business objects because generic business objects generally represent a superset of the application-specific business objects in an interface.
It is recommended that you create application-specific business objects in multiple iterations. Develop the application-specific business object at first as a relatively simple structure and then test it to make sure that the connector can use the business object structure to exchange data with the application successfully. Then add a layer of complexity and re-test the business object to make sure that the interface still works in spite of the modifications. Repeat this process until the application-specific business object is as large and complex as it has to be to satisfy the interface.
After you have developed all of the application-specific business objects required for an interface you should develop the generic business object as a superset of the application-specific business objects in the interface.
Be sure to investigate any existing generic business objects that might be provided on the installer or as part of an industry solution to avoid unnecessary custom development--you should not spend time doing work that has already been done. When you evaluate existing content for use, be sure that you understand the relevant licensing terms for the site and verify whether or not the license covers the use of the object.
Ultimately, develop the generic business object so that it contains:
Once you have identified or developed the business objects for an interface, you should develop the maps that transform application-specific objects into generic objects, and generic objects into application-specific objects. Use the Map Designer tool to create a map, define the transformation rules, and unit test the map with a sample input generic or application-specific business object.
After you have validated the map transformations through unit-testing, create any relationships required for the interface and then implement cross-referencing in the appropriate maps. Unit test the maps in the order in which they would execute during the execution of the interface to which they belong.
See the Map Development Guide for details.
The collaboration template defines the business logic of the interface. The simplest collaborations merely route business objects between connectors. Other collaborations might also have complex interactions involving transactions, long-lived business processing, and delegation of processing to other collaboration objects. Regardless, collaborations are centered around the generic business object that represents a superset of the application-specific business objects in an interface.
You do not need to use application-specific business objects, maps, or connectors during the development and unit testing of a collaboration. If the collaboration does not have to make significant modifications to the data of a generic business object at runtime, or otherwise perform operations that explicitly depend on the structure of the generic business object, then you do not even need the generic business object to be developed before developing the collaboration template. As long as the business process is well-defined you can develop the collaboration template and test it with simplified version of the generic business object until it is developed in whole.
When you assess the need for collaboration templates, investigate which templates are already available, and determine if the licensing terms for the site permit the use of any available and appropriate collaboration templates. If there is no suitable existing collaboration template then you should develop a custom.
For more information, see the Collaboration Development Guide and documentation for the particular collaborations you plan to use.
When you complete the collaboration template and all of the components with which it interfaces, you should create a collaboration object based on the template.
You should unit test the collaboration object without the connector agents running by using Integrated Test Environment or Test Connector. This allows you to test the integrity of the interface without introducing connectivity issues and thereby rule out errors related to the map and collaboration logic. Then you should test the interface as a whole with the connector agents running.