Oracle Application Express 4.0 Released

Наконец-то свершилось то, чего прогрессивная оракловая общественность долго ждала: вышел Oracle APEX 4.0 !.

Перейдя по вышеуказанной ссылке, вы можете посмотреть на список новых возможностей, и, конечно-же, скачать APEX 4.0.

Мне часто приходиться общаться с заказчиками и партнерами по поводу APEX, поэтому ниже я решил собрать небольшой FAQ.

1) Какая редакция СУБД Oracle Database необходима для запуска Oracle APEX 4.0 ?
Oracle Application Express 4.0 бесплатно поставляется для всех редакций СУБД Oracle Database (кроме Personal Edition): SE1, SE, EE, и XE. Версия СУБД должна быть не ниже 10.2.0.3 (это не относится к XE).

2) Говорят, что APEX предназначен для сайтов c небольшим числом пользователей (не более 10-20), иначе он начинает "тормозить" ...
Видимо Вы используете для генерации web-страниц встроенный в СУБД HTTP-сервер (PL/SQL Embedded Gateway). Для серьезных промышленных сайтов рекомендуется использовать Oracle HTTP Server, либо APEX Listener
Вариант использования PL/SQL Embedded Gateway подходит для случая когда ваше APEX-приложение будут использовать небольшое число пользователей (10-20), либо производительность неявляется критичной. При использовании нужно не забыть увеличить значениме параметра СУБД SHARED_SERVERS

Архитектурно "движок" APEX реализован в виде набора PL/SQL-процедур и таблиц метаданных, поэтому масштабируемость APEX упирается в возможности сервера, на котором установлена СУБД Oracle Database.
Самой корпорацией Oracle, APEX позиционируется на нишу небольших и средних приложений ( c числом пользователей не более 300-500). Для более крупных систем рекомендуется использовать 3-х звенную архитектуру с сервером приложений. Хотя, конечно, никто не мешает успешно эксплуатировать APEX и на большем числе пользователей, и такие примеры есть, - главное чтобы эту нагрузку "держал" сервер СУБД.
Рекомендую к прочтению перевод на русский язык, выполненный Евгением Тимошининым, хорошей статьи про оптимизации производительности APEX - APEX - Sizing Up Performance


3) Какое максимальное число одновременно работающих пользователей может "выдержать" APEX ?
Вопрос перекликается с предыдущим . Все зависит от возможностей сервера СУБД. Для высоконагруженных приложений можно порекомендовать вынос HTTP-сервера на отдельную машину.

4) Мне не нравятся визуальные темы дизайнов страниц предлагаемых в APEX.
В APEX вы имеете возможность полностью переопределить темы страниц (themes), взяв за основу существующий шаблон, либо создав его под себя. Далее вы можете использовать созданные шаблоны страниц (page templates) в многих своих приложениях.

5) У нас имеется 2-х звенное приложение (СУБД Oracle + толстый GUI-клиент), - как быстро перенести его в APEX ?
К сожалению, простого ответа на этот вопрос нет. Проблема связана даже не с APEX-ом как таковым, а с методами разработки и выполнения web-приложений, которые коренным образом различаются от соответствующих парадигм в GUI-приложениях. Если вы имеете GUI-клиент с мощным развитым интерфейсом, то потребуется его редизайн при переносе в среду Web.
Возможно хорошей идеей для вас станет вариант одновременного развития и сопровождения как GUI-клиента (для администраторов и advanced-пользователей), так и web-клиента реализованного на APEX (для обычных пользователей).

Для GUI-приложений, созданных в Oracle Forms, в составе APEX есть визард для автоматической конвертации приложения (вернее его генерации в APEX на основе определений в формсах). Но полной автоматизации конечно нет: как я уже говорил: сильно различаются философия выполнения GUI и Web-приложений.

Самое главное: при переходе в APEX ваи НЕ нужно переписывать серверную PL/SQL-логику приложения !

6) Назовите примеры сайтов, созданных на основе Oracle APEX, и желательно в России.

Много англоязычных сайтов, реализованных на APEX, приведены на сайте OTN.
Что касается российских сайтов, вот что мне удалось найти:
www.cargotracking.ru
www.sbconsulting.ru
www.glonass-ianc.rsa.ru

Список небольшой, поскольку в основном заказчики используют APEX для создания intranet-приложений.

13 комментариев:

  1. Анонимный7/7/10 12:37 AM

    APEX 4.0 это очень хорошо! :)

    GUI - как обычно слабое звено :(
    Игорь напишите пожалуйста письмо Ларри, о том что такое extjs - www.extjs.com.
    Людям для создания сложных приложений приходиться скрещивать ежа с ужом :) Причем не мы одни используем ext + apex. Почему же не сделать мега - средство изначально?
    В APEX 4.0 появились plugins - надо эту тему развить.

    ОтветитьУдалить
  2. >> " ... напишите пожалуйста письмо Ларри ..."
    Хорошо - я напишу, только не Ларри а product manager-y APEX-а.

    Но хорошие шаги в этом направлении уже делаются - среди новых фич заявлено "Integration of jQuery and jQuery UI"

    ОтветитьУдалить
  3. Анонимный7/7/10 8:46 AM

    Игорь, вопрос
    может ли Апекс "нативно" реализовать функциональность BiEE по переходу между отчетами
    Т.е. передавть контекст вызова.
    Например:
    В отчете А идет выборка столбцов А1 А2 А3 , в отчете Б теже столбцы но по фильтру выбранному в отчете А,которы определился при нажатии гипер-ссылки на пересечении соответсвующей строки и столбца.

    ОтветитьУдалить
  4. Игорь, для коллекции ссылок российских APEX сайтов.

    Личный кабинет на www.akako.ru сделан на APEX. Думаю, что у Акадо не одна сотня пользователей.

    ОтветитьУдалить
  5. >> может ли Апекс "нативно"
    >> реализовать функциональность BiEE >> по переходу между отчетами


    К сожалению, стандартно - нет. Как вариант можно сделать Link-столбец, в передавать на страницу подчиненного отчета по этому линку параметры.
    Все-таки APEX это не замена BI, - для решения этих задач есть специализированные инструменты. Не стоит пытаться на APEX реализовать полноценный BI-Tools, - это скорее всего выльется в сплошную кастомизацию.

    ОтветитьУдалить
  6. >>Личный кабинет на www.akako.ru сделан на APEX.

    Я пытался зайти на этот сайт - но он не отвечает, или он доступен только из сети Акадо (у меня другой провайдер)?

    ОтветитьУдалить
  7. Проверил личный кабинет на akado.ru

    Три месяца назад он точно был на APEX. Ну невозможно перепутать ссылки APEX в адресной строке с чем-то другим!

    А сейчас похоже, что перевели на PHP.
    Так что этот пример отпадает.

    ОтветитьУдалить
  8. APEX очень удобен для быстрого решения утилитарных задачек. Примерно за день сделал для программеров и аналитиков приложение для анализа разных логов (апача, перловых модулей и пр.) с продакшн сервера приложений, куда им доступа нет: regexp-ами режется инфа за день, грузится в "местную" базу SQL*Loader-ом, а там уж веб-отчётами крути-не хочу (suspicious activity на раз выявляется по сложным критериям).

    ОтветитьУдалить
  9. Насколько я помню инфу со страницы про APEX 4 там предлагается использовать APEX Listener.
    У меня приложение под предыдущий APEX и работает под тем http-сервером, который идёт в "companion cd".

    ОтветитьУдалить
  10. Не обязательно использовать APEX- листенер. Как и раньше, вы можете использовать Oracle HTTP Server (Apache); его листрибутив как и раньше входит в состав СУБД.
    Называется он теперь: Oracle Fusion Middleware Web Tier Utilities 11g (11.1.1.2.0)
    Его можно скачать с OTN Database Download Page. Например дистрибутив для Linux x64:
    http://download.oracle.com/otn/linux/middleware/11g/ofm_webtier_linux_11.1.1.2.0_64_disk1_1of1.zip

    При установке Web Tier просто выберите опцию "HTTP Server"

    ОтветитьУдалить
  11. Анонимный13/7/10 11:59 PM

    APEX 4 это здорово! Будем надеяться что репозитарий плагинов будет пополняться :)
    Интересно ORACLE XE 11g выпустят когда нибудь? Не видно большой любви Oracle к ISV :)

    ОтветитьУдалить
  12. Анонимный12/11/10 5:43 PM

    В копилку сайтов на APEX -
    Учет личных инвестиций

    ОтветитьУдалить
  13. Установил APEX и APEX Listner, при изменении и внесении новых записей

    ОтветитьУдалить