Типы клиентов OpenEdge
Клиентские процессы OpenEdge взаимодействуют с серверными процессами, которые исполняют бизнес-логику и предоставляют бизнес-данные клиенту. Некоторые типы клиентских процессов работают внутри OpenEdge-приложения, другие используются для поддержки пользовательских интерфейсов, при этом они могут встраиваться друг в друга. В OpenEdge различаются следующие типы клиентских процессов:
- ABL client
- Open Client
- Web services client
- Mobile client
- WebSpeed client
- SQL client
ABL client
Клиент ABL работает в рамках процесса, который взаимодействует с серверным процессом OpenEdge. Этот тип клиента запускает процесс ABL- сессии, которая и исполняет ABL-код. Клиент ABL может быть написан для поддержки пользовательского интерфейса, или в качестве процесса, который не имеет пользовательского интерфейса как такового, т.е. для работы в фоновом режиме.
Существует три типа пользовательского интерфейса для ABL-клиентов, каждый из них требует применения собственной модели программирования на ABL:
- GUI for .NET – этот тип ABL-клиента представляет собой пользовательский интерфейс, который обеспечивает встроенную поддержку для .NET-форм, элементов управления .NET и основных .Net-классов, которые можно непосредственно просматривать, с которыми можно взаимодействовать и которыми можно управлять посредством событийного или объектно-ориентированного программирования.GUI for .NET является рекомендуемым пользовательским интерфейсом для ABL-приложений.
- GUI – представляет собой пользовательский интерфейс в виде графических виджетов, включая окна, диалоговые окна и графические средства управления, поддерживаемые событийной моделью управления.
- Character – представляет собой пользовательский интерфейс, основанный на символьных виджетах для очень упрощённой работы с данными. Такой тип интерфейса может быть полезен для выполнения производственных задач, в которых достаточно простого (текстового) отображения данных и манипулирования информацией.
Open Client
Клиент Open Client работает в рамках процесса, который не является частью ABL-сессии. Такие клиенты могут быть написаны на других языках программирования, таких как C#, VB.NET или Java, и могут предоставлять конечным пользователям множество пользовательских интерфейсов. Они также могут предоставлять функциональность для других приложений, у которых нет пользовательского интерфейса.
Существует две модели для разработки Open Client:
- С использованием прокси
- С использованием OpenAPI
Когда Open Client разрабатывается с использованием прокси, то файлы классов (Java) или .NET сборки (assembly) создаются с помощью OpenEdge-инструментов. Здесь прокси используются для обеспечения взаимодействия между сервером приложений и клиентом. Прокси помогают разработчикам быстро писать код для доступа к серверу приложений, так как все детали реализованы в прокси.
Когда Open Client разрабатывается с использованием OpenAPI, бремя всего программирования несёт сам разработчик. Однако преимущество здесь заключается в том, что разработчик может написать универсального клиента, которые не будет изменяться в случае каких-либо изменений в модели данных или в сервисах приложения.
Web services client
Клиенты, написанные на множестве различных языках программирования (ABL, Java, C#, VB.NET, HTML), могут получить доступ к ABL-приложению через веб-сервисы, если это приложение было создано с возможностью предоставления веб-сервисов. Веб-сервис клиенты ABL работают в своей собственной ABL-сессии. Прочие же веб-сервис клиенты работают в клиентских процессах, реализованных на основе DLL или JVM.
На стороне сервера разработчик приложения должен создать (с помощью инструментов OpenEdge) некоторые артефакты, необходимые серверу приложений для предоставления сервисов с использованием протоколов SOAP или REST.
Когда вы используете PAS for OpenEdge, веб-сервис клиенты могут получать прямой доступ к серверу приложений через протокол HTTP/S. Сервер приложений PAS for OpenEdge также поддерживает доступ по средствам SOAP и REST.
Различают два типа веб-сервисов:
- REST Web services. REST (Representational State Transfer) использует URI (Uniform Resource Identifier) для идентификации ресурсов и использования HTTP методов (GET, PUT, POST и DELETE) для работы с ресурсами. В качестве формата для обмена данными OpenEdge использует JSON (JavaScript Object Notation). REST Web сервисы в OpenEdge разворачиваются в REST Management Agent, который работает в экземпляре PAS for OpenEdge.
- SOAP-based Web services. SOAP (Simple Object Access Protocol) использует XML-сообщения для обмена информацией между клиентским приложением и веб-сервисами. Вы должны использовать схему XML, рекомендуемую консорциумом World Wide Web (W3C) для описания простых и сложных типов данных в файлах WSDL (Web Services Description Language). Файлы WSDL публикуются и содержат описание публичного клиентского интерфейса к веб-сервисам, основанным на SOAP. В качестве транспорта для SOAP-сервисов используется HTTP. В OpenEdge такие сервисы развёртываются в адаптере WSA (Web Services Adapter), который работает в экземпляре PAS for OpenEdge.
Mobile client
Приложения OpenEdge Mobile состоят из мобильного приложения (Mobile App), мобильных сервисов и соответствующей бизнес-логики. Такие приложения имеют два архитектурных компонента:
- Пользовательский интерфейс: в виде «родных» мобильных приложений (Mobile Native App), которые инсталлируются на мобильное устройство, и в виде мобильных веб-приложений, которые запускаются в веб браузере.
- PAS for OpenEdge: размещение мобильных сервисов в качестве веб-приложения, к которым получает доступ мобильное приложение. Дополнительно здесь реализуется интерфейс мобильных сервисов и исполняется бизнес-логика. Интерфейс мобильного сервиса – это один или несколько ABL-ресурсов доступных через мобильные сервисы.
Для разработки мобильных приложений используется Progress Developer Studio for OpenEdge и Mobile App Builder. В Developer Studio создаются ABL-ресурсы, которые упаковываются в мобильные сервисы и публикуются на сервере приложений. В Mobile App Builder создаётся пользовательский интерфейс мобильного клиента и реализуется его связь с сервисами OpenEdge Mobile. Инструментарий Mobile App Builder также предназначен для упаковки мобильного приложения для соответствующих мобильных платформ, таких как iOS и Android, или в качестве веб-приложение для работы в браузере.
WebSpeed client
Клиент WebSpeed запускается в веб-браузере, он написан с использованием HTML и/или JavaScript. Этот клиент получает доступ к сервисам, размещённым на веб-сервере, используя HTTP или HTTPS. На стороне веб-сервера работают программа CGI (Common Gateway Interface) и WebSpeed Messenger. Роль WebSpeed Messenger заключается в получение запросов от клиентов WebSpeed и последующее перенаправление этих запросов к специальному типу сервера приложений, который называется WebSpeed Transaction Server, который и исполняет вариацию языка ABL, называемую SpeedScript.
В свою очередь, SpeedScript используется для предоставления сервисов клиентам и формирования HTML-страниц на веб-сервере для показа клиентам. Дополнительно WebSpeed Messenger может быть использован в качестве одиночного агента для получения запросов и показа статических HTML-страниц через веб-сервер. Для получения дополнительной информации о WebSpeed Transaction Server или SpeedScript обратитесь к документации к OpenEdge.
SQL client
Клиент SQL – это процесс, который может исполняться SQL-механизмом для интерпретации SQL-операторов и использования их для получения доступа к серверу базы данных. Клиент SQL может работать в рамках различных типов процессов, таких как AVM, DLL и JVM. Такие клиенты получают доступ к серверу базы данных напрямую без применения серверов приложений. Обычно SQL-клиенты используются для управления базой данных и формирования отчётов для администраторов и некоторых бизнес-пользователей.
SQL-клиенты не используются для реализации какой-либо бизнес-логики приложения.
OpenEdge Business Process Management
Бизнес-процесс – это регулярно повторяющаяся последовательность взаимосвязанных операций, процедур и действий, исполняемых человеком и/или компьютером.
Благодаря Business Process Management (OpenEdge BPM) у вас есть возможность встраивания системы управления бизнес-процессами в ваши приложения OpenEdge. Вы можете создавать модели бизнес-процессов и интегрировать их в OpenEdge ABL. OpenEdge BPM имеет управляемые адаптеры, которые позволяют вызывать ABL-программы и прочие внешние системы, например, почтовые службы. Кроме того, у OpenEdge BPM есть API, с помощью которого можно взаимодействовать с работающим экземпляром бизнес-процесса.
OpenEdge BPM включает в себя:
- Инструменты разработчика для создания и автоматизации моделей бизнес-процессов:
- Business Process Modeler – автономный инструмент, позволяющий сотрудникам, не знакомым с программированием, создавать модели бизнес-процессов. После создания таких моделей, они могут быть импортированы в Progress Developer Studio for OpenEdge для трансформации в бизнес-процесс приложения.
- Progress Developer Studio for OpenEdge содержит BPM Designer, который имеет всю функциональность Business Process Modeler`а. BPM Designer используется для автоматизации моделей бизнес-процессов и дальнейшей их публикации на сервере бизнес-процессов (Business Process Server) в качестве бизнес-процесс приложения.
- Движок исполнения рабочих процессов, называемый OpenEdge Business Process Server. Его задача заключается в исполнении бизнес-процессов и отслеживания состояния экземпляров каждого работающего процесса.
- Business Process Portal (BP Portal) с отдельным пользовательским интерфейсом для конечных пользователей приложения и BPM-администраторов.
- Вы можете спроектировать BPM-ориентированное приложение OpenEdge так, чтобы конечные пользователи имели возможность доступа к нему через различные пользовательские интерфейсы, такие как BP Portal, GUI for .Net и OpenEdge Mobile.
- Независимо от того, как конечные пользователи получают доступ к приложению, администраторы OpenEdge BPM могут использовать BP Portal для мониторинга и управления бизнес-процессами.