|
|
| Мой сайт |
 |
Java чемпион Адам Бьен на Java EE и Cloud Computing
Adam Bien
Java чемпион Адам Бьен является самозанятым консультант, преподаватель, архитектор ПО, разработчик и автор в секторе Enterprise Java в Германии, реализующий технологию Java на больших масштабах. Он также является автором нескольких книг и статей по Java и Java EE технологий, а также распределенные Java программирование. Его последняя книга "Реальный мир Java EE Patterns - - пересмотр Best Practices, исследует проблемы облако вычислений. Кроме того, он был назван Java Rock Star для своего популярного сессии на конференции JavaOne 2009. Мы встретились с ним для получения его последней мысли о Java EE и облако вычислений. java.sun.com (ОАО): Каково Ваше общее представление о том, как работает облако вычислений?
СОДИ: Я вижу две концепции не связаны называемых облачных вычислений. Первый из них связан с Grid Computing, где распараллеливания задач в распределенной вычислительной независимых узлов, а затем объединить в последовательную результат. Рамочная как Hadoop, карта-свертка алгоритмах, являются примером такого подхода. "Я вижу два несвязанных называемой концепции" облачных вычислений ".
Adam Bien Java Чемпионов
Другие парадигмы виртуальной, частные или государственные, информационно-вычислительных центра с доступными API. Вы можете моделировать окружающую среду в перетащить и каплевидные моде или, что еще более важно, контролировать его непосредственно через программируемый API. Можно, конечно, запуск сетей в государственных или частных облаков.
Эти парадигмы различаются в своих моделях использования. Grid вычислительные предназначена для использования несколькими пользователями власти, которые требуют значительного количества вычислительной мощности. С другой стороны, в облачных вычислений, что значительно больше пользователи получают доступ к машине с относительно низким использования ресурсов.
Хотя эти две модели являются концептуально противоположные, лежащие в основе технологии могут быть очень похожими. Первый часто называют платформа как сервис, а последний, инфраструктура как услуга. Преимущества и недостатки Java EE
АО: Каковы преимущества и недостатки Java EE на облаке?
СОДИ: Java EE была разработана для развертывания в распределенной среде. Управления кластером и широкого контроля и управления поддерживаются основные серверы приложений.
EJB 3 модели программирования призывает лиц без гражданства, идемпотентах и атомные или транзакций дизайн. Интересно отметить, что программирование ограничений очень похожи на Google App Engine. В обоих случаях управление потоками, доступ к файлам, изменения в основной JVM * - особенно загрузки классов, системные свойства, и руководителей служб безопасности, - не допускается.
Кроме того, как Java EE 5 и Java EE 6 приходят со стандартизированными упаковка - Enterprise Archive (EAR), что делает выделение облако Службы сравнительно легко. И ушей решает некоторые облака совместимости вопросов: Это гораздо легче двигаться App из одного облака на другое. Java EE 5 и 6 являются портативными, так что приложения можно легко перемещать с одного сервера приложений к другому, независимо от того, они бегут в облаках или нет. Они оба будут работать на JDK 5 или выше.
JVM сама приходит с фантастическим удаленной отладки, профилирования и мониторинга. Это уже значительно упрощает разработку распределенных приложений, а также должны упростить облако поддержкой приложений.
Java EE, однако, не была предназначена для эксплуатации в динамичной среде. Облака, как правило, быть эластичными, и большинство нынешних вычислительные центры не являются. Существует определенная работа будет проделана в отношении динамического открытия, самовосстановление и динамическая балансировка нагрузки. Это не трудно с текущего сервера приложений - Мы сделали это в проектах с GlassFish v2 и несколько лет назад с JBoss.
По иронии судьбы, Jini и JXTA всегда были способны вести себя подобным образом. Вы можете просто заимствовать понятия, как лизинг или динамического открытия этих структур и их применение к достаточно статической среде Java EE.
АО: Солнце Geertjan Wielenga задает в обсуждении DZone: "Что будет приложения / Программное обеспечение выглядеть на облаке? Они все веб-приложения? Web Services? Или что? Как бы вы ему ответили?
СОДИ: На самом деле, некоторые провайдеры облако не так уж отличается от на-предпосылка обеспечения. Приложение просто работает в другом месте.
Разница начинается с осуществлением сохранением услуг. Некоторые облака провайдеров, как Google или Amazon, не предлагают поддержку для реляционных баз данных. Таким образом, вы должны либо жить с картой-подобную структуру или попытаться установить реляционных баз данных в облаке. Это требует некоторого переосмысления о сохранении должна быть разработана и даже влияет на дизайн пользовательского интерфейса.
Наглядным примером использования в облаках нагрузки генераторов. Это очень трудно имитировать тысячи пользователей по посылке. Облака, что идеально подходит для: Вы можете использовать власть облако для тестирования нагрузки и платить только за отработанное циклов процессора. Без облако, недостаточно используемых многими машинами должна быть такой, чтобы охватить несколько пиков в году.
Пакетная обработка является другого прецедента - идеально подходит для сетей и облака. Нагрузка может быть распределена по рабочим узлы или изображения - это может масштаба очень хорошо.
Карта-свертка алгоритм работает аналогично: нагрузка посыпал в кластере или облако, и результаты агрегируются после.
Типичный веб-приложений, также отлично подходит для облаке - запрос-ответ стиле связи очень хорошо вписывается в облако модели. Если ваше приложение является успешным, нагрузки можно легко манипулировать, и если нет, то вы должны платить за простоя циклов. Twitter работает на Amazon S3 уже.
Google Apps, MobileMe, Salesforce, и многие другие совершенные Облако-вычислительных примеров. Они, однако, также прекрасно работать за пределами корпоративного брандмауэра. Облако вычислительной техники делает ее легче реализовать новые идеи без того, чтобы инвестировать в центре обработки данных до фронта. Я надеюсь, новые приложения появятся в ближайшем будущем, именно благодаря этому факту. Rich Internet Applications и Cloud Computing
ЗАО ": Какую роль будет многофункциональных интернет-приложений (RIA) играют в облачных вычислений в целом?
СОДИ: Мы должны договориться об определении РИА в облаке контексте в первую очередь. На мой взгляд, РИС как интерактивные приложения с богатым опытом пользователей. Чем богаче опыт, тем меньше вероятность того, что мы должны найти чистый веб-приложений - мы чаще видеть родных клиентов. "" Я бежал браузер тенденции ", уже видны в Twitter. Большинства Twitter пользователям доступ к потоку с носителями таких клиентов как TweetDeck, TwitterFx, TwitterFon, Tweetie, и так далее по API, а не веб-интерфейс."
Adam Bien Java Чемпионов
Родной клиентам работать либо в Browser Plug-In или должны быть установлены на компьютере клиента. Они могут работать определенное количество времени в автономном режиме и не требует мелкозернистой Communication Server. В крайних случаях, только результат обработки можно было бы хранить в облако. Прекрасным примером такого взаимодействия будет модель клиент электронной почты или даже IDE.
Такие приложения могут легко работать в помещениях или в облаке. Более, что обработка может быть сделано на сервере, тем более интересным становится облачных вычислений. Обработка видео-или-авторинга приложение может отправить грубого содержания облака для обработки и получения результатов позже. Обработка может быть параллельной и выполняются быстрее. Облако начнется новый случаях по требованию и убить простоя них после пикового спроса получает обработаны.
JavaFX поставляется со встроенным тянуть JSON и XML парсер. Это действительно легкий доступ к HTTP-основе (REST, XML, JSON) услуг из облаков с встроенным Java FX возможностями. Если этого не достаточно, вы можете легко получить доступ к уже существующей базы Java и библиотек.
"Я бежал браузера" тенденция уже видна в Twitter. Большинство Twitter пользователям доступ с потоком клиентов, таких как родного TweetDeck, TwitterFx, TwitterFon, Tweetie, и так далее по API, а не веб-интерфейс.
АО: Некоторые утверждают, что Java Management Extensions (JMX) не отвечает высоким требованиям в области управления и контроля в облачных вычислений.
СОДИ: JMX в основном не что иное, JavaBeans подвергаться агент и т.д. удаленного доступа. JavaBean свойства становятся видимыми для мониторинга, и вы можете ссылаться на методы управления в удаленном режиме. Кроме того, JDK и Java EE приходят с некоторым предопределенным, видимый бобов JMX. "Облака просто идеально подходит для стартапов. Это безумие, чтобы тратить огромные суммы денег на инфраструктуру, а потом узнать, что ваша идея не будет снимать".
Adam Bien Java Чемпионов
В любом случае, данные слишком мелкозернистый за облаком. В виртуальном центре обработки данных, вы не заинтересованы в мелкозернистой JVM или приложение-сервер статистики, а в агрегированном зрения. Статистические данные должны быть организованы в иерархическую древовидную структуру. Как только вы это сделаете, Вы сможете получить представление первого и перейдите на детали для устранения неполадок или тонкой настройки при необходимости.
Так с JMX, вы можете построить идеальный облако системы мониторинга. Out-Of-The-поле возможностей, однако, не являются достаточно удобным.
АО: Исследователи из Калифорнийского университета, Беркли, государство: "Если некоторые препятствия будут преодолены, мы считаем, Cloud Computing имеет потенциал для превращения значительной части ИТ-индустрии, что делает программу более привлекательной в качестве службы и пути формирования ИТ-оборудования разработан и купил. разработчиков инновационных идей для новых интерактивных услуг Интернета не требует больших капитальных затрат на аппаратное развернуть свои услуги или за счет человека действовать она. " Ваш ответ?
СОДИ: Я абсолютно согласен. Облака просто идеально подходит для стартапов. Это безумие, чтобы тратить огромные суммы денег на инфраструктуру, а потом узнать, что ваша идея не будет снимать.
В долгосрочной перспективе, гибридные центры обработки данных, скорее всего. Постоянная нагрузка могут быть рассмотрены на помещение, и на вершины обработаны в облако. Такой подход является более сложным, но, возможно, должны окупаться.
Это "облако лопнул" подход требует динамического перенаправления просьбы от центра обработки данных в облако в "горячих" способом. Вам нужно будет держать ваши данные соответствуют и синхронизироваться через центр данных и облака. Cloud Computing встретился Open Source
АО: Какие последствия будет иметь облачных вычислений по открытым исходным кодом?
СОДИ: Во-первых, тяжелая работа предстоит сделать. Мы почти на месте. Эвкалипта является XEN основе открытого исходного раствора, которые могут быть развернуты на оборудовании. Это, в основном EC2 эмулятор.
С кукольный, вы можете управлять тысячами узлов в непрерывной интеграции образом. Hyperic и OpenNMS помочь вам открыть для себя, мониторинга и управления сетевой инфраструктурой. ВС Открытого Cloud основе REST API это действительно интересно, а также: Вы сможете управлять через облако с открытым исходным стандартизированного API.
На вершине этих инфраструктурных услуг, мы можем ожидать много нового и интересного открытым исходным кодом. Почему? Частично потому что это будет весело разрабатывать приложения с облаком новые инструменты, подходы, лучшие практики, и, конечно, проблемы с открытым исходным кодом инфраструктуру.
Было бы действительно интересно построить App JavaFX, которая управляет через облака солнце облака RESTful API - своего рода metacloud применения.
АО: IT издатель Тим О'Рейли сказал, что будущее принадлежит к услугам, которые отвечают в режиме реального времени к информации обеспечивается либо их пользователям или нечеловеческой датчиков. Согласны ли вы с этим? Каким Java EE могут соответствовать или не подходит это видение будущего?
СОДИ: Это всегда хорошая стратегия согласен с Tim O'Reilly.
Мы начинаем видеть эту тенденцию. Взаимодействие с устройством вручную требует много сантехники. Возможность собрать данные автоматически является гораздо более убедительной. IPhone приходит с GPS датчиком, который непосредственно используется в различных приложениях, как расписание движения поездов, фото приложений или Twitter на основе определения местоположения служб. Есть даже гаджетов, которые можно непосредственно контролируется мозговыми волнами.
Данные собраны на устройство и отправили обратно на сервер Java EE. Такие данные датчика можно рассматривать только как данные. С другой стороны, Java EE является расширяемой с JCA (J2EE Connector Architecture). Это недооценивается и легкий путь для взаимодействия с сервером приложений в стандартной и портативным способом.
Я использовал JCA в прошлые проекты именно для этой цели - сбор данных датчиков, Socket каналы данных, или просто файлов. JCA является частью Java EE, поэтому Java EE могут рассматриваться как вполне подходящий для этой цели.
Я использовал Java EE для аналогичных целей в моей GreenFire проект для управления, контроля и представления информации в системе отопления - Я собрал данные датчика от нагрева, дом, и солнечные батареи - в режиме реального времени. Первый прототип был построен в выходные, так что это не так сложно.
АО: Любая закрытия мысли?
СОДИ: Java EE стала чрезвычайно легко. Всего GlassFish v3 EJB 3.1 контейнера меньше одного мегабайта, может быть динамически установлены и удалены, и удивительно "упругой". Вы можете разрабатывать и развертывать приложения с только несколько аннотаций.
Кроме того, Java EE поддерживается несколькими серверами приложений, поэтому ваша заявка не зависеть от одного поставщика. Поскольку Java EE 5, приложения стали портативные также: Существует нет конкретного производителя кода или даже XML конфигурации не требуется.
Перемещение приложений с одного сервера на другой не пустой лозунг. Java EE, следовательно, более совместимы, чем само облако и может быть использован как Lean слой абстрагирования между голом облако и бизнес-логики.
_______ * Как использовать на этом веб-сайте, термин "виртуальная машина Java" и "JVM" означают виртуальную машину на платформе Java.
|
| Категория: статьи | Добавил: Aleksei (15.10.2009)
|
| Просмотров: 383
| Рейтинг: 0.0/0 |
|
|