WebSnap привносит в разработку веб-приложений мощь и скорость методологии RAD

Источник: HardThink, Inc
Ник Ходжес

Введение

Delphi 6 представляет новое поколение систем разработки веб-приложений WebSnap, в котором реализована методология быстрой разработки приложений (RAD). WebSnap позволяет разработчикам использовать Delphi в качестве "кузницы" бизнес-объектов для интегрирующих компанию процессов в бэкенд-системах. При этом они представлены в виде удобных в применении объектов, чье поведение описывается сценарием. Delphi используется в WebSnap для создания описываемых сценарием бизнес-объектов, веб-страниц, построенных на взаимодействии с базами данных, и бэкенд-серверов, которые являются необходимыми атрибутами привлекательного и динамичного веб-сайта. WebSnap интегрирован с Borland Implementation Platform, что позволяет создать корпоративный сайт, исходя из централизованной корпоративной стратегии. Delphi 6 представляет собой платформу для разработки программ, которая создавалась для того, чтобы помочь объединить разнообразие подходов, принятых в различных ИТ-отделах. В ней реализована встроенная поддержка веб-сервисов, основанная на открытой архитектуре, что превращает ее в систему связи всей цепочки поставок с данными из внутрикорпоративных хранилищ. Интеграция с CORBA и Borland AppServer позволяет применить в данном решении сервисы приложений масштаба предприятия. Это дает возможность объединить в единую инфраструктуру все уровни корпоративного использования информационных технологий за счет интеграции на веб-сайте бизнес-процессов уровня предприятия. Все это достигается при использовании среды разработки, построенной на открытых стандартах. Эта среда обладает прозрачностью и адаптируется к наиболее распространенным типам серверов благодаря поддержке ISAPI, NSAPI, CGI и модулей Apache. WebSnap позволяет создавать мощные, масштабируемые и вместе с тем удобные в использовании сайты, позволяющие в минимальный срок представить товар в сети. Подобные возможности востребованы всеми видами бизнеса: от производителей товаров до производителей интеллектуальной собственности (например, авторами контента сайтов). Технология Delphi 6 WebSnap является подходящим решением для предприятий, заинтересованных в быстром обороте капитала, в применении открытых стандартов, позволяющих забыть о несовместимости программ, мощном инструментарии и быстром цикле разработки. При нынешних темпах развития Интернета ни одно предприятие не может позволить себе сесть в лужу при разработке веб-приложений. WebSnap разработан с тем, чтобы предприятие могло устоять в эпоху перемен, внедрять современные технологии и сохранять гибкость в сфере разработки приложений.

Преимущества

Полная интеграция WebSnap и Delphi

На ранних стадиях развития Интернета разработка веб-сайта была делом, в сущности, простым и часто заключалась в нехитрых операциях с иерархией HTML-страниц. Динамический контент создавался путем программирования CGI-скриптов на языке PERL или другом языке подготовки сценариев. С развитием Интернета разработка веб-приложений усложнилась и стала требовать обширных знаний платформ, операционных систем и архитектур. Группа разработки веб-приложений, как правило, состоит из специалистов по графике, кодировщиков сценариев и HTML-страниц, администраторов баз данных, разработчиков систем COM/CORBA и ПО. Эффективность работы такой команды и ее возможности могут быть увеличены благодаря использованию высокопроизводительной платформы RAD. WebSnap позволяет использовать ранее освоенные командой навыки и приобретать новые. Переход к этой системе не повлечет за собой повышенных расходов на обучение, так как она тесно увязана со всей парадигмой разработки веб-приложений. Между разработчиками бизнес-объектов и составителями сценариев предусмотрено четко определенно разделение труда, положительно влияющее на эффективность команды разработчиков. Затраты на сопровождение и поддержку сайта также снижаются по мере его развертывания. Изменения в формате и дизайне сайта совершенно прозрачны для объектов WebSnap. Разработка на основе бизнес-объектов может вестись параллельно с разработкой, основанной на сценариях. Это приводит к упрощению взаимодействия между членами команды и снижению затрат на разработку.

Мощь объектов WebSnap - в возможности их многократного использования, что позволяет сократить код. Чем компактнее код, тем меньший срок требуется для выпуска программного продукта на рынок и тем меньше проблем с обслуживанием ПО. Для команды разработчиков все это благо, поскольку специалисты могут сконцентрироваться на разработке заказной бизнес-логики вместо того, чтобы решать проблемы работы с инструментальными средствами. Сервер отладки WebSnap сокращает период тестирования, упрощая сам процесс тестирования веб-приложений. Обобщая, можно сказать, что WebSnap означает ускорение процесса разработки, снижение затрат на сопровождение ПО и, как следствие, повышенную производительность.

WebSnap сокращает логистические цепочки с помощью Web Services

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

Использование имеющейся инфраструктуры СУРБД без необходимости переоснащения - WebSnap доступны любые корпоративные данные, где бы они ни хранились

WebSnap позволяет разработчикам извлекать данные оттуда, где они размещены. Это позволяет обойтись без дорогостоящей процедуры миграции данных. Затраты на разработку сокращаются, поскольку данные не требуется перемещать в процессе миграции в систему управления базами данных, совместимую с инструментом разработки приложений. Благодаря технологиям Delphi DataSnap, Borland Database Engine и dbExpress приложения WebSnap способны импортировать корпоративные данные из большинства СУБД. На каком бы сервере Вы ни хранили данные предприятия (Oracle, Microsoft, IBM, Informix, InterBase, Sybase и т.д.), эффективные компоненты доступа к данным, реализованные в приложениях WebSnap, позволяют без труда обратиться к ним.

Использование преимуществ Enterprise JavaBeans с помощью WebSnap

Надежность и масштабируемость системы Borland AppServer и других систем CORBA можно легко повысить с помощью WebSnap. Разработчики, работающие с WebSnap, могут воспользоваться функцией интеграции Delphi, позволяющей подключаться к серверам CORBA независимо от их местонахождения. Приложения WebSnap помогут Вам в полной мере использовать технологию Enterprise JavaBeans (EJB), имеющуюся в Borland AppServer. С помощью приложений WebSnap Вы легко сможете обращаться к функциям масштаба предприятия, которые охватывают влиянием несколько разнородных сетевых ресурсов и платформ. WebSnap обращается к имеющимся ресурсам, поэтому необходимость в дорогостоящей миграции или записи исчезает.

Рис. 1. Обзор веб-сайта на основе WebSnap

Открытые стандарты - это свобода выбора поставщиков

WebSnap поддерживает самые основные платформы для веб-серверов - ISAPI, NSAPI, CGI и Apache, обеспечивая прозрачность поддержки для команды разработчиков. С помощью технологии WebSnap WebModule код приложения может быть свободно перемещен с одного веб-сервера на другой. WebModule позволяет представлять логику приложения в виде отдельных единиц, отделяя те участки кода, которые отвечают за выполнение приложения, от отвечающих за взаимодействие в рамках архитектуры веб-сервера. Приложения, которые были исходно ориентированы на работу с определенным типом сервера, можно перенести на другой сервер, не нарушив запущенные процессы или бизнес-логику. WebSnap представляет веб-решения, созданные с учетом стандартов и с использованием технологий, являющихся отраслевым стандартом. В WebSnap интегрированы HTTP, HTML, Javascript и XML/XSL. Приложения WebSnap клиент может запустить с любой платформы, соответствующей стандартам для работы с Интернетом. Приложения WebSnap всегда возвращают браузеру код HTML или Javascript, поэтому их можно запустить с помощью любого из распространенных браузеров, установленных в любой операционной системе. Вместо того чтобы применять нестандартные решения, такие как ActiveX, ActiveForms или других технологий, являющихся собственностью разработавших их компаний, в WebSnap применяются стандартные веб-протоколы и языки, которые обеспечивают широкую совместимость и гарантируют окупаемость инвестиций.

Сохранение отдачи от инвестиций в ПО за счет бесшовной интеграции WebSnap с такими инструментами для создания веб-сайтов как DreamWeaver, FrontPage и NetObjects Fusion.

Существующие приложения WebSnap могут быть легко интегрированы в веб-сайт, использующий сценарии, поскольку эти приложения могут эффективно взаимодействовать с программами для разработки веб-сайтов. Более того, можно добиться интеграции этих инструментов и WebSnap. Веб-дизайнеры могут использовать такие инструменты, как DreamWeaver, NetObjects Fusion или FrontPage для создания и настройки веб-сайта. Работа команд, использующих WebSnap, может быть непосредственно связана с конечным результатом работы этих инструментов, формирующим динамическую составляющую веб-сайта.

WebSnap предлагает самые высокопроизводительные решения

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

Встроенные расширения сервера для платформ Microsoft и Netscape, исполняемые файлы CGI и модули Apache - всё это компилируется в мгновение ока быстрым оптимизирующим компилятором Delphi. Естественно, это приводит к повышению производительности приложений WebSnap в сравнении с другими решениями. Еще одно преимущество приложений WebSnap - их надежность, вызванная тем, что для выполнения логики веб-сайта им не требуется полагаться на внешний код. Команды разработчиков веб-приложений имеют неограниченный контроль над приложением в целом и лучше подготовлены к тому, чтобы решать проблемы по мере их появления, в то время как другие поставщики решений будут простаивать, ожидая пока поставщик справится с проблемами, угрожающими команде.

Сокращение времени разработки и затрат ресурсов с помощью компонентов WebSnap

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

Разработка веб-приложений с помощью WebSnap

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

  • Разработчики приложений/бизнес-объектов, которые интегрируют в рамках веб-сайта процессы бэкенд-офиса предприятия.
  • Создатели сценариев, обеспечивающие связь и взаимодействие между бизнес-объектами и веб-странцами. Эти члены группы, скорее всего, работают на языке для разработки сценариев JavaScript, VBScript или похожем
  • HTML-дизайнеры, продумывающие вопросы формата и дизайна веб-сайта. Они будут пользоваться такими программами как DreamWeaver, NetObjects, Fusion или FrontPage
  • Художники, которые отвечают за объекты искусства, графику и общее впечатление ("вкус и цвет сайта"). Они будут вооружены такими инструментами, как Adobe Photoshop и т.д.

Рис. 2. WebSnap интегрирует командную разработку

WebSnap является платформой, с которой команда разработчиков бизнес-объектов интегрирует широкий спектр бэкенд-процессов корпорации. Менеджеры по разработке веб-приложений могут сосредоточить усилия на создании новых объектов WebSnap, которые опубликуют бизнес-процессы, необходимые для приложения. Эти объекты и обеспечиваемые ими возможности передаются команде, разрабатывающей сценарии для веб-сайта. Разработчики сценариев применят их, чтобы вставить требуемый контент в страницы, созданные командами по разработке графической составляющей сайта и HTML-кода. Использование определенного HTML-файла не зависит от приложения WebSnap - WebSnap может быть просто ссылкой для некоторых файлов, содержание которых часто изменяется с развитием дизайна сайта. С помощью функций управления файлами, реализованной в WebSnap, данное приложение просто вставляет динамический контент на место, а задача WebSnap - незаметно для пользователя считать HTML-код и внедрить его в приложение.

Взгляд на технологию

Мощь и удобство WebSnap проистекают из широких возможностей, заложенных в среду разработки Delphi. Группы разработчиков могут самостоятельно адаптировать структуру WebSnap с помощью настраиваемых компонентов и классов, обеспечивающих присутствие специализированного контента, который не может быть идентичным для нескольких проектов. WebSnap генерирует HTML для приложения с помощью двух наборов компонентов: PageProducer и объектов WebSnap.

Компоненты PageProducer - настраиваемый HTML для приложений

Благодаря компонентам PageProducer удается управлять HTML-кодом отдельных веб-страниц или их фрагментов. Они представляют собой редакторы веб-страниц, производящие контент на основе данных, статических страниц HTML, данных DataSnap, XML/XSL и выполняющие прочие действия. Как и все остальные функции WebSnap, PageProducer можно настроить на выработку произвольного контента с учетом требований приложения.

Объекты WebSnap - описываемые сценариями элементы приложения

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

Адаптер приложений

Основной элемент платформы WebSnap - это адаптер приложений (Application Adapter). В нем заложены базовые функции веб-приложения для управления взаимодействием функций самого веб-сервера (например, создание и кэширование нитей процессов и веб-модулей.

Управление сеансами

Ключ к любому профессиональному веб-приложению - запоминание действий пользователя. Это называется "отслеживание состояния". Так как HTTP является протоколом, не имеющим состояния (то есть, после получения и выполнения запроса север не запоминает ничего о состоянии клиента и о нем самом), веб-приложение должно само отслеживать состояние и смену статусов пользователя. В WebSnap эти функции выполняет компонент SessionsService. Этот компонент незаметно ведет журнал сеансов взаимодействия с записью значений для каждого пользователя. Тем самым упрощается регистрация индивидуальных запросов каждого из пользователей. Как правило, это оказывается непростой задачей, однако, WebSnap берет на себя все рутинные операции и позволяет просматривать сведения о сеансах как в виде сценария (со стороны сервера), так и в виде развернутого кода веб-приложения.

Сервисы входа в систему

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

Сервисы управления пользователями

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

Сервисы загрузки файлов клиента

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

Права доступа

WebSnap включает в себя встроенные сервисы, обслуживающие права доступа. Эти права могут быть присвоены отдельным пользователям, и разработчики приложений WebSnap могут управлять ими как угодно с помощью оригинальной разработки платформы или в сочетании со службой распределения прав доступа, принадлежащей операционной системе. Расширяемые компоненты WebSnap позволяют сделать прозрачным и упростить управление правами пользователей.

Сервисы управления файлами

Еще одной ключевой функцией веб-приложения является управление файлами, будь то просматриваемые HTML-файлы или другие виды файлов, которые пользователь будет просматривать или загружать на свой компьютер. Управление такими файлами может оказаться проблематичным из-за отсутствия синхронизации между путями в URL и путями в файловых системах. Поиск файлов, относящихся к корневому каталогу веб-сервера, зачастую может представлять трудности. WebSnap содержит сервисы управления файлами, которые позволяют отслеживать и производить поиск файлов, необходимых для веб-приложения. Так, например, шаблоны HTML-файлов, созданные в редакторе HTML или среде веб-дизайна, могут быть сохранены для дальнейшего применения в приложении WebSnap, загружающем страницы по мере необходимости, чтобы "показать сайт лицом".

Сценарии на стороне сервера

Важной частью WebSnap являются возможности сценариев на стороне сервера. WebSnap поддерживает JavaScript , VBScript , а также любое другое средство поиска, основанное на ActiveScript . Эти сценарии связывают приложение Delphi со структурой веб-сайта. Сценарий по очереди вызывает объекты WebSnap в приложении WebSnap, для выдачи пользователю динамического контента. Такое управление сценарием в высшей степени безопасно, поскольку в данном случае сценарий не может "не вовремя" изменить статус приложения WebSnap или испортить его внутренние данные.

WebSnap позволяет разработчикам локально запускать и отлаживать приложения

Функции отладки WebSnap поощряют к созданию надежных приложений, повышающих качество корпоративного веб-сайта. Отладка и тестирование веб-приложений всегда были нелегкими стадиями производства программного продукта. Настройка испытательных веб-серверов на локальных рабочих станциях для проверки кода - это медленный и трудоемкий процесс. Инструменты для отладки приложений зачастую не содержат необходимых функций, если вообще может идти речь о существовании подобных инструментов. WebSnap может послужить платформой для отладки и тестирования приложений. При этом процесс становится проще и информативней. Платформа отладки в WebSnap открывает доступ командам разработчиков к функциональным возможностям настоящего отладчика. Это позволяет радикально сократить цикл разработки и повысить вместе с тем качество законченных проектов. Отладочный сервер WebSnap также отслеживает все операции обмена данными между браузером и приложением, чем не может похвастаться ни одна другая система.

WebSnap и другие технологии веб-приложений

WebSnap сочетает в себе все качества среды разработки приложений, в которые в IT-отделах принято вкладывать инвестиции - более того, бизнес как таковой может быть целиком перенесен в Интернет. Приложения WebSnap способны обратиться к любым данным, хранящимся на предприятии, любому объекту COM или CORBA в локальной сети, а также переносить функции веб-сервисов в веб-приложение. WebSnap позволяет команде разработчиков свободно выбирать необходимые технологии и методы создания сайта, которые наилучшим образом соответствуют целям компании. При этом разработчикам не обязательно заходить в тупик с использованием специфичного для того или иного поставщика ПО. WebSnap интегрирует имеющиеся инструменты создания веб-дизайна, предоставляя возможность применения наработанных навыков и использования сверхвысокопроизводительного расширения сервера. Допускающая расширение и перестройку по всем направлениям, объектно-ориентированная структура WebSnap позволяет командам настроить решения под конкретный бизнес-проект. Масштабируемость гарантирована, поскольку решение WebSnap является столь же масштабируемым, сколь и сервер, где оно установлено. При создании WebSnap были отражены современные тенденции, позволяющие подготовиться к будущему веб-дизайна. С помощью функций электронного бизнеса (BizSnap), WebSnap может адаптироваться почти к любой платформе веб-сервисов (.Net корпорации Microsoft, ONE компании Sun Microsystem и т. д.) WebSnap защищает команды разработчиков от последствий изменений в популярных в тех или иных отраслях приложений, работающих на будущее. Сравните WebSnap с другими решениями разработки веб-приложений:

Active Server Pages (ASP)/InterDev /Macromedia UltraDev

ASP - это технология Microsoft, основанная на сценариях. Существует ряд инструментов, способных помочь в разработке приложений ASP. Сценарии ASP внедряются в HTML. Когда поступает запрос ASP, он направляется в библиотеку ASP, интерпретируется и возвращается в браузер уже в виде HTML. ASP использует преимущества, предоставляемые COM-объектами в области доступа к данным и динамическому контенту в целом. Однако часто многие операции с данными и логика веб-приложения реализуются с помощью сценария. Зачастую это может привести к тому, что сценарий начинает контролировать больше внутренних процессов бизнес-логики, чем это требуется от разработчиков. ASP не имеет доступа к веб-сервисам, что резко снижает шансы на автоматизацию логистической цепочки компании. Кроме того, ASP не обладает широкими возможностями взаимодействия, характерными для CORBA, что приводит к необходимости перепрограммирования и дублирования бизнес-логики систем на предприятии.

Архитектура с ограниченным доступом к данным сводит сферу возможного взаимодействия к локальной сети предприятия. И, наконец, использование одной только платформы IIS чревато появлением проблем с безопасностью и масштабированием, которых можно было бы избежать, применив платформу Netscape или Apache. WebSnap отличается тем, что он позволяет использовать преимущества ASP, обходя упомянутые выше недостатки. Кроме того, это решение отличается повышенной надежностью за счет применения технологии, встроенной в объекты WebSnap и PageProducer. Сводя роль сценариев на стороне сервера до простого представления контента с помощью объектов WebSnap, она гарантирует, что файлы HTML затрагивают лишь аспекты представления контента, а не бизнес-логику. Это означает, что создателям HTML-кода больше не придется беспокоиться о тех составляющих своих HTML-страниц, которые не несут для пользователя информацию.

Cold Fusion

Cold Fusion - еще одна конкурирующая технология разработки веб-приложений на основе сценариев. В данном случае сценарии выступают в виде встроенных в код HTML-страницы тегов, похожих на теги-HTML. Cold Fusion содержит библиотеку для интерпретации тегов, которая считывает их и направляет браузеру конечного пользователя соответствующую сценарию последовательность HTML-кода. Cold Fusion выполняет все операции бизнес-логики и управления контентом на сайте с помощью данного интерпретатора, что пагубно сказывается на производительности. Крупным веб-сайтам потребуется несколько серверов, связанных в кластер, чтобы выполнить код на Cold Fusion в том объеме, который все чаще и чаще требуется заказчикам. Cold Fusion подвержен тем же ограничениям, что и ASP (то есть, значительная часть бизнес-логики должна включаться в текст страниц, которые может увидеть случайный пользователь). Это, в свою очередь, затрудняет управление HTML на уровне отдельных членов команды и увеличивает риск возникновения ошибок в HTML-коде, которые могут модифицировать или уничтожить данные. Как и в ASP, отсутствует поддержка веб-сервисов, а возможности доступа к базам данных ограничены ODBC и OLEDB. Это делает попытки внедрить на предприятии Cold Fusion в качестве настоящей среды разработки веб-приложений проблематичными.

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

Сценарии PERL/CGI

Исполняемые файлы на PERL и CGI (Common Gateway Interface) исторически первыми решили проблему представления в Сети динамического контента. PERL вездесущ и применяется повсюду. Большинство серверов поддерживают PERL/CGI. Тем не менее, использование данной пары в качестве платформы для разработки ограничивает группу разработчиков использованием примитивной технологии CGI (которая при работе со многими "трудными" API требует программирования вручную) и лимитирует доступ к корпоративным данным и прочим носителям информации о бизнес-логике.

Выводы

WebSnap незаметно привносит в обиход команд по разработке веб-приложений Delphi и удачно сочетается с существующими технологиями создания сценариев, формата и графики. Применение Delphi снижает затраты на сопровождение и сокращает период разработки за счет широкого круга возможностей взаимодействия и "прозрачных" слоев API на сервере. Это позволяет воспользоваться существующей информационной инфраструктурой для новых проектов. Использующие WebSnap группы разработчиков отличает завидная продуктивность. Они способны перенести на сайт все бэкенд-процессы предприятия, независимо от их происхождения (поддерживаются веб-сервисы, объекты CORBA, EJB и целый ряд серверов RDBMS).

Сценарий

Допустим, гипотетическая авиакомпания "Overhead Airlines" желает автоматизировать некоторые сервисные процессы. У компании имеются партнеры, через которых она закупает топливо, распространяет билеты и выполняет другие операции. Информация по каждому из указанных направлений деятельности может быть пропущена через веб-приложение, а затем сохранено в центральном хранилище данных компании. Веб-дизайнеры компании Overhead хорошо освоили DreamWeaver или UltraDev, и руководство Overhead решает выбрать Delphi 6 в качестве платформы для создания бизнес-объектов.

Авиакомпания планирует сократить косвенные затраты на хранение топлива и транспортировку. Менеджеры по техобслуживанию, вооруженные мобильными беспроводными браузерами, теперь могут связаться с приложением WebSnap и отследить статус отдельного самолета до тех пор, пока он прибудет в конечный пункт следования. Команда техобслуживания направляет отчет в центральную систему о нехватке топлива на том или ином участке. Приложение WebSnap получает отчет о ценах на топливо через веб-сервис, устанавливает наиболее выгодную цену для определенного самолета и подключается через второй веб-сервис к серверу поставщика топлива, чтобы произвести немедленный заказ. Очень скоро к самолету направляется грузовик с топливом для дозаправки. Группа техобслуживания сразу же уведомляется о заправке. Изменившийся статус самолета можно будет просмотреть из центрального офиса через считанные секунды. Допустим также, что у авиакомпании существует определенная политика относительно скидок на билеты. Эти правила публикуются на сервере приложений J2EЕ (например, Borland AppServer) в центральном офисе. Если снабдить приложением WebSnap агентов по распространению авиабилетов, то они смогут применять правила с помощью технологии CORBA. Автоматизированное обновление счета покупателя приводит к росту удовлетворения клиента, повышению эффективности программ скидок и увеличению оборота. Так как политика предоставления скидок меняется с запуском новых рекламных кампаний, изменившиеся значения можно загрузить с помощью компонента AppServer, выполнив обновление из любой точки земного шара. Создавая приложение WebSnap, разработчики понимали, что некоторые нужные им данные могут находиться на сервере Oracle 8i, в то время как другие - на сервере Microsoft SQL Server. Благодаря компонентам dbExpress и DataSnap создателям программы удалось реализовать механизм смешивания и унификации разнородных данных перед поступлением в приложение WebSnap. Проблема обработки данных, взятых из нескольких источников, не стоит на пути разработчиков веб-приложений, так как Delphi 6 позволяет вызывать разнесенные в пространстве данные так, как если бы они все находились в одном месте. С помощью WebSnap сотрудники компании Overhead Airlines могут одновременно просматривать данные, взятые из нескольких разных серверов. Пользователи и клиенты имеют возможность обновлять записи, не беспокоясь об источнике данных. Кроме того, значительная часть функций, необходимых для веб-приложений, уже существует в виде объектов CORBA и приложений на сервере приложений компании Overhead. WebSnap позволяет приложению легко воспользоваться имеющимися функциями путем "прозрачной" интеграции веб-приложения и функций уже установленных приложений типа "клиент-сервер". Доступ к самому приложению открыт лишь для пользователей с соответствующими правами. Таким же образом можно ограничить доступ к отдельным областям приложения с помощью встроенной системы управления сеансами и пользователями. Ракурсы представления данных можно настроить для каждого пользователя в отдельности. Вы можете легко управлять всеми перечисленными функциями и добавлять новые с минимальными усилиями, воспользовавшись встроенными функциями WebSnap. По мере развития приложения разработчики не сталкиваются с проблемой масштабирования, поскольку архитектура WebSnap масштабируется вместе с веб-сервером. Доступ к данным также не является узким местом системы, благодаря таким компонентам, как dbExpress, DataSnap и BizSnap. Данная платформа для разработки не ограничивает возможности разработчика узким кругом технологий. WebSnap дает команде разработчиков возможность быстрой и недорогой интеграции всех бизнес-процессов на уровне предприятия в целом.

Заключение

Delphi 6 и WebSnap служат основой масштабируемой и настраиваемой платформы нового поколения для разработки веб-приложений, которая способна интегрировать всю информационную инфраструктуру организации. Реализация новейших технологий, подчинение выходных данных стандартам и внедрение среды для быстрой разработки приложений позволяют WebSnap предложить компаниям бескомпромиссное решение для разработки самых современных веб-сайтов сегодняшнего и завтрашнего дня. Приложения WebSnap сочетают в себе преимущества сценариев на стороне сервера, CORBA, EJB, доступа к базам данных на уровне предприятия, а также реализуют доступ к веб-сервисам и публикацию информации на них. В WebSnap собраны все возможности, которые позволяют назвать платформу "кузницей веб-объектов", легко интегрируемой с инструментарием современной группы разработчиков. Руководители, заинтересованные в инструменте по разработке веб-приложений уровня предприятия, по достоинству оценят решение, основанное на Delphi 6 и WebSnap.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=3287