Как сэкономить время и деньги при построении интерактивного контента веб-сайта?Зайцев С.Л.
Оглавление
ВведениеВсем компаниям требуется доступ к данным и их распределение как внутри, так и за пределами своей организации - среди сотрудников, поставщиков, существующих и потенциальных клиентов. С появлением Интернета возник новый способ распространения информации, и тут разработчики столкнулись с новыми задачами - как быстро передавать конечным пользователям информацию в удобном для них формате. В этой статье показано, как веб-разработчики с помощью решений Business Objects/Crystal Decisions (далее - Crystal Decisions) могут передавать реляционные данные в Интернет более чем в 100 раз быстрее, чем при публикации информации с помощью отчётов, написанных на ASP. Построенные на стандартах XML, ADO, ActiveX, Visual Basic (VB) и Java Script, решения Crystal Decisions не только обеспечивают безопасность и масштабируемость, но и множество самых разнообразных функций, с помощью которых разработчики и профессионалы в информационных технологиях могут быстро передавать в Интернет информацию презентационного качества, и при этом не писать код. РезюмеМногие разработчики знают о том, что Crystal Reports - это мировой стандарт представления реляционных данных в настольных компьютерах. Эти решения применимы не только на настольных компьютерах, но и в Интернете. Начиная с 7-ой версии, Crystal Reports имеет единый интерфейс конструирования для быстрого создания отчётов для Windows и Интернета. Созданные отчёты можно доставлять и контролировать с помощью Crystal Enterprise - надёжной платформы для работы с отчётами, анализа и передачи информации через Интернет. Продукт Crystal Decisions даёт разработчику среду, интерфейсы и инструменты, которые избавляют от необходимости писать для отчётов множество строк кода ASP. Не утруждая себя написанием кода, разработчики значительно быстрее могут компоновать профессиональные отчёты с помощью объектно-ориентированных интерфейсов конструктора. В следующем примере приведён довольно простой отчёт о клиентах, который содержит следующее:
Отчёт (см. ниже) был создан за 1,5 минуты с помощью Crystal Reports. Затем всего за минуту он был опубликован в Интернете с помощью Crystal Enterprise как динамический отчёт, включающий расписание и возможности защиты. Те же действия, выполненные с использованием кода ASP, заняли у опытного разработчика 495 минут! Даже если не учитывать затраты времени на публикацию отчёта, разница получается впечатляющая - опытному программисту на ASP потребовалось потратить только на конструирование отчёта 210 минут. Отчёт о клиентах, созданный с помощью Crystal Reports Отчёт о клиентах, созданный с помощью ASP Сравнение затрат времени при использовании ASP и CrystalНиже в таблице приведены затраты времени на каждый шаг процесса создания вышеупомянутого отчёта и его опубликование в Интернете с использованием кода ASP в одном случае и технологии Crystal Decisions - в другом.
В приведённой таблице не учтено время, затрачиваемое на сопровождение и обновление приложения. Опубликование реляционных данных на веб-сайте должно быть лёгкимОпубликование реляционных данных на веб-сайте должно выполняться быстро, с минимумом кода и большим количеством разнообразных функций для конечного пользователя. Должны выполняться следующие условия:
Выбор правильного инструмента для максимального увеличения прибыли на инвестицию в веб-сайтДля опубликования реляционных данных в Интернете существует большое разнообразие инструментов. Наиболее популярны отчёты с кодом ASP (такие инструменты как Macromedia Dreamweaver и Microsoft FrontPage. Почему ASP?Инструменты на основе кода ASP популярны по следующим причинам.
Почему Crystal?Технология Crystal имеет все преимущества технологии ASP, но значительно быстрее и дешевле.
Максимизация отдачи от инвестиций в веб-сайты с помощью CrystalВ этом разделе мы покажем, что публикация данных в Интернете - это всего лишь небольшое звено процесса эффективной доставки информации конечным пользователям. Чтобы окупить средства, вложенные в публикацию отчётов на веб-сайте, следует рассмотреть вопросы, не связанные с созданием отчётов и их публикацией. Рассмотрим следующий сценарий.
Подводная часть айсберга тоже важнаСоздание отчётов - не статичный проект. Приведенный выше пример показывает, что различные отделы предприятия по-разному смотрят на одни и те же данные. За последние годы мы видели, как заказчики создают ASP-отчёты для публикации реляционных данных. Первые шаги довольно просты, но дальше сложность непомерно разрастается из-за появления в системе новых пользователей, интеграции новой технологии, обновления, настройки и добавления отчётов в связи с растущими требованиями пользователей. Все эти вопросы ведения и управления изменениями разработчики и ИТ-специалисты должны предусмотреть, публикуя данные на сайте. Ниже приведены два отчёта, отображающие данные, описанные в вышеупомянутом сценарии; один из этих отчётов сделан и опубликован по технологии Crystal, а другой - по технологии ASP. Первый отчёт создан с помощью Crystal Reports (издание Developer или Professional), а опубликован с помощью среды Crystal Enterprise. Эти два отчёта похожи, но… Рис. 1. Отчёт о клиентах, созданный с помощью Crystal Reports Рис. 2. Отчёт о клиентах, созданный с помощью ASP То, что мы видим в отчёте, является лишь вершиной айсберга. Рассмотрим следующие вопросы проекта по созданию отчётов при использовании технологий ASP и Crystal. Та часть айсберга, которая скрыта под водой, может очень существенно повлиять на окупаемость ваших инвестиций.
2. Вопросы развёртывания и управления
Подключиться к базе данных нетрудно. Пользователю нужен динамический контент, представленный либо в статическом, либо в параметризованном виде. Отчёт нужно создать так, чтобы нужные данные извлекались быстро и просто. Далее сравниваются решения указанных вопросов с помощью Crystal и ASP, а также поясняется важность этих вопросов для успеха проекта по созданию и опубликованию отчётов. 1. Вопросы вывода отчётаПредставление отчётаОтчёт со сводными, сильно уплотнёнными данными может существенно помочь пользователю лучше понять бизнес-процесс. Форматирование презентационного качества с использованием различных шрифтов, линий, рисунков и макетов с произвольной разметкой может помочь пользователю лучше и профессиональнее работать с информацией. В Crystal такая гибкость достигается всего лишь нажатием кнопки мастера. При написании кода ASP даже с помощью таких конструкторов как Dreamweaver и FrontPage, для добавления упомянутых функций требуются часы. С помощью Crystal Reports можно легко представить информацию в той форме, к которой привыкли пользователи, какой бы она ни была - матричный отчет, счёт-фактура, заказ и так далее. Объектно-ориентированный конструктор поддерживает создание практически любых отчётов, любые стили и форматы. А при использовании ASP вы ограничены только выводом на основе таблиц. Произвольная компоновка в Crystal даёт возможность быстро извлекать нужную конечному пользователю информацию, и форматировать ее с целью выделения наиболее важных данных. Удобство пользования отчётами и возможности доставки контентаВозможность объединять данные в группы, уплотнять, сортировать и фильтровать их, критически важна для опубликования данных в виде, удобном для конечных пользователей. Для увеличения ценности отчёта для конечных пользователей требуется также возможность добавлять бизнес-логику, например, вычисления, выделение исключений и параметров; требуются средства навигации: поиск, групповые деревья и переход на нижние уровни иерархии; кроме того, необходимы средства визуализации для создания графиков и карт. При использовании ASP все эти функции отчёта приходится писать вручную. Во многих отношениях «комплексный отчёт» с упомянутыми функциями становится настоящим приложением. А при использовании Crystal Reports не нужно заботиться о написании кода для встраивания нужных функций - код создаётся автоматически всего несколькими щелчками мыши. Правда, один раз написанный код ASP можно многократно использовать для других отчётов, но если придётся вести более 10 отчётов, то усилий потребуется слишком много. Даже простое планирование выполнения отчёта потребует создание отдельного приложения. Новаторская технология Crystal для создания, персонализации и настройки отчётов через сеть встроена в продукт и доступна через любой веб-браузер. Она предоставляет следующие возможности.
Разделение создания отчёта от создания приложенияТесная интеграция между отчётами ASP и приложениями также потребляет много ресурсов для контроля качества. Во многих случаев код, использованный в приложении ASP, используется и в отчёте. Любое изменение кода отчёта или приложения, даже одной строки, требует нового тестирования приложения перед тем, как предоставить его пользователям. А поскольку отчёты обычно не являются статичными проектами, потому что потребности конечных пользователей изменяются, то проблема ведения изменений приобретает ещё большее значение. Crystal разделяет отчёты и приложения, поэтому изменение отчёта никак не влияет на приложение, и наоборот - изменение приложения не влияет на отчёт. Права на внесение изменение, планирование, добавление новых отчётов, переформатирование… Crystal выполняет эти функции универсально, поэтому разработчикам и ИТ-специалистам не приходится беспокоиться о том, что они могут повредить код при изменении отчётов и приложений. Новый репозитарий Crystal Decisions использует единое место для обмена, обновления и управления объектами всех отчётов. Например, десять отчётов могут иметь общий текстовый объект, хранящийся в репозитарии. Если необходимо внести изменение, разработчик может изменить объект в репозитарии, после чего изменение автоматически распространяется на все отчёты, содержащие указанный объект. Ещё одно преимущество отделения разработки отчётов от разработки приложений - разработчик имеет возможность передать конструирование контента другому лицу. 2. Вопросы развёртывания и управленияПосле опубликования данных для отчётов могут возникнуть другие проблемы. Кто обладает правом на эту информацию? Что пользователи могут с ней делать? Будет ли обновляться отчет при обновлении базы данных? Легко ли добавлять новых пользователей и изменять их права? Долговременный успех проекта по созданию и опубликованию отчётов зависит не только от полезности отчётов и удобством их использования конечными пользователями, но и от вашей способности сопровождать отчёты с использованием существующей у вас ИТ-инфраструктуры. Далее сравниваются особенности развёртывания и сопровождения отчётов с помощью Crystal и ASP, а также поясняется важность этих вопросов для успеха всего проекта по созданию и опубликованию отчётов. БыстродействиеВеб-приложение должно быстро реагировать на действия конечных пользователей. Обычно при поиске чем меньше требуемых данных найдено в базе данных, тем меньше времени требуется на обработку результатов запроса, и тем быстрее приложение выдаёт информацию конечным пользователям. Технология ASP не предусматривает кэширование данных на сервере. Она использует для кэширования локальный браузер пользователя, поэтому, если вы не купите и не установите дополнительное программное обеспечение или прокси-сервер, ASP-отчёты всегда будут обращаться к базе данных, в результате чего время реакции увеличивается, особенно в случае больших отчётов. Crystal содержит серверный компонент, специально выделенный для кэширования отчётов. Этот серверный компонент может быть помещён на отдельный компьютер или несколько компьютеров, чтобы ускорить доставку часто выполняемых отчётов. Crystal также содержит технологию обработки отчётов с загрузкой страниц отчёта по запросу. При этом каждый отчёт разбивается на страницы, и браузеру отправляются только запрошенные страницы, а не весь отчёт. Технология загрузки страниц по запросу также поддерживает общие задания: отчёты кэшируются, благодаря чему отдельные страницы отчётов могут отправляться различным пользователям без обращения к базе данных. Эта новаторская технология распределяет обработку отчётов, минимизируя количество обращений к базе данных, благодаря чему:
Планирование выполнения отчётов в те промежутки времени, когда нагрузка на систему снижается, и совместное использование отчётов также очень важны для повышения эффективности. Масштабируемость и доступностьЕсли вы опубликуете в Интернете ценную информацию, к ней будет обращаться всё больше и больше людей. При этом возникнут две проблемы: возможность одновременного доступа к информации возрастающему количеству пользователей и постоянная доступность этой информации. Разработчики, которые пишут отчёты на языке ASP, могут быть ограничены в масштабируемости, поскольку они всегда вынуждены использовать IIS. Чтобы получать информацию могло одновременно большое количество пользователей, разработчики могут повысить производительность своих ASP-приложений либо с помощью программного обеспечения, либо оборудования, но оба варианта имеют недостатки. Для распределения нагрузки по массиву (ферме) веб-серверов путем установки дополнительного оборудования требуются дорогостоящие ИТ-специалисты с сертификатами компании Cisco, а эти специалисты малочисленны и обычно постоянно заняты. Если же идти по пути установки дополнительного программного обеспечения, например, сервера MTS (Microsoft Transaction Server), который содержится в IIS, то при этом обычно необходима дополнительная работа по преобразованию всех сценариев в библиотеки DLL, которые должны стать компонентами MTS. В основе Crystal лежит архитектура распределённых компонентов. Это означает, что отдельные компоненты системы могут быть «развязаны» (обработка плановых отчётов, управление системой, кэширование, обработка отчётов в реальном времени, доставки веб-данных) и распределены по множеству компьютеров. Благодаря этому увеличивается количество пользователей, которые могут иметь одновременный доступ к веб-сайту, повышается эффективность использования оборудования, быстрый рост возможностей системы, причём переписывать отчёты не требуется. Crystal также распределяет нагрузку между всеми функциями управления системой и обработки отчётов. Кроме того, Crystal поддерживает кластеризацию и переключение ресурсов при сбое на уровне управления системой. Это значит, что к кластеру можно добавить несколько компьютеров, чтобы уменьшить время отклика и более эффективно распределять нагрузку, вызванную обращениями пользователей. Если какой-либо компьютер из кластера выйдет из строя, остальные компьютеры кластера автоматически возьмут на себя его функции, и нормальная работа кластера продолжится. БезопасностьКогда речь идёт об отчётах, главные вопросы безопасности - кто имеет право просматривать отчёты и выполняемые ими операции. Может ли каждый пользователь планировать отчёты, просматривать их по запросу, вводить параметры отчётов, просматривать экземпляры отчёта за прошлые периоды и так далее? Все эти вопросы должны быть учтены в коде ASP каждого отчёта. И даже с учётом того, что некоторые компоненты кода ASP отчётов можно использовать многократно, контроль качества требует слишком много затрат времени. Интерфейс Crystal позволяет вести функции защиты просто и удобно - всего лишь несколькими щелчками мыши. Все отчёты (объекты отчётов) хранятся в центральном репозитарии, благодаря чему управление функциями защиты отдельных объектов и папок ведётся просто нажатиями кнопки мыши. Кроме гибкости модели отдельных пользователей и групп пользователей, Crystal Enterprise поддерживает интеграцию с системами безопасности других производителей, в том числе LDAP и NT. Благодаря этому можно использовать существующую у вас инфраструктуру безопасности, чтобы ускорить развёртывание и администрирование. Долгосрочная поддержкаИзменяющиеся потребности в отчётах. Как уже было показано в примере, в котором разработчик создал пять отчётов для бухгалтерии, требования к отчётам постоянно изменяются в различных отделах предприятия. Возможность вести и планировать обновления в системе отчётов критически важны при планировании ресурсов. Когда разработчик вносит изменения в код ASP, ему необходимо проанализировать, как эти изменения повлияют на остальные приложения, и протестировать код, чтобы убедиться в том, что отчёт или приложения по-прежнему работают без ошибок. Как правило, при внесении изменений требуются значительные трудозатраты на вопросы «подводной части айсберга», такие как масштабируемость, безопасность, которые при использовании Crystal решаются автоматически. Использование результатов предыдущей работы. Более четырнадцати миллионов проданных лицензий, 300 OEM-партнёров показывают, что технология Crystal стала мировым стандартом в работе с отчётами. Crystal Reports применяется на многих передовых предприятиях, и наверняка вы сможете найти на своём предприятии хоть одного специалиста, знакомого с этими продуктами. Поэтому у вас есть возможность воспользоваться услугами своих специалистов, а не отправлять кого-нибудь на курсы по изучению ASP. Техническая поддержка. Все продукты Crystal обладают возможностью доступа к различным уровням технической поддержки от самообслуживания до элитных персональных услуг, которые осуществляются круглосуточно (24 часа в сутки, 7 дней в неделю). Какой уровень поддержки может обеспечить ваш ASP-разработчик? Глобальное сообщество партнёров. Благодаря учебным курсам с выдачей сертификатов, консультациям, услугам по написанию отчётов, всемирному каналу для партнёров и книгам сторонних издательств вы всегда можете найти нужные инструменты и ресурсы, которые позволят вам и вашим конечным пользователям извлечь максимум из ваших инвестиций в систему отчётов. Поддержка будущих технологий. Crystal Decisions интегрирует в свои продукты новейшие веб-технологии, благодаря которым веб-контент предоставляет пользователям, разработчикам и администраторам максимальную эффективность и окупаемость инвестиций. Например, поскольку язык XML по-прежнему играет важную роль в опубликовании информации в сети, Crystal Decisions продолжат интегрировать в свои продукты последние достижения в области XML. При этом Crystal Decisions остаётся на передовых позициях во всех областях, от новых драйверов до Report Web Services - нового слова в технологии XML. Краткий обзор вопросов, касающихся «подводной части айсберга», приведён в приложении № 3 Увеличение производительности веб-разработок в 180 раз с помощью CrystalСравним два отчёта, приведенных на рис. 1 и 2. Оба они представляют одну и ту же информацию, но один из них требует на создание и публикацию в сети существенно меньше времени.
Расчёт окупаемости
Выводы
Как найти дополнительную информациюДополнительная информация о Crystal Reports, Crystal Enterprise и семействе продуктов Crystal Decisions находится на следующих сайтах.
Приложение 1: Создание списка представителей клиентов с помощью Crystal ReportsРезюмеДанный пример был использован для определения времени, требуемого на создание отчёта с помощью Crystal Reports, опубликование его с помощью Crystal Enterprise и включение модели безопасности. Всего потребовалось 2,5 минуты. Этот пример был построен с помощью Crystal Reports Developer Edition и Crystal Enterprise Professional Edition. Вместо Developer Edition можно использовать Crystal Reports Advanced Edition. Создание отчётаЗатраченное время: 1,5 минуты Подключение к базе данных для получения доступа к данным
Сортировка клиентов в алфавитном порядке с буквой в качестве заголовка группы клиентов
Ввод адреса электронной почты, соответствующего имени клиента
Ввод ссылки на веб-сайт клиента
Форматирование с презентационным качеством
Примечание: навигация генерируется автоматически - групповые деревья (оглавление, указатель), средство поиска и так далее. Опубликование в сетиВыберите команду File (Файл), Save As (Сохранить как), затем выберите папку Crystal Enterprise. Войдите в систему и выберите папку, в которой нужно сохранить отчёт. БраузерыШесть просмотрщиков отчётов Crystal автоматически определяют тип браузера и представляют отчёты презентационного качества пользователям браузеров Internet Explorer и Netscape. ЭкспортCrystal Reports позволяет пользователям автоматически экспортировать данные в файлы более 30 форматов, включая PDF, RTF, Excel и Word. ПечатьВозможна печать из любого браузера. Планирование и безопасностьЗатраченное время: 1 минута РасписаниеАдминистратор с помощью консоли Management Console продукта Crystal Enterprise может запланировать выполнение отчёта по ночам, чтобы днём пользователи могли просматривать в отчёте самые свежие данные. Кроме того, возможностью планировать автоматическое выполнение отчётов можно наделить конечных пользователей - они будут делать это через свои браузеры. БезопасностьЗащиту можно настроить так, чтобы просматривать отчёт могла только определенная группа. Такой группе можно предоставить все права, в том числе право планировать выполнение отчёта. Масштабируемость
Приложение 2: Обзор действий по созданию отчётов с помощью ASP и CrystalДанный пример был придуман для определения времени, требуемого на создание отчёта с теми же функциями, которыми обладает отчёт, созданный с помощью Crystal Reports, и на опубликование созданного отчёта в сети с заданной моделью безопасности. РезюмеОпытный программист на ASP с помощью текстового редактора за полный рабочий день (7,5 часов) написал отчёт, подобный тому, который был создан и опубликован с помощью Crystal Reports и Crystal Enterprise за 2,5 минуты. Создание отчёта с помощью ASPЗатраченное время: 3 часа Страница, разработанная для данного примера, содержит 143 строки кода ASP; она устанавливает связь с базой данных и отправляет в неё запросы с помощью ADO. Подключение к базе данных для доступа к данным
Сортировка клиентов в алфавитном порядке с буквой в качестве заголовка группы клиентов
Ввод адреса электронной почты, соответствующего имени клиента
Форматирование с презентационным качеством
Добавление защитыЗатраченное время: 4 часа Действия по добавлению защиты
Добавление масштабируемостиЗатраченное время: 45 минут
Дополнительные параметрыЗатраченное время: для данного примера не выполнено БраузерыДанный пример построен для выполнения с использованием Internet Explorer версии 5.0 или более поздней. Отчёт выглядит хорошо при использовании Internet Explorer версии 5.0 или более поздней. При использовании браузера Netscape таблицы выглядят несколько иначе. Это можно исправить путём изменения кода, что может увеличить время на разработку приложения. ЭкспортСредства пакета Office не могли быть использованы для экспорта в файл формата Excel или Doc с дальнейшим экспортов в PDF. В данном примере эти функции не использовались из-за возможных осложнений с лицензированием. ПечатьПоскольку информация выводилась только в формате HTML, отчёт нужно было печатать с помощью кнопки «Печать» браузера, а при этом распечатывается сразу вся страница. Приложение 3: Обзор подводной части айсберга
Приложение 4: Сравнение затрат времени при использовании Crystal и ASP
|