Этот казус приходит на ум по созвучию и схожести современной ситуации с языком JavaFX, почти полным тезкой языка Java, но имеющим с ним мало общего. Именно JavaFX оказался в центре внимания конференции JavaOne и именно ему Ларри Эллисон, новый «хозяин» Java, уделил пристальное внимание. Почему?

Прежде всего, следует отметить, что под названием JavaFX скрывается не только язык, но и программная платформа для создания функционально «богатых» Internet-приложений (Rich Internet Application, RIA), способных работать в любых браузерах, в мобильных телефонах, телевизорах, плеерах Blu-ray и других устройствах. Невзирая на различие языков, платформа JavaFX интегрирована со средой Java Runtime Environment (JRE), а рабочая среда JavaFX, в свою очередь, интегрирована в пакет загрузки Java. Поэтому установка рабочей среды JavaFX является органической частью процесса установки Java 6 update10 (jre6u10). Ее присутствие несложно обнаружить на любом компьютере, работающем под управлением современных версий Windows или Mac OS. В Sun Microsystems для этого языка используют специальное назва-ние – JavaFX Script, хотя этот язык, строго говоря, не скриптовый, а компилируется в байт-коды Java подобно Adobe Flex. В ряде случаев схема с компиляцией дает ему преимущества по производительности перед аналогичными языками Groovy или Jruby.

JavaFX был разработан специалистом по пользовательским интерфейсам Кристофером Оливером, когда он работал в компании See Beyond, и на уровне проекта язык назывался F3 (Form Follows Function), что можно перевести как «форма, следующая за функцией»1. В 2005 году компания See Beyond была куплена Sun Microsystems, после чего состоялось первое переименование языка F3 в Java F3, а затем и второе – в JavaFX. Можно предположить, что воспользоваться брендом Java выгоднее, чем каким-либо иным, хотя общность между Java и JavaFX ограничивается компиляцией в байт-коды Java и выполнением на виртуальной машине Java VM. В связи с этим стоит отметить одну деталь: JavaFX не работает непосредственно под управлением операционной системы Android от Google, как иногда утверждают, на ней точно так же должна быть установлена виртуальная машина JavaVM. И еще одно отличие: язык JavaFX никогда не передавался на рассмотрение Java Community Process (JCP), являющемуся основным механизмом, посредством которого сообщество разработчиков разрабатывает технические спецификации на технологии Java.

Впервые от лица Sun объявление о выпуске JavaFX было сделано на конференции JavaOne в мае 2007 года, а с июля 2008-го открылась возможность загружать JavaFX SDK для Windows и Mac OS, а также плагин JavaFX для NetBeans 6.1. Развитием мультимедийных возможностей JavaFX занимаются специализирующиеся в этой области компании On2 Technologies и TrueMotion Video.

Зачем же JavaFX потребовался корпорации Oracle? Ответ лежит на поверхности, хотя странно, что до сих пор комментаторы не обратили внимание на одно обстоятельство. В 2009 году стартовала программа Oracle Rich Enterprise Applications, цель которой заключается в распространении возможностей RIA на корпоративные приложения, с тем чтобы обеспечить их современными диалоговыми и мультимедийными интерфейсами. Скорее всего, это далеко идущие планы Oracle, которые несомненно затронут дальнейшее развитие Open Office и в какой-то мере будут способствовать реставрации идей, связанных с сетевым компьютером (Network Computing, NC).

Если приложения класса RIA хорошо известны, то про REA знают меньше. Дату рождения термина Rich Enterprise Application установить несложно – его предложили сотрудники компании JackBe, производителя программного обеспечения для корпоративных «коллажей» (mashup). Свой доклад на конференции AJAXWorld Conference Expo 2006 они так и назвали – SOA + AJAX = REA. Эта компания первой предложила продукт для работы с такого рода приложениями, JackBe Presto REA Platform. Но дело не ограничивается одной лишь технологией AJAX (Asynchronous JavaScript and XML), разработанной известным Web-дизайнером Джесси Гарретом в 2000 году. Приложения класса REA можно рассматривать в более широком аспекте, как конвергенцию двух основных тенденций в проектировании приложений: сервис-ориентированных архитектур и функционально богатых Internet-приложений, где AJAX можно рассматривать как частный случай.

Интерес разработчиков корпоративного программного обеспечения к RIA объясняется тем, что всего за несколько лет своего существования приложения такого класса, ассоциируемые в основном с Web 2.0, изменили представление о пользовательском интерфейсе. На их фоне интерфейсы корпоративных приложений изменились очень мало – они остались почти такими же статичными, какими были десятилетия назад, как это ни странно, но наследие «зеленых терминалов» живо до сих пор. Сложившееся положение вошло в противоречие с гибкостью современных систем, и с тем, что называют agility, то есть с маневренностью, которую обеспечивают архитектуры SOA, и с опытом, получаемым пользователями современных Web-приложений, а также возможностью и необходимостью распространения этого опыта на работу с корпоративными приложениями. Формуле JackBe можно придать большую универсальность: SOA + RIA = REA. Комбинирование SOA и RIA позволит улучшить не только взаимодействие пользователей с приложениями, но и приложений между собой. Вместе с REA появится возможность комбинировать коллажи из разных источников данных, так, как это делается, например, с использованием Google Maps, но при этом сохранится безопасность и управляемость, характерные для корпоративных приложений. На REA возлагаются надежды, связанные с повышением экономической эффективности SOA за счет более продуктивной работы пользователей.

Теоретически возможны три основных подхода к созданию REA.

  • Использование возможностей браузеров (Browser-based), основывающихся на объектной модели документа (Document Object Model, DOM), позволяющей программам и скриптам получить доступ
    к содержимому документов, изменять содержимое, структуру и их оформление, опираясь на программные конструкции AJAX.
  • Применение проигрывателей-плагинов (Player-based), создаваемых с использованием среды Adobe Flash или Adobe Flex.
  • Использование клиента-десктопа (Desktop-based), что не требует браузера, а предоставляет полный доступ ко всем локальным ресурсам и возможность работы без связи с Web.

Из этих трех подходов при переходе от RIA к REA наиболее перспективен третий, на данный момент он может быть реализован с использованием трех технологий – Adobe AIR, Microsoft Silverlight или JavaFX, поддерживающей более широкий спектр операционных систем, видеоформатов и так называемых кодеков. Но вопрос о выборе далеко не однозначен, компания SAP и многие независимые разработчики поддерживают более отработанную технологию Flash, интересы Microsoft лежат на стороне Silverlight, а Oracle сделает ставку на JavaFX. Об этом свидетельствует обращение Элиссона
к разработчикам, в котором он призвал развивать работы, связанные с этим языком, и в частности к переводу библиотек OpenOffice с C++ на JavaFX.

Любопытно, сложилось впечатление, что в выступлении Ларри на конференции JavaOne 2009 просматривалась намеренная утечка. Возможно, есть какая-то связь между сказанным и начинающимся в этом году проектом Renaissance, целью которого является создание принципиально нового интерфейса для OpenOffice. Проект находится в исследовательской фазе, никаких деталей не сообщалось, за исключением весьма неопределенной текущей цели: «Мы хотим понять наших пользователей, хотим помочь им сформулировать свои представления, чтобы потом предоставить функциональность в наиболее удобной для них форме».

JavaFX может стать основным средством Oracle для создания REA. О значимости этого класса приложений говорил также и Ашиш Махендро, директор по маркетингу продуктов Oracle, на конференции AJAXWorld 2009. Ранее Махендро отвечал за продвижение Oracle SOA, Complex Event Processing (CEP), Business Process Management (BPM), Master Data Management (MDM), что дает представление о круге его интересов. Выступление Махендро на AJAXWorld 2009 многозначительно называлось «Разрушение барьеров на пути REA», а его суть сводится к следующему. Движение к REA объединит в себе технологии коллажей, портальные решения и технологии Web 2.0, оно сольет их с существующими «плоскими» корпоративными приложениями и создаст масштабируемые приложения в стиле Enterprise 2.0. Перенос технологий RIA в корпоративную среду позволит поднять не только индивидуальную производительность работников, но и качество их совместной групповой работы. В обозримом будущем REA станут нормой для корпоративных систем.


1 Выражение form follows function – один из постулатов архитектуры и промышленного дизайна XX века, таким образом подчеркивается, что форма объекта должна определяться содержанием. Автором выражения считается Луис Салливан, отец архитектурного современного модернизма и автор конструкций всех современных небоскребов, собираемых на стальных каркасах. – Прим. автора.


Арсенал интеграции

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

http://www.osp.ru/os/2006/09/3776469

Коллажи: просто и эффективно

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

http://www.osp.ru/os/2008/09/5714363