Как перевести oracle apex
Oracle APEX Application Development (APEX Service) — это средство для разработки приложений с минимальным программированием. Бизнес-пользователи и разработчики приложений могут создавать приложения в 38 раз быстрее чем с программированием, и без необходимости изучать сложные веб-технологии.
Узнайте, как Oracle APEX позволяет как бизнес-пользователям, так и разработчикам приложений создавать масштабируемые, защищенные приложения корпоративного уровня с минимумом программирования за считаные минуты.
Разработка приложений быстрее с минимальным программированием Создавайте более качественные приложения в 38 раз быстрееСогласно исследованию Pique Solutions, разработчики могут создавать приложения в 38 раз быстрее с использованием Oracle APEX по сравнению с традиционными методами разработки.
В ноябре 2021 года Oracle APEX была выбрана заказчиками Gartner Peer Insights как лучшая платформа для корпоративных приложений с минимальным программированием.
Почему стоит выбрать APEX Service?
Быстрая разработка приложений
Разработка с минимумом программирования
Насыщенный, интуитивно понятный графический интерфейс с подсказками ускоряет разработку приложений. Благодаря мощным компонентам пользовательского интерфейса пользователи могут добавить множество функций в свои приложения с минимальным программированием.
Превосходная адаптивность
Приложения, разработанные на базе APEX, являются полностью адаптивными. Такие компоненты, как формы, графики и отчеты, работают без проблем при любом разрешении экрана с сохранением тех же функций без дополнительного кода.
Гибкая разработка
Разработчики могут непрерывно внедрять изменения и улучшения по мере готовности в реальном времени — без необходимости сложных многошаговых процедур.
Уверенная разработка приложений
Сведение к минимуму количества уязвимостей за счет встроенной архитектуры безопасности: от межсайтовых сценариев до инъекции SQL-кода.
Инструменты работы и трассировка кода
Подробная диагностика помогает разработчикам находить уязвимости и решать проблемы с производительностью в приложениях на ранних этапах цикла разработки.
Разработка приложений с конвергентной базой данных с учетом перспективы
Создание современных приложений на основе данных, в которых используются конвергентные базы данных, поддерживающие все современные типы данных, в том числе реляционные, JSON, пространственные и другие. Интеграция данных из локальных и удаленных источников данных с использованием REST-интерфейсов.
Автономные операции
Автоматизированное управление
Вместо подверженных ошибкам ручных операций — автоматизированная система на базе машинного обучения, выполняющая выделение ресурсов, масштабирование, защиту и резервное копирование.
Стабильно высокая производительность
Обеспечение стабильно высокой производительности благодаря уникальной архитектуре приложений, реализованной в базе данных, возможностей автоматизированной настройки, индексации Autonomous Database и оборудования Exadata.
Единообразная архитектура
Повышение производительности труда разработчиков, масштабируемости и производительности приложений за счет единообразной архитектуры. Автоматическое управление состоянием сеанса, изменение логики приложения и управление данными непосредственно в базе данных с почти нулевой задержкой доступа к данным.
Автоматическое масштабирование
Автоматическое добавление и уменьшение вычислительных ресурсов в соответствии с нагрузкой, без остановки приложений, даже при росте объемов данных и количества пользователей.
Постоянная доступность
Обеспечение высокой доступности за счет сочетания облачной инфраструктуры Oracle второго поколения (Gen 2), Oracle RAC и ежедневного автоматического резервного копирования.
Простое администрирование
Простое в использовании управление с помощью консоли Oracle Cloud Infrastructure, общедоступных API-интерфейсов REST и комплектов средств разработки программного обеспечения (SDK) позволяет пользователям выполнять повседневные задачи, такие как настройка управления и анализ использования/выставления счетов.
Снижение затрат
Модель подписки с оплатой за использование
Оптимизация инноваций и сокращение расходов за счет согласования облачных ресурсов с меняющимися потребностями бизнеса с возможностью гибкого масштабирования в режиме онлайн. Оплата только за использованные ресурсы — принцип оплаты за фактически использованные ресурсы.
Модель «все включено» — без оплаты за приложения и пользователей
Создание приложений без ограничений. В отличие от других поставщиков облачных сервисов с минимальным программированием, нет скрытой или дополнительной платы за число приложений, разработчиков или конечных пользователей.
Бесплатная версия, которую можно использовать неограниченное время
Пробная бесплатная версия Always Free APEX Service в Oracle Cloud Free Tier позволяет Вам бесплатно ознакомиться с сервисом. Если приложения будут развиваются и потребуют дополнительной мощности, то можно в один клик обновить бесплатный локальный сервис APEX до полной платной версии, в которой Вы сможете легко увеличить вычислительные ресурсы и ресурсы хранения.
Мощная визуализация данных
Многофункциональный поиск
Многофункциональный поиск помогает быстро находить и фильтровать данные. Предоставьте пользователям возможность просматривать данные по-новому и находить полезную информацию с помощью всего нескольких щелчков мыши.
динамические диаграммы
Мощные возможности построения графиков и визуализации полностью поддерживают HTML5 и работают в любом современном браузере. Oracle JET предоставляет модульный набор инструментов для построения графиков с открытым исходным кодом для разработчиков.
Интерактивные отчеты
Интерактивные отчеты позволяют легко кастомизировать компоненты, которые они видят, таким образом, чтобы они точно соответствовали их запросам. Все это без какого бы то ни было программирования.
Компоненты-карточки
Воспользуйтесь новой эффективной методикой представления данных с использованием карточек. Компоненты-карточки поддерживают простую кастомизацию внешнего вида, включая иконки, бейджи, мультимедийные материалы, расширенные HTML-выражения, а также возможности определять несколько действий для одной карточки.
Преобразование электронных таблиц
От электронной таблицы до веб-приложения за считаные минуты
Всего в несколько кликов можно превратить электронную таблицу в полнофункциональное приложение с настраиваемыми информационными панелями, схемами, отчетами и формами. Простой доступ к данным и их контроль через веб-приложения.
Обеспечение целостности и точности данных
Устраняется расползание электронных таблиц и неточность данных за счет приложений, доступных из единого централизованного «источника правды»
Обеспечение аутентификации и авторизации
Защита приложений с помощью SSO, OAuth2, OpenID Connect и многих других возможностей. Надежное обеспечение безопасности приложений, недостающей большинству электронных таблиц.
Готовые приложения для повышения продуктивности
Готовые приложения
Более 20 полнофункциональных, готовых к использованию приложений для повышения продуктивности для важных и ведущих бизнес-сценариев.
Расширяемые приложения
Расширение и настройка стандартных приложений под индивидуальные задачи бизнеса. Легкая адаптация приложений к уникальным потребностям.
Доступа к данным на основе REST
Использовать веб-сервисы
Доступ к данным через различные веб-сервисы, в том числе REST endpoints в Oracle SaaS, а также выполнение операций с использованием SQL.
Предоставление REST API-интерфейсов
Быстрое создание веб-сервисов, обеспечивающих доступ к объектам СУБД Oracle Database с использованием встроенных возможностей REST, а затем создание документации API Swagger в один клик.
Глобализация и локализация
Перевод
Перевод работающих приложений пользовательского интерфейса на разные языки без необходимости дублировать логику или заново упаковывать приложения.
Локализация
Можно легко форматировать и отображать контент приложений в зависимости от того, где находится конечный пользователь.
Телекоммуникационный гигант Telstra дает бизнес-пользователям и разработчикам приложений новые возможности с Oracle APEX
«Мы можем предложить нашим заказчикам единую панель для разработки приложений без необходимости выделять единую виртуальную машину или базу данных. Мы предоставляем им управляемую среду, в которой они могут оперативно создавать и развертывать приложения, что уже позволило сэкономить миллионы долларов».
Тони Кирн (Tony Kirn), старший руководитель инженерной группы, Telstra
Варианты использования Oracle Service
Гибкие бизнес-приложения
Быстрое создание бизнес-приложений для разных вариантов использования с минимальным программированием или вообще без необходимости программировать. Быстрое изменение приложений в соответствии с меняющимися требованиями бизнеса.
Замена электронной таблицы
Превратите свои электронные таблицы в полнофункциональные приложения с автоматически генерируемыми отчетами и формами для ввода данных.
Совместное использование данных
Создание приложений для внешних пользователей, например бизнес-партнеров и заказчиков. Существует возможность использования конечных точек REST для обмена данными приложений.
Модернизация Oracle Forms
Обновление и модернизация существующих приложений Oracle Forms. Замена на современный, удобный пользовательский интерфейс с веб-версией для мобильных устройств на основе Oracle APEX.
Общедоступные приложения SaaS и ISV
APEX Service — это не только отличное решение для приложений, отвечающих внутренним потребностям бизнеса. Оно также может быть платформой для общедоступных приложений SaaS и помогать независимым разработчикам программного обеспечения (ISV) быстро доставлять приложения своим заказчикам. Для этого нет необходимости быть членом партнерской сети компании Oracle.
Свобода создавать: Новая служба Always Free APEX доступна в Oracle Cloud
Уровень бесплатного пользования Oracle Cloud предоставляет разработчикам low-code — доступ к бесплатному сервису APEX в течение неограниченного времени.
APEX Service содержит все необходимое для разработки и развертывания приложений APEX с минимумом программирования и низкой стоимостью начального уровня. Просто выберите необходимый вам объем вычислительных ресурсов (число OCPU для Oracle APEX Application Development) и дисковый объем (терабайты Autonomous Transaction Processing—Exadata Storage). Нет никаких дополнительных затрат, зависящих от числа приложений APEX, рабочих пространств, учетных записей разработчиков или конечных пользователей приложений. Передача данных (входящих и исходящих) в сервис и из сервиса включена без дополнительной оплаты.
Oracle Autonomous Transaction Processing — Exadata StorageРаспространенная практика облачной индустрии заключается в определении вычислительных экземпляров на основе количества виртуальных ЦП (vCPU), которые они включают. Каждый виртуальный ЦП предоставляет ресурс для одного потока вычислений. Виртуальный процессор не предоставляет все общее процессорное ядро, это только часть ядра. Напротив, вычислительные мощности Oracle x86 оцениваются в OCPU, которые приравниваются к физическим ядрам ЦП, каждое из которых обеспечивает два потока. Чтобы заказчикам было проще сравнивать поставщиков облачных услуг, в официальных прайс-листах Oracle цены указаны для vCPU, а выставление счетов основано на количестве использованного времени OCPU. Почасовая ставка OCPU для заказчиков, по которой выставляется счет, вдвое превышает цену vCPU, указанную на веб-страницах, поскольку они получают два виртуальных ЦП вычислительной мощности вместо одного.
Анонс новой платформы Oracle APEX для разработки приложений с минимумом программирования
Тодд Боттгер (Todd Bottger), директор по управлению продуктами OracleНачиная с сегодняшнего дня, 13 января 2021 г., Oracle запускает новый сервис Oracle Application Express (APEX) для быстрой разработки и развертывания современных приложений на основе данных в Oracle Cloud.
Недавно я с удивлением обнаружил, что, оказывается, толковых туториалов по Oracle Application Express (он же APEX, он же апекс, но не путать с языком apex, который используется в Salesforce) в природе не существует.
Это не самая распространенная технология, конечно, но, тем не менее, довольно востребованная. Есть десятки блогов об апексе (англоязычные, в основном), пара тысяч вопросов на Stackoveflow, специальный раздел по апексу на официальных форумах оракла, сам апекс существует уже 15 лет и все время развивается. Я был уверен, что и хороших туториалов полно. Но нет!
Мне тут же пришла в голову гениальная мысль восполнить этот пробел.
Оглавление
Почему существующие туториалы — плохие
Я немного поясню, почему я считаю существующие туториалы плохими. Апекс — это не язык программирования, это такой очень высокоуровневый инструмент разработки, ближайшим идейным аналогом которого я бы назвал MS Access. Соответственно, большая часть разработки на апексе состоит из работы с веб-интерфесом этой среды: нажимания на кнопки, перехода по ссылкам, заполнение полей с названиями компоментов, выбора значений из списков и так далее. Что делает типовой туториал? Он показывает скриншоты этих самых экранов с подписями "нажмите туда-то". При этом сама IDE достаточно удобная и понятная, почти все элементы снабжены справочными пояснениями, есть встроенная помощь. В итоге, если нужно объяснить пользователю, как создать приложение, в туториале будет большой скриншот, объясняющий, как нажать на кнопку "Create a new app". Вот, посмотрите сами на официальный оракловый туториал:
Они бы еще объяснили со скриншотами, что "клик" — это однократное нажатие на левую кнопку манипулятора типа "мышь".
Конечно, полезная информация в таких туториалах тоже есть, но ее там крохи. Процентов на 80 туториалы состоят из таких вот скриншотов, причем по своему опыту я могу сказать, что человек, не читавший никаких туториалов вообще, самостоятельно найдет, как создать приложение, добавить страницу, поместить на нее отчет и так далее. А потом ему нужно будет организовать более-менее нетривиальное взаимодействие нескольких элементов апекса, и оказывается, что этот вопрос туториалом почти не покрывается. Приведу аналогию: вы только-только учитесь программировать, изучили переменные, массивы, циклы, условия, и получили задание, в рамках выполнения которого вам нужно отсортировать массив. Как-то отсорировать массив — достаточно просто, но как только задание усложнится до "отсортировать большой массив быстро", окажется, что имеющихся у вас знаний недостаточно. Погуглив, покопав Stackoverflow и форумы, вы найдете алгоритм быстрой сортировки. Конечно, кто-то и сам переизобретет этот алгоритм рано или поздно, но более эффективным путем было бы сразу прочитать книжку с разбором типовых алгоритмов. И вот как раз такого набора "типовых алгоритмов" для апекса обычно нигде нет, а на помощь приходят те же самые метод научного тыка, поисковики, форумы и Stackoverflow (и, я надеюсь, этот туториал).
Вводная информация
Предполагается, что читатель знаком с Oracle Database версии хотя бы с 11-й, SQL, PL/SQL и особенно с тем, что такое EXECUTE IMMEDIATE и как оно работает.
Я начну с обзора наиболее часто используемых разделов IDE. Я тоже покажу несколько скриншотов. Куда же без них, раз всё здесь сделано из визуальных компонентов. Но их будет не так много, как в плохих туториалах, и в основном они будут в начальных главах, а дальше я буду просто указывать название раздела IDE, в котором находятся необходимые вещи. Сразу обращу ваше внимание, что это просто первое знакомство с IDE. Более подробная информация о том, когда на какую кнопку нажимать и где что смотреть, будет дана дальше, когда я перейду к конкретным темам.
Обзор IDE
Стартовый экран, который вы увидите сразу после входа в IDE:
Главные элементы здесь — это 4 большие кликабельные картинки:
- "App Builder": это, собственно, то место, где можно создавать приложения и где вы будете проводить до 99% времени.
- "SQL Workshop": заменитель обычной IDE для работы с СУБД Oracle. Там вы можете посмотреть объекты БД (таблицы, индексы, пакеты, и т. п.) и выполнять SQL-запросы. Если у вас есть возможность делать все это через "обычные" IDE (вроде Oracle SQL Developer или PL/SQL Developer) — делайте через них. Тем не менее, этот раздел тоже может быть полезен и о нем я тоже расскажу.
- "Team Development": инструменты для командной разработки. Честно говоря, я ни разу не видел, чтобы хоть кто-то ими пользовался на практике (включая меня). Любопытства ради я туда тоже заглядывал и совсем бесполезным этот раздел я бы не назвал, хотя и очень хочется.
- "App Gallery": раздел с демо-приложениями. К тому моменту, когда он появился, я уже неплохо знал апекс и почти не заглядывал туда, но начинающим, думаю, это будет полезно. Там много разных простеньких приложений, на их примере можно изучать, как использовать те или иные возможности.
В меню в самом верху страницы продублированы эти же 4 пункта.
Кроме этого, есть еще несколько малополезных вещей: ниже есть некоторое количество статистической информации (типа наиболее часто редактируемых приложений или наиболее активных разработчиков). И есть колонка справа, где также немного статистики и дополнительных ссылок.
Рассмотрим App Builder и SQL Workshop подробнее.
App builder
Эта страница выглядит примерно вот так:
Основные элементы этой страницы: четыре большие кнопки как на предыдущей странице, список уже имеющихся приложений, правая колонка со списком последних измененных приложений и дополнительными действиями. Четыре кнопки — это:
- "Create": создать новое приложение. Эта же функция продублирована чуть ниже (синяя кнопка "Create" над отчетом со списком приложений). Кнопка запускает мастер создания приложений.
- "Import": импортировать приложение. Апекс позволяет переносить приложения с одного сервера на другой в виде текстовых файлов (которые, по сути, являются длииииными PL/SQL скриптами с вызовами функций создания всех элементов приложения).
- "Dashboard": малополезное сборище статистики разработки приложений. Кто, когда, где, сколько изменений сделал. Думаю, даже вашему начальнику будет неинтересно туда смотреть.
- "Workspace Utilities": набор дополнительных инструментов для управления приложением. Честно говоря, туда я тоже почти не заглядываю.
Так же хочу обратить ваше внимание на вот такую маленькую кнопочку в панели отчета:
Она переключает вид отчета с такого, как на скриншоте выше (с "картинками" приложений) на отчет в виде таблицы:
Похожие отчеты встречаются и в других разделах IDE. Я предпочитаю табличный вид, поэтому далее все скриншоты будут с ним.
После того, как вы создадите приложение или откроете существующее, вы увидите следующую страницу (очень похожую на предыдущую по структуре):
На эту страницу вы будете заходить очень часто, и полезных функций здесь тоже очень много. Большие кнопки с картинками:
- "Run Application": эта кнопка запускает ваше приложение. Оно откроется в отдельном окне. По умолчанию — именно в окне, а не во вкладке браузера, но это поведение настраивается (об этом позже).
- "Supporting Objects": этот раздел служит для решения вопросов, связанных с установкой, обновлением и удалением приложений. Обычно им почти не пользуются.
- "Shared Components": я бы сказал, это первый или второй по важности раздел IDE (еще один — редактор страниц). Если вы будете много разрабатывать на апексе, то очень скоро заметите, что выучили структуру этого раздела как "Отче наш".
- "Utilities": еще один набор (мало)полезных вспомогательных функций.
- "Export / Import": позволяет экспортировать или импортировать приложения или отдельные части приложения.
И две дополнительные кнопки, которые обведены оранжевой рамкой на скриншоте:
- Кнопка "Edit application properties". Нажав на нее, вы попадете на страницу настроек свойств приложения. Возможно, вы не будете заходить в этот раздел часто, но он очень важен, потому что там хранятся настройки приложения, от которых много чего зависит. Далее, если я буду упоминать где-то "свойства приложения" — ищите их в этом разделе.
- В кои-то веки полезная функция в правой панели: "Delete this Application". В то время как многие функции в апексе продублированы в разных местах, эта функция есть только здесь, и с непривычки первый раз ее найти сложно.
Application properties
Здесь прежде всего интересна организация доступа к большому количеству настроек.
Настройки сгруппированы в 4 группы (см. верхнюю рамку), а в каждой группе есть еще по нескольку подгрупп (см. нижнюю рамку), у каждой группы есть свое название. Похожим образом настройки организованы в очень многих местах в апексе. В дальнейшем я буду просто указывать путь к нужной настройке примерно так: "Application Properties" → "Definition" → "Name" → "Version".
Также, если вы посмотрите на хлебные крошки вверху страницы, вы увидите, что там написано "Edit Application Definition", хотя заходили вы, казалось бы, в "Application Properties". Просто не обращайте внимания.
Shared Components
Shared Components — это наше всё. Этот раздел является промежуточным пунктом на пути к конкретным компонентам приложений. Покажу здесь общий вид, просто чтобы вы представляли, где что находится:
Совсем неважной ерунды здесь почти нет. Каждый раздел вам так или иначе может понадобиться. Названия разделов говорят сами за себя, добавить почти нечего:
- "Application Logic": средства управления логикой приложения.
- "Security": вопросы безопасности и управления доступом к приложению целиком и к отдельным компонентам в зависимости от ролей пользователей.
- "Other Components": это "все остальные компоненты". По-хорошему, этому разделу следовало бы быть последним, но он почему-то здесь. А подпункт "List of Values" я бы вообще в Application Logic перенес.
- "Navigation": компоненты приложения для обеспечения навигации.
- "User Interface": настройка внешнего вида приложения, стилей и т. п.
- "Files": раздел для файлов (например, css или js). Незаменим, если у вас нет доступа к ОС, и все равно удобен, даже если доступ есть.
- "Data Sources": работа с источниками данных (для загрузки и выгрузки).
- "Reports": отчеты, очевидно.
- "Globalization": раздел для перевода приложений на другие языки.
Перевод приложений в апексе сделан просто ужасно (честно, я пытался придумать, как сделать его хуже — и не смог), и нет никаких свидетельств того, что в будущем станет лучше.
Ужасно с точки зрения архитектуры и удобства работы над переводом. Могу только сказать разработчикам: "Спасибо, что хотя бы без багов" (но тут как посмотреть: переводы устроены так, что некоторые особенности их работы мало чем отличаются от багов).
Приходится с этим жить.
Page Designer
Page Designer — редактор страниц. Это, наверное, главное место в IDE. Здесь вы будете создавать то, с чем напрямую взаимодействует пользователь, — страницы приложения. Здесь просто куча функций, почти как в кабине самолета. Чтобы попасть в Page Designer, нужно кликнуть по ссылке с названием страницы на странице приложения (извините за тавтологию). На скриншоте разноцветными рамками выделены основные составляющие редактора:
Панель кнопок вверху (в красной рамке):
- Поле для ввода номера страницы, стрелки вверх и вниз и кнопка "Go": навигация по страницам приложения. Каждая страница имеет номер, тут вы можете либо ввести номер нужной страницы, либо стрелками перейти к следующей/предыдущей, либо нажать на самую левую кнопку и в появившемся модальном окне выбрать страницу из списка.
- Кнопка с замком: позволяет заблокировать страницу от изменений другими разработчиками.
- Кнопки Undo/Redo
- Две кнопки с доступом к вспомогательным функциям.
- Кнопка-ссылка на Shared Components. Полезная, потому что туда-сюда ходить приходится постоянно. (Я сам, правда, предпочитаю просто держать Shared Components в отдельной вкладке — так еще быстрее).
- Кнопка "Save": сохраняет изменения на странице.
- Кнопка "Run": "запускает" страницу, то есть вы ее видите так, как ее потом увидит пользователь.
Слева (в оранжевой рамке) — панель с компонентами страницы. В этой панели есть 4 закладки:
- "Rendering": показывает, из каких составных частей состоит страница, какие процессы выполняются при рендеринге;
- "Dynamic Actions": действия, выполняемые на клиенте (например, обработчики событий javascript);
- "Processing": серверные процессы, связанные со страницей;
- "Page Shared Components": для прямого перехода к используемым на странице общим компонентам (те самые Shared Components).
По центру (в зеленой рамке) — панель, содержащая много разнородной информации. В верхней части панели есть 5 закладок, на которых можно найти:
Также центральная панель имеет снизу еще одну дополнительную панель, которую можно использовать для быстрого добавления компонентов на страницу.
Справа (в синей рамке) — панель свойств. Тут все просто — она показывает свойства выбранного в данный момент компонента. Часть свойств компонентов — простые: текст, число, значение из списка. Но у более сложных свойств компонентов есть дополнительные интерфейсные возможности, сильно облегчающие жизнь при работе с ними.
Свойство, представляющее собой большой текст. Например, код на PL/SQL или JavaScript. Выглядит так:
Можно писать код прямо так, в этом поле, а можно щелкнуть по кнопке вверху страва, и тогда откроется модальное окно с редактором кода, где доступны подсветка синтаксиса (для SQL, JavaScript, CSS, HTML), поиск в тексте и другие функции редактора.
Свойство — Shared Component. Если свойство является одним из компонентов приложения (Shared Component), то выбирать конкретный компонент можно из списка, а нажав на кнопку справа от списка
можно переместиться в раздел Shared Components непосредственно в свойства выбранного компонента (чтобы, например, их изменить).
Если у вас значение свойства выбирается из списка, иногда справа можно увидеть другую дополнительную кнопку:
Она называется "Quick pick" и используется, когда вариантов очень много. "Quick pick" дает чуть более быстрый доступ к небольшому подмножеству вариантов — как правило, там находятся наиболее часто используемые варианты. "Часто используемые варианты" здесь — не вами используемые, а "вообще". Это жестко заданный список и со временем не меняется.
SQL Workshop
Как я уже говорил, SQL Workshop — это заменитель обычной IDE (если у вас по каким-то причинам нет возможности ее использовать).
Он состоит из 5 разделов:
- "Object Browser": браузер объектов БД (таблиц, пакетов, функций и процедур, индексов, сиквенсов и прочего);
- "SQL Commands": раздел, где можно выполнить любой SQL запрос или PL/SQL код;
- "SQL Scripts": здесь можно загрузить текстовый файл со скриптом и выполнить его;
- "Utilities": разные дополнительные возможности, связанные с БД: например, есть графический построитель запросов (но не только);
- "RESTful Services": создание REST сервисов. Апекс тоже имеет REST (причем давно, еще в версии 4.2 они уже были)!
Object Browser
Здесь есть все, что нужно для работы с объектами БД: создание, изменение, удаление, просмотр свойств объектов, ввод данных в таблицы — для всего этого в этом разделе есть графический интерфейс. Вверху слева в выпадающем списке можно выбрать тип объектов (на скриншоте показаны таблицы), вверху справа можно выбрать схему, объекты которой вы можете посмотреть. В списке доступных схем вы не увидите все схемы сразу — это нормально. Как сделать схемы видимыми в апексе, я расскажу, когда дойду до администрирования.
Также я не вижу большого смысла описывать этот раздел подробнее: если вы знаете, что значит фраза "добавить столбец в таблицу", вы без труда догадаетесь, когда вам нужно будет нажимать на кнопку "Add Column" и что вас может ждать дальше.
SQL Commands
В этом разделе можно выполнять SQL запросы и PL/SQL код.
По возможностям этот раздел почти не уступает полноценным средам разработки. Не хватает разве что автодополнения кода и подсветки синтаксиса (а в Object Browser подсветка синтаксиса есть, кстати). Имеющиеся возможности:
- выполнение SQL, в том числе с параметрами (для ввода значений параметров появится отдельное окно);
- выполнение PL/SQL с возможностью вывода текста через dbms_output (вывод появится в окне ниже);
- выполнение только выделенной части кода (выделить текст мышкой, затем "Run");
- просмотр плана запроса;
- сохранение запросов.
Это, как вы понимаете, далеко не всё, что есть в IDE APEX, но на данном этапе не имеет смысла углубляться дальше. Отдельные элементы интерфейса апекса будут разобраны более подробно в темах, которые имеют к ним непосредственное отношение.
P. S. Я пока не могу сказать, что четко продумал структуру этого туториала, возможно, в будущем я добавлю еще скриншоты и описания в эту статью или опишу дополнительные возможности в других статьях. Осталось придумать, как оповещать заинтересованных о значительных правках старых статей.
Oracle Application Express (сокращённо именуется как Oracle Apex, APEX, ранее называлась Oracle HTMLDB) — свободная среда быстрой разработки прикладного программного обеспечения на основе СУБД Oracle Database, целиком реализованная как веб-приложение. Все элементы, возникающие в цикле разработки приложения в данной среде хранятся непосредственно в инфраструктуре Oracle Database, тем самым обеспечивается совместная работа разработчиков и контроль версий без использования файлов и дополнительных систем управления версиями.
APEX может быть использован для создания комплексных вэб-приложений, которые могут быть использованы в большинстве современных браузеров. [Источник 1]
Содержание
Описание и происхождение
Oracle Application Express (Oracle APEX) - является инструментом для быстрой разработки веб-приложений для базы данных Oracle. Используя только веб-браузер и ограниченный опыт программирования, возможно разрабатывать и развертывать профессиональные приложения, - безопасные и быстрые. Данный продукт сочетает свойства личной базы данных, производительность, простоту использования и гибкость с качествами корпоративной базы данных - безопасностью, целостностью, масштабируемостью, доступностью.
Application Express изменило множество названий в своей истории, начиная с 2000 года. К таким названиям относятся:
- Flows
- Oracle Platform
- Project Marvel
- HTML DB
- Application Express (APEX)
APEX был создан Майком Хиква, разработчиком в Oracle после уже разработанного им прежде проекта под названием Web DB. В некотором роде, APEX похож некоторыми функциями на Web DB.
APEX используется внутри компании Oracle для разработки своих сайтов.
Релизы
Oracle Application Express может быть установлен на любую базу данных Oracle, начиная с версии 9.2, а уже начиная с версии Oracle 11g он установлен по умолчанию. APEX 4.0 и последующие версии могут быть установлены на Oracle версии 10.2.0.3. APEX 5.0 и последующие версии могут быть установлены на все версии базы данных Oracle.
Название продукта | Версия | Дата релиза | Описание |
---|---|---|---|
HTML DB | 1.5 | 2004 | Первый релиз. |
HTML DB | 1.6 | 2004 | Добавлены определенные темы. |
HTML DB | 2.0 | 2005 | Добавлен SQL Workshop. |
Application Express | 2.1 | Январь 2006 | HTMLDB был переименован в was APEX. Версия 2.1 APEX была связана с бесплатной базой данных Oracle Express Edition. |
Application Express | 2.2 | 2006 | Приложения сформированы в один устанавливающийся пакет. |
Application Express | 3.0 | 2007 | Данная версия отмечена некоторыми особенностями, включающими в себя PDF Printing, Flash charting и Access Application Migration. |
Application Express | 3.0.1 | Июль 2007 | Данная версия могла быть также установлена в базу данных Oracle XE. |
Application Express | 3.1 | Весна 2008 | Эта версия включала в себя новую существенную особенность, известную как Interactive Reporting. |
Application Express | 3.2 | 2009 | Изменение форм. |
Application Express | 4.0 | Июнь 2010 | Добавлены новые особенности, такие как Dynamic Actions (позволяла взаимодействовать с изменениями на странице без необходимости для разработчика писать код JavaScript) и Plugins (позволило разработчикам создавать такие компоненты, как items, regions и processes). Также добавлены Websheets и RESTful Web. |
Application Express | 4.1 | Август 2011 | Улучшенная обработка ошибок, использование псевдостолбца ROWID, функция загрузки данных для конечных пользователей и улучшенные вэб-таблицы (гибриды электронных таблиц и Wiki, построенные с использованием самой среды Oracle Apex). |
Application Express | 4.1.1 | Февраль 2012 | Добавлены новая тема (облачная) и различные модели (шаблоны). |
Application Express | 4.2 | Октябрь 2012 | Добавлен Application builder (разработчик прикладных систем) для мобильного телефона, мобильные темы, а также поддержка HTML5. |
Application Express | 4.2.1 | Декабрь 2012 | Исправлены ошибки. |
Application Express | 4.2.2 | Апрель 2013 | Исправлены ошибки, улучшена печать PDF, добавлено новое пакетное приложение Survey Builder. |
Application Express | 4.2.3 | Сентябрь 2013 | Набор патчей для приложений Application Express 4.2.0, Application Express 4.2.1 и Application Express 4.2.2. |
Application Express | 4.2.4 | Декабрь 2013 | Набор патчей для приложений Application Express 4.2.0, Application Express 4.2.1, Application Express 4.2.2, , Application Express 4.2.3. |
Application Express | 4.2.5 | Апрель 2014 | Набор патчей для приложений Application Express 4.2.0, Application Express 4.2.1, Application Express 4.2.2, , Application Express 4.2.3 и Application Express 4.2.4. |
Application Express | 4.2.6 | Сентябрь 2014 | Набор патчей для приложений Application Express 4.2.0, Application Express 4.2.1, Application Express 4.2.2, Application Express 4.2.3, Application Express 4.2.4 и Application Express 4.2.5. |
Application Express | 5.0 | Апрель 2015 | Повышена продуктивность разработки, улучшен интерфейс пользовательских приложений. Эта версия содержит Page Designer – браузерную IDE(среду разработки), которая оперирует схемами компонентов страниц способом «drag and drop». Добавлен редактор свойств и многие другие улучшения, позволяющие уменьшить необходимость переходить от страницы к странице для внесения изменений. Версия 5.0 также включает Universal Theme – отзывчивый интерфейс для пользовательских приложений, которые могут быть легко и детально настроены с помощью функций Template Options и приложения Theme Roller (которое позволяет на ходу темизировать приложение). |
Application Express | 5.0.1 | Июль 2015 | Набор патчей для приложения Application Express 5.0.0. |
Application Express | 5.0.2 | Октябрь 2015 | Набор патчей для приложения Application Express 5.0.0 и Application Express 5.0.1. |
Application Express | 5.0.3 | Декабрь 2015 | Приложение Application Express 5.0.3. |
Application Express | 5.0.4 | Июль 2016 | Набор патчей для Application Express версии 5.0.0 и Application Express версии 5.0.3 |
Application Express | 5.1 | Декабрь 2016 | Добавлены такие компоненты как "Interactive Grids" Oracle JET-based charting, обновленный Universal Theme с опциями Live Template и поддержка RTL, некоторые улучшения UX, и три новых приложения: Quick SQL, REST Client Assistant, и Competitive Analysis. |
Application Express | 5.1.1 | Март 2017 | Набор патчей для Application Express версии 5.1.0 |
Application Express | 5.1.2 | Июнь 2017 | Набор патчей для Application Express версии 5.1.0 и Application Express версии 5.1.1 |
Application Express | 5.1.3 | Сентябрь 2017 | Набор патчей для Application Express версии 5.1.0 - Application Express 5.1.2 |
Application Express | 5.1.4 | Декабрь 2017 | Набор патчей для Application Express версии 5.1.0 - Application Express 5.1.3 |
Преимущества и недостатки
Преимущества
- Администраторы баз данных, знакомые с языком PL/SQL могут применять свои навыки для разработки веб-приложений; [Источник 2]
- Легко создавать макеты, используя готовые темы;
- Простота развертывания (пользователь просто открывает URL-Адрес для доступа к приложению APEX);
- Масштабируемость (может быть развернута (открыта) на ноутбуках, автономных серверах или установках Oracle RAC);
- Обработка и проверки на стороне сервера;
- Обширное, оказывающее поддержку сообщество пользователей (особенно форум Oracle APEX);
- Базовая поддержка для развития (или создания) группы;
- Бесплатный хостинг демонстрационных приложений от Oracle;
- Приложения APEX могут работать в бесплатной базе данных Oracle Express Edition (ХЕ);
- Отдельные компоненты приложения могут быть извлечены или идентифицированы с помощью языка SQL, что облегчает создание настраиваемых отчетов;
- Легко приспосабливается к модели создания/развития/испытания/разработки SQA (пока не заданы пароли баз данных);
- Легко поддерживает стандартизированную тему во всех наборах приложений (и изменение этой темы);
- Даже технически неподкованные пользователи могут создавать свои собственные веб-страницы и отчеты.
Недостатки
- Приложения APEX создаются с помощью собственных инструментов Oracle и могут размещаться только в базе данных Oracle, что делает пользователя восприимчивым к блокировке поставщика;
- Очень немногие веб-хосты предлагают APEX (Oracle Database) в своем пакете услуг хостинга (большинство из них предлагают PHP + MySQL или ASP + Microsoft SQL Server). Таким образом, приложения APEX ограничены в выборе веб-узлов;
- Для проектов, требующих, чтобы несколько разработчиков брались за одну и ту же веб-страницу, необходима взаимная коммуникация и взаимное извещение разработчиков о своих намерениях. Встроенного управления версиями нет, и все компоненты должны редактироваться через веб-интерфейс. Блокировка страницы может помочь защититься от физических зависимостей.
Безопасность
Основными слабыми местами приложений APEX являются: внедрение SQL-кода, межсайтовые сценарии (XSS) и управление доступом.
Приложения APEX изначально используют конструкции PL / SQL в качестве базового языка на стороне сервера. Помимо доступа к данным через блоки PL / SQL, приложение APEX будет использовать PL / SQL для реализации авторизации и условного отображения элементов веб-страницы. Это означает, что обычно приложения APEX страдают от внедрения SQL-кода, когда эти блоки PL / SQL неправильно проверяют и обрабатывают вредоносные пользовательские данные. Oracle использует специальный тип переменных для APEX, называемых переменными подстановки (с синтаксисом &NAME.) – их использование небезопасно и приводит к внедрению SQL-кода. Если внедрение происходит в блоке PL/SQL, злоумышленник может ввести произвольное количество запросов или инструкций для выполнения. Лучший способ избежать XSS и SQL внедрений, это не использовать особых символов, а применять параметры связывания.
В приложениях APEX, как и в других языках веб-приложений, существует уязвимость перед межсайтовыми сценариями. (Oracle осуществляет функцию htf.escape_sc(), чтобы защитить данные пользователя, которые отражены внутри HTML кода.) Отчеты, создаваемые APEX, также обеспечивают защиту от XSS с помощью параметра «Отображать как в столбцах отчета".
Для управления доступом к ресурсам в приложении APEX разработчик может назначить схемы авторизации ресурсам (например, страницам и элементам). [Источник 4] Они должны применяться последовательно для обеспечения надлежащей защиты ресурсов. Типичным примером применения несогласованного управления доступом является настройка схемы авторизации для элемента «Кнопка», но не соответствующего процесса, выполняемого при нажатии кнопки. Злоумышленник может выполнить процесс (с помощью JavaScript) даже без доступности кнопки.
Начиная с APEX 4.0 интерфейс Application Builder проводит несколько поверхностную оценку состояния безопасности APEX с помощью утилиты Advisor.
Дополнительные библиотеки
Разработчики могут улучшить и расширить свои приложения, разрабатываемые в APEX с использованием дополнительных, сторонних, библиотек. Среди них jQuery Mobile (основанный на HTML5), jQuery UI (интерфейс пользователя в сети), AnyChart (JavaScript/HTML5), CKEDITOR (вэб-текстовый редактор) и другие. Многие эксперты сходны во мнении, что дополнительные библиотеки - большое преимущество продукта. Благодаря им, разработка приложений становится намного эффективней.
Читайте также: