Разработчики используют AJAX и вычисления “в облаке”, чтобы отразить офшорную атаку
Чем дальше, тем сложнее — такое правило справедливо практически для любой технологии, и создатели приложений это прекрасно знают. Понимают они и то, что за сложность приходится платить, так как разработка становится дороже. К сожалению, высокие расходы заставляют предприятия искать дешевые способы создания заказных приложений или вообще от них отказываться. Многие находят выход в аутсорсинге и переводят свои проекты в страны с недорогой рабочей силой, например в Индию или Россию. На сегодняшний день, согласно данным Evans Data, до 38% американских компаний предпочитают заказывать приложения за рубежом. Этот показатель непрерывно растет с 2006 г., когда он составлял примерно 20%.
Для американских разработчиков складывается неблагоприятная ситуация. Однако гораздо более серьезную проблему создает быстрое устаревание средств и способов разработки. Как было бы здорово, если бы мы могли строить и развертывать приложения с меньшими затратами и более высоким качеством! И это вполне реально, хотя здесь явно недостаточно заклинания “разработчики, разработчики, разработчики”, которое без устали повторял на одной из конференций исполнительный директор Microsoft Стив Балмер. Нужен новый инструментарий, новые технологии, новые методики, нацеленные на Web 2.0 и вычисления “в облаке”. Победить офшорных конкурентов программистам помогут такие технологии, как AJAX, позволяющая создавать интерактивные, мультимедийные Web-приложения, и RAD (Rapid Application Development), намного ускоряющая процесс разработки. В сочетании с новаторским способом доступа к приложениям как к услуге (Software-as-a-Service, SaaS) новый инструментарий уже начинает перекраивать и среду разработки, и сам подход потребителей к покупке приложений.
На сцену выходит SaaS
Поставщики услуг доступа к приложениям (Application Service Provider, ASP) давно уже считали SaaS многообещающим направлением, позволяющим передавать программное обеспечение в аренду и избавлять пользователей от излишней сложности традиционных клиент-серверных приложений. Работоспособность модели SaaS уже проверена на практике ASP-поставщиками, однако следует учитывать, что переход на нее требует серьезных затрат на оборудование, а также значительных ресурсов и внедрения линий связи с высокой пропускной способностью, а это выходит далеко за рамки ответственности обычного разработчика приложений.
Более того, компании, которым нужны заказные приложения, раньше не очень-то хотели в дополнение к расходам на их создание тратиться еще и на повременный доступ к ПО. Но распространение нового инструментария и концепции вычислений “в облаке” намного расширило возможности работы с Web-приложениями, и ситуация начала меняться.
Очевидные выгоды комбинации вычислений “в облаке” с SaaS отмечает Крис Петерсон, исполнительный директор реселлерской компании Christian James: “SaaS и RAD позволяют нам избавить клиентов от недостатков их собственных ИТ-систем. Большинство компаний неважно справляются с управлением своими данными и их защитой. Довольно часто приходится сталкиваться и с тем, что после выхода компьютера из строя его пользователь лишается данных, накопленных за многие месяцы. В то же время RAD дает нам возможность создавать мощные приложения в интересах клиентов, а SaaS — управлять информационной безопасностью”.
Главной продукцией Christian James является PayGoSaaS.com — хостинговое приложение для кассовых аппаратов, которое предлагается в виде решения типа “локальный хост”. Такой подход предполагает, что клиент устанавливает его у себя и обеспечивает к нему доступ по методу вычислений “в облаке”, но только внутри своего предприятия.
Новые инструменты, новые методы
С концепцией “облачных” вычислений многие компании познакомились благодаря технологиям Web 2.0, но тут же возникла неопределенность относительно будущих направлений разработки приложений. Проблема — в терминологии. Зачастую считается, что термин Web 2.0 (и даже Web 3.0) обозначает технологию, тогда как он просто описывает Интернет в виде платформы.
Главная мощь Web 2.0 заключается в инструментарии и методиках, обеспечивающих полномасштабную работу с программами непосредственно через браузер. При этом разработчикам очень важно иметь в виду, что интерактивные Web-приложения вовсе не обязательно должны размещаться в Интернете. В качестве хостинговой площадки для них вполне подходят локальные и внутренние серверы, которые находятся под полным контролем администратора. Более того, такие приложения пребывают под защитой брандмауэра, что значительно повышает уровень их безопасности.
Сегодняшний рынок предлагает разработчикам множество инструментов для перехода на Web-приложения, и у каждого такого инструмента есть свои поклонники. Директору компании AlphaOne Software Майку Томсону (его фирма специализируется на ПО для бронирования гостиничных номеров) больше всего нравится Alpha 5: “Мы приняли стратегическое решение перевести весь процесс разработки на Web 2.0/DHTML [Dynamic HTML] и AJAX, используя для этого Alpha 5. C помощью этого средства разработки мы уже создали экранный календарь бронирования, размеры которого можно изменять простой буксировкой. Управление всеми функциями производится с одной страницы посредством закладок и разделов, которые AJAX динамически наполняет информацией в реальном времени. Это значит, что нам никогда не приходится производить обновление или сборку целой страницы, а производительность нашего решения оказывается выше, чем у настольных приложений”.
А Марк Хьюзер, исполнительный директор голландской компании-разработчика Ayton, отдает предпочтение инструментарию Servoy. Он выбрал эту среду разработки независимых от платформ программ, когда фирма решила предлагать свои медицинские приложения в виде сервисов. “В прошлом году мы создали новую версию ПО, и производитель нашей платформы порекомендовал перейти на модель SaaS, — вспоминает он. — Но сначала нам показалось, что для нашей отрасли она не подходит”. Однако вскоре Хьюзер изменил свое мнение, увидев, насколько Servoy упрощает доставку приложений в виде сервисов: “Прежде всего мы начали маркетинг метода SaaS. К нашему удивлению такое направление вызвало колоссальный интерес даже в сфере здравоохранения. Так что могу посоветовать другим независимым разработчикам ПО смелее осваивать сервисное поле и следить, чтобы используемые платформы поддерживали оба направления — традиционное и SaaS”.
И все же как ни важны новые средства разработки наподобие Servoy, некоторых программистов гораздо больше интересует смена парадигмы, без которой просто немыслима корпоративная Web-разработка. А ведь инструментарий с поддержкой AJAX и Java все шире проникает сейчас на предприятия. Вот что говорит по этому поводу Кивен Тибо, исполнительный директор фирмы Logical Design, который вот уже 20 лет занимается системами CRM и межплатформенным ПО: “Мне доводилось помогать крупным компаниям, которые тратили сумасшедшие деньги на армию консультантов и дорогие лицензии только ради того, чтобы добавить возможности Web 2.0 к своим уже имеющимся системам. Для этого им нужно было объединить клиентскую часть на основе AJAX и Java с серверной частью на базе SQL с помощью XML”.
Тибо на собственном опыте ощутил необходимость инструментария типа RAD, который ускоряет процесс разработки, помогает развертывать конечный продукт и при этом обеспечивает экономию на вводе в эксплуатацию новых приложений. Именно здесь и кроется перспектива для нынешних разработчиков ПО: когда выполняешь работу быстрее и дешевле, клиент сам тянется к тебе. “Мы выполняем переход с традиционных клиент-серверных разработок на Web 2.0 в целом ряде проектов, — рассказывает Томас Саймон, сопредседатель совета директоров фирмы Task Advantage. — Наши клиенты и потенциальные заказчики все чаще просят нас пользоваться инструментарием быстрой разработки приложений, так как характер их бизнеса требует быстроты”.
По его словам, с помощью такого инструментария, как Alpha 5 фирмы Alpha Software, можно создавать приложения намного быстрее, чем при использовании PHP, Ruby или .Net. Ускорение же этого процесса позволяет расширить возможности конечного продукта и одновременно снизить его цену. А все это, как отмечает Саймон, способствует появлению надежных прикладных систем, которые полностью удовлетворяют требованиям заказчика, а то и превосходят их. “Приложения с поддержкой AJAX скоро получат широкое распространение, — уверен Саймон. — Web-приложения, работающие вместо настольных, клиент-серверных программ уже становятся стандартом”.
В число энтузиастов тесного союза между RAD и AJAX входит и Грэм Смит, исполнительный директор английской фирмы UDMS, которая специализируется на разработке RAD-приложений. Раньше в качестве основы использовалась клиент-серверная технология и традиционные настольные базы данных. “Но недавно мы решили переписать свою базу данных с помощью Web 2.0 на основе AJAX, — рассказывает он. — Сначала нам казалось, что разработка после этого станет занимать столько же времени, сколько и в других средах, поэтому на создание простенького приложения начального уровня была отведена целая неделя. Однако в действительности мы уложились меньше чем в два дня”.
Таким образом, по его словам, удалось сэкономить примерно 60% времени, в основном благодаря возможности ускоренной разработки приложений, заложенных в среде Alpha 5, которая стала любимым инструментарием UDMS. “Прозрачность Web-приложений изменила сам характер технической поддержки, — продолжает Смит. — Их не нужно устанавливать на персональные компьютеры, где уже есть Web-браузер, что освобождает ИТ от излишней нагрузки. Так что теперь можно разрабатывать Web-страницы, которые ведут себя почти как настольные приложения. И мы непременно воспользуемся AJAX, чтобы перевести на платформу Web 2.0 другие системы”.
Шаг вперед
Перемены обычно пугают людей, но разработчикам намного проще войти в новый мир вычислений “в облаке”, чем полагают многие. В конце концов, рынок по горло насыщен инструментарием AJAX и средами разработки. Вот только разнообразие таких средств затрудняет выбор и чревато ошибками. Неправильный шаг может вызвать разочарование в новом инструментарии и привести к отходу с того пути, который в идеале ведет к ускорению разработки и развертывания систем.
Но ошибок можно избежать, если заранее провести подготовительную работу. Как рассказал Томсон из AlphaOne, подходящее решение его компания выбрала на основании нескольких критериев, включая производительность в сравнении с приложениями для настольных систем, возможность централизованной обработки, универсальность и применение единой модели разработки для пользователей настольных систем и Интернета. “Эти ключевые факторы помогли нам найти такое решение, которое в полной мере отвечает потребностям наших разработчиков”, — констатирует Томсон.
В дополнение к перечисленным критериям создателям приложений следует учитывать и другие аспекты — условия лицензирования, техническую поддержку и стоимость. Полезно также заранее определить, как должно распространяться и лицензироваться программное обеспечение на клиентских ПК. Не исключено, скажем, что число пользователей, одновременно работающих на сервере, будет ограничено, и по мере увеличения их количества придется приобретать лицензии на дополнительные подключения.
Преодоление препятствий
Когда внедряется новая технология или бизнес-процесс, не удается обойтись без сопротивления. “Облачные” приложения — не исключение. Многие компании считают главным достоинством системы Web лишь возможность доставки полезной информации внешним потребителям — тем, кто находится за брандмауэром. И только очень немногие понимают, что такая концепция в полной мере подходит и для доставки приложений своим сотрудникам, работающим под защитой брандмауэров.
А ведь именно здесь открывается больше всего возможностей для переделки собственных приложений и построения заказных систем. Так что поставщикам решений и разработчикам стоит поискать эффективные методы для демонстрации потребителям ценности нового пути. С этой целью, например, достаточно убедить заказчика в том, что переход с традиционной клиент-серверной архитектуры на Web 2.0 во многом снимет с компании бремя управления и администрирования. Попросту говоря, AJAX в сочетании с современными браузерами вновь выводит на первый план заброшенную ранее идею тонких клиентов.
Применение модели SaaS внутри компании обеспечивает несколько явных преимуществ. Во-первых, появляется возможность избавиться от многих традиционных проблем с поддержкой настольных систем. Администраторам больше не приходится устанавливать на них приложения, а затем возиться с их обновлением, изменением и сопровождением. Для полноценной работы теперь достаточно обеспечить надежное подключение и установить браузер — все остальное, как говорится, приложится. Для вызова приложения сотруднику нужно лишь щелкнуть на соответствующей ссылке на Web-странице.
Такое простое на первый взгляд изменение отражает фундаментальный сдвиг во всей системе поддержки пользователей настольных систем. Очень многие организации благодаря этому смогут избавиться от необходимости постоянно обновлять операционную систему и удовлетворять все возрастающие требования к оборудованию. Одно только это сулит предприятиям заметную экономию.
Не может, конечно, не тревожить безопасность работы, но ведь сама природа Web-приложений такова, что защита программ здесь возлагается на сеть, где администраторам ничто не мешает воспользоваться технологиями NAC (Network Access Control), виртуальными частными сетями или SSL (Secure Sockets Layer). Так что и в этом направлении отказ от клиент-серверных приложений обещает намного снизить административную нагрузку.
Разработчики же смогут использовать высвободившееся от составления кодов время для совершенствования бизнес-процессов. Новые технологии наподобие AJAX и RAD помогут им стать настоящими профессионалами в этой области, создавать адаптированный к бизнес-процессам инструментарий вместо того, чтобы заставлять сотрудников приспосабливаться к причудам последних программных разработок. С учетом всего этого мудрый разработчик сможет не только повернуться спиной к технологиям позавчерашнего дня, но и выстоять в борьбе с заокеанскими конкурентами.
На заметку разработчику: семь критериев выбора нужного инструмента
Чтобы пополнить свой арсенал именно тем инструментарием, который больше всего соответствует вашим требованиям, нужно заранее подготовиться к его выбору. Например, компания AlphaOne Software отдала предпочтение AJAX-среде Alpha 5 на основании следующих критериев.
- Универсальность. Одна и та же модель разработки должна быть пригодной для пользователей как настольных систем, так и Web, а также обеспечивать встроенную поддержку отчетов в форматах RDBMS, SQL Server, MySQL и PDF.
- Скорость разработки. Инструментарий должен содержать профессиональную среду разработки приложений, полностью устраняющую или намного облегчающую ручной труд.
- Производительность. Инструментарий ни в чем не должен уступать “чисто” настольным приложениям.
- Удобство в работе. Инструменты, основанные на языке программирования, гораздо понятнее, чем Visual Basic, PHP и им подобные, не говоря уже о том, что они заметно ускоряют процесс разработки.
- Высокая гибкость. У конечного пользователя должна быть возможность по собственному усмотрению редактировать формы, правила в полях (посредством XML) и стили (с помощью CSS).
- Интеграция. Вся обработка данных должна быть централизованной — никаких сетевых обновлений клиент-серверных приложений и “толстых” клиентов.
- Функциональность. Богатый набор функций стандартной библиотеки должен покрывать практически все, позволяя обойтись без дополнительных библиотек и серьезной заказной настройки.