details design development

Standlove


by ivern,
TopCoder Staff
Thursday, November 12, 2004


The TCO component competition was actually two separate competitions: design and development. For the design competition, the finalists were given a requirements specification for a component and were expected to submit a complete design for it. For development, they were given a complete design and had to submit a complete implementation and unit test suite for it.

Before getting to the finals, the competitors had to progress through three rounds of online competition. The four competitors who obtained the highest aggregate score among their top three components advanced to the finals, which were also held online.

The Idempotency Manager is responsible for managing server responses to possibly redundant client requests. The component keeps track of requests as they are received and remembers the response generated by the server. If a duplicate request is received, the Idempotency Manager simply provides the previously stored response.

The component uses a distributed cache to manage the requests, and a pluggable storage mechanism for the responses. Additionally, if a response is not yet available the user can select to be notified when it is or wait until it becomes available.

The component is required to provide both management and persistence mechanisms for the cache. Both of these mechanisms are required to be pluggable.

Last, but not least, Idempotency Manager is designed to be used in a distributed environment.

When asked what the most challenging part of the development was, reviewer WishingBone mentioned both pluggable persistence and the testing of the distributed aspect of the component. He liked the way the winning submission addressed both of these challenges.




Great Opportunities are Available from our Sponsors

Microsoft

NVIDIA

Intel Developer Services

Yahoo!