ERROS Ltd.
Boarstall Tower, Boarstall, Bucks HP18 9UX United Kingdom +44 (0) 1844 239339 Erros Ltd Home Page sales@erros.co.uk 27th April 2014 ERROS is a unique application development framework and operational environment that stores all metadata, application definitions and user data in its own integrated connectionist database. Very complex internet enabled applications can be created using ERROS with little or no program coding. ERROS does not generate program code. No SQL is required for queries or to navigate the bi-directional connections in the database. The concepts of ERROS have been successfully patented. The ERROS framework provides a sound structured basis on which you can build your integrated applications. As ERROS allows incremental development, application creation can be done without a detailed system specification and without any physical data schema. Applications can evolve in line with the ever changing real-world of the business on a "grow as you go" basis. ERROS is therefore extraordinarily productive for both application development and for maintenance. The unique features of ERROS makes it the truly modern application development system, quite unlike any other. The concepts of ERROS have been successfully patented. It also offers very rapid response times that do not degrade as data volumes grow. The ERROS framework provides a standard user interface, suitable for all application development and for operating all the applications created, including line of business, transaction processing, etc. This is the ERROS Standard Operator Interface, or SOI. This document outlines some of the features of SOI. Considerable thought and experience has gone into the design and evolution of SOI. This is the most productive and intuitive interface that we have been able to create. Having a standard interface ensures total consistency in the look and method of operation of all applications, ensuring high productivity from operators. SOI also relieves developers of the burdensome task of creating their own interface so that they deliver new and changed solutions to their users much more quickly and cheaply than would otherwise be the case, although they can create their own interface if they wish. Every aspect of ERROS is designed for maximum performance and ease of use. Only the data that is required and that can fit on the screen is transmitted to the browser, improving performance particularly when communication speeds are poor or when using a smart phone. This also means that the amount of data retrieved from the database is much reduced. There are many other reasons why all ERROS applications have outstanding performance and these are discussed elsewhere. Using SOI, ERROS applications can be both developed and operated over the Internet with most standard browsers on PCs, Macs, tablets or smartphones, as well as with traditional 5250 terminals or emulators. Any ERROS application created for 5250 operation will work at once over the Internet in inquiry mode, without any new HTML or Javascript needing to be created. There are no static HTML web pages in ERROS applications as ERROS generates HTML and JavaScript on the fly, using page layout definitions stored in the ERROS application database. Operating ERROS using a browser allows you to display rather more content than is possible with a 5250 screen. Sample ERROS browser screens from different ERROS applications operated in both inquiry and update mode are included in this document. These were created using the standard HTML and Javascript generation facilities of ERROS. They were mostly rendered using Firefox or Safari using a 1280 X 800 pixel screen and release V2R9 of ERROS. Any of the screens could have been displayed on a smart phone or on a tablet. No special or new HTML generation facilities were required for any of the screens in this document, even though some of them are very different. The first screens are from STIPPLE which is a very complex application for cataloguing fine and applied art objects and for recording people, places and history. It was created using ERROS, without programming. The relationships in STIPPLE are much more complex than would be the case in most line of business applications. The STIPPLE screens are followed by screens from
other more standard ERROS applications, such as order entry.
Having selected STIPPLE from your list of ERROS applications, ERROS will display the STIPPLE Initial Menu, as in the following screen.
|
All ERROS applications have an initial menu that lists the main entity types and procedures in the application. Any item in the initial menu may lead directly to an entity type or procedure or there may be lower level menus. Many internet applications have a menu bar with multiple entries and often lower level items to allow users to navigate round the system. Even though the menu bar may only be used intermittently, it remains on the screen and has to be refreshed every time the screen is redisplayed. This means that in such applications an unnecessarily large amount of data has to be transmitted to the browser for every screen. In some designs, this may be several times the size of the main data in which the operator is currently interested, and will have an adverse effect on performance. At any point when operating ERROS applications in inquiry mode, you can return to the initial menu by clicking on the initial menu button towards the top left of the screen or by typing ".." in the input box and clicking on the Enter button or pressing the Enter key. ERROS applications also have a "fast path" menu. This can be accessed by clicking on the "Fast Path" button or by typing "." and clicking on or pressing Enter. You can put the name of an entity type or procedure immediately after the full stop - e.g. typing ".customer" will take you directly to the list of customers. If you you know the name of the customer whose record you require, perhaps "XYZ Company", you could type ".customer/XYZ company". You can then select the information that you require about the XYZ Company. You can abbreviate words and names. You could type ".cus*/XYZ". If ERROS find more than one record that fits your request, it will stop and ask you to select the record that you require. If you want to find the telephone number of the XYZ Company, you could type ".cus*/XYZ/tel*/". However, if you are not familiar with the shortcutsin your application The screen is divided into three main parts - The top part displays an optional banner and or logo, together a function bar with standard operating buttons. ERROS then identifies the application being operated, the name of the operator so that others can check that they are using their own user profile, followed by the name of the operator's employer. ERROS then displays a navigation menu bar and then shows where you are in the database. You may have reached that point by navigating through the menus in your ERROS application, or by taking a short cut to data and bypassing the menus or by navigating through a bi-directional connection from another part of the database. The second part contains one, or sometimes more, input boxes. There is always an input box displayed and this is generally located about 1/3rd of the way down the screen. This main input box always has focus so the user can type at any time without first having to click on the input box. In this input box, you can type a record identifier or name (or a generic name such as smit* or smith j*) or a record number, such as a product number. Associated with these are an Enter button, and a Repeat Input button. If you click on this, ERROS will redisplay in the main input box your last request which you can use again or modify. There is also an Add button. When you have authority to add new data, this button will have a green background. Otherwise, it will be greyed out. The third part of the screen is used, in inquiry mode, to display menu items or to display the data found as a result of an inquiry. The format of these lines can vary considerably as will be seen in later screens in this document. The same space is also used in update mode to display screen formats for data entry. SOI is designed to keep to a minimum the need to use horizontal or vertical slider bars which are slow to operate, and most of the time neither are required. Keys or buttons that can only be used some of the time have a green background when they are available to draw the user's attention to them. Previous is similar to the browser back button. Jump Back takes you back many screens. You cannot use the browser back button. Buttons that are not currently active are greyed out. Most of the screens in this document show ERROS in inquiry mode. Operator Options Some display and operating options can be set by the operator, who can -
User Company Options
In the following screen, the banner is not displayed but an ERROS logo is shown and the default font size has been increased. These changes were done by using the Options button at the top of the screen. |
To access a record, you can double click on it. This initial menu was created by an application developer using the ERROS Application Definition application and it can only be changed in that application. There are therefore no buttons here to allow you to edit or delete any records in the menu and the Add button is greyed out. When you are authorised to add, change or delete records, the screen might look like this. |
This list was displayed by navigating through the menus to the entity type Stipple Biographical Names, typing "reynolds j*" in the input box and clicking on the Enter button or pressing the Enter key. If there were more records retrieved to fit the request than could be fitted on the screen, then the More button would be highlighted with a green background. In this case, all records could be accomodated on the screen, but the More button is not greyed out and if the operator wants to retrieve records after the last Reynolds j (Sir Joshua Reynolds), he or she can click on the More button or for earlier records, he can click on the Previous button. The 6th record has an "S" in front showing that it is a synonym as Jane Reynolds (displayed as the 4th record) was known as Jenny. The synonym facility available in all ERROS applications allows records to be accessed by multiple names - for instance a married woman could be accessed through her married name and also through her maiden name using a synonym. The synonym can only be changed or deleted or additional synonyms created by double clicking on the synonym or the main record (in this case Jane Palmer) and accessing the attribute synonym for the main record. To change or delete any of the records, click on the appropriate button. To access further details about a record, double click on the name. Note that, although the records are displayed first name(s) before last names, they are sequenced last name before first name(s). Only last names and first names are significant when sequencing records - titles etc. are ignored for this purpose. When creating this document, I spotted that the record for Sir James Reynolds was incorrect as he was chief justice of the Court of Common Pleas, not please. I wondered who had made this error. A single click on the record followed by a click on the Audit button produced the following screen - |
This shows that the record was created on 10th May 2001 by the employee with user id E000010021 in the application 123 which is STIPPLE. She left the employment of Stipple many years ago. A click on Jump Back will take you back to the list of names. To correct the error, click on the edit button for the record and the following update screen will be displayed. |
This record is made up of two components - the name itself and the comment about the record. The Next Screen button is displayed in green so click on that to access this longer comment and the following screen is displayed. |
Correct the errors and click on Confirm or press Enter. ERROS will display the following screen, with the corrected record. Note that it displays the list beginning with the corrected record. |
All ERROS applications allow variable length records, and, by default, multiple iterations of attributes. Thus a contact might have multiple addresses or multiple telephone numbers. An order will have multiple order lines. Where there is no data in an attribute, no "null" values are required. Thus each record (entity) in an entity type (a group of entities with similar characteristics) may have different amounts of data. In tradtional applications, each record will be displayed in full unless special programming is done. ERROS application definitions allow the developer to determine just how much of a record is to be displayed at each point in each application without any program coding being necessary. Many systems have problems handling the considerable flexibility of the real world of data. |
The screen above with an image of a mezzotint engraving looks fairly straightforward, but this is only a selection from the rather larger amount of data in the record for this print. Including the image, there are 12 navigable bi-directional connections in this display. |
whereas in this print there are 19 links. In the previous portrait, only one person was portrayed whereas in this there are three sitters. ERROS would cope with any number of sitters, as perhaps in a large group portrait. There are only two impressions of the previous print in the Rob Dixon Collection whereas there are three copies of this print. Note that the name of the collection is only displayed once for each print in a collection, making the screen easier to read. STIPPLE can handle multiple collections. The original copper plate was slightly cut down in the later 19th century so two sets of dimensions are required for this print. The birth and death dates of Lady Townshend, and the comment about her, are not stored in the print record but retrieved from the biographical record for each sitter. Thus this data only needs to be stored once, however many prints there are of each sitter, and the data displayed, apparently as part of the print record, is totally consistent from print to print. Mezzotint is a method of engraving but anyone interested in prints knows that so the name of the attribute in which this data is stored "method of engraving" is not displayed so that the display is easier to read. There are other attributes that do not have data for these two prints and the developer has decided that these attribute names are not to be displayed here. Both of these prints are part of the same set of prints and, by clicking on the name of the set - the last link for each print, you can navigate at once to the print set catalogue and see the following display. |
This screen has 56 navigable links. Further information about each print can be accessed by clicking on "main record". To display further prints in the set, the operator presses Enter. Although this display is taken from a catalogue of sets of prints, the only data taken from the set catalogue are the name of the set, the brief description, the attribute "contains" and the sequence of the prints in the set. The details of each print are retrieved from the print catalogue so these are only stored once. If details of a particular print change, then this display will change, even though the data in the set catalogue has not been changed. STIPPLE has a facility for recording places and buildings. The following display is for Boarstall Tower, in Buckinghamshire, England, the home of ERROS. |
There are 29 navigable links, including the images, on this page. There can be any number of images. The Google Map works just as if you had retrieved it in Google, even though it is part of the STIPPLE display. The operator can press Enter to find further information about Boarstall Tower. All the screens are generated on the fly by ERROS. Further screens from STIPPLE will be illustrated later in this document. The following screens are from other ERROS applications, and, as with the screens from STIPPLE, the necessary HTML and Javascript were generated on the fly. The applications can also be operated using a traditional 5250 terminal if required. |
When using 5250 terminals or emulators, a screen like the one above will not fit in a standard 80 character wide display, so ERROS automatically enables F20 (window right) and F19 (window left) in all ERROS applications in 5250 mode when required, allowing a line length of up to 356 characters. All records in the table above are indexed by name and by product number and you can access any record by typing in the first word (or more) of its name (e.g. "board" for the products on lines 3 and 4) or a generic search term such as "E*". Typing "*" and pressing ENTER will display the records in product name sequence from the beginning of the table. Typing "*" and pressing or clicking on Page Up will cause ERROS to display the records in product name sequence, going backwards from the end of the table. Typing "#*" and pressing or clicking on ENTER will cause ERROS to display the records in product number sequence from the beginning of the table. To access a record by product number (shown to the right of the product name), you can type, for instance, "#12" in the main box or type "12" in the number box. You can use relative operators "<", "<=", "=", ">=" and ">" in front of any of the search terms, whether name or number, in the main input box. Because every record is indexed, response times are extremely rapid. Even if there were, say, one million different products in stock, ERROS can find any record in a fraction of a second. Only enough records to fill the screen are sent to the browser or 5250. You can page down or up for others or make another request. Some businesses sell low volumes of high value products and others sell high volumes of low value products. As part of the ERROS framework, a record can be stored for each ERROS customer company defining the maximum number of digits and decimal points for values, for prices and quantities. It also stores the accounting currency, VAT rates and the date from which they applied, on a country by country basis, VAT scheme, etc. ERROS automatically expands the column display widths in both browser and 5250 mode. The above screen allowed for 5 digit quantities. With these and other similar features, software packages can easily be tailored to suit individual businesses or divisions within a business without any program change being required. As a business expands, it may need to handle an ever increasing number and range of products. Finding a product if you don't know its product number and are not sure of its name can become a problem. It is simple in ERROS to categorise products into hieriarchies, such as Office furniture/chairs. This can be done at any time, without programming and whilst the application is live, without changing or disturbing the existing product records. A continual problem with most applications is providing access to associated or connected data, solved either by new program coding for each link or perhaps by using SQL. A solution may have to be created on a table by table basis. With ERROS, no action is required as, because ERROS is based on its connectionist database, ERROS knows where to find the related data. Security can be set to prevent this navigation if required. Double clicking on, say, A4 paper (line 4) will immediately cause ERROS to display the following screen - |
This shows, in date sequence, all orders for the product. No SQL or any other type of query was necessary to achieve this. As already mentioned, ERROS shows, in all screens, above the input box, the context of the data retrieved and, below the input box, the data retrieved in that context. The Stock Level Adjustment application defines how ERROS is to display the data. The Create, Update and Delete keys are not active and the operator cannot change the data. Throughout the screens in this document, attribute iterations displayed in blue represent connections that can be navigated. Users with adequate authority can change all colours on the screen. The layout of the detail lines in this Sales Order is different from those for products in the previous display. With traditional application development methods, a separate solution has to be created for each table for accessing the records, displaying them, ensuring that the solution can handle the situation when there are too many records to fit on a screen, providing a means of finding individual records in the table, allowing navigation to connected data, etc. Whilst this may not be particularly technically demanding in a traditional environment, it is time consuming and error prone and means that many new programs have to be created as well as SQL. These all need documenting and controlling. On the IBM i, many solutions would include the use of sub-files defined in DDS to display the detail lines, with a separate sub-file being defined for each record type. This again is very time consuming. In ERROS, there is just one standard ERROS mechanism for this. This doesn't use IBM i sub-files even though it may look the same. This standard mechanism is used for all detail line displays in all applications. When adding new types of data in a traditional environment, new table objects are created. Within ERROS, no new table objects are created for new data types as these fit automatically within the existing ERROS framework. Double clicking on an order, say Esmond Estates, or typing "1" and pressing or clicking ENTER, will result in the following screen - |
ERROS automatically navigates to the order of which the selected record was part. The Add button is not active and the Edit and Delete buttons are not displayed and the operator cannot change the order. The first 10 order lines are displayed in the sequence of their product names. Typing "#* and pressing Enter will result in the order being displayed in product number sequence. Any order line can be retrieved by product name or number in a fraction of a second, however many lines there are in an order. You can double click again, on, say, Boardroom Table and ERROS will display the following screen - |
You can double click on one of the orders to look at that order. Alternatively, you can single click on an order and press F7 or click on the Audit button and ERROS will inform you who added/updated the order line and when.
|