Uniface (язык программирования) - Uniface (programming language)

Uniface
Логотип Payoff RGB.svg
Оригинальный автор (ы)Внутренняя автоматизация (1984-1986)
Разработчики)Uniface (1986 – настоящее время)
Стабильный выпуск
Uniface 10.3.02 / 8 февраля 2019 г.; 21 месяц назад (2019-02-08)
Операционная системаWindows, Unix-подобный, Linux, IBM iSeries, CentOS
Доступно ванглийский
ТипИнтегрированная среда развития
ЛицензияКоммерческий
Интернет сайтуниформа.com

Uniface представляет собой платформу разработки и развертывания с низким уровнем кода для корпоративных приложений, которые могут работать в широком диапазоне сред выполнения, включая мобильные устройства, мэйнфреймы, веб, Сервис-Ориентированная Архитектура (SOA), Windows, Java EE и .СЕТЬ. Uniface - это управляемая моделями среда быстрой разработки приложений (RAD), используемая для создания критически важных приложений.

Приложения Uniface не зависят от базы данных и платформы. Uniface предоставляет платформу интеграции, которая позволяет приложениям Uniface интегрироваться со всеми основными продуктами СУБД, такими как Oracle, Microsoft SQL Server, MySQL и IBM DB2. Кроме того, Uniface также поддерживает файловые системы, такие как RMS (HP OpenVMS), последовательные файлы, текстовые файлы операционной системы и широкий спектр других технологий, таких как продукты на базе мэйнфреймов (CICS, IMS ), веб-сервисы, SMTP и Поп электронное письмо, LDAP каталоги, .СЕТЬ, ActiveX, Компонентная объектная модель (COM), C (++) программы и Ява. Uniface работает под Майкрософт Виндоус, различные вкусы Unix, Linux, CentOS и IBM iSeries.

Uniface может использоваться в сложных системах, которые поддерживают критически важные корпоративные данные, поддерживающие критически важные бизнес-процессы, такие как точки продаж и онлайн-покупки через Интернет, финансовые транзакции, администрирование заработной платы и управление запасами. В настоящее время он используется тысячами компаний в более чем 30 странах с эффективной установленной базой в миллионы конечных пользователей. Приложения Uniface варьируются от клиент-серверных до Интернета и от ввода данных до рабочего процесса, а также порталов, к которым осуществляется доступ локально, через интрасети и Интернет.

Первоначально разработанный в Нидерландах компанией Inside Automation, позже Uniface B.V., продукт и компания были приобретены базирующейся в Детройте Compuware Corp в 1994 году, а в 2014 году была приобретена Marlin Equity Partners и теперь является независимой компанией. Штаб-квартира Uniface B.V. находится в Амстердам.

Продукты Uniface

Uniface Development Environment - интегрированный набор инструментов для моделирования, реализации, компиляции, отладки и распространения приложений.

Приложения Uniface, включая перечисленные выше, используют общую инфраструктуру времени выполнения, состоящую из:

  • Uniface Runtime Engine - зависящий от платформы процесс, который интерпретирует и выполняет скомпилированные компоненты и библиотеки приложения.
  • Uniface Router - многопоточный процесс, отвечающий за межпроцессное взаимодействие в приложениях Uniface. Он запускает и останавливает процессы Uniface Server, выполняет балансировку нагрузки и передает сообщения между различными процессами Uniface.
  • Uniface Server - серверный процесс, который позволяет клиентам Uniface получать доступ к удаленным ресурсам или выполнять удаленные компоненты. Он действует как сервер приложений, сервер данных и файловый сервер.
  • Репозиторий Uniface - SQL -способная СУБД, используемая для хранения определений и свойств объектов разработки, моделей процессов и организаций, а также определений портала.
  • Веб-сервер - Uniface объединяет Apache Tomcat Server для разработки и тестирования веб-приложений, но любой веб-сервер может использоваться в производственной среде.
  • Сервлеты - сервлеты Java, которые обеспечивают связь между веб-сервером и Uniface Server для веб-приложений и веб-служб Uniface.
  • Коннекторы баз данных - драйверы, которые обрабатывают соединение между Uniface и множеством баз данных.
  • Инструменты интеграции - драйверы, компоненты и API-интерфейсы, которые обеспечивают обмен данными между Uniface и сторонними приложениями и технологиями, включая Java, CICS, IMS, LDAP, SMTP, POP, команды операционной системы, COM и многое другое.

Кроме того, Uniface Anywhere (ранее Uniface JTi или Java Thin Client Interface) может доставлять клиент-серверные приложения Uniface на любой компьютер, подключенный к Интернету, в качестве тонкого клиента.

Uniface - это платформа разработки и развертывания с низким уровнем кода, основанная на проприетарном языке процедурных сценариев (четвертого поколения) под названием Uniface Proc, который используется для кодирования поведения приложения. Uniface автоматизирует большинство операций ввода / вывода с помощью своего ядра и кода по умолчанию, поэтому не нужно кодировать многие фундаментальные действия.

Приложения Uniface

Приложения Uniface - это компонентные, независимые от инфраструктуры программы, которые могут создавать или использовать данные, хранящиеся в одной или нескольких базах данных или файловых системах. Это могут быть составные приложения, включающие компоненты, не относящиеся к Uniface, созданные с использованием других инструментов разработки, и они могут быть развернуты в распределенных клиент-серверных и веб-средах, как мобильные приложения или веб-службы, а также в средах мэйнфреймов.

Uniface имеет множество типов компонентов, которые предназначены для использования на разных уровнях многоуровневой архитектуры приложений.

Компоненты уровня представления отвечают за пользовательский интерфейс и включают:

  • Формы - интерактивные экраны для отображения и обновления данных в среде клиент / сервер.
  • Серверные страницы - интерактивные страницы для отображения и обновления данных в веб-среде.
  • Отчеты - макеты для представления данных в печатном виде.

Компоненты уровня бизнес-логики обрабатывают бизнес-правила и поведение, зависящее от задачи, и не имеют пользовательского интерфейса:

  • Службы - предоставляют функции обработки и бизнес-логики при вызове другими компонентами, локально или удаленно.
  • Службы сеансов - централизация сложных бизнес-правил, влияющих на несколько объектов данных, таких как поведение, связанное с конкретной задачей, транзакции и ссылочная целостность.
  • Entity Services - централизация простых бизнес-правил для отдельных объектов данных.

Уровень доступа к данным содержит физические структуры базы данных, зафиксированные в модели приложения Uniface. Uniface обеспечивает физический доступ к данным, инкапсулируя SQL в свои коннекторы СУБД. Доступ к сети и промежуточному программному обеспечению инкапсулируется драйверами промежуточного программного обеспечения и Uniface Router.

Механизм выполнения выполняет компоненты приложения. Он отображает компоненты презентации с помощью соответствующего коннектора пользовательского интерфейса (графического или символьного), а также отправляет и принимает данные через коннектор СУБД.

Разработка приложения

Приложения Uniface разрабатываются в среде разработки Uniface. Изначально можно было развиваться на яблоко и DEC платформы; сейчас же, Windows это поддерживаемая платформа для разработки.

Разработка приложений Uniface основана на моделях и компонентах. Структура данных, бизнес-правила и поведение приложения по умолчанию фиксируются в модели приложения. Определения модели можно повторно использовать и наследовать компонентами, которые могут переопределять унаследованные определения и обеспечивать поведение и характеристики, зависящие от компонентов. Шаблоны повышают производительность и обеспечивают согласованность при определении моделей.

Модель приложения

Модель приложения определяет сущности (таблицы), поля, ключи (индексы) и отношения вместе с ссылочной целостностью. Каждая сущность и поле в модели имеют свойства и набор триггеров. Бизнес-правила добавляются в модель декларативно путем установки свойств и процедурно путем добавления кода Proc (процедурный язык Uniface) в триггеры.

Триггеры - это контейнеры для кода. Некоторые триггеры представляют собой пользовательские или системные события, например «Событие получает фокус», «Чтение» или «Покинуть поле». Другие охватывают такие вопросы, как проверка или действуют как заполнители для методов, связанных с конкретным объектом.

Использование триггеров на уровне модели позволяет Uniface собирать свойства и поведение в бизнес-объектах, отделяя логические структуры данных от физических. Это позволяет один раз определить поведение по умолчанию для повторного использования во всем приложении, что ускоряет разработку и упрощает трехуровневую архитектуру приложения.

Каждая сущность (таблица) сначала определяется в модели приложения, откуда ее можно экспортировать в физическую базу данных в форме сценариев CREATE TABLE.

Составные части

Объекты, описанные в модели приложения, повторно используются компонентами. Разработчики встраивают объекты из модели в компонент, рисуя их на холсте макета (для компонентов презентации) или вставляя их в древовидное представление структуры компонента. Они также могут добавлять объекты на уровне компонентов, которых нет в модели приложения, такие как поля управления, меню и переменные компонентов.

Свойства и триггеры, определенные в модели приложения, наследуются путем копирования в компонент. Определения можно изменить на уровне компонентов, чтобы обеспечить определенные функции. Это разрывает связь между моделью приложения и компонентом (хотя можно восстановить связь с моделью). Если код модели или свойства изменяются на уровне модели, все компоненты, содержащие этот объект, необходимо только перекомпилировать, чтобы собрать новые определения. Это обеспечивает преимущества при обслуживании и гарантирует, что правила, связанные с объектом, доступны везде, где он используется.

Репозиторий Uniface

Uniface поддерживает базу данных собственных метаданных для целей повторного использования - модели приложений, определения компонентов, макеты компонентов, процедурный код и так далее. Репозиторий является проприетарным и предназначен для доступа через среду разработки Uniface, чтобы гарантировать целостность репозитория. Однако структура репозитория документирована, что позволяет (хотя и не рекомендуется) напрямую взаимодействовать с ним, например, для составления отчетов.

Используя централизованный репозиторий, разработку приложений можно разделить между группами разработчиков программного обеспечения. Uniface может интегрироваться с любым система контроля версий (VCS), который поддерживает спецификацию интерфейса управления общим исходным кодом Microsoft. Функциональность VCS, доступная в Uniface, зависит от используемой VCS, поскольку поставщики программного обеспечения по-разному интерпретировали и реализовали MS CSCC API.

Развертывание приложений

Приложения Uniface можно развертывать на платформах от мэйнфреймов до мобильных устройств без изменения кода. Компоненты (и другие объекты, такие как оболочки запуска, меню, панели инструментов (панели), глифы, глобальные и включенные записи Proc) компилируются в объекты среды выполнения, которые могут быть упакованы в zip-файлы и развернуты на любой платформе. Объекты среды выполнения выполняются с помощью виртуальной машины и интерпретатора, зависящего от платформы. (Позднее Java последовала за Uniface в этом отношении). Компоненты могут быть скомпилированы на одной машине и выполнены на другой, при условии наличия виртуальной машины Uniface.

Маршрутизатор Uniface и сервер Uniface делают Uniface масштабируемым, сбалансированным и позволяют выполнять процессы асинхронно.

Подключение к базе данных

Uniface получает доступ ко многим базам данных и файловым системам, которые он поддерживает, с помощью коннекторов баз данных (или драйверов). Коннекторы СУБД отображают и преобразуют типы данных Uniface в наиболее подходящий формат для конкретного носителя данных. Во время выполнения можно передавать параметры для вызова (или отключения) специфичных для базы данных расширений. При условии, что соединитель базы данных лицензирован, можно выполнять преобразование между разными источниками данных. Uniface также предоставляет API, интерфейс коннектора базы данных, который можно использовать для создания проприетарных коннекторов для любых SQL на основе базы данных.

Лицензирование

Лицензирование управляется с помощью Compuware Distributed License Manager (DLM), серверной системы распределения лицензий клиентам по запросу, что исключает необходимость их локального хранения.

История Uniface

Этот продукт, первоначально называвшийся UNIS, был создан в 1984 году в Нидерландах компанией Inside Automation, которую возглавлял Бодо Дуке с Фрицем Крессом в качестве технического директора. К 1986 году и продукт, и компания изменили свое название на Uniface. (Ранний логотип продукта включал красную заглавную букву A, которая отражала красную заглавную букву A в логотипе Inside Automation.)

Uniface был разработан на принципах Американского национального института стандартов (ANSI), 3-схемная архитектура. Впервые предложенный в 1975 году, это был стандартный подход к построению систем управления базами данных, состоящий из трех схем (или метамоделей):

  • Концептуальная схема - определение всех элементов данных и отношений между ними. Для каждой базы данных существует только одна концептуальная схема. Uniface реализует концептуальную схему как модель приложения (в различных версиях Uniface, известных как модель бизнес-объектов и объектная модель приложения).
  • Внешняя схема - различные внешние (пользовательские) представления данных. Для базы данных может быть много внешних схем. Uniface реализует внешние схемы как компоненты. В ходе эволюции Uniface Внешняя схема стала формами; скрытые формы, которые выполнялись в фоновом режиме без отображения пользователю, стали службами; службы разделены на службы сеансов для объектов бизнес-уровня и службы сущностей, которые могут быть бизнес-уровнем или уровнем данных. Формы, которые были напечатаны вместо отображения, стали компонентами отчета. Страница сервера (USP) была представлена ​​для веб-разработки, а позже была представлена ​​динамическая страница сервера для поддержки функциональности Web 2.0.
  • Внутренняя схема - определение физического представления хранимых данных. Uniface оставляет внутреннюю схему многим системам реляционных баз данных, к которым она может быть подключена, что делает ее независимой от базы данных.

Uniface был разработан на DEC VAX машина, использующая собственную систему управления файлами VAX RMS. Следы этого все еще видны в сегодняшнем продукте, поскольку в нем постоянно используется «ЗОЛОТОЙ» ключ менять режимы (Терминалы DEC VT на самом деле была золотая или желтая клавиша на клавиатуре. Сегодня «ЗОЛОТО» просто сопоставляется с цифровой клавиатурой + клавиша или функциональной клавишей).

Ранние версии продукта были связаны с РСУБД Sybase под названием FastBuild, хотя доступ только к этой базе данных не ограничивался.

Uniface постоянно развивается, чтобы справиться с новыми технологиями и архитектурами приложений. Это было критически важно для его успеха, поскольку приложения, созданные с помощью Uniface, можно переносить, обновлять и модернизировать без потери первоначальных инвестиций в разработку.

Версии Uniface

Uniface Версия 3 (1986): Uniface 3 был первым публичным релизом. Он имел поддержку нескольких баз данных (RMS, Oracle, C_ISAM, Ingres и RDB); интерпретация виртуальной машины; Редактор структуры, редактор текста и команд Uniface.

Uniface Версия 4 (1988): Uniface 4 улучшил текстовый редактор (теперь редактор форм), улучшил поддержку печати и отображения, представил поддержку MS-DOS и добавил интерфейс инструмента CASE.

Uniface Версия 5 (1990): Uniface 5 позволил развертывать клиент / сервер с введением удаленного доступа к базе данных через Polyserver. Он представил графический пользовательский интерфейс через универсальный интерфейс презентаций (UPI). Поддержка баз данных была расширена до 13 баз данных и файловых систем, и теперь она доступна в DOS, VMS, OS / 2, Stratus VOS и UNIX. Также была введена поддержка японских символов.

Uniface Six (1994): Uniface Six завершила переход на полностью графические среды разработки. Он включал в себя средство рисования графических форм и редактор моделей приложений; улучшенное развертывание через библиотеки динамических объектов; добавлена ​​поддержка Microsoft Object Linking and Embedding (OLE); включена поддержка Apple Macintosh; добавлен контроль разрешений; интегрированный контроль версий; добавлены инструменты отчетности Personal Series (хотя они были позже удалены, когда сторонняя сторона решила не улучшать свой продукт); более широкая поддержка платформы.

Uniface Seven (1997): Uniface Seven сосредоточился на интеграции компонентов как для Uniface, так и для внешних компонентов посредством внедрения архитектуры Uniface Request Broker (URB). URB поддерживает двунаправленную, синхронную или асинхронную связь между компонентами. Помимо удаленного доступа к данным, он добавил многораздельные серверы приложений и обмен сообщениями. Uniface Seven также предоставил первые инструменты веб-разработки и развертывания Uniface с сервером веб-приложений и Uniface Request Dispatcher.

Другие улучшения включали новые типы компонентов (службы, страницы сервера, отчеты); Редактор подписей и сборочный инструмент; подсистемы; операции; немодальные формы; экземпляры компонентов; улучшенные редакторы и навигация; расширенный плагин редактора; новый отладчик; интегрированная онлайн-справка; шаблоны компонентов; Сервер веб-приложений; улучшенная проверка; Сервер имен Uniface и графический менеджер разделов.

В Uniface Seven также были представлены несколько других инструментов:

  • Инструмент для моделирования, интеграции и управления бизнес-процессами. Эта функция стала Optimal Flow в Uniface 8, затем Uniface Flow в Uniface 9.
  • Портал бизнес-интеграции, первоначально называвшийся Optimal View, а затем Uniface View.
  • Uniface - серверное решение для тонких клиентов для доставки веб-приложений через Интернет или интранет, обеспечивающее высокую производительность при подключениях с низкой пропускной способностью.

Uniface 8 (2001): Uniface 8 привел к серьезным изменениям в области интеграции процессов. Маршрутизатор Uniface и сервер Uniface обеспечивают масштабируемое сбалансированное развертывание. Диспетчер веб-запросов (WRD) заменил URD, повысив производительность. Была введена поддержка веб-сервисов с SOAP и XML. Были улучшены возможности подключения и взаимодействия, и был представлен метод реализации трехуровневой архитектуры приложений. Добавлены коннекторы для SOAP, COM, CORBA и MQSeries; улучшено управление окнами и файлами; была представлена ​​новая утилита развертывания, улучшающая распространение приложений; добавлены подтипы компонентов для трехуровневой архитектуры; были добавлены дескрипторы для экземпляров компонентов и добавлена ​​автоматическая сборка мусора.

Uniface 9 (2006 г.): Выпуск Uniface 9 сфокусирован на улучшении графического интерфейса и удобства использования, тонком развертывании и интеграции. Была добавлена ​​поддержка Windows Mobile, а настройка и развертывание были упрощены с использованием заархивированных архивов. Поддержка Unicode улучшила и без того впечатляющую многоязычность, а улучшения в веб-разработке и обработке XML привели Uniface в большее соответствие с отраслевыми стандартами. Динамическое перемещение поля в компонентах формы устранило некоторые старые препятствия для гибкости.

Среди других функций - улучшенная обработка цвета, динамические меню, XML API, редактор диаграмм для модели приложения; функциональность перекрестных ссылок для поддержки рефакторинга и развертывания, а также расширенная функциональность веб-сервисов.

Uniface 9.4 (2010 г.): Несмотря на то, что Uniface 9.4 был точечным выпуском, он представил достаточно важных новых функций, чтобы считаться основным выпуском. Основное внимание уделялось функциональным возможностям полнофункциональных интернет-приложений (RIA), что позволяло разрабатывать приложения Web 2.0 с широкими функциональными возможностями клиент-серверных приложений с использованием тех же инструментов и методологий, которые использовались для разработки классических клиент-серверных приложений. Была существенно улучшена поддержка языка и локали, а также поддержка электронной почты в формате HTML, а также безопасность и шифрование.

Uniface 9,5 (2011 г.): Выпуск Uniface 9.5 улучшил интеграцию продукта с World Wide Web. Внедрение JavaScript API вместе с другими улучшениями означает, что обработка на стороне клиента может принести преимущества в области производительности, интеграции, функциональности и удобства для пользователя. Возможности управления сеансом были расширены для повышения безопасности. А обработка веб-служб теперь полностью поддерживает сложные типы данных как для служб SOAP, так и для служб RESTful. Также были улучшения для тех клиентов, у которых есть критически важные для бизнеса клиент-серверные приложения, особенно в области виджета сетки.

Uniface 9.6 (2012): Uniface 9.6 предоставил значительный пересмотр возможностей графического интерфейса клиент-сервер Uniface. Функциональность включала элемент управления HTML5, использующий API-интерфейсы JavaScript, изначально поставляемые для Интернета, расширенный элемент управления вкладками и обновления обработки изображений, кнопки и другие улучшения. Контейнер формы позволяет создавать «формы внутри форм», что позволяет создавать динамичный пользовательский интерфейс.

В дополнение к усовершенствованиям графического интерфейса Uniface 9.6 также внесла улучшения в возможности Uniface Web и Web Services, включая возможность динамического изменения объема веб-транзакций, разбиения на страницы и обработки списков совпадений, а также улучшенные возможности WSDL и XML.

Uniface 9.7 (2015): Uniface 9.7 внесла значительные улучшения в разработку веб-приложений, в том числе расширения для облегчения разработки и развертывания мобильных приложений на основе гибридных приложений и улучшения многоканальный возможность разработки / развертывания Uniface. Это будет значительно расширено с выпуском Uniface 9.7.02 (май 2016 г.), обеспечивающим интеграцию с поставщиком услуг сборки, что позволяет упаковывать гибридные приложения для распространения через Google Play и Apple Store.

Помимо улучшений для мобильных устройств и Интернета, в Uniface 9.7 были реализованы улучшения интеграции и клиент-сервер (MS Windows 10).

Среда разработки Uniface (UDE) была модернизирована, добавлен новый внешний вид, новый внешний вид переднего экрана и обновленный визуальный интерфейс пользователя. Подход Uniface к модернизации своего UDE был представлен как на конференциях разработчиков, так и на сайте их сообщества. Uniface.info чтобы помочь консультировать и продвигать модернизацию клиент-сервер для существующей клиентской базы.

Uniface 9.7 предоставляет два новых драйвера баз данных, позволяющих подключаться к PostgreSQL и SAP Hana.

Uniface 10 (2015): Uniface 10 предоставил переписанную среду разработки, основанную на основных концепциях интегрированных сред разработки (IDE). Первоначальный выпуск, позиционируемый как предварительная версия или версия для раннего внедрения, продемонстрировал значительный переход от собственного стиля разработки к высокопроизводительной реализации разработка, отвечающая отраслевым стандартам, позволяющая разрабатывать веб-приложения.

В мае 2015 года для первых пользователей была выпущена первая версия Uniface 10 для тестирования и разработки веб-приложений. Полная корпоративная версия Uniface 10 была выпущена в сентябре 2016 года, обеспечивая разработку для мобильных устройств и клиент-сервер, а также способ миграции, позволяющий существующей клиентской базе перенести свои приложения на Uniface 10.

Рекомендации

внешняя ссылка

  • Официальный веб-сайт Отредактируйте это в Викиданных
  • Nextcom Чешская компания, развивающаяся в Uniface
  • www.udev.info создание лучших веб-приложений с помощью Uniface (Учебники и инструкции)
  • Сообщество Uniface Веб-сайт сообщества Uniface
  • T.U.R.F. Независимый форум по теме Uniface
  • march-hare.com UD6: хранить репозиторий Uniface в текстовых файлах и использовать Uniface с Git
  • TCCO.NL Дизайнер-разработчик Шаблоны Uniface-FAST - ускоряет процесс разработки Uniface.
  • Кортис Лентини Итальянская компания, развивающаяся в Uniface
  • Системы Fullcom Чешская компания, развивающаяся в Uniface
  • theu.info Форум профессиональных разработчиков Uniface, посвященный лучшим практикам разработки Uniface
  • Software Imaging Limited Британская компания-разработчик программного обеспечения, предоставляющая консультационные услуги Uniface ряду клиентов по всему миру.