Monarch Apps: Adding New Functionality

Estimated reading time: 3 minutes

If you are reading this Topic, most likely is because your Legacy Application has been successfully migrated to ASP.NET Core, and you have verified that all the Legacy features work correctly.

Now you want to take advantage of the new Computing Platform.

Every company has unique requirements and Application needs, the following are very common:

  • The Legacy Application needs to be adapted to new Business Processes or new Areas of Business.
  • The Legacy Application needs to be able to link with other existing Applications already running on the new Platform.
  • Frequently used Application Interactive Pages, need to be improved allowing modern input and output interfaces such as:
    • Reading QR Codes or other Barcodes.
    • Allow hand Signature capture (including finger signature on Mobile devices).
    • Capture GPS information from Maps (such as Google Maps).
    • Display data in Chart form.
    • Using third party web services (including social media).


Extending Application for new Areas or Processes

If there is the need of a completely new area of your business and your developers are mostly C# developers unfamiliar with Legacy Developer model, perhaps the best option is to write the new features using other Application frameworks such as ASP.NET Core MVC.

ASNA Monarch Base extends ASP.NET Core and can be combined seamlessly with any other ASP.NET Base.


Linking with existing Applications

If there is the need to link you Application with existing Application, then it depends on how the other Application is built. The best scenario would be that the other Application is also a ASP.NET Core Application, then the effort is reduced to making the .NET Assemblies to talk to each other.

In general, one of the initial decisions to make is whether to interface with other Applications at:

  1. The server-side.
  2. The client-side.


Server-side API

Many Applications provide rich API interfaces. If the other Application was developed in-house and does not provide a formal API, you can write one, with a lot of flexibility because targeting .NET 5 - the framework your application relies on - is allegedly one of the most powerful development frameworks in the world. If not a direct .NET Assembly reference, there is also the possibility to communicate with your Application server process using several IPC technologies offered by .NET Core.


Client-side development

As a Web Application, Monarch Applications can take advantage of the many third-party or open-source JavaScript based libraries. One example would be to use Advanced Charting libraries to improve the presentation of tabular data. Please consult Adding a Chart to Page.


Improving Existing User Interface.

If the Legacy Application had all the features your Business needs, but needs to be enhanced to provide a better User Interface, the best is to stay in the QSys Architecture and apply techniques such as the ones described in Enhancement Examples.


Adapting Application to Mobile Devices

There may be some Areas of your Legacy Application where Mobile users are the most common users, or Display Pages that need more advanced input devices (economically offered by Smart Phones such as GPS, cameras, finger signature, etc.).