Archive

Posts Tagged ‘Business Process Execution Language’

ERP / BPM / SOA

January 22nd, 2010 Frank Michael Kraft No comments

I was recently asked if I like this idea: Handle everything, that is coded in an ERP systems today as Process Patterns and instead design it as process models, that can be adapted to the requirements of the customer. The context of the discussion was if the combination of ERP/BPM/SOA would not have tremendous potential.

I aswered, that I have experience with that and that I agree that there is a tremendous potential with that. That really was an interesting discussion, because I did not hear such analysis before in the discussions in the public marketplace. I think this is the right direction to think.

I had already governed the design of the process of about 200 or more business objects, creating about 2.000 models including roughly about 5.000 web service operations. I didn’t use BPMN for that, because it was not flexible enough for this purpose, neither any of the existing languages. I used an own Domain Specific Language (DSL) for Modeling the behavior of those Business Objects.

My summary of that exercise is, that I agree to the original question. Only by modeling the process of Business Objects which are part of the ERP system, the ERP system’s web services will as a result have the right granularity. What is the right granularity for web services? Reusability. If web services are reusable, then they pay off most. In order for them to be reusable, they need to fulfil certain conditions. A web service operation should only do one thing at a time., i.e. not trigger an endless chain of activities in the system. It should have clearly defined preconditions. The effects and results of the web service operations must be clearly defined in terms, that can also be preconditions to other web service operations. That are the most important criteria in my view.

A system must be designed for this philosophy from the beginning. I strongly believe that adding web services to an existing system falls short of this goal. Even if it has some value, it would not use the full potential.

In general what I miss in the public standards is a language to describe the behavior of web services. Yes, BPMN 2.0 goes into that direction. But BPMN 2.0 still has to prove that it can fulfil the promise in practice. I think to a degree it can. It will turn out later, if it is possible to simplify the language or if it becomes an inspiration for other approaches (e.g. constraint based instead of workflow based).  And using BPMN 2.0 in itself does not guarantee the success. Additional guidance is necessary, certain quality criteria that each model must fulfil.

However, if the behavior of web service operations of an ERP system is defined, and if the granularity of the web service operations are so, that they are reusable, then the potential is very big. Because it means, that it is possible to attach own processes to that ERP service and even to interweave own processes in-between ERP processes. For example to add an approval before the release of an order under certain conditions, to add an own method of calculating benefits for the payroll and the like.

However as a limitation to the original question I would say, that not all of the processes modeled could be customized or changed arbitrarily. There are certain core processes, that the ERP system offers, that can not be changed without the danger of losing the consistency of the process. Therefore it is clearly necessary to describe which part of the process needs to remain stable and which parts of the process can change or are open for additions and interweaving. This of course must be part of the model.

  • Share/Bookmark

What is new within BPMN 2.0?

November 18th, 2009 Frank Michael Kraft No comments

In my view, BPMN 2.0 is an important milestone in a greater journey with in a trend. The trend is the connecting of models from a business domain with those from system development.

First: What is the purpose of BPMN?

  1. Description of as-is processes within a company and cross companies
  2. Using the models for subsequent system development. The model is the high-level specification.
  3. Execution of the model (for example in Appian Anywhere) – probably translation into another execution language like BPEL.
  4. Model driven development of systems.

If we want to reach and achieve the fourth step, it is clear, that the execution semantics must be clearer as before – unambiguous.

On the one hand it is required to have “soft” models in the description of as-is models and also shall-be models. This will be so in all future. But especially the connecting of business domain models with system models within a holistic model cycle is a new level of effectiveness that we set our hope to.

In my opinion, this hope is not in vain.

Furthermore a complete meta model is needed for model exchange. This is – in my opinion – overdue anyway.

Why do we model at all? We want to utilize and connect flexibility with quality. This is reached by transparency. Only by transparency it is possible to execute the needed quality assurance on this level. If this is connected with model execution or model driven development, this is even better. We have laid the foundations.

This sounds quite enthusiastic. However I am a notorious BPMN critic. Even now more than enough critics comes to my mind. However I am exhilarated what we have reached within the scope of BPMN 2.0. We have made enormous progress in some key areas. I will elaborate on this in further blog posts.

  • Share/Bookmark

Quick BPMN Flexibility Survey result

November 13th, 2009 Frank Michael Kraft No comments

Result of Quick BPMN Flexibility Survey

I must admit, I was a little bit surprised about the result. For me BPMN is not flexible enough and it has too many modeling elements. While this is not the majority opinion, a grave minority has the same opinion.

Some comments:

I think BPMN is great – but we just had to add on a few bits to define value add and non value add activities so that larger maps had more to narrow your focus on areas that need attention

Alan Crean, CEO @ Process Master

I agree that this is necessary to not overload the modeler with too many modeling elements.

Flexibility is a vague term that can mean many things in different situations. I would define flexibility as the ability to make changes over time as needed to respond to changes in the situation. In order to be flexible, there have to be constructs that afford the kinds of changes you will need. For instance, flexibility implies some form of control. A common pattern might be that parts of the process diagram are controlled by different people. There is no consideration in BPMN for specifying who has control over different parts. Instead, there is a built in assumption that the entire diagram is designed and maintained as a whole. That reduces flexibility.

Different people controlling different parts of the process diagram is definitely a very important part of the flexibility requirements I see. There is no concept in BPMN for this. It may well be, that it is not possible to add this concept later, because of the current semantic of BPMN.

I consider BPMN still more as a (high level) programming language for automated processes which provides rather poor support for flexible human processes.

I agree.

Just one examples of too less flexibility: Consider a process where one task can be executed by different roles (e.g. via delegation). In which Lane should I place the task? Should I show it in the “Default”-Lane? Or a copy in any other related Lane? Or even draw it across multiple Lanes?

While I know that Lanes are just a graphical partition of the process and we could easily address the problem via performers (BPMN 2.0), this is not a graphical solution. Many users (and tools too) use Lanes synonymous to performers.

Interesting case.

I guess it depends on the tool you use. We have created a new tool generation which hides the complexity of the BPMN notation against the user by using intelligent algorithms which support a highly efficient modeling process.
Our BETA was anounced on Nov 10. Innovator for Business analysts will be available shortly. C. Bergner.

It is worth trying. However my doubts are that certain limitations in the metamodel can not be overcome by a tool. However a tool can improve.

We feel the technology driven approach of BPMN when it comes to high level process landscape description. This seems to be out of scope at least in the BPMN 1.x standard.BPMN is good for visualizing low level processes that ar candidates for workflow implementations.

I agree.

It’s really interesting to see your opinion. In my opinion BPMN has a workflow modeling background. That’s why it is good for workflow type of processes. However there are a lot more of other processes.

  • Share/Bookmark