Компания Sun Microsystems, которая считается одним из крупнейших мировых экспертов в вопросах новых концепций программирования и активным идеологом программной платформы Java, провела в Киеве конференцию для разработчиков программного обеспечения. Цель конференции — донести до сообщества программистов тенденции, приводящие в движение рынок ПО, и рассказать о характерных качественных изменениях как внутри самой ИТ-индустрии, так и в предпочтениях пользователей программных продуктов, которые будут определять принцип действия этих продуктов и оказывать влияние на современные методы программирования.
![]() Валерий Шляхов |
Как пояснил в своем приветственном слове Валерий Шляхов, глава представительства Sun Microsystems в Украине и Молдове, конференция для Java-разработчиков проходит во время эпохальных событий. Как известно, в этом году корпорация открыла исходный код своей ОС Solaris для того, чтобы привлечь ресурсы мирового сообщества OpenSource с целью построения более эффективных, способных и надежных версий этой ОС. В своем намерении совершенствоваться корпорация идет дальше и открывает для доступа в рамках лицензии GNU саму платформу Java. Под знаком этих событий и проводилась ежегодная конференция в Киеве. Для участия в конференции в Украину прибыли сразу три “технологических евангелиста” Sun Microsystems, которые считаются идеологами Java, доносящими новые концепции до прикладных программистов и демонстрирующими на практике возможности новых версий инструментариев для разработки приложений.
Спикер: Саймон Риттер
Тема доклада: Sun и разработчики
Один из наиболее известных “евангелистов” компании, Саймон Риттер, в своем приветственном слове, открывающем конференцию, описал основные принципы взаимодействия Sun Microsystems с мировым сообществом производителей ПО. По его словам, в эволюционных процессах последних десятилетий эпоха “голого железа” постепенно сменялась эпохой “толстых клиентов” — концепцией рабочего места на основе ПК, а им на смену пришли терминальные клиенты. Компания эволюционировала в соответствии с главными тенденциями рынка, постепенно расширялась во всех областях развития, дойдя до эпохи веб-коммуникаций.
![]() Эволюция принципов программирования по версии Sun — программисту остается все меньше операций, все больше функций берет на себя виртуальная машина |
По словам г-на Риттера, под влиянием всех современных тенденций уже в ближайшем будущем нас ждет новая эпоха участия (participation age), главным признаком которой является стремление пользователей не просто работать с онлайновыми сервисами, а принимать участие в их развитии. Это явление станет основополагающим фактором, который повлияет на принцип действия сервисов и приложений, и как следствие — на принципы и саму культуру программирования.
Спикер: Джоуи Шен
Тема доклада: Технический обзор
Solaris 10
![]() Схематический принцип действия DTrace |
Отличительными чертами новой версии Solaris являются встроенные функции DTrace, инструментарий виртуализации Sun Contatiners, средства самодиагностики и упреждения сбоев Predictive Self-Healing, а также возможности файловой системы ZFS. Особый интерес у участников вызвала технология DTrace, которая, по словам Джоуи Шена, является тем универсальным инструментом динамической отладки, который с нетерпением ждали программисты на протяжении десятилетий. DTrace представляет собой тысячи “зондов-индикаторов”, которые встраиваются в тело кода системы и предназначаются для сбора разнообразной информации о состоянии системы и управления ею. Как пояснил г-н Шен, DTrace эффективен как в пространстве пользователя (User-Level), так и в ядре системы (Kernel-Level), при этом абсолютно не снижая суммарную производительность системы.
Спикер: Тао Майкл Ли
Тема доклада: Инструментарий с открытым кодом для Java-разработчиков: NetBeans и Creator
![]() NetBeans позволяет совместно работать над кодом сразу нескольким разработчикам |
Во время практических демонстраций г-н Ли показал процесс сборки элементарного приложения с несколькими активными элементами, а также принцип действия и возможности технологии DTrace, описанной предыдущим докладчиком.
![]() JDK6 обладает новой усовершенствованной консолью |
Тема доклада: DTrace: продуктивность, мониторинг и настройка в Solaris 10
Как исправить неполадки в программном обеспечении? Solaris 10 обладает улучшенной системой контроля. При возникновении “фатальной ошибки” (fatal error) программист имеет возможность постфактум получить dump или core файл, анализируя который с помощью mdb или dbx, можно отследить проблемный фрагмент кода и впоследствии устранить неполадку. Но в то же время существует множество неявных и не-фатальных ошибок, которые отследить и исправить бывает крайне сложно. К ним также можно отнести “хитрые” (tricky) ошибки, которые проявляются в виде любого неприемлемого системного поведения.
Функциональность DTrace предусматривает динамически конфигурируемую систему, а именно: достаточное количество инструментов для организации накопления контрольных данных, возможность динамического подключения инструментария, приемлемое падение производительности и гарантию безопасности. Поэтому DTrace насчитывает более чем 38 000 “зондов”, встроенных в Solaris 10, возможность создавать дополнительные “зонды” по ходу работы, новый мощный и динамически интерпретируемый язык для подключения зондов, нулевое исполнение, если зонды не подключены, и др. Каждый сценарий DTrace состоит из набора операторов, каждый оператор в свою очередь определяет набор действий, возможных, когда запущен один из активированных зондов. Для глобальных переменных отсутствует необходимость определения, DTrace самостоятельно подбирает необходимый тип. Поддержка DTrace в дальнейшем будет встроена в JVM.
Спикер: Джоуи Шен
Тема доклада: Возможности языка Java SE: сегодня и завтра
![]() Типичное окно Sun Studio, режим отладки |
JDK 6 — инструментарий, который поддерживает большинство основных и новых технологий, среди которых Longhorn Look & Feel, JAXB 2.0, Core JVM. Пакет JDK 6, по словам г-на Шена, обеспечивает легкость разработки, поддерживает компонент Annotation Processors, XML (компонент Streaming API for XML), веб-сервисы (компонент WS Metadata), диагностику, мониторинг и менеджмент и др.
Спикер: Саймон Риттер
Тема доклада: Проект Glassfish и Java EE 5
![]() Эволюция взаимодействия Sun Microsystems с сообществом Open Source |
Спикер: Тао Майкл Ли
Тема доклада: JAX-WS и WSIT
![]() Окно Sun Studio Analyzer в режиме дизассемблера |
Новый интерфейс для создания веб-сервисов JAX-WS упрощает процедуру вызова веб-службы за счет автоматического генерирования программного кода клиентской и серверной части приложения. JAX-WS является частью платформ Java SE 6 и Java EE 5. JAX-WS может применяться как для SOAP/RPC, так и для REST веб-сервисов.
Спикер: Иван Пазыменко
Тема доклада: Sun Studio - инструментарий разработчика
![]() Планы по дальнейшему развитию инструментариев для разработчиков |
Профилировщик, который состоит из коллектора и анализатора, легок и удобен в использовании, поддерживает языки С, C++, Fortran и Java, а также профилировку многопоточных программ. С его помощью можно выяснить, как программа попала в определенную точку, какие функции требуют наибольшего количества ресурсов, какова их интенсивность и объем. С помощью утилит Dmake и Data Race Detection Tool (DRDT) можно увеличить скорость сборки проекта. Параллелизация в Sun Studio может быть реализована тремя различными способами — ручная, полуавтоматическая и автоматическая.
Спикер: Сергей Кочугуев
Тема доклада: Sun Studio Analyzer - на стыке технологий
Sun Studio Performance Tools из Sun Studio Analyzer позволяет определить ресурсы, которые использует программа, какие из функций и модулей она потребляет больше всего, а также ветвление потока выполнения до попадания в ту или иную точку. Для Java можно узнать, какие ресурсы определяет JVM, выявить методы, скомпилированные в машинный код и их эффективность.
Структурно Sun Studio Analyzer состоит из компонентов Collector, DataRace Detection Tool, Analyzer, er_print, er_src, Libcollector. Компонент Collector выполняет функции трассировки отдельных вызовов и сборку отпечатков стеков вызова. Libcollector управляет сбором данных непосредственно из программы. С помощью er_print, er_src можно получить доступ к собранной информации из командной строки. При работе с Java существует 3 режима отображения информации: User, Expert, Machine. Режим User позволяет работать с программой на Java, Expert открывает доступ к JVM (memory management, signal handling, HotSpot), в то время как режим Machine открывает для работы все подробности, а также несколько скомпилированных версий одного метода.