Introduction to Support for Java EE Technology in IDE NetBeansIDE NetBeans has been developed in close cooperation with the Java EE and GlassFish teams to provide the tightest integration and easiest possible use of the Java EE specification. IDE NetBeans is the best way to quickly learn and become productive in Java EE programming. Данный документ представляет основные концепции спецификации Java ЕЕ и их влияние на практическое программирование. В нем освещены следующие темы: ![]()
Дополнительные сведения о разработке и развертывании приложений Java EE можно найти в Руководстве по Java EE 7 и Руководстве по Java EE 6. Аннотации вместо дескрипторов развертыванияПлатформа Java ЕЕ упрощает развертывание, устраняя потребность в дескрипторах развертывания, помимо дескриптора, который требуется спецификации servlet, файла web.xml. Прочие дескрипторы развертывания, такие как ejb-jar.xml, а также записи, относящиеся к веб-службам в web.xml, теперь не нужны. Дескрипторы развертывания J2EE 1.4 часто отличались сложностью, и при их заполнении было легко допустить ошибку. В платформе Java ЕЕ вместо них используются "аннотации". Аннотации – это модификаторы Java, указываемые в коде, подобные модификаторам public и private. Например, спецификация EJB 3, являющаяся подмножеством спецификации Java EE, определяет аннотации для типа компонента, типа интерфейса, ссылок на ресурсы, атрибутов транзакций, безопасности и прочего. Похожий набор аннотаций предоставляется для веб-служб спецификацией JAX-WS 2.0. Некоторые аннотации используются для создания артефактов. Другие используются для документирования кода. Третьи предоставляют расширенные возможности, скажем безопасность или логику на этапе выполнения. В целом, платформа Java ЕЕ предоставляет аннотации для следующих задач, помимо прочих:
Аннотации помечаются символом @. При создании типа, в котором используются аннотации Java EE, в среде IDE в создаваемом коде предоставляются соответствующие метки-заполнители. Например, при создании в среде IDE сеансного компонента без сохранения состояния создается следующий код, в который входит аннотация @Stateless(): package mypackage; import javax.ejb.*; @Stateless() public class HelloWorldSessionBean implements mypackage.HelloWorldSessionLocal { } Автозавершение кода предоставляет доступ к атрибутам аннотации конкретного элемента под курсором. Например, при нажатии Ctrl-Space в скобках аннотации @WebService(), выводится следующее: ![]() У каждого атрибута имеются значения по умолчанию. Следовательно, указывать атрибуты не требуется, если не планируется использовать значение, отличное от значения по умолчанию. В простых случаях достаточно значения по умолчанию, то есть атрибуты можно вообще не указывать. Упрощение разработки программного обеспечения EJBНовый интерфейс API EJB 3.0 позволяет упростить процесс разработки путем сокращения и упрощения списка задач разработчика. Другими словами, меньше классов и меньше кода. Это возможно благодаря тому, что значительная часть работы теперь выполняется контейнером. Ниже приведен список некоторых функциональных возможностей и преимуществ EJB 3.0:
В среде IDE можно создавать компоненты корпоративного уровня так же, как и другие классы Java, причем для реализации необходимых методов и поддержания синхронизации классов с интерфейсами используется автозавершение кода и подсказки редактора. Для создания бизнес-методов или операций веб-службы не требуется использование специальных команд или диалоговых окон, однако эти команды могут применяться для упрощения знакомства с синтаксисом Java EE. Использование вставки зависимости для доступа к ресурсамВставка зависимости позволяет объекту напрямую запрашивать внешние ресурсы с помощью аннотаций. В результате исходный код становится чище, поскольку исчезает необходимость в коде создания или поиска ресурсов Вставку ресурсов можно использовать в компонентах EJB, веб-контейнерах и клиентах.
Для запроса вставки ресурса в компоненте используется аннотация
Редактор исходного кода в среде IDE обеспечивает полное автозавершение кода для аннотаций вложения ресурсов, предоставляемых платформой Java EE. Кроме того, среда IDE позволяет автоматически вкладывать ресурсы в файлы при запуске команд вроде Call EJB или Use Database. Модель интерфейса API сохранения состояния JavaВ платформе Java EE 5 введен новый интерфейс API сохранения состояния Java, разработанный в рамках JSR-220. Интерфейс API сохранения состояния Java также может использоваться вне компонентов EJB, например, в веб-приложениях и в клиентах приложений, а также вне платформы Java EE – в приложениях Java SE. Интерфейс API сохранения состояния Java обладает следующими главными особенностями:
В среду IDE входят средства для работы с новым интерфейсом API сохранения состояния Java. Классы объектов можно создавать автоматически из базы данных или создавать для них код вручную. В среде IDE также предусмотрены шаблоны и графические редакторы для создания и управления блоками сохранения состояния. Дополнительные сведения об использовании Java Persistence API см. в разделе Общие сведения о приложениях Java EE. Веб-службыИспользование аннотаций в платформе Java ЕЕ существенно улучшило и упростило поддержку веб-служб. В этом отношении необходимо упомянуть следующие спецификации: JSR 224, "API Java для веб-служб на основе XML (JAX-WS) 2.0"; JSR 222, "Архитектура для привязки XML (JAXB) 2.0"; и JSR 181, "Метаданные веб-служб для платформы Java". JAX-WS 2.0
AX-WS 2.0 представляет собой новый интерфейс API платформы Java EE для веб-служб. JAX-WS 2.0, являющийся преемником JAX-RPC 1.1, сохраняет естественную модель программирования RPC, усовершенствованную по нескольким направлениям: привязка данных, независимость от протокола и транспорта, поддержка стиля веб-служб Важнейшее отличие от JAX-RPC 1.1 заключается в том, что все привязки данных теперь делегированы JAXB 2.0. Благодаря этому для веб-служб на основе JAX-WS обеспечивается возможность использования схем XML на 100%, что приводит к повышению уровню взаимодействия и простоте использования. Эти две технологии отлично интегрированы, так что отпадает необходимость в жонглировании двумя наборами средств. При начале работы с классов технологии Java JAXB 2.0 позволяет создавать документы схемы XML, автоматически внедренные в документ WDSL (язык описания веб-служб), в результате чего пользователи избавлены от выполнения вручную этой подверженной ошибкам процедуры интеграции.
В JAX-WS 2.0 без дополнительной настройки поддерживаются протоколы SOAP 1.1, SOAP 1.2 и XML/HTTP. Расширяемости протоколов с самого начала уделялось огромное внимание, и JAX-WS 2.0 позволяет поставщикам поддерживать дополнительные протоколы и кодировки для повышения производительности – например, FAST Infoset – или для специализированных приложений. Веб-службы, в которых используются вложения для оптимизации передачи и приема крупных объемов двоичных данных, выигрывают от использования стандарта MTOM/XOP (механизм оптимизации передачи сообщений/упаковка XML с оптимизацией для двоичных данных) от W3C без отрицательного воздействия на модель программирования. (Сведения о MTOM/XOP приведены на данной странице.) До технологии Java EE 5 для определения веб-служб требовались длинные, громоздкие дескрипторы. Теперь достаточно разместить аннотацию Асинхронные веб-службыПоскольку вызовы веб-служб производятся по сети, время их исполнения предсказать невозможно. Производительность многих клиентов, особенно интерактивных, таких как настольные приложения на базе JFC/Swing, значительно снижается из-за необходимости ожидания ответа сервера. Во избежание снижения производительности в JAX-WS 2.0 предусмотрен новый асинхронный интерфейс API клиента. Этот интерфейс API позволяет прикладным программистам обойтись без самостоятельного создания потоков. Вместо этого управление удаленными вызовами с длительным временем выполнения возлагается на JAX-WS.
Асинхронные методы можно использовать в сочетании с любыми интерфейсами, создаваемыми WSDL, а также с более динамичным интерфейсом API Существуют две модели использования:
Следует отметить, что поддержка асинхронных вызовов реализована полностью на стороне клиента, таким образом, каких-либо изменений целевой веб-службы не требуется. В среду IDE входят средства для работы с JAX-WS. Для создания артефактов JAX-WS можно использовать шаблоны в мастере создания файлов. Асинхронные веб-службы можно создавать с помощью редактора настройки веб-служб. В функциональные возможности дополнения кода входят аннотации, пригодные для веб-служб. Что дальше?For more information about using IDE NetBeans to develop Java EE applications, see the following resources:
To send comments and suggestions, get support, and keep informed on the latest developments on the IDE NetBeans Java EE development features, join the mailing list. |
Documentation |