Как получить бесплатно среду разработки 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.

Юрий Гусев. Приветственное слово участникам конференции

Приветственное слово к участникам конференции.
Юрий Гусев, генеральный директор, Progress Technologies

Конференция российских пользователей OpenEdge 2015

Давно не обновлял блог, хочу исправиться.

Как вы все знаете в октябре в Москве прошла конференция пользователей продуктов Progress в России. Как и в прошлые годы конференция состояла из общей части и двух последующих параллельных сессий. Я отснял и разместил (ну и продолжаю размещать в youtube и блоге) видео докладчиков с общей части и трека Progress. Интеграционный трек снять не удалось, а жаль.

Сама конференция проходила за месяц до европейской EMEA PUG Challenge 2015 в Дании и тем было интересней послушать общую часть.

На всякий случай размещаю ссылку на страницу мероприятия (там можно найти и программу)

За день до конференции Валера Башкатов презентовал в Москве BravePoint’овский (сейчас входят в Progress) Pro2 (средство онлайн-репликации данных в сторонние БД, например такие, как Oracle или MS SQL для тех, кто не хочет писать это сам) и делал краткий обзор Pacific Application Server.

К сожалению, я не попал на этот семинар, поэтому найду и размещу ссылку на пятидневный вебинар Валеры, посвященный этому серверу приложений.

Вернёмся к общей части — наиболее интересной частью для меня стал доклад Сунила Бенджаонкара, Директора стратегического развития решений OpenEdge. Он рассказал о «дорожной карте» развития OpenEdge и о интеграции купленного в прошлом году Telerik в приложения OE.  К сожалению, у нас в России мало (мне практически неизвестно) решений и разработок, которые используют современные технологии OE в плане UI и архитектуры. Всё больше ChUI… Ну у нас adm2 и трёхзвенка. А картинки и возможности работы с нормальным UI (Telerik Kendo UI — web или Telerik WinForms — win32/64) у OpenEdge просто отличные. То есть, сейчас ( как и 20 лет назад) OpenEdge стал очень простым средством разработки приложений на языке Progress 4GL (или OpenEdge ABL — кому как нравится), который в своём языке/инструментарии включает мощные и простые конструкции доступа к данным и построения современного пользовательского интерфейса. Естественно, не забыты и Infragistic UltraControls (актуально для тех, кто в них вложился).

Progress в своих презентациях делает акцент на web, но и направление «толстых» клиентов не забывает.

Собственно посмотреть как легко и просто создать простое приложение можно в докладе Гари Клинка — он об этом там рассказывает.

Вячеслав Туркин рассказал о применении Corticon и OpenEdge BPM, присматриваюсь всё, тем более цены там вкусные.

Разработчикам обязательно надо посмотреть опыт использования Prolint в БИС’е.