Archive

Posts Tagged ‘SOA’

More Adaptive Case Management FAQ

Q: Why is it called “adaptive”, What does that mean?

Adaptive means, that a process is able to be adapted to changed circumstances or unpredicted situation, while it is already running. It is possible to adapt the process to the new situation. In most cases the means to reach a fixed goal are adapted. These means can be: Intermediate goals or tasks, collaboration partners, responsible persons, deadlines, provided information.

Q: Can you mix BPM and ACM together? How would it work?

Yes. Because ACM is more flexible than BPM, ACM would be able to integrate with BPM. ACM would adapt to the process that is defined in BPM. However it is clear as soon as this is done, the ACM process loses something of its adaptability. But if the ACM process is detached again from the BPM process, it hast full adaptability again.

In my opinion it is even possible to integrate ACM with an ERP system, if it is service oriented – i.e. with SOA. For this it is of advantage, that the Service Behavior is modeled in the SOA, which is possible by BPMN 2.0 Choreography Modeling for example.

Q: Is everyone then expected to become a programmer?

Definitely no. The initial user interface of ACM will be as simple as a task list or bullet points. Of course, in the course of process execution more information is added, but this can be like entering data into a form. Programming is definitely not needed.

Q: How does an ACM template compare to a BPM solution?

An ACM template is copied to a running process that can be changed later on. Also an ACM template can be merged with an already running process. Point one may be possible with some BPM systems, although they are not primarily designed for that. But the second point I have never seen with a BPM system and I think it is also not possible because of the BPM model language.

Q: What does it mean to be “goal oriented”? Isn’t all software goal oriented?

No. Goal orientation means, that the goal is to be defined. Also it means, that the goal is defined first or at least very early and that all other steps and means are defined as contributing to the goal.

An ERP system is designed to support reaching goals on different levels. One goal for example is to sell products; another goal is to deliver them. Another goal may be to reach a certain turnover within a planning period. And yes, some functionalities of an ERP system are provided that allow the definition of goals – like turnover. But typically most goals in an ERP system are merely implicit. It is not possible to write down any goal and to plan the steps towards the goal.

In BPM Systems the goal is also implicit: Complete the process. But what if the steps defined in the process are not relevant anymore, because the circumstances have changed? Then the goal is lost. But with an ACM system, the goal is defined from the beginning and all other elements are subordinates of that goal. If they do not contribute to the goal anymore, they just lose their relevance, while other elements may be added.

Q: What is the primary benefit that a case manager gets by using the system?

I have been using my own ACM system for about half a year now. What does it give me? It gives me transparency in my plans. It helps me to reach, define and adapt goals and priorities. I always have a clear work list; I know what do to next. I can access it from everywhere. I can plan and define dependencies, if I need them. I can break the work down into chunks, estimate the effort and set realistic deadlines. I can collect information relevant to reach a goal and attach it to the goal. I can search in past cases, if I need information – or I can search the whole case data base within the blink of an eye. I have charts showing me he progress. I have a clear status of all my work.

Also more advantages of an ACM system will be the ability to define templates, of course to collaborate within projects- to have clear responsibilities. Problematic cases can be nailed down by drill-down analysis and solved. Best Practices can be made available for a greater community.

So in the end the effect will be more work efficiency. Less missed deadlines, less overload and the feeling to have the work under control.

Q: So a case manager can just do anything they want at any time? Is that right? What keeps this from devolving into chaos?

Yes, it is right that the case manager can do anything they want at any time. Without using an ACM system knowledge workers were able to avoid chaos. But an ACM system gives them a tool to make it easier to have a clear status of the work. Of course an ACM system can also be used to produce chaos. That is a risk. But even in this case at least the chaos is transparent and can be refocused again.

But also let us look from another angle. It is also a risk to have no chaos at all. This might a provoking thought for some, but bear with me. For example I have two lists of work. Those goals, that I need to reach in a very short term and a list of things that I always wanted to do in the future. Yes – the short term list is well ordered and planned – otherwise I could not reach my goals. But the future idea collection naturally is somewhat chaotic. And it is good, that it is, because this is part of the creative process. When time comes, I will order that list and make it clear. But then I hopefully will have another list for the farer future that is also chaotic.

So if there is not a little bit of chaos, nothing new happens, nothing is invented, no new customers are won – all is well ordered and doomed to become irrelevant in due time. That is the risk of too much order.

Q: How does analytics enter the picture?

Analytics will be very important for ACM. But the success of it depends on the scope in that ACM will be used. Analytics can already be useful for a single user ACM system. Of course more is possible, if there is a project team using it. If a whole department or a whole company will be using it, better reports are possible. On the other hand, it will still be in the hands of the single user which information to share to the public pool of information and which information is to be kept private. Analytics is one of the great benefits of ACM, and after the basic ACM plumbing is done, it will be time to become creative.

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.

Benefits of Choreography modeling in a SOA

January 14th, 2009 Frank Michael Kraft No comments

[ad]

First, what is a Choreography Model? Spoken in general terms it does model the participants of a message exchange, the messages exchanged (not necessarily the structure of the message), which interactions (message exchanges) are desiged betreen the participants, who is the initiator of an interaction, and which interactions follow on which other interactions.

The benefits of modeling a Choreography are the general benefits of doing a design for anything. It gives transparency. It results in quality, because of clear-cut statements of the boundary conditions, if fosters collaboration by forcing to discuss the message exchange contract. It can be simulated and thereby problems can be found before implementation and the consistency can be checked with other models – especially process models of the participants.

Sending messages at unspecified points in time between participants and hoping, that they will somehow be processed may seem easier in the beginning, but experience shows, that this does not pay back. Error handling is especially difficult in distributed SOA landscapes. Therefore giving the interaction a backbond and skeleton by modeling it in the first place, is key to success.

This model could even be used in the runtime by letting systems validate messages that arrive or are being sent against the model. By this two things happen: (1) The quality of the model is forced to be on the highest level (in contrast to “just a drawing”) and (2) messages sent or received at the wrong time can be identified as contract violations (instead of clumsy debugging of the application coding).