Звіт з JEEConf 2011

jeeconf, javaУ суботу відвідав дуже цікаву конференцію — JEEConf. Як видно з назви, головною темою були джава та суміжні технології.

Організація була на високому рівні, все відбувалось вчасно та було гарно сплановане. Кави та тістечок вистачало всім :)

Перерви між доповідями були достатні щоб змінити місце. Кожен мав карту та розклад. На обід було достатньо часу та закладів.

Єдиний косметичний мінус це брак урн для сміття, так як декілька сотень джавістів за день трохи генерують мусор.

Призи, які розігрувались, були хорошим стимулом залишитись до кінця :)

Конференція складалась з 2-х великих частин: доповіді та жива розробка. Так як в джаві вже не перший рік, я відвідував тільки доповіді.

Доповіді йшли в три потоки: Архітектура та Підходи, Обробка та збереження даних, Інструменти та Мови

Теми були розкидані дуже збалансовано, тому кожен міг вибрати щось цікаве протягом цілого дня.

Головні тези по доповідях які я відвідав.

Взгляд в будущее: CQRS на Google App Engine платформе с GWT:

* Архітектурний підхід CQRS дуже гарно лягає на бізнес процеси реального світу

* Поділ операцій на додавання та читання (без оновлення та видалення) створює дуже цікавий набір можливостей для оптимізації. Але це актуально тільки для бізнес застосувань, інші можливо не підійдуть так добре.

* Існують наробки в початковій стадії на Джаві для CQRS

* GAP має інструменти які спрощують CQRS

* Domain Driven Design гарно доповнюється CQRS

Использование Scala и GridGain для разработки распределенных систем с высокой производительностью:

* GridGain має потужні засоби для розподіленої обробки даних

* GridGain є простішим та доступнішим чим Hadoop

* Scala може нормально доповнювати Java, особливо в проектах по обробці даних

* На Scala можна легко писати DSL які пишуться прямо в Scala коді. GridGain так і зробили з технологією Scalar

* GridGain має досить розвинуті підходи для різно-рольової організації комунікації та виконання між нодами

Обработка больших массивов данных с использованием Java платформы:

* SGE та HazelCast можна використовувати, але виключно для їхніх первинних задач. Крок у ліво, право — розстріл :)

* GridGain має не дуже добру підтримку старих версій

* ZooKeeper є досить добрим рішенням з додатковим допилюванням

* Альтернативні до IoC підходи для обробки даних є кращими в деяких ситуаціях

* На клаудах нема мультикасту!

Cassandra как распределенная NoSQL база данных:

* Касандра суттєво покращила що вона робила добре — швидкий запис та швидке читання

* Додано SQL подібний синтаксис для запитів

* Стратегії реплікацій беруть до уваги датацентри

* Є нові інструменти по моніторингу

How Graph Databases can make you a super star:

* Neo4j впевнено стабілізується та поповнюється новими клієнтами

* Графи ідеально підходять для соціальних застосувань

* Neo4j має подібне до MySQL ліцензування

* Для деяких груп алгоритмів, приріст продуктивності в порівнянні з MySQL є у сотні разів

Особенности разработки масштабируемых приложений на Java и AWS:

* Якщо в команді ламаки — замовник буде платити багато грошей :)

* AWS можна використовувати у комерційних проектах. Фінансова вигода є.

* RDS є гіршим чим MySQL на EC2

* JMS є кращим чим SNS/SQS

* Amazon буде працювати над зональністю

В загальному конференція сподобалась. Планую відвідати наступну :)

Коментарі 2

zlosny - 24 травня 2011, 15:22

відверто кажучи, є над чим задуматись. треба обов'язково проапдейтити власний knowledgebase по новим віянням в джаві)

manuna - 24 травня 2011, 18:24

Додам кілька слів по темах, які у мене з Зеником не співпали (їх небагато).

Перформанс.

* Головне у вимірюванні перформансу — вірний вибір метрики. Вона має бути, як мінімум, повторюваною, і означати якийсь аспект роботи програми. Цебто, якісь ліві речі не варто ставити метрикою.

* Перш ніж запускати профайлер, слід не забути оглянути завантаженість проца, пам'яті та вводу-виводу. Роги ноги можуть рости звідти.

* Юзайте останні версії JRE. Їх продуктивність, як мінімум, не гірша, ніж у попередніх (бо в такому разі розробників би, з їх слів, лінчували :) )

* Є багато urban legends про перформанс. Наприклад, вплив на нього використання final, reflection,…. Якесь підгрунтя у них є, але багато людей чули про це по обіді лівим вухом, і не утруднюють себе глибшим дослідженням теми.

* Concurrency репрезентує різноманітні гейзенбаги, для відлову яких TDD не надто підходить. Що робити? «Читайте книжки по concurrency, куріть Java Memory Model».

* При запуску програми, завантаження класів займає десь 90% часу, компіляція — решту 10% (приблизно).

* Java 7 — буде швидше :)

Groovy (порівняно з Джавою)

* Код значно реюзабельніший завдяки динамічній типізації

* Коду десь у n разів менше. (n порядка 6, суб'єктивно)

* Дуже класно позбавились null checks. Коду менше :)

* Java код компілюється у груві, достатньо просто перейменувати. Низький поріг входження.

* Працює разів у 10 повільніше, але якщо вузьким місцем є, скажімо, ввід-вивід чи БД, то це не критично. Є ще Groovy++, з типізацією у анотаціях — там швидкодія порівняна з Джавою.

Ehcache, Terracotta

* десь на половині доповіді кава перестала діяти, і втома далася взнаки, тому нічого цікавого не законспектував :( А принципи роботи кеша і так всі знають…

ЗІ Доповідач зі Швеції (Neo4j) — пекельний чортяка, його доповідь найбільше сподобалась.

Коментувати
© 2009 - 2017, Розробка - соціальна ІТ спільнота.
Контакти: info@rozrobka.com
Правила користування