Pull to refresh

Action Request System: Знакомство

Reading time 5 min
Views 7.6K
Прошло довольно много времени с тех пор как я устроился на новую работу. С того момента, я, собственно и начал изучать эту новую для себя технологию. Предлагаю вам изучить ее вместе со мной, по мере написания/чтения новых записей по этой теме. Упоминаний в рунете о ней я нашел крайне мало, поэтому решил восполнить брешь. Итак, начнем.

Что это такое?


В принципе, этот параграф вы можете прочитать и в английской википедии (хотя материал все-таки и различается: тут более углублен, в вики же, более поверхностный. Зато больше охват) так что он к прочтению желателен. Для начала, расшифруем аббревиатуру: Action Request System. Правда адекватного предназначению системы перевода я дать так и не смог. Что ж, разберем функционал по косточкам и каждый сам для себя решит, как же правильно перевести это название системы действий по запросам. Создала ее американская компания BMC. Это приложение, имеющее клиент-серверную архитектуру. Окружение клиента можно разделить на два типа: для пользователей (непосредственно, среда, которая рисует все формочки, берет данные и так далее) и для разработчиков — IDE на платформе Eclipse, в которой и разрабатываются все пользовательские приложения.


Структура AR System


Для начала, скажу о том, как и где можно эту систему запускать.
Официально поддерживаются следующие платформы (выдержка из документации):
  • 32 или 64 bit x86 PC — Windows 2003 (32 или x64)
  • Sun SPARC — Solaris 9
  • IBM pSeries и Power5 или выше — 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)
  • 64 bit PC — Novell SuSE Linux 9 (только x64)
Однако, зачастую, при установке, без доводки напильником просто не обойтись (был опыт установки на Win 2003 64 bit, больше не хочется). В плане поддержки БД, ARS тоже может похвастаться неплохим списком: Oracle, MS SQL, Informix, Sybase, DB2.

Теперь приведем общую структуру системы:
image

Рассматривая схему с точки зрения пользователя (представлена выше), архитектуру ARS можно разбить на 4 уровня:
  1. Уровень клиента — либо клиентское приложение из состава Remedy User либо веб-клиент, не требующий установки дополнительного ПО;
  2. Mid Tier — уровень, появившийся сравнительно недавно в связи с добавлением веб-клиента, который обеспечивает связь веб-браузера с сервером AR System;
  3. Сервер ARS — непосредственно само серверное приложение, занимающееся обработкой запросов пользователей;
  4. Уровень данных — базы данных, в которых ARS хранит всю информацию о созданных на ее основе приложений.
Ключевые понятия здесь — это так называемые:
  • формы;
  • меню;
  • активные ссылки;
  • фильтры;
  • эскалации.
На основе этих элементов создаются и остальные, перечисленные в вики по ссылке выше (гайды, приложения и так далее).
То есть, набор форм, ссылок, фильтров и эскалаций можно номинально назвать приложением. Разберем все эти непонятные слова по пунктам.

Формы

Формы — это как ни странно самые что ни на есть классические формы в понимании визуального программирования. То есть, некое окно на экране, где могут быть размещены многочисленные управляющие элементы, такие как: кнопки, текстовые поля, выпадающие списки, чекбоксы и так далее. Формы бывают нескольких видов, только один из которых предназначен для хранения данных, записываемых в ее поля. Но об этом будет рассказано в более поздних записях на эту тему. Ниже приведен совершенно типичный пример формы в ARS.



Меню

Это не те привычные менюшки, которые вы привыкли видеть в приложениях (Файл->Действие, Помощь->О программе и так далее). Эти меню больше похожи на выпадающие списки, после щелчка по элементу которого, в поле, привязанном к данному меню будет введено значение выбранного элемента. Например есть текстовое поле (поле Dynamic Group Access):



При клике на кнопку все-таки появится менюшка привычного всем вида, НО рядом с кнопкой. К примеру, мы хотим ввести в туда страну, причем не ее имя, а ее условный код (uk, rus, fr, ge). Меню, к примеру, двух уровней, где первый уровень — материк, а второй непосредственно страна. В выпадающем меню будут выведены привычные нам имена (United Kingdom, Russia, Germany), а при клике по пункту — появится его короткое обозначение. Таким образом, получается что-то между обычным меню и выпадающим списком.

Активные ссылки

Вот тут название довольно странное. Почему они так названы (Active Links) доподлинно известно, наверное, только небольшому кругу разработчиков из BMC Software. Нам же остается строить догадки. Впрочем, суть их довольно проста. Это некоторые объекты, которые срабатывают на действие пользователя, на которое они привязаны:
  • щелчок по кнопке;
  • сохранение информации в форме;
  • наведение курсора мыши на метку чекбокса;
  • и так далее.
То есть, если в предыдущем пункте мы могли создать красивую форму (все зависит исключительно от ваших творческих способностей), то теперь эта форма «ожила» и может совершать какие-то действия. Например, выдать ошибку о том что балда-юзер не заполнил все необходимые поля в форме.

Фильтры

Фильтры объяснить проще всего людям, знакомым с базами данных как триггеры, то есть, это по сути то же самое что и активные ссылки, но выполняющиеся постфактум на стороне сервера. Людям, не знакомым с базами данных можно дать следующее объяснение. Представьте что вы дегустируете отличное французское вино с целью определить сорт и урожай винограда, но вам не показывают ни бутылку ни этикетку. Когда вы вдыхаете букет вина это можно сравнить с активной ссылкой, а когда вы сделали глоток и уже почувствовали вкус — сработал фильтр (вкусовые рецепторы), который рассказал вам о вкусе этого вина. Конечно, опытные сомелье начнут со мной спорить, доказывая что с задачей можно справится и просто вдохнув аромат, но зачем чесать правое ухо левой рукой?

Эскалации

Их можно сравнить с Cron в *NIX или планировщиком задач в Microsoft Windows. Это практически независимые элементы, которые выполняют заданные действия в определенное время. Например, каждую субботу в 23:00 может очищаться таблица со временными данными.

Другие объекты

Как уже было сказано, существуют и другие объекты более высокого уровня чем перечисленные. К ним можно отнести:
  1. Гайды активных ссылок — по сути объединение ссылок, выполняющиеся одна за другой;
  2. Гайды фильтров — аналогично ссылкам;
  3. Приложения — служат для логической группировки форм с целью их более удобного поиска.

Зачем это надо?


А действительно, зачем? Не задумывались на протяжении всей статьи? Вот и правильно. На самом деле, ARS — это отличная платформа для быстрого создания приложений, которые могут работать как в специальной среде BMC Remedy ARS User так и в вашем веб-браузере. Разработчики практически полностью лишаются необходимости писать код, за исключением редких случаев, где необходимо написать прямой запрос к БД. Такие разработчики, скажем честно, дешевы для компании, в плане минимальных затрат на их обучение и ввода в проект. То есть, если мы имеем большой проект, в котором не хватает рабочих рук, мы можем просто нанять разработчика со стороны, обучить его за пару недель и посадить работать. Мечта, не правда ли?

Ссылки по теме:
ARS в Википдии
Советы и решения проблем по ARS
Сайт компании разработчика
Tags:
Hubs:
+6
Comments 33
Comments Comments 33

Articles