Преждевременная оптимизация является первопричиной всех бед в программировании. Дональд Кнут

JEEConf – Конференция Java практиков в Украине

jeeconf-80В конце весны, 21 мая XP Injection приглашает вас в Киев на специализированную конференцию, посвященную разработке на Java. Задача конференции JEEConf (http://jeeconf.com/) заключается в том, чтобы собрать как можно больше практиков и осветить процесс разработки приложений с помощью современных Java технологий. Количество «сухих» теоретических докладов будет сведено к минимуму, а основной акцент будет сделан на практическое применение и разработку реальных проектов. Мы планируем собрать на конференции большое количество докладчиков из разных стран. К участию в конференции приглашаются разработчики, архитекторы, тестировщики, а также руководители и лидеры команд. Если ваша работа связана с Java, то вам стоит принять участие в нашей конференции. Присоединяйтесь, будет интересно!

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

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

Также мы приглашаем к сотрудничеству информационных и технических партнеров.

Новый релиз Apache Wicket 1.4

Находясь в больничном отпуске, довольно закономерным является факт прочтения различного рода литературы, в том числе и знакомство с новыми технологиями, фреймверками и т.п., в связи с чем InfoQ стал стартовой страницей моего любимого браузера. Вода-водой, а переходить нужно к сути:  признаюсь, с викетом никогда раньше работать не приходилось, но услышав от девелоперов больше позитивных поинтов чем негативных, всё-таки решил с ним познакомиться. Погуглив страниц десять, я не только нашёл домашнюю страницу фреймверка :) )) , но и узнал о том, что совсем недавно был анонсирован новый релиз такой замечательной плюшки, как Apache Wicket. С чем с вами дорогие читатели и решил поделиться. Более детальную информацию о релизе читаем здесь.

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

Ключевые определения в JSF

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

UI компонент (UI component) – стейтфул объект, хранящийся на сервере, который предоставляет функциональность для взаимодействия с конечным пользователем.  UI компонентами являются объекты JavaBeans со свойствами, методами и событиями.  Они организованны в виде (элемент модели MVC), который  состоит из дерева компонентов, обычно отображаемого на странице.

Рендер (Renderer) – ответственный за отображение UI компонента и преобразование вводимых пользователем данных в значения, понятные для компонента. Рендер может работать с одним или более UI компонентом, а UI компонент может иметь ассоциацию со множеством рендеров.

Валидатор (Validator) – несёт ответственность за проверку вводимых пользователем данных на предмет соответсвия их с допустимыми значениями. С одним UI компонентом может быть ассоциирован один или более валидаторов.

Бэкинг бины (Backing beans) – специальные JavaBeans’ы, которые собирают значения из UI компонентов и реализуют методы, ответственные за обработку событий.

Конвертер (Converter) – конвертирует значение компонента из  и в строку для дальнейшего отображения.

События и слушатели (Events and listeners) – JSF использует модель событие/слушатель (так же используемую в Swing). UI компоненты (и другие объекты) генерируют события, а зарегистрированные слушатели обрабатывают эти события.

Сообщения (Messages) - информация, которая возвращается пользователю при вводе в действие бекинг бина, валидатора, конвертера и др.

Навигация (Navigation) – предоставляет возможность навигации с одной страницы на другую. JSF имеет мощную навигационную систему, интегрированную со специализированными слушателями событий.

Совокупность всех вышеперечисленных определений является краеугольным камнем JSF.

Java EE 6 SDK доступна для скачивания

Без шума и пыли Sun анонсировала предварительную версию Java EE 6 SDK.  Ряд новшеств было реализовано в таких технологиях, как: Web Services Technologies, Web Application Technologies, Enterprise Application Technologies, Management and Security Technologies. Более детальная информация о релизе расположена здесь. Ссылка для скачивания: http://java.sun.com

Java EE и Flex, Часть 1: Совместимая комбинация

Оригинал статьи: Java EE and Flex, Part 1: A compelling combination.

Перевод: Евгений Неруш

Уровень читателя: Начинающий.

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

Введение

Flex 3 предоставляет вам другой уникальный способ построения UI для ваших JavaEE приложений.  Вы узнаете, какие возможности предоставляет Flex при работе с таблицами, как описывать лэйаут приложения на языке разметки XML, и как заставить Flex и JavaEE работать вместе. Перед инсталляцией Flex и запуском приложения, давайте рассмотрим преимущества  данной технологии:

  • Код, написанный на Flex, может быть запущен в любом браузере. Всё что для этого нужно – это предварительно установленный плагин для Flash плеера (на данный момент у 95% браузеров Flash плеер уже установлен, что в свою очередь не может не радовать как разработчиков, так и пользователей)
  • Языки сценариев ActionScript и JavaScript основаны на стандарте ECMA-262 – международном стандарте для языка сценариев ECMAScript. По этой причине разработчики, знающие JavaScript, сразу найдут ActionScript хорошо известным языком. Flex так же предоставляет на вооружение разработчикам язык разметки MXML, позволяющий эфективно описывать лэйаут приложения
  • Flex имеет простой механизм связывания свойств одного объекта со свойствами другого объекта приложения
  • Flex имеет встроенную поддержку коммуникации с бек-энд системами как по HTTP протоколу так и по SOAP ориентированным веб сервисам
  • А также Flex предоставляет богатый набор компонентов, использование которых дает разработчикам возможность строить интерактивные пользовательские интерфейсы (включая работу с анимацией, видео и звуком)

Одним из главных преимуществ является поразительное сходство синтаксиса между ActionScript 3.0 и Java. Языки используют похожие условные выражения, похожий синтаксис написания циклов, а так же код конвеншин и правила документирования кода. Структура пакетов в ActionScript родственна к структуре директорий, как и в Java. ActionScript 3 предоставляет объектно-ориентированный подход к программированию, что позволяет работать с наследованием и интерфейсами. Возможности Flex в коммуникации с Java EE приложением используя SOAP или HTTP очень развиты, но вы не лимитированны в использовании только таких подходов к коммуникации. Blaze DS – продукт компании Adobe с открытым исходным кодом, который предоставляет дополнительный гибкий подход к коммуникации с JMS. В качестве альтернативы для реализации коммуникации вы можете использовать GraniteDS, который как и Blaze DS использует бинарный AMF3 формат для общения. GraniteDS легко интегрируется с такими фреймворками, как Spring, Guice, Seam. (more…)