Программные средства реализации АИРС
К первому классу относятся СУБД, ориентированные для работы на персональном компьютере (dBASE, FoxPro, MS Access и т. п.). Изначально они поддерживали работу с данными только одного пользователя. Вся СУБД такого класса выполняется как единая программа, таблицы базы данных представляются отдельными файлами на диске того же персонального компьютера. С развитием локальных сетей разработчики СУБД… Читать ещё >
Программные средства реализации АИРС (реферат, курсовая, диплом, контрольная)
Средства построения базы данных.
Практически общепринятой в настоящее время стала концепция построения информационных систем на основе реляционной модели данных. В пользу выбора этой модели для построения и рассматриваемой нами АИРС говорят следующие обстоятельства:
- · реляционная модель хорошо исследована, для нее выработаны приемы и методы использования, позволяющие решать практически любые задачи хранения данных и доступа к ним, разработаны также методы приведения к реляционной модели тех данных, предметная структуризация которых естественным образом в реляционную модель не вписывается;
- · реляционная модель интуитивно понятна как разработчику, так и конечному пользователю, так как ее прообразом являются таблицы — хорошо знакомый всем инструмент;
- · практически все промышленно выпускаемые на сегодняшний день средства управления базами данных поддерживают реляционную модель;
- · для реляционной модели существует мощное средство формулирования запросов к базе данных — структурированный язык запросов SQL. Являясь языком непроцедурным, SQL, таким образом, не зависти от среды (аппаратной и операционной), в которой он выполняется. SQL является де-факто стандартом обращений к базам данных, стандарт ANSI SQL поддерживается ISO и обеспечивается большинством промышленно выпускаемых средств.
В настоящее время для построения информационных систем применяются различные системы управления базами данных (СУБД), различающиеся как своими возможностями, так и требованиями к вычислительным ресурсам. Все многообразие применяемых СУБД, однако, можно свести к двум основным их классам: персональные и многопользовательские.
К первому классу относятся СУБД, ориентированные для работы на персональном компьютере (dBASE, FoxPro, MS Access и т. п.). Изначально они поддерживали работу с данными только одного пользователя. Вся СУБД такого класса выполняется как единая программа, таблицы базы данных представляются отдельными файлами на диске того же персонального компьютера. С развитием локальных сетей разработчики СУБД этого класса стали приспосабливать их к работе в сетевой среде, в которой потенциально стало возможным организовать доступ к данным с нескольких персональных компьютеров, включенных в локальную сеть. Файлы базы данных при этом размещаются на файловом сервере. На каждом же рабочем месте работает собственная копия программы-СУБД и прикладная программа, и на их выполнение могут оказывать существенное влияние характеристики компьютера этого рабочего места. Таким образом, при наличии в сети N рабочих мест с одними и теми же данными работают N копий программы-СУБД, одними и теми же данными управляют сразу N копий СУБД. Ошибка в выполнении одной из копий не будет замечена другими копиями. При выполнении запросов к базе данных копия СУБД может либо производить поиск данных в удаленных файлах на файловом сервере, либо копировать все файлы, в которых ведется поиск в свою локальную файловую систему. В первом случае возникают проблемы одновременного доступа к данным при их изменении. Данные, над которыми производится изменения, должны быть заблокированы. Средства файлового сервера позволяют выполнять блокировку на уровне файлов, но не на уровне записей, что существенно снижает эффективность параллельной работы с базой данных многих пользователей. Во втором же случае, во-первых, требуется передача по сети больших объемов информации, а во-вторых, получается, что разные рабочие места работают с разными копиями данных и эти копии могут стать неидентичными.
СУБД второго класса изначально создавались для выполнения на больших компьютерах и обеспечения параллельной работы многих пользователей. Такие СУБД, как правило, состоят из ядра, постоянно присутствующего в памяти, (сервера) и большого количества программ-агентов, обслуживающих запросы конечных пользователей и прикладных программ (клиентов). В этом случае и ядро СУБД, и данные находятся на одном и том же компьютере. Одна копия СУБД управляет одной копией данных. Единая управляющая система позволяет эффективно организовать одновременный доступ к данным многих агентов, предотвращая конфликты между ними. Ошибка в работе СУБД локализована и может быть эффективно исправлена самой же СУБД. При работе в условиях сети ядро СУБД выполняет запросы агентов на выборку данных и передает по сети только результаты выборки. Поскольку быстродействие современных дисковых систем обычно выше, чем скорость передачи данных по сети, уменьшение объема передаваемых данных существенно увеличивает общую эффективность работы системы. При этом не накладывается никаких ограничений на масштаб сети, агенты могут быть связаны с ядром СУБД через любую сеть и любые протоколы передачи данных. Многопользовательские СУБД обладают также неоспоримыми преимуществами в таких аспектах, как надежность, безопасность, доступность. Многопользовательские СУБД с самого начала своей истории использовали в качестве интерфейса запросов язык SQL, отсюда произошло одно из их альтернативных названий — SQL-серверы. Хотя в последнее время подмножества SQL становятся доступными и в персональных СУБД, но в эти подмножества не включаются средства обеспечения безопасности и параллельного доступа к данным — те средства, которые персональные СУБД обеспечить просто не могут.
SQL-серверы разрабатывались первоначально для применения на больших ЭВМ (персональных ЭВМ в то время просто не существовало) и требовали значительных вычислительных ресурсов для своего функционирования. Однако, с одной стороны — мощность вычислительных систем на персональной платформе быстро возрастает, а с другой — производители SQL-серверов предпринимают значительные усилия по снижению их ресурсоемкости, так что к настоящему времени эти СУБД доступны также и на персональной технике. Следует, однако, иметь в виду, что операционная среда, в которой функционируют многопользовательские СУБД, должна обеспечивать реальную многозадачность и многопоточность обработки.
Из наиболее популярных современных многопользовательских СУБД следует назвать:
- · MS SQL Server фирмы Microsoft;
- · Oracle фирмы Oracle;
- · DB2 фирмы IBM.
В таблице приведены сравнительные характеристики этих программных средств при использовании их на персональных вычислительных платформах.
Табл. 1.
ОС+СУБД. | Минимальный объем оперативной памяти (Mb). | Минимальный объем внешней памяти (Mb). | Примерная стоимость (USD). |
Windows NT +MS SQL Server. | 20+4. | 150+80. | 895+790. |
SCO UNIX + Oracle 8. | 32+16. | 600+500. | 1500+2245×8. |
OS/2 Warp Server + DB2. | 16+2. | 120+10. | 1468+1875. |
Функциональные возможности названных СУБД практически одинаковы: все они обеспечивают язык SQL, как средство формулирования запросов, обеспечивают весь необходимый сервис для администрирования базы данных, работу СУБД в режиме клиент/сервер с параллельным многопользовательским доступом к данным. Следует, однако, заметить, что MS SQL Server проигрывает по сравнению с двумя другими названными СУБД в отношении эффективности выполнения при равных ресурсах. Еще одним недостатком этой СУБД следует считать то, что она работает только в среде операционной системы Windows NT, что ограничивает ее применимость только персональной платформой (пусть даже и мощными персональными серверами). Что касается DB2 и Oracle, то эти СУБД принадлежат к числу первых реляционных СУБД и, следовательно, имеют наиболее богатую историю развития и совершенствования. Именно DB2 явилась результатом того проекта корпорации IBM, в котором была сформулирована реляционная модель данных и разработан язык SQL. Обе эти СУБД являются многоплатформенными, хотя Oracle ориентирован, прежде всего, на выполнение в среде операционной системы UNIX и в UNIX-подобных системах. DB2, однако, адаптирована к большему разнообразию аппаратных и операционных сред. По эффективности две указанные СУБД конкурируют между собой с переменным успехом, но Oracle предъявляет большие требования к ресурсам при равной производительности, поэтому стоимость транзакции в DB2 получается на 15−20% ниже.
Указанные соображения позволяют нам рекомендовать в качестве СУБД продукт фирмы IBM DATABASE2 в ее нынешней редакции IBM DB2 Universal Database Server v.5. Реализации DB2 имеются для всех платформ IBM, а также и других производителей аппаратного и программного обеспечения: HP-UX, SCO Unix, Solaris, Windows NT и пр. DB2 — универсальный сервер баз данных, в отличие от многих других СУБД поставляется как единое целое (в других СУБД, в том числе и Oracle, и MS SQL Server, имеются отдельные компоненты, которые нужно заказывать отдельно). На почти всех платформах DB2 использует один и тот же код ядра системы и выполняется идентично, что упрощает процесс изучения и миграции системы (при возникновении потребности) на более мощную платформу (RS/6000, AS/400, System/390).
DB2 является продуктом, работающим в режиме клиент/сервер, причем, клиентская и серверная часть могут работать в разных операционных средах. В составе СУБД имеются средства разработки клиентских приложений (SDK) для всех платформ, на которых доступна серверная часть СУБД, но также и для клиентских сред в которых сервер DB2 работать не может: MS DOS, Windows 3.1, Windows 95, Apple Macintosh.
Для DB2 хранимые процедуры, логику триггеров уровня базы данных и пользовательские функции можно разрабатывать на целом ряде языков программирования, в том числе и на платформенно-независимом языке Java. Это позволяет разрабатывать системы на одной платформе, а затем, по мере надобности легко переносить систему на другие платформы, для которых имеется реализация DB2 и поддержка Java, к числу которых сегодня относятся практически все современные системы.
Средства управления транзакциями.
В предложенной выше модели вычислений клиент/сервер при ориентации в основном на сервер базы данных предусматривается также использование по возможности элементов модели сервера приложений. Перенос на сервер часть логики приложений обеспечит разгрузку ресурсов клиентов и более надежный контроль за выполняемыми клиентами действиями. При этом предполагается, что обращения к СУБД будут формировать не конечные клиенты, а части прикладной задачи, выполняющиеся на сервере и выступающие клиентами по отношению к СУБД, но серверами по отношению к конечным пользователям. Такое построение системы требует специальной поддержки, обеспечивающей непротиворечивость функционирования и целостность данных при параллельной многопользовательской работе. Такая поддержка обеспечивается программными продуктами, называемыми Менеджерами Транзакций.
Лидером среди продуктов такого рода является сервер транзакций IBM CICS — Customer Information Control System. Эта среда специально разрабатывалась для работы в качестве сервера приложений масштаба предприятия, имеет развитые средства управления целостностью данных, поддерживает различные способы взаимодействия с пользователями и серверами баз данных.
CICS может выполняться на одном вычислительном комплексе вместе с DB2, что упрощает систему, повышает ее надежность и облегчает процесс управления всей системой. Этот программный продукт также имеет длинную историю, а, следовательно, и значительный опыт развития и применения. Разработанный первоначально только как средство управления транзакциями, он к настоящему времени превратился в мощное средство интеграции программного обеспечения, функционирующего в распределенной среде, в том числе и гетерогенной. CICS, как и DB2 доступен на сегодняшний день на всех платформах IBM и на платформах других производителей. Входящие в состав CICS средства ISC (InterSystem Communications) обеспечивают прозрачное для приложений взаимодействие в распределенной среде. CICS поддерживает такие способы взаимодействия, как запуск клиентом одной системы транзакции на другой системе, обработка клиентом данных, находящихся в другой системе, установка связи между приложениями, выполняющимися в разных системах.
Средства разработки приложений.
Современные средства разработки приложений все в большей степени базируются на возможностях визуального и объектно-ориентированного программирования. Семейства продуктов визуального программирования имеются для практически всех платформ и выпускаются различными производителями. Для платформ фирмы IBM таким семейством является IBM VisualAge, обеспечивающий языки программирования C++, Smalltalk, Java. Эти интегрированные среды проектирования корпоративных приложений имеют встроенную поддержку стандартных интерфейсов к базам данных, серверам транзакций и коммуникациям и, разумеется, удобные средства разработки презентационной части приложений. Обеспечивают удобную визуальную среду проектирования приложений, опирающихся на объектно-ориентированную модель. В продуктах IBM поддерживается SOM — системная модель объектов, позволяющая использовать одни и те же объекты в различных языковых средах.
При выборе в качестве аппаратной основы какой-либо неперсональной платформы может возникнуть проблема нехватки квалифицированных программистов, так как опыт разработки неперсональных приложений в нашей стране почти утерян. Проблема может быть решена применением кросс-платформенного продукта VisualGen. Среда разработки VisualGen выполняется в операционной системе OS/2 или Windows, т. е., на персональных компьютерах и позволяет программисту-разработчику пользоваться привычными ему средствами объектно-ориентированного и визуального программирования (VisualAge). VisualGen позволяет выбрать целевую среду, — в которой будет выполняться приложение — и сгенерировать код приложения для целевой среды.