We’ve an utility that has served us and our shoppers nicely from some 20 years now. Fairly good monitor file however it’s clearly exhibiting it is age in some areas.
We’re in search of advise and recommendations for bringing the product to the following stage. The concept is to deal with some points with out throwing away or rewriting 10,000’s of traces of code.
The appliance is monetary in nature and handles 100’s of 1000’s of transactions and buyer information. The core of the product is strong. By core I am speaking about our enterprise logic, batch processing, and so forth. It is the interfaces and the periphery the place we want retooling.
We might use extra granular entry/permissions mannequin, higher entry to information and processes although APIs and we want to have the ability to develop these elements extra quickly than potential with our present system.
To protect our funding and never repair what will not be damaged, we’re investigating what modifications could be made to deal with these issues however nonetheless hold a lot of the libraries and packages written in C.
One concept now we have is to exchange our entrance finish with a Node.js primarily based utility. The appliance will initially present API (Relaxation primarily based json information) companies for learn and replace of knowledge in addition to enterprise logic course of endpoints. It might additionally handle entry to information (learn and write) and processes through some roles primarily based permissions mannequin.
Lastly, my questions:
- Does this concept have benefit?
- If not, what different approaches ought to we think about?
- What different concerns are there for this venture?
- Will Node.js used on this vogue scale?
- What server facet js framework ought to we think about? Specific appears promising however possibly another extra “opinionated” framework can be higher.
For prepared solely operations, I count on that every one server facet exercise might be dealt with within the Node.js utility. For enterprise logic, possibly database writes, I count on we are going to hand off the processing to a separate program. We assume the aysnc/await capacity will permit this w/o efficiency degradation. Add-on integration is likely to be potential however as our libraries aren’t thread protected which may have restricted usefulness.
Thanks upfront in your feedback/concepts/recommendations.