In this blog in the series we will look at the role of Business Process Management in enterprise SOA.
Traditionally, Business Process Management (BPM) has been perceived as divided into two distinct functions:
BPM as a management discipline that helps business organizations standardize and continuously optimize operational processes that have the largest impact on achieving corporate performance goals, and
BPM as a technology (or software product) providing IT organizations with a framework of tools to model, deploy and execute processes that include human and system tasks (as, e.g., workflows) or that span across different business applications and require a broad set of integration capabilities (as, e.g., messaging, transformation, adapter technology; known as EAI – Enterprise Application Integration).
In today’s business world, innovation and strategic business transformation require new methods and software products to differentiate organizations from their competition. The next generation of business best practices require thus an integrated, holistic perspective on business process management (“BPM 2.0 and beyond”).
From a market perspective, the evolution of BPM in the context of Enterprise SOA requires:
- Comprehensive support for model-driven process execution for all process dimensions (whether they are human- or system-centric, established supply chain procedure or an agile business practice, business or IT driven)
- Standardized business content on all levels of process abstraction and for multiple personas in a company,
- Advanced process management tools from Enterprise Modeling (conceptual planning of business, IT and information architecture) to process governance and implementation
- Support of business process analytics comprising business process monitoring (single instance), simulation and optimization capabilities as well as business activity monitoring (business process and event driven on multiple process instances, end-to-end).
When discussing capabilities in SAP NetWeaver that support modeling, managing, analysis, execution, deployment of business processes, you can get an interesting list of available capabilities. For an overview of all options, see the blog Workflow in SAP NetWeaver. If you are interested in listening to a presentation about our workflow and BPM capabilities, please check out the e-learning material New e-learning material for SAP Business Workflow and Business Process Management.
We have a lot of exciting development happening in the BPM space that was discussed in the keynote at TechEd. My colleague Thomas Volmering will soon publish a blog on our new BPM development codename “Galaxy”.
In this blog we want to focus specifically on how to consume the services developed in previous blogs in the context of a business process.
The capability we use to consume the service and possible user interface into a process depends on the context of the business process. Will this process be audited for SOX compliance, how often will the process run, is this a composite process that is filling a gap, is it part of a core ERP process that could execute thousands of times a day? Based on these answer to these questions, we can determine how best to build the business process.
In our example we will assume our business process is critical, but has no SOX requirements . We have the requirement that the process could change often, and we want a simple build where we could quickly change the process definition. Additionally, we would like a business user involved in the process design, since the service and UI have been created, we want to use a business process expert so we can enable our hard-core developers to focus on service creation and implementation.
Given this information, we can use Guided Procedures to build a simple process that will consume our service in the context of a business process and this process can be designed by a process expert. For more information on specifics of when to use guided procedures and examples business scenarios, see our usage guide for Guided Procedures.
Franklin told me to be sure and ‘get to a demo’ in this blog and not to ramble on too long about all the options. In our example we are using Guided Procedures for the process layer. However, you should be aware that we could also use SAP NetWeaver Process Integration, or, if we have user interfaces for the service, we could use SAP Business Workflow. For our specific example, let us walk step-by-step on what was done to consume the service in a Guided Procedure.
In the Guided Procedure we create a callable object.
If this is a web service with a UI, we would select a user interface callable object such as java web dynpro or Visual Composer. In this specific example, we have a service that will create a business partner in an ERP system. Let us assume we do not need a UI for this service. In this case we create a callable object of type “Web Service”.
We have the option to directly provide the WSDL. This works as long as there are no specific security settings required for the WSDL. Assuming we want to use single-sign on, https, or other security settings, we will use “Logical Destination”. This will provide us a list of services where other attributes such as security and updated end point information are provided.
In our case we select the logical destination that has one service for us to call, Z_CREATE_BUSINESS_PARTNER. We select the service, operation, and we can see the input/output parameters of the service.
That’s it. We then test the service, providing some test data, and we have a new business partner created in our ERP system.
Of course, at this point we only have one step in our business process, but I want you to see how easy it is to use the services once they have been created. Putting in a service in a business process is a technical concern. At the end of the day, what matters to the business is how I can model the business in a way that has meaning to both the business and technical teams, monitoring the process, enforce service level agreements, and really know how this process is enabling me to meet key performance indicators. I also need the ability to take the business process and transform it quickly as my specific business needs change.
To learn more about how we plan to evolve our new Galaxy development into a tool that includes system-centric, human-centric, model to code with process collaboration and meaningful views of the process for both the business and technical stake holders, look for Thomas Volmering’s blog then I will publish more as a follow-up.