Business Objects Framework

Powerful and Consistent Business Logic

The ice.NET UML Models provide an efficient method to describe the information model of a software solution. However, the information model only represents the static aspects of an application. The dynamic aspects of an application (aka: behavior) consist of:

  • Consistency Constraints that are beyond the scope of a (static) information model (e.g. checking the max. total weight of a recursive product decomposition structure
  • Business Functions that do more than reading attributes or connecting relationships (e.g. calculating the net manufacturing costs of a configured product variant)
  • Functionality that is triggered by Business Objects events (e.g. send mail notification to subscribers upon project documentation updates)

The ice.NET Business Objects Framework (BOF) provides the programming interface to implement the dynamic aspects of applications using object-oriented methodology. Further it provides the management environment for the Business Object implementations. Business Object programmers can focus on the implementation of the Business Functions. Once they assign the implementation to a specific Object Type, the inheritance of the Business Functions through the UML Model hierarchy and the activation/retrieval of the Business Functions is performed by the BOF.

State-of-the-art Development Environment

Instead of re-inventing the wheel by providing just another weird "business programming language", the ice.NET Business Objects Framework seamlessly integrates with the programming environment of the Microsoft.NET Framework. Business Methods can be programmed in the C# programming language (or in any other .NET CLR programming language, such as VB.NET or managed C++) using Microsoft Visual Studio as the IDE.

There are no "precompilers", additional "keywords" or other problematic language constructs. Just C# (VB.NET, etc.), the .NET Framework compilers and tools. The BOF programming API provides Business Objects Interfaces and .NET Code Attributes in order to bind CLR Implementations to ice.NET Object Types. These integration features make implementing ice.NET Business Logic as simple as programming methods of C# classes (actually implementing ice.NET Business Logic is done by programming C# methods...).