Как программно создавать компоненты Oracle ADF Essentials — API для ADF и JDeveloper

Некоторые известные IDE имеют API, который позволяет разработчикам создавать модули (плагины IDE, расширения), взаимодействующие с редакторами и другими компонентами IDE. Например. Embarcadero Delphi имеет Open Tools API, который позволяет разработчикам создавать (и интегрировать в Delphi IDE) модули, которые программно создают формы, размещают на них компоненты, пишут код внутри файлов и так далее. Это замечательные функции, потому что они позволяют разработчикам интегрировать эти платформы (VCL, ADF и т. д.) в рабочие процессы Model Driven Development (MDD) (будь то коммерческие или созданные по индивидуальному заказу командой разработчиков).

Вопрос в том - есть ли у JDeveloper такая фича - создавать модули программно. Например. можно представить себе рабочий процесс, в котором диаграмма классов UML создается каким-либо сторонним инструментом. Можно ли написать какой-нибудь модуль преобразования MDD (как плагин JDeveloper), который программно генерирует необходимые бизнес-компоненты и веб-формы ADF?

Конечно, бизнес-компоненты и формы можно создавать вручную, но Oracle ADF или JDeveloper предоставляют некоторый API, который позволяет программно создавать эти компоненты и формы без взаимодействия с пользователями. Все входные данные могут быть предоставлены в виде XML-файла (выводимого дизайнером UML или каким-либо другим инструментом).

Насколько я знаю, есть JDeveloper Extensions, но на форумах Oracle я получил ответы, что JDeveloper Extensions не предназначены для такого использования.

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

Конечно, бизнес-компоненты и формы ADF представляют собой обычные файлы кода (XML, Java), и процесс их создания может быть реконструирован. Может быть, есть какие-то постоянные попытки сделать это? Я мог бы внести свой вклад в них и не начинать новый проект с нуля.

Сам JDeveloper имеет некоторые функции MDD, но я не уверен, что они достаточно богаты и гибки.


person TomR    schedule 16.06.2014    source источник


Ответы (1)


JDeveloper не предоставляет API, позволяющий вам вызывать существующие мастера — API (Extension SDK) позволяет вам добавлять свои собственные мастера, параметры меню и т. д. В частности, для MDD — это уже поддерживается в JDeveloper через существующие средства моделирования. См. введение здесь: https://blogs.oracle.com/shay/entry/java_class_and_uml_modeling

person Shay Shmeltzer    schedule 20.06.2014