About SaaS integration

March 10th, 2010 Frank Michael Kraft No comments

I found an interesting article about SaaS integration: The new, new thing – Next-Gen SaaS Integration.

It talks about SOA based integration of SaaS solutions like Salesforce and Netsuite with an on-premise ERP system for example. The scenario mentioned is completed presales, as I understand it, in Salesforce that would be posted as sales order to an ERP system, requiring additional user steps such as order configuration. This is said to “quickly grow beyond the capabilities of typical integration products.”

I earlier wrote about my practical experiences in SaaS integration: My Life in the Cloud: Going Azure

However this is still a simple scenario. We might assume that order cancellation is not done in the presales system (Salesforce), but in the ERP system, once the order has been created there. I am mentioning this, because as of my experience the “Creation” service for Business Objects is the easiest one and the “Cancellation” service is the most challenging one. Why?

In the creation case, there is no already existing order and delivery business process running. So it is always safe to create a new order – from the perspective of the business process. Of course availability check and credit check play a role from the business perspective. The whole process is fresh and new. In the cancellation case the business process looks a little bit different. It depends on the status of the process as a whole inasmuch it still can be cancelled or not. For example the order may already be in execution – like in production or in delivery – or even delivered. Then it is not so easy to cancel such an order, as you can imagine. It depends on the status of the business process, if it is possible to cancel or not.

Now, if the sales order is in one SaaS system and the execution order in another, how do they interact? They need to exchange the business process status. They need to allow or disallow certain operations depending on the business process progress. There needs to be a resolution in the case of conflicting status.

This question cannot be solved by any intermediate integration tool alone. This may be an inconvenient truth, but it is true.

So yes, SOA helps – because it is necessary to offer the needed service operations to exchange the messages that are necessary. But the key to the solution is the choreography. The choreography defines the allowed messages – and therefore the allowed actions on behalf of each participant – in our case two SaaS solutions. If the choreography is built following the principles of loose coupling, then – yes – the integration can be made.

BPMN 2.0 Choreography modeling certainly can help to design the necessary choreography model. This influences which service operations would be offered by each side and at which point in time which message is or is not sent and which activities are allowed on each side of the business process. I intend to teach how to do this in more detail in Webinars and Seminars in the future.

  • Share/Bookmark
Categories: Uncategorized Tags:

Full Cycle Coaching in Choreography Modeling

I want to shortly explain the context of my approach to Business Process and Choreography Modeling Coaching. My guiding philosophy is a full cycle coaching approach. That means, that not only the creation of choreography models is the goal, but the role of them within the context of the preceding and succeeding steps. I intend to explain this in more detail in Webinars and Seminars in the future.

Model Business Process

First of all the Business Process itself is modeled. The focus of this activity is to identify the steps that need to be performed to reach the goal and their dependency. This is done irrespective of the participants, which are not completely clear at this point in time.

Break into Participants

This is a design decision. Often Participants are companies of the business world. Still it is a design decision how fine or coarse granular they are designed and which part of the process is executed in which participant. For example it is possible to define different departments within a company as one or many participants.

Model Choreography

Now the interaction between participants can be modeled by means of the choreography model. This is a top-down approach. Therefore it defines the frame of subsequent detailed process modeling within the participants.

Model Public Processes / Services of Participants

As a next step the public processes and services of the participants can be modeled. It is decisive to model which services which participant exposes and which constraints exist between the service operations (e.g. an order needs to be confirmed, before it can be delivered).

If a complete system is designed from scratch, the public process models and the services are designed as To-Be processes and services. But in most instances the participants will at least in part already exist. Therefore As-Is models will be created and must be aligned with the To-Be model. This is the most challenging part of all. Because if the public process of a participant cannot be freely designed, because the cost to change it is too high, then the choreography must be changed, which in turn means, that the other participant may need to change. This is the most challenging negotiation in the design process.

Derive Business Objects

Before an implementation can start, Business Objects, which implement the behavior of the participants, need to be derived. The behavior of the Business Objects needs to be made consistent with the public behavior of the participant.

In the end the public behavior of the participant will be an abstract process, while the business objects will be concrete. This will also be very clear, when it is time to model correlation rules – i.e. which message instance is processed by which process instance. At this point in time, the most natural process instance will be the business object instance. Remember: The public process is only an abstract process – therefore it does not have instances.

Model Common Monitoring Process

Now the details have been modeled and we want to re-aggregate the execution of the processes into a common process view on instance level. The Monitoring Process View is needed as a re-simplification of the already modeled details. In the optimal case the monitoring process is equal to the original process model which stood at the beginning. Most probably there will be deviations for good reasons. This of course is also a good exercise to re-confirm the original requirements and justify the deviations from it.

  • Share/Bookmark

A little bit of fun: BPMN modeling in Second Life

February 22nd, 2010 Frank Michael Kraft No comments

Today I want to speak about a small pet project that is more fun than serious. I was thinking about future collaboration patterns and to try to make business process modeling more attractive instead of thinking about modeling tool number 101.

That’s when I thought, what if Business Process Modeling could be made more real by means of virtual reality. In know – Second Life is not the place, where one would meet too many Business Process Modelers. But – there are businesses to be fair. Even though the hype is gone, it’ still there and – a place where I could try the idea of more tangible Business Process Modeling in a virtual reality.

Viola.

What, if a group of avatars would meet and collaboratively move around and build the process? Discuss about it, while they watch each other? They could simulate the process and adapt it, if necessary.

Ok – maybe the process is more like the 3D version of a paper or screen type of pattern. So why not try one or the other pattern? Like walk though the process?

Maybe completely new patterns of representing models emerge over time. Maybe it is also an idea to sit at a table and use activities like lego bricks.

Maybe even if 3D is exploited in a better way, sub processes can be displayed together with the main process. Or the whole process is like a big house with many rooms.

Interestingly enough in the last BPM 09 conference in Ulm there was a scientific discussion about tangible process modeling. There was a research project where Activities were made tangible by means of plastic bricks and people moved them around on the table. In the real world I mean. They mentioned the next challenge was to digitalize the result in a more effective way. Well – maybe virtual reality modeling is the solution to this problem. In some future.

So – that’s my fun project.

  • Share/Bookmark
Categories: BPMN in Research Tags: