Interview with Roberto Mazzola – Datatex Chief Technology Officer & Product Manager ABSolution
ABSolution is a tool developed by Datatex Lab in Milan (Italy), that allows analysis, development, upgrade, and enhancement of programs and applications faster and within acceptable budgets. It is a tool to be used both by software houses and companies with an IT department able and wishing to develop solutions internally. ABSolution allows for development of programs and applications that are reliable, scalable, deployable in on-premise or cloud environments, also without specific Technology competence.
What is the target of ABSolutions? Which are its strengths compared to other RAD (Rapid Application Development) solutions on the market?
Let’s try to outline the history of Datatex, from the product’s point of view, to understand why we decided to invest in developing our own tool rather than using the tools already available on the market.
Datatex’s flagship product in the Eighties and Nineties was TIM: a traditional ERP product, successful in the market, developed with RPG programming language on IBM AS400 platform. Hence, we are talking about systems S38, and AS/400; systems that most likely the younger generation among us have never heard of (except for the AS/400, that in its new editions “IBM i” still enjoys many fans among medium and large corporations. (thanks to the high level of stability and security that the system guarantees).
Then, in the Nineties, web-based solutions started dominating the market of modern software, in addition to the demand for portable solutions on different platforms(so, for Datatex meaning operating also on non-IBM platforms) These trends in addition to the “death” of “green screen” systems has made moving on to a modern platform a must for success in the IT industry
For these reasons and after “experimenting” writing solutions using languages such as Java, C, C++, and others, Datatex decided to modernize its solutions by creating the ambitious project “NOW ERP”.
At the same period, IBM started developing a “Java-based” solution, to mission-critical business objects in legacy environments. The project was named IBM San Francisco (acronym for Shared Framework) the framework had some very ambitious goals planned to be achieved by involving ISV’s in the development of the product, building basic application components already tested and ready to use (e.g. accounting or customer master), and also ready to be “extended” to complete and extend to customized solutions. Moreover, IBM aimed to use that framework also for rewriting of the ACG (Applicazioni Contabili Gestionali – Management Accounting Applications), which at the time were the best-selling management and accounting software in Italy.
Datatex and Datasys Network were selected by IBM as part of the selected circle of software houses participating and taking an active part in this working group.
This direct involvement allowed us to share experiences with IBM and gave us a chance of becoming more familiar with the “design pattern” (in this regard I suggest the interesting book: SanFrancisco Design Patterns. Blueprints for Business Software by James Carey, Brent Carlson, and Tim Graser. Addison-Wesley 2000 ISBN 0-201-61644-0).
Unluckily IBM San Francisco didn’t have the expected success, and the project was stopped, however leaving us a legacy of knowledge and basic ideas to approach these new age solutions.
San Francisco was not ready for the world of “web”: it was almost ten years since the World Wide Web was born, and Datatex had long understood that it would inevitably be the future for traditional applications as well. So, at that point, we said: “this is not working…let’s look beyond…. let’s create a revolution of our own, and let’s immediately think of the web as a client”.
Our strategy has always been based on long-term investments, as we cannot risk being obsolete: we bet on the web and we bet on Java and portability, following the slogan “write once, run everywhere / anywhere”. Hence, we decided to focus on Java Enterprise (at the time J2EE – Java 2 Platform, Enterprise Edition). The “E” is important: saying “enterprise” means that the technology J2EE meets business needs, planning, and applications development that must meet reliability and robustness criteria in a distributed context, meeting the requirements of the B2B and B2C applications development, through a layered development approach and the use of services that are made available by the various containers.
At this stage we asked ourselves a question: how many people in our development teams know Java and the Web (which at the time was very limited and complicated…)?Answer: very few people. How much application knowledge do we have in our sector, and how many resources should we invest in new technologies? Answer: a lot, but will they be willing to implement? Would they be able to? How much will it cost? And how much time do we have, since everything is evolving so rapidly?
We have to consider that for our project managers and our developers, back then OO, Java, Pattern, etc… were unfamiliar. Hence, we needed something simpler and business-oriented, something that would allow us to “mask” the technology and make it usable to the open public. People who worked with us for years, knew very well the business processes of the textile industry, were our most important resource. Thanks to these people and their application skills Datatex is still today the leading software house in the textile sector. So, we had to make sure that, even without great skills in the new generation languages, Datatex could support the transition, maintaining the quality of the software, with high standardization levels, assuring high productivity, traceability, and detailed documentation.
Datatex went through a software selection process, considering experience in our group with “Case Tools” (Computer-Aided Software Engineering Tool) and various RAD products, each tool tested had strengths and weaknesses but none gave us confidence for the future. Considering our inclination towards the “generalization” of components also on traditional systems, we looked at each other and said: “well, we can automate many things, the pattern designs have opened our eyes even more, and so we can develop a tool, even if not “attractive” like a commercial one – for internal use and design it according to our needs”. Moreover, it is not always possible to adapt a third-party Case tool to your own needs, and the dependency on a supplier becomes a critical factor for the project at that stage, especially when it comes to long-lifecycle projects like an ERP.
So, you were asking me about the target audience of ABSolution: inexperienced programmers of new technologies were our target at the beginning. But today it is no longer just that, indeed new team members hired are now more familiar with Java and the Web.
In any case, the tool we developed gives significant advantages in terms of go-to-market and allows the developer to focus on the application logic of the business, rather than specifics on the technical aspect. In addition, it allows standardization the solutions making them more compliant with the quality standards that are set and facilitating migrations to new infrastructure versions(considering that we started in the late Nineties with this transition, and Java, or better JakartaEE today – moving from J2EE, JavaEE – has undergone evolutions and different modes of writing the code).
For Datatex programmers, all this is transparent, because ABSolution masks everything through our programming meta-language.
Not only from the point of view of the back-end code but also for the user interface (UX): we changed many times the graphical interface of our solution just by switching at the core level the GUI of our base module, all this while being transparent to the programmer.
The basic paradigm is the famous MVC (Model View Controller), allowing programmers to focus on the component “model” and partially on the component “controller”.
ABSolution is a development environment based on a metalanguage created by Datatex lab and called “Scenario Language”. What is it technically about? Can you tell us how did Datatex lab create the product?
To pursue our idea of abstracting the technology from the business logic and not to be bound to a language and the related “programming models”, we needed to invent our syntax that our generator would be able to recognize and convert according to the technical specifics (now JakartaEE 8 but who knows…. maybe in the future a new different language…).
So, we decided to create a discursive language, easy to learn, with its own syntax, grammar and rules. We used the library “Java CC” (BSD License 2.0).
[ JavaCC (Java Compiler Compiler) is a parser generator that uses the system parsing LL(k) for the programming language Java. JavaCC is similar to Yacc because it creates parses for a grammar supplied in the notation BNF, only that the output source code is in Java. In 996, Sun Microsystems released a parser generator called Jack, the developers in charge of Jack created their own company called Metamata and changed the name of Jack in JavaCC. Metamata eventually became part of WebGain and after WebGain closed its operations, JavaCC was moved in its current home. – Cit. Wikipedia]
When studying the design of our grammar, we started by analyzing how an analyst could pass the specifics to a programmer: How would he verbally tell him, for example, ” fetch the customer using 123″? This is a common operation in any development project, but in practice, you need to access the database and then manage (and close!) correctly the connections, the transactions, the lock for the competitors, etc. The English keyword is “fetch customer using 123”, but we used in SL (Scenario Language) the English like grammar and syntax “retrieve customer using 123 as key”. Then it will be our plug-in parser’s responsibility to convert this syntax in pure Java following the specifics of JakartaEE, using the services offered by the technology platform.
This approach also allowed us to simplify the flexible development, enabling each involved team to perform short iterations on specific items, having at the same time some prototypes of the solution faster than conventional programing.
We then have to deliver the solutions, this activity is also part of the ABsolution tool., allowing to enable an easy and safe deployment on the client, regardless of the platform used by the client ( both for the deployment of hot fix and for new installations or upgrades).
As an editor for the programmer, we decided to base ourselves on the Eclipse platform, which is an IDE software distributed with the license “Eclipse Public License”; Eclipse is a multiplatform environment, that can be easily extended and integrated. On this platform, we developed our plugin, which allows editing our metalanguage and gives the chance to manage all the phases of the software’s lifecycle.
Many companies, even large ones, are basing their work on obsolete applications and software. When we talk about programming and software development, what does it mean today to be always up to date? What features should the ideal ERP have today?
Integration, collaboration, and interoperability between different business processes are today’s essential elements, always complying with latest cyber security standards.
An ERP has to evolve together with the company, both from an application and workload perspective.
You don’t need to start using all the modules immediately, you can start step by step. But it is clear that if my company is growing and the volume of transactions increases as well, I need to be able to easily scale my software solution.
Based on our experience in the world of manufacturing, we also noticed that often an ERP solution (except for the accounting and financial part), is successful only if it can adapt to the client company, and this for various reasons, that go from the low flexibility of certain clients to adapt to something different (why should we change? Maybe for the unreliability of the previous supplier…), to the actual variety and heterogeneity of business models between corporations and sometimes even within the same corporation. Datatex solutions are designed so that they can adapt to our customers’ needs as painlessly and flexibly as possible while preserving the ability to upgrade to future releases.
Today we are talking about the Cloud, SaaS solutions, rather than the classic on-premise model, solutions with pro and cons depending on the company’s features, on its internal capacity, cost planning, structure (for instance let’s think about the trends created by the pandemic which has increased the use of forms of smart-working). Having a solution that can be matched with all these scenarios is ideal not only for us, as software producers, but also for our customers who can relax knowing that if and when the time comes, change of infrastructure is possible almost painlessly without negative impact on the business. itself
You also have to consider that, usually SaaS solutions are a almost non- “customizable” (if not through setup), and this could be seen by the customers also as a positive aspect to standardize the business processes (for example during corporate merges, acquisitions, etc…). In any case, for Datatex and our product “NOW ERP”, we are talking about our own software solution, managed by us, hence we are able to supply directly the SaaS solutions and can customize as needed .
Business Automation, AI, ML, and Big Data are now providing a very strong added value to ERP solutions, and the most interesting thing is that the applications developed through ABSolution don’t have to adapt to these different scenarios, but have been created to satisfy them, thanks to the full conformity to the JakartaEE specifics. Today we are all using smartphones or tablets and our ability to deploy the applications on these devices is another fundamental strength of our solutions. Datatex with ABSolution allows simply to “customize” the end-user screens, also by each user, assuring continuity with all the new product releases. Satisfied end-users is often a major key for the success of the adopted solution. The concept of ERP has changed during the years, and if initially it was focused on planning and resource management, today we have to consider the ERP as something much broader and holistic and if we want, we can use the term created by Gartner “EBC” (Enterprise Business Capabilities).
Datatex invests annualy more than 10% of its income in research and development, and today it is the global leading supplier of ERP solutions for the textile industry. Could you tell us what has been, during these 35 years, from Datatex foundation in 1987 till today, the main product innovations and the greatest successes factors of Datatex lab in Milan?
Of course, our greatest success is our ERP solution, first TIM, and today NOW, which is the best-selling vertical ERP for the textile industry in the world, with customers in 45 countries. The appreciation of our customers, and the trust they have placed in us for decades (also during migrations from TIM to NOW), are important acknowledgments. Very often our competitors are SAP, Oracle, JD Edwards that are companies with quite a different size from ours and with infinite resource availability compared to us. If today we are the world leader in the textile sector, we owe it to our Board’s capacity for innovation and foresight, believing always in long terms investments.
The investments are also on multiple fronts, to see over time which will prove to be the best choice, with the awareness that it is also about necessary costs to support a solution offering our customers a steady, but also a flexible and modern solution.
It would be wrong to focus only on the technology aspects, which are just a means to an end. The great success of Datatex lab is also represented by innovations related to the application itself and the coverage of new functional needs (e.g. all new requirements linked to the importance of sustainability). The market keeps on asking for solutions that are complementary to NOW, we have invested and are currently investing a lot also in the development of real APPS, compatible with Android and IOS devices.