Request for Architectural Modification Suggestions

35 views
Skip to first unread message

Jai Singh VistA

unread,
Aug 13, 2024, 4:36:49 AM8/13/24
to Enterprise Web Developer Community
Hi Everyone,

I hope this message finds you well.

Our current application architecture is a 1-tier setup where the Apache server, EWD instances, routines, and database are all hosted on a single server. This configuration has been functioning effectively.

As we migrate to a 2-tier architecture, we've observed that only the Apache service is currently being separated onto the application server, while the INETD process, EWD instance, and routines remain on the database server.

We aim to refine this architecture such that the Apache, EWD instance, and routines are hosted on the application server, with the database server solely dedicated to database calls.

Could you please provide any suggestions or guidance on how we might achieve this modification within the scope of FOSS support?

Thank you for your time and assistance.




rtweed

unread,
Aug 15, 2024, 6:52:51 AM8/15/24
to Enterprise Web Developer Community
I assume you are using EWD with GT.M and our mgwsi gateway?

if so, I assume you are aware that EWD is written in M code and generates M routines, and therefore require an M database system to run?  If you want to separate the EWD M code from the database, you would need two M servers: one running the EWD M code and one on which your database resides.  I'm not sure what you'd actually achieve by doing this. but if this is what you want to do, then you should be able to do it with the facilities built into GT.M (though you really should be considering migrating to YottaDB).  We won't be making any changes to EWD to provide such a setup because, as I said, I don't actually see the point or benefit.

While we're at it, you also should realise that the mgwsi gateway is now deprecated and you should be migrating to our much more powerful and robust (and flexible) mg_web interface:


If you want to truly separate the application logic from the database, you would need to rewrite the back-end logic using something else.  We have a number of technologies/packages available for this, mainly focused around JavaScript using Node.js or Bun.js.  They're all showcased here and fully dockerised so you can quickly and easily try them out for yourself:


Of course, if you move away from EWD which generates the browser's HTML & JS server-side, then you'd also need to design and build an equivalent UI using any of the modern client-side development tools.  If you decide to do this, also take a look at Golgi which harnesses WebComponents in an interesting and powerful way:


If you require support for our products, please contact me - details at our web site: www.mgateway.com

Rob
Reply all
Reply to author
Forward
0 new messages