Modeling with Cúram

The starting point for all development is the Platform-Independent Application Model. IBM Cúram Social Program Management™ applications follow a service-oriented architecture, and services to be provided by the application are defined as UML interfaces in the model. Lower-level services are also defined here, resulting in an application that uses a layered approach. All interfaces in the model are referred to as "business objects" . When we need to distinguish between services that are only consumed internally by the application and services which are visible to external applications and user interfaces, we refer to the latter as "facades" . These define the outside world's view of a IBM Cúram Social Program Management™ application. Internal services are provided by a combination of "business process objects" and "business entity objects" . Entity objects define the "things" modeled by the application. Entity objects support data access operations to persist and retrieve instances of entities.

It is important to remember that the application model is platform-independent. No particular middleware or component technology (such as EJB) is referenced in the model. The model simply defines service interfaces and which subset of those interfaces will be made externally visible. The IBM Cúram Social Program Management™ environment looks after middleware dependencies by automatically generating any required "plumbing" code. Developers generally do not need to be concerned with the intricacies of middleware interfaces.