Archive

Archive for the ‘Business Process Platform’ Category

My life in the Cloud: Going Azure

January 27th, 2010 Frank Michael Kraft No comments

I wanted to continue the discussion about my goals management that I started in salesforce.com. The problem was that the data structure did not fit my needs so well and that I wanted to implement business functionality – i.e. aggregation of remaining effort, but I did not want to invest too much into learning APEX, the salesforce.com proprietary programming language. I could, but I thought why live with the limitations of the platform, if I could try to build my own cloud platform? Maybe later I come back to salesforce.com, but for now I want to try Microsoft Windows Azure.

To quickly wrap it up: It was a good decision. I have built 9 Business Objects in the meanwhile of which the first one was the most difficult obviously. The others quite naturally follow. These are as of now: Workitem, Sprint, Book, Attachment, Note, Payment, Regular Payment, Statement, Transaction. Furthermore I have added Analytical Objects for the purpose of analyzing the Business Objects. I will explain by and by what they do. I will not explain the programming model and architecture of Microsoft Windows Azure in detail. You can inform yourself in public sources, if you want. The UI is HTML – so it’s not worse than salesforce.com. Plus I have added some diagrams in Microsoft Silverlight.

I was able to quickly implement the business logic, that I wanted to have. The programming language I use is C#, which I like. After implementation you press a button (ok, three, four) and then the application is running live in the cloud. It’s just so easy, lean and clean.

So the first Business Object I implemented is the Workitem. In salesforce.com I called it Goal – I am still a little bit indecisive how to call it. I can say so far that it is different from all other Workitems or Tasks that I happen to know. I asked myself what I need for my daily work. My work is that of a Knowledge Worker. It is in good part unpredictable, but not unrelated. Also it is not unplanned. And it has clear goals and a clear purpose. So for this requirement I tailored this Business Object Workitem and I worked with it for many weeks now. I have worked now with at least 3000 instances of it and I am more happy with it than with any other task or project tool that I used so far. I have my work under control now, notwithstanding the fact that many unpredicted events occurred and adaptations of the plan were either necessary or chosen by me.

And: It is served in the cloud. Obviously this means that I can access it from every computer with a browser, which I regularly do. Recently I was in a shop and wanted to buy a memory extension. I did not remember the model. So I asked, if I could quickly use the computer, logged into my Platform and looked it up. Just as easy. In other instances I just pulled out my iPhone, logged into my Platform – using the standard browser, and edited some workitems. I did not even have to write an iPhone App for this. Although I might in the future.

What did I do with the old workitems/goal instances that I had already created in salesforce.com including attachments and notes? Within two days I migrated them completely into my Azure Workstream Platform. How? Salesforce.com offers web services to read the content. So I pulled out the Web Service Description (WSDL) from my salesforce application – which as we remember were custom objects – into Microsoft Visual Studio, generated WebService Proxies for that, mapped them into my Business Object Structure and then pulled the content over. That’s it. From that point on I as productive in my own Azure Workstream Platform. And I am until today.

I will explain more about the functionality of the Business Objects, that I created, soon.

  • Share/Bookmark

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

A Prediction

August 12th, 2009 Frank Michael Kraft No comments

Usually I leave the predictions to analysts and prophets. That’s because it is so much work to achieve, what they already have predicted – or to find out, that it did not work.

Nevertheless this is a conviction, that has grown over time and a goal to which I can even see the path to the solution already now.

My prediction is, that in the future there will not be Applications on the one side and Business Process Management on the other side. But Business Process Management enabled Applications.

My prediction is, that in the future, there will not be the decision “Should I implement it as an Application or model it in a Business Process Management Suite?” any more. Because with BPM enabled Applications this is the same thing.

Business Objects will be Process Objects and Processes will be Business Objects.

And it will solve many of the discontinuities we have today trying to unify the two worlds.

This is my prediction.

  • Share/Bookmark