This application naturally cleaves into three types of macro-component:
1. A domain-specific common resource, in this case containing an object-oriented database.
2. One component of middleware that derives a new OrderItem object from a selected Item.
3. Two “applets”, which are high-level projectors of the resource and of the new OrderItem object, coupled by a Do-It between the collection component in the shopping cart and the Order button. These applets communicate with the user and implement the use cases.
