1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /122, 1995 г./ | Бонус | Поиск  

Обзоры

Секреты успеха SAS

Владимир Смирнов


© 2004, Еженедельник «Компьютерра» | http://www.computerra.ru/offline
Этого материала на сайте "Компьютерры", к сожалению, нет

Чтобы узнать поподробнее о том, что привело фирму SAS Institute к победе в конкурсе компаний-производителей инструментов RAD, мы обратились к Павлу БРИТОВУ, техническому директору российского НПП "БиоСтат" (контактные телефоны: (095) 927.03.92, 921.44.07), являющегося официальным дистрибьютором продукции этой американской компании.

 

 – Что же отличает систему SAS om других, и что позволило ей выиграть такое представительное соревнование?

 – Система появилась в 1976 году как "Система статистического анализа"; она сразу же стала лидером в своем классе, так как совмещала в себе не только глубокие и всеобъемлющие математические методы, но и средства управления данными – СУБД и язык 4GL SAS. Завоевав статистический рынок (сегодня система SAS широко применяется почти во всех статистических службах мира), компания SAS Institute не остановилась на достигнутом, расширив систему в области организации доступа к разнообразным источникам данных и представления результатов в виде отчетов и графиков Уникальный по широте охвата компьютерных задач, конвейер обработки данных SAS получил название "Система доставки информации". Под этим подразумевается извлечение полезной информации из любых источников данных и ее доставка на рабочие места лиц, принимающих решения.

Параллельно шло развитие системы SAS в направлениях поддержки всевозможных архитектур компьютеров и создания средств быстрой разработки приложений Сегодня система выглядит и функционирует одинаково на любом компьютере – от PC до мэйнфрейма. Таким образом, можно с легкостью переносить приложения с одной операционной системы на другую без перекомпиляции. Это невероятно мощное свойство системы развязывает руки руководителям информационных служб предприятий: они могут смело вкладывать деньги в собственных разработчиков приложений, зная, что в будущем их работа не пропадет даром. При наращивании мощи вычислительных систем и переходе с одной операционной системы на другую все наработанное сохранится и будет функционировать.

 

 – Проведенное соревнование не зря было объявлено состязанием фирм-производителей средств разработки приложений в архитектуре "клиент-сервер". Любая разработка прикладных информационных систем в этой архитектуре весьма сложна. На ваш взгляд, каковы наиболее важные шаги фирмы SAS, которые способствовали тому, чтобы разработанные ею продукты у спешно использовались для создания приложений "клиент-сервер"?

 – Начиная с самых ранних опытов работы в среде "клиент-сервер"(SAS Micro-to-Host Link в 1986 году), в SAS Institute осознали необходимость полнофункциональных удаленных вычислений в приложениях. Архитектура "клиент-сервер" берет лучшее от настольных систем- удобный интерфейс, быстрый отклик и персональный контроль окружения. В то же время сохраняются сильные стороны централизованных систем в области сохранности данных и поддержки одной общей копии корпоративной базы данных.

Каждая из моделей "клиент-сервер" имеет свои достоинства. Одна хорошо оптимизирует ресурсы клиента, другая – сервера, третья -сети в целом

Именно по этим причинам система SAS поддерживает все модели. Главный выигрыш состоит в гибкости использования любой подходящей формы вычислений "клиент-сервер" в любом приложении.

 

 – В приведенном сообщении отмечается, что фирма SAS разработала приложение за три дня на платформе Windows. Чтобы обеспечить такую высокую скорость разработки, переносимость приложения и возможность использования в нем разных типов информации – то есть графики и видеоинформации, – необходимо, чтобы средства разработки имели ярко выраженную объектную ориентацию. Что вы можете сказать об этом аспекте инструментария фирмы SAS?

 – Объектно-ориентированная модель используется сегодня для решения проблем распределенных вычислений и индустрии разработки программного обеспечения

В этой связи можно отметить, что в системе SAS раскрыты широкие объектно-ориентированные возможности, доступные для непрограммистов – в виде объектно-ориентированного средства построения приложений (продукт SAS/EIS) и объектно-ориентированного средства программирования (продукт SAS/AF), предназначенного для программистов.

Приложения, созданные объектно-ориентированной технологией системы SAS, легко переносятся на любую платформу и работают без перекомпиляции.

 

 – Из сказанного следует, что фирма SAS относится к методологии объектной ориентации довольно серьезно. Как такой подход объясняет сама фирма?

 – Объектная ориентация – это один из основных концептуальных взглядов SAS на проблемы разработки программного обеспечения. Одна из трудностей в создании ПО заключается в глубокой пропасти между реальным миром, где существует описываемая проблема, и имитирующей его средой. Один из путей минимизирования сложности в написании системы – создание отражений элементов предметной области.

При использовании объектно-ориентированной технологии вам не придется переделывать то, что уже было написано. Это обеспечивается двумя основными идеями – повторным использованием кода и программированием различий. И то, и другое вместе с инкапсуляцией и моделированием предметной области составляет сущность объектно-ориентированного подхода к разработке приложений. Именно эти возможности фирма SAS пытается максимально использовать в своих продуктах RAD.

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

 

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

 

 – Расскажите более подробно, как реализуется объектно-ориентированная методология в продуктах SAS.

 – Сначала коснемся того, как применяются средства программирования для построения отдельного приложения или добавления библиотеки классов с целью дальнейшего построения приложений. Последняя указанная возможность позволяет организации эффективно и контролируемо использовать работу разработчиков, а следовательно, извлекать максимум из этого скудного ресурса.

Раздел FRAME в программном обеспечении SAS/AF – это каркас для сбора приложений из видимых объектов с использованием интерфейса "point&click". Набор типовых классов, из которых строятся объекты на экране, вам, очевидно, знаком -это стандартные элементы графического интерфейса пользователя (GUI).

Как и во многих других объектно-ориентированных системах, существует иерархия объектов, начинающаяся с класса Object. Все классы в системе суть подклассы (прямые или косвенные) класса Object. Из показанной здесь иерархии видно, что все видимые объекты (кнопки, пиктограммы, переключатели, линейки и пр.) являются подклассами класса Widget. Специфические классы системы SAS – например, Graphics (графики), CSF (показатели успеха) или SAS/GRAPH Output (график, полученный на основе продукта SAS/GRAPH) – гораздо мощнее стандартных, поскольку представляют на экране дополнительную полезную информацию.

Передача сообщений позволяет одному объекту "общаться" с другими. Объекты как бы сотрудничают, обеспечивая работу приложения. Прямое общение возможно, если известно имя объекта или его номер. Если имя и номер неизвестны, можно послать сообщение со специфическим заголовком – те объекты, к которым оно обращено, сами перехватят его для обработки.

Создание подклассов обеспечивается редактором классов. У классов, показанных на схеме курсивом, могут быть созданы подклассы. Классы связаны с подклассами через наследование. Изменения могут быть внесены в методы (через редактор методов) или в переменные (через редактор переменных). Методы, переданные от родительского класса, могут быть наследованы (по умолчанию), переписаны или отменены (игнорированы). Могут быть добавлены новые методы и переменные. Методы пишутся на языке SCL (язык управления экраном).

Таким образом могут быть созданы специальные версии видимых объектов. Например, сортированный список (Sorted List Box) может быть подклассом List Box, отличаться он будет тем, что все элементы будут показаны на экране в порядке сортировки. Подклассами класса SAS/ GRAPH Output могут стать видимые объекты, эмулирующие возможности популярных графических интерфейсов (VBX в Visual Basic или OCX), за тем исключением, что в системе SAS они будут созданы настоящим объектно-ориентированным способом.

Ко всем вновь создаваемым классам могут быть созданы подклассы: так же, как и к классу Object – вершине иерархии. Это может быть сделано для генерации классов, не имеющих экранного представления: стеки, очереди, списки, таблицы, мета-базы, элементы управления многомерным просмотром данных и все, что можно себе представить. Эти классы могут быть загружены во время работы программы (а не в момент создания), и из них могут быть сделаны новые объекты. В ближайшей версии 6.11 системы SAS можно будет подгружать во время работы любые классы (в том числе и видимые на экране), к тому же появятся новые классы для просмотра и редактирования данных из различных источников, а также составные классы, собираемые из нескольких. Это добавит максимум гибкости в представлении данных на экране различными способами.

 

 – Вы упомянули о написании процедур и переменных, инкапсулируемых объектами на языке управления экраном. Неужели пользователи могу т что-то писать на этом языке?

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

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

 

 

 – Как вы заметили в начале беседы, SAS начинала свою деятельность в качестве фирмы-производителя прикладного ПО для выполнения статистического анализа. Что из накопленного багажа фирма сохранила в своих продуктах быстрой разработки приложений?

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

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

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

 

 – Привнесла ли фирма SAS в разработку приложений что-то необычное, оригинальное?

 – В упомянутом средстве разработки для непрограммистов SAS/EIS существует невероятно мощное средство – метабаза. Метабаза во многом похожа на словарь данных и содержит информацию о данных, доступных в приложении. Всю информацию, которую предполагается использовать в приложении, необходимо сначала зарегистрировать в метабазе. Сделать это довольно легко, так как имеется простая система меню. Прежде всего, необходимо указать источник данных, и система сама запишет в метабазу как можно больше доступной информации. Далее добавляется специфическая информация – классифицирующие переменные, способы анализа для отдельных показателей и т.д.

Метаданные записаны в метабазе в виде пар "атрибут-значение". Например, пара (АНАЛИЗ, СУММА) может быть назначена для переменной ЗАРПЛАТА набора данных КАДРЫ. Это означает, что суммирование будет применяться к этой переменной по умолчанию, если не указано другое. Атрибуты могут назначаться как для всей таблицы, так и для отдельных столбцов. Кроме того возможно расширение базового набора атрибутов.

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

 

 – Каковы, на ваш взгляд, перспективы распространения и применения решений и продуктов SAS в России?

 – Вот уже много лет система SAS используется тысячами компаний во всем мире для построения стратегических приложений по доставке информации.

Используя систему SAS, они получают все предпосылки, необходимые для построения "Системы доставки информации" в масштабе всего предприятия. IDS – то свойство системы SAS, которое вывело ее в лидеры рынка таких прикладных систем, как "Информационные системы руководителя (EIS), "Системы управленческой отчетности", "Отчетность по базам данных", "Системы поддержки принятия решений". Кроме того, по ряду оценок независимых консалтинговых фирм, позиции, занимаемые продуктами SAS среди конкурирующих продуктов, весьма высоки. Так, фирма OVUM в конце прошлого года выполнила по опросу потребителей оценку уровня нескольких наиболее заметных продуктов-средств RAD. Результаты приведены на диаграмме. Как видите, по большинству показателей инструменты SAS если и не лидируют, то имеют довольно высокий рейтинг.

 

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

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

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

Расскажите более подробно, как реализуется объектно -ориентированная методология в продуктах SAS.

- Сначала коснемся того, как применяются средства программирования для построения отдельного приложения или добавления библиотеки классов с целью дальнейшего по-

строения приложений. Последняя указанная возможность позволяет организации эффективно и контролируемо использовать работу разработчиков, а следовательно, извлекать максимум из этого скудного ресурса.

Раздел FRAME в программном обеспечении SAS/AF - это каркас для сбора приложений из видимых объектов с использованием интерфейса "point&click". Набор типовых классов, из которых строятся объекты на экране, вам, очевидно, знаком -это стандартные элементы графического интерфейса пользователя (GUI).

Как и во многих других объектно-ориентированных системах, существует иерархия объектов, начинающаяся с класса Object. Все классы в системе суть подклассы (прямые или косвенные) класса Object. Из показанной здесь иерархии видно, что все видимые объекты (кнопки, пиктограммы, переключатели, линейки и пр.) являются подклассами класса Widget. Специфические классы системы SAS - например, Graphics (графики), CSF (показатели успеха) или SAS/GRAPH Output (график, полученный на основе продукта SAS/GRAPH) - гораздо мощнее стандартных, поскольку представляют на экране дополнительную полезную информацию.

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

Создание подклассов обеспечивается редактором классов. У классов, показанных на схеме курсивом, могут быть созданы подклассы. Классы связаны с подклассами через наследование. Изменения могут быть внесены в методы (через редактор методов) или в переменные (через редактор переменных). Методы, переданные от родительского класса, могут быть наследованы (по умолча-

нию), переписаны или отменены (игнорированы). Могут быть добавлены новые методы и переменные. Методы пишутся на языке SCL (язык управления экраном).

Таким образом могут быть созданы специальные версии видимых объектов. Например, сортированный список (Sorted List Box) может быть подклассом List Box, отличаться он будет тем, что все элементы будут показаны на экране в порядке сортировки. Подклассами класса SAS/ GRAPH Output могут стать видимые объекты, эмулирующие возможности популярных графических интерфейсов (VBX в Visual Basic или OCX), за тем исключением, что в системе SAS они будут созданы настоящим объектно-ориентированным способом.

Ко всем вновь создаваемым классам могут быть созданы подклассы: так же, как и к классу Object - вершине иерархии. Это может быть сделано для генерации классов, не имеющих экранного представления: сте-

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

классы, собираемые из нескольких. Это добавит максимум гибкости в представлении данных на экране различными способами.

Вы упомянули о написании процедур и переменных, инкапсулируемых объектами на языке управления экраном. Неужели пользователи могу т что-то писать на этом языке?

- Конечно, нет. Это должны делать разработчики приложений и классов. А для пользователей создано специальное средство построения приложений - интерактивная объектно-ориентированная система, позволяющая непрограммистам конструировать приложения, испол^щя доступную библиотеку классов., W-ложения из нескольких взаимодействующих объектов могут быть созданы просто указанием необходимых классов и нужной информации. Классы, поставляемые с системой, включают набор деловых приложений и содержат в себе многомерный просмотр и анализ данных; "сверление" данных, позволяющее раскрывать итоговые цифры и углубляться в данные по интересующим областям; светофорную раскраску, помогающую привлекать внимание к нештатным ситуациям, с возможностями гипертекста.

Процесс построения приложений един для всех объектов. Выбирав ' класс объекта, создается его экземпляр в системе, что ведет за собой необходимость заполнения информацией специального бланка. Теперь можно запустить объект и протестировать его функциональность, не выходя из системы.

Как вы заметили в начале беседы, SAS начинала свою деятельность в качестве фирмы-производителя прикладного ПО для выполнения статистического анализа. Чтоизна-копленного багажа фирма сохранила в своих продуктах быстрой разработки приложений?

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

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

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

Привнесла ли фирма SAS в разработку приложений что-то необычное, оригинальное?

- В упомянутом средстве разработки для непрограммистов SAS/EIS существует невероятно мощное средство - метабаза. Метабаза во многом похожа на словарь данных и содержит информацию о данных, доступных в приложении. Всю информацию, которую предполагается использовать в приложении, необходимо сначала зарегистрировать в ме-табазе. Сделать это довольно легко, так как имеется простая система ме-

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

Метаданные записаны в метабазе в виде пар "атрибут-значение". Например, пара (АНАЛИЗ, СУММА) может быть назначена для переменной ЗАРПЛАТА набора данных КАДРЫ. Это означает, что суммирование будет применяться к этой переменной по умолчанию, если не указано другое. Атрибуты могут назначаться как для всей таблицы, так и для отдельных столбцов. Кроме того возможно расширение базового набора атрибутов.

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

Каковы, на ваш взгляд, перспективы распространения и применения решений и продуктов SAS в России?

- Вот уже много лет система SAS используется тысячами компаний во всем мире для построения стратегических приложений по доставке информации.

Используя систему SAS, они получают все предпосылки, необходимые для построения "Системы доставки информации" в масштабе всего предприятия. IDS - то свойство системы SAS, которое вывело ее в лидеры рынка таких прикладных систем, как "Информационные системы руководителя (EIS), "Системы управленческой отчетности", "Отчетность по базам данных", "Системы поддержки принятия решений". Кроме того, по ряду оценок независи-

мых консалтинговых фирм, позиции, занимаемые продуктами SAS среди конкурирующих продуктов, весьма высоки. Так, фирма OVUM в конце прошлого года выполнила по опросу потребителей оценку уровня нескольких наиболее заметных продуктов-средств RAD. Результаты приведены на диаграмме. Как видите, по большинству показателей инструменты SAS если и не лидируют, то имеют довольно высокий рейтинг.

Все это позволяет рассчитыват успешное продвижение проду: SAS на российском рынке - Е многие отечественные предпрж и коммерческие фирмы только чинают осваивать передовые иж] мационные технологии. Наше п| приятие как официальный дис~ бьютор продуктов SAS приложит усилия для того, чтобы о продуй SAS узнало как можно больше тенциальных потребителей.


1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /122, 1995 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru