среда, 26 сентября 2012 г.

Как подружить Eclipse + GlassFish 3.1.x?



  Oracle в наследство от Sun получило неплохой сервер приложений GlassFish. С версии 3.1.x GlassFish полностью реализует Java EE 6, что позволяет при разработке использовать EJB 3.1 и прочие прелести современного enterprise.

  Гугл нам подсказывает что для интеграции Eclipse и GlassFish 3.1 есть специальный плагин Oracle GlassFish Server Tools. К сожалению сайт этот не обновляется, а предложенный плагин из коробки не видит инсталяции GlassFish версии 3.1.x. Причиной проблем является переименование библиотек jsf, проблема описана на stackoverflow: Glassfish 3.1.2 and Eclipse

  На самом деле оказывает Oracle GlassFish Server Tools потихоньку развивается и есть версия 2.0.1. За это нам надо сказать спасибо Vince Kraemer и Peter Benedikovic, свежая версия доступна в update site по ссылке: http://download.java.net/glassfish/eclipse/juno

  А узнать про результаты работы над этим плагином в блоге: Internal 3.1.2 runtime plugin for Eclipse available

 

понедельник, 9 января 2012 г.

Пишем расширение для Mylyn. Основа расширения

   Итак, мы настроили окружение для разработки на базе Mylyn framework и теперь можно приступать непосредственно к созданию скелета нового плагина. Я рассчитываю что у вас уже есть базовое понимание внутренней архитектуры Eclipse и использования OSGI. Для ознакомления с основами рекомендую почитать заметки Павла Смолысова о Equinox.

   В рамках этого цикла статей мы напишем коннектор к выдуманной Bug Management System (BMS): TTrac. Это позволит нам сконцентрироваться на реализации плагина, а не реализации конкретных особенностей протокола BMS. За основу мы возьмем коннектор org.eclipse.mylyn.trac, который входит в состав Mylyn и обеспечивает интеграцию с популярной системой управления проектами Trac

понедельник, 2 января 2012 г.

Осваиваем Eclipse. Пишем расширение для Mylyn. Окружение

Mylyn - это подпроект Eclipse, который предоставляет framework для реализации task and application lifecycle management (ALM). Что за хитрый термин этот ALM?


ALM это сокращение для термина - управление жизненным циклом приложения: от сбора требований до поставки. Простейшим случаем (и наиболее распространенным) является управление багами или задачами (issue/bug management system).

Mylyn предоставляет framework, который позволяет вам прямо из Eclipse:
  • управлять багами в вашей bug management system (например trac или bugzila)
  • сохранять и открывать историю изменений кода связанную с конкретным багом
  • видеть результаты сборки билда
  • и много другое
Более подробно о возможностях Mylyn я расскажу позже, а сейчас я хочу рассказать как настроить окружение разработки для работы и исходным кодом Mylyn.
Основой для этой статьи послужил Mylyn/Contributor Reference, но я взял на себя смелость пересказать это по русски и с пояснениями.

Осваиваем Eclipse. Пишем расширение для Mylyn. Введение


Все Java разработчики знают о существовании 3х самых популярных Java IDE:

Каждая эта среда имеет свою историю, достоинства и недостатки, и конечно армии поклонников. Важно другое уже минимум 2 года эти продукты стали не просто программами, а платформами для построения приложений.

Это позволило использовать базовые возможности этих IDE для разработки приложений:
  • своих IDE (IBM RAD, PyCharm, ...)
  • standalone приложений
  • распределенных приложений
  • и многого другого
Для меня наибольший интерес как платформа представляет именно Eclipse и причин для этого сразу несколько:
  • я использую Eclipse в повседневной работе
  • полная открытость исходного кода модели разработки
  • очень богатая инфраструктура платформы (GUI, ECF, OSGI, ...)
  • большой объем существующих разработок
И надо сказать что Eclipse как платформа меня интересует уже не первый год, но Eclipse проект очень большой и очень сложный поэтому освоение идет медленно и осторожно. За последние 2 года я немного познакомился с OSGI как платформой для построения распределенных приложений, в прошлом году принял участие в исправлении некоторых багов (так и не приняты в upstream), с интересом читал заметки Павла Самолысова aka Бывшего сурового челябинского программиста.

И в этом году решил сделать суровый рывок и написать для компонента Mylyn собственный коннектор для доступа к багам из внутренней Issue Tracking System моей компании. Именно этому будут посвящены следующие несколько заметок в блоге.