В чем будут заключаться различия при реализации удаленной бизнес-логики?
В настоящее время мы планируем использовать ADF для разработки внешних веб-приложений (переход от Struts). Каковы различия между фронт-эндом, вызывающим EJBs с помощью TopLink и ADF Business Components через RMI с точки зрения масштабируемости, поскольку переход от Struts к ADF будет также включать PL/SQL и Oracle Forms, что значительно увеличит количество пользователей?
ADF довольно широк, так как включает в себя фронт-энд и доступ к данным. Это отличный RAD фреймворк, если вы собираетесь использовать весь стек, но он не так хорош, если вы собираетесь использовать только одну часть или другую.
Я предполагаю, что вы говорите об использовании TopLink или бизнес-компонентов ADF (BC4J) для уровня доступа к данным.
Я бы сказал, что если вы планируете использовать приложение на основе RMI, то TopLink, вероятно, будет лучше, в основном потому, что сила BC4J заключается в его объектах представления, которые не сериализуются (следовательно, в любом случае, эти результаты будут переведены в объекты значений в стиле TopLink).
Если вы делаете прямое веб-приложение и не заботитесь о EJBs и RMI, то я думаю, вы обнаружите, что BC4J предлагает много возможностей для масштабирования стандартных веб-приложений... Короче говоря, он отображает SQL в объекты представления, которые, по сути, являются умными ресунками данных с очень настраиваемым поведением, которые могут быть связаны непосредственно с JSF компонентами Oracle ADF Faces, обеспечивая действительно хороший бесшовный RAD.
Я'сейчас переживаю похожую ситуацию. Я не эксперт, но вот что я понял из своего опыта. Что лучше - EJB с использованием Toplink или ADF - зависит от особенностей вашей ситуации. В некоторых случаях одно может быть лучше другого, но мне кажется, что они оба являются довольно хорошими решениями.
Однако, поскольку вы упомянули, что проект также включает миграцию Oracle Forms, то кажется, что ADF будет лучшим выбором, поскольку Oracle, похоже, позиционирует JDeveloper и ADF как преемника для форм и отчетов (см. Документация ADF для разработчиков форм и дизайнеров).
Не следует использовать EJB-развертывание ADF BC. Она требует много синхронизации RMI. Я использовал его с ADF Swing. Переход к следующей записи занимает около трех секунд. Нам нужно переписать comboboxes, чтобы заставить его работать.
В Oracle 11g (издание 2009-05) вы получите возможность создавать SDO WS на основе viewobject и сможете использовать их в ADF BC serviced based entities в другом проекте ADF.