2.7MS SQL 2005 Express
Microsoft SQL Server в качестве языка запросов использует версию SQL, получившую название Transact-SQL (сокращённо T-SQL), являющуюся реализацией SQL-92 (стандарт ISO для SQL) с множественными расширениями. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Microsoft SQL Server и Sybase ASE для взаимодействия с сетью используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Протокол TDS также был реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.
SQL Server поддерживает зеркалирование и кластеризацию баз данных. Кластер сервера SQL — это совокупность одинаково конфигурированных серверов; такая схема помогает распределить рабочую нагрузку между несколькими серверами. Все сервера имеют одно виртуальное имя, и данные распределяются по IP адресам машин кластера в течение рабочего цикла. Также в случае отказа или сбоя на одном из серверов кластера доступен автоматический перенос нагрузки на другой сервер.
SQL Server поддерживает избыточное дублирование данных по трем сценариям:
-
Снимок: Производится «снимок» базы данных, который сервер отправляет получателям.
-
История изменений: Все изменения базы данных непрерывно передаются пользователям.
-
Синхронизация с другими серверами: Базы данных нескольких серверов синхронизируются между собой. Изменения всех баз данных происходят независимо друг от друга на каждом сервере, а при синхронизации происходит сверка данных. Данный тип дублирования предусматривает возможность разрешения противоречий между БД.
В SQL Server 2005 встроена поддержка .NET Framework. Благодаря этому, хранимые процедуры БД могут быть написаны на любом языке платформы .NET, используя полный набор библиотек, доступных для .NET Framework, включая Common Type System (система обращения с типами данных в Microsoft .NET Framework). Однако, в отличие от других процессов, .NET Framework, будучи базисной системой для SQL Server 2005, выделяет дополнительную память и выстраивает средства управления SQL Server вместо того, чтобы использовать встроенные средства Windows. Это повышает производительность в сравнении с общими алгоритмами Windows, так как алгоритмы распределения ресурсов специально настроены для использования в структурах SQL Server.
Основаниями для выбора стали следующие свойства SQL Server 2005:
-
Бесплатность SQL Server 2005 Express
-
Полная поддержка .NET Framework
-
Полная интеграция с используемой средой разработки MS Visual Studio 2008
-
Полная интеграция с выбранным веб-сервером IIS
3Архитектура разрабатываемого приложения
3.1Описание и модели архитектуры системы, общее описание принципов функционирования
Система разработана с использованием архитектуры клиент-сервер (рис. 3), когда между клиентом и ядро системы присутствуют посредники в виде веб-браузера и веб-сервера.
Архитектура системы
|
|
Рис.3
|
Разработка информационной системы предполагает описание объектов бизнес логики, взаимодействие с базой данных и взаимодействие с пользователем. Эти уровни полностью описываются в клиент-серверной архитектуре программного обеспечения. Ядро приложения формирует из данных, поступающих от клиентского уровня и уровня БД. На уровне ядра происходит управление этими сущностями. Также ядру нет необходимости знать о том, какой именно интерфейс предоставлен пользователю, что позволяет реализовывать переносимость приложения на различные интерфейсы и платформы.
Архитектура ядра системы
|
|
Рис.4
|
Каждый уровень ядра системы представляет собой модуль, выполняющий строго ограниченные задачи:
-
Отображение – взаимодействие с клиентским интерфейсом для отображения данных и прием данных от пользователя. Реализован в виде aspx-страниц, которые формируют пользовательский интерфейс
-
Бизнес-логика – обрабатывает данные поступающие из БД для передачи их на уровень представления. Передает поступившие данные в БД
-
Взаимодействие с БД – реализовано на основе технологии LINQ (см раздел 3.2.2)
-
Система безопасности и логгирование – обеспечивает контроль доступа к системе
-
Сервисы взаимодействия – веб-сервисы, обеспечивающие взаимодействие ИС с внешними приложениями и другими ИС.
Каждый модуль системы представляет собой отдельную логическую сборку, что позволяет в значительной мере упростить процесс модификации ИС. Сборки представляют собой все уровни архитектуры системы и не могут работать вне этой системы.
Схема взаимодействия сборок представлена на рис. 5
-
-
Схема взаимодействия сборок ядра системы
|
|
Рис.5
|
Описание каждой сборки приведено ниже:
-
Сборка LabTracker.Framework предоставляет набор вспомогательных утилит по конфигурированию системы, кешированию данных.
-
LabTracker.BusinessDeligate – упрощает работу с БД: обеспечивает кэширование данных. Основное предназначение – уменьшить количество обращение к базе, что значительно ускоряет загрузку данных. Отвечает за внутреннюю логику системы.
-
LabTracker.Site – реализует уровень презентации (визуализации) Представлят собой непосредственно веб-портал, с которым и работает пользователь.
-
LabTracker.Excel – обеспечивает экспорт и импорт документов в формат MS Office Excel.
-
LabTracker.WebControls – дополнительные части интерфейса пользователя.
В связи с тем, что каждая сборка выполняет функции сразу нескольких частей системы, то они не рассматриваются отдельно, а только в комплексе с выполняемыми функциями.
|