Eclipse среда разработки для создания веб-приложений


Содержание материала:

Все для веб-программиста

Много полезной информации для веб-программиста. Статьи, программы, рецепты

Свежие записи

Рубрики

Eclipse

Eclipse является бесплатной программной платформой с открытым исходным кодом, контролируется организацией Eclipse Foundation. Написана на языке программирования Java и основной целью её создания является повышение продуктивности процесса разработки программного обеспечения.

IDE разработанные на базе платформы Eclipse применяются для создания программного обеспечения на различных языках программирования, так как Eclipse является платформой для разработки любых интегрированных сред программирования и расширений для себя же, по принципу “Плагины для Eclipse разрабатываются в самой Eclipse”.

Особенности платформы Eclipse

  • Кроссплатформенность – работает под операционными системами Windows, Linux, Solaris и Mac OS X.
  • Используя Eclipse можно программировать на множестве языков, таких как Java, C и C++, PHP, Perl, Python, Cobol и других.
  • Является фреймворком для разработки других инструментов и предлагает обширный набор API для создания модулей.
  • Используя подход RCP (Rich Client Platform) Eclipse является инструментом для создания практически любого клиентского программного обеспечения.

Работа над проектом Eclipse ведётся в нескольких направлениях, основные три – работа над платформой Eclipse, разработка Java IDE, разработка плагинов для расширения функциональности Eclipse.

Гибкость и расширяемость достигается благодаря модульности платформы.

Архитектура платформы Eclipse

  • Основным элементом является исполняющая среда – Eclipse Runtime, в которой выполняются коды расширений и модулей. Она обеспечивает всю базовую функциональность платформы – управление расширениями и обновлениями, взаимодействие с операционной системой, обеспечение работы системы помощи.
  • Следующим элементом является собственно IDE – она отвечает за управление основными элементами программы, их расположением и настройками, управление проектами, отладку и сборку проектов, поиск по файлам и командную разработку.

В стандартную поставку Eclipse SDK включены два плагина – Java Development Tools или JDT, и Plug-in Developer Environment или PDE, таким образом мы получаем полностью готовую IDE для Java программирования и для разработки расширений для Eclipse.

Eclipse SDK – это минимальная версия, идеальная для знакомства с платформой и обучения. В дальнейшем, определившись с целями, вы можете скачать и использовать любую подходящую для ваших задач сборку, уже укомплектованную необходимыми расширениями.

Eclipse для Windows

Рейтинг программыПоддерживаемые ОСРазрядностьДля устроиствЯзык интерфейсаПоследнее обновлениеТип распространенияРазработчикОфициальный сайт
Windows, MAC, Linux
32 bit, 64 bit, x32, x64
компьютер
Русский
2020
Бесплатный
www.eclipse.org
Версия Платформа Язык Размер Формат Загрузка
Eclipse Oxygen 4.7.2 x64 Windows English 48.7MB .exe
Eclipse Oxygen 4.7.2 x32 Windows English 48.7MB .exe
Eclipse Oxygen 4.7.2 MAC English 48.1MB .zip
Eclipse Oxygen 4.7.2 x64 Linux English 48MB .zip
Eclipse Oxygen 4.7.2 x32 Linux English 47.9MB .zip
* скачайте бесплатно Eclipse для Windows, файл проверен!

Eclipse – интегрированная среда разработки, предназначенная для написания модульных приложений. Поддерживает Java, JS, C/C++, PHP, Python, 1C v8 и ряд других языков программирования, взаимодействует с любыми операционными системами.

Функционал среды разработки

В основе архитектуры Eclipse лежит компонент Runtime, который управляет расширениями, обеспечивает взаимодействие с ОС и осуществляет поддержку системы помощи. IDE служит для создания и настройки основных программных элементов, регулирует сборку и отладку проектов, поддерживает совместную работу и поиск файлов.

Основные возможности платформы:

  • • разработка приложений различных типов;
  • • компиляция программ;
  • • интеграция с системами контроля версий;
  • • командная работа над проектом;
  • • загрузка из сети системных файлов для стартапов;
  • • поиск дополнительного ПО для повышения качества разработки.

Eclipse повышает продуктивность разработки программ, ее функциональность зависит от сборки – количества и типа подключенных расширений. Стандартная версия SDK обеспечивает минимальные возможности и используется для знакомства со средой, содержит два плагина (DT и PDE), формирующие IDE для программирования на Java и создания платформенных компонентов. Для получения платформы с требуемой функциональностью следует установить соответствующую сборку либо подключить необходимые модули к базовой версии.

Особенности платформы

Eclipse поставляется с открытым исходным кодом, что позволяет расширять функциональные возможности среды путем подключения диспетчеров баз данных, новых ЯП, серверов приложений и различных модулей. Является достойной альтернативой NetBeans, отличается от нее использованием библиотеки SWT вместо Swing при разработке пользовательского интерфейса приложений.

Среди преимуществ среды разработки:

  • • кроссплатформенность;
  • • русифицированный интерфейс;
  • • поддержка всех языков программирования;
  • • бесплатная лицензия;
  • • наличие компилятора;
  • • расширенный набор функций.

В версии Eclipse 4.7, выпущенной в июне 2020 года, были добавлены новые компоненты и функции, повышена стабильность и производительность работы. Появился модуль для разработки приложений для Android. Для перевода интерфейса на русский язык, необходимо добавить языковой пакет в список расширений дистрибутива.

Eclipse — среда разработки Java

Java является высокоуровневым языком программирования, который был разработан компанией Sun Microsystems ещё в 1995 году. На сегодняшний день развитием данной технологии занимается компания JCP ( Java Community Process ). Одной из главных особенностей языка является компиляция, выполняющаяся непосредственно при сборке программы.

Код превращается в байт-код, после чего выполняется в виртуальной машине Java. JVM выступает транслятором, связывающим язык программирования с необходимыми компонентами компьютера. Такой принцип позволяет программам работать на любых системах, где установлена виртуальная машина.

Особенности языка программирования

Объекто-ориентированный и типизированный язык Java обладает множеством полезных для разработчиков особенностей. Среди них можно выделить следующее:

  • Простота в изучении. Основных знаний об объектно-ориентированном программировании будет достаточно для комфортного освоения языка.
  • Объектно-ориентированная методология. Программы состоят из объектов, которые можно легко расширять и адаптировать для достижения поставленных целей.
  • Безопасность. Шифрование с открытым ключом обеспечивает наилучшие методы проверки подлинности.
  • Платформо-независимость. Программы, написанные на языке, компилируются в байт-код, который способен работать на абсолютно любых платформах современных операционных систем.
  • Портативность. Язык программирования никак не зависит от реализуемых аспектов спецификаций.
  • Прочность. Java-машина способна справиться со многими ошибками, благодаря ориентации и упору компании-разработчика на постоянную проверку и уменьшение временных затрат, возникающих при компиляции.

Кроме того, данный язык весьма распространен, так как характеризуется как многопоточный, высокопроизводительный, интерпретированный и динамический.

Особенности программных платформ Java

Существует несколько реализаций данной платформы, среди которых особое место занимает Eclipse. Среда разработки модульных кроссплатформенных приложений обладает рядом обязательных возможностей, присутствующих и в других подобных продуктах. Среди них можно выделить:

  • Общепринятые технологии развёртывания программ в пользовательской среде.
  • Инструментарии для создания графических интерфейсов любой сложности.
  • Библиотеки для удалённого управления объектами и программного доступа к данным.
  • Инструменты для запуска, отладки, компиляции, мониторинга и других действий с приложениями.

Что такое Eclipse?

Eclipse – среда разработки, в настоящее время контролируемая компанией Eclipse Foundation. Она предоставляет открытый исходный код, что обеспечивает новые возможности для разработчиков. Написана она на Java и предназначена для улучшения процесса создания программного обеспечения.

Данный проект — это инфраструктура, предоставляющая важные для разработчиков базовые сервисы. Имеющиеся инструменты позволяют создавать новые технологии в Eclipse. Среда разработки является не просто собранием API — она может справиться с полноценными задачами.

Огромное количество плагинов с открытым исходным кодом дарит неограниченные возможности для разработчиков инструментариев. В программу могут быть добавлены любые дополнения, что в итоге позволит настроить и адаптировать её под любую задачу.

Особенности платформы

Среда программирования обладает следующими особенностями:

  • Широкая сборка API для добавления новых модулей, а также фреймворк для программирования любых расширений.
  • Поддержка всех популярных операционных систем.
  • Программирование в большинстве известных языков позволяет именно Eclipse — среда разработки. Си шарп (C#), Java, PHP, C, Python, C++ и многие другие языки поддерживаются данной программой.
  • Доступна технология RCP, возможностей которой будет достаточно для разработки клиентского ПО любой сложности и масштаба.
  • Модульность программы обеспечивает невероятное удобство и гибкость в работе.

Проект Eclipse продолжает развиваться во многих направлениях. Программа постоянно улучшается, расширяется её функционал путём добавления новых плагинов.

Архитектура платформы

Среда программирования состоит из нескольких основных элементов. Во-первых, это Eclipse Runtime, отвечающая за работу модулей и плагинов. К данной исполняющей среде относится базовый функционал. Это подразумевает управление обновлениями, взаимодействие с системой, настройку плагинов, поддержку работоспособности раздела помощи.

Во-вторых, это сама IDE, отвечающая за управление проектами, ведущими элементами программы, а также за отладку, командную разработку и поиск среди файлов.

Такие плагины, как PDE и Java Development Tools, также включены в Eclipse. Среда разработки Java-программ и новых дополнений с использованием этих плагинов становится в разы функциональнее.

Примеры других специализированных сборок

Вышеуказанная Eclipse SDK является одной из версий платформы. Доступно ещё несколько сборок IDE с уникальными особенностями, а именно:

  • For Java EE Developers. Версия предназначена для программирования корпоративных или веб-приложений с применением Java EE.
  • For JavaScript Web Developers. Сборка для создания веб-продуктов с использованием CSS, XML, HTML и JavaScript.
  • For Java Developers. Версия для программирования на Java.
  • For C/C++ Developers. Сборка для программирования на языках C++ и C.

Каждая версия обладает уникальными особенностями, но базовый функционал для новичков в полной мере предоставляет именно стандартная Eclipse (среда разработки). Уроки по ней бесплатно доступны в сети, что значительно упростит изучение программы.

Конкурирующие продукты

У данной среды разработки есть немало конкурентов, но окончательно выбрать лучшего представителя невозможно. Eclipse можно уверенно считать наиболее популярной. Ею пользовались почти все разработчики, благодаря ряду неоспоримых преимуществ.

При разработке мобильных приложений часто используется Eclipse (среда разработки). Android-платформа стремительно развивается, и поддержка Java-языка в данной IDE привлекает разработчиков. Однако стоит заметить, что её возможности намного больше.

Главным конкурентом рассматриваемой программы является продукт NetBeans, и он полностью бесплатен. За лицензию Eclipse же придётся заплатить, и некоторых это отпугивает. Среди остальных конкурирующих продуктов можно выделить также IntelliJ IDEA, JDeveloper, Android Studio, DrJava и MyEclipse. Но лучшей многие считают именно Eclipse. Среда разработки радует пользователей уже много лет и не прекращает это делать!

Создание Web-клиента при помощи Eclipse Web Tools Platform

Несколько слов о руководстве

Проект Eclipse Web Tools Platform является совместным проектом разработки программного обеспечения с открытым исходным кодом, предназначенным для обеспечения общей расширяемой платформы инструментов, основанной на стандартах. На базе этой платформы поставщики программного обеспечения могут создавать специализированные дифференцированные предложения для разработки приложений J2EE® и приложений, ориентированных на Web. Вклад IBM в проект Eclipse Web Tools Platform предоставляет отличную основу для набора инструментов Web-разработки, включая инструменты для данных, J2EE, XML, Web-сервисов, а также начальную интегрированную среду разработки для опытных разработчиков J2EE и Web.

В этом руководстве рассказывается о том, как использовать Web Tools Platform на базе Microsoft® Windows® для построения Web-клиента онлайн-аукциона, взаимодействующего с локальной базой данных и удаленными Web-сервисами, предоставленными сервером аукциона. Создаваемый нами сайт позволит:

  • Просматривать локальное хранилище
  • Исследовать список активных торгов аукциона
  • Создавать новые лоты аукциона из элементов хранилища
  • Отправлять запросы на сайт аукциона

Перед созданием проекта рекомендуем вам посмотреть рабочую демо-версию приложения на сайте IBM alphaWorks:Auction Web Service and Web Client Demo. Для просмотра нажмите View Demo.

Данное руководство предназначено для профессиональных разработчиков Java™, желающих улучшить свои навыки. Базовые знания в областях баз данных, JSP и Web-сервисов помогут вам в выполнении данной задачи.

При работе с руководством мы создадим и наполним базу данных Cloudscape, используем код примера для создания JavaServer Pages (JSP) и сервлетов, а также научимся тестировать приложение при помощи Apache Tomcat.

Предпосылки

В данном руководстве раскрывается построение клиента для онлайн-аукциона, однако не затрагивается построение сопутствующего Web-сервиса. Для испытания полноценного приложения, мы укажем вам на уже существующий Web-сервис. В качестве альтернативы вы можете создать свой Web-сервис, следуя рекомендациям статьи Построение Web-сервиса при помощи Eclipse Web Tools Platform.

Для выполнения работ по руководству вам необходимо иметь следующий набор программного обеспечения:

Кроме того, вам необходимо загрузить файл sqlscript.zip, содержащий SQL-сценарии, используемые в руководстве.

Об авторе

Колин Конниарни (Colleen Connearney) является разработчиком программного обеспечения центра IBM SMB Development Center в Research Triangle Park, штат Северная Каролина. На протяжении трех лет работы в IBM Колин являлась разработчиком плагинов Java и Eclipse в команде разработчиков Integrated Runtime. В свободное время она увлекается игрой во фризби.

Получить техническую информацию и ответы на вопросы, высказать комментарии по руководству можно, связавшись с автором по адресу csconnea@us.ibm.com или нажать кнопку Feedback в верхней части страницы.

Создание локальной базы данных

Перед началом работы над Web-клиентом вам необходимо создать и наполнить локальную базу данных хранилища. Содержимое базы данных представляет ассортимент хранилища элементов аукциона готовых для выставления на продажу.

Для создания и наполнения локальной базы данных необходимо выполнить следующие действия:

  1. Распакуйте содержимое файла sqlscript.zip, содержащего SQL-сценарии, необходимые для работы с руководством.
  2. В командной строке перейдите в директорию \frameworks\embedded\bin.
  3. Запустите файл setE mbeddedCP.bat .
  4. Запустите файл ij.bat .
  5. В строке запроса ij> введите: connect ‘jdbc:derby:c:\path\warehouseDB;create=true’; (где c:\path\ — путь к создаваемой базе данных).
  6. В строке запроса ij> введите: run ‘c:\path\warehouseDB.sql’; (где c:\path\ — путь к файлу сценария warehouseDB.sql).
  7. В строке запроса ij> введите: run ‘c:\path\warehouseDB-populate.sql’; (где c:\path\ — путь к файлу сценария warehouseDB.sql).

Настройка Eclipse для Tomcat 4.1

Теперь мы используем Apache Tomcat для размещения и тестирования Web-клиента.

Для настройки Eclipse для Tomcat необходимо выполнить следующие действия:

  1. Запустите Eclipse.
  2. Выберите Window > Preferences.
  3. Выберите Server > Installed Runtimes.
  4. Выберите Add.
  5. Выберите Apache > Apache Tomcat v4.1 и нажмите Next.
  6. Перейдите в инсталляционную директорию Tomcat.
  7. Выберите 1.4.2 JRE. Если 1.4.2 JRE не настроен, выберите для его настройки Installed JREs.
  8. Нажмите Finish.
  9. В диалоговом окне Preferences нажмите OK.
  10. Скопируйте файл derby.jar из папки \Cloudscape_10.0\lib\ в папку \common\lib .

Создание динамического Web-проекта

  1. Переключитесь в перспективу Java, выбрав Window >Open Perspective >Java.
  2. Выберите File >New >Project.
  3. Выберите Web >Dynamic Web Project.
  4. Укажите следующие параметры:
  5. Name: AuctionWebClient
  6. Web version 2.3
  7. Target Server: Apache Tomcat 4.1
  8. Add module to EAR project: убрать отметку
  9. Context Root: AuctionWebClient
  10. Нажмите Finish.

Создание каскадной таблицы стилей (CSS)

Использование каскадной таблицы стилей (CSS) позволит использовать для всех страниц вашего Web-приложения единый стиль оформления.

Для создания каскадной таблицы стилей необходимо выполнить следующее:

  1. Правой кнопкой мыши выберите AuctionWebClient\WebContent.
  2. Нажмите New > Folder.
  3. В качестве имени папки укажите «theme».
  4. Выберите правой кнопкой AuctionWebClient\WebContent\theme.
  5. Нажмите New > File.
  6. В качестве имени файла укажите style.css.
  7. Скопируйте в файл style.css следующий код:

При желании можете изменить CSS по своему усмотрению.

Создание домашней страницы Web-клиента

Домашняя страница Web-клиента будет содержать ссылки на основные задачи, реализуемые как часть данного приложения.

Для создания домашней страницы:

  1. Правой кнопкой мыши выберите AuctionWebClient\WebContent.
  2. Нажмите New > File.
  3. В качестве имени файла укажите index.html.
  4. Нажмите Finish.
  5. Скопируйте в тело файла index.html следующий код:

Созданный HTML-файл представляет собой простую страницу с заголовком и тремя ссылками.

Создание класса WarehouseStockItem

Теперь мы создадим Java-класс ( WarehouseStockItem ), содержащий свойства элемента склада данных. Список этих Java-объектов будет отображаться Web-клиентом.

  1. Создайте новый пакет:
    1. Правой кнопкой мыши выберите AuctionWebClient\JavaSource.
    2. Нажмите New > Package.
    3. В качестве имени пакета введите com.ibm.samples.Webclient.
    4. Нажмите Finish.
  2. Создайте Java-класс WarehouseStockItem :
    1. Правой кнопкой мыши выберите AuctionWebClient\JavaSource\com\ibm\samples\Webclient.
    2. Нажмите New > Class.
    3. В качестве имени класса введите WarehouseStockItem.
    4. Нажмите Finish.
  3. Реализуйте класс WarehouseStockItem :
    1. Создайте в классе следующие поля private (обратите внимание, что эти переменные соответствуют столбцам в базе данных хранилища):
      1. private int id;
      2. private String shortName;
      3. private String itemDescription;
    2. Сгенерируйте методы get и set для вышеуказанных полей:
      1. В исходном коде выберите правой кнопкой мыши id.
      2. Нажмите Source > Generate Getters and Setters.
      3. Нажмите Select All а затем OK.

Создание сервлета для соединения с локальной базой данных

В следующих шагах мы создадим сервлет, извлекающий список содержимого из локальной базы данных.

Для создания класса сервлета выполните следующее:

  1. Выберите правой кнопкой мыши AuctionWebClient\JavaSource\com\ibm\samples\Webclient.
  2. Нажмите New > Class.
  3. В качестве имени сервлета введите: QueryWarehouseServlet.
  4. Задайте суперкласс: javax.servlet.http.HttpServlet.
  5. Задайте интерфейс: javax.servlet.Servlet.
  6. Нажмите Finish.

Реализация сервлета QueryWarehouseServlet

Теперь реализуем сервлет QueryWarehouseServlet следующим образом:

    Скопируйте следующее определение статических констант в файл QueryWarehouseServlet.java. Измените ссылку URL для указания местоположения вашей базы данных.

Вы можете пропустить описание кода для шагов 2 и 3 и перейти непосредственно к разделу Создание JSP для отображения содержимого хранилища.

Реализация сервлета QueryWarehouseServlet: копирование метода queryDB()

Скопируйте в сервлет QueryWarehouseServlet.java метод the queryDB() . Этот метод позволяет осуществлять соединение с базой данных хранилища, опрашивать базу данных и возвращать список объектов WarehouseStockItem , созданный из результатов выполнения запроса.

Реализация сервлета QueryWarehouseServlet: копирование метода doGet()

Скопируйте в сервлет QueryWarehouseServlet.java метод doGet() . Этот метод вызывается сервером и позволяет сервлету обрабатывать запрос GET. Он вызывает метод queryDB() , устанавливает результаты в качестве атрибута объекта HttpServletRequest и пересылает запрос файлу showStock.jsp.

Создание JSP для отображения содержимого хранилища

Создадим JSP-страницу для отображения результатов, полученных сервлетом QueryWarehouseServlet . В ней будет отображаться содержимое локального хранилища в виде HTML-таблицы.

  1. Создайте файл showStock.jsp:
    1. Правой кнопкой мыши выберите AuctionWebClient\WebContent.
    2. Нажмите New > File.
    3. В качестве имени файла задайте showStock.jsp.
    4. Нажмите Finish.
  2. Скопируйте код из раздела Создание JSP для отображения содержимого хранилища: код в файл showStock.jsp. Этот JSP извлекает список WarehouseStockItem , связанный с атрибутом «results», а затем выполняет итерацию списка и отображает ID и краткое название для каждой из записей таблицы.

Вы можете пропустить описание кода и перейти прямо к разделу Тестирование Web-клиента.


Создание JSP для отображения содержимого хранилища: код

Этот JSP-код извлекает список WarehouseStockItem , связанный с атрибутом results , а затем выполняет итерацию списка и отображает ID и краткое название для каждой из записей таблицы.

Тестирование Web-клиента

Перед тестированием приложения вам необходимо добавить сервлет к дескриптору размещения. Обратите внимание, что строка «queryWarehouse» совпадает с первой ссылкой в файле index.html.

  1. Откройте файл Web.xml в папке AuctionWebClient\WebContent\WEB-INF
  2. Вставьте следующий код сразу после элемента :

Файл index.html откроется в окне броузера. Пока единственной работающей ссылкой будет «Manage Warehouse Stock». После нажатия на ссылку откроется страница, похожая на одну из представленных далее.

Тестирование Web-клиента: стартовая страница

Тестирование Web-клиента: страница просмотра содержимого хранилища

Создание ссылок

В этом разделе мы создадим ссылки на страницу showStock.jsp для того, чтобы пользователь мог выбрать из хранилища элемент и создать форму заявки для торга.

  1. Откройте файл showStock.jsp.
  2. Замените строку:

следующей строкой

Теперь ID каждого элемента будет являться ссылкой на showWarehouseStockItem . Переменная itemId передается в showWarehouseStockItem как параметр.

Создание сервлета, извлекающего отдельный элемент хранилища

Создадим сервлет showWarehouseStockItem . Он будет обрабатывать запрос, опрашивать базу данных на предмет получения объекта и перенаправлять запрос к JSP-странице, отображающей результаты.

  1. Правой кнопкой мыши выберите AuctionWebClient\JavaSource\com\ibm\samples\Webclient.
  2. Нажмите New > Class.
  3. В качестве имени задайте: GetWarehouseStockItemServlet
  4. Задайте суперкласс: javax.servlet.http.HttpServlet
  5. Задайте интерфейс: javax.servlet.Servlet
  6. Нажмите Finish.

Реализация сервлета

Для реализации сервлета необходимо выполнить следующее:

  1. Скопируйте в тело GetWarehouseStockItemServlet следующие определения статических констант. Измените URL для указания местонахождения базы данных хранилища. private final static String DRIVER_ ;
  2. Скопируйте в сервлет GetWarehouseStockItemServlet.java метод doGet() . Этот метод позволяет извлечь значение параметра itemId , вызвать метод queryDB() , установить результаты как атрибут объекта HttpServletRequest и перенаправить запрос в файл stockItemDetails.jsp. Код представлен в разделе Реализация сервлета: Копирование метода doGet().
  3. Скопируйте в сервлет GetWarehouseStockItemServlet.java метод queryDB() . Этот метод осуществляет соединение с базой данных для выполнения запросов и возвращения WarehouseStockItem с ID — itemId . Код представлен в разделе Реализация сервлета: Копирование метода queryDB().
  4. Выполните расстановку операторов импорта, нажав Source > Organize Imports.

Вы можете пропустить описание кода для шагов 2 и 3 и сразу перейти к разделу Добавление сервлета GetWarehouseStockItemServlet в дескриптор размещения.

Реализация сервлета: копирование метода doGet()

Метод doGet() извлекает значение параметра itemId , вызвает метод queryDB() , устанавливает результаты как атрибут объекта HttpServletRequest и перенаправляет запрос в файл stockItemDetails.jsp.

Реализация сервлета: копирование метода queryDB()

Метод queryDB() осуществляет соединение с базой данных, опрашивает базу данных и возвращает WarehouseStockItem с ID itemId .

Добавление сервлета GetWarehouseStockItemServlet в дескриптор размещения

  1. Откройте файл AuctionWebClient\WebContent\WEB-INF\Web.xml
  2. Скопируйте следующий код для определения сервлета QueryWarehouseServlet сразу после записи :

Создание страницы для отображения объекта хранилища

Теперь мы осуществим реализацию JSP для отображения результатов, полученных сервлетом GetWarehouseStockItemServlet . На этой странице будут отображаться детали выбранного пользователем объекта локального хранилища.

  1. Создайте файл stockItemDetails.jsp:
    1. Правой кнопкой мыши выберите AuctionWebClient\WebContent.
    2. Нажмите New > File.
    3. В качестве имени файла задайте stockItemDetails.jsp.
    4. Нажмите Finish.
  2. Скопируйте в файл stockItemDetails.jsp код, представленный далее. Эта JSP-страница извлекает WarehouseStockItem , связанный с атрибутом results , а затем отображает идентификатор элемента (ID), его краткое название и описание в виде формы с полями, защищенными от записи. В форму включено дополнительное поле ( Minimum Price ) и кнопка, которые будут использоваться для добавления выбранного элемента в список аукциона. Код представлен в разделе Создание страницы для отображения объекта хранилища: Код.
  3. Теперь следует остановить работу и протестировать приложение. Нажмите ссылку «Manage Warehouse» в файле index.html. Откройте ссылки в столбце Item Id и просмотрите отдельные объекты хранилища. Страница должна выглядеть примерно так, как показано а разделе Создание страницы для отображения объекта хранилища: Внешний вид страницы.

Вы можете пропустить описание кода и внешнего вида страницы и перейти непосредственно к разделу Соединение Web-клиента с Web-сервисом аукциона.

Создание страницы для отображения объекта хранилища: код

Эта JSP-страница извлекает WarehouseStockItem , связанный с атрибутом results , а затем отображает идентификатор элемента (ID), его краткое название и описание в виде формы с полями, защищенными от записи. В форму включено дополнительное поле ( Minimum Price ) и кнопка, которые будут использоваться для добавления выбранного элемента в список аукциона

Создание страницы для отображения объекта хранилища: внешний вид страницы

Создание клиента Web-сервиса

Созданный Java-код обеспечивает интерфейс удаленного вызова процедуры для Web-сервиса аукциона.

  1. Выберите File > New > Other.
  2. Выберите Web Services > Web Service Client.
  3. Оставьте значения, используемые по-умолчанию, и нажмите Next.
  4. Введите ссылку URL ведущую к WSDL запущенного сервиса аукциона: http://demo.alphaworks.ibm.com/AuctionSvr/wsdl/com/ibm/sample/auctionsvr/ws/AuctionService.wsdl. В качестве альтернативы можно попробовать самостоятельно создать Web-сервис, следуя указаниям руководства Построение Web-сервиса при помощи Eclipse Web Tools Platform.
  5. В окне выбора укажите WSDL.
  6. Нажмите Next.
  7. Убедитесь в том, что выбраны следующие значения и нажмите Next:
    • Web service runtime: Apache Axis 1.0
    • Server: Tomcat v4.1 Server @ localhost
    • J2EE version: 1.3
    • Client type: Web
    • Web Project: AuctionWebClient
  8. Нажмите Finish.

Создание страницы для отображения активных торгов

Теперь мы создадим страницу, которая будет отображать все активные торги аукциона. Если вы взглянете на код файла AuctionService.java , созданного Мастером построения клиента Web-сервиса (Web Service Client Wizard), то увидите, что метод getAuctions() позволяет извлекать информацию о торгах по идентификатору продавца (seller ID) и по статусу активности.

  1. В файле index.html была создана ссылка «Manage Auctions», ведущая к файлу showAuctions.jsp. Создайте этот файл:
    1. Выберите правой кнопкой AuctionWebClient\WebContent.
    2. Нажмите New > File.
    3. В качестве имени файла введите showAuctions.jsp.
    4. Нажмите Finish.
  2. Скопируйте код из следующего раздела в файл showAuctions.jsp. Эта JSP-страница запрашивает у сервиса аукциона информацию обо всех торгах, в которых значением идентификатора продавца (seller ID) является «1» а статусом — значение «OPEN.» Метод getAuctions() возвращает массив элементов AuctionListItems . Затем проводится итерация по списку, и отображаются различные атрибуты для каждого элемента в таблице. Взгляните на первый столбец таблицы — «> . Как и в случае с таблицей хранилища, каждая запись в столбце ID является ссылкой, ведущей на подробную информацию о соответствующем элементе. Реализация JSP showAuctionItemDetails будет выполнена позднее.

Создание страницы для отображения активных торгов: Код

Создание страницы для отображения деталей отдельного лота

Теперь выполним реализацию JSP showAuctionItemDetails , которая будет отображать детали отдельного лота, выбранного в showAuctions.jsp.

  1. Создайте файл showAuctionItemDetails.jsp:
  2. Правой кнопкой мыши выберите AuctionWebClient\WebContent.
    1. Нажмите File > New.
    2. В качестве имени файла введите showAuctionItemDetails.jsp.
    3. Нажмите Finish.
  3. Скопируйте в файл showAuctionItemDetails.jsp код из следующего раздела (Создание страницы для отображения деталей отдельного торга: код). Вначале будет производиться извлечение значения itemId , передаваемое showAuctions.jsp, а затем будет выполняться вызов сервиса аукциона для извлечения объекта AuctionInfo с соответствующим ID. Свойства AuctionInfo будут отображаться в форме, защищенной от записи.
  4. Протестируем приложение. В файле index.html откройте ссылку «Manage Auctions». Используйте ссылки в столбце ID для выбора и просмотра отдельных лотов аукциона. Результат можно увидеть в разделах Создание страницы для отображения деталей отдельного лота: страница Manage auctions и Создание страницы для отображения деталей отдельного лота: информация об отдельном лоте.

Вы можете пропустить иллюстрации и описание кода и перейти сразу к разделу Построение сервлета для создания нового лота.

Создание Android-приложения в среде Eclipse на примере

Проблема

Вы хотите использовать среду Eclipse для разработки своего приложения для платформы Android.

Решение

Установите среду Eclipse и подключаемый модуль AndMore. Затем создайте свой проект и начните писать приложение. Соберите его и протестируйте с помощью эмулятора в среде Eclipse.

Обсуждение

Прежде чем вы сможете начать создание приложения с помощью среды Eclipse, вам необходимо установить три элемента:

    Eclipse >Подробнее об установке этих элементов см. здесь.

После того как вы это сделаете, создайте новый Android-проект с помощью меню File → New ( Файл → Новый ), и вы увидите такой экран, как на рис. 1.

Щелкните на кнопке Next ( Далее ), дайте проекту название (рис. 2) и снова щелкните на кнопке Next .

Выберите версию SDK для целевого устройства (рис. 3). Версия 4.0 охватывает почти все устройства, используемые сегодня; более поздние версии дают еще больше возможностей. Решать вам!

Рис. 1. Начало создания проекта в среде Eclipse

Рис. 2. Настройка параметров нового проекта Eclipse

Рис. 3. Настройка инструментария SDK для нового проекта Eclipse

На рис. 4 показана структура проекта, развернутая на панели проекта справа. На нем также показано, в какой степени вы можете использовать автозаполнение Eclipse на платформе Android, — я добавил атрибут gravity для метки, а среда Eclipse пред­лагает полный список возможных значений атрибутов. Я выбрал central-horizontal , поэтому в момент запуска приложения ярлык должен быть центрирован.

Рис. 4. Использование редактора Eclipse для настройки атрибута gravity для представления TextView

Если в компоновке LinearLayout установить атрибут gravity равным center_ vertical , а в представлении TextView — center_horizontal , то текст будет центри­рован как по вертикали, так и по горизонтали. В листинге 1 приведен соответству­ющий файл компоновки main.xml (расположенный в каталоге res/layout ).

Листинг 1. Файл HelloWorld. java

Как всегда, когда вы сохраняете исходный файл, среда Eclipse генерирует скомпи­лированную версию. В проекте для платформы Android она также создает скомпили­рованный пакет АРК, который готов к запуску, поэтому вам нужно только запустить его. Щелкните правой кнопкой мыши на проекте и выберите команду Run As → Android Application ( Запустить как → Приложение для платформы Android ) (рис. 5).

Рис. 5. Запуск проекта для платформы Android в среде Eclipse

Эта команда запустит эмулятор Android, если он еще не запущен. В окне эмуля­тора появится слово Android (рис. 6), а через некоторое время вы увидите началь­ный экран Android.

Рис. 6. Запуск проекта для платформы Android в эмуляторе

По истечении некоторого времени ваше приложение будет запущено (на рис. 7) показан только фрагмент экрана самого приложения, поскольку остальная часть представления эмулятора является лишней).

Рис. 7. Выполнение проекта для платформы Android в эмуляторе

Eclipse среда разработки для создания веб-приложений

Бесплатная система управления сайтом, интернет-магазином. Лицензия GPLv2

В этой статье я расскажу вам о том, как обеспечить себя комфортом в разработке платформы Абрикос и ее модулей под Windows.

Часть 1. Установка необходимого ПО

Denwer набор Web-Разработчика — сервер apache2, php, mysql для windows в одном пакете.

Установка сервера

На официальном сайте денвера есть подробная инструкция по его установке, так что здесь я ее копипастить не буду. Единственное добавлю, что в процессе установки, когда запрашивает имя виртуального диска, я назначаю букву «W». Почему «W»? Ну, по двум причинам: первая, потому что W это Web, вторая, потому что я всегда пользуюсь FarManager-ом и мне удобно открывать этот диск по комбинации клавиш [alt+f1 w]. Больше причин нет, выбирать вам.

Итак, установили денвер и проверяем его работу — страница приветствия в браузере по адресу http://localhost.

Создание базы данных

Денвер установлен, сервер запущен (старт по ярлычку на рабочем столе Start Denwer). Открываем phpMyAdmin по адресу: http://localhost/Tools/phpMyAdmin/ и создаем базу данных abricos. Рекомендую в настройках создания новой базы указать collation: utf8_general_ci, дабы избежать потом мелкие недоразумения с кодировкой.

Среда разработки Eclipse

Теперь приступим к установке Eclipse.

Скачиваем дистрибутив здесь, сборка Eclipse IDE for JavaScript Web Developers, распаковываем в удобную для вас папку. Например, c:\eclipse (с путями лучше не мудрить, матерые программисты линуксоиды и им подобные не любят папки с русскими символами, пробелами и прочими непристойными знаками, все должно быть как раньше — нижний регистр, 8 букв в названии. :)) и выкидываем ярлычок на рабочий стол, на файл eclipse.exe

Запускаем Eclipse, в окне «Workspace Launcher» ставим галку «Use this as the default and do not ask again» и жмем OK

Если при запуске появится окно «Usage Data Upload» — это сбор статистики об использовании Eclipse, жмите «Next», далее галку на «I accept the Terms of Use» и кнопку «Finish». Если вы предпочитаете оставить в тайне факт использования Eclipse, тогда жмите «Cancel»

Вот так выглядит окно приветствия Eclipse:

Это базовая версия для JavaScript, нас она мало устраивает, теперь ее нужно немного допилить.

Закроем панель приветствия Welcome по крестику и начнем установку необходимых расширений.

Установка PHP Development Tools в Eclipse

Заходим в меню Help->Install New Software.

В появившимся окне Install в поле Work with выбираем «Indigo — http://download.eclipse.org/releases/indigo«.

В этот момент будет подгружен список доступных расширений.

Нам необходима поддержка PHP, для этого в списке находим раздел Programming Languages, раскрываем его и в нем ставим галку напротив PHP Development Tools (PDT) SDK Feature

Жмем Next и еще раз Next, потом принимаем лицензионное соглашение и жмем Finish.

Eclipse скачает все необходимые компоненты и установит их самостоятельно.

По окончанию установки будет предложено перезагрузить Eclipse:

Жмем Restart Now

Итак, Eclipse готов к разработке на PHP

Откроем рабочую среду PHP.

Для этого, в меню необходимо выбрать Window->Open Perspective->Other.

В появившимся окне Open Perspective выбираем PHP и жмем OK

Будет открыта среда разработки PHP:

Теперь необходимо настроить Eclipse для работы с хранилищем исходников Subversion

Установка Subclipse в Eclipse

Расширение Subclipse самое лучшее из всех, с чем довелось мне работать в Eclipse.

Заходим в меню Help->Eclipse Marketplace. В появившимся окне на закладке Search в поле Find пишем Subclipse и жмем GO

Необходимое для нас приложение найдено, напротив него (Subclipse) жмем кнопку Install. Хотя нет, стоп!

На момент написания статьи используется версия Subclipse 1.6. Вполне нормальная версия для рядовых случаев, но с ней я порядком намучился, потому как есть ряд мелких глюков и полная беда, если ваш проект будет на сетевом диске удаленного сервака через Samba.

Так что ставим Subclipse версии 1.8 через Install New Software

Итак, идем на страницу проекта http://subclipse.tigris.org/ и в меню переходим по ссылке Download and Install

На этой странице список доступных версий. Будем ставить самую свежую версию Subclipse 1.8. Находим ссылку предназначенную для Eclipse (Eclipse update site URL) http://subclipse.tigris.org/update_1.8.x и копируем ее в буфер обмена.

Далее в Eclipse заходим в меню Help->Install New Software.

В появившимся окне Install жмем кнопку Add. и в поле Name пишем «Sublipse 1.8», в поле «Location» копируем ссылку из буфера обмена: http://subclipse.tigris.org/update_1.8.x

Теперь в списке доступных приложений будет раздел Subclipse. Ставим галки на все:

Жмем «Next» и еще раз «Next», потом принимаем лицензионное соглашение и жмем «Finish».

Eclipse скачает все необходимые компоненты и установит их самостоятельно.

По окончанию установки будет предложено перезагрузить Eclipse:

Сервер установлен, среда разработки готова, теперь осталось выгрузить исходный код платформы и ее модулей в проект.

Об этом я расскажу во второй части статьи. Вторая часть статьи здесь.

Eclipse для Windows

или скачать напрямую

Рейтинг программыПоддерживаемые ОСРазрядностьДля устроиствЯзык интерфейсаПоследнее обновлениеТип распространенияРазработчикОфициальный сайт
Windows, MAC, Linux
32 bit, 64 bit, x32, x64
компьютер
Русский
2020
Бесплатный
www.eclipse.org
Версия Платформа Язык Размер Формат Загрузка
Eclipse Oxygen 4.7.2 x64 Windows English 48.7MB .exe
Eclipse Oxygen 4.7.2 x32 Windows English 48.7MB .exe
Eclipse Oxygen 4.7.2 MAC English 48.1MB .zip
Eclipse Oxygen 4.7.2 x64 Linux English 48MB .zip
Eclipse Oxygen 4.7.2 x32 Linux English 47.9MB .zip
* скачайте бесплатно Eclipse для Windows, файл проверен!

Eclipse – интегрированная среда разработки, предназначенная для написания модульных приложений. Поддерживает Java, JS, C/C++, PHP, Python, 1C v8 и ряд других языков программирования, взаимодействует с любыми операционными системами.

Функционал среды разработки

В основе архитектуры Eclipse лежит компонент Runtime, который управляет расширениями, обеспечивает взаимодействие с ОС и осуществляет поддержку системы помощи. IDE служит для создания и настройки основных программных элементов, регулирует сборку и отладку проектов, поддерживает совместную работу и поиск файлов.

Основные возможности платформы:

  • • разработка приложений различных типов;
  • • компиляция программ;
  • • интеграция с системами контроля версий;
  • • командная работа над проектом;
  • • загрузка из сети системных файлов для стартапов;
  • • поиск дополнительного ПО для повышения качества разработки.

Eclipse повышает продуктивность разработки программ, ее функциональность зависит от сборки – количества и типа подключенных расширений. Стандартная версия SDK обеспечивает минимальные возможности и используется для знакомства со средой, содержит два плагина (DT и PDE), формирующие IDE для программирования на Java и создания платформенных компонентов. Для получения платформы с требуемой функциональностью следует установить соответствующую сборку либо подключить необходимые модули к базовой версии.

Особенности платформы

Eclipse поставляется с открытым исходным кодом, что позволяет расширять функциональные возможности среды путем подключения диспетчеров баз данных, новых ЯП, серверов приложений и различных модулей. Является достойной альтернативой NetBeans, отличается от нее использованием библиотеки SWT вместо Swing при разработке пользовательского интерфейса приложений.

Среди преимуществ среды разработки:

  • • кроссплатформенность;
  • • русифицированный интерфейс;
  • • поддержка всех языков программирования;
  • • бесплатная лицензия;
  • • наличие компилятора;
  • • расширенный набор функций.

В версии Eclipse 4.7, выпущенной в июне 2020 года, были добавлены новые компоненты и функции, повышена стабильность и производительность работы. Появился модуль для разработки приложений для Android. Для перевода интерфейса на русский язык, необходимо добавить языковой пакет в список расширений дистрибутива.

Мультиязычная >

Основы IDE Eclipse

Проекты Eclipse

Моделирование при помощи среды Eclipse


Eclipse — среда (фреймворк) для разработки десктоп-программ с графическим интерфейсом (и без).

Среда расширяется при помощи плагинов. Наиболее известные, так называемые IDE-плагины:


    • Java plug-in, так как сам Eclipse-фреймворк написан на языке Java
    • C/С++ plug-in, так как язык C/C++ наиболее распространен в свободном сообществе
    • PHP
    • С#
    • xtml

Eclipse-фреймворк применяется не только как базис интерактивных программ, и не только с языками C/C++/Java, это универсальный фреймворк.

Лицензия

Eclipse-фреймворк лицензируется для использования по одной из свободных лицензий, первоначально Common Public License, ныне — Eclipse Public License.

Эти лицензии IBM признаны свободными и одобрены FSF, хотя и не защищают от разворовывания public domain, как GPL.

Это компромиссные лицензии, которые позволяют ортодоксальному бизнесу скрывать знания в закрытых Эклипс-плагинах, защищать свои know-how (ноу-хау, секрет производства) и получать конкурентные преимущества над другими людьми.

Архитектура Eclipse

Eclipse построен в виде набора расширяемых подсистем, а не как единое монолитное приложение. В Eclipse входят три подпроекта, разрабатываемых более или менее независимо друг от друга — Platform, JDT (Java development tools) и PDE (Plug-in development environment). Platform предоставляет базовые сервисы, JDT позволяет разрабатывать приложения Java, а PDE — новые компоненты Eclipse. Далее в статье анализируются основные свойства и внутреннее устройство каждого из подпроектов.

Platform — это ядро Eclipse. Сама по себе эта подсистема не содержит особенно полезной для пользователей функциональности, но без нее невозможна работа остальных подпроектов Eclipse. Сервисы, которые обеспечивает Platform, позволяют разработчикам определять видимые пользователю артефакты, создавать пользовательские интерфейсы, работать с системами контроля версий, средами отладки и справочной системой. Соответствующими компонентами Platform, реализующими эти сервисы, являются Workspace (управление контентом), Workbench (базовый пользовательский интерфейс Eclipse), Team, Debug и Help.

Workspace

При старте Eclipse запросит workspace — рабочее пространство, имя каталога, в котором будет сохранён результат работы. Можно:


    • оставить workspace по умолчанию (и отменить запрос на будущее);
    • восстановить запрос: Window > Preferences > General > Startup and Shutdown > Workspaces > Prompt for workspace on startup;
    • указать workspace в командной строке:
    • eclipse -data /…/

Одновременно только один экземпляр Eclipse работает над одним workspace. Если надо запустить ещё один экземпляр, необходимо указать другой workspace.

Рассмотрим сервисы, реализованные в компоненте Workspace. С концептуальной точки зрения этот компонент определяет основные объекты, с которыми могут работать пользователи и приложения Eclipse, структурирует эти объекты и предоставляет возможность управления ими. В техническом плане основная задача, которую решает этот компонент -унифицированный доступ к локальным и удаленным объектам.

Ресурсы

Базовые понятия, определяемые Workspace — это рабочая область (workspace), проект (project), папка (folder) и файл (file). В терминологии Eclipse все эти объекты называются ресурсами (resources).

Рабочая область всегда существует в единственном экземпляре. Вы можете переключаться между несколькими рабочими областями, но только одна из них может быть открыта в конкретный момент времени.

Рабочая область — это прежде всего контейнер для проектов. Кроме этого, в ней содержатся настройки, сохраняемые компонентами Eclipse, и вспомогательные данные. Физически рабочая область представляет собой директорию, поддиректории которой соответствуют проектам, а директория .metadata используется как хранилище настроек и данных.

Каждый из проектов, содержащихся в рабочей области, объединяет набор ресурсов (файлов и папок), правил для их обработки и других свойств проекта (таких, как настройки компилятора). Примерами проектов являются приложения Java, библиотеки jar или новые компоненты Eclipse. Для разработки каждого из этих артефактов необходимо создать отдельный проект.

Проекты могут зависеть друг от друга — это значит, что проект A может ссылаться на проект B и использовать ресурсы из него.

Папки и файлы полностью аналогичны папкам и файлам обычных файловых систем. Почему же разработчики Eclipse начали придумывать дополнительные сущности, вместо того, чтобы использовать привычные, известные каждому программисту, объекты? Дело в том, что работа с ресурсами Workspace позволяет программисту использовать множество новых возможностей в дополнение к традиционным свойствам файлов и директорий.

Для ресурсов, представляющих файлы, сохраняется история последних изменений их содержимого. Пользователь, таким образом, имеет возможность просматривать сделанные им изменения, сравнивать между собой различные версии файлов и в любой момент вернуться к одной из них.

Ресурсы могут быть локальными или находиться в репозитории системы контроля версий. В обоих случаях доступ к содержимому ресурсов и управление ими осуществляется через стандартный интерфейс, общий для локальных и удаленных объектов.

Большинство правильно спроектированных приложений Eclipse никогда не обращается к файлам напрямую, используя для этого стандартные средства Java или какие-либо иные способы. Вместо этого доступ к файловой системе осуществляется при помощи интерфейсов Workspace. Впрочем, использование стандартных средств Workspace не является обязательным — если это по какой-либо причине неприемлемо (например, ваше приложение не использует стандартный механизм объединения ресурсов в виде проектов), вполне допустимо использовать альтернативные механизмы.

Маркеры

Перед разработчиками приложений Eclipse часто встает задача отображения сообщений, привязанных к определенному фрагменту в ресурсе. Примерами являются сообщения компилятора Java или закладки (bookmarks), определяемые пользователем для быстрой навигации между файлами. Platform содержит маркеры (markers) — универсальный механизм для работы с такими объектами. Именно маркеры используются для создания, сохранения и отображения сообщений компилятора и пользовательских закладок.

Маркер — это объект, привязанный к заданной позиции в определенном ресурсе, и обладающий несколькими предопределенными и произвольным числом определяемых разработчиком атрибутов. Стандартные атрибуты, такие, как текст сообщения маркера и его позиция в файле, определяют то, как маркер будет отображен платформой Eclipse (а именно, компонентом Workbench). Дополнительные атрибуты могут отражать новую функциональность вашего приложения. Например, атрибуты сообщения об ошибке могут содержать информацию для ее автоматического исправления.

Любой маркер может быть объявлен как сохраняемый (persistent) — такие маркеры автоматически сохраняются платформой и после ее перезапуска будут восстановлены в изначальном виде. Обратной стороной использования сохраняемых маркеров является то, что легко получить множество устаревших маркеров, которые могут запутывать пользователя; при этом у пользователя нет стандартного способа удаления маркеров. Поэтому приложения, использующие сохраняемые маркеры, должны очень аккуратно управлять процессом их создания и удаления.

Очень удобным свойством маркеров является возможность их взаимодействия с текстовыми редакторами. При редактировании файла позиции всех маркеров, определенных в этом файле, корректируются соответствующим образом. Маркеры будут перемещаться вместе с ассоциированными фрагментами текста, поэтому, например, маркеры, созданные средством поиска текстовых строк в файлах, будут корректно указывать на найденные вхождения образца даже после произвольного числа сделанных пользователем изменений.

Проекты

Каким образом Eclipse будет интерпретировать тот или иной проект, целиком зависит от его свойств. Наиболее важными из поддерживаемых Platform свойств являются типы проектов (project natures) и билдеры (builders).

Билдеры, в самом общем понимании, — это компоненты, обрабатывающие ресурсы, входящие в проект, такие как компилятор Java, преобразующий исходные тексты в бинарные .class файлы. После первоначальной обработки проекта, билдеры должны реагировать на изменения, происходящие в его ресурсах. Очень важным здесь является понятие инкрементальной обработки — для улучшения производительности билдеры должны по возможности обрабатывать только те ресурсы, которые были изменены с момента последнего запуска билдера.

Билдеры, зарегистрированные для проекта, запускаются каждый раз, когда измененный ресурс из этого проекта сохраняется на диске. Логика инкрементальной обработки определяется исключительно разработчиком билдера, поэтому все, что делает Eclipse Platform — вызывает зарегистрированные билдеры при обновлении ресурсов и передает им информацию о произошедших изменениях (какие именно ресурсы были добавлены, удалены или изменены).

Тип проекта (nature) определяет множество билдеров, которые могут работать с ресурсами, входящими в проект. К примеру, с проектом, представляющим собой Java-приложение, должен работать компилятор Java. С одним проектом может работать несколько билдеров — как правило, каждый билдер предназначен для определенного типа файлов. Разработчики приложений Eclipse могут также определять специфические действия для конфигурирования проектов определенного типа.

Workbench


Перспективы, виды, редакторы

Компонент Workbench определяет базовый пользовательский интерфейс (UI) Eclipse, а также предоставляет другим компонентам средства для создания своих собственных интерфейсов. Основные объекты интерфейса, с которыми работает Workbench — это редакторы (editors), виды (views) и перспективы (perspectives).

Рисунок 2 Workbench.

Редакторы в Eclipse вполне соответствуют интуитивному представлению о том, как должен работать редактор. Пользователь может создать экземпляр редактора для существующего файла, внести необходимые изменения, сохранить их и закрыть редактор. Изменения, сделанные в процессе редактирования, остаются в буфере и не записываются в открытый файл до тех пор, пока пользователь не выберет команду сохранения. В редакторе, созданном для одного файла, невозможно открыть какой-либо другой файл.

Назначение редакторов заключается в предоставлении возможности просмотра и редактирования файлов. Визуальное представление содержимого файла зависит от его типа и может меняться от традиционного текстового редактора с подсветкой синтаксиса для сценариев Ant до графического редактора для изображений в формате gif.

Виды, в отличие от редакторов, не обязательно связаны с каким-либо конкретным ресурсом. Они могут быть использованы для отображения содержимого активного в данный момент редактора (наподобие вида Outline), элемента, выбранного в другом виде (история версий ресурса в CVS), а также данных, полученных любым другим путем (таких, как отчет о выполнении тестов JUnit).

В отличие от редакторов, изменения, сделанные пользователем при помощи вида, должны немедленно сохраняются или переносится в соответствующие ресурсы. Например, в виде Navigator отсутствует команда Save или подобная ей — такие действия пользователя, как копирование или переименование, немедленно производятся с соответствующими ресурсами.

Данное соглашение не является, строго говоря, обязательным. У пользователя имеется техническая возможность создавать виды, требующие явного сохранения пользовательских изменений. Однако такие решения противоречат принятым соглашениям о пользовательском интерфейсе приложений Eclipse, и их следует по возможности избегать.

В Eclipse входит множество элементов пользовательского интерфейса — редакторов, видов, меню. Если бы кто-то попытался расположить их все на экране, то в результате получилось бы беспорядочное нагромождение окон, в котором было бы практически невозможно ориентироваться. Создатели Eclipse решили эту проблему при помощи понятия перспективы (perspective).

Очевидно, что пользователь Eclipse не может одновременно использовать все возможности среды. Когда вы отлаживаете программу, вам не нужны средства для работы с системой контроля версий. Как правило, во время написания кода нет необходимости видеть список установленных точек останова и т.п. Таким образом, в каждый момент времени пользователь выступает в некоторой роли, которая подразумевает ограниченный набор действий.

Перспективой, в терминологии Eclipse, называется конфигурация платформы, соответствующая определенной роли. Функциональность, необходимая выступающему в этой роли пользователю, определяет набор и расположение окон, меню, горячих клавиш, и прочих элементов интерфейса для этой перспективы. Например, в перспективе для отладки присутствуют виды с текущим стеком, значениями локальных переменных и списком точек останова, а в перспективе для синхронизации содержимого проекта по CVS — виды со списками доступных серверов и историей изменений в выбранного файле.

Platform позволяет разработчикам приложений создавать новые перспективы, определять их конфигурацию по умолчанию (которая впоследствии может быть изменена пользователем), а также подключать свои элементы интерфейса к существующим перспективам. Разумеется, поддерживается и добавление новых редакторов и видов.

Графический интерфейс

Фундаментом, на котором построены все графические средства Eclipse, является входящий в Workbench компонент SWT (Standard widget toolkit). SWT является основным средством создания пользовательского интерфейса для приложений на основе Eclipse. Поскольку для прорисовки элементов интерфейса SWT максимально использует средства оконного менеджера операционной системы (Win32, GTK, Motif), приложения, построенные на базе SWT, визуально не отличаются от «родных» приложений, разработанных специально для конкретной операционной системы. При этом они сохраняют совместимость со всеми платформами, поддерживаемыми Eclipse.

Использование под каждой ОС стандартных элементов управления позволяет существенно улучшить производительность и избежать запаздывания реакции на события в сложных, многооконных интерфейсах.

SWT (в виде набора библиотек) может быть использован в качестве замены Swing и AWT, отдельно от Eclipse и компонента Workbench.

До последнего времени основным недостатком SWT было отсутствие визуального редактора для создания графических интерфейсов на его основе. Безусловно, разработку кода графического приложения с нуля трудно назвать увлекательной или интеллектуальной задачей. Заполнить этот пробел призван недавно стартовавший проект Eclipse Visual Editor.

На основе SWT построен компонент JFace, который решает более высокоуровневые задачи построения пользовательского интерфейса. JFace содержит классы для создания диалогов, страниц свойств, управления шрифтами, поддержки архитектуры модель/вид и т.п. Наверное, для читателей не будет неожиданным тот факт, что сам Eclipse создан исключительно с использованием SWT и JFace.

JavaScript Development Tools

JavaScript Development Tools, JSDT — второй из основных подпроектов, составляющих Eclipse SDK. Это и есть упомянутая «IDE для Java», содержащая инкрементальный компилятор Java, редакторы, средства для отладки, тестирования, навигации и рефакторинга исходного кода.

Важно понимать, что JDT построен исключительно на основе подпроекта Platform и не использует каких-либо закрытых или недокументированных интерфейсов. Это значит, что при наличии желания и ресурсов можно разработать компонент, функционально аналогичный JDT, для любого другого языка — от С++ до Python, и тем самым превратить Eclipse в, например, «IDE для Python».

Вы можете полностью исключить JDT из конфигурации Eclipse и установить только свои компоненты, так что пользователям вашего продукта ничто не будет напоминать о Java. Единственный компонент из стандартной конфигурации, который является обязательным для функционирования приложений — это Platform.

Рисунок 3 Перспектива Java.

Инкрементальная компиляция

Одним из самых смелых решений, принятых разработчиками Eclipse, была автоматическая инкрементальная компиляция проекта после каждого изменения, сделанного разработчиком. Каждый раз, когда, работая в Eclipse, вы сохраняете измененный исходный файл на диске, инкрементальный билдер анализирует сделанные изменения и запускает компиляцию не только сохраненного файла, но и всех зависящих от него компонентов. Этот процесс может показаться неоправданно долгим, однако производительность современных компьютеров делает его практически незаметным для пользователя. Кроме того, интеллектуальный анализ изменений сводит к минимуму число необязательных перекомпиляций. К примеру, если вы сделали изменения в теле метода или отредактировали комментарий, то интерфейс класса остался прежним и перекомпиляция его клиентов не нужна — такие ситуации корректно обрабатываются инкрементальным Java билдером.

Что дает такой подход, помимо, разумеется, возможности оперативного просмотра и исправления ошибок компиляции? При первой компиляции проекта в памяти строится дерево зависимостей файлов в проекте, что позволяет в дальнейшем производить компиляцию очень быстро, поскольку нет необходимости анализировать все исходные файлы в проекте. Надо заметить, что дерево зависимостей сохраняется на диске, так что после перезапуска Eclipse нет необходимости проводить анализ зависимостей в проектах с нуля.

Информация, собранная в процессе компиляции проекта, также используется для выполнения рефакторинга и специализированного Java-поиска (ссылок на декларации, объявления классов и т.п.). Именно доступность этой информации позволяет запускать рефакторинг и поиск без задержек, которые были бы необходимы для ее сбора в случае отсутствия автоматической компиляции. (И рефакторинг, и поиск будут работать и для не откомпилированных проектов, однако в этом случае точность полученных результатов не гарантируется.)

Что можно сказать о применимости автоматической компиляции для больших проектов — не окажется ли время, затрачиваемое на нее, неприемлемо большим? Как показывает практика, Eclipse позволяет комфортно работать с исходным кодом объемом порядка одного миллиона строк при условии, что он структурирован — разделен на проекты относительно небольшого размера. В случае, когда весь исходный код находится в одном проекте (я рекомендую избегать подобных ситуаций), может оказаться целесообразным отключить автоматическую компиляцию.

Экстремальное программирование и Eclipse

Очень привлекательной особенностью JDT является поддержка большого набора видов рефакторинга. Напомню, что рефакторингом называют методику переработки существующего кода с целью его улучшения. Популярная технология экстремального программирования (extreme programming) всячески поощряет разработчиков постоянно улучшать качество кода путем его рефакторинга. С опасностью добавления ошибок при изменении кода предлагается бороться как можно более частым выполнением как можно более полного набора автоматических тестов. JDT позволяет уменьшить эту опасность, полностью автоматически выполняя восемнадцать наиболее часто используемых видов рефакторинга, таких как перемещение элемента классы или выделение абстрактного интерфейса. Выполняя любой из видов рефакторинга, поддерживаемых JDT, вы можете быть уверены в том, что в результате произведенных изменений семантика программы не изменится.

Еще одним приятным свойством JDT, упрощающим применение рекомендаций методики экстремального программирования или Test driven development (TDD), является возможность запуска тестов JUnit прямо из IDE. Какой бы незначительной ни казалась эта деталь, она экономит существенное количество времени в процессе разработки. При работе в традиционной IDE цикл кодирование-модульное тестирование (unit testing) выглядит следующим образом: кодирование, сборка проекта, запуск JUnit, запуск тестов и анализ результатов. В JDT проект всегда находится в откомпилированном виде, поэтому этапы сборки и запуска JUnit пропадают, а выполнение набора тестов становится быстрее и проще. Этого оказывается достаточно для того, чтобы подход с написанием модульных тестов перед собственно кодом приложения начал выглядел намного более привлекательно.

Последний из подпроектов Eclipse, PDE, обеспечивает поддержку разработки расширений Eclipse — таких как плагины, редакторы, виды и страницы настроек. Именно PDE позволяет разрабатывать Eclipse в самом Eclipse.

Плагины Eclipse

Любая программа, собранная на основе фреймворка Eclipse, представляет из себя плагин или feature (группу плагинов).

Одна из самых важных сборок — Eclipse IDE — включает:

  • инструмент сборки — PDT (Plugin Development Tools);
  • инструмент модификации и создания новых компонент — JDT (Java Development Tools)
  • и другие инструменты.

Как было отмечено выше, Eclipse предоставляет широкие возможности для расширения. В основе архитектуры, делающей это возможным, лежит использование плагинов (plug-in). Вместо того чтобы находиться в одном монолитном jar-файле, код Eclipse разделен на множество модулей, загружаемых динамически и независимо друг от друга (хотя каждый плагин может указать список плагинов, которые должны быть загружены до него). Для того, чтобы сократить время запуска платформы, плагины загружаются только перед непосредственным использованием (разумеется, полный список установленных плагинов доступен всегда).

Для того, чтобы Eclipse загрузил ваш плагин, необходимо написать дескриптор плагина — файл в формате XML под названием plugin.xml, который можно создать как при помощи PDE, так и в любом текстовом редакторе. Дескриптор сообщает Eclipse, какие ресурсы входят в плагин и каким образом платформа может их использовать. В ресурсы обычно входят библиотеки jar, текстовые сообщения в файлах .properties, графические изображения и т.п.

Разработчики могут создавать свои плагины, которые имеют абсолютно равные права с компонентами, изначально входящими в Eclipse; фактически приложение Eclipse представляет собой набор плагинов (для удобства конфигурирования группа связанных плагинов может быть объединена в подсистему (feature).

Eclipse поддерживает концепцию так называемых фрагментов (fragment) плагинов. Фрагменты плагина дополняют основной плагин — они очень похожи на обычные плагины, за исключением того, что не является самостоятельными модулями и могут быть использованы только в комплекте с основным плагином. Eclipse рассматривает плагин и все его обнаруженные фрагменты как единый логический плагин.

Для чего нужны фрагменты плагинов? Их основным свойством является возможность установки независимо от основного плагина. Как правило, фрагменты используются для добавления локализованных ресурсов и зависимых от операционной системы компонентов. Если некоторый плагин поддерживает локализацию, вы можете добавить поддержку нового языка при помощи отдельного фрагмента без изменения оригинального плагина и, более того, абсолютно независимо от его разработчиков (разумеется, по мере выхода новых версий плагина вам может понадобится вносить изменения в его фрагменты).

Расширения

Модульная архитектура еще не обеспечивает расширяемости платформы — она всего лишь обеспечивает механизм загрузки кода, написанного разработчиками. Новая функциональность может быть добавлена в Eclipse с помощью механизма расширений. Ключевое понятие здесь — точка расширения (extension point). Точка расширения определяет группу сервисов и дает возможность разработчикам плагинов добавлять свои сервисы в общий список.

Каким образом разработчики могут добавлять в Eclipse, например, свои редакторы? Eclipse, а точнее входящий в компонент Workbench плагин org.eclipse.ui, определяет точку расширения для редакторов. (Как мы помним, именно Workbench определяет пользовательский интерфейс Eclipse.) Основная задача точки расширения — объявить уникальный идентификатор, который будет использован конкретными расширениями для ссылки на точку расширения. Вот как выглядит соответствующий фрагмент дескриптора плагина org.eclipse.ui:

Разработчик помещает свой редактор в плагин, и указывает в дескрипторе плагина, что он содержит расширение (extension), соответствующее точке расширения редакторов. При инициализации Eclipse зарегистрирует новый редактор в общем списке редакторов и сделает его доступным для пользователей. Для сокращения накладных расходов плагин с редактором будет физически загружен и проинициализирован только в момент создания первого экземпляра редактора.

Следующий пример определяет стандартный текстовый редактор Eclipse (обратите внимание на то, что задано расширение файлов, с которыми работает этот редактор — txt).

Как происходит открытие файла для редактирования? Workbench ищет в списке всех расширений org.eclipse.ui.editors те редакторы, которые способны открыть файл с данным расширением (задается атрибутом extensions). Если обнаружено более одного подходящего редактора, пользователь может выбрать, какой из доступных редакторов он хочет использовать в данном случае. Существует соглашение о том, что все редакторы Eclipse обязаны реализовать интерфейс org.eclipse.ui.IEditorPart, поэтому Workbench создает объект класса, указанного в атрибуте class расширения, и приводит его к известному ему IEditorPart. В дальнейшем управление жизненным циклом редактора осуществляется только через этот интерфейс.

Что здесь является общим для всех реализаций механизма расширения, а что специфично для конкретного примера? Как правило, с точкой расширения действительно ассоциируется определенный интерфейс — через него клиенты точки расширения могут взаимодействовать с конкретными расширениями, не зная о деталях их реализации. Поскольку сценарии работы с различными точками расширениями, вообще говоря, не имеют ничего общего, большинство из точек расширения использует свой, уникальный интерфейс — в случае редактора это IEditorPart.

Разумеется, возможны ситуации, когда использование интерфейса не является необходимым. Например, точка расширения может быть использована для сбора информации о графических ресурсах — в этом случае от расширений требуется лишь указать имя подключаемого файла gif или bmp.

Типичное функционирование механизма расширений пояснит рисунок 4.

Рисунок 4. Механизм расширения Eclipse.

Клиенты точки расширения P (они не обязательно должны находится в плагине A, объявляющем точку расширения) могут получить список обнаруженных расширений P (в этом примере — единственное расширение в плагине B), создать их экземпляры и работать с ними через общий интерфейс I, объявленный в том же плагине, что и точка расширения.

Из приведенного примера может показаться, что существует жесткая взаимосвязь «один плагин — одна точка расширения». На самом деле никакого ограничения на количество расширений, с которыми может работать один плагин, нет. Один и тот же плагин может объявлять свои точки расширения и подключаться к сторонним — критерием объединения расширений в одном плагине является лишь логическая целесообразность.

Часто оказывается полезным создание плагинов, которые не подключаются к точкам расширения и не объявляет свои. Такие плагины содержат архивы jar и используются в виде своеобразных разделяемых библиотек.

При помощи описанного механизма расширений может быть расширена практически вся функциональность Eclipse — перспективы, редакторы, виды, страницы настроек, инкрементальные билдеры. Предположим, что перед вами стоит задача создания инструментария для поддержки Web-сайта. Вы можете создать новый вид проекта «Web project», редактор html, средства синхронизации с web-серверами, и разместить все новые элементы интерфейса в отдельной перспективе.

Важно то, что можно предоставить разработчикам возможность дальнейшего расширения вашего продукта. В приведенном выше примере может оказаться полезным удаление жесткой зависимости от одного протокола связи с Web-сервером. Более гибким решением было бы определение новой точки расширения и работа с плагинами, определяющими это расширение, через общий интерфейс работы с сервером (который должен быть определен вместе с точкой расширения). Таким образом, механизм поддержки расширений никоим образом не ограничен стандартной функциональностью, а, напротив, поощряет разработку расширяемых приложений.

Количество плагинов огромно. Только малая часть перечислена в разделе Eclipse/Plugins.

Установка Eclipse

  1. Установите актуальную версию Eclipse. Последние версии содержат WTP-плагин, для старых его нужно инсталлировать. Это описание проверялось с Eclipse 3.6 и Eclipse Indigo
  2. Установите Apache Tomcat (Пример создан с версией 6.0 и проверен с версией 7.0.26).
  3. После стартаTomcat-а под http://localhost:8080 вы должны увидеть приветствие. Остановите Tomcat с помощью ‘ /bin/shutdown.bat’ или через Computer->Управление-> ‘Службы и приложения’ (Windows 7).
  4. Просмотрите настройки Tomcat-а в ‘ /conf/server.xml’ и ‘ /conf/web.xml’ и проверьте лог-файлы в ‘ /logs’.
  5. Вставьте в ‘ /conf/tomcat-users.xml’ после ‘ ‘ следующие строки:

Русификация Eclipse

Для руссификации Eclipse необходимо воспользоваться услугами Eclipse Babel Project. Скачивать и подкладывать ничего не нужно. Идём на страницу загрузки и берём оттуда ссылку на «update site» для своей версии. Например, для Eclipse Helios:

Для Eclipse Luna:

Для Eclipse Kepler:

Потом в своём Eclipse заходим в help -> install new software. Добавляем новый источник используя полученную ссылку. Ждём, пока Eclipse получит список доступных обновлений из нового источника. Дальше — выбираем language pack для вашего языка. Соглашаемся с лицензионным соглашением, выполняем установку. После рестарта ваша Eclipse заговорит на вашем языке.

Есть одна тонкость: если ваша системная локаль отличается от желаемого языка, запускать Eclipse придётся с явным указанием языка:

Связь Eclipse с Tomcat-ом

Стартуйте Eclipse и установите его связь с вашей Tomcat-инсталляцией:

Вставьте в ‘Tomcat installation directory’ ваш Tomcat-каталог (например ‘C:\Java\Tomcat’) и нажмите ‘Finish’.

Выберите Java EE перспективу через

Сделайте двойной клик на строку сервера

В появившемся в главном окне Eclipse «Overview» сервера имеются дополнительные возможности конфигуации сервера.

Нажмите символ дискетки, чтобы запомнить изменение конфигурации сервера, если вы ее изменили.

Создание веб-приложения (сервлета)

Убедитесь, что Tomcat находится в остановленном состоянии.

Project name: myProject Use default location: Да Target Runtime: Apache Tomcat v7.0 Configurations: Default Configuration for Apache Tomcat v7.0 EAR membership: Нет

Если вы в Project Facets Dialog получите вопрос о Java-версии, внесите, по крайней мере что-то вроде ‘5.0’.

Внесите ‘Web Module’:

Context Root: myProject Content Directory: WebContent Generate web.xml deployment descriptor: Да

Кликните правой кнопкой на имя каталога WebContent вашего проекта, выберите ‘New’ | ‘Servlet’ и внесите:

Java package: myservletpackage Class name: MyFirstServlet

Под URL Mappings отметьте /MyFirstServlet, нажмите кнопку «Edit. » и внесите

Проверьте в ‘ \MyProjekt\WebContent\WEB-INF’-каталоге, в файле’web.xml’ описаны ли там ‘ ‘ и ‘ ‘ — элементы. Если нет — что-то не сложилось, дальше можно не продолжать.

Измените текст MyFirstServlet.java на:

Запуск веб-приложения в Eclipse

  1. Кликните на имя ваш сервлет правой кнопкой и выберите: ‘Run As’ | ‘Run on Server’.
  2. Если возникнет диалог ‘Define a New Server’:
  3. Выберите ‘Tomcat v6.0 Server at localhost’ и отметьте галочкой ‘Always use this server when running this project’. ‘Finish’.
  4. Если Tomcat не стартовал автоматически, стартуйте его через вкладку Servers.
  5. В адресном поле броузера наберите:
  6. Измените написание выдаваемого сервлетом текста в исходнике и снова запустите проект. Выдаваемый текст не изменился.
  7. Не отчаивайтесь — просто обновите окно браузера.

Глоссарий

Eclipse SDK (инструментарий разработчика) — Eclipse Platform + JDT + PDE

Feature — иклипс-приложение, RCP-программа, состоящая из нескольких плагинов. Feature состоит из manifest-файла, плагинов, фрагментов, других файлов. Формат упаковки — JAR.

Feature manifest editor — один из редакторов PDE-перспективы, предназначенный для редактирования manifest-файла, описывающего Feature.

Fragment — фрагмент плагина. Удобен для доопределения новых свойств уже инсталлированного плагина, таких как локализация, изолирование зависимостей от платформ, распределения работ.

Perspective (перспектива) — набор редакторов и вьюеров для определенного контекста.

Eclipse среда разработки для создания веб-приложений

Еще одной очень популярной средой для разработки приложений под Java является Eclipse . IDE Eclipse первоначально была создана и развивалась компанией IBM, но впоследствии разработка была выделена в отдельный проект Eclipse Foundation. Eclipse является бесплатной средой, которая к тому же обладает болшими возможностями, позволяя создавать на Java самые разные приложения.

Для начала установим последнюю версию Eclipse, которую можно найти по адресу https://www.eclipse.org/downloads/. На странице загрузок выберем найдем рядом с названием текущей версии Eclipse (на момент написания статьи это весия Oxygen) кнопку «Download» и нажмем на нее.

После нажатия на кнопку нас перенаправит собственно на страницу загрузки, где необходимо будет нажать на кнопку «Download» для загрзуки установочного пакета:

После ее загрузки установочного пакета запустим его:

По факту Eclipse — это целый набор сред для разных ситуаций и языков программирования. И программа установки предлагает нам выбрать одну из опций для инсталляции. Поскольку мы собираемся работать с Java, то нас будут интересовать в данном случае прежде всего две опции:

Eclipse IDE for Java Developers

Eclipse IDE for Java EE Developers

Первая опция предоставляет базовые возможности для работы с Java, а вторая позволяет также создавать веб-приложения и сервисы. По сути вторая опция включает и первую опцию. Поэтому выберем Eclipse IDE for Java EE Developers .

Далее надо будет указать папку для установки (или оставить выбранную папку по умолчанию) и принять пару лицензионных соглашений, и среда будет установлена.

После установки запустим Eclipse. Далее перейдем к пункту меню File -> New -> Project :

Далее нам откроется окно выбора шаблона проекта. Выберем Java Project и нажмем на кноку Next:

Затем будет предложено установить настройки проекта. В частности, в поле Project Name необходимо задать имя проекта. Допустим, оно будет HelloApp:

Все остальные настройки можно оставить по умолчанию, и в конце нажмем на кнопку Finish для создания проекта. После создания проект будет открыт в Eclipse. По умолчанию он будет пуст.

Все файлы с исходным кодом на Java в проекте помещаются в папку src . Нажмем на нее правой кнопкой мыши и в контекстном меню выберем New -> Class :

Затем откроется окно настройки класса. Здесь в поле Name необходимо задать название класс. Допустим, он будет называться Program. Все остальные настройки можно оставить по умолчанию:

После этого в проект будет добавлен файл Program.java, а в центральной части Eclipse мы сможем увидеть его код. Изменим этот код на следующий:

Для запуска проекта нажмем на панели инструментов на зеленую стрелочку, либо на пункт меню Run -> Run . И внизу среды в поле Console мы увидим результат работы программы (то есть фактически консольный вывод).

Средства Eclipse Callisto для разработчиков ПО

В составе представленного в этом году программного комплекса Callisto (www.eclipse.org/callisto), реализованного на технологической платформе Eclipse 3.2, на сегодняшний день имеется около десятка продуктов для разработчиков ПО. Среди них, наверное, особое внимание стоит обратить на два — Web Tools Platform (WTP) и Data Tools Platform (DTP), которые, с одной стороны, нацелены на демонстрацию возможностей Eclipse в плане его применения в наиболее популярных направлениях разработки приложений, а с другой — представляют собой достаточно полные наборы для выполнения реальных программных проектов (в основном за счет различных дополнительных инструментов от многих ведущих игроков на поле Eclipse, предоставляемых в виде их спонсорского участия в проекте).

Каждый из них (WTP и DTP) — это расширения для базовой среды Eclipse, которые разработчику доступны в виде стартовых шаблонов для создания соответствующих приложений.

Web Tools Platform

На самом деле WTP состоит из двух подпроектов — J2EE Standard Tools (JST) и Web Stardard Tools (WST). Первый включает широкий набор инструментов, нацеленных на повышение эффективности J2EE-разработки, в том числе текстовые и графические редакторы для работы с различными компонентами приложения, конструкторы работы с базами данных и мастера для создания Web-сервисов. Второй предлагает интегрированную поддержку для запуска и тестирования приложения на различных Web-серверах (но в рамках технологий Eclipse). WST включен в состав многих шаблонов новых приложений, например Dynamic Web Project поможет писать, тестировать и отлаживать приложения Java Web Archive (WAR), а Enterprise Application Project — Enterprise Archive (EAR).

Пять лет проекту Eclipse

В ноябре в Сан-Франциско (США) американская ИТ-общественность отметила пятилетний юбилей проекта Eclipse — безусловно, феномена ИТ-отрасли начала нынешнего столетия. Его уникальность заключается в двух аспектах. Во-первых, это один из самых масштабных примеров самоорганизации участников ИТ-рынка в решении общих технологических задач, направленных на ускорение развития рынка в целом. Во-вторых — наглядная демонстрация того, как могут сотрудничать сторонники различных бизнес-моделей в области софта (коммерческой и Open Source).

Вообще юбилеи Eclipse можно праздновать чаще обычного, так как проект имеет несколько дней рождения, и в этом тоже есть своя специфика. Как известно, он был начат корпорацией IBM в 1998 г. с целью создания интегрированной среды Java-разработки нового поколения. Однако довольно быстро руководство компании поняло, что для построения конкурентоспособного решения нужно действовать в кооперации с другими поставщиками Java-инструментов. В результате в ноябре 2001-го был сформирован первый совет управляющих проектом Eclipse.org, в состав которого вошли компании Borland, IBM, MERANT, QNX Software Systems, Rational Software, Red Hat, SUSE, TogetherSoft и Webgain. В последующие два года к этой работе подключились многие другие ведущие ИТ-поставщики, в том числе Sybase, Fujitsu, Hitachi, Oracle, SAP и Intel.

Базовая среда Application Lifecycle Framework, создаваемая в рамках одного из новых проектов Eclipse, предназначена для формирования единой платформы управления жизненным циклом приложений

В начале 2004-го IBM сделала окончательный шаг по преобразованию проекта Eclipse из частного в отраслевой, представив Eclipse Platform в виде ПО с открытыми исходными кодами. В феврале совет управляющих был преобразован в некоммерческую организацию Eclipse Foundation, открытую для участия всем желающим (www.eclipse. org). С тех пор Eclipse развивается как независимый открытый проект, хотя IBM безусловно занимает в нем позицию первой среди равных. Тем не менее именно такое преобразование проекта позволило привлечь к работам самый широкий круг заинтересованных сторон: основных технологических вендоров, заказчиков, университеты и научно-исследовательские институты, органы стандартизации, индивидуальных ученых и программистов.

Сегодня в состав основателей фонда, имеющих статус его стратегических членов, входит элита мировой ИТ-отрасли, в том числе BEA, Borland, CA, Ericsson, HP, IBM, Intel, Motorola, SAP, Sybase. Тут нет Microsoft и Sun, что четко демонстрирует маркетинговую направленность проекта: Eclipse, с одной стороны, олицетворяет противостояние Java и .NET, а с другой — направлен против лидирующей роли Sun в мире Java.

Всего в работе фонда сегодня принимает участие в том или ином виде более 100 компаний. При их поддержке выполняется около 10 проектов верхнего уровня, которые имеют множество подпроектов, и число последних постоянно растет (за последний год оно увеличилось на 30). В целом руководством отдельных направлений деятельности фонда занимается более 600 комитетов и групп.

Хотя система Eclipse изначально создавалась как среда разработки для Java, она давно уже вышла за эти границы. Исследования в рамках идей Open Source ведутся по семи основным направлениям: средства разработки приложений масштаба предприятия, встроенные решения, SOA (сервисно-ориентированная архитектура), управление жизненным циклом приложений, насыщенные интернет-приложения, платформа многофункционального клиента и базовые среды поддержки приложений.

Любопытно выглядит взаимодействие общественного фонда с коммерческими компаниями. Разработками фонда могут пользоваться все желающие, в том числе ИТ-вендоры для создания своих коммерческих продуктов. В то же время арсенал его технологий постоянно пополняется за счет продуктов и средств, которые ИТ-компании передают в общественное пользование. Все это дает мощный синергетический импульс для развития как фонда, так и отдельных его участников.

И все же, несмотря на расширение задач глобальной отраслевой инициативы Eclipse, ключевым и наиболее известным ее проектом остается создание открытой индустриальной платформы (она так и называется — Eclipse Platform) для разработки интегрированных инструментов (IDE) и функционально насыщенных клиентских приложений (Rich Client). В начале 2006 г. была представлена новая версия — Eclipse 3.2. На ее базе ведется комплексный проект под названием Callisto, который включает несколько параллельных подпроектов, нацеленных на разработку ПО. Каждый из них представляет собой то или иное расширение базовой среды Eclipse 3.2: Business Intelligence and Reporting Tools, C/C++ IDE, Data Tools Platform, Eclipse Modeling Framework, Graphical Editing Framework, Graphical Modeling Framework, Test & Performance Tools Platform, Web Tools Platform, Visual Editor.

Главная задача этих проектов — демонстрация возможностей базовой платформы, на основе которой ИТ-поставщики и заказчики могли бы формировать собственные инструментальные наборы, пополняя исходные варианты решений модулями или средствами третьих фирм. В то же время формируемые в ходе этих работ инструменты могут использоваться и в готовом виде для создания ПО.

С проектом Callisto связано и другое важное направление — построение в рамках Eclipse платформы управления жизненным циклом приложений (Application Lifecycle Management, ALM). Здесь нужно отметить начатые в этом году два новых проекта по созданию Application Lifecycle Framework (см. рисунок) и Tools Services Framework, стартовавших в этом году под руководством соответственно компаний Serena и Compuware.

Маркетинговые исследования отмечают быстрый рост популярности Eclipse у разработчиков ПО. В обзоре компании Evans Data, опубликованном нынешним летом, говорится, что доля Eclipse, применяемой американскими программистами в качестве «первой» IDE, за год возросла с 32 до 60%. Правда, в качестве ОС пользователи Eclipse чаще всего (в 80% случаев) применяют Windows (Linux — только 8,8%). Результирующие приложения также нацелены в большинстве своем на Windows (60%, на Linux — 20%). Главными проблемами на пути более широкого применения Eclipse, по мнению респондентов, являются сомнения по поводу технической поддержки и, как это ни странно, схем лицензирования продуктов Open Source.

В стандартный вариант поставки пакета Eclipse 3.2 никакие расширения не входят. Чтобы их загрузить, нужно воспользоваться функцией Remote Update. Попав на сайт http://download.eclipse.org/ callisto/releases/, далее следует пройти по ссылкам Help> Software Updates> Find and Install). В диалоговом окне выбирается позиция Callisto Discovery Site, и тогда вы увидите полный набор доступных расширений Callisto (рис. 1). В данном случае нужно выбрать Web and J2EE development и еще несколько необходимых вспомогательных опций: Enabling Features, Graphical Editors and Frameworks и Models and Model Development.

Рис. 1. Установка WTP с Remote Site

Стандартный вариант Eclipse предлагает весьма ограниченные возможности для редактирования не-Java-файлов, в то время как для создания Web-приложений нужны различные языки. Поэтому раньше для профессиональной работы требовались дополнительные инструменты от третьих фирм. С появлением WTP в них уже нет необходимости, платформа включает набор первоклассных редакторов для файлов самых разных типов: HTML, JSP, JSTL, XML, DTD, XML Schema, XSL, WSDL, JavaScript, CSS и др. Каждый из них позволяет анализировать не только содержимое файла, но и древовидную структуру документа (рис. 2) или его программного кода. Впоследствии будет реализована полная поддержка JSF-файлов, которая пока представлена в ограниченном варианте (на уровне проверки синтаксиса).

Рис. 2. Редактирование файла JSP/JSTL в среде WTP

Отдельно нужно сказать о работе с XML. Стандартный XML-редактор позволяет использовать трехоконное представление XML-документа (исходный код, структура и список свойств), обеспечивая при этом проверку его соответствия заданной XML-схеме. Работа с XML-схемами возможна как в текстовом, так и в графическом форматах.

Поддержка технологии Web Services в пакете WTP реализована на базе библиотек Apache Axis Web Service, обеспечивающих функционирование как самих Web-сервисов, так и клиентских приложений. Описание Web-сервисов хранится в виде WSDL-файлов, для визуальной работы с которыми используется встроенный XML-редактор (рис. 3); при этом от программиста не требуются глубокие познания в спецификациях WSDL.

Рис. 3. Редактирование WSDL-файла

Чтобы задействовать существующий Web-сервис в клиентской программе, нужно просто обратиться к соответствующему WSDL-файлу, который находится либо на локальном компьютере, либо на каком-то Web-cайте. Eclipse сам создаст все необходимые Java-классы. Такой подход полезен, когда вы имеете дело со стабильными Web-сервисами, предоставляемыми, например, сервис-провайдерами на коммерческой основе. Если же вы применяете Web-сервис, созданный для внутреннего пользования, как часть своего клиентского приложения, то можно реализовать вариант динамического доступа, встроив обращение к сервису в формируемый процесс.

WTP предлагает также все необходимое для написания, тестирования и развертывания собственных Web-сервисов. Тут есть два варианта их создания. В первом разработка идет от бизнес-логики, когда для имеющегося Java-класса автоматически генерируется WDSL-файл. Во втором случае, наоборот, сначала формируется описание Web-сервиса (в виде WSDL-файла и соответствующей XML-схемы), а вслед за ним генерируется каркас Java-класса, который потом заполняется кодом с бизнес-логикой. В обоих сценариях вы из Eclipse запускаете Web-сервер, записываете туда созданный Web-сервис и тестируете его, следя за обменом SOAP-сообщениями между Web-сервисом и клиентом.

Если речь идет о создании серьезного JEE-приложения, то желательно, чтобы разработчик посмотрел, как оно будет выполняться не в среде Eclipse, а на реальном Web-сервере. Для этого в WTP реализована поддержка большого числа (в настоящее время 15) серверов приложений, как коммерческих, так и Open Source. Их можно подключать, конфигурировать и использовать для запуска приложений прямо из среды Eclipse.

В заключение еще раз подчеркнем, что WTP создавался как базовая платформа Web-разработки и по инструментальным возможностям, конечно, уступает коммерческим продуктам, таким как Exadel Studio Pro, BEA Workshop или MyEclipse, которые, впрочем, тоже построены на основе WTP. И все же благодаря расширениям, появившимся в рамках спонсорской поддержки, WTP вполне пригоден для практической работы.

Data Tools Platform

Это средство также является расширением среды Eclipse 3.2 и представляет собой набор инструментов для создания приложений, ориентированных на работы с базами данных (data-centric development). Возможности DTP включают использование JDBC-соединений, поддержку SQL-запросов (в том числе их визуальное моделирование), трассировку сценариев обработки данных. Разработчик может использовать объектную среду для редактирования отладки запросов и хранимых процедур и иметь дело с широким спектром самых разных источников данных, а не только с реляционными БД.

Инсталляция DTP на компьютер выполняется так же, как WTP, но в этом случае можно дополнительно указывать загружаемые программные компоненты продукта.

При создании приложения в среде DTP обычно первым делом нужно установить соединение с базой данных. Система имеет готовый набор драйверов для реляционных СУБД DB2, Derby, MySQL Oracle и Sybase (рис. 4); для подключения других БД нужно использовать общий JDBC-коннектор. Но источниками данных в DTP могут быть не только реляционные БД. Средство ODA (Open Data Access) Data Sources позволяет получить доступ к другим источникам (например, к файлам CSV или XML), а также к другим пользовательским наборам информации.

Рис. 4. Создание соединения с новой базой данных

С помощью средства Data Source Explorer разработчик может проанализировать структуру базы данных, представленную в виде дерева. Тут видны таблицы, колонки, хранимые процедуры, индексы, триггеры и пр. При этом нельзя ничего модифицировать — только просматривать, но можно запустить на выполнение хранимую процедуру. Чтобы посмотреть содержимое БД или определить время выполнения сложного SQL-запроса, нужно использовать другие инструменты DTP. Проверку синтаксиса и правильности исполнения запроса в режиме отладки можно выполнить в редакторе SQL-файлов, а сформированный запрос сохранить в наиболее подходящем для дальнейшей работы формате.

Разумеется, работать с базами данных приходится в других продуктах Callisto, в том же Web Tools Platform. Правда, в нынешней версии из WTP нельзя напрямую обратиться к Data Source Explorer — для создания соединения с БД тут нужно использовать ее встроенное средство Database Explorer. Но в отличие от DTP здесь можно не только просматривать, но и корректировать структуру базы данных, а также выполнять запросы к содержимому. WTP предлагает также альтернативный вариант запуска нерегламентированных (ad-hoc) SQL-запросов с помощью функции SQL Scrapbook (DTP имеет аналогичное средство SQL Page, но с более широкими возможностями).

В составе DTP уже сейчас много других полезных для разработчика инструментов, но самое главное заключается в том, что их набор будет расти. На самом деле проект DTP стартовал в рамках Eclipse относительно недавно, однако авторы вынашивают весьма амбициозные планы по его развитию. Другие продукты Callisto также имеют встроенные средства работы с базами данных, но DTP — это «образцовый» инструмент для создания БД-ориентированных приложений в среде Eclipse.

Добавить комментарий