Sun Microsystems завершает тур по Австралии и Новой Зеландии с окончательной остановкой конференции Sun Developer Days 2006 сегодня и завтра в Мельбурне. Товарищ SitePointer Лахлан Дональд и я были здесь сегодня, чтобы познакомиться с Java-вибрациями, и, как и на большинстве бесплатных конференций, качество сессий, которые мы посещали, сильно различалось.
Инструменты разработчика Sun , Боб Брюин (Sun)
В своем основном выступлении г-н Брюин рассказал в основном о том, что Sun делает шаг в сторону упрощения разработки (EoD) для всей платформы Java и набора инструментов разработчика Sun. Ключевыми примерами этого являются новые языковые функции в Java SE 5.0 , выпуск в качестве бесплатной загрузки Java Studio Creator и API сохраняемости Java , который установлен для замены сущностных компонентов в EJB 3.0. Однако это все старые новости, и Брюин выглядел так, словно он выступил с этим докладом пятьдесят раз раньше. Хотя некоторые улучшения, вносимые в ландшафт Java, могут быть вдохновляющими, эта сессия не была.
Изменение ландшафта разработки программного обеспечения , Саймон Риттер (Sun)
Основной доклад г-на Риттера, по сути, охватывал все способы, которыми Sun способствует разработке открытого исходного кода с помощью Java. Опять же, в этом разговоре было очень мало того, что было бы новостью для людей в комнате, и Риттер казался смутно смущенным этим фактом (даже вслух удивляясь некоторым вариантам образов, которые «его босс» сделал при сборке слайдов). для него). Конец сеанса, в котором описывались все способы, которыми Java была так же хороша, как если бы не являлся на самом деле открытым исходным кодом, казалась совершенно оборонительной… что было особенно странно, потому что быстрый опрос аудитории показал, что только небольшое меньшинство считает, что это должно быть ,
Быстрая разработка веб-приложений с использованием Sun Java Studio Creator , Ашвин Рао (Sun)
Очень быстрое введение, этот сеанс быстро прошел через Java Studio Creator , инструмент для разработки веб-приложений путем перетаскивания с использованием JavaServer Faces (JSF) . В прошлом я видел пару подобных примеров, и хотя я приветствую то, что Sun достигла с Creator в плане возможности спешно собирать веб-приложения на Java, я все еще не продал его создание кода наилучшей практики (по крайней мере, не из коробки).
Во многом подобно выпуску Visual Studio для Microsoft для Visual Studio (с которым Creator был явно создан для конкуренции), Creator позволяет быстро создавать пользовательские веб-интерфейсы, перетаскивая готовые компоненты в представление дизайна. Я содрогаюсь каждый раз, когда наивно рассматриваю последствия доступности использования этого механизма разработки (особенно в режиме макета по умолчанию «сетка», который использует абсолютные пиксельные координаты для позиционирования всех элементов страницы).
Тем не менее, технология JSF, на которой основан Creator, безусловно, способна создавать совместимые со стандартами доступные веб-сайты. Что я хочу знать, так это то, что быстрые и грязные результаты, которые Creator, похоже, готов произвести, являются ошибкой инструмента (в этом случае я смиренно предлагаю Sun вернуться к чертежной доске), связанными компонентами (в которых в случае, если отдельная группа разработчиков может создать более «ответственный» набор компонентов для использования в Creator), или просто способ, которым разработчик решит их использовать (в этом случае SitePoint, вероятно, должен написать книгу, аналогичную ее недавнему названию Dreamweaver ).
Техническая сессия SAP: запуск приложений Java EE на основе открытого исходного кода в SAP Web AS , Таиб Локман (SAP)
Несмотря на то, что я, конечно, видел название SAP , но я не совсем понял, как оно вписывается в пространство Java. Оказывается, что SAP уже давно занимается разработкой корпоративных приложений на Java , и сегодня она предлагает собственный набор серверов Java EE и инструментов разработки на основе Eclipse. SAP выступила спонсором конференции, поэтому я ожидал, что на этой сессии будет продвижение продаж. То, что я получил, было неожиданным и очень запутанным.
В своем выступлении г-н Локман представил и даже продемонстрировал ряд популярных корпоративных Java-технологий с открытым исходным кодом (Struts, Axis, Ant и т. Д.), По-видимому, назвал их отличными вещами, которые мы все должны использовать, а затем объяснил, что SAP у него была своя более или менее запатентованная альтернатива, с которой вам пришлось бы иметь дело, если бы вам когда-либо пришлось работать над проектом, основанным на платформе SAP. И это было все. Серьезно, это было похоже на «Кто использует Struts? Большой! Разве это не круто? Но если вы используете SAP, вам нужно будет изучить NetWeaver, а это совсем другое дело ». Промойте и повторите.
Постоянство для Java SE и Java EE , Рима Патель (Sun)
Как соавтор книги Мастеринг EJB, 3-е изд. ( бесплатная загрузка в формате PDF ), которая, по-видимому, скоро выйдет в свет 4-е издание, которое также будет свободно доступно для скачивания, г-жа Патель действительно знает свои вещи, когда дело доходит до Enterprise JavaBeans (EJB). Это привело к динамичной и яркой беседе о том, что мы можем ожидать от EJB 3.0, который скоро будет выпущен.
Самым большим изменением в EJB 3.0 является радикальное переосмысление и упрощение объектных компонентов. Используемые для представления записей базы данных (и других постоянных элементов данных) в виде объектов Java, которые могут участвовать в транзакциях и синхронизировать свое состояние с базой данных, компоненты EJB долгое время были серьезной проблемой в EJB. Они требуют, чтобы разработчики написали много повторяющегося стандартного кода, и были во многом ограничены, чем обычно не являются объекты Java. В EJB 3.0 бины сущностей были отменены в пользу Java Persistence API , которое позволяет использовать в качестве сущностей метки простых старых объектов Java (POJO), которые могут делать все, что могут делать бины сущностей, но без всех утомительных накладных расходов на кодирование и без всех ограничений бинов сущностей.
Некоторое время назад разработчики Java пользовались преимуществами API Java Persistence в форме Hibernate , библиотеки с открытым исходным кодом, которая отображает записи реляционной базы данных в объекты Java. Однако с помощью Java Persistence API эти мощные возможности не только станут стандартной частью платформы Java EE, но и смогут работать в архитектурах EJB со всеми средствами управления ресурсами и транзакциями, которые были разработаны EJB.
Борьба со сложностями и повышение производительности при разработке SOA , Эшвин Рао (Sun)
У меня не было особого отношения к сервис-ориентированной архитектуре (SOA), возникающей концепции корпоративного развития, в которой отдельные специализированные сервисы могут быть собраны и организованы вместе для создания полезных приложений с высокой степенью масштабируемости и гибкости. Это, безусловно, направление, в котором движутся крупные предприятия, но на уровне земли, где проживает большинство разработчиков в нашей аудитории, это не имеет большого значения. Эта сессия была возможностью проверить состояние SOA.
Г-н Рао кратко обрисовал сегодняшние реалии SOA, а затем пришел к выводу, что управление возникающей в результате сложностью означает создание инструментов, которые эффективно решают уникальные задачи организации разрозненных сервисов. Это дало удобную возможность познакомиться с демонстрацией функций моделирования UML в Java Studio Enterprise 8 и визуальным конструктором языка выполнения бизнес-процессов (BPEL), который недавно дебютировал в Sun в предварительном обзоре Netbeans 5.5 Enterprise Pack .
Дизайнер BPEL позволяет собирать несколько веб-сервисов вместе для создания составных сервисов, по сути, рисуя блок-схему для генерации описания XML необходимого процесса за кулисами. Хотя блок-схема, полученный с помощью инструмента были неоспоримо скользким, когда мы глянули, что сгенерированный код XML мне казалось, что мы могли бы написать этот код в гораздо меньше времени, чем потребовался, чтобы шаг через мастер требуется производить его в графическом виде. Если предположить, что SOA взлетает, и составные сервисы начнут включать более сложные взаимодействия, чем простая демонстрация, которую мы видели, я мог бы увидеть ценность в том, чтобы иметь возможность визуализировать эти взаимодействия, а не пробираться через код XML; тем не менее, у меня сложилось впечатление, что проблемы SOA, которые необходимо решить, все еще обнаруживаются, и в результате инструменты по крайней мере на целое поколение станут действительно полезными в условиях дикой природы.
NetBeans Extreme: Матисс, Сотрудничество, Профилирование и Плагины , Анджела Кайседо (Солнце)
В этом марафонском 90-минутном сеансе г-жа Кайседо продемонстрировала почти все аспекты NetBeans 5.0 , последней версии бесплатной Java IDE от Sun, которая была улучшена в этом последнем выпуске.
NetBeans 5.0 вызвал всплеск пространства приложений для настольных компьютеров, представив Matisse , замечательный новый инструмент компоновки графического интерфейса, который устраняет большую часть сложности, которую разработчики Java приняли для Java Swing GUI API, не жертвуя при этом большой (если таковая имеется) гибкостью или качеством в готовом продукте. Вместо того чтобы полагаться на существующие классы Swing LayoutManager
(такие как печально известный GridBagLayout
), Matisse использует свой собственный класс GroupLayout
, который с тех пор планируется включить в будущую Java SE 6.0 . Демонстрация Матисса в этой сессии была соблазнительной, если не полностью убедительной, для такого GridBagLayout
пользователя GridBagLayout
как я. Это может быть на много миль впереди любого визуального инструмента макета GUI, который был у Java в прошлом, но демоверсия страдала от пары незначительных проблем с макетом, которых я мог бы избежать с помощью GridBagLayout
, и мне любопытно, если Matisse предлагает решение для эти.
Функции совместной работы, безусловно, были неожиданностью — я не уверен, как я пропустил их упоминания в волнении, связанном с выпуском NetBeans 5.0. Подобные функции сформировали основные улучшения в JBuilder 2006 в прошлом году, но, поскольку будущее этой IDE находится под серьезной угрозой, приятно видеть эти функции в такой здоровой IDE, как NetBeans. По сути, IDE включает в себя клиент обмена мгновенными сообщениями, который позволяет вам не только общаться с коллегами-разработчиками, но и обмениваться локальным кодом проекта, совместно просматривать и редактировать этот код с помощью общих представлений и даже запускать сеансы совместной отладки для совместного поиска проблем. , Я предполагал, что для того, чтобы это работало, у обоих разработчиков должна быть своя собственная копия рассматриваемого проекта в их системе, но демонстрация продемонстрировала тот факт, что сеансы совместного кодирования фактически сосредоточены вокруг одной копии проекта от разработчика, и все остальные разработчики нуждаются в копии NetBeans для участия.
Затем Caicedo взял на вооружение функции профилирования в NetBeans, точно определив поток, ответственный за подвешивание интерфейса простого приложения Swing, а затем выявив медленный метод в веб-приложении. Новый профилировщик — одно из самых больших преимуществ NetBeans перед другой, более популярной бесплатной Java IDE, Eclipse, в которой отсутствует встроенное профилирование. Инструменты NetBeans 5.0, хотя и не такие мощные, как специализированный продукт для профилирования, такой как YourKit Java Profiler , безусловно, заслуживают уважения и помогут решить все, кроме самых сложных проблем с производительностью.
И наконец, что не менее важно, мы увидели на наших глазах полный плагин для среды IDE NetBeans. Поскольку разработка Java охватывает так много разных областей приложения, для одной IDE невозможно объединить все инструменты, которые могут понадобиться данному разработчику. Вот почему все крупные IDE в наши дни уделяют большое внимание расширяемости с помощью подключаемых архитектур. NetBeans не является исключением, и благодаря встроенным мастерам и инструментам упаковки Caicedo удалось добавить поле поиска Google на панель инструментов NetBeans за считанные минуты. Разработка плагинов IDE, по крайней мере, для NetBeans, безусловно, намного менее пугающая дисциплина, чем я предполагал ранее.
Так я буду переходить на NetBeans завтра? Боюсь, что нет. Хотя NetBeans 5.0 добился значительных успехов, и новые части этого инструмента, безусловно, впечатляют, многие из базовых возможностей все еще имеют «игрушечную среду разработки», которую я просто не могу преодолеть. Отсутствие базовых возможностей, таких как конфигурации с несколькими прогонами и группы проектов, не совсем подходит мне. Тем не менее, есть много интересного в новых и старых функциях (я особенно ценю использование Ant для всех задач сборки), поэтому я обязательно буду следить за NetBeans.
В целом, после слабого старта, день стал намного интереснее, так как разговоры перешли от общего крученого кодирования. Надеюсь, завтра будет больше того же!