Application Logic Layer

The domain driven design is fundamental for application logic development. Allows you to focus on the business nature of the problem instead of its technology implementation. CodePlant Framework offers a set of business components (abstractions) for the domain driven design approach implementation:

  • Entities for data representation.
  • Operations as a basis for process logic.
  • Workflow processes.
  • Agent/service pattern for multi-communication between application components.


Entity is a data abstraction representation. It may include simple application rules typically focused on entity integrity constraints. Entity is explicitly identified by its key and has properties that can be validated when a value is assigned. Relations are encouraged to another entity and variants of heredity. Entity is able to serialize and de-serialize for the needs of integration and data transmission.


Operations are process logic basic unit. Work over the data of one or more entities and perform the necessary transformation, calculation and subsequent persistence of changed and created entities. Represent the basic transaction unit with nesting support. Operations can contain simple data that represent parameters of the operation.

Procesess (workflow)

Workflow process is a long-lasting set of events or activities that can succeed in a defined order. During the workflow process passage the workflow services provide notifications to particular users in defined roles.

Workflow process support is provided by Windows Workflow Foundation platform integration.

Agent-Service Pattern

Entities and operations are implemented with an emphasis on the distribution of parts used in the client (agent) and server (service) environments. According to actual configuration of the application topology public methods internally decide whether the given method is to be processed in client environment (2layers topology) or whether the method parameters are to be serialized and action is completed in server process (3-tiers topology). Service is stateless and encapsulates physical transaction margins.

Application Logic Layer Services

For the effective use of business components CodePlant offers a set of services:

  • O-R mapping.
  • Entities persistence and materialization with the support of heredity and relationships.
  • The object query language.
  • Mobile business objects, transparent transmission between the application layers.