Business Objects and Data Access

Data Access through Milos Business Objects

In the Milos Framework, there are two different entities that combine to provide the functionality that is normally referred to as "Business Object". Developers using Milos typically use a type of object known as a "Business Entity". Milos Business Entities always use a type of Milos object known as a "Business Object". Milos Business Objects may also be used independently, without a Milos Business Entity.

Business Entities

Business entities serve as an application's primary interface with Milos, providing the CRUD (Create Read Update Delete) functionality an application needs to work with data is available through business entities.

Business entites are state-full objects capable of holding data for periods of time.

Business Objects

Business objects are state-less objects used to access data and port the accessed data to a Milos business entity or an application's user interface control.

Being stateless, business objects cannot store data for any period of time. They exist purely to access data and move it to some other object.

The Architectural Relationship Between Business Entities and Business Objects


When using Milos, usually the application developer will create a Business Entity object to be used as the data interface by some componet of the application. The Business Entity has no native capability to actually access data and must use a Milos Business Object to do the data access. The Business Entity does have a GetBusinessObject() method, but that is a stub method with no significant internals. The developer must specifiy a type of Milos Business Object through an override of the GetBusinessObject() method.

There are occasions when a Milos Business Entity is not appropriate. Examples include loading UI controls with multiple values (e.g. listboxes and grids) and creating utilities that will load dataSets from a table or a database stored procedure. In these occasions, Milos business objects can be instantiated and accessed directly with code.



Last Updated: 8/9/2006