background

Automating Business Processes in a Well-Established System

image

Overview

A non-profit government organization turned to us with a request to automate license sales by using cutting-edge technologies. One of the project’s challenges was to automatically synchronize data with the Legacy business process management system that the organization had used for at least 10 years.

Company

The company specializes in license sales and renewals. Licenses are issued at the client’s request after certain data is provided.

In its early stages, the company serviced all license applications by phone or regular mail, using an obsolete system.

The main task of the project was to automate the payment process and the issuance of licenses to platform users. At the same time, the existing business processes had to be integrated with the site for real-time information exchange.

Services Provided

As part of the project development, the client received the following services:

  • Analysis of the existing infrastructure and development of a technology solution for data exchange
  • Application development
  • Application integration development
  • Integration testing with real-time data

The products of the project include:

  • Web portal for licensing
  • Backoffice UI with reports
  • Data exchange integration
  • Infrastructure +CI/CD

Background

The development of new software along with the use of existing enterprise solutions often requires following certain processes that are already automated in the system.

It is necessary to understand exactly how data will be used by the integrated system, and how it will be converted and returned.

In our case, part of the well-established system was already automated. This meant we needed to analyze the system’s operation, including its interface and the user’s interaction with the application. We also had to search for dependent reports.

The Challenge

It was necessary to organize data exchange between the databases of two applications, ensuring two outcomes:

  • Guaranteed data delivery to another side, even when it is offline.
  • Data update on the other side within a few seconds.

These tasks were somewhat complex due to the inability to test real data, as well as a high degree of uncertainty in the analysis of stored data.
The greatest difficulties were caused by two factors:

  • Lack of access to the application code forced us to plan integration based on the analysis of data changes by working with the system, and this led to the fact that…
  • Not all cases and data representations were taken into account, and the integration had to be modified several times.

Considering the need to perform joint testing of two applications, a project-specific infrastructure, including the client’s server software, was created. At the end of the work, a full cycle of the client’s business processes was tested, with active data synchronization of the two systems.

The Gitlab CI/CD system was applied to improve the processes associated with code delivery.

The Solution

When developing a general project solution, the structure of the entire project and how users interact with it must be analyzed. This allows for the proper distribution of features throughout the system, and prevents duplication and/or unsatisfactory user experience.

Integrated Solution

Comprehensive development includes all the activities of planning and creating a solution that allows the integration of all necessary systems, within the framework of achieving project objectives.

Work on such projects is carried out according to the waterfall scheme: The structure and the interface of the project are first determined, followed by development and release.

Identification of Affected Business Processes

An integrated application ensures the execution of the customer’s current business processes and preserves a well-established workflow, while modification of the system leads to changes in the users’ interaction.

The application developed by the Clever team entailed a list of documents and artifacts of an integrated business solution. In particular, the automation of funds acceptance and license issuance took place within the framework of this project.

Once the affected processes were identified, it was necessary to describe them in the clearest manner, in order to prepare the customer and its staff for changes.

The following artifacts were required:

  1. Business Process Map. The map shows how the company worked before the introduction of changes, and how it will work after changes are made, helping to analyze the affected processes and their dependence on the customer and the solution.
  2. Engagement Plan. After determining the direction and the endpoint of transformations, a list of individuals or groups to be involved in the implementation and subsequent operation of the solution must be compiled.
  3. User’s Manuals Update. To ensure that all involved project participants are ready to work, the essence of the changes and role responsibilities must first be described. It is advisable to back up this information with screenshots of the interface and explanations.
  4. Implementation Requirements. It is very important to identify and agree upon the basic requirements for software implementation. The possibilities of stopping, restarting, and reversing changes in the system must be described from a technical point of view.
Wireframes

Wireframes with 44 layouts were developed. They comply with the required functionality, including:

  • Integration with the payment system,
  • Portal and Personal Cabinet UI,
  • Back Office UI with reporting features.
Requirements

Website requirements were developed based on the results of Wireframe development. Functional and nonfunctional rules, integrations, and the logic of their work were described in detail.

Requirements for the data exchange module and the integrated system were developed independently. They encompass the following:

  • Data Schemes with explanation of Data Types
  • Use Cases for the system

In addition to data exchange schemes and change tracking agreements, a general data workaround was developed, taking into account:

  • Import Data (Initial Sync)
  • Exchange
  • Failure Strategy

This allowed for a safe and transparent launch of the working version, with live data in operation.

Analysis of the Existing Infrastructure and Development of a Technology Solution for Data Exchange

When trying to integrate with third-party software, it is necessary to perform a number of simple steps to determine the technical feasibility of integration and acceptable use cases, taking into account the existing restrictions and prescriptions in the system.

If the system is being actively developed or systematically supported, there are often knowledgeable people who can make any necessary clarifications.

If no one is available to clarify, it may be necessary to perform an analysis by means of reverse engineering of the software and its database.

Investigation Settlement

One of the first tasks to be solved when analyzing an existing environment and beginning integration is to understand which test environments are needed to perform a secure debugging of data exchange.

As part of the study, an environment identical to the real one was set up. It became the platform for subsequent development and debugging of the exchange and related business processes.

To make sure the test environment worked just like the production environment, a series of tests were carried out by the customer’s department staff members.

Data Point and Exchange Requirements

Once we had a test environment that was identical to the public one, we began to investigate how the current solution is used, and what data it stores and changes when interacting with users.

As a result of the investigation, we established requirements for the exchange module, including:

  • Development Requirements
  • Data Scheme for all Exchange Functions,
  • Exchange Data Storage and Import/Export requesting,
  • Synchronization Access Rights and Credentials,
  • Synchronization Scheduling,
  • Failure Mitigation Strategy.

Technology Solution

Technical Stack

Technical stack development of the project involves deciding on the technical feasibility of the project and determining the method of achieving the objectives of the project in technical terms.

When forming the technical stack of the project, it was necessary to take into account:

  • The number and the purpose of project environments
  • The structure of the environments and their connections
  • The types of hostings and their cost
  • Additional parts of the system and their structure
  • Methods for migrating code and data between environments
  • The availability of a CI/CD platform

It is also worth taking into account the availability of resources and their levels, as well as the experience of the teams involved in the project.

In our case, the set for providing one environment contained:

  • MSSQL, RDP server
  • MongoDB Server
  • Front and Control Panel ANT DESIGN + React JS
  • Node JS server
CI/CD

While working on an application, developers often change the system. Edits are made dozens of times per day.

We needed a way to find out whether the system would work well after corrections. When working with one server, code can be updated and results revealed within a few seconds. But when working with 3 environments, with 4 systems in each environment, updating them manually becomes a labor-intensive process.

Using an automated system to update code and databases can minimize the time of code deployment.

The applied CI/CD system allowed us to fully automate code delivery using a user-friendly interface.

Application testing and launch

Since the endpoint of using our application was integration with live data, we had to know how data would be affected during the launch process, or during any related activities in the development lifecycle.

After sanity checks, while testing applications in development and production environments, we experienced several rollbacks. Further analysis pointed to additional issues, mostly related to differences between user environments, that needed to be resolved. Since users constantly remained in the system, it was extremely challenging for us to run imports and checks.

A testing system was developed to make sure the user environment continued to work normally and its functionality would not be affected.

The testing system included:

  • Client’s application testing
  • Developed user and backoffice interface
  • Data Import testing
  • Exchange testing and monitoring
  • Overall Cycle Testing

All these activities were united into a Deployment Plan with a series of tests and scheduled actions.

Finally, after passing all the checks, the system was launched.

Results/Achievements

As a result of the entire complex of work on the project, the client received:

  • Automation of payment and licensing
  • Real-Time Exchange, with identical data in the applications
  • Scheduled application launch
  • CI/CD system and monitoring tools

[/fusion_text][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

Look for more interesting
articles

Recent publications


Ultimate Guide to Top Search Engines 2021

Among a vast array of search engines, Google remains the indisputable world leader in web search. Because the majority of people and organizations use Google as their primary desktop and mobile search engine, ranking high on Google is a number one goal for most businesses and private firms.

Tags: Seo

App Stack: What Is App Stack for Android

The birth of a great web app relies on a carefully orchestrated combination of factors that unfold as your project progresses. The Agile approach provides us with great insight into the minds of our clients, and defines our technological solutions for every specific project.

Tags: Development

9 Best NodeJS Frameworks for Backend Development in 2020

Node.js is a progressive backend development technology that was first released in 2009. It continues to grow in popularity among software developers for creating both the frontend and backend of apps, using a single programming language, JavaScript. Its straightforwardness and ease of use make it a good choice for beginners who want to launch full-fledged apps without having to learn multiple complex technologies. It saves time for programmers, who can create code that other engineers will easily understand.

Tags: Development

When and Why to Use Node.js for Backend Development

Node.js is a technology built on Chrome's V8 JavaScript engine that was first released in 2009 and continues to grow in popularity. nt, read our Node JS vs Django comparison analysis. Walmart, LinkedIn, Uber, NASA and some other giant entities have used this open-source, straightforward and easy-to-customize environment for their web applications. 

Tags: Development

Everything You Need to Know About rel=”noopener noreferrer” Tags: Purpose, Benefits and SEO Impact

WordPress included the rel="noopener noreferrer” clause in the list of its default features starting from version 4.7.4. As with every update, the new tags made SEOs concerned that they would threaten their projects’ positions in search rankings. Many feared the update would be a variation of the nofollow clause, preventing search robots from transitioning to linked pages when crawling websites. 

Tags: Seo

WebDesignRankings Lists Clever Solution Among the Best SEO Companies

WebDesignRankings is an analytic platform that conducts ongoing research in the global market for online marketing services. It provides its readers with the latest evidence-based ratings, helping consumers choose the most reliable, authoritative and cost-effective partners for web promotion. 

Tags: Seo

Request a free quote

    Type of Project *
    Budget Range *
    Have you ever performed seo before? *
    Do you already have Google AdWords account? *
    Do you agree to give access to the Google Adwords account in viewing mode? *
    Do you already have Amazon account? *
    Do you agree to give access to the seller account in viewing mode?
    Is your brand registered?
    Budget Range *

    Contact Us