Along with many other conferences at the two last International Meetings for GeneXus Users, I have insisted on covering the inevitable trend towards a multiserver architecture, and the need for the incorporation of two new elements: the Work Flow server and messages server.
None of this is new: the Work Flow servers appeared some years ago, and their initial target was to order and control the bureaucracy involved in manual procedures.
They have been used for many more things too, for example, to separate the programs data flow, allowing the responsible end user to modify these flows without modifying the programs, make dialogues easier to use and self-learning, even to very complex transactions batch processes trigger, etc.
Particularly, our direct experience tells us that almost all projects developed with GeneXus Consulting within the last two years, have used Work Flow as important element.
Messages are implicitly and/or explicitly associated with the Work Flow. To explicit those messages and describe them rigorously it will be essential to face the most complex applications that will be utilized/incorporated in the future.
One critical issue that is mandatory to solve, is the coordination of asynchrony processes. A few years ago, the computing industry thought that distributed databases would be the solution to an enormous quantity of problems. One essential element was to synchronize environments to enable transactions in the databases. As a result of this, it appeared as the two-phase transactional confirmation (Two Phase Commit).
The industry as a whole worked very hard to implement this feature but when availability was made to the general public some time ago the limitations were confirmed. This was because of a few common situations: the transactional regimes are bigger each time, the multi-enterprise transactions are more frequent, and the contention provoked by the Two Phase Commit sometimes wasn’t/isn’t supported.
A reasonable question seems to be: isn’t the synchronism, as a restriction, too strong?
Yes, it is.
To palliate the problem in those cases where the multi-enterprise transactions are essential, it was developed with EDI (Electronic Data Exchange). Today, and in the near future, the Business-to-Business (B2B) negotiations are critical, and EDI isn’t an adequate tool (nor will it be in the future) to solve these issues: we need a true scheme of high-level pre-described messages.
The computing community has worked diligently on the "physical" part of the messages (IBM MQSeries, Microsoft Queue, etc.), but to obtain real solutions that work in an easy way, using some of these systems or Internet and e-mail messages as carriers, it is necessary to work on the logical aspect, having messages described beforehand.
At the same time, we are working on Internet applications in a rapid, disorderly fashion. Unfortunately, we see that some protocols that appear in the marketplace are not real. That is because some of the most used navigators ("browsers") cannot adequately, or efficiently support them.
Amazingly, the computing community has given itself two protocols that are in fact standards: XML and XSL.
Why is this amazing? It is because from the beginning, the only firm standards have been ones where. somebody throws something new at the market, it first pricks, then has success, partially due to others’ inability to reach it, which eventually results in the product being accepted as a standard.
This time, all the great players have enthusiastically accepted the new standards. XML is a language of messages that are auto-described. XSL is a language that allows describing pages with total freedom (and indicating, for example, in which place certain tasks should be done with an XML message). The XML/XSL conjunction allows us the best of two worlds: to interact intelligently with the data by XML messages and to leave the cosmetics to be dealt with separately by specialists in graphical design, by XSL.
However, XML has other major uses; it allows us to exchange intelligent messages between different computers, generally of different enterprises. Certainly XML will soon be transformed to a great tool for Business-to-Business transactions.
I’m convinced that the usage of these new resources is a firm and rising trend.
At ARTech, we are working very hard with XML, and we will soon release versions incorporating these important capacities.