The Co>Operating System is the single engine for all processing done by Ab Initio’s technologies. Its capabilities are unrivaled and, because all other Ab Initio technologies are built on top of the Co>Operating System, they inherit all of those capabilities in a consistent manner. That’s what happens when a system is architected from first principles!
Key capabilities of the Co>Operating System include the following:
Click here for more in-depth information on the Co>Operating System.
The Co>Operating System’s architecture takes a simple approach to making business applications scalable. You start by laying out your application graphically. You then place parallelization components at the points of the application that need to scale. When the application runs, the Co>Operating System will take the scalable sections of the application and replicate them across multiple CPUs and multiple servers, as desired. Each of these replications, called a “partition,” will get a subset of the original data to process. The more partitions there are, the more the application scales. The diagram below shows how different parts of a single application might be partitioned to run across different numbers of CPUs:
1. On the Surface
2. What's really Happening
There are, of course, many details to getting scalability right. If a single detail isn’t right, the system doesn’t scale. Ab Initio has sweated all those details so that you don’t have to – details necessary for applications to process tens of billions of records per day, store and access multiple petabytes of data (that’s thousands of terabytes), and process hundreds of thousands of messages per second. That said, to process thousands of messages per second, or gigabytes to terabytes a day, there is no substitute for experienced and sophisticated technical developers. Ab Initio enables these people both to be remarkably productive and to produce systems that truly work.
Large enterprises inevitably have a mixture of servers distributed across a network. Getting these servers to cooperate on behalf of applications is a challenge. That’s where the Co>Operating System comes in. The Co>Operating System can run a single application across a network of servers – each server running a different operating system. The Co>Operating System makes all these systems “play nice” with each other.
For instance, an application can start with components on the mainframe because that’s where the data is, run other components on a farm of Unix boxes because that’s where the compute power is, and end with target components on a Windows server because that is where the report is supposed to end up. The fact that this application spans multiple servers is irrelevant to the developers and the business users – all they care about is the business flow and the business rules. The Co>Operating System knows where the work is supposed to be performed, and does it there.
It’s a real hassle when an application was built to run in batch mode and now the business wants to go to real-time transactions. Or when the business decides that a real-time application needs to process very large nightly workloads, but it can’t, because a real-time architecture can’t make it through millions of transactions in just a few hours. In both cases, the same business logic has to be reimplemented with the other methodology, and then there are two different and incompatible underlying technologies. Twice the development work, twice the maintenance.
Not so with the Co>Operating System. With the Co>Operating System, the business logic is implemented just once. And then, depending on what the logic is connected to, the application is batch, real-time, or web service-enabled. The same logic can be reused in all those modes, generally with no changes. All that is required to build applications that can span these different architectures is Ab Initio’s Continuous>Flows, the real-time processing facility of the Co>Operating System.
Ab Initio’s real-time capabilities include:
Learn more about Ab Initio’s real-time processing capabilities and Continuous>Flows.