Архитектура распределенных информационных систем и Web-приложений
Распределенная система— это набор независимых вычислительных машин, представляющийся их пользователям единой объединенной системой. Не смотря на то, что все компьютеры автономны, для пользователей они представляются единой системой.
К основным характеристикам распределенных систем:
1. От пользователей скрыты различия между компьютерами и способы связи между ними. То же самое относится и к внешней организации распределенных систем.
2. Пользователи и приложения единообразно работают в распределенных системах, независимо от того, где и когда происходит их взаимодействие.
Распределенные системы должны также относительно легко поддаваться расширению, или масштабированию. Эта характеристика является прямым следствием наличия независимых компьютеров, но в то же время не указывает, каким образом эти компьютеры на самом деле объединяются в единую систему.
Для того чтобы поддержать представление системы в едином виде, организация распределенных систем часто включает в себя дополнительный уровень программного обеспечения, находящийся между верхним уровнем, на котором находятся пользователи и приложения, и нижним уровнем, состоящим из операционных систем (рисунок 1.11).
Соответственно, такая распределенная система обычно называется системой промежуточного уровня (middleware). Отметим, что промежуточный уровень распределен среди множества компьютеров.
К особенностям функционирования распределенных систем относятся:
· наличие большого количества объектов;
· задержки выполнения запросов (так если локальные вызовы требуют порядка пары сотен наносекунд, то запросы к объекту в распределенных системах требует от 0.1 до 10 мс);
· некоторые объекты могут не использоваться на протяжении длительного времени;
· распределенные компоненты выполняются параллельно, что приводит к необходимости согласования выполнения;
· запросы в распределенных системах имеют большую вероятность отказов;
· повышенные требования к безопасности.
Рисунок 1.11 - Распределенная система организована с применением службы промежуточного уровня |
В связи наличием повышенных задержек интерфейсы в распределенной системе должны быть спроектированы так, чтобы снизить время выполнения запросов. Это можно достичь путем снижения частоты обращения, а также укрупнением выполняемых функций.
Для борьбы с отказами клиенты обязаны проверять факт выполнения запросов сервером. Безопасность в распределенных приложениях может быть повышена путем контроля сеансов связи (аутентификация, авторизация, шифрование данных).
Архитектура Web-приложений (Web -сервиса) широко применяется в настоящее время. Web-сервис – приложение, доступное через Интернет. Оно предоставляет услуги, форма которых не зависит от поставщика услуг, так как используется универсальная платформа функционирования и универсальный формат данных (XML). В основе Web –сервисов лежат стандарты, определяющие форматы и язык запросов, а также протоколы поиска этих сервисов в Интернете. Схема доступа к базе данных через Интернет показана на рис.1.12.
Рисунок 1.12 – Схема доступа к серверу СУБД через Интернет |
В настоящее время существуют три различных технологии, поддерживающие концепцию распределенных объектных систем: EJB, DCOM CORBA.
Основная идея, лежащая в разработке технологии EJB (Enterprise Java Beans) – создать такую инфраструктуру для компонентов, чтобы они могли бы легко вставляться и удаляться из серверов, тем самым повышая или снижая функциональность сервера. EJB-компоненты являются Java-классами и могут работать на любом EJB-совместимом сервере даже без перекомпиляции. Основными целями EJB-технологии является:
1. Облегчить разработчикам создание приложений, избавив их от необходимости реализовать с нуля такие сервисы, как транзакции, нити, загрузки и др. Разработчики могут сконцентрировать свое внимание на описании логики своих приложений, перекладывая задачи по хранению, передаче и безопасности данных на EJB-систему.
2. Описать основные структуры EJB-системы и интерфейсы взаимодействия между ее компонентами.
3. Освободить разработчика от реализации EJB-объектов за счет наличия специального кодогенератора.
Благодаря используемойJava-модели, EJB является относительно простым и быстрым способом создания распределенных систем.
Технология DCOM (Distributed Component Object Model) - программная архитектура, разработанная компанией Microcoft для распределения приложений между несколькими компьютерами в сети. Программный компонент на одном из компьютеров может использовать DCOM для передачи сообщений к компоненту на другом компьютере. DCOM автоматически устанавливает соединение, передает сообщение и возвращает ответ удаленного компонента. Способность DCOM связывать компоненты позволила Microcoft наделить Windows рядом дополнительных возможностей, в частности, реализовать сервер Microsoft Transaction Server, отвечающий за выполнение транзакций баз данных через Интернет.
Технология CORBA (Common Object Request Broker Architecture) специфицирует инфраструктуру взаимодействия компонент (объектов) на уровнях представления и приложения модели OSI. Технология позволяет рассматривать все приложения в распределенной системе как объекты. Причем объекты могут одновременно играть роль и клиента и сервера. Использование CORBA позволяет строить более гибкие системы, чем системы клиент-сервер, основанные на двухуровневой и трехуровней архитектурах. К основным достоинствам CORBA можно отнести межязыковую и межплатформенную поддержку, масштабируемость и широкая промышленная поддержка.
Дата добавления: 2016-02-09; просмотров: 7841;