Pull to refresh

Comments 29

Спасибо большое — отличная статья.

Я пользовался APEX раньше много и часто. Это практически единственный быстрый способ для DBA донести какую-то информацию в «человеческом» виде без знания дизайна, framework, всякого программирования GUI и прочего. Очень помогает для внутренних каких-то систем метаданных, Inventory.
Было очень полезно вспомнить какие-то моменты и узнать новые — как раз активно пользовался до выхода 5-й версии.

Единственно, может это глюк приложения Habr под Android, но из TOC по любой ссылке на начало статьи просто переходит.
Единственно, может это глюк приложения Habr под Android, но из TOC по любой ссылке на начало статьи просто переходит.
Интересно, не задумывался над этим. Я вообще-то не знаю, как правильно такие ссылки делать. Попробовал у себя: браузер на компьютере просто переходит к нужному разделу, Safari на iOS перезагружает страницу и переходит к нужному разделу, но картинки догружаются только потом, поэтому нужное место немного уползает.
Единственно, может это глюк приложения Habr под Android, но из TOC по любой ссылке на начало статьи просто переходит.
Говорят, это баг Хабра.
Было бы интересно посмотреть варианты использования внешних источников данных и реализация REST API
Мне тоже ;) Я пробовал осилить REST еще в версии 4.2, но не осилил. Но тогда мне это было совсем не нужно, да и я не понимал я толком, что это за REST и зачем он нужен. Осилю и напишу.
UFO just landed and posted this here
Непонятно, что там такого страшного? ИМХО уникальный инструмент, который позволяет очень быстро сделать отображение данных из БД. Да еще с таким простым входом для новичков.

Мне наоборот печально, что ничего подобного нет, например, для Postgres-a. А в свете нынешних реалий очень бы хотелось иметь подобный инструмент.
Абсолютно согласен. Ещё в APEX есть уже внутри полный набор инструментов для коллективной разработки, поддержки версионности, переносимости приложений и пр.

По поводу PostgreSQL был прецендент — в APEX делал небольшое приложение — отчёты по старой системе тикетов, данные которой хранились в PostgreSQL. В Oracle можно сделать db_link к любой базе через odbc (не считая «родных» gateways). Собственно, так и было сделано — APEX приложение работало со схемой Oracle, данные в которую выбирались из внешней PostgreSQL базы. Есть определённые танцы с бубном для типов данных, но это решаемо. DB_Link позволяет и писать данные в удалённую базу, но такой метод, считаю, может как-то работать только для каких-то простых случаев и, конечно, ни разу не заменит родного APEX для PostgreSQL, если бы он был.

Я думаю, всё-таки подобные решения в природе есть — в принципе этому почти любой ORM можно научить (вопрос — сколько времени и сил убить на это), просто PG админы слишком брутальны, чтобы их использовать :)
Непонятно, что там такого страшного?
На 100% не уверен, конечно, но мне кажется, что для человека, пришедшего откуда-нибудь из мира фронтенд-разработки, нормальная реакция. Я-то сам с БД разработки начинал, первые лет 5 тоже был в диком восторге.
Я начинал разработки еще с дос-овского клариона. Поэтому апекс пришелся вообще идеально.
UFO just landed and posted this here
Очень быстро позволяет отобразить данные из БД банальный Excel
Банальный excel в сравнении с апексовским интерактивным отчетом/гридом это как велосипед и супекар. Его интерактивный отчет позволяет закрыть потребности пользователей в отчетах процентов на 85. Это вообще несравнимые вещи.
Система где прописал что то в одном окошке, перешел к какой то формочке, еще что то прописал ущербна по своей сути
Что значит ущербна? Другого подхода в этих системах просто не бывает. Посмотрите на 1С, R3 и т.п. у них примерно такой подход везде.
быстро сделать довольно таки сложные вещи и архисложно сделать простые не предусмотренные системой
Тут просто надо принять апексовский подход к решению проблем, а не пытаться его заставить его делать то, для чего он не предназначен.
Специалист APEX это как специалист 1С — раб довольно окукленной технологии,
Это да. Но об этом и пишется, что технология заслуживает большего распространения.
UFO just landed and posted this here
открыл проектик на одном из гораздо более распостраненных фреймоврков с MVK и маршрутизацией, который уже имеет из коробки классы и шаблоны для отображения таблиц и форм и начинаешь писать.
А в апексе, надо полагать, всего этого нет? Чтобы показать страницу с результатом выполнения SQL запроса в апексе, нужно сделать примерно 10 кликов мышкой и написать SQL запрос. Больше не надо ничего вообще. Никакой другой «обычный фреймворк» такого не позволяет. Лично мне есть с чем сравнивать: в 2010-м году я начал делать свой проектик для веба (не зная о вебе ничего вообще) на апексе (не зная апекса вообще и попутно его изучая), и за два-три месяца довел его до более-менее вменяемого рабочего состояния. В 2016-м я попробовал начать делать другой свой проектик на Spring Boot (не зная Spring Boot вообще и попутно его изучая), но к тому моменту я уже намного больше знал, что и как устроено в вебе, при этом три месяца спустя в проекте все еще конь не валялся. Так что по уровню входа и по скорости разработки у апекса конкурентов нет. Проблемы появляются, когда нужно сделать что-то, не предусмотренное фреймворком. Тогда да, скорость разработки падает до обычной, как везде.

У меня впечатление от APEXа это как попытка Oracle создать свой лунапарк.
Смешно, особенно на фоне чуть ли не каждую неделю выходящих на Хабре статей о том, что новые фронтенд-«лунапарки» для js выходят каждые полгода. Оракл, на секундочку, создал этот «лунапарк» в 2004-м, как сейчас модно говорить — «до того, как это стало мейнстримом» ;)
UFO just landed and posted this here
Чтобы показать страницу с результатами SQL запроса вообще никакого фреймворка не нужно:

Покажите хоть что-нибудь близкое по функционалу IR апекса. Я специально искал, не нашел.
Отчеты в стиле «выгрузил в excel и забыл» — это не отчеты, это наколеночное исполнение.
Апекс не предназначен для рисования сайтов в интернете, на что заточены все остальные фреймворки, он предназначен для представления данных и управления ими.
Отчеты в стиле «выгрузил в excel и забыл» — это не отчеты, это наколеночное исполнение.

… пока вы не взвоете от того, что юзеры регулярно просят сделать в фиксированном отчёте этот столбец уже, а тот шире, тут шрифт увеличить, а там уменьшить, и т.п. — ведь «это не трудно!», а после исполнения их пожеланий — новое пожелание в том же духе, и так далее до бесконечности.
В итоге, большая часть вашего рабочего времени будет уходить на очередные бесконечные корректировки оформления отчёта, потому что и отчётов и юзеров — много, и каждому нужно «сделайте мне красиво!» (откажешься — будут считать тебя козлом, и регулярно жаловаться на тебя начальству).
Уж проще и эффективнее дать им Excel, и «делай с ним что хочешь!».
отчёте этот столбец уже, а тот шире, тут шрифт увеличить
Хотя в апексе многое решено в гриде, но разговор не об этом. IR/IG позволяют решить большинство запросов пользователя типа: а мне нужно
отфильтровать по этому столбцу, сгруппировать по этому, посчитать сумму и т.п. И в зависимости от уровня пользователя он многие отчеты для анализа данных может сделать сам, не привлекая программиста.
А вот за оформлением уже можно послать в эксель.
UFO just landed and posted this here
1. В любом продукте используется 10% возможностей. Но разные люди используют разные возможности.
Результат запроса выведенный АПЕКС-ом это намного больше чем «просто запрос»
2. И на каждое новое требование пользователя будет писаться новый отчет этим программистом.
3. Если это переход с classic report на interactive то никак. В остальном проблема перехода от версии к версии решается примерно как у всех.
3) Наконец у самого АРЕХа несколько версий, и я даже не знаю как перевести сотню другую отчетов из старой версии в новую, может вы расскажете?
Зависит от того, что вы называете «переходом на новую версию». Если у вас на сервере стоял апекс 4.2, вы на него установили, например, 5.1, и всё, что вам нужно — это чтобы приложение осталось работоспособным — то ничего делать не надо, оно таки останется работоспособным. А если нужно что-то другое — сформулируйте.
Из серии очень быстро сделать довольно таки сложные вещи и архисложно сделать простые не предусмотренные системой.
Это применимо вообще к любому фреймворку.
Специалист APEX это как специалист 1С — раб довольно окукленной технологии
В целом да, но специалист 1С — специалист только на территории бСССР, а за ее пределами он — никто. А специалист по APEX — специалист во всем мире (и как правило, он еще и специалист по Oracle, что все еще востребовано также во всем мире).
UFO just landed and posted this here
Апекс совершенно не мешает вам писать PL/SQL и javascript в виде файлов в IDE. Я сейчас, например, параллельно с написанием этого туториала делаю пару плагинов для апекса, и процентов 90 времени делаю это в Intellij IDEA. Вам тоже никто так не запрещает.
АРЕХ — крутая вещь. Если к нему правильно прикручивать AJAX-обработчики, он вполне современен, а функционален — почти из коробки.
Было бы очень интересно почитать про нагрузочное тестирование APEX-приложений. Мои кривые руки полагают, что при нескольких десятках пользователей, они вешают сервер намертво. Мб, я что-то делал не так, но при всех достоинствах АРЕХа на нем почти нет сайтов в Интернете (навскидку, только askTom).
А приложения для ограниченного количества внутренних пользователей успешно работают, например, во многих банках.
Навскидку, из больших сайтов знаю только shop.oracle.com. Но, насколько я понимаю, apex идеальнее всего подходит для интранета, и в нем существуют большинство проектов на апексе.
В администрировании я понимаю чуть больше чем ничего, но буквально недавно мне попадалось на глаза это: ora-00001.blogspot.com/2015/07/installing-oracle-xe-ords-and-apex-on-centos-linux-part-four.html
На просторах интернета попадались упоминания о том, что на подходщем железе до 2К пользователей апекс держит (но это уже не XE версия оракла должна быть).
Добрый день!
Нужно четко сформулировать назначение продукта и ограничения по его использованию.
И от этого плясать.
Пока APEX(на мой взгляд) это пример от Oracle как нужно\не нужно писать интернет приложения c использованием БД.
Еще было бы интересно узнать про внутреннюю реализацию. Мониторю с точки зрения производительности одно приложение на APEX так там большая часть ожидания сети Не совсем понятно для чего вообще нужна мощь транзакционной БД.
Похоже на гланды будем рвать через… Или на БД Oracle можно сделать все, даже грабли
Но это мое личное впечатление :)

Я только сейчас увидел ваше сообщение.
Еще было бы интересно узнать про внутреннюю реализацию.
Внутренняя реализация — заврапленные PL/SQL пакеты, так что узнаете вы ее только устроившись в оракл разработчиком. Также для отладки можно воспользоваться отладчиком апекса. Надо залогиниться в IDE, потом из IDE запустить приложение (тогда внизу появятся дополнительные кнопочки), нажать на «Debug», потом — «View Debug». Там можно найти по шагам отчет, какая часть выполнения страницы сколько времени занимает.

Пока APEX(на мой взгляд) это пример от Oracle как нужно\не нужно писать интернет приложения c использованием БД.
Так нужно или не нужно? ;) Вы определитесь.
Sign up to leave a comment.

Articles