Cloud Computing is quickly becoming one of the most significant technology of our times. It started quietly from several seeding technologies such as grid computing, virtualization, SalesForce.com innovative subscription-based business model or Amazon’s effort to scale their e-commerce platform. More recently, big software vendors have expressed interest in Cloud Computing that can be defined as:
“An emerging computing paradigm where data and services reside in massively scalable data centers and can be ubiquitously accessed from any connected devices over the internet”
Personally, I find Cloud Computing exciting because it will spur a huge amount of innovation partly because it offers a pay-per-use infrastructure that lowers the cost and risk of innovating, but mainly because it provides an infrastructure that can be used to construct Information Systems shared by different parties that need to collaborate to achieve a common goal, i.e multi-enterprise information systems.
This article focuses on the architecture of Multi-Enterprise Information Systems in a Cloud Computing era. The first part provides a quick introduction to Cloud Computing and the second part focuses on the architecture of multi-enterprise information systems (MEIS) in the Cloud.
An Introduction to Cloud Computing
In many respect, Cloud Computing is about making usually “painful” problems someone else’s problems:
- Capital expenditure and risk
- Scaling up or down based on user demand and workload
- Managing Service Level Agreements
- Managing Problems and Incident
- Being able to upgrade seamlessly to new versions of a software, especially for compliance reasons
- Securing data, processes and infrastructures
- Supporting redundant data center for disaster recovery purposes
- Efficiently managing Infrastructure obsolescence
- …
We can distinguish three types of Cloud Computing paradigms that build on each other.
- Infrastructure-as-a-Service (IaaS)
- Platform-as-a-Service (PaaS)
- Software-as-a-Service (SaaS)
IaaS is best represented by Amazon Web Services (AWS). At the core, Amazon provides 3 basics services: Storage (S3), Computing (EC2) and Queues (SQS). The key value proposition of an Infrastructure-as-a-Service is “Elasticity”, i.e. the ability to provision and deprovision infrastructure elements (storage, servers…) based on usage at a given point in time. For instance, Amazon charges a server by the hour and storage by the Gb/month.
PaaS references a series of tools that are built generally on top of an IaaS and benefits from its elasticity, robustness, security while requiring low capital expenditures. The goal of a PaaS is to enable developers create information systems hosted in the Cloud. Modern PaaS should be able to take advantage of services available in the Cloud and their presentation layer should integrate well with Web and mashup technologies.
BPM-as-a-Service is, for instance, a particular type of PaaS. Today, most PaaS are Data-Centric rather than Process-Centric. They typically let you define data models and the different forms and views that are necessary to work with them. Business logic is often scripted within actions, following an MVC pattern. Data-centric PaaS could make it difficult to build systems that coordinate the activities between business partners.
One of the core innovations behind PaaS is the emergence of a Dev 2.0 paradigm with the utilization of Web 2.0 technologies for developer tools, agile methodologies and massive use of domain specific languages (DSL) rather than multi-purpose programming languages. Dev 2.0 makes developers a lot more productive and enables non-developers to participate in the definition and validation of key elements of the business logic, such as a business process, a business rule or a form definition.
Another core innovation common to many PaaS is the ability to transparently expose the information system via a presentation layer or as a set of services which can be composed in new solutions, Cloud-based or not.
SaaS was pioneered by SalesForce.com which showed that it was actually possible, cost effective and secure to consume “Software-as-a-Service”. They demonstrated the power of this paradigm and created the whole Cloud Computing ecosystem in its wake.
Today, Cloud Computing is disruptive in many respects:
- From a financial perspective, Cloud Computing mutualizes a lot of difficult problems and pushes all the risks on the people that own the assets. Enterprises become “tenants” which rent a particular set of assets, based on their usage. Which CFO would not be pleased to transform IT capex into opex, all the more since an average of 50% of the softwares bought are never actually used?
- From a development perspective, Cloud Computing combined with Web 2.0 enables anyone that owns some business logic to participate in the development or QA processes. Changes can potentially be rolled out in minutes or hours, instead of weeks or months.
- From a work activity perspective, Cloud Computing enables the enterprise to involve people regardless of organization boundaries and empower them with the necessary knowledge to perform their tasks.
Multi-Enterprise Information Systems
The goal of a MEIS is to quickly enact a partnership, be it for improving visibility, managing exceptions, facilitating electronic data exchanges, assisting with compliance or accelerating joint-ventures or mergers.
Up until today, multi-enterprise information systems have often been implemented using a portal hosted by one of the parties collaborating on particular activities, be it, for instance, an OEM portal for suppliers, or a distributor portal for retailers.
This approach has lead to significant inefficiencies, risks and inflexibilities as one of the parties is bearing all the costs of building, maintaining and operating the portal. The business processes are often as simple as they can, to accommodate the common denominator of all parties. Last but not least, portals have proven difficult to integrate with the party systems and processes as they do not necessarily expose services associated to their presentation layer.
Today, Cloud Computing makes it possible to deliver Multi-Enterprise Information Systems where each party can contribute to the development of the system, in essence mutualizing the development costs while offering superior integration capabilities with any party’s legacy systems and web based intranets applications.
Fig 1. MEIS Technical Architecture
Figure 1 represents the elements of a Multi-Enterprise Information System built on a Platform-as-a-Service foundation. They include:
- A flexible Presentation Layer
- Advanced Dev 2.0 tools that can be used by developers and non-developers alike
- Business Activity Monitoring and reporting tools
- A world class infrastructure which is hosting the PaaS engine
- A Single Sign On service
- A Service Registry
- Connectors to SaaS providers such as SalesForce.com, Dun&Bradstreet, FedEx…
- Integration with legacy systems
The presentation layer needs to be flexible enough to support performing user tasks in different technologies and across a wide range of devices (browsers, mobile, RFID…).
The development tools must be somewhat technology neutral, standards based, intuitive and support rapid implementation, QA and deployment processes.
Business Activity Monitoring and Reporting must be easily customizable to the needs of each party.
Ideally, the PaaS on which MEISs are built is hosted on a world class IaaS which offers elasticity, robustness, reliability and security.
Organizations and roles must be easy to administer and possibly rely on a Single Sign On infrastructure. Each party must be able to manage its own users without the assistance of other parties.
Connectors to popular Services and Solutions are an essential element to develop high value MEISs, be it for assembling logistics or markets information for instance. These connectors shall provide a technology agnostic access to these services, using any combination of web based technology (SOAP, ReST, ftp, http, etc) and format (EDI, XML, etc).
Human workflows must integrate seamlessly into the MEIS. In the context of MEIS process construction is very iterative, and process will likely evolve from human centric to partly automated: that evolution must be made as easy as possible.
Last but not least, the platform must ensure an efficient integration with each partner’s legacy systems. In particular this means that the platform must support public processes where the collaboration occurs and private processes where the integration occurs.
The Logical architecture of a Process-Centric PaaS is represented Figure 2. Many PaaS are too Data-Centric and do not offer the ability to model and execute processes. This type of business logic must be coded tediously with an MVC framework making it hard to change, monitor and report on.
Using a process-centric PaaS is critical to Multi-Enterprise Information Systems because they help these enterprises perform work collaboratively and synchronize their activities. Today, this synchronization is often done via email or faxes and lead to errors and inefficiencies. For instance in the Aerospace industry, one of the key multi-enterprise processes is the shipping and receiving of parts. As these parts are shipped and received, both the supplier and the buyer must measure the key properties of the part (dimensions,…) and then compare their results. There can be measurement errors, genuine discrepancies,… which all lead to exception which need to be managed and can possibly be audited in the future. This illustrates a critical need for cross-enterprise traceability, common with other industries such as chemicals or pharmaceuticals for instance.
Fig 2. Logical Architecture of a Process-Centric PaaS
Conclusion
It is common that in a business community (for instance a supply chain, or an industry), no single business partner has the ability (nor the desire) to provide IT resources for the consumption of the entire community. Cloud Computing combined with Process-Centric Platforms-as-a-Service offers a unique opportunity to develop a new class of Enterprise Systems: the Multi-Enterprise Information Systems.
While becoming steadily a paramount viable choice, Software as a Service has lead the way to a variety of -as a Service offerings accessible through the Web: from infrastructure to business information and partner management. "Cloud computing" takes its entire dimension when SaaS is also read as "Services-as-a-Software". Multi-Enterprise Information Systems is about making these services useful and valuable to any business, big or small.
About the Author
Matthieu Hug is CEO of RunMyProcess.com a Process-Centric PaaS provider. He is a graduate of SupElec and earned a M.Sc. at Georgia Tech.