Multi-tenant Distributed Process Environment

Default Blog Top Image
by Ramesh Loganathan Posted on March 03, 2011
Please Note: OpenEdge Business Process Management (BPM) has been retired. For information on OpenEdge, visit our Progress OpenEdge Application Development page.

As part of the Internals of a Middleware Systems course (one of the two courses I teach at IIIT-Hyderabad), I wanted to dabble in multi-tenant service oriented architecture (SOA) as a course project. About two months back when I first thought of this as the project, I assumed it was going to be an academic exercise where the class would build some interesting multi-tenant SOA platform (building on Camel, CXF on JMS, with a home-grown approach to partitioning the tenant domains for same set of services & processes (camel routes) available in the environment). But as I started getting more into it, I began to realize that there is probably more to it than an academic angle!

We actually started looking at business processes as being a more integral part of an application infrastructure, and not necessarily just part of the integration layer. Our thought process even brought us above and beyond our recently introduced OpenEdge BPM solution that enables our Application Partners to have key parts of their business logic defined as BPM processes, thereby allowing easier customizations for unique business flows and requirements. (Many years back had proposed embedded business processes (in Java applications) as a theoretical possibility in application architectures. At that time didn't realise there will actually be a simple platforms that brings both BPM & application logic together as well as our OE-BPM now does). With BPM and application logic now part of an integrated platform, it is only question of time before this architecture extends to a more distributed deployments with application logic composed as distributed services that is then orchestrated in the BPM layer to enable first level business capabilities and flows. Thus bringing in SOA also into the mix. And the moment this solution goes on the cloud in a SaaS model, the whole platform- Application logic, SOA & BPM- will now need to be multi-tenant capable.

Most of multi-tenant SOA seemed common sense. Still, when I was trying to find some academic basis, I came across this comprehensive overview in an IEEE article, Multi-tenant SOA Middleware for Cloud Computing. This article summarizes the various aspects of multi-tenancies - from the well known models for database centric solutions to enabling multi-tenancies (one DB per tenant, one schema per tenant or the more advanced tenants across multiple schema's (each shared)), to the more complex problem of actual application multi-tenancy. The application multi-tenancy also had a sound approach presented in this paper - Architecture Strategies for Catching the Long Tail - where they present a few levels, from the basic custom instance per tenant, to the next level where it is still one instance per tenant but the application is architected for easy configuration. This paper further presents the next level where there is a shared instance that can service multiple tenants, to the most advanced level that it is a shared instance across tenants that can also be clustered & made highly-available. All great stuff. But what does this mean for SOA and BPM environments?

The more fundamental question that begs to be answered is what is the play for SOA in the cloud? Is there a SaaS play at all involving SOA? In the past few years that I've been dabbling in cloud  computing and talking about cloud environments at seminars here in India,  I never really thought SOA had a major angle. But surely in today's enterprise IT landscape, any enterprise integration solution will need to also access solutions in the cloud either by running a SaaS platform, custom built on a PaaS platform, or in a cloud-based virtual infrastructure platform. As SOA adoption matures, the other aspect that is rapidly emerging is a new class of business applications that use business process management (BPM) and service abstractions as a more integral part of solutions. All the simplicity, rapid development, composability and maintainability value that SOA offered for enterprise integration (in terms of atomic coarse grained business functions and processes that are composed off of these services, and that are easy to define and modify), now makes sense even for individual applications. Who would say NO to applications that are easy to build and maintain?

Given this, the use cases emerging for BPM solutions are now very different. And once BPM and SOA get into the application architecture, the need for (and value from) the cloud and multi-tenancy is immediate. We've seen the SaaS model get serious traction from ISV's because it delivers flexibility as well as a low-cost & ease of ownership. Once we go the full hog, then why just business processes? The applications can also have first level business services (aka SOA services) that can be composed into next level business processes and business workflows. A full-fledged SOA platform now forming the basis for applications.

So, in order to multi-tenant enable these BPM + SOA solutions, what are the challenges? ...Stay tuned.


Ramesh Loganathan
View all posts from Ramesh Loganathan on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.
More from the author

Related Tags

Related Articles

The Key Benefits of CI/CD - Continuous Integration and Delivery
Learn about the ways Progress Professional Services deploys CI/CD to help OpenEdge customers and how they can help your organization.
Using OpenTelemetry Metrics Support in OpenEdge on Azure
The OpenEdge 12.6 release introduced support for OpenTelemetry Metrics with OpenEdge Command Center 1.2.
A Conversation with Progress OpenEdge’s Top Managed Database Administration Expert: Insights into the MDBA Service
We get the candid take on the OpenEdge Managed Database Administration (MDBA) Service from Roy Ellis, Director of the MDBA team. Discover what he thinks about our customers and what type of company he believes is the best candidate for the managed DBA service.
Prefooter Dots
Subscribe Icon

Latest Stories in Your Inbox

Subscribe to get all the news, info and tutorials you need to build better business apps and sites

Loading animation