B4J Question [ABMaterial] [Web] Inquiry About Developing a Web-Based ERP Application

vecino

Well-Known Member
Licensed User
Longtime User
Hello, everyone. Although I already knew about the existence of ABMaterial, due to external reasons I have been working with and testing other development platforms during the last few years. Now I have the opportunity to choose the software myself for a large project, and that made me think again about ABMaterial. Before investing time in learning it, I would like to know whether it could meet the specific needs of the project.

Over the past few years I have tried several web application development products, but none of them have lived up to their promises, so I am looking for a more stable, agile, and reliable solution.
My needs are as follows:

• I need to develop a complete ERP that works with PostgreSQL and can operate with multiple databases, as there will be a main database and then one separate database for each client/company using the software.
• The ERP must be able to handle several hundred companies (possibly thousands), each with its own database, all hosted on a VPS server along with the main database.
• The system must cover typical ERP functionalities: customers, suppliers, warehouses, items, purchasing, sales, etc.
• It is especially important that the platform makes it easy to create data-entry screens such as invoices, quotes, orders, etc.
• Additionally, the ERP must be able to interact with common business devices: printers, scanners, card readers, scales, etc.

Sustainability and maintenance:
• Is this a project for which I would have access to the source code?
• Are updates and improvements offered continuously?
• Is it a project designed to be maintained long-term, without risk of being abandoned, considering that my ERP is intended to operate for several decades?

Programming and server requirements:
• What are the programming requirements to use ABMaterial? Is it compatible with modern IDEs and development workflows, for example using git with multiple developers?
• What type of server is required? Can the project be uploaded to standard hosting, or does it require a VPS/dedicated server?
• Are there specific requirements regarding operating system, web server, database, or other components? For example, can it run on Linux + PostgreSQL + Apache or similar configurations? What additional software is required for it to work?
• Are there performance considerations when handling multiple databases and several hundred (likely thousands) of clients, aside from the server hardware characteristics?

Long-term requirements, development flexibility, and high performance:
• The software I choose must be a stable and sustainable solution for several decades, as the ERP is intended to run long-term and cannot depend on technologies that might be abandoned or left without support.
• I need full flexibility to create complex forms of all types, especially master/detail screens, multiple levels of detail, dynamic forms, and custom structures typical of an ERP.
• The development environment must allow building screens without structural limitations or overly rigid layouts.
• The system must operate efficiently even with many concurrent users working simultaneously on the ERP.
• It is also essential that the architecture allows managing hundreds (or thousands) of separate databases — one per company — with stable and predictable performance.

My main question is:
Is ABMaterial suitable for a project of this type? Does it offer the flexibility, robustness, and long-term support necessary to develop a web-based ERP that handles multiple databases, integrates with common business hardware/devices, and runs efficiently on web servers?

I appreciate any guidance or experiences you might share.
Thank you very much.
 

Cableguy

Expert
Licensed User
Longtime User
Sustainability and maintenance:
• Is this a project for which I would have access to the source code?
Yes, ABMaterial has been OpenSourced for a while now
• Are updates and improvements offered continuously?
Lattest version is v5.15 (first open source version) and no further development is to be expected as the framework has proven to be very stable
• Is it a project designed to be maintained long-term, without risk of being abandoned, considering that my ERP is intended to operate for several decades?
As long as you keep all the project dev in a "time capsule", meaning you keep the same IDE version and ABMaterial Lib, you should be good for a few centuries...
Programming and server requirements:
• What are the programming requirements to use ABMaterial? Is it compatible with modern IDEs and development workflows, for example using git with multiple developers?
Two part question, two part reply:
1 - The programing requirements are B4J (as it is a framework created to be coded in it), and it compatible with latest IDE version
2 - Well, as stated in the first part of this reply, It was created to be coded in B4J, so you can code in any Non-Specific-Language IDE, but you will need B4J to compile it.
As for GIT, I never did use it that, but each "Page" is a code module, so I guess it is easily used with GIT
• What type of server is required? Can the project be uploaded to standard hosting, or does it require a VPS/dedicated server?
It's a webapp... it runs Java code! So it needs a VPS.... not necessarily a dedicated on, but for YOUR requirements, I would go the dedicated VPS route
• Are there specific requirements regarding operating system, web server, database, or other components? For example, can it run on Linux + PostgreSQL + Apache or similar configurations? What additional software is required for it to work?
ABM encapsulates a Jetty web server, so any other webserver, if to be maintained in parallel, with need some redirection config.
Yes it can run in linux, and you can use any database engine you choose, as long as it is supported by B4J. Typically, you don't need anything else to run ABM, except for very particular cases...
• Are there performance considerations when handling multiple databases and several hundred (likely thousands) of clients, aside from the server hardware characteristics?
The Author of ABM (@alwaysbusy ) uses it as part of his company software tools, with webaaps deployed to their clients specifications... so I would say yes, specially with company specific databases
Well, no software is forever... you should already know that... Still, ABM exists for over 10 years now, and, although no longer updated, @alwaysbusy still provides support in the forum...
That's for you to decide... All I (we, those who have explored, used, and helped evolve ABM along with @alwaysbusy ) can do, is point you to the demo page of ABM

Hope to have been of help
 
Upvote 0

MichalK73

Well-Known Member
Licensed User
Longtime User
I can only add that you can add elements or subpages written using Banano to ABMaterial, and they will work seamlessly with the ABMaterial application. The Banano framework you use is up to you, but it's already available on the forum. So, things that might be more difficult to implement in ABMaterial can be done in Banano and tied together.
I've already written several large applications in ABMaterial, which so far easily support several hundred online users running on small VPSs with low parameters.
Search the forum for threads, but people have already asked similar questions about ABMaterial vs. Banano, etc. Maybe that will shed some light on the situation.
 
Upvote 0
Cookies are required to use this site. You must accept them to continue using the site. Learn more…