Oracle ADF Development


Oracle ADF Developer


Вообще то, намного удобнее программировать с использованием 2-х мониторов. На одном Jdeveloper, на другом браузер с приложением или PL/SQL Developer, или техническое задание, или видео с обучающими примерами.



Для информации:

1) Одна процессорная лицензия на ADF может (в некоторых случаях) стоить $5,800. Проверяйте стоимость использования заранее!

2) Фреймворк закрытый. Если что-то из скомпиленного не работает, можно только догадываться почему так или декомпилировать классы самостоятельно. У меня исходников нет. Может у кого и есть, но не у меня.

3) Писец как все медленно стартует, компилится, работает. Даже сайт с примерами от разработчиков фреймворка бажит и открывает примеры, ну очень долго.

4) Глюки, Баги заполонили весь фреймворк. Еще много чего кешуруется и ошибка то воспроизводится, то нет.

5) До дизайн шаблона альфа ui, все вообще выглядело отвратно. Сейчас стало получше. Намного получше.

4) На момент переноса сайта на новый движок, нет ни одной вакансии на всю Россию на крупнейшем сайте по поиску работы в стране (напишу название, когда они заплатят мне за рекламу), где бы требовался чисто Oracle ADF разработчик.

5) Нет каких-либо видеокурсов на сайтах, где специально подготавливаю такого рода материалы для технологии Oracle ADF, которой уже по меньшей мере 10 лет.

6) Старые проекты могут неправильно импортироваться (с большой вероятностью) в Jdeveloper, а если их не импортировать IDE откажется с ними работать.

7) Разрабатывают ADF фреймворк какие-то чудаки с большой буквы (подставьте букву сами). Переписали компоненты. В 11 версии все работало, в 12 такой функционал убрали, решив что это никому не нужно. Раз им не нужно, то и остальным тоже не нужно!

8) Если посмотреть генерируемый код ADF страницы, сразу станет понятно, что тестировать такую кашу, инструментами вроде Selenium, проблематично. Но здесь, может это мы сами пока не научились как правильно это делать. Хотя, я пока склоняюсь к версии, что Selenium не сможет найти по id нужный компонент на форме и допустим, кликнуть его. А если и сможет, то как мне найти этот самый компонент. Не такими же мудацкими способами, которые использую я?

9) Разработчики примеров от Oracle, настолько суровы, что примеры своих пректов выкладывают на github’е в архивах! А в качестве примера, предлагают поизучать приложение, без исходных кодов классов. Я встречал пример с WebService, где относительно норвое приложение, должно получать ответ сервиса на домене, который уже дропнут.

10) Редко, но такое бывает, что Jdeveloper генерирует пустые файлы, из-за которых может не запускаться приложение. Но гораздо хуже, когда прописываются какие-то ненужные значения, которые потом сложно отловить. Бывает также, что ломается viewCriteria, свойства передаваемые во ViewObject и т.д.

11) Отключили нужный мне функционал. Я теперь не могу скопировать название DataContorl по Ctrl + Insert и вынужден его набирать руками. А они называются, легче номер мобильного запомнить.

12) Я когда программирую отключаю автодеплой при сохранении. Пока стартует weblogic и запускается приложение, я обычно успеваю написать еще что-нибудь. В последней версии даже после отключения автодеплоя, идет обновление приложение на weblogic.

13) Нет никаких инструментов для работы с groovy скриптами, которые яктивно используются. Даже подсветки партных текстов. Как их отлаживать, если что-то не так? Стандартные инструменты, встроенные в Jdeveloper, лично мне неизвестны.

14) Возможно, что Oracle, купит что-то получше и будет продвигать что-то другое. Сейчас начали пилить Oracle Jet, но там, похоже, что пока тоже не очень все хорошо.

15) В 2016 году могут быть проблемы с кодировками. Может вместо русских букв писать в консоли крякозябры. И победить это иногда не удается.


Oracle ADF (Application Development Framework)

В предисловии книги Oracle Fusion Developers Guide написано, “To old dogs learning new tricks”.


Пара слов о технологии Oracle ADF

Oracle ADF - Один из множества фреймворков для разработки приложений с использованием технологий JavaServer Faces. Фрейморк закрытый, но корпорация Oracle готова предоставить его исходники компаниям-партнерам после специальной процедуры письменного согласования с особыми условиями хранения и ответственности.

Приложения, написанные с помощью данного фреймворка могут быть запущены на серверах приложений Weblogic. На других серверах новые версии ADF официально не поддерживаются. Есть сильно урезанная бесплатная версия, которая работает на Glassfish. Не вижу вообще какого-либо смысла ее копать, может быть имеет смысл только ее закопать, дабы не отвлекала.

АDF может быть использован с использованием технологий EJB, JPA (и д.р.) или с использованием компонентов BC4J (Business Components for Java). Если при разработке используются компоненты BC4J, в качестве баз данных, могут использоваться только сервера баз данных Oracle. Собственно вся разработка на ADF имеет смысл преимущественно (как я думаю) с использованием как раз BC4J.

Приложения на Oracle ADF очень удобны для банков, страховых. Т.е. там, где много всяких менюшек и чекбоксов. К сожалению в книгах и обучающих курсах обычно представлена всякая бесплолезная пурга, которая реально не особо и нужна.

Для разработки обычно используется бесплатная среда JDeveloper (Самая тормознутая и глючная среда с которыми мне когда-либо приходилось работать). Впрочем альтернатив не просматривается.

Приложения, написанные на Oracle ADF (на взгляд администратора сайта) не отличаются какой-то особой красотой. (По мне, так они просто уродские :)). Особенно со стандартными скинами.

Зато один опытный разработчик, может достаточно быстро разрабатывать ПО, используя набор уже подготовленных компонентов. Создал SQL запрос, пару кликов и таблица с возможностью добавлять, удалять и реадктировать записи уже на форме и с ней почти сразу можно работать.

Разработка приложения на Oracle ADF подобно разработке приложений на Delphi или Visual C++ (но только для веб), когда на палитре компонентов выбирается компонент, перетаскивается на холст и в редакторе свойств задаются значения для данного объекта. Программирование на Oracle ADF в первую очередь заключается в умении манипулировать данными объектами и их свойствами.

Нужно отметить, что некоторые относительно сложные задачи решаются простым перетаскиванием компонента. Сложности возникают, когда необходимо изменить стандартное поведение уже подготовленного компонента.

Также, следует отметить, что среда разработки достаточно глючная. Начинает подвисать от простого внесения изменений в исходный код. Jdeveloper может закрыться или зависнуть в любой момент. То, что отображается в среде разработки может сильно отличаться от того, что будет получено на выходе при запуске приложения в браузере.

Для развертывания приложения на мой локальный сервер, требуется в среднем 2-10 минут, из-за чего разработка сильно затягивается. (Впрочем, после апгрейда моего компьютера, скорость развертывания увеличилась в разы.)

Также, нужно заменить, что стандартная работа с объектами, будь-то считывание значения объекта или присвоение ему какого-то состояния реализована достаточно запутанно и на распутывание этих клубочков уходит достаточно большое количество времени.

С приобретением опыта данные проблемы, конечно решаются, но требуется время. Очень хорошо, если ваше руководство отнесется к этому с пониманием и отправит вас на какие-нибудь курсы. Но так бывает не всегда.

Книг на русском практически нет. Единственная книга, которую удалось раздобыть - по 10 версии. Хотя основы понять можно, но для тех задач, которые нужно выполнять (впрочем достаточно простых) ее скорее всего окажется недостаточно.

И главное… Никогда не начинайте новый проект на Oracle ADF, если у вас нет ни одного человека с хорошим опытом работы с этой технологией (здесь я не про себя) … Когда-то я начинал именно на таком проекте. Получилось не очень!



Разработка на Java VS разработка на Oracle ADF, наглядно.



oracle adf development process



Понравился комментарий:
http://habrahabr.ru/post/172123/

Как же мы с ним когда то намучались, багованый, ведет себя странно, в спеках совсем другое написано. Я никому не советовал бы его использовать.



Я переписываюсь с коллегой, с которым работали на ADF проекте.

Ты сейчас на чем программируешь?
Предлагают проект по страхованию на ADF, тебя может заинтересовать?


Ответ:

Привет, ***!
Спасибо!
ADF - кошмар, к которому нет никакого желания возвращаться.



Если вы не передумали изучать данную технологию... и делиться полученными знаниями, то ... --> Welcome! <--



Если Вам на проект будет нужен разработчик Oracle ADF, напишите мне.
Может быть я Вам подойду и мы договоримся.

Для контактов.
Marley