Credits: Phillipp Schume, Dennis Parrott
IBM BPM provides business process governance by leveraging existing legacy systems and data sources within organisations. IBM BPM is not intended to be the master of record nor replace existing systems and data sources, instead it integrates with these legacy assets, as illustrated in figure 1 (left-hand side). IBM BPM is a server-side application and provides its human interface by leveraging thin-client web browser technology supported by modern desktop computers and mobile devices. Figure 1 (right-hand-side) illustrates how a IBM BPM solution may be divided into a number of architectural layers. Figure 2 (left-hand-side) illustrates where various model artefacts reside within each layer of the architecture. Each layer is responsible for a specific aspect of the solution. These model artefacts are described within other design patterns.
The basic premise of these layers is based upon the de-facto Model-View-Controller design pattern that has been widely adopted throughout the IT industry. The Business Process layer is responsible for enforcing business process governance, the View layer is responsible for providing the user interface, and the Business Object Model (BOM) layer is responsible for providing a consistent means for accessing business data (regardless of where the data originated). The Business Object Model layer provides a common definition of business entities, their relationships and behaviour. The Integration layer is responsible for communicating with a variety of legacy systems and data sources in order to retrieve and store data. The Integration layer is responsible for interfacing with external systems and data sources using appropriate technologies (such as JDBC, Web Services, and Java connectors) and shields the other layers from having direct exposure to these interfaces.
Clients are encouraged to assemble BPM project teams with individuals from both the Business and IT. Clients often ask which aspects of the solution should the business be responsible for and and which aspects of the solution should IT be responsible for. A common assumption is that it should be possible to draw a horizontal line within the layered architecture to indicate which layers belong to the business and which belong to IT. In reality both parties are responsible for all layers within the architecture but the emphasis changes within each each layer, as illustrated in Figure 2 (right-hand-side). The diagram illustrates the division of responsibility with a diagonal line that passes through all the layers. The business has greater responsibility within the layers towards the the top of the architecture and IT has greater responsibility within the layers towards the bottom of the architecture.
Figure 3 illustrates how data is passed between the layers (left-hand-side) and how data is transformed between the layers (right-hand-side). Each legacy asset usually has its own definition for representing business data. The Integration layer shields the other layers from these different data models and is responsible for transforming business data into the common Business Object Model. Similarly, the View layer may need to provide different ways of presenting data based upon the common Business Object Model. The View layer is responsible for translating data between the Business Object Model and the data structures required to support the various user interfaces. IBM BPM combines business data with coach definitions and automatically transforms it into HTML pages that are displayed within the web browser and vice-versa.