In previous posts, I’ve looked at the Rational Integration Tester model and lightly discussed how you create the elements manually. You definitely need to understand how to do this, but it is also important to understand that you can oftentimes have RIT do much of the work for you. The amount of work that can be automated will depend on the messaging technology you are using and how thoroughly your interface specifications have been defined.
An external reference is a special type of Infrastructure component that enables you to synchronize your Rational Integration Tester project to external resources. WSDL, webMethods Integration Server, TIBCO BusinessWorks Project or Design Time Library, SAP System, and SCA Domain (Oracle Fusion) are all external resources that can be synchronized to your project.
Let’s use a WSDL file as an example. WSDL stands for Web Services Description Language. It is a special XML file that provides the description of the endpoints, operations and even data formats of a web service environment.
In the RIT Logical view, you can create a WSDL external resource from the toolbar.
You can synchronize to a WSDL file on your hard drive, to a WSDL served up by the web service itself or from a service registry. If you are using a file, you can even just drag and drop your file onto the Logical view canvas. Once you have designated your WSDL, RIT will parse the structure and create logical components and physical resources defined in the file. So if your WSDL defines the operations and the format of the parameters, all those components will be created for you.
There is another view in the Architecture School Perspective that probably needs to be introduced at this point and that is the Schema Library view. The schema library contains the definitions for all the message formats and schemas of the messages being passed back and forth through your operations. Synchronizing all these data formats from the service specification is not only a huge time saver, it greatly reduces the chances of human error.
If you examine the details of the operations back in your Logical View, you will find that the schemas in the Schema Library are referenced by the operation’s message exchange pattern.
Not all schemas are defined in a service specification like a WSDL file. For example, consider a web service or a message bus that passes data in the format of a COBOL copybook. In this case, you would probably be creating the endpoints and operations manually, but you can still import the copybook file to define the message format to RIT.
Other examples of schemas that can be imported are XSD and DFDL files.
It is also possible to define your own data formats in the case where your data is not defined through any metadata. This is generally done with record layouts and file formats. This is very powerful and enables you to support proprietary or home-grown systems.
But what if your external resource changes? That certainly isn’t out of the question, right? As your web service evolves, you may add parameters, alter the types, add operations, etc. That’s what the Synchronization view of the Architecture school perspective does for you (or “Synchronisation” view, if you are in the UK as our Development team is). From the Synchronization view, you can see what elements of your model have been synchronized from external resources. You can check to see if your model is up to date or if something may have changed in the external resource. You can optionally update your model to correspond to the new state of the external resource.
Just a quick sidenote here… I mentioned that you have the option in the case of a WSDL to synchronize to a file or a URL or service. It is generally preferable to use the URL of the service or a service registry rather than a file. The reason is that file the Developer gave you last week has lost its connection to the real service as soon as you made that copy. You may do your best to keep RIT synchronized with the WSDL file, but you also need to keep that file in synch with the real world. By referencing the WSDL on the service or service registry, you are working with the version the live service is using.
Synchronizing to external resources is a very powerful way to ensure your model is valid and remains valid. It also can be a huge timesaver. I mean, your Architects and Developers have gone through all that work to define the system specifications, why not use them!