Олег Чирухин (__hedin) wrote,
Олег Чирухин
__hedin

Пересказ утра второго дня Java One. (Java One (4))

1) В этом пересказе получилось просто дофига текста, поэтому пришлось убрать его под кат.
2) Я не претендую на его точность, написано как запомнилось.
3) Всячески советую посмотреть саму конференцию, сразу, как достанете ее запись.

Внутри пойдет речь о Java SE, FX, ME, EE, Project Avatar (HTML5), шпионских мечтах Джуниперовцев и спутниках США, бороздящих космос.

Официально это называется "Java Strategy Keynote and Juniper Networks Keynote"



(приложение на JavaFX + Java + Windows для управления спутниками)



Конференция началась с выступления директора Джунипера.

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

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

Тема в том, что раньше приложения писались "втупую", ничего не зная о сети, и просто проверяя, сдюжит ли она выполнить какой-то запрос, выдержит ли по требованиям. Все проверки по сути делаются средствами софта.

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

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

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


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

Сейчас есть куча девайсов, на которых можно непосредственно программировать сеть. Телефоны, ноуты, итп. В контексте разговора Джуниперовец зовет их "тачпоинтами". С другой стороны баррикады, сеть тоже должа иметь какие-то апи для доступа к собственной информации, такой как топология сети, физическое расположение клиента, итп. Всякие гипервизоры должны работать не просто по предопределенным стратегиям, а быть завязаны с облаками петлей обратной связи, программироваться из облака.

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

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

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

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

Пример интероперабельности - мы можем заливать потоковые данные на девайс, причем не все, а те, которые нужны девайсу. Это позволяет не перегрузить его ненужной информацией. Например, сервера могут получить информацию о физическом расположении клиента, а клиент (и другие сервера) - о том, какая БД физически ближе к клиенту, к какой из них будет быстрее соединение, итп. Кроме того, мы можем строить правильный путь для сетевых соединений, корректировать и анализировать его, чтобы не получилось так, что коннект до соседнего компьютера должен пройти через полмира.

И все это Джунипер делает без разрушения существующих сетевых стандартов. На протяжении 9 лет они изобретали новые пакеты и протоколы и выработали правильное чутье на использование правильных технологий.

Одна из прикольных вещей, которую они придумали - куча разных внутренних API для программирования разных аспектов сетевой коммуникации. Но от пользователя (программиста сетевого приложения) они за ненадобностью будут скрыты за вебным API. Через него будут доступны уже высокоуровневые вещи типа задержек, профилей qos, топологии и прочего. Причем сама сеть имеет какие-то собственные средства настройки, автономные, не зависящие от приложений клиентов, типа модификации топологии в зависимости от загрузки.

Чувачок на карте отметил Кремниевую Долину и поделился, что де успех компаний коррелирует (именно это слово :) с правильно выбранной платформой. А Джунипер будет предоставлять самую удобную платформу для подобных вещей.

Например, в платформе хорошо будет проработан вопрос brandwidth calendaring ("которым занимался каждый сетевик"), который может использоваться, к примеру, для запланированных бэкапов и роутиться водопадом.

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

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

===

Потом вышел директор Оракла по направлению Java SE. Долго рассказывал, как теперь у них все круто с приобретением Жавы Ораклом, показывал картинку, сообщающую, что Жава теперь на каждой микроволновке ))) А на десктопах изобразили JavaFX, мечататели.

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

Оснвные достижения: Java SE 7 уже вышла, EE 7 выходит в этом году. Объявлено о запуске превью SE 7 для маков. JCP снова работает как положено, работа в Java User Groups тоже налажена. Кроме того, есть всякие майлстоуны типа расширения команды (они нанимают новых программеров!), создания глобальной конференции Java One и начала выпуска Java Magazine.

===

Потом на сцену вышли несколько забавных пиджаков.

Качество записи было посредственное, поэтому первый выступающий выглядел как Лысый Человек без Лица, вылитый Фантомас. В приближении показались глаза и рот, а выражение лица напоминало солиста группы R.E.M. в старые времена (все лысые выглядят одинаково? ))

Лысый Человек Без Лица оказался директором IBM. Коротко подытожил кучу различных успехов IBM включая Эклипсу, пожелал видеть в 8ке улучшенную модульность и работу с облаками.

Тут ведущий подначил: "а не боитесь ли вы конкурентов, сейчас же на сцене рядом с вами одни конкуренты!". Человек Без Лица благородно сказал, что ничего не боится, и вообще, сейчас не время ссориться, время вместе писать JDK, и достигать совместимости между реализациями жавы не только в плане фич, но и вплане багов, чтобы баги были один-в-один )))

Потом вышел ушлый типчик из редхата с красной шляпой на груди. Сказал, что своими успехами они очень сильно благодарны сообществу, хотят расширять интеграцию с ним, и, внимание - "результаты говорят сами за себя, редхат - лучшая платформа для жавы!". Жалко лиц конкурентов видно не было. Поделился, что все использующие редхат и жаву очень, очень, очень от этого рады. В качестве направлений развития вспомнил про CDI, облака, и некий jsr 347 (что это такое лень смотреть :)

Потом вышел относительно низкий (по сравнению с гигантом Без Лица) китайчик из Интеля, рассказал что собирается всё кардинально ускорить еще в Nцать раз в самое ближайшее время. Также упомянул, что "Java Is Big", вычислительных платформ, которые держат на себе жаву - много, и они собираются делать их все =)

===

Потом начался рассказ о Java SE для десктопов и серверов.

Напомнили, что несмотря ни на что их главным девизом остается "Write Once Run Anywhere". Тут испытание в том, что сейчас появляется множество новых типов железа и приложений, и с этим надо что-то делать. В развитии помогает куча новых технологий типа модульности, лямбд, Project Coin, Invoke Dynamics, etc. Предполагается понемногу расширять сферу применения этих новых технологий, и сферу применения Жавы вообще.

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

Систему релизов поменяли на двухгодичные выпуски. Насчет 7ки было два плана - А и Бэ. В А - выпускаем намного позже, но всё, Бэ - только часть, но сейчас. выбрали план Бэ. Двухлетний промежуток связан не только со скоростью разработки Жавы, но со сложностью перехода на новые вресии, а также сертификации приложений и разработчиков.

В будущих версиях будут такие ништяки, как прозрачная работа с Java Script (объект в яве - объект в JS и наоборот), и поддержкой туевой кучи устройств. Похвастались 2 миллионами скачиваний нового Небинса.

И главное тем. что всё это делают не они сами, а на основе работы сообщества.

===

Потом вышел некий Роб Бенсон из Runtime Systems on Twitter.

Рассказал что они всё нафиг переписали на жаве. Жава нравится им тем. что она очень зрелая и обладает большой производительностью. Вся эта производительность нужна, потому что они большие-большие. глобальные, через них идет огромный трафик, 2 миллиона твитов в день, 6 терабайт ip-трафика.

Также ему очень нравится возможность писать на нескольих языках (названы скала. clojure и java). Поэтому они всячески будут инвестировать и помогать в работу опенсорца над этим делом. Кроме того, они примсоединилсь к Community Process, что поможет им буквально во всём :)

Основные желания кроме языков - производительность, скорость, производительность и скорость Garbage Collector.

===

Потом раговор зашел о других приоритетах. Вспомнили JNI, который "нарочно сделан таким сложным, чтобы никто его часто не использовал". Но у них в команде много сишников, в мире тоже их много, и самое ужасное - что Си действительно часто нужен для каких-то внешнесистемных дел. Посему они будут увеличивать количество встроенных в жаву полезных утилит, добавлять ускорители перфоманса и удобства типа multi-tenancy и измерения контроля затрачиваемых ресурсов, встроенных напрямую в VM.

Еще важная штука - JavaFx, коорый придет на замену AWT/SWING/SWT, и на который будет удобно портировать с них уже существующие приложения.

===

Потом на сцену вышла красивая девочка, рассказавшая о JavaFX.

Показала игрушку (какую-то казуальную), написанную на JavaFX. Для демонстрации были выбраны планшеты на Windows, Android и iOS. На вендопланшете всё жутко тормозило, на остальных - ок, а на маке АЖ появился звук ))) Да и работало на маке вроде быстрее... В качестве андроидапланшета был новый galaxy tab.

Подчеркнули, что исходники игрушек - одинаковые, но собраны для разных конфигураций.

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

===

Потом вышла баба, которая представляет HARRIS Corporation, которая занимается спутниками.

Показывала скрины приложений на жаве и жавафиксе, кошмарный скриншот сверху - именно их поделие =) Также примечательно, что все это добро работает у них под виндовс, и виндовс+жава+жавафикс они считают мега-комбой :)

===

Потом рассказывали о мобильной жаве.
Достаточнго долго, но мысль такова: Java ME и CDC нужно объединить, всяческие тулзы для них сделать тоже общими.
Успех жавы они видят в вертикальном стеке технологий, и планируют развивать это. В качестве примера приводился блюрей-привод, на котором установлена жава, но я не совсем понял, к чему тут это было.

Статистика, где есть жава:

50кб-1мб : смардкарды симкарты, и почти все - жавакарты, т.е. на них есть java vm

1мб-10мб : pens, feature-phones, etc

>10мб : принтеры, копиры и прочая техника, на которой стоит уже полноценная JavaSE

===

Потом вышел Ларс Говард, вице-президент по направлению ARM.

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

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

Java предоставляет среду для инноваций на новом мобильном рынке, и они планируют инвестировать в это направление. Особенно им интересна тема JIT'ов на ARMе.

===

Потом вышел чувак, походу русский, по имени Илья Ларс. Он их исполнительный диретор. Понятно, почему Оракл - корпорация зла, там наши! )))

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

===

Потом выышел чувак, представляющий ужас кошмар пипец JavaEE

С ходу заявил, что жава - единственное средство для разработки ынтерпрайза, основанное на стандартах. Что в любом приличном месте, в котором делают ынтерпрайз, знание жавы - одно из первых условий (судя по сайтам вакансий).

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

Оказывается, java ee 6 скачало 6 миллиардов людей, и они очень довольны этим. Довольны, что оракловская реализация - пока что самая быстрая из всех. Вспомнил, какие у них крутые партнеры: caucho, fujitsu, tmax, redhat, ibm, и что все они помогают улучшать жаву.

Так же он надеется что жава для них, и для всех остальных, станет основной для Platform As A Service. Типа, сейчас господствует vendor lock in, разработанные приложения должны отвечать требованиям серверов. Они переворачивают ситуацию с ног на голову: теперь сервера должны будут отвечать требованиям приложений, by design. Приложение заявляет свои требования, а платформа будет ответственна за то, чтобы заинжектить всё что нужно. Причем среди требований можно будет указывать расширябельность и метод расширябельности (так что эту технологию даже можно будет использовать в облаках).

Потом поговорили о multi-tenancy. Сейчас оно доступно в Eclipse Link, а впоследствии будет доступно в самой JDK (8?). Для этого есть специальная аннотация @MultiTenant, которую можно фигачить на бизнес-объекты. Оно появится в следующей версии JPA, а пока доступно в EclipseLink.

Еще проапгрейдили JMS (что может привести к улучшениям в сфере SOA (service oriented architecture))

Terracota стала стандартом и вошла в JDK7. Так что теперь у нас есть встроенные в JDK кэши.

Также они работают над интеграцией JSON, технологиями в области REST и веб-сервыисов.

И всё это - благодаря сообществу.

===

Потом вышел типчик по имени Шон из EA Sports. Почти ничего не сказал, кроме того что АЖНО EA SPORTS юзает жаву, и он очень рад ее способностями к работе в облаках и кэшированию, которые жизненно необходимы их супер-пупер-проекту.

===

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

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

В общем, они на этапе перехода от web 1.0 к web 2.0. Причем не только для браузеров с поддержкой HTML5, но и для десктопных приложений с поддержкой сети. В обоих случаях общение будет осуществляться с помощью JSON over HTTP.

===

Потом показали Жаву на Яблофоне. Как это возможно, если для флеша невозможно? Они линкуют жаву прямо внутрь каждого приложения, статически, как статическую либу.

"Слегка тормозит, потому что работает JIT" :))) HTML рендерится нативным для iOS контролом.

===

Финальное резюме достижений:

Java SE, FX, ME, EE, Avatar (HTML5)

еще что-то упомянули про JavaEE in SWING, или мне это послышалось? Жуть. В общем, неважно :))

===

Вот и сказочке конец, а кто слушал - возьми пирожок ;)

Tags: tech
Subscribe
  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 3 comments