It has been quite a while since I got a new job. From that moment on, I actually began to learn this new technology for myself. I suggest you study it with me, as you write / read new entries on this topic. I found very few mentions in runet about her, so I decided to fill the gap. So, let's begin.
What it is?
In principle, you can read this paragraph in the
English Wikipedia (although the material still differs: it is more profound, the wiki is more superficial. But more coverage), so it is desirable to read. First, let's spell out the abbreviation: Action Request System. True, I could not give an adequate translation system. Well, let us analyze the functionality of the bones, and everyone decides for himself how to correctly translate this name of the system of actions upon requests. It was created by the American company BMC. This application has a client-server architecture. The client environment can be divided into two types: for users (directly, an environment that draws all the forms, takes data, and so on) and for developers, an IDE on the Eclipse platform, in which all user applications are developed.
AR System Structure
For a start, I will talk about how and where you can run this system.
The following platforms are officially supported (extract from the documentation):
- 32 or 64 bit x86 PC - Windows 2003 (32 or x64)
- Sun SPARC - Solaris 9
- IBM pSeries and Power5 or higher - IBM AIX 5L 5.3
- PA-RISC - HP-UX 11iv2
- HP Integrity / Itanium - HP-UX 11iv2
- 64 bit PC - Red Hat Enterprise Linux 4 (x64 only)
- 64 bit PC - Novell SuSE Linux 9 (x64 only)
However, often, during installation, you just can't do without file debugging (there was an installation experience on Win 2003 64 bit, no longer would be desirable). In terms of database support, ARS also boasts a good list: Oracle, MS SQL, Informix, Sybase, DB2.
')
Now we give the general structure of the system:

Considering the scheme from the user's point of view (presented above), the ARS architecture can be divided into 4 levels:
- Client level - either a client application from Remedy User or a web client that does not require additional software installation;
- Mid Tier - a level that appeared relatively recently in connection with the addition of a web client that provides a web browser with the AR System server;
- The ARS server is the server application itself, which handles user requests;
- The data tier is a database in which ARS stores all information about applications created on its basis.
Key concepts here are so-called:
- forms;
- menu;
- active links;
- filters;
- escalation.
On the basis of these elements, the rest are also created, listed in the wiki at the link above (guides, applications, and so on).
That is, a set of forms, links, filters and escalations can be nominally called an application. Let us examine all these incomprehensible words point by point.
Forms
Forms are strangely enough the most classic forms in the understanding of visual programming. That is, a certain window on the screen where numerous control elements can be placed, such as: buttons, text fields, drop-down lists, checkboxes, and so on. Forms are of several types, only one of which is intended for storing data recorded in its fields. But this will be discussed in later posts on this topic. Below is a completely typical example of a form in ARS.

Menu
These are not the usual menus that you used to see in applications (File-> Action, Help-> About the program, and so on). These menus are more like drop-down lists, after clicking on an element of which, the value of the selected element will be entered in the field associated with this menu. For example, there is a text field (Dynamic Group Access field):

When you click on the button, the menu of the usual form will appear, BUT next to the button. For example, we want to introduce a country into the country, and not its name, but its conditional code (uk, rus, fr, ge). Menu, for example, two levels, where the first level - the mainland, and the second directly the country. The names familiar to us (United Kingdom, Russia, Germany) will be displayed in the drop-down menu, and when you click on an item, its short designation will appear. Thus, something turns out between the usual menu and the drop-down list.
Active Links
That's where the name is rather strange. Why they are so named (Active Links) is probably known for certain only to a small circle of developers from BMC Software. It remains for us to speculate. However, the essence of them is quite simple. These are some objects that are triggered by the user action to which they are attached:
- click on the button;
- saving information in the form;
- hovering the mouse over the checkbox label;
- and so on.
That is, if in the previous paragraph we could create a beautiful form (it all depends solely on your creative abilities), now this form has “come to life” and can perform some actions. For example, to give an error message that the balda-user did not fill in all the required fields in the form.
Filters
Filters are the easiest to explain to people familiar with databases as triggers, that is, they are essentially the same as active links, but are executed after the fact on the server side. People who are not familiar with databases can be given the following explanation. Imagine that you are tasting excellent French wine in order to determine the variety and crop of grapes, but you are not shown a bottle or a label. When you inhale a bouquet of wine, this can be compared with the active link, and when you took a sip and already felt the taste - the filter (taste buds) worked, which told you about the taste of this wine. Of course, experienced sommeliers will start arguing with me, proving that you can cope with the task and just inhaling the scent, but why scratch your right ear with your left hand?
Escalation
They can be compared to Cron in * NIX or Task Scheduler in Microsoft Windows. These are practically independent elements that perform specified actions at a specific time. For example, every Saturday at 23:00 a table with time data may be cleared.
Other objects
As already mentioned, there are other objects of a higher level than those listed. These include:
- Guides of active links - essentially a union of links that are executed one after another;
- Filter guides - similar to links;
- Applications - serve for logical grouping of forms for the purpose of their more convenient search.
Why is this necessary?
And really, why? Have you ever thought throughout the article? That's right. In fact, ARS is an excellent platform for quickly creating applications that can work both in the special environment of the BMC Remedy ARS User and in your web browser. Developers are almost completely deprived of the need to write code, except in rare cases where it is necessary to write a direct query to the database. Such developers, to be honest, are cheap for the company, in terms of minimum costs for their training and input into the project. That is, if we have a large project that doesn’t have enough hands, we can simply hire a developer from the side, train him in a couple of weeks and put him to work. A dream, isn't it?
Related Links:
-
ARS in Wikipdia-
Tips and solutions for ARS-
Developer company site