Whitepapers

All you need to know about Mission Critical Systems

Did it ever happen to you that while doing some procedure they tell you “Sorry, the system is down!”? Or, while trying an online process, have you received the dreaded message: “Error, try again later”?

Such situations, which usually cause annoyance and a waste of time, could have very serious consequences at a larger scale. Depending on the system, failures may have effects on a country’s GDP, or even on people’s lives.

In the software world, these are known as Mission Critical Systems , which consist of applications that are fundamental for the activity’s operation, and whose eventual damage or flaws may lead to collapsed processes and operations that depend on it.

Below you will find a complete guide with All you need to know about Mission Critical Systems.
 

Categories of Mission Critical Systems

Mission Systems
Solutions meant to fulfill a specific purpose in an organization. If anything fails, such purpose is no longer fulfilled.

Example: Stöhr-Brot and its mobile solution for delivery


Business Systems Solutions whose failures have direct effects on the economy of any organization using them.

Example: Bantotal: the platform for financial entities that conquered Latin America with Low-Code


People Systems Solutions whose failures may put people’s lives or health at risk.

Example: Health systems and technological innovations.
 

Find out more about this topic at webinar: Using Low-Code to develop Mission Critical Apps?

See Webinar

 

5 typical mistakes in building Mission Critical Systems

1. Thinking that all problems and functionalities must be solved during the initial stage. With the right tools, it is possible to take care of the first complex point and then move on to make the solution grow and evolve.


2. Thinking about technical aspects first, or about how to scale a system, without resorting to all roles within the team that might contribute with a broader perspective of what is necessary.


3. Downplaying the significance of Data Modeling. Regardless of using the best data providers, lacking the proper Data Modeling leads to more failures.


4. Thinking of APIs in the first place, with no previous verification of Data Modeling.


5. Creating a system with micro services, leaving aside observability.

 

Steps for building a Mission Critical System


Having a team, understanding the case of every user, modeling data, in addition to processes, make up the most significant aspects to consider in starting to build a Mission Critical System.

“Overlooking any of such elements increases the chances for failure. Focusing on the team and on the stories of users proves fundamental. A good primary analysis and using the right tools are both key for executing and deploying this kind of projects in record time,” explained Gastón Milano, CTO at GeneXus- during the presentation Creating Mission Critical Applications.

Below is his vision on how to succeed in developing Mission Critical Systems:
 

1 - The pain

When developing a Mission Critical application, the first thing to think about should be comprehending the app’s value and function in the business. We must focus on what we want to achieve, and with that in mind we should try answering the following questions:

- What situations will the system have to solve?

- What is the first beneficial point to start working on?
 

2 - The Team

It is important to define working roles. This sort of solutions call for the following profiles:

→ Business analysts,
→ Designers,
→ Developers,
→ Computer security experts, and
→ Testers.
 

3 - Processes and Automations

To build a solution in record time, each process should be defined and automated.

This stage includes role interaction: SecDevOps and/or DesignOps, and decisions made on the basis of the following questions:

- Will the solution involve the user of micro services?

- What type of database is necessary?

- What kind of services will be shown?

- What cloud provider will be used?
 

4 - Data Management

Mission Critical Solutions include intensive data management, so it is important to define:

- The data type that will be used.

- The way in which information will be accessed.

- How and where data will be stored.

- Data consistency.

- The way in which data will be shown.

- The processes that must be automated.

- The proprietors of data used.

- The considerations necessary for the analysis of Data Modeling.

- The consideration of privacy policies.

- The steps to ensure data security.

- Accessibility to data from a technical perspective.
 

5 - Processes

In the world of computer solutions, it is possible to learn about what goes on beyond users by identifying processes.

For efficiency purposes, drawing processes is a trick that will never fail. This technique enables us to view the business and make it transparent.

Processes must be subject to reviews by business analysts capable of aiding us to determine whether sequences are transparent to all users or not.
 

6 - Architecture Patterns

After analyzing data, we may understand the relevant architecture patterns that the system will use. This will make clear the system’s limits, while indicating the start of the inclusion of APIs.

In fact, the process implies:

→ Data modeling,
→ Definition of limits,
→ Definition of inter-operability types for connecting to the outer world,
→ Definition of APIs and their evolution, and
→ Design of the system’s limits.
 

7 - Scalability

Scalability means that the system must function fast, regardless of the number of users using the system concurrently. Scalability will depend on all the decisions made in the previous stages described above.
 

8 - Observability

No Mission Critical System is possible when it lacks proper observability. To this end, despite the numerous tools and standards to be considered, we may start by defining:

- The system’s significant metrics?

- The monitoring that the system will require?

- The level of tracing for logging required, for developers to understand what happens when any metrics vanish.
 

9 - Selecting Providers

After defining all the needs, the time comes to decide about providers and the deployment type desired.


«The speed with which all these steps are accomplished will depend on the work team. Any Mission Critical System will imply a significant number of non-functional requirements».
Gaston Milano, CTO - GeneXus.


«We say that developers working on Mission Critical Applications are pragmatic in thinking to provide a final solution, when they are sensitive and focus on results».
Armin Bachmann, Product Manager - GeneXus.
 

The 3 Elements


There are three elements of the essence in building Mission Critical Solutions. According to GeneXus Product Manager Armin Bachmann, Product Manager de GeneXus, they are:
 

1 - Data Modeling

“The base for quick development with the possibility to evolve.”
 

2 - Integration

“We no longer think of building systems from scratch. Solutions are devised to be projected along with the rest of the ecosystem, with data, APIs and more.”
 

3 - Multi-experience

“For a proper future vision of the system, we should focus on users from the very start, as well as on the problems we seek to solve, and on the experience that we will be offering to those using our solution.”
 

GeneXus in the world of Mission Critical Systems

Because business rules are subject to ongoing changes, organizations seek to safeguard their complex Mission Critical Systems with solutions capable of enduring changes and easily migrating towards new realities.

Considering that functionalities may turn into services that may become businesses, which in turn may be transformed into companies, then companies must necessarily have agile and flexible systems at hand.

The Panama Canal, Nihon Housing and Resona Holdings (the two latter with head offices in Japan) are all leading corporations of, respectively, the transportation, real estate and banking industries, all of which have relied on GeneXus to develop their Mission Critical Systems, known for GeneXus in the world of Mission Critical Systems their large databases and integrated with data warehouse modules, web services, corporate portal and much more.

GeneXus is the Low-Code platform that resorts to Artificial Intelligence for creating, developing and maintaining solutions automatically without the need for programming.

“The GeneXus Community has specialists in Mission Critical Systems, and we also have an ecosystem of worldwide Partners with outstanding experience in creating solutions, products and projects for problem solving. The arrival of Globant in GeneXus has introduced us to added allies and boosted our leadership in the sector,” said Armin Bachmann, GeneXus Product Manager.

 

Success cases with GeneXus

“Uruguay se vacuna” (receives vaccination)

At the start of the COVID-19 pandemic in Uruguay, in March 2020, the national government created the National Coronavirus Plan to offer various contact methods to connect citizens with health-care services, and to coordinate COVID-19 testing, among many other uses. This gave way to the creation, with GeneXus, of the app known as CoronavirusUy (available for Google Play and App Store) , as well as chats through the website of the Ministry of Public Health, Facebook Messenger and WhatsApp.

One year later, on March 1st, 2021, Uruguay activated the initial stage of the COVID-19 Vaccination Program.

Using the motto #Uruguaysevacuna, all citizens were able to book their vaccination by means of a digital agenda to be accessed through the same online communication channels created at the beginning of the pandemic.

The solution became a Mission Critical Application due to the enormous number of individuals who would access the schedule at the same time. The challenge also lied in developing the solution in record time, with a secure system in accordance with the norms included in Uruguay’s National Integrated Health System.

In just 2-weeks’ time, a multi-disciplinary team created the very first version of this Success cases with GeneXus “Uruguay se vacuna” (receives vaccination) solution that allowed 2 million adults eligible to be vaccinated against COVID-19 to request their appointments to receive their vaccination on the date and at the time and place assigned and later receive the corresponding notification to get their following doses.

“A mediation layer was defined, while storing all that information in the Amazon SQS infrastructure. Then a Business Logic layer was built with GeneXus to read the information and gradually pass it to the electronic schedule. This enabled the possibility, upon each confirmation, to store the status of each schedule in a DynamoB data structure, better designed for these systems where significant scalability is also required at the reading level” , explained Eugenio García, Product Manager of GeneXus for SAP Systems.

“With security in mind, and for this initial iteration, of all the activities we could carry out we decided to consider the four that show higher added value, namely: Threat Modeling, Architecture Risk Analysis, Security Requirements Definition, and Security Testing,” added Gerardo Canedo, Security Manager for GeneXus Consulting.

For further details, access the whitepaper Security in Mission Critical Applications: the case of ‘Uruguay se vacuna’.
 

Resona Holding

Resona Holdings ranks as Japan’s fifth largest banking group since 2012 (operating in segments such as Consumer Banking, Corporate Banking, and Market Negotiations, among others). They resorted to GeneXus to achieve a renewed branch system with the use of web terminals, and they managed to do this in record time.

Thousands of physical terminals (devices designed for a specific purpose) used for different customer operations were reduced by 50%, while the capacity to cover customer needs increased in 70% by enabling terminals for general use (PC, tablets and mobile devices).
 

Panama Canal

During the year 2021, a total of 12,525 vessels crossed the Panama Canal carrying over 287 million tons of goods that implied toll payments of 2.966 billion dollars, according to Transit Statistics published by the organization.

Behind those figures, there is a complex Mission Critical System working on and offline with GeneXus.

To this end, location-free digital reception terminals were developed.

The web app enables the possibility of close to 150 transactions, including the opening of accounts, transfers, deposits and withdrawals, biometric records, and transactions involving inquiries to the account system.


The new branch system was became sequentially operational as of April 19th, 2021.

Read the whole story at Resona Holding, one of Japan’s most important banks, renewed its branch system with Low-Code in record time..

Its functionalities range from notifications from a ship informing its intention to go across the canal, to the approval of such crossing, payment of tools in advance, forms and results of inspections, among many others.

For more details on this case, you may access whitepaper: The secrets of the Panama Canal’s digital transformation
 

Nihon Housing

The Japanese company Nihon Housing, one of the country’s largest condo and building administrators (responsible for managing close to ten thousand buildings that in all imply approximately 500 thousand housing units by March 2020), used GeneXus to group six sub-systems into a single operations system.

The project was also oriented at the increased functioning of Nihon Housing, while reducing operation costs and enhancing the use of apps, in addition to achieving faster processing speed, reducing frequent overtime work and considering various segments that had evolved independently, in order to unify them into a standardized solution.

In principle, the development team planned to apply a cascade development approach, but when user requirement multiplied up to 22%, as compared to the original plan, the possible effects on the project’s schedule and costs were obvious. In order to avoid delays in the release, the members of the team working on the project started an intense search for a solution, until they finally decided to change the original plan. Within such context, the team selected GeneXus as their development took, which implied shifting to an agile development framework and method in order to overcome the difficulties encountered.

Read more in the e-book: Benefits of the “Low-Code” development platform after 8 years using it..