I mentioned before that I'm working on a framework to ease development of OSS/J TCKs. One challenge for the OSS/J TCKs is that each OSS/J API exposes the same functionality via three so-called integration profiles:

  • EJB
  • XML/JMS
  • Webservices
All three profiles expose the same functionality and the TCK for a OSS/J API should validate the functionality on all three profiles. The OSS/J TCK Foundation enables TCK builders to focus on the functional tests that must be executed against each integration profile without having to worry about the plumbing needed to access one of the specific integration profiles. The OSS/J TCK Foundation provides a proxy that - depending on what type (EJB, JMS, webservices) of proxy is requested - executes the operations defined in the OSS/J API against the correct integration profile. The proxy has the same interface as the JVTXyzSession interface that is defined in the OSS/J API. The actual tests are written as unit tests and executed against the proxy. The OSS/J TCK Foundation website contains samples on how to use this.

We're currently using this OSS/J TCK Foundation to build the TCK for the OSS/J Order Management API, but it is set-up such that it can be used for building TCKs for other OSS/J APIs. During development  tests have been done against the OSS/J Service Activation and OSS/J Trouble Ticketing APIs. The OSS/J TCK Foundation contains sub projects that that illustrate the examples for OSS/J Service Activation and OSS/J Trouble Ticketing.

The current version of the OSS/J TCK Foundation has support for the EJB and XML/JMS integration profiles. Support for the webservices profile will be added next.