Java News from Friday, October 5, 2007

IBM's JunJie Nan has released the Chinchilla Scaffold for Java Server Side Testing, a testing framework for servers decouples test logic and test contents using a generalized, dynamic proxy generation strategy.

Currently, Java™ server side testing (including IBM® WebSphere® Process Server testing) is so non-agile that even a small test logic modification necessitates full content rebuilding and redeployment between the server and client. IBM Server Side Testing Scaffold for Java is designed to solve this problem.

This scaffold implements a generalized proxy strategy that automatically generates corresponding proxies for every test target object. These proxies are on the Java client side; the test target objects are on Java server side. These proxies' APIs are same as the target objects' APIs. Because the use of these two kinds of proxies is same, the learning curve is practically non-existent. In this implementation, these proxies are referred to as Chinchilla proxies.

Chinchilla proxies can work well with the existing Java objects on the Java client side. These Java objects can accept Chinchilla proxies as parameters, and nested Chinchilla proxies can also accept other Java objects as parameters (as long as these Java objects are serializable). With multiple combinations, one can then use Chinchilla proxies and other Java objects together to easily prepare test logic.

When specific test logic on the client side is exercised, Chinchilla proxies deliver their corresponding APIs, invoking a Chinchilla agent on the Java server side. The Chinchilla agent invokes the proper execution at the target object and returns the result. Depending on the result type, Chinchilla might directly return the result (as in Java.lang.String); it might generate a new Chinchilla proxy (such as an interface) and return it; or it might throw an exception (such as when a Chinchilla agent is calling a target object API). The communication between Chinchilla proxies and agent is handled through HTTP protocols.

WebSphere® Application Server 6.0 or above and Java 1.4 or later are required.