Business Application Development: SaaS Extensibility

Business software (or a business application) is any software or set of computer programs used by business users to perform various business functions. These business applications are used to increase productivity, to measure productivity and to perform other business functions accurately. – Wikipedia

Business software is a key part of any organization. From small independent businesses to large multi-national corporations, every single business can, and does, benefit greatly from business-oriented applications.

The ever-growing awareness that business software is a mandatory investment for companies started a big wave of business software as a service (SaaS) solutions, usually with very attractive pricing, that solve specific enterprise problems. Solutions like Slack, for example, provide an immensely valuable business tool for team communications, and while the base service (chat) works wonders by itself, it also provides the option for integrations and extensibility. This allows it to stand out from the competition and make business application development platforms, such as OMNIA, a very valuable asset.

Low-code development platforms exist to facilitate software development, but they have a few specific use cases where the technology shines even brighter. Some of the most common use cases are:

 
  • Prototyping/Experimentation: fast development of basic web app prototypes;
  • Modernizing Legacy Systems/Applications: use legacy data as a source for your applications;
  • SaaS Application Extensibility: integrate third-party applications with pre-existing enterprise systems;
  • Department/Team workflow applications: develop custom workflow applications;
  • Composite Applications: combine pre-existing functions and build an app that fits your specific business needs;
  • Mobile or Web Application Development: easily develop mobile/cross-platform web applications;

 

In this post, we’ll focus on SaaS Application Extensibility and Modernizing Legacy Systems, exploring the Slack example so that we can uncover some of the development possibilities that our platform can not only provide, but facilitate.

The problem

Let’s imagine a company. Company A. 

Company A has around 600 employees and relies entirely on a complete ERP solution for all its HR management workflows. For security reasons, only a handful of managers have direct access to the ERP, and are therefor responsible for all the system data.

Current Workflow

One day, Company A decides to invest in a team communication system (chat), due to high demand from its employees.

After evaluating the cost of developing a chat application from scratch, Company A decided to start using Slack as their main internal communication tool. At first, everything is perfect and all needs are fulfilled, however, sometime after, productivity opportunities will inevitably start to appear:

  • “It would be great if we could display information directly from our ERP”;
  • “What if we could schedule our vacations via Slack?”
  • “I wish I could approve expenses using Slack…”

And the list will go on…

These sort of ideas, although very practical in theory, can pose big development challenges if developed from scratch, and here is where our low-code platform will make the difference.

There are three key aspects that define the scope of this hypothetical project:

  • Employees shouldn’t access the ERP directly;
  • Employees should be able to submit ERP requests via Slack;
  • Requests need to be approved before being integrated into the ERP.

Our solution

With our low-code development platform, Company A has the opportunity to control every aspect of this integration challenge by building a web application that merges functionalities from these two systems.
For this particular case, considering the three key conditions defined previously, a possible solution could be presented in two development steps:
 

ERP Web App

The first step would be to develop a self-service web application fully integrated with the company’s ERP, that will in practice serve as the company’s new ERP interface. This allows all the available functionalities of the ERP to be available in the new web app, with the freedom to develop new business rules on top of it, without allowing its users direct ERP access. In this step, Company A is extending the functionalities of its ERP by using it as a data source for the new web application and applying new business rules (like an approval workflow) on top of it.

With the conclusion of this step, conditions 1 and 3 are met. Employees now have an application that allows them to interact with the company’s ERP, but not before going through the new approval process implemented in the web application.

API Integration

The second step would consist of a simple integration development between the new web application and Slack. By taking advantage of both software’s API, Company A needs only to set the desired commands and allow its employees to use Slack to interact with its ERP data. Thanks to OMNIA’s self-generating API, new business rules are available via Slack as well, opening a door for an immense array of possibilities (more info here).

New Workflow

Summary

Extending third-party software and developing web application from scratch can be a highly complex and labor intensive investment. By taking advantage of a low-code platform such as OMNIA, challenges such as this become, safer,, cheaper, highly customizable and future-proof.

This is only of the many scenarios where a low-code development platform can thrive and provide great benefits for not only current but also future developments. We’ll make sure to cover more common use cases in the near future.

If this scenario seems familiar and you would like to try our development platform, feel free to contact us and claim your 30 day trial period.