18-ая Ежегодная Конференция пользователей программных продуктов Progress

7 ноября 2019-го года в Москве состоится очередная конференция пользователей Progress. Регистрация участников уже открыта — кнопка регистрации в самом конце анонса мероприятия

В рамках конференции устроен конкурс администраторов СУБД. Подробности и регистрация на конкурс — на сайте Роcсийской группы пользователей Progress. Торопитесь, до конца регистрации осталось 9 дней!

Археология

Был такой журнал — Progressions

Как получить бесплатно среду разработки OE 11.6

В конце прошлого года Progress выпустил OpenEdge 11.6 Developer Kit Classroom Edition. Это полноценный OE Developer Studio 11.6 64-bit с новым сервером приложений Pacific Appserver, «обычным» сервером приложений, OE BPM Studio и OE Business Process Server. Присутствует и триальный Telerik Winforms.

На эту версию спокойно накатывается первый сервис-пак, установка проходит в silent-режиме, но если вы её хотите кастомизировать, то можно посмотреть oedk_response.ini в пакете установки (к примеру — мне нравится ставить OE только в каталог c:\dlc<версия>).

Русскоязычным пользователям понадобится докачать пакет PROGRESS_OE_11.6_WIN_64_SUPPROMSGS.zip  (например, можно запросить Progress Technologies) — почему-то Progress не включает этот пакет «остальных» языков в дистрибутив. Полагаю, что с развитием инструментария сборки custom дистрибутивов нужда в этом исчезнет.

Ссылка на страницу. Если у вас есть корпоративный аккаунт — не качайте с него. Я зарегистрировался «отдельно» и без проблем получил ссылку, а с корпоративным попадал на бесконечную переадресацию. Это было осенью 2015-го года и как сейчас — не знаю.

Как получить список задач с параметрами запуска процесса

И еще про «устаревшие» технологии, которые можно (и даже нужно) перевести на современные рельсы. К примеру у меня долгое время работает утилита, которая получает список бекграунд-процессов на Windows-сервере и совершает с запущенными процессами некоторые действия — смотрит логи, проверяет — не завис ли процесс, запускает или останавливает его.

Как получался список программ и параметров запуска? Конечно же утилитой wmic (Windows Management Instrumentation) делался вывод в файл и он потом разбирался в цикле.
Теперь аналогичную задачу можно делать и с помощью .Net — намного легче читается код и нет форматированного ввода из потока.

USING System.*.
USING System.Management.* FROM ASSEMBLY.
 
&GLOBAL-DEFINE mqworker _progres.exe
 
DEF VAR oProcess     AS ManagementObject                                      NO-UNDO.
DEF VAR oEnumeration AS ManagementObjectCollection+ManagementObjectEnumerator NO-UNDO.
DEF VAR oSearcher    AS ManagementObjectSearcher                              NO-UNDO.
DEF VAR oQuery       AS SelectQuery                                           NO-UNDO.
 
 
oQuery = NEW System.Management.SelectQuery("Win32_Process","Name=~"{&mqworker}~"").
oSearcher = NEW ManagementObjectSearcher(oQuery).
oEnumeration = oSearcher:GET():GetEnumerator().
 
DO WHILE oEnumeration:MoveNext() = TRUE:
  oProcess = CAST(oEnumeration:Current,ManagementObject).  
 
  MESSAGE "ProcessName: " oProcess:Item["Name"]:ToString() ","
          oProcess:Item["CommandLine"]:ToString() "," 
          oProcess:Item["ProcessId"]:ToString()
   VIEW-AS ALERT-BOX.
 
END.

Напомню, что использовать .Net-объекты из Windows-сессий можно только полноценно в v11. В версии 10.2B мы ограничены только prowin32 и WebClient-сессиями. Это означает, что сервер приложений в v10 .Net звать не может.

Для корректной работы данного примера нам необходимо сделать еще файл-манифест и положить его в свой PROPATH. Для примера запустим prowin.exe (или prowin32.exe) и пойдем в Tools -> Assembly References. Далее — File-> New и добавляем пространство System.Management в Assembly References и сохраняем результат в assemblies.xml

Переключение раскладки клавиатуры в GUI OpenEdge

Практически в каждом Windows-приложении используется winAPI. Но, используя современные версии OpenEdge это использование можно свести к минимуму.

К примеру, нам нужно переключить раскладку клавиатуры на каком-либо поле. Для этого надо объявить две внешние процедуры и позвать их с определенными значениями — 00000409 / 00000419.

PROCEDURE LoadKeyboardLayoutA EXTERNAL "user32" :
  DEFINE INPUT  PARAMETER P1 AS CHAR.
  DEFINE INPUT  PARAMETER P2 AS LONG.
  DEFINE RETURN PARAMETER pret AS LONG.
END PROCEDURE.
 
PROCEDURE ActivateKeyboardLayout EXTERNAL "user32" :
    DEFINE INPUT PARAMETER P1 AS LONG.
    DEFINE INPUT PARAMETER P2 AS LONG.
END PROCEDURE.
 
DEF VAR iLang AS INT NO-UNDO.
    RUN LoadKeyboardLayoutA (INPUT pcLayoutNum, INPUT 0, OUTPUT iLang).
    RUN ActivateKeyboardLayout (INPUT iLang, INPUT 0).

Но я заметил, что на некоторых наших машинах такой код может выполняться около двух секунд. Я решил глубоко не копать, а использовать всю мощь .Net. В итоге получился вот такой код-песочница, который исполняется быстро.

USING System.Windows.Forms.*.
USING System.Globalization.CultureInfo.
 
DEF VAR ruRU AS CLASS CultureInfo.
DEF VAR enUS AS CLASS CultureInfo.
 
DEF VAR rus AS CHAR FORMAT "X(30)".
DEF VAR eng AS CHAR FORMAT "X(30)".
 
ASSIGN 
   ruRU = NEW CultureInfo( "ru-RU" ).
   enUS = NEW CultureInfo( "en-US" ).
 
InputLanguage:CurrentInputLanguage = InputLanguage:FromCulture(ruRU).
UPDATE rus.
 
InputLanguage:CurrentInputLanguage = InputLanguage:FromCulture(enUS).
UPDATE eng.

А.Топорец — Контроль качества кода с использованием PROLINT

Контроль качества исходного ABL кода с использованием PROLINT

Топорец А. Ю., заместитель Руководителя департамента разработки банковских систем
ЗАО «Банковские Информационные Системы»

Контроль качества исходного кода – необходимая составляющая в
процессе разработки успешной информационной системы.
bqLint — инструмент для автоматизации проверки исходного кода
Progress 4GL (OpenEdge ABL). Исходный код проверяется на
корректность и на соответствие необходимым стандартам
программирования. Инструмент создан в результате модификации и
расширения открытого инструмента ProLint.
В докладе рассмотрен опыт автоматизации контроля исходного кода в
компании БИС. Приведено краткое описание инструмента. Большое
внимание уделено практическим вопросам контроля качества
исходного кода в рамках промышленной разработки. Указаны и
преимущества и трудности, с которыми пришлось столкнуться.
Описаны доработки и расширения инструмента, созданные в процессе
интеграции в технологию разработки сложного программного
комплекса.

В.Туркин. OpenEdge — все, что Вам нужно!

Туркин В. В., ведущий специалист по интеграционным решениям, Progress Technologies

OpenEdge за последнее время вышел далеко за пределы классической СУБД.
Сегодня это платформа для разработки приложений, правил и бизнес процессов.
В данном докладе будет рассказано о возможностях которые дает данный продукт в области
системной интеграции Sonic ESB, разработки приложений по управлению бизнес-правилами
BRMS Corticon и бизнес-процессами OpenEdge BPM.

Sunil Belgaonkar — OpenEdge 11.6 and Beyond: Creating Compelling Business Applications

OpenEdge 11.6 and Beyond: Creating Compelling Business Applications

Сунил Белджаонкар (Sunil Belgaonkar), Director of OpenEdge Solutions Strategy, Progress Software

OE — полноценный набор инструментов для создания эффективных приложений.
Что нового в OpenEdge v11.6.
— Дальнейший план развития OpenEdge.
— Эффективные способы модернизации ваших OE приложений.
— OpenEdge Developer Studio – сегодня и завтра.
— Создание эффективных UI.

Gary Clink, Как сделать цифровое предприятие реальностью

Progress Software: Making Digital Enterprise A Reality

Гэри Клинк (Gary Clink),Senior Solution Engineering Manager, EMEA, Progress Software

Быстрый старт Цифрового Предприятия.
Telerik – фреймоворки и инструменты разработки приложений для создания передовых приложений.
KendoUI – современный пользовательский интерфейс в Ваших руках.

Платформа Telerik – построение мобильных приложений для iOS, Android и Windows Phone.
Telerik и OpenEdge – мощная объединенная платформа для бизнес-приложений.

Olf Jaennsch, Преобразуя идеи в бизнес — реальность

Turning Ideas Into Business Reality
Олф Йенш (Olf Jaennsch), Regional Vice-President, South, Central and Eastern Europe, Progress Software.