Microsoft Visual SourceSafe – это система управления версиями файлов всех типов, включая текстовые, графические, двоичные, звуковые и видеофайлы. С помощью Visual SourceSafe можно отслеживать изменения, сделанные в файле, начиная с момента его создания, а также объединять изменения из двух и более разных версий файла в один файл.
В редакцию Microsoft Office 97 для разработчика входит Microsoft Access Source Code Control, интегрирующий функции Visual SourceSafe в среду разработки Microsoft Access.
Рабочая группа, разрабатывающая приложения в Microsoft Access, с помощью Visual SourceSafe сможет избежать конфликтных ситуаций и потери данных. Visual SourceSafe:
• предотвращает случайное удаление информации или файлов;
• организует файлы в иерархическую структуру проектов и вложенных проектов;
• сравнивает версии при записи на сервер и чтении с него, снабжая их примечаниями для описания того, что было сделано;
• позволяет нескольким сотрудникам совместно использовать файлы в разных проектах, ОС и сетях с общими ресурсами;
• хранит файлы любого типа, текстовые или двоичные, включая документы Microsoft Office, книги Microsoft Excel и файлы Visual Basic, Visual C++, Visual FoxPro и Microsoft Access;
• помогает в разработке приложений для разных операционных систем;
• работает с модульно-ориентированным и объектно-ориентированным кодом;
• поддерживает одновременную работу нескольких пользователей с одной версией;
• отслеживает изменения в файле, совершенные пользователями;
• сохраняет старые версии файлов для устранения ошибок и для других целей;
• отображает различия между двумя версиями файла;
• отслеживает дату и время изменения всех файлов в базе данных;
• создает отчеты по частоте использования файла или проекта;
• создает журналы, отображающие все изменения проекта;
• контролирует доступ к файлам – Visual SourceSafe поддерживает защиту проектов, так что каждый новый пользователь имеет доступ либо на чтение и запись, либо только на чтение.
Рассмотрим систему Lotus Notes как еще один пример СУБД. Lotus Notes обеспечивает разработку и выполнение приложений, которые создают, организуют и совместно используют информацию, представленную в виде документов.
Приложения Lotus Notes хранятся в базах данных на серверах локальных компьютерных сетей. Каждая база данных содержит документы, формы (которые определяют внешний вид документов, включающих разнородную информацию: текст, видео-, аудиоинформацию) и виды (которые отражают различные подмножества множества всех документов и упорядочивают документы по категориям, а также определяют, какая информация будет отображаться по каждому документу).
Наличие средств работы с формами, видами и специального языка описания формул, сходного с языком электронных таблиц, позволяет переложить большую часть работы по созданию приложений на специалистов, которые не обладают квалификацией 3GL- или 4GL-программистов. Управление базами данных централизовано незначительно.
На каждом сервере Lotus Notes (т.е. для каждой инсталляции Lotus Notes) базы данных определены и поддерживаются независимо друг от друга. Тем не менее, такие базы данных связаны между собой. Для отслеживания связей и управления базами данных используются сервисы ПО промежуточного слоя.
На этом уровне также определены и используются функции для управления представлением для различных платформ и функции, обеспечивающие двоичную совместимость приложений, баз данных и сетевых сообщений. Строго говоря, эти функции не являются функциями платформы. Дело в том, в архитектуре Lotus Notes имеет место сетевой компонент, который изолирует более высокие уровни от сетевых архитектур. Кроме того, он скрывает детали транспортного уровня передачи сообщений. В архитектуре Lotus Notes также имеет место не зависящий от платформы интерфейс с пользователем, который скрывает от более высоких уровней детали и различия в оконных системах.
Многие специфичные для интегрирующей среды (ИС) независимые от платформы сервисы ПО промежуточного слоя расположены выше уровня сервисов платформы. Доступ к ним осуществляется через С-функции, которые определяют Lotus Notes API (application programming interface – интерфейс программирования приложений – набор функций, позволяющих прикладной программе запрашивать выполнение операционной системой низкоуровневых сервисных процедур). Определены следующие сервисы:
· сервис управления объектами – обеспечивает обработку элементарных типов данных и хранение недетализированной информации;
· сервис управления документами – использует сервис управления объектами, именует документы, организует их и поддерживает язык формул (язык сценариев для создания приложений);
· сервис защиты – поддерживает шифрование, цифровые подписи, произвольное управление доступом;
· сервис индексации – обеспечивает индексированный доступ к содержанию документов (за счет использования средств контекстного поиска компании Verity Corp.) и к дескрипторам документов;
· сервис сообщений – поддерживает адресацию (в том числе адресацию к группам имен и иерархически организованным именам) и передачу почтовых сообщений;
· сервис событий – осуществляет оповещение посредством почтовых сообщений или за счет использования механизма регистрации;
· сервис регистрации – выполняет функции аудита событий, происходящих в базах данных;
· сервис именования – поддерживает взаимодействие клиента и сервера; интегрирован с транспортным сервисом и сервисом защиты;
· функции управления системой, в том числе функции управления конфигурацией приложений, установки сервера Lotus Notes и администрирования (обеспечивает управление системой с удаленной консоли).
В Lotus Notes некоторые традиционные функции ПО промежуточного слоя выполняются независимыми процессами сервера, которые можно было бы классифицировать и как инструменты, и как сервисы, например, следующие.
Replicator (репликатор) – данный компонент определяет и поддерживает связь между двумя серверами и обеспечивает синхронизацию общих для этих серверов баз данных. Для каждой такой связи Репликатор копирует новые и обновленные вхождения каждой базы данных в соответствующие базы данных другого сервера. В случае конфликта (например, независимого обновления одного и того же объекта на обоих серверах) Репликатор разрешает конфликт, выбрав вхождение-“победитель” и пометив флагом вероятного “проигравшего”.
Catalog – данный компонент поддерживает глобальный каталог всех баз данных сети Notes. Он представляет собой процесс, который периодически обновляет специальную базу данных каталогов, используя информацию о локальных базах данных.
Router – данный компонент передает почтовые сообщения между серверами.
Design. В Lotus Notes базы данных содержат не только данные и их описания, но и определение всех компонентов приложений. Notes поставляется вместе с набором шаблонов, которые представляют собой готовые базы данных. Пользователи применяют шаблоны в качестве первого приближения при создании собственных баз данных. Процесс Design дублирует информацию о приложениях в шаблонах или базах данных на серверах, что очень напоминает работу Репликатора.
Chronos – это фоновый процесс, который выполняет формулы (на языке формул).
Event, Report – представляют собой процессы (программы) администрирования.
Server – выполняет планирование и запуск указанных выше процессов. Существуют и другие встроенные сервисы; пользователи могут разработать свои собственные системные сервисы и зарегистрировать их при помощи сервисов ПО промежуточного слоя.
В Lotus Notes поддерживается множество других инструментов, в том числе инструмент для редактирования форм (Editor), средство создания видов и навигации по видам (View), инструмент для организации доступа к приложениям (Desk). Каждый инструмент также включает частный сервис для конкретных функций, например, проверки орфографии, отправки сообщений и преобразования форматов документов. Lotus Notes – типичная интегрирующая среда нового типа, которая использует специфичные для ИС сервисы ПО промежуточного слоя и уникальный API интегрирующей среды. Если и другие ИС подобного типа завоюют популярность, то можно ожидать появления общих для них сервисов ПО промежуточного слоя и стандартного API.
Генерация отчетов
Отчет – эффективный способ представления данных БД Microsoft Access в формате, пригодном для печати. Пользователь полностью контролирует размеры и внешний вид всего, что есть в отчете, и может отобразить информацию как хочет. Отчет строится на основе данных, полученных из таблиц, запросов или с помощью SQL-инструкций, и информации, заданной в самой конструкции отчета. В отчетах применяются элементы управления и шаблоны.
Кроме объектов БД, обсуждавшихся выше, отчеты в базах данных Microsoft Access содержат дополнительную группу объектов – элементы управления. Они обеспечивают просмотр данных, выполнение действий и оформления форм и отчетов. Например, можно использовать текстовое окно в форме или отчете для вывода данных, командную кнопку – для открытия другой формы или элемент управления типа “линия” или “прямоугольник”, чтобы сгруппировать другие элементы управления (это облегчит их восприятие).
В состав Microsoft Access входят встроенные элементы управления и управляющие элементы ActiveX; все они доступны из панели инструментов в режиме Конструктор (Design view). Microsoft Access содержит следующие типы встроенных элементов управления: поле, надпись, группа, переключатель, флажок, выключатель, поле со списком, список, кнопка, рисунок, присоединенная рамка объекта, свободная рамка объекта, набор вкладок, подчиненная форма/отчет, разрыв страницы, линия и прямоугольник и дополнительные элементы ActiveX.
Элементы управления могут быть связанными, свободными или вычисляемыми. Связанный элемент управления присоединен к полю базовой таблицы или запроса и используется для отображения, ввода или обновления значений из полей базы данных. Для вычисляемого элемента управления в качестве источника данных применяется выражение. В выражении могут участвовать данные из поля базовой таблицы или запроса для формы или отчета, а также данные другого элемента управления формы или отчета. Для свободного элемента управления источника данных не существует. Свободные элементы управления применяются для вывода на экран информации, линий, прямоугольников и рисунков.
Если отчет создается с помощью мастера, стандартные характеристики отчета (по умолчанию) задаются шаблоном. Шаблон определяет, какие разделы будут содержаться в создаваемом документе, а также размеры этих разделов. Он также определяет стандартные настройки свойств отчета, их разделов и содержащихся в них элементов управления.
Для форм или отчетов (по умолчанию) используются шаблоны с названием “Обычный”, но пользователь может выбрать в качестве шаблона имя любой существующей формы или отчета. Выбор шаблона осуществляется на вкладке Формы/Отчеты (Forms/Reports) диалогового окна Параметры (Options) меню Сервис (Tools). Информация о нестандартном шаблоне заносится в раздел HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Access\Setting реестра Windows и применяется ко всем новым отчетам, создаваемым данным пользователем. Шаблоны (точнее, отчеты, предназначенные для применения в качестве шаблонов) можно импортировать в новую и экспортировать в существующие БД.
Шаблон отчета определяет:
• включать ли в отчет верхний и нижний колонтитулы;
• включать ли верхний и нижний колонтитулы на странице;
• размеры (высоту и ширину) разделов;
• какие свойства (по умолчанию) подпадают под действие элементов управления. Однако шаблоны не создают элементов управления в новых отчетах.
Чтобы создать и определить шаблон отчета:
1. Необходимо создать форму или отчет с форматированием иэлементами управления, которые желательно использовать как основу шаблона.
2. В меню Файл (File) выбрать команду Сохранить (Save).
3. В диалоговом окне Сохранить как (Save As) ввести имя отчета.
4. В меню Сервис (Tools) выбрать пункт Параметры (Options), а затем вкладку Формы/Отчеты (Forins/Reports).
5. Чтобы задать шаблон отчета, нужно ввести имя отчета в поле Шаблон отчета (Report Template).