Второй день конференции Sun’s Developer Days 2006 в Мельбурне на прошлой неделе был похожим на первый. Обязательно прочитайте мое освещение первого дня, если вы пропустили его.
Прежде чем начались дневные сессии, организатор Sun Дэвид Колдрик (David Coldrick) встал, чтобы подключить два полезных ресурса для разработчиков Java, чтобы быть в курсе последних событий между конференциями Developer Days: подкаст Java Posse (который я очень рекомендую!) И javapassion .com , о котором я уже писал в этом блоге .
Создание отличных игр для мобильного мира , Чук Манн Ли (Солнце)
Уже поработав над мобильными играми , я надеялся получить представление о технических проблемах, с которыми сталкиваются разработчики игр на этой платформе: фрагментация API-интерфейса для конкретного устройства, размер приложения и ограничения скорости обработки, несовместимые методы управления и многое другое. Вместо этого мы получили нетехнический обзор преимуществ и недостатков разработки игр для мобильных телефонов по сравнению с игровыми платформами для ПК и консолей.
Короче говоря, Java Micro Edition (ME) — это облегченная платформа, которая позволяет вам создавать полностью реализованную игру для миллионов потенциальных пользователей с временем разработки всего один человеко-месяц. Успешные игры для этой платформы должны учитывать тот факт, что геймеры будут играть на ходу, в течение коротких периодов времени и могут прекратить играть в любое время. Учитывая это, популярная практика адаптации старых игр с других платформ к мобильным телефонам не является хорошим подходом.
Оптимизация производительности для приложений Java SE и Java EE , Саймон Риттер (Sun)
Опять же, мои ожидания были немного неправильными для этой сессии (я действительно хотел бы, чтобы программа конференции включала тезисы сессий). Вместо того, чтобы использовать полезные методы написания более быстрого кода или обзор некоторых распространенных анти-шаблонов производительности, мы получили учебное пособие по настройке алгоритмов сборки мусора в виртуальной машине Sun Java (VM) с использованием множества недокументированных документов. (или плохо документированные) ключи командной строки .
Мне очень понравилось объяснение методов управления кучей виртуальной машины и того, как они допускают тенденцию Java-приложений широко использовать недолговечные объекты, которые должны быстро и эффективно собираться мусором, чтобы Java работала, а также взгляд на алгоритм смещенной блокировки , который был введен для дальнейшего повышения производительности в версии 1.5.0_06 среды выполнения Java 5. Но подавляющее большинство обсуждавшихся настроек производительности действительно применимо только к многопроцессорным серверам с высокой нагрузкой, так что для меня это было всего лишь техническое любопытство.
SOA, JBI, BPEL: стратегия, дизайн и лучшие практики , Рима Патель (Sun)
В один день Эшвин Рао продемонстрировал некоторые инструменты, которые Sun готовит для разработчиков для решения уникальных задач по созданию приложений на основе отдельных специализированных сервисов — практика, известная как сервис-ориентированная архитектура (SOA). Г-жа Патель сделала шаг назад к этой сессии и рассмотрела мотивацию и технические проблемы SOA, которые должны быть рассмотрены задолго до появления инструментов разработки.
В то время как разработчики привыкли сталкиваться с новыми акронимами и модными словечками, которые, будучи понятыми, приносят технические преимущества, включая производительность, удобство использования и простоту разработки, SOA сильно отличается в том смысле, что мотивы, которые его определяют, в значительной степени ориентированы на бизнес.
Многие крупные компании сегодня испытывают напряжение под тяжестью пересекающихся устаревших систем, которые были разработаны и подключены на разовой основе на конфликтующих, часто специфичных для поставщика платформах. Подход SOA к этой проблеме состоит в том, чтобы идентифицировать ключевые сервисы , существующие в этих системах, и либо переопределить их, либо обернуть существующие системы в интерфейсы, чтобы приложения могли открывать и обращаться к ним открыто, асинхронно, с сохранением состояния и безопасностью посредством обмена XML-документами, которые зеркально отразить деловые документы, которые могли бы передать руки в бумажных эквивалентах соответствующим бизнес-процессам.
Далее г-жа Патель вкратце обрисовала спецификацию Java Business Integration (JBI) , которая предоставляет систему для приложений SOA в форме открытой платформы, независимой как от поставщика, так и от платформы. Неплохой вариант, если вы реорганизуете ИТ-системы для крупного банка, а я нет. Для меня эта сессия была в основном о том, чтобы подтвердить, что мое видение того, что означает SOA, примерно совпадает с Sun. Я не даю никаких гарантий относительно того, соответствует ли он вашему.
Java SE: Тигр, Мустанг и Дельфин , Саймон Риттер (Солнце)
Этот доклад был относительно простым, и в нем рассказывалось о наиболее важных функциях, появившихся в Java 6 (кодовое название Mustang) в конце этого года. Об этом достаточно много, особенно потому, что Sun была очень откровенна в разработке Mustang с еженедельными сборками, доступными для загрузки и тестирования.
Наиболее вероятными изменениями, которые могут повлиять на веб-разработчиков в Java 6, являются: полная поддержка встроенных веб-сервисов XML , включение механизма сценариев Rhino, который позволит выполнять код JavaScript на Java VM и полностью использовать библиотеки классов Java; JDBC 4.0, который упростит и улучшит основной API для приложений Java, подключающихся к базам данных; улучшенная поддержка отладки , облегчающая обнаружение и диагностику взаимоблокировок, утечек памяти и других проблем во время выполнения.
Лично меня больше всего радуют улучшения для настольных Java-приложений , но г-н Риттер пропустил большинство из них в пользу внесения дополнительных изменений в платформу.
Г-ну Риттеру потребовалось несколько минут, чтобы дать несколько волнообразных примеров того, что запланировано для Java 7 (под кодовым названием Dolphin), включая поддержку XML-кода, появляющегося изначально в Java-коде, и изменения байт-кода для поддержки динамических языков (таких как языки сценариев), работающие на Java VM, но для Dolphin практически ничего не заложено, каждый клочок информации сопровождается заявлением об отказе: «С другой стороны, мы можем вообще не делать этого».
Повышение эффективности AJAX с помощью сервлетов, технологии JavaServer Pages и технологии JavaServer Faces , Дорис Чен (Sun)
Запутанный заголовок должен был меня напугать, но я продолжил эту сессию, надеясь хотя бы увидеть несколько элегантных примеров поддержки приложений AJAX в серверном Java-коде. Я сдался и ушел после просмотра примерно 45 минут смущенных и сбивающих с толку попыток говорящего просто определить, что такое AJAX. Я был не единственным, кто ушел.
Я не хочу панорамировать докладчика дальше, но это действительно печальный день, когда вы не можете держать комнату, полную разработчиков, заинтересованных в презентации об AJAX.