В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Оригинальный автор(ы) | Внутренняя автоматизация (1984–1986) |
---|---|
Разработчик(и) | Uniface (1986–настоящее время) |
Стабильный релиз | Uniface 10.4.03.001 / 23 октября 2024 г. ( 2024-10-23 ) |
Операционная система | Windows , Unix-подобные , Linux , IBM i , OpenVMS |
Доступно в | Английский |
Тип | Интегрированная среда разработки |
Лицензия | Коммерческий |
Веб-сайт | www.rocketsoftware.com/welcome-uniface |
Uniface — это платформа для разработки и развертывания корпоративных приложений с малым объемом кода [ требуется ссылка ] , которая может работать в широком диапазоне сред выполнения, включая мобильные устройства , мэйнфреймы , веб-приложения, сервисно-ориентированную архитектуру (SOA), Windows , Java EE и .NET . [ требуется ссылка ] Uniface используется для создания критически важных приложений. [ требуется ссылка ]
Приложения Uniface не зависят от платформы и базы данных. [ требуется цитата ] Uniface предоставляет интеграционную среду, которая позволяет приложениям Uniface интегрироваться со всеми основными продуктами СУБД, такими как Oracle , Microsoft SQL Server , MySQL и IBM Db2 . [ требуется цитата ] Кроме того, Uniface также поддерживает файловые системы, такие как RMS , последовательные файлы, текстовые файлы операционной системы и широкий спектр других технологий, таких как продукты на базе мэйнфреймов IBM ( CICS , IMS ), веб-сервисы , SMTP , электронную почту POP , каталоги LDAP , .NET , ActiveX , Component Object Model (COM), программы C(++) и Java . Uniface работает под управлением Microsoft Windows , различных версий Unix , Linux , OpenVMS и IBM i .
Uniface можно использовать в сложных системах, которые поддерживают корпоративные данные, поддерживающие бизнес-процессы, такие как POS-терминалы и интернет-магазины, финансовые транзакции, администрирование заработной платы и контроль запасов. Он используется тысячами компаний в более чем 30 странах с эффективной установленной базой из миллионов конечных пользователей. Приложения Uniface варьируются от клиент-серверных до веб-приложений, от ввода данных до рабочих процессов и порталов, к которым осуществляется локальный доступ через интрасети и Интернет.
Первоначально разработанный в Нидерландах компанией Inside Automation, позже Uniface BV, продукт и компания были приобретены базирующейся в Детройте Compuware Corp в 1994 году, а в 2014 году были приобретены Marlin Equity Partners и продолжили свою деятельность как Uniface BV со штаб-квартирой в Амстердаме . В феврале 2021 года Uniface была приобретена Rocket Software со штаб-квартирой в Уолтеме, Массачусетс , США .
Среда разработки Uniface представляет собой интегрированный набор инструментов для моделирования, реализации, компиляции, отладки и распространения приложений.
Приложения Uniface, включая указанные выше, используют общую инфраструктуру выполнения, состоящую из:
Кроме того, Uniface Anywhere (ранее Uniface JTi или Java Thin Client Interface) может доставлять клиент-серверные приложения Uniface на любой компьютер, подключенный к Интернету, в качестве тонкого клиента.
Uniface — это платформа разработки и развертывания с низким кодом, основанная на фирменном языке процедурных скриптов (четвертого поколения) под названием Uniface Proc, который используется для кодирования поведения приложения. Uniface автоматизирует большинство операций ввода/вывода через свое ядро и код по умолчанию, поэтому большую часть фундаментального поведения не нужно кодировать.
Приложения Uniface — это основанные на компонентах, независимые от инфраструктуры программы, которые могут создавать или использовать данные, хранящиеся в одной или нескольких базах данных или файловых системах. Они могут быть составными приложениями, которые включают не-Uniface-компоненты, созданные с использованием других инструментов разработки, и их можно развертывать в распределенных клиент-серверных и веб-средах, как мобильные приложения или веб-сервисы, а также в средах мэйнфреймов.
Uniface имеет различные типы компонентов, предназначенные для использования на разных уровнях многоуровневой архитектуры приложений.
Компоненты уровня представления отвечают за пользовательский интерфейс и включают в себя:
Компоненты уровня бизнес-логики обрабатывают бизнес-правила и поведение, специфичное для задач, и не имеют пользовательского интерфейса:
Уровень доступа к данным содержит физические структуры базы данных, зафиксированные в модели приложения Uniface. Uniface обеспечивает физический доступ к данным путем инкапсуляции SQL в своих коннекторах СУБД. Сетевой и промежуточный доступ инкапсулируются драйверами промежуточного ПО и маршрутизатором Uniface.
Механизм выполнения выполняет компоненты приложения. Он отображает компоненты представления, используя соответствующий коннектор пользовательского интерфейса (GUI или на основе символов), и отправляет и получает данные через коннектор СУБД.
Приложения Uniface разрабатываются с помощью Uniface Development Environment. Изначально разработка была возможна на платформах Apple и DEC ; теперь поддерживаемой платформой для разработки является Windows .
Разработка приложений Uniface основана на моделях и компонентах. Структура данных, бизнес-правила и поведение приложения по умолчанию фиксируются в модели приложения. Определения моделей могут повторно использоваться и наследоваться компонентами, которые могут переопределять унаследованные определения и предоставлять поведение и характеристики, специфичные для компонента. Шаблоны повышают производительность и обеспечивают согласованность при определении моделей.
Модель приложения определяет сущности (таблицы), поля, ключи (индексы) и отношения вместе с ссылочной целостностью. Каждая сущность и поле в модели имеют свойства и набор триггеров. Бизнес-правила добавляются в модель декларативно путем установки свойств и процедурно путем добавления кода Proc (процедурный язык Uniface) в триггеры.
Триггеры — это контейнеры для кода. Некоторые триггеры представляют пользовательские или системные события, например, Occurrence Gets Focus, Read or Leave Field. Другие охватывают такие вопросы, как валидация или действуют как заполнители для методов, связанных с определенным объектом.
Использование триггеров на уровне модели позволяет Uniface собирать свойства и поведение в бизнес-объектах, разделяя логические и физические структуры данных. Это позволяет определить поведение по умолчанию один раз для повторного использования во всем приложении, ускоряя разработку и облегчая трехуровневую архитектуру приложения.
Каждая сущность (таблица) сначала определяется в модели приложения, откуда ее можно экспортировать в физическую базу данных в виде скриптов CREATE TABLE.
Объекты, описанные в модели приложения, повторно используются компонентами. Разработчики встраивают объекты из модели в компонент, рисуя их на холсте макета (для компонентов представления) или вставляя их в древовидную структуру компонента. Они также могут добавлять объекты уровня компонента, которых нет в модели приложения, такие как поля управления, меню и переменные компонента.
Свойства и триггеры, определенные в модели приложения, наследуются путем копирования в компонент. Определения могут быть изменены на уровне компонента для предоставления определенной функциональности. Это разрывает связь между моделью приложения и компонентом (хотя возможно восстановить связь с моделью). Если код или свойства модели изменяются на уровне модели, все компоненты, содержащие этот объект, нужно только перекомпилировать для сбора новых определений. Это обеспечивает преимущества в обслуживании и гарантирует, что правила, связанные с объектом, будут доступны везде, где он используется.
Uniface поддерживает базу данных своих метаданных для повторного использования — модели приложений, определения компонентов, макеты компонентов, процедурный код и т. д. Репозиторий является собственностью и предназначен для доступа через среду разработки Uniface, чтобы обеспечить целостность репозитория. Однако структура репозитория документирована, что позволяет (хотя и не рекомендуется) взаимодействовать с ним напрямую, например, для составления отчетов.
Используя централизованный репозиторий, разработка приложений может быть разделена между группами разработчиков программного обеспечения. Uniface может интегрироваться с любой системой контроля версий (VCS), которая поддерживает спецификацию Microsoft Common Source Code Control Interface. Функциональность VCS, доступная в Uniface, зависит от используемой VCS, поскольку поставщики программного обеспечения по-разному интерпретируют и реализуют API MS CSCC.
Приложения Uniface могут быть развернуты на платформах от мэйнфреймов до мобильных устройств без изменения кода. Компоненты (и другие объекты, такие как оболочки запуска, меню, панели инструментов (панели), глифы, глобальные и включенные записи Proc) компилируются в объекты времени выполнения, которые могут быть упакованы в zip-файлы и развернуты на любой платформе. Объекты времени выполнения выполняются с использованием виртуальной машины и интерпретатора, специфичного для платформы. (Позже Java последовала за Uniface в этом отношении). Компоненты могут быть скомпилированы на одной машине и выполнены на другой, при условии наличия виртуальной машины Uniface.
Маршрутизатор Uniface и сервер Uniface обеспечивают масштабируемость Uniface и позволяют запускать процессы асинхронно.
Uniface обращается ко многим базам данных и файловым системам, которые он поддерживает, используя коннекторы баз данных (или драйверы). Коннекторы СУБД отображают и преобразуют типы данных Uniface в наиболее подходящий формат конкретного носителя данных. Во время выполнения можно передавать параметры для вызова (или отключения) расширений, специфичных для базы данных. При условии, что коннектор баз данных лицензирован, можно выполнять преобразование между различными источниками данных. Uniface также предоставляет API, интерфейс коннектора баз данных, который можно использовать для создания собственных коннекторов для любой базы данных на основе SQL .
Лицензирование осуществляется с помощью Compuware Distributed License Manager (DLM) — серверной системы распределения лицензий клиентам по запросу, что исключает необходимость их локального хранения.
Первоначально названный UNIS, продукт был создан в Нидерландах в 1984 году компанией Inside Automation, которую возглавлял Бодо Дуке, а техническим директором был Фриц Кресс. К 1986 году и продукт, и компания изменили свое название на Uniface. (Ранний логотип продукта включал красную заглавную букву A, которая отражала красную заглавную букву A в логотипе Inside Automation.)
Uniface был разработан на основе принципов Американского национального института стандартов (ANSI), 3-схемной архитектуры . Впервые предложенный в 1975 году, это был стандартный подход к построению систем управления базами данных, состоящий из 3 схем (или метамоделей):
Uniface был разработан на машине DEC VAX с использованием собственной системы управления файлами VAX RMS . Следы этого все еще видны в сегодняшнем продукте в виде продолжающегося использования клавиши «GOLD» для смены режимов ( терминалы DEC VT имели золотую или желтую клавишу на клавиатуре. Сегодня «GOLD» просто сопоставляется с цифровой клавиатурой + клавишей или функциональной клавишей).
Ранние версии продукта были объединены с СУБД Sybase под названием FastBuild, хотя он не ограничивался доступом только к этой базе данных.
Uniface постоянно развивается, чтобы работать с новыми технологиями и архитектурами приложений. Это имеет решающее значение для его успеха, поскольку приложения, созданные с помощью Uniface, можно переносить, обновлять и модернизировать, не теряя первоначальных инвестиций в разработку.
Этот раздел нуждается в дополнительных цитатах для проверки . ( Сентябрь 2020 ) |
Uniface Version 3 (1986): Uniface 3 был первым публичным релизом. Он включал поддержку нескольких баз данных (RMS, Oracle, C_ISAM, Ingres и RDB); интерпретацию виртуальной машины; редактор структуры и редактор текста и команд Uniface.
Uniface версии 4 (1988): Uniface 4 улучшил текстовый редактор (теперь редактор форм), улучшил поддержку печати и отображения, представил поддержку MS-DOS и добавил интерфейс инструмента CASE.
Uniface Version 5 (1990): Uniface 5 сделал возможным клиент-серверное развертывание с введением удаленного доступа к базе данных через Polyserver. Он представил графический пользовательский интерфейс через Universal Presentation Interface (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 с Web Application Server и Uniface Request Dispatcher.
Другие усовершенствования включают новые типы компонентов (службы, страницы сервера, отчеты); редактор подписей и сборочный верстак; подсистемы; операции; немодальные формы; экземпляры компонентов; улучшенные редакторы и навигация; улучшенный плагин редактора; новый отладчик; интегрированную онлайн-справку; шаблоны компонентов; сервер веб-приложений; улучшенную проверку; сервер имен Uniface и графический менеджер разделов.
В Uniface Seven также появилось несколько других инструментов:
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.
Rocket Uniface 10.4 (2021) Uniface 10.4 использует Sentinel License Manager, который позволяет пользователям лучше управлять своими лицензиями. Он имеет улучшения Rocket Uniface Router Monitor, API для TLS и обновления репозитория для IDE. Это 64-битная среда разработки, обновленная до Tomcat 9. Библиотеки OpenSSL и CURL были обновлены, а исполняемый файл OpenSSL теперь поставляется с Uniface в Windows. Кроме того, был добавлен новый коннектор SLE 2.0 для SQLite.