Какое место Oracle ADF 11g занимает среди Java EE Frameworks?

Это вопрос из двух частей:

Я хотел бы знать, где Oracle ADF 11g выступает в качестве фреймворка для разработки/развертывания веб-приложений/Java EE по сравнению с другими фреймворками. Насколько Oracle ADF используется в качестве основы для разработки веб-приложений. Я спрашиваю с точки зрения того, есть ли хорошие возможности трудоустройства в качестве разработчика Oracle ADF и как выглядит будущее для тех, кто обладает навыками Oracle ADF.

Кроме того, поскольку Oracle планирует использовать ADF в качестве базовой технологии для приложений Fusion, не пора ли наработать навыки работы с Oracle ADF в качестве разработчика siebel? Поскольку будущие приложения Oracle CRM, такие как ERP, SCM, будут основаны на ADF, если разработчики начнут приобретать навыки работы с ADF. Примерно когда клиенты начнут внедрять эти приложения на основе ADF. Будут ли они доступны локально или в основном по запросу в формате SaaS.


person Walker    schedule 20.08.2010    source источник


Ответы (7)


Мы выбрали Oracle ADF в нашей компании для одного из наших проектов. К сожалению, это оказалось большой ошибкой. Я лично использовал продукты Oracle, в частности их БД, но что касается промежуточного ПО для слияния, я бы посоветовал вам держаться от него подальше. ADF был, безусловно, худшим фреймворком, который я когда-либо использовал как архитектор. Некоторые из его особенностей, которые я заметил, следующие: очень сложный, Oracle просто «изобретает» или форсирует некоторые подходы к разработке, которые были признаны сообществом Java плохой практикой много лет назад. ADF очень медленный по сравнению с другими фреймворками. Говоря о медленности, я имею в виду, что страницы ADF работают медленно. Причиной этого является чрезвычайно сложный сгенерированный html и javascript. Вы можете проверить это, открыв Firebug и просмотрев сгенерированный html... он выглядит как что-то из 90-х... Ужасно. Не хочу быть слишком педантичным, но страницы ADF имеют огромное количество ошибок проверки, вызывающих проблемы при их запуске во всех браузерах. Архитектура ADF, на мой взгляд, запутана. Struts2, например, является гораздо более чистой структурой, что позволяет очень легко интегрировать ее со сторонними библиотеками, такими как jQuery и т. д. Oracle поддерживает ADF в качестве среды MVC, но, честно говоря, я не увидел там реальной архитектуры MVC. ADF использует свои собственные библиотеки javascript, которые огромны, их практически невозможно модифицировать, они неоптимизированы и медленны по сравнению с другими, такими как jQuery или Prototype. Новые тенденции в J2EE — это легковесные подключаемые фреймворки, которые легко интегрируются с другими инструментами, такими как Spring для управления зависимостями, jQuery для написания сценариев, CC для непрерывной интеграции. ADF — тяжеловесная, тесно интегрированная среда с другими инструментами ORacle, что очень затрудняет ее использование каким-либо иным способом, кроме разработанного Oracle.

Не говоря уже об инструментах разработки, которые вы вынуждены использовать при разработке ADF - JDeveloper, который очень глючит и регулярно дает сбои. Разработка в Eclipse проблематична, потому что ADF имеет множество «специфических» файлов, которые JDeveloper создает автоматически.

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

Основываясь на своем опыте, я могу только сказать, держитесь от этого подальше. Выберите одно из наиболее поддерживаемых и архитектурно чистых решений, таких как Struts2 или Spring.

person VDest    schedule 01.02.2011
comment
Большое спасибо за то, что поделились своим опытом. - person Walker; 02.02.2011
comment
АБСОЛЮТНО не согласен. Я работаю с Oracle ADF уже 16 месяцев. Это чертовски крутая кривая обучения, но через некоторое время начинается быстрое развитие. Я не вижу никакой другой среды, выполняющей все те же функции, что и Oracle ADF. Shure, он глючный, медленный, и JDeveloper не самый лучший, но Черт возьми, он быстро меняет местами некоторые объекты сущностей, создает новую главную-подробность и добавляет ценные данные в ваше приложение. - person hogni89; 01.03.2013
comment
Я абсолютно согласен. Я вынужден развиваться в Oracle ADF прямо сейчас - думаю о смене работы из-за этого. Это худшее. - person Celebes; 03.07.2014
comment
Просто хочу добавить, если вам нужна помощь, вы все сами. Ответы на OTN в большинстве случаев неверны или бесполезны, потому что только 2 или 3 человека действительно знают, как работает ADF. Кроме того, время, которое вы выиграете при создании своих бизнес-сервисов, будет потеряно при создании пользовательского интерфейса, который является самой длинной частью разработки. Держись подальше !!! - person Sydney; 04.08.2014
comment
из моего опыта работы с ним ADF - худший продукт оракула - person Dunken; 20.10.2016

Я использовал JDeveloper 10 и 11, оба с ADF, в двух корпоративных проектах ADF для известного оборонного подрядчика. Я согласен с тем, что ADF сложен, но не согласен с тем, что JDev часто дает сбой или что страницы отображаются медленно.

Теперь... почему АДФ? Прочтите краткий обзор Oracle ниже, в котором говорится, что JDeveloper и ADF делают разработку Java EE более доступной для "бизнес"-программистов. Хотя это не гарантирует элегантных программ, но почти наверняка гарантирует, что когда у этих разработчиков возникнут проблемы с ADF, они, вероятно, будут совершенно потеряны и не будут иметь ни малейшего представления о том, как открыть капот и добраться внутрь . И наоборот, они будут потеряны еще раньше, пытаясь интегрировать нынешнее изобилие J2EE с открытым исходным кодом.


ПРОПОВЕДЬ Источник: Руководство разработчика ADF (перефразировано)

«С первых дней Java в конце 1990-х годов корпоративная платформа Jave значительно выросла и сегодня используется большим сообществом разработчиков. Однако сообщество разработчиков не является однородным и включает в себя разработчиков, которые не являются опытными программистами Java, но разработчики, обладающие базовыми знаниями в своих отраслях. По мере роста платформы и сообщества Java EE средний уровень навыков программиста снижается.

Трудно представить, что найдется хоть один разработчик, который глубоко разбирается во всех аспектах платформы Java EE. Проблема, которую необходимо решить в Java EE, заключается в предоставлении технологии, которая позволяет разработчикам создавать передовые веб-приложения и приложения SOA, не ограничивая их гибкость.

Существующие фреймворки Java, такие как Struts, Spring, JSF, EJB, GWT и т. д., представляют собой одеяла, натянутые на области сложности, которые предоставляют более простые элементы управления для работы. Используя фреймворки, разработчики больше не работают с основными API-интерфейсами java, а вместо этого взаимодействуют с интерфейсами и службами, предоставляемыми фреймворком.

Бла бла бла...

То, что кажется небольшой проблемой для опытных разработчиков Java, является еще одним препятствием для бизнес-разработчиков, которые плохо знакомы с разработкой Java и EE. Этот тип разработчиков может обратиться к единой среде разработки, обещающей интеграцию всех аспектов разработки приложений в единый технологический выбор. Разработчиков с опытом разработки настольных компьютеров 4GL могут привлечь PLSQL, .NET, Adobe Flash.

Опытный Java-разработчик может счесть это большой ошибкой, но как об этом узнают эти разработчики, если Java тоже не предоставит им единственное решение? Решение представляет собой сквозную структуру, которая накрывает технологии другим одеялом, которая объединяет различные структуры и технологии в единый продукт, который предоставляет визуальные и декларативные жесты разработки в качестве преобладающей методологии программирования... ADF».

person J Slick    schedule 19.05.2012
comment
Я ничего не знаю (хорошего или плохого) об ADF, но утверждения о том, что разработчики являются бизнес-разработчиками, и тот факт, что рост JEE как платформы указывает на то, что знания разработчиков истощаются, очень верны. Спасибо за этот ответ! - person asgs; 14.07.2015

Я работаю с ADF последние 6 месяцев и понимаю, что ADF представляет собой особенно большое приложение с сильной интеграцией с базой данных. Я не видел никакой другой платформы, которая могла бы предоставить вам такую ​​быструю и простую разработку приложений с большим количеством баз данных.

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

person Amaan Junaid    schedule 25.06.2013
comment
Вопрос отличается от вашего ответа - person Jayram; 25.06.2013
comment
Для приложений небольшого размера вы можете использовать другие фреймворки, но когда дело доходит до больших приложений, таких как ERP, лучше всего подходит ADF. - person Amaan Junaid; 25.06.2013

Мое восприятие и опыт работы с ADF заключается в том, что это очень надежная и надежная среда (к сожалению, инструменты разработки - нет). Я не уверен, что у нее есть большая конкуренция, по крайней мере, не со стороны одной среды. Сам ADF на самом деле представляет собой несколько разных фреймворков, объединенных в течение многих лет в в основном связный продукт. Теперь, когда Oracle владеет Java, я действительно ожидаю (надеюсь), что части/большая часть ADF найдет свой путь в Java EE, поэтому мы, возможно, сможем увидеть альтернативные реализации и лучшие инструменты разработки. Если бы это произошло, то это значительно укрепило бы будущее ADF (до тех пор, пока Oracle не облажается с сообществом Java и не подтолкнет их к альтернативным платформам виртуальных машин).

Если вы уже знакомы с продуктами Oracle (связанными с ними) или хотите работать с ними, ADF — это то, что вам нужно. Учитывая проникновение Oracle на рынок, вероятно, разумно будет сделать ставку на то, что они останутся доминирующими, а ваши навыки останутся востребованными на рынке еще долгие годы. Oracle тратит много денег и приобретает множество компаний, пытаясь завладеть и сохранить предприятие.

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

person nix    schedule 20.08.2010
comment
Большое спасибо за то, что поделились своим опытом. - person Walker; 02.02.2011
comment
@vdest (у меня нет представителя, чтобы комментировать этот пост), я сочувствую вашим проблемам с инструментами разработки, но, похоже, ваши жалобы сосредоточены на аспектах пользовательского интерфейса ADF. Но ADF включает в себя гораздо больше, чем просто создание UI/ADFFaces. Но он достаточно гибкий, чтобы смешивать и сочетать множество других стандартных методов и технологий, основанных на стандартах. Я подозреваю, что ваши проблемы были частично связаны с отсутствием обучения и в основном с разочарованием в инструментах, а не в самой структуре. Тем не менее, ваше восприятие не редкость и представляет собой серьезное препятствие для ADF. - person nix; 30.03.2011

Короткий ответ:

  • Вы разрабатываете решение Enterprise, поставщиком вашего продукта является Oracle — ADF — лучший выбор
  • Вы инди-разработчик, ваше решение не для предприятия, вы не собираетесь использовать другие продукты в стеке Oracle — ADF не для вас, ищите другой фреймворк.

Длинный ответ:

Если вы переходите на Enterprise, если поставщиком стека вашего основного продукта является Oracle. Ваш лучший выбор - пойти вместе с ADF. ADF становится лучше с каждым основным выпуском. Я начал использовать ADF с версии 11.1.1.2, посмотрел версию 10.x и теперь использую версию 12.1.3, при этом поддерживая крупные корпоративные приложения на версии 11.1.1.6.

Я вижу огромное улучшение, и очень трудно найти другой продукт, который обеспечивает лучшую интеграцию и поддержку всего стека Oracle.

Однако, если вы хорошо знакомы с другим фреймворком и/или не собираетесь использовать другие продукты Oracle, и/или ваши клиенты не могут позволить себе платить достаточно много за ADF/Weblogic/DB/ECM и т. д., вам лучше всего выбрать избегайте АПД. Это хорошо для крупных корпоративных решений.

Да, на самом деле вы можете разрабатывать, используя бесплатную и ограниченную версию ADF - Essentials, использовать другой сервер приложений, такой как tomcat или glassfish, но вам будет лучше с другим фреймворком. ADF Essentials — это только старт для крупного корпоративного мира, а не решение для небольшого легкого приложения.

person Nagh    schedule 17.09.2015
comment
из моего опыта я обнаружил, что 11.1.1.6 является менее глючной, но если у вашего автоматического инструмента (ADF) есть ошибки, я предпочитаю работать вручную, чтобы у меня не было аварий xD - person Dunken; 20.10.2016

Развитие АДФ — это боль в сердце. Для новичка кривая обучения слишком крутая. Я бы хотел, чтобы это было больше похоже на изучение точки NET.

С моей точки зрения, изучение и создание функциональности в dot NET занимает в четыре раза меньше времени, чем то же самое в ADF. Конечно, этот дисбаланс уменьшается по мере того, как человек учится, но это в значительной степени сценарий для начинающих. Это расстраивает.

person The Mitra Boy    schedule 09.01.2013
comment
Если вы считаете, что у ADF крутая кривая обучения, вам следует попробовать EJB3 с Hibernate! - person APC; 26.06.2013

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

По сравнению с другими фреймворками JavaEE, такими как Spring,

  • Это чрезвычайно сложно при исправлении ошибок из-за архитектуры ADF и отсутствия сообщества разработчиков по сравнению с Spring. Spring имеет большое сообщество разработчиков вокруг фреймворка.

  • Трудно внедрить архитектуру MVC с межкомпонентной интеграцией ADF.

  • Разработчики Spring имеют гораздо большую репутацию и спрос по сравнению с разработчиками ADF.

  • ADF очень медленный, тяжеловесный, тесно связанный по сравнению со Spring и интегрированной инфраструктурой с инструментами Oracle.

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

person Aravinda Meewalaarachchi    schedule 21.03.2018