Skip to Content

BPM Summits and ACM ( Adaptive Case Management )

There is tremendous undercurrent that I see in the BPM area. Recently there were many summits including the one from Gartner on Business Process Management.

It’s amazing how old BPM actually is and there are some experts in this area for more than 20 years, doing implementation and research. BPMN standards are just crystallization of the best of ideas that have come out over the past few decades in this area.

Well one the topics that has been doing circles in BPM in these summits is ACM( Adaptive Case Management ). ACM is a different approach to BPM which basically states that process and people needn’t be tied down at design time, there are many cases where processes and people can be “adaptively” combined to manage a given “case”. It’s an area worth exploring in the context of SAP BPM ( More on that later).

 

Extensible Domain Models for BPM, some background.

BPM heavily relies on domain models not only for persistence but also for several UI and business logic. An analogy would that if BPM is the nervous system in the body than Process Context Data ( please refer to this article for further explanation ) is the signal and the domain model represents the organ that gets affected resulting in the desired action and effect.

To begin this extensible pattern you would need to know SAP JPA 1.0. Which is an implementation of Java JPA 1.0 specification. In a nutshell it’s an object relation manager which can persist an object graph in memory to a persistence ( database in this case ) in the backend.

The interesting thing is that it even understands how to persist concepts like inheritance and contained objects into database. This also allows to certain extent runtime polymorphism from the database persistence.

 

image
  An Extensible Domain model for Industry Type Banking.

The left part in the blue rectangle remains as unmodified for most industry type. This part will hold attributes which you deem suitable that could be inherited by specific industry type ( in this case Banking ). The TaskDef holds the whole domain model together and acts as a central entity. It also reduces much of duplication effort on the UI side ( more on that in next blog ). The right side in the orange rectangle is the inherited industry specific domain models.

With this approach you can keep changing the right side of the domain model and develop many BPM solutions leveraging the power of JPA.

Inheritance is very easy in JPA, following code snippet shows how it can be done very easily.

@Entity(name = “ContextData”)
@Table(name = “Z_PCDATA”)
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = “DOMAINTYPE”, discriminatorType = DiscriminatorType.STRING)
public abstract class ContextData { …. }

 

Down below BankContext inherits ContextData with all its attributes, the DiscriminatorValue(“BANK”) below tells to which domain this Context belongs to.

 

Entity(name = “BankContext”)

// @Table(name = “Z_BANKPC”)

@DiscriminatorValue(“BANK”)

public class BankContext extends ContextData{ … }

For more in inheritance strategies follow this article.

 

Summary

In summary we can leverage JPA to provide reusability and extensibility in BPM projects. It can also help in standardization of interface for other devices which would be accessing BPM such as tablet and smart phones. 

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

Leave a Reply