Friday, April 04, 2008

The marriage of BPM and SaaS

From a very basic point of view you might say that with BPM-tools you are programming the application landscape. The current standard programming language for application landscape programming is BPEL.

Of course you want to use BPM to flexibly and rapidly model business processes. So it is a good idea to reshape the application landscape by service enabling or break down the applications in a smart way. The services should map to elementary business functions to be used as sharable building blocks in business process models, SOA...

On the other hand SaaS (Software as a Service) is evolving. Providers offer functionality to be consumed by their clients. Different providers deliver different services. This is a growing market, because it relieves companies from maintaining and supporting their own software solutions. But current SaaS products have a monolithic nature and are commonly delivered by ordinary web-interfaces.

Companies currently have to maintain a complex and cumbersome IT-stack to keep the application landscape - or SOA - running. Many companies try sourcing strategies to get rid of the burden of the lower layers of the stack. But the complexity of expensive service level agreements and procedures creates new burdens and limitations. The world would be a lot easier if companies could support their business processes with functionality fetched and glued from and within "the cloud".

If SaaS providers would offer service interfaces at the business logic tier of their products, the functionality could be addressed by the BPM-tools of consuming organizations. After all, well designed services are stateless, autonomous and sharable; just the perfect characteristics to be delivered as SaaS. Companies could build business processes from services delivered by different SaaS providers. The underlaying process server that executes the BPEL could be a SaaS product as well. And what if the user interface (UI) of the SaaS products would be delivered by UI-services based on WSRP. These UI-services could be consumed by the company's portal - which also could be a SaaS product. Organizations could run their business processes in their own house-style and completely based on SaaS, yet being able to compose their own processes with BPM. Programming the application landscape without any worries about software and the supporting stack underneath it! Wouldn't that be a wonderful world?

Today I attended a seminar about BPM and ESB. The seminar was organized by BEA, the middleware company that is planned to reincarnate into the body of Oracle this afternoon. BEA was talking about ESB, BPM and SOA. But they were also talking - as a middleware company - about getting started with SaaS (Genesis). Very interesting!

3 comments:

Anonymous said...

Hi Jack,

I found your blog recently and really like to read about your experiences, your thoughts and your ideas.

I studied at HPI in Potsdam/Germany, which has a quite strong BPM chair. I wrote my master's thesis recently about a topic similar to the one that you describe and just wanted to post a link to my thesis here in case you are interested.

The topic of the thesis is "Value-Added Service Brokerage -
Description of an Architecture for Brokering and Delivering Value-Added Services
Using Internet and Web as Delivery Platform". It basically describes how value-added services can be modelled and executed that make use of services provided by the company-internal SOA, by partners or SaaS vendors and that are delivered to end-users via a user interface. We used a BPMN dialect for modelling the services and cross-cutting concerns like payments. Kind of academic but still interesting to read.

Thesis: http://www.breest.com/servicebroker/Thesis-Martin_Breest-Value-Added_Service_Brokerage.pdf
Broker:
http://www.breest.com/servicebroker/servicebroker.htm
Vision Paper from Barros/Dumas: http://www.bpm.fit.qut.edu.au/projects/serveco/documents/12-05-WP-WebServiceEcosystems-Barros-Dumas.pdf

Cheers,
Martin

Jack van Hoof said...

Hi Martin,

I really appreciate your contribution. I love it when people share their visionary thoughts on this kind of subjects. I'll dive into it as soon as I can.

Thanks,
Jack

Roeland Loggen said...

Jack,

There are already a number of BPA and BPMS vendors active around SAAS. BEA is actually a bit late...

BPA (Business Process Analysis) combined with SAAS definitely makes sense: why install a complex product (including desktop tooling) to create process models, if you can do it via a browser on a hosted platform?
Everytime I do consulting work for a customer I am struggling with the choice: either to wait 2 - 3 weeks before I get access to a desktop with process modelling (BPA) tools or work from my laptop not able to connect to a netwerk. The result: many consultants work in Visio, Powerpoint, etc. - not very optimal.
A SAAS BPA tool would allow us to quickly model processes, share them easily with other stakeholders and some tools even allow for collaborative modelling (people logging in together, creating process models together at the same time).

For instance see:
Lombardi Blueprint - http://www.lombardisoftware.com/bpm-blueprint-product.php

Appian Anywhere - http://www.appian.com/product/anywhere.jsp

I am actually surprised that IDS-Scheer has not started something like this (but then again, they might like selling licenses better...)

Now for BPMS, e.g. process execution to go SAAS, I think there is still quite some work to do. Sure - simple workflow execution (tasks, inbox) could be done through SAAS.
And some companies might go for SAAS BPA, to export the models through XPDL and then load them up in BPMS to enhance with services and execute as BPEL.

But full blown integration centric BPMS? SOA through the firewall? Not sure if companies are ready for that in Holland....
But sometimes it happens - when an outsourcing company does the hosting: http://www.cordys.com/cordyscms_com/starthrmportal.php

Regards,
Roeland Loggen