Comment Service Implementation Approach

Iterative Delivery of Functionality

The idea behind iterative development is to produce usable, self-contained versions of the product at each iteration. In the development of Comment Service the plan is to produce a usable system at various full-story deliveries.

Another useful process planned for Comments development is iteration planning and evolutionary design: We start with an initial design, which omits detail not necessary to complete the next story. As stories are implemented, the remaining stories are updated to take into account discoveries and changes. The purpose of this approach is to minimize rework of design.

Another goal is to do integration at every iteration: In the case of Comment Service, this means that the two front-end interfaces (Java API and REST API), as well as the shipped implementations of the back-end modules (persistence, security, etc.) will be fully tested and operational at the completion of every story. In addition, samples of use in both web pages and non-web applications (exercising both front-end APIs) are part of the delivery. From this it follows that when a story is complete, the system is fully usable by everyone.

Architecture

A high-level description of the architecture of the system is as follows:

  • a core Java API.
  • a REST API.
  • decoupled modules for persistence, security, and other necessary but often-modified (integrated) components. For initial release, only Java interfaces for these.

Use of the system

The planned use would go as follows:

  1. Download and install the separately-packaged Comment Service jar(s).
  2. (optionally) implement custom versions of the back-end interfaces (if you want to use your own database, or security mechanism, etc.)
  3. Configure the system to function within a larger system (properties, web.xml, etc.)
  4. Write code which calls the Comment Service, from a web site or other application. You can use the REST or Java API. In the case of REST, for example, it will be straightforward to call the service from Javascript.
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.