ERROS - A Deeper look
If I told you about a Business Model and Application
Creator application that was:
- over ten years in the making
- contained a database of less than 10 physical files
- had a program object footprint of under 4mb
- used no query, SQL and yet delivered information
to the user at lightning speeds
- transactional based (journalling being off is NOT
- fully auditable
- web enabled
- flexible enough to handle all known business scenarios
- able to provide bi-directional indexing natively
- not a CASE tool
- could store millions of sub data references
- currently unique to the AS/400
would you be interested?
If you answer 'YES' to this question, you are probably
as excited as I was when I first heard the fascinating facts leading up
to the creation of ERROS, the Neural Database for the AS/400.
Regular readers will know that I have expressed my
interest in ERROS before in these pages (see ERROS
- A New Era?), previously concentrating on the theory behind the concept
along with taking part in the creation of the sample "Video Shop"
application over the Internet. But to get a feel of the power of ERROS
it was necessary to take the short journey Northwards to meet the creator
of ERROS, Rob Dixon.
Rob directs his operations from Boarstall Tower (built
1312), a unique and historic feature in a beautiful part of Buckinghamshire.
Inside the tower is the nerve centre of ERROS, which as you can imagine,
gives an air of the famous English eccentricity. The setting aside, ERROS
is different but not eccentric - this is a real life system, created from
a real life need, and developed on a real life midrange platform.
But before getting down to the workings of ERROS,
Rob delivered a brief history of himself and his relationship with ERROS,
which included the early days of the project using one of the first privately
owned Sys/38's in the UK. The Sys/38 was running a very early version
of CPF and was being housed in a converted pigsty. The outside still resembling
a pigsty whilst the inside was, what I can only imagine as, the near dust
free environment. The favoured locale for the hallowed Sys/38.
ERROS is very different from anything else I have
seen on the AS/400 previously. The obvious differences are that it does
not use a relational database, but rather a form of Neural Database. Readers
of my previous article and Rob's own papers (see www.erros.co.uk)
will recall that the design is similar to the way that the brain is understood
to store and retrieve data.
The Neural Database contains the instructions that
make up procedures and menus as well as the user data. The processing
kernel uses the instructional and user data to process as applications.
This concept has the benefit of the core application
requiring much less resource than a conventional application. The same
programs and files that form the Kernel application and Neural Database
are the only objects in use, and so eliminates paging and is a lot more
friendly on the disk arms. There is no need to generate or add any additional
programs (except to cater for perhaps a new routine or mathematical function).
The use of encoded index keys throughout the database means that the data
is unlikely to be corrupted by the use of SQL or DFU, and eliminates the
need for Query type processing. Database updates would be almost impossible
by standard programs unless API functions were to be created.
Is this a good thing? Impossible to tell at present,
but if all updates could be made via the application this is not a bad
thing. Any updates outside of an application to fix a problem have never
solved any application's root problem - only disguised the fact that it
ERROS is transactional, a cry that is often heard
in newsgroups requesting that vendor's applications should be. ERROS is
secure - allowing very low level field and function security. ERROS is
And above all, more functional, less complex and inherently
more flexible than any Business Modeler/Application Generator that can
be conceived using the conventional relational database method.
A closer look at the concept and functionality of
ERROS is necessary to appreciate the full quality of what is offered.
The example of the business model and application
of ERROS as a working commercial system is STIPPLE. STIPPLE is the name
given to an application used to catalogue attributes that pertain to Prints
(not of the spool type), paintings and other fine and applied art objects,
biography and history). I had not previously considered the numerous classification
attributes which can be used to link a print to another print, a group
of prints, an artist and his original painting, a plate maker and even
a series of subsequent plate makers. This is a much more complex configuration
than most of us ever have to deal with. When compared to the relationships
that are used in our regular business model (let's say between Customer
and Order, Order and Item) we generally require a lot less connections,
and yet we still manage to make it extremely complex!
In the example of STIPPLE I saw, the data was accessed
through a Workstation Gateway (WSG) interface that allowed the user to
navigate through various requests, drilling down to get the data required.
WSG is used in conjunction with a web-browser and WSG supports the HTML
than can be passed to it. ERROS can generate the necessary HTML to retrieve
pictorial images from another area of a system by way of a URL. The URL
is specified within the database itself, and only stored once, however
many times it is indexed. Therefore, dynamic HTML was being created from
within the Neural database specifications and delivered to the user via
The employment of the new AS/400 BLOB files being
used for holding the data image was mentioned during the review of ERROS,
and although a probable feature to be added, it did not detract from the
fact that should an image need to be changed, it is only changed in the
database and would automatically feed through to the WSG at the next request.
The demonstration of STIPPLE was very detailed, but
what was instantly apparent was the ease and speed in which all the bi-directional
connections within the database were invoked when dealing with something
as complex as fine art classification.
Next, we took a look at ERROS being used to create
a simple Order Entry application. The aim was to be able to enter an Order
for a Customer that had Order Lines containing Items. When an Item was
used in an Order Line, the Available Quantity should decrease and the
Allocated Quantity should increase by the Quantity Ordered for said Item.
This was completed in a matter of minutes using ERROS
and performed as stated above, the mathematics working as expected for
allocations, available and order total (displayed in the screen footer)
quantities. No new AS/400 objects of any sort were created! This example
was used using a standard PC5250 interface however, I understand that
it would have worked over the Internet without change.
The connections were no where near as complex as STIPPLE,
but the same quality of processing was achieved.
Features included with the order entry display included
the ability to page left and right through the various "virtual"
columns associated in the Order and Stock views. This is a standard feature
handled by the kernel process, that also demonstrated how column widths
could be changed within ERROS on the fly at field level, giving many custom
Space and time constraints prevent a full study of
all the features of ERROS, and I could not do the product justice. However,
I ask you to think about what essentials are made available with ERROS:
- An application design concept that stores and utilises
business logic in and from the single database
- Bi-directional connections that can be specified
between all user data elements
- A business modeler that removes most of the common
design and build complexity
- Maintainable applications, all with standardised
- All data immediately indexed and available with
no logical files
Leaving the demonstration a colleague and I, discussed
what we had seen and we were in total agreement that in the right hands
and with a small amount of additional development, traditional business
applications could be easily addressed using ERROS. We saw that the flexibility
of connections within the database presents a major step away from relational
database mentality. The change to adopting a Neural database is a big
step - but one which offers numerous rewards. But as always, no one likes
change, and a hard job of convincing decision makers lies ahead. ERROS
does not claim to solve all the problems of business system design - but
it does help make solutions easier to arrive at.
The following day, I received a discussion paper on
the Universal Business Model and the Developer Consortium. The Universal
Business Model revolves around development using ERROS as a catalyst which,
when combined with the Developer Consortium, brings the possibility of
industry standard applications and/or modules being developed for the
AS/400 at roughly the same price as PC software.
Should the two concepts ever become a reality it would
shake the industry at the roots, but without killing it. Essentially it
removes the need for inherently complex systems, and makes way for faster
development with easier maintenance. The excellent controls and audits
makes way for applications and data that can be controlled and trusted.
My own experience of database and application audits has historically
meant that failures are ignored or avoided, because either the cause cannot
be found or no one knows where to look!
The Universal Business Model concept even starts to
go beyond Open Source, but that is another story!
Next month we will look more closely at the Universal
Business Model and how it could be used by a Developer Consortium.
The product ERROS is created and owned by Erros
PLC. More details on the history and concept of ERROS can be found on
their website at www.erros.co.uk
ERROS A New Era?
ERROS The Open Business Model
and Developer Consortium