Posts Tagged 'EIM'

SOA is not enough: we need a Business Process Execution Platform

SOA and BPM aim to break the silos built by applications in order to allow the seamless execution of Business Processes. I covered this theme in some previous posts.

Unfortunately, SOA and BPM alone are not enough for this aim. Let’s take a very simple example to demonstrate this statement. In next picture we can see an end-to-end process that creates a new customer, X, calling a service in one of its first steps. After some other steps, the same process call another service in order to bill the customer.

 

a service can fail for data replication issues
a service can fail for data replication issues

The second service call can succeed or fail depending on the fact that the new customer record has already been replicated in the billing application database.

This happens because SOA allows to design a conceptual model of processes and services but does not cover what happens “under the hood” of applications. SOA is concerned with business logic (orchestrations, business rules) not with data management.

If SOA has boundaries, the principles that are the foundation of SOA don’t.

Which are SOA principles? In my opinion they are four:

  1. “Seamless processes”: end-to-end processes must be executed in a seamless way
  2. “Business shape”: IT must be modelled with the shape of Business, ideally every IT item should have a Business counterpart
  3. “Model Driven”: IT should be designed as much as possible with a model-driven approach; consequently manual software coding should be used only when absolutely necessary in order to diminish development and maintenance costs and enhance business agility.
  4. “Global Assets Reuse”: the reuse of existing assets at enterprise level is another important factor for gaining savings, flexibility and time-to-market

We can try to apply these principals outside the SOA boundaries.

As a first step we can imagine a unique application that covers all the enterprise needs. This ideal, virtual application is a conceptual tool that allows us to forget for a moment the presence of application silos and think at a holistic, enterprise level. Our application implements, by definition, all business processes our company needs. We can name our application a Business Process Execution Platform (BPEP).

Being an ideal application, BPEP must be a multi-tier application. In other words Presentation, Business Logic and Data tiers should be well distinguishable when inspecting the software code.

 

the four tiers of BPEP

the four tiers of BPEP

A fourth tier as been added, it represents the IT Infrastructure tier (hardware and basic software).

The second tier is the Business Logic tier, it contains all the well known solutions for SOA, BPM and Event-Driven Architecture (EDA). There are no doubts (I hope) regarding the possibility to apply our four SOA Principles to this tier. Anyway I will cover all four tiers:

v     Interaction Tier represent the solutions used by our BPEP application to interact with users (both internal and external) and with external applications (B2B). Here is some example of Four Principles application

1.      “Seamless processes”: Users should be able to execute every task remaining in the same presentation environment. Only a sign-on required. No more than one entry of every data.

2.      “Business shape”: every interaction is business meaningful and represents a use-case for a business analysts.

3.      “Model Driven”: the navigation among presentation forms / web services must be well modelled and configured at design time.

4.      “Global Assets Reuse”: only one presentation form / web service should be used at enterprise level in order to execute a business function. For example a single presentation component (i. e. mash-up), possibly offering different user experiences, should be used for a customer data entry, including formal checks. The same glossary must be used in all user interactions in order to guarantee homogeneity in naming conventions.

v     Business Logic Tier is the SOA/BPM kingdom

1.      “Seamless processes”: end-to-end processes running on BPM engines can cross silos using SOA services exposed by applications.

2.      “Business shape”: processes, events and services are both business and technical assets.

3.      “Model Driven”: use of graphical languages like BPEL and of Rules Engines.

4.      “Global Assets Reuse”: SOA services are reusable, sub-processes are SOA services (that obviously can be reused).

v     Data Tier represent the tier in which Data are managed. Data are information assets crucial for enabling Business decisions. This tier represents what Gartner calls Enterprise Information Management (EIM):

1.      “Seamless processes”: the same information should be provided to all qualified users, regardless the application or channel they are using. There must be a “single version of the truth”.

2.      “Business shape”: Business is concerned with Information Assets (Master Data) not with physical RDBMS columns. An enterprise Common Data Model, including a Glossary, should be defined and managed in order to maintain a common understanding of Master Data. Every business rule (i.e. access control, consistency)  must  be defined on Master Data and then mapped to physical data. However real-time data freshness is not a must for all applications: a right-time approach is realistic and less expensive,

3.      “Model Driven”: the Common Data Model (CDM) must be formally represented using E-R or Class Diagrams. Data replications among different RDBMS must be configured using graphical tools. Data transformations applied on replication data flows should use the CDM as reference for the semantic reconciliation.

4.      “Global Assets Reuse”: Master Data are global assets that can be exposed as Data Services in a SOA environment. The concept of Data Service brings to the necessity of a physical or logical consolidation of data sources. This is the battle filed for technologies like master Data Management, ETL, Data Federation,

v     Infrastructure Tier represent hardware and basic software that enable application execution:

1.      “Seamless processes”: applications should acquire or release system resources seamlessly, depending on real-time business needs. Applications and resources must be decoupled in order to achieve flexibility.

2.      “Business shape”: the IT resources must be mapped to “Business Services” (ITIL definition), In this way Business priorities can be used to manage data centres.

3.      “Model Driven”: the mapping business service-enabling resources should be modelled and configured using a CMDB

4.      “Global Assets Reuse”: IT resources should be global shared assets. The enabling technologies are: server virtualization / partitioning, grid or cloud computing,

I hope I could demonstrate that SOA principles are more general than SOA itself.

SOA is not dead at all but it does evolve, it is like a river that flows up into a more general discipline. I would call this discipline BPEP, but any suggestion regarding a more brilliant term is well accepted.

Advertisements