Isn’t the title one of the most complete statements you have seen recently? Personally, I believe in this theory and I will explain it in detail by trying to put all the pieces together from a business perspective.
To support complex industries in today’s world, such as healthcare – composing manufacturing, retail, healthcare, vendor applications – on a daily basis, one has to live with supporting multiple systems in existence to meet the business needs. As such we are always challenged by these elements –
1) How to cope up with the frequent business process changes from a system maintenance perspective? How to leverage on the existing infrastructure for the new business processes proposed and implement the appropriate system changes in a timely manner as expected by the business?
2) How to facilitate the systems for ease of usability and preferences set by each process owner on a periodic basis without sacrificing the data integrity of the systems?
3) How to integrate the data from disparate systems and processes and present to the users as per each business division’s preference?
The search ends (rather begins) at understanding the latest SAP product – Netweaver. Initially when I heard of Netweaver, I was expecting to learn more about the technical capabilities of the netweaver, rather my search resulted with a few familiar/ new terms – SOA, BPM, Visual Composer, XML, UML etc.
The primary task was to understand what each of these terms/ technologies meant from a bigger picture (from a business perspective), cause any technology proposed makes absolutely no sense unless it is tied back to a business requirement/ process initiative. As such much of the details presented here will be from a business requirement perspective, rather than the technology itself.
SOA – Service Oriented Architecture
The primary task is to understand the concept of a service. In simple terms, a service is all about executing a defined set of events based on the input parameters provided, and providing the appropriate output. Let us consider a typical business process chain as an example shown below (Eg: Order-to-cash). We can see that
– each business process can be classified into a sequence of nested sub-process, which individually can further be classified to a much more detail.
– every process step in a business cycle is dependent on the prior processes output. Business processes are always aligned such that, the completion of one process results in the triggering of the next process.
Each process step in a business cycle provides a set defined of services and adds value to the chain of the business cycle. In complex business process cycles, if carefully reviewed, there will be many instances where a similar type of service is used over and over again in several processes. For example consider the delivery of a product from the warehouse as a defined service which has to happen in an Order to cash cycle. This service has to be executed irrespective of the variables specified in the process such as type of the product, type of the sales order, location or type of customer etc. But yes, the way the shipping (the output) is processed will be different – as delivery as individual shipments, processing through a specified shipping service, date of processing etc – based on the specifications from the previous process/ service, say order-confirmation.
As such, from a business cycle perspective, the services preceding (order confirmation) and following (billing) a service, such as the delivery process, have nothing to do with the actual method of execution of events within a service, the Delivery. But yes, the service execution is controlled by the preceding service output and the following service input specifications.
This results in the ability to define every process into a set of services where each service is defined with a set of input and output parameters irrespective of the actual events inside the service.
The realization and definition of each process/ sub-process step in a business cycle as an independent task (service) which accomplishes a part or whole of a business process, is called as service orientation. The process of designing and development of IT systems in conjunction with the defined service oriented models results in service oriented architecture. Note, that the realization and defining of process steps in a business cycle as services is the initial and most crucial step of implementing a SOA. Defining the appropriate input and output parameters to the prior and following services, for each service, is key to standardization, implementation and ease of maintenance of the services.
Considering our example, the O2C life cycle, if each process can be divided into a defined set of services with appropriate input and output parameters, each of these services can be designed and implemented independently on single or disparate systems. Based on the requirement, the service request can be initiated at any given step in the process cycle resulting in high grade of visibility and efficiency in the systems. Traditionally the biggest challenge posing the implementation of SOA is the inability of systems to communicate with each other efficiently.
BPM – Business Process Management
As the title states, BPM is all about managing the various process/ sub-processes within a business cycle. It is the platform through which both the systems and people associated with the processes are managed on a periodic basis. It includes
1) Standardization of business processes.
1) Standardization of business processes – BPM starts with the identification and documentation of all the processes in a business cycle and streamline those to the company’s overall business strategy. This results in creating a standardized single repository of all the processes in a business cycle (a hierarchical structure of the overall business cycle) with high grade of visibility and minimizing the risk of broken/ hanging/ unknown processes.
Traditionally, processes standardization is often carried out through the following data modeling techniques, in sequence as per the scope of the project-
a) Conceptual Modeling – This is carried at a very high level at the initial requirements analysis to identify the key processes and sub processes in the business cycle (System/ technology independent).
b) Logical Modeling – This is carried at a bit detailed level at each individual sub-process and incorporates workflow, functional, user interface, system interface requirements for each sub-process. Again this is also done on a technology/ system independent basis.
c) Physical modeling – This stage involves incorporating the data models from the logical modeling stage and implementing them to the specified systems adapted through configuration and customization. Often includes detailed data process flows, systems architectures, functional and technical specs etc.
The greater the transparency and standardized the business models are, the smoother and efficient the system implementation will be resulting in an overall greater efficiency of the business cycle. Unified modeling language – UML – is the universally accepted, standardized modeling language supported by Netweaver modeling tools.
2) Implementation – Standardized processes are adopted and implemented using the appropriate systems and teams. In traditional implementations the criteria for the system selection and implementation are often a result of both business and IT requirements.
3) Once the business processes are standardized and adapted each process step has to be monitored on a regular basis. To determine the necessary process changes required and to improve the overall efficiency of a business cycle, metrics have to be defined for each and every process step, in the hierarchy of the business cycle, and systems have to be setup appropriately to extract the necessary data and present to the user as per their requirements.
4) Modifications to the business Processes – Based on the performance metrics obtained, appropriate actions need to be taken by the process owner either to add new/ modify the existing processes in a business cycle. Based on the throughput measurements of the process, the changes can be standardized and implemented in further business scenarios.
Note that the process management is a continuous cyclic process. In many business scenarios, after go-live, it is highly recommended to interchange the sequence of the measure and implement stages as per the feasibility of the proposed process changes for better control (Lean Six Sigma Methodology/ SAP ARIS Business process cycle methodology Define, Measure, Analyze, Improve and Control).
But, as stated above, the concept of Process management is not just about the modeling techniques and implementing systems on those process flows. Rather it is about implementing and managing the processes and the systems (associated with those processes) together on a periodic basis for greater efficiency of the business cycle. As such, though the modeling process is complete, the biggest problem is that in traditional platforms (often referred as BPM suites), the modeling at different stages is often carried out on one or many platforms and the implementation is carried out on multiple disparate systems with no direct connectivity between layers of models and the actual systems. This results in a wide gap (which increases as time progresses) between the modeling process flows and actual systems implemented. As such the biggest challenge is how to minimize this gap for greater control and efficiency.
A decade ago one of the biggest problems associated with IT system implementations, was preserving the data integrity of the disparate systems, who often couldn’t talk to each other. But ERP was a major breakthrough in resolving the problems associated with data integrity. Businesses viewed ERP as a one stop shop that could integrate processes and systems efficiently, with high visibility and flexibility in future maintenance. But as the time progressed businesses started realizing that the ERP implementations often came with a price –
1) As business processes evolved and progressed there were a lot of functionalities (both new processes/ changes to the existing processes) which ERP couldn’t offer in complex industrial environments. This leads to the execution of processes on multiple systems (some often the legacy systems) with ERP as the primary system. Though from a systems perspective, the disparate systems supporting the processes have a very minimal functionality and complexity compared to the ERP, still each of them was a key component in carrying out the day-to-day activities of the process cycle. In fast-paced environments this became a huge issue with respect to user productivity and business growth. As such from some of business processes perspective we are still at square one.
2) Though ERP applications did allow customizing them, the extent of customization allowed is limited and often ended being very complex from a maintenance perspective. Often proposed system changes couldn’t be carried out as expected by the business in a timely and efficient manner.
So the fact that multiple systems will always exist in certain business processes, crucial to the whole business cycle, is inevitable in the future which again puts us back at the same problems stated at the beginning of this article.
Well we have looked at SOA, BPM and business applications individually and we can agree that each of the components provides a significant value to the overall business cycle. The concepts of SOA, BPM are not new. They have been around for a long time and often several systems boast about being built upon either of these concepts, but not both. Why, and what are the limitations that prevent us from adapting both the concepts on a single platform and how does SAP netweaver solve those problems? To understand better let us consider a typical software implementation cycle and go through the various stages in the cycle-
1) The first stage of any software implementation is the documentation of the business requirements and the approach is through the modeling process. As stated earlier, the biggest challenge from the BP modeling perspective, is the inability to have a single platform to process all the business models and monitor them on one single platform. Netweaver solves this limitation by providing the BPM Suite ARIS integrated with all other components in the platform. Using these products we can
– Define, document and standardize all the different levels of models (conceptual and logical which are system independent) and the physical stage (these are associated with the systems) in one platform creating a hierarchical structure of business models in one single repository. As this platform allows us to go to the finest details of the processes, the business experts can actually visualize the service oriented architecture of the physical implementation with the help of the technical team leads, and transfer his vision to the appropriate technical teams responsible for various disparate system implementations (the next phase of the implementation) right at the beginning of the project.
2) For the next phase, of actual system implementation, the biggest challenge posing the technical teams is how to connect systems on different technologies? To solve this issue conceptually, imagine this scenario, what if every systems primary communication to the external world is through a standardized language accepted universally. On the principles of SOA, if every system available takes inputs, processes the service specified, and provides the output in a standard language we can eventually connect any system to another. We can totally eliminate the need to sacrifice the better performing systems, just because we cant connect them to each other efficiently. The common language which is being adapted universally is the XML. Netweaver provides the platform, from a technical perspective to connect disparate systems, on the basis of XML.
But how can we overcome the barriers associated with data communication and user interfaces without sacrificing the data integrity. Netweaver solves these issues through the web services solutions of today, which are the most advanced and standardized solutions for data transmission and user interfaces. Netweaver provides the web services as an integrated component to
– connect the disparate systems efficiently preserving the data and system integrity.
– to develop role based customized system user interfaces and systems, eliminating the need for the users to access multiple disparate systems to perform a task.
– seamlessly connect and serve the external elements of the business efficiently- customers, vendors, regulatory services etc.
As such, netweaver is the technical platform that can eliminate all the technical constraints associated with systems and make the application of SOA, BPM concepts (right from the conceptual stage to the systems implementation) feasible. Services standardized through BPM can be implemented all across the enterprise using web applications offered by netweaver, referred as the Enterprise SOA.
3) Maintenance So we are able to bring in the concepts of BPM, SOA and multiple business applications all together using some of the tools provided by Netweaver. But the true challenge for the whole equation is to monitor and modify the processes, and systems associated, efficiently on a periodic basis as per the business expectations. Netweaver tools (ARIS, Solution manager) not only allow the modeling of the business processes, rather also allow monitoring of the key performance parameters (in conjunction with BI, XI tools of netweaver) of each sub process in the business cycle on a periodic basis. It also helps in analyzing the impact of the new changes initiated by the business, from a complete business cycle perspective. It helps in making the decisions regarding the best and fastest approach to implement the necessary system changes in consideration with key parameters, such as leveraging on the existing infrastructure, preserving the overall system integrity, controls, monitoring processes etc., right from the conceptual stage to all the way through the actual system implementation.
ERP’S brought systems and business processes closer, but still gaps do exist, and are considerable, in certain business processes. What netweaver enables us is the ability to adapt the principles of SOA, BPM and implement all the appropriate business applications on a single platform through out the business, erasing the gap entirely between the business processes and systems. Apart from the listed tools, netweaver also provides a lot of other functionalities which are out of scope of this article.
So what does all this mean to the customer? Following are some of key advantages of the integration of SOA, BPM and netweaver
1) A centralized process management platform to model, implement and monitor the business processes, irrespective of the systems implemented, in a structured manner right from the beginning of the implementation. This results in a high grade of visibility of processes and flexibility to change the systems associated with them, in a timely and efficient manner.
2) Selection of systems to be implemented The initial phase in a software implementation life cycle is all about gathering the requirements. Once the requirements are prioritized in conjunction with the business strategy, traditionally, the selection criteria for applications composed of both IT and business specifications/ priorities. But with SOA and netweaver, as technological constraints are completely eliminated, multiple systems which best suite the sub processes can be selected and implemented resulting in overall efficiency of the business cycle. I personally believe that this is the greatest advantage from the implementation perspective for any business.
3) As the systems are implemented on principles of SOA
– Services can be used over and over again, all through the cycle, leading to the ease of maintenance of the systems associated with those services.
– new processes can be built in quickly by aligning the sub processes through the existing services and only bringing in new systems only as required. This ultimately results in increasing the life cycle of the system, as a whole tremendously.
– Existing services can be re-aligned as required in a timely and efficient manner as expected by the business.
4) Technical components in netweaver such as the visual composer in conjunction with web services and advanced software development platforms makes building customized systems and integrated user interfaces, which streamline the business processes execution and connectivity of disparate systems into one platform, a breeze. The life cycle of software development and complexity of maintenance is reduced by many fold leading to ease of implementing the changes in a timely and efficient manner.
As such, netweaver is the one stop shop that allows ease of connectivity and maintenance of all the multiple disparate systems associated with the business cycle. All the components – SOA, BPM, Netweaver, and appropriate Business applications – will provide a significant value to the business cycle, but when all the components are brought together and implemented, only then, the true potential of the systems will be realized and the day that’s achieved, business will realize IT as an asset, rather than as a cost.
Business process experts are responsible for the integration of all the stated components. It is not the responsibility of the BPE to be an expert in each and every disparate system being implemented. BPE’s responsibility lies in understanding the business processes and through the Service oriented process models to visualize the appropriate TO-BE architecture and communicate it to the appropriate system implementation and maintenance teams.