Abstract: Enterprise architecture (EA) is a strategic approach of defining an effective IT strategy and roadmap that drives the IT to meet the business vision and strategy. However, it is mandatory for enterprise architecture to have existing business architecture and IT architecture for preparation; it can be used to identify the gap in order to make strategic decisions and directions. Service-oriented architecture (SOA) and business Process management (BPM) architecture models will help an enterprise to realize the enterprise architecture strategy and roadmap. The perfect mixture of EA, SOA and BPM make enterprise IT highly agile so it can quickly accommodate dynamic business strategies, alignments and directions. However, there should be a structured approach to drive enterprise architecture to service-oriented architecture and business processes.
Enterprise architecture is exclusively adopted by many enterprises to effectively plan and implement enterprise IT transformations. In order to prepare the enterprise's IT for transformation requires various architectural models to represent various business models, workflows, processes, systems and infrastructure. Enterprise architecture includes four domain areas that help to capture and articulate the total enterprise structure. They are business architecture, information architecture, application architecture and technology architecture. Business architecture is a primary architecture domain that helps to capture complete information about the enterprise's business or line of businesses. Business process modeling is part of the business architecture approach that helps to implement business process services. The following sections will help us to understand how to drive from business architecture to business process services.
What is Business Architecture?
Before we jump into the driving approach and process modeling, we need to understand the business architecture. Business architecture (EA) is "a part of an enterprise architecture related to corporate business, and the documents and diagrams that describe that architectural structure of business" [REF-1]. It is also defined as "a blueprint of the enterprise that provides a common understanding of the organization and is used to align strategic objectives and tactical demands" [REF-3].
Fundamentally, business architecture answers four primary questions - what, how, when, who - that help us to understand business. The business architecture includes various modeling to represent business models, business goals, business vision, strategy, business operating models, business processes, business entities, and communication. If there are business architecture models then they provide an opportunity to the enterprise leadership to validate the impacts of problems and quickly estimate the necessary changes required to meet the business vision. Alternately, it also helps to quickly validate the impact in the business model when the enterprise adopts new business models or acquisitions.
Every business architecture model should express the following key areas [REF-5].
- Business goals
- The purpose of the business, enterprise-wide goal, expectations and business statements
- Department and business units goals, representation, vision and responsibilities
- Strategy approach for organic and inorganic growth, approach etc.
- Corporate management and department leaders' responsibilities
- Business functionalities and organization relationships
- List of business functionalities to achieve the common goal, includes internal and external functionalities
- Business functionalities that interact with customers, clients, suppliers, partner, government, regulatory, and competitors
- Model that describes the structure of the organization, roles and responsibilities
- Business processes
- Cross-functional processes that interact with various departments' business functions to meet a common business goal
- Some of the business processes may not be for business goals but for department needs, regulations and business support
- Business entities
- It is about information that business requires to meet goals, functions and processes
- The relationship between department, business, partners, and services that are important for business executions
- Communication or interaction
- Communication and interactions between internal and external entities
- Formal communication either in the form of data or messages between departments
Apart from representing current business architectural models, good business architecture should also represent the future state of business, which includes a future business model, operation and processes so one may see what it may look like when the business achieves its vision. This best practice facilitates the business leaders to visualize the business when it reaches the vision. This also helps IT leaders to estimate the IT changes to support the future state of the business.
Business Architecture Modeling
A business architecture model is a collection of related models or views that describes every aspect of the business. Business architecture modeling involves developing various models for business goals, business functions, business processes, entities, communication, and organization. There is no single modeling tool or diagram that can be applied to all business architecture modeling. There are various modeling tools and approaches to be followed for each based on the scope and purpose of the diagram. Recently, Business Architecture Working Group (BAWG) of Object Management Group (OMG) is bringing standardization in business architecture in the name of business architecture body of knowledge (BABOK).
Some of the widely used modeling diagrams include block diagrams, UML use cases, data flow diagrams, activities, organization charts, and business process modeling notations (BPMN).
Driving enterprise architecture to business processes services should be a top-down approach. However, there are two approaches to transform IT for adopting enterprise architecture and service-oriented architecture. They include:
- Top-down approach
- Bottom-up approach
Both approaches have certain qualities that help to drive the IT initiative from EA to SOA or SOA to EA.
The top-down approach is the fastest approach and is more appropriate to drive enterprise IT to adopt EA and SOA. In addition, the top-down approach is a more structured approach compared to other approaches. The top-down approach starts from the main goal of the business and drills-down to identify the business processes and communication. The diagram below represents the top-down approach for enabling EA and SOA in enterprise IT.
Figure 1 – Shows the top-down approach for enabling EA and SOA in enterprise IT.
The first step would be capturing and modeling the main goal of the business from the mission statement, interviewing CEO and referring to business visions. Once the primary business goals are identified, we should break down the business goal into sub-goals and try to match the business functions. Therefore, the business function / organization and its relationship should be matching with the sub-goals. If the department goals differ or are not driving to enterprise goals then that would be a gap between enterprise vision versus department vision. Once the business functions and relationship are identified, it is much easier to draft the business processes that interact with enterprise departments, organizations and units. Once all necessary business processes are modeled, it is time to identify and model all business entities that require meeting the business goals. In addition to that, we should also capture the entities that are shared among the business processes. Finally, we should go for modeling the business process services based on business processes identified earlier. In order to model the business process services, we have to identify the services that already exist in various departments, units and partners that can be part of the business process. If there is any gap identified in the process services that require newer implementation efforts. To enable the SOA adoption, the same approach could be followed to identify the business process services by assembling the enterprise business services, systems and infrastructure services.
The bottom-up approach starts from what is known to the business and assemble various model that is already available in the enterprise to consolidate business architecture. In that case, it is easy to identify the existing business services and infrastructure so you can drive to identify the goals of the business. Since this approach starts from the existing models and assets, this could be the shortest approach to complete the entire model. However, it depends on the models that have already been created and stored on the enterprise repository. In addition, the bottom-up approach must also make use of existing models from the enterprise repository to reduce the efforts involved in modeling various business architecture diagrams.
Figure 2 – Shows the bottom-up approach.
The above pyramid diagram shows the bottom-up approach and focus areas. As shown, the bottom-up approach would always start from the existing assets and the list of business services that could have been coordinated to meet business process services are found. That business process service might be a cross-functional process to meet business goals. The modeling should be driven from identifying the business services, business process services, business entity involved in the process, and business functions. The sub-goals and business goals could be identified from the consolidated models of business services, process services, entities, and business processes. The bottom-up approach would be appropriate when an enterprise is setting up EA practice. It may not be a flexible approach to drive SOA initiatives from EA.
Business Process Modeling
Business processes are a collection of repeatable business activities executed in an orchestrated or choreography model to meet certain business goals. Business processes are either cross-functional or internal to a specific to a department. Business process modeling helps to express the process flow and activities involved in the business process. Business process models that are consolidated with other business architecture models help enterprise leadership to quickly understand the business impact when a business wants to incorporate process changes or alignments [REF-2].
Business process modeling could be designed by using UML use-case and activities diagrams. The UML use-case realization diagram helps to represent the actual behavior of the business and functions. In addition, a text-based description could be used to represent the business process involved in the enterprise. However, model-based presentation can help one understand more quickly and accurately. UMS use-case diagrams could represent the role and activity involved in the enterprise's business. A UML activity diagram presents the flow of activities and functions that happens across different business functions or regions, business units and departments by using swim lanes.
Alternatively, Business process model and notation (BPMN) is a new modeling language that helps to design the business processes more accurately [REF-4]. BPMN helps to define the process models syntactically rich enough to express all business process situations.
Process Modeling Using BPMN
BPMN is a standard based model and notation that helps to design the flow of business processes very similar to the UML activity diagram [REF-4]. The primary scope of BPMN is to provide a common technology agonistic modeling notation that helps business leaders to understand the processes quickly. BPMN gives support to implement all aspects of the business process including management processes, operational processes and business supporting processes. The following diagram shows simple business processes that show the flow of interaction from different departments of an enterprise to meet the business objective.
Figure 3 – Shows simple business processes and the flow of interaction from different departments to meet the business objective.
There are various ways to model the business processes using BPMN. Various activity nodes can be used to express the process in different dimensions. The above process flow just shows the business process from a functional dimension, so there is no reference of systems or services. However, BPMN can be used to express service and system process representation. While driving the initiatives from enterprise architecture to service architecture, it is a good practice to present the business process from the business angle before modeling it from a system and service point of view. It helps the management team to understand the business processes from a management standpoint. Only during the implementation, should we represent the business processes from a system point of view. Once we identify the business process that interacts with various departments, we have to identify the services that are available from those departments, which can help to implement the business process services.
Process Service Identification
Business processes, defined using the BPMN, would be potential candidates for process services implementation. Once the business processes are designed using the modeling notation, the business processes should be implemented using process or workflow technologies. Business process execution language (BPEL) would be an ideal language to implement business processes identified during business architecture. In order to implement business processes, it requires identifying the list of business services that help to implement the business process services. The below business process model shows the implementation standpoint of the business process.
Figure 4 – Shows business process model shows the implementation standpoint of the business process.
The SOA approach would help to reuse the existing IT assets to meet the business requirements. In this case, to implement the business process identified in the business architecture, the services should be identified from each department or function. If the appropriate services are not available in the department systems, it requires an implementation to expose the service. Most of the enterprises still have the legacy systems to support their business function. Therefore, exposing legacy functions as services requires enterprise service bus (ESB) architecture along with adapters. Once the services are indentified and exposed, it requires assembling the services using BPEL to build the business processes.
Finally, driving the from business architecture to business process services (top-down model) helps to implement the business process based services in the enterprise as per the business vision and goals. This approach will eliminate all the deviations and assumptions, which will ensure that expectations are met more accurately.
[REF-1] Business Architecture - http://en.wikipedia.org/wiki/Business_architecture
[REF-2] Business Process Modeling - http://en.wikipedia.org/wiki/Business_Process_Modeling
[REF-3] Business Architecture by BAWG - http://bawg.omg.org/business_architecture_overview.htm
[REF-4] BPMN - http://en.wikipedia.org/wiki/Business_Process_Model_and_Notation
[REF-5] Reynolds, Ryan. Introduction to Business Architecture.