Файл: Теория баз данных в экономических системы.doc

Добавлен: 15.11.2018

Просмотров: 2783

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Блокировки в Progress поддерживаются вплоть до уровня записей. Существует два типа блокировок: разделяемая (shared) и монопольная (exclusive). Тип и время, на которое блокируется запись, определяются по умолчанию, но могут быть и явно указаны разработчиком. Блокирование доступа возможно на уровне записи, таблицы и базы данных.


3.3.3 Возможности СУБД Progress


Администрирование СУБД.


Сервер баз данных Progress достаточно прост в администрировании, благодаря большому количеству умолчаний и тому, что многие процессы, такие как APWs, автоматически настраивают свое поведение, основываясь на активности использования базы данных, даже если активность принципиально изменяется при переходе с дневной обработки в режиме on-line на пакетную обработку в ночное время. Всего СУБД имеет около 150 конфигурационных опций и параметров, позволяющих оптимально настроить систему для конкретной программно-аппаратной платформы и сетевого взаимодействия.


Некоторые особенности функционирования СУБД Progress.


Каждое приложение работает со словарем базы данных (Data Dictionary), в котором описывается структура базы данных, характеристики отдельных таблиц, полей, индексы, определены триггеры, выполняемые при работе с данными. Все остальные компоненты среды разработки используют по умолчанию информацию, хранимую в словаре, и любые изменения, сделанные в Data Dictionary, наследуются всеми компонентами приложения, в результате чего приложения не зависят ни от физического расположения данных в распределенных и гетерогенных сетях, ни даже от формата источника данных.

Для эффективной работы с документами в Progress существует механизм word indexing - возможность построения индексов по словам в символьном поле.

Приложение может также использовать данные из мета-схемы базы (т. е. само описание базы данных может быть доступно в виде обычной базы) и виртуальные run-time-таблицы (magic tables), содержащие данные об активных блокировках записей, работающих пользователях, параметрах базы данных. Для поддержания семантической целостности базы данных, для различных событий, таких как добавление, удаление, нахождение записи в базе и т. д., можно определить триггеры, выполняемые в ответ на эти события. Механизм триггеров можно использовать для дополнительной журнализации событий в базе, ограничения видимости записей, соответствующих некоторым критериям для определенных групп пользователей. Например, для события find record для таблицы "Зарплата" можно создать триггер, который позволит просматривать записи о зарплате только тех сотрудников, сумма зарплаты которых не превышает определенного для данного пользователя значения, хранимого в другой таблице. Пользователь может даже не догадываться, что просматривает только часть записей. Все триггеры пишутся в виде обычных 4GL-процедур, могут работать с любым источником данных, поддерживаемым Progress, и до сих пор обладали только тем недостатком, что в отличие от хранимых процедур исполнялись на клиентской стороне. Но с появлением в сентябре 1996 года нового продукта Progress AppServer - компонентного сервера приложений - триггеры могут выполняться в любом узле вычислительной сети, в том числе и на самом сервере базы данных.



Компонентный сервер приложений AppServer.


Одним из важных шагов, предпринятых Progress Software в направлении создания распределенных приложений в N-уровневой архитектуре клиент-сервер, является введение в язык понятия удаленных процедур (remote procedures), разрабатываемых на языке 4GL и используемых для разделения приложения на компоненты. Каждый из этих компонентов запускается на своем сервере приложений в непосредственной близости от данных, с которыми он работает, тем самым выделяя сегмент бизнес-логики из приложения - по сути инкапсулируя его функции в различных компонентах, каждый из которых может быть запущен на разных серверах в различных узлах сети. В приложении, написанном с использованием запускаемых на компонентном сервере удаленных процедур, клиентское приложение может вызвать удаленную процедуру и, не дожидаясь возврата из нее, сразу же перейти к следующей процедуре. Работа клиента будет прервана только по окончании выполнения удаленной процедуры для возвращения результата. Очевидно, что при этом общая производительность приложения значительно возрастает.


Progress/4GL


Компонентный язык 4GL - ядро разработки критически важных приложений, которое позволяет управлять всеми уровнями приложения: пользовательским интерфейсом, бизнес-логикой приложения и данными. Он обеспечивает управление транзакциями, генерацию отчетов, определение механизмов безопасности и целостности данных. В приложении на 4GL для работы с данными можно использовать SQL. Progress/SQL удовлетворяет стандарту ANSI SQL89 Level 2. Также в приложение могут быть интегрированы вставки С, на объекты ActiveX, OLE, механизмы DDL, DDE, Unix named pipes и другие.


Переносимость.


Progress функционирует более чем на 160 программно-аппаратных платформах и поддерживает различные сетевые протоколы - TCP/IP, SPX/IPX, SNA, DecNet, NetBIOS. Приложения, разработанные на одной платформе, могут эксплуатироваться на любой другой из поддерживаемых платформ. Среди них MS-DOS, Novell, Windows, OS/2, Unix (UnixWare, SCO Unix, Interactive, Sun Solaris, AIX, HP-UX, IRIX), Windows NT (Intel, Alpha), OSF/1, OpenVMS, OS/400. Одним из уникальных свойств Progress является то, что одно и то же приложение может работать как в графической среде (Motif, Windows), так и на алфавитно-цифровых терминалах. Разработчик может создавать и различные экранные формы для каждого из типов пользовательского интерфейса.


Интернационализация.


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


В каждой стране используется свой алфавит - набор символов (немецкий, французский, испанский, русский). Для их представления обычно используются таблицы кодировок, содержащие коды от 0 до 255. Однако в некоторых случаях одного байта не хватает для представления всех символов алфавита (китайский, корейский, японский). Progress предоставляет возможность работы как с однобайтовыми, так и двухбайтовыми таблицами кодировок.


Системные сообщения.


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


Одновременная поддержка нескольких языков.


Все более актуальной становится возможность использования одного и того же приложения в различных странах на разных языках с учетом национальных традиций и особенностей. В России разработчикам также приходится решать такого рода задачи. Российские приложения хотят эксплуатировать на Украине, в Казахстане, в других странах бывшего Советского Союза. При этом встает вопрос поддержки национальных алфавитов каждой из этих стран. Progress Software разработала специальный продукт Translation Manager 2 для решения этих вопросов. В его состав входят два основных компонента - Translation Manager и Visual Translator.


Описание процесса перевода приложения.


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

Руководитель проекта определяет те процедуры, которые должны быть переведены на другой язык. После этого он указывает фильтр для типов сообщений, которые необходимо перевести в каждой процедуре. Такими типами могут быть: меню, метки, наименования кнопок и т. д. После этого происходит формирование задания для переводчиков. В задание могут быть включены стандартные словари, содержащие перевод основных терминов, и допускается использование стандартных словарей фирмы Microsoft, которые применялись для перевода Word и Excel. При этом выдается вся статистика, позволяющая оценить трудоемкость работы и возможные сроки ее окончания. Переводчику передается только информация, необходимая для перевода, без логики самого приложения. Задание может посылаться по почте, на дискете или иным способом.


Получив задание, переводчик приступает к его переводу на другой язык. Возможны два режима перевода: поэкранный либо построчный. После окончания перевода и его проверки переводчик посылает выполненное задание обратно руководителю проекта.

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

Разработчиком Progress является американская компания Progress Software Corporation (Бедфорд), имеющая представительства в 64 странах мира. На Progress создано более 3000 приложений, среди которых крупные банковские системы, системы управления промышленными, торговыми предприятиями. На территории СНГ дистрибьютором Progress Software является компания CSBI EE.

Для создания отчетов в интерактивном режиме существует специальная компонента Progress - Report Builder (до версии 8.1 включительно, в последующих версиях - Actuate). Заметим, что Report Builder требует отдельного connect с базой данных, поэтому в однопользовательском сеансе перед входом в среду Report Builder следует отсоединиться от базы данных.





























Список литературы.


1. Бобровски С. Огасlе8. Архитектура. — М.: ЛОРИ, 1999.

2. Вейскас Д. Эффективная работа с Microsoft Access 97 – СПб: ЗАО «Издательство «Питер»,

1999. – 976 с.

3. М. Ф. Гарсиа, Дж. Рединг, Э. Уолен, С. А. ДеЛюк «Microsoft SQL Server 2000. Справочник

администратора». ЭКОМ, 2002

4. Д. Дэвитт, Д. Грей. Параллельные системы баз данных: будущее высокоэффективных баз

данных. СУБД, вып. 2, 1995

5. А.Г. Ляхевич Обзор баз данных. Учебное пособие. Минск, 2002

6. Мамаев Е., Шкарина Л. «Microsoft SQl Server 2000 для профессионалов». СПб:Питер, 2001

7. Ю.Пуха Объектные технологии построения распределенных информационных систем.

СУБД вып.3, 1997.

8. Пейдж В., Хьюз Н., Остин Д. Использование Огасlе8. — К.; М.; СПб.: Вильямc, 1998.

9. Хоторн Роб «Разработка баз данных, Micrososoft SQL Server 2000». Вильямс, 2001

10. Шарон Б., Мэйбл Грэг «Sql Server 2000, Энциклопедия программиста» ДиаСофт, 2001.










77