#ide #oracle-adf #jdeveloper #model-driven #model-driven-development
#ide #oracle-adf #jdeveloper #управляемый моделью #разработка на основе моделей
Вопрос:
Некоторые известные IDE имеют API, которые позволяют разработчикам создавать модули (плагины IDE, расширения), которые взаимодействуют с редакторами и другими компонентами IDE. Например. Embarcadero Delphi имеет Open Tools API, который позволяет разработчикам создавать (и интегрировать в Delphi IDE) модули, которые программно создают формы, размещают в них компоненты, записываюткод внутри файлов и так далее. Это отличные возможности, потому что они позволяют разработчикам интегрировать эти фреймворки (VCL, ADF и т. Д.) В рабочие процессы разработки на основе моделей (MDD) (будь то коммерческие или изготовленные на заказ командой разработчиков).
Вопрос в том, есть ли у JDeveloper такие возможности — создавать модули программно. Например. можно представить рабочий процесс, в котором диаграмма классов UML создается каким-либо сторонним инструментом. Возможно ли написать какой-либо модуль преобразования MDD (как плагин JDeveloper), который программно генерирует необходимые бизнес-компоненты ADF и веб-формы?
Конечно, бизнес-компоненты и формы можно создавать вручную, но предоставляет ли Oracle ADF или JDeveloper какой-либо API, который может позволить создавать эти компоненты и формы программно без взаимодействия с пользователями. Все входные данные могут быть предоставлены в виде XML-файла (который выводится из UML designer или каким-либо другим инструментом).
Насколько я знаю, есть расширения JDeveloper, но на форумах Oracle я получил ответы, что расширения JDeveloper не предназначены для такого использования.
Я предполагаю, что ADF Essentials становится довольно популярным, и должен быть некоторый интерес к интеграции ADF Essentials в рабочие процессы MDD. Возможно, есть какие-то скрытые функции расширений JDeveloper или, может быть, даже отдельные проекты с открытым исходным кодом, которые уже позволяют такую интеграцию.
Конечно, бизнес-компоненты и формы ADF представляют собой обычные файлы кода (XML, Java), и процесс их создания может быть подвергнут обратному проектированию. Может быть, есть какие-то постоянные усилия, чтобы сделать это? Я мог бы внести в них свой вклад, а не начинать новый проект с нуля.
Сам JDeveloper имеет некоторые функции MDD, но я не уверен, достаточно ли они богаты и гибки.
Ответ №1:
JDeveloper не предоставляет API, позволяющий вам вызывать существующие мастера — API (Extension SDK) позволяет вам добавлять свои собственные мастера, параметры меню и т.д. Специально для MDD — это уже поддерживается в JDeveloper через существующие разработчики моделей. Смотрите вступление здесь: https://blogs.oracle.com/shay/entry/java_class_and_uml_modeling