Business Object Model (BOM)
The Business Object Model (BOM) provides business content and guidance for SOA analysts, designers, and systems developers. It is used to clearly capture any business requirements at a detailed level. An analysis of reusable elements within business processes defined by the APM allows the identification of candidate business services that support these processes. For example, the business process for Account Opening requires the retrieval of “customer details”. Other business processes, elsewhere in the financial institution, have the same requirement. It is possible to identify a single solution that satisfies both these requirements and can be reused across the financial institution. This solution is a business service. The BOM allows reusable elements within business processes to be explored further with the aim of identifying actual business services.
The business object model brings the notions of structure and behavior together.
- It is a bridging artifact that articulates business concerns in a way that’s similar to how software developers think, while still retaining a purely business content. It is a consolidation of what we know about the area of business concern expressed in terms of objects, attributes, and responsibilities.
- It explores the essence of business area knowledge in a way that provides a transition from thinking about business issues to thinking about software applications.
- It is a way of firming up requirements to be enabled or supported by the information system that will be built.
- The process of agreeing to business object definitions, relationships between objects, and the names for the objects and relationships between objects, permits business area knowledge to be represented in a precise manner that can be understood and validated by business area experts.
Elements of Business Object Model
The key elements of the business object model are:
- Business workers show the set of responsibilities a person may carry.
- Business entities represent deliverables, resources, and events that are used or produced.
- Business use-case realizations show how collaborating business workers and business entities perform a workflow. The business use-case realizations are documented with::
- Class diagrams that show participating business workers and business entities.
- Activity diagrams where swimlanes show the responsibilities of business workers and object flows show how business entities are used in the workflow.
- Sequence diagrams that depict the details of the interaction among business workers, and business actors, and how business entities are accessed, during the performance of a business
The Business Object Model and Information Systems
In the business object model, business workers represent the roles that the employees will act whereas business entities represent those things the employees will handle. Using a business object model, you define how the employees of the business need to interact to produce the desired results for the business actor. The system use-case model and design model, on the other hand, specify the business’ information systems.
Business modeling and system modeling address two different problem areas, at two different abstraction levels. Therefore, the general rule is that information systems should have no direct presence in the business models.
On the other hand, the employees acting as business workers use information systems to communicate with each other, and with the actors, and to access information about business entities. Whenever there is a link, association or attribute, there is also some potential information-system support.
These two modeling contexts have the following relationships:
- An employee acting as a certain business worker corresponds to a system actor of the information system. She is probably best supported if the information systems are structured so that her entire work in a business use case is supported by one system use case.
- Alternatively, if the business use case is large, long-lived, or combines work from several independent areas, an information-system use case could support one operation of the business worker instead.
- The things the employees work with—modeled as business entities—often have representations in the information systems. In the object model of an information system, these business entities occur as entity classes.
- Associations and aggregations between business entities often give rise to corresponding associations and aggregations between entity classes in the design model.
- Therefore, a system use case accesses and manipulates entity classes in the design model that represent the business entities accessed by the supported business use case.
- Finally, a business actor that directly uses a business’ information system also becomes a system actor of the information system.
These relations are essential when identifying requirements on the information systems that support the business.