Blog

How Apprenda SaaS Enables Existing Applications

By Atos Apprenda Support

Saas Enablement Clouds

Software as a Service (SaaS) is complex, and its very nature requires an application to be built with functionality that is outside the business domain. From a software-architecture perspective, the business logic must be separated from the operational and production aspects of the system; this is where Apprenda shines.

The Apprenda Platform as a Service (PaaS) provides the building blocks for rapidly moving greenfield and brownfield applications into production. This is due to the fact that Apprenda manages the non-domain parts of SaaS while simultaneously providing an application with access to important system-specific details to successfully complete its operations.

Apprenda’s PaaS allows any application to acquire scalability, reliability, user management, role management, entitlements, product plans, and multi-tenancy aspects that all SaaS applications have in common. With the understanding that we have a foundation for non-business domain aspects in our PaaS, let’s take a look at an example. I’ll use the scenario one of our customers presented to us before their applications were SaaS enabled.

This existing application was multi-tier with an authenticated desktop client (not a browser), server side business domain code and a back-end relational database. In addition, the product relied on other domain-specific services for which this team was not responsible, but their application had resource access to it and that service also housed anonymous information from unauthenticated clients of the system. Our customer had just a few tenants using this older product and research indicated that they could easily acquire 10 times as many customers if their software and systems could support it.

The approach to SaaS enablement was to first make the application cloud ready. To do this, we took a look at the existing architecture and evaluated the current pain points. We then identified ideal areas for separation into cloud services and communication channels. Armed with that information, we redesigned the architecture to take advantage of the PaaS, including access to asynchronous messaging and the distributed cache. Once we understood and mapped out the architecture, we stood up the PaaS and extended it with the operational requirements of the enterprise. Meanwhile, the developers set out to clean up the code so that it had no static content and was absent of unique connection strings or configuration data, ensuring that all server specific references were cleaned up.

At this point you are probably thinking, “Sure, you’ve redesigned for operational consistency, but what about multi-tenancy and all those SaaS features and the scalability and reliability mentioned previously? When do you bake those into the product?” That is the beauty of the Apprenda PaaS, and its unique ability to SaaS enable: you don’t bake it in. The next step for the developers was to leverage the Apprenda APIs to get the SaaS capabilities from the platform. Here is some pseudo code as an example of how the abstraction works:

User user = Context.getCurrentUser();
if (user.hasPermsission(“toDoBizActionA”)) {
doBizActionA();
}

This abstraction works for a variety of scopes and purposes. Meanwhile, the product team was deciding how to slice and dice the plans and features. They then shared the results, which became a part of a configuration file and a bit more code was written to utilize the functionality. At this point, the product team had solved the problem and they began beta testing with customers.

During that time, and because of the rapid success, the product and operations teams together decided the tenant onboarding process was heavyweight and a very manual process. The Apprenda platform offers extensions (hook points) into its processes and this was the simplest way to streamline tenant onboarding.

Our customer now has a solid SaaS application, which their product team can update as business rules change. Their tenant onboarding is simplified, alleviating bottlenecks for account managers and allowing existing customers to use the same UI/UX that they’ve always used.

If you’ve got a legacy application for which you’d like to reap the benefits of SaaS enablement or your enterprise would like to speed the time to market of your next greenfield project, contact us. PaaS is the foundation of your next great software as a service.

Click here for more information on SaaS

Atos Apprenda Support