Файл: Технология «клиент-сервер» (Общие сведения о программных системах).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 14.03.2024

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

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

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

Частный случай компонентного подхода — доступ к серверным приложениям из браузеров через Интернет. В качестве примеров компонентных моделей могу служить: JavaBeans (EJB), COM (Component Object Model), .NET, Common Object Request Broker Architecture (CORBA).

Технология SOAP (Simple Object Access Protocol) представляет собой простой протокол доступа к объектам (компонентам распределенной вычислительной системы), основанный на обмене структурированными сообщениями (Рисунок 4). Подобно любому протоколу, основанному на текстовых сообщениях, SOAP может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTPS и др., но чаще всего SOAP используется поверх HTTP.

Все сообщения SOAP оформляются в виде структуры, называемой конвертом (envelop), включающей следующие элементы:

- Идентификатор сообщения (локальное имя).

- Опциональный элемент Header (заголовок):

•Ноль или более ссылок на используемые пространства имен;

•Ноль или более свойств, доступных в этом пространстве имен.

- Обязательный элемент Body (тело сообщения):

•Ноль или более ссылок на используемые пространства имен;

•Дочерние элементы тела сообщения

Развернутый список элементов сообщения SOAP приведен в схеме данных (для SOAP версии 1.2) [8].

Пример сообщения SOAP:

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">

<env:Header>

<n:alertcontrol xmlns:n="http://example.org/alertcontrol">

<n:priority>1</n:priority>

<n:expires>2001-06-22T14:00:00-05:00</n:expires>

</n:alertcontrol>

</env:Header>

<env:Body>

<m:alert xmlns:m="http://example.org/alert">

<m:msg>Get up at 6:30 AM</m:msg>

</m:alert>

</env:Body>

</env:Envelope>

Модель подключения SOAP показана на рисунке 4.

Интернет

Soap – сервер

Хранилище

Soap – клиент 3

Soap – клиент 1

Soap – клиент 2

Рисунок 4 – Технология SOAP.

Другой технологией, позволяющей обмениваться сообщениями в распределенных системах является язык разметки XML (Extensible Markup Language), позволяющий использовать обычный текст, обрамленный специальными тэгами, тем самым превращая его в информацию, которая может идентифицироваться и сортироваться. По сути, все документы, которые основаны на языках разметки представляют собой текст в совокупности с тэгами. Тэги позволяют правильно обрабатывать и отображать информацию, заложенную в документе. Одним из основных преимуществ XML является то, что в своей основе он имеет текстовый формат, который может быть легко прочитан и понят человеком. Таким образом, даже после выхода из строя системы обработки информации, данные остаются читабельными. Ниже показан пример описания котировок валют в XML формате:


<ValCurs Date="02.03.2002" name="Foreign Currency Market">

<Valute ID="R01010">

<NumCode>036</NumCode>

<CharCode>AUD</CharCode>

<Nominal>1</Nominal>

<Name>Австралийский доллар</Name>

<Value>16,0102</Value>

</Valute>

<Valute ID="R01035">

<NumCode>826</NumCode>

<CharCode>GBP</CharCode>

<Nominal>1</Nominal>

<Name>Фунт стерлингов Соединенного королевства</Name>

<Value>43,8254</Value>

</Valute>

</ValCurs>

Языки разметки прошли путь от первых форм, создававшихся компаниями и госучреждениями, до Стандартного языка обобщенной разметки (Standard Generalized Markup Language - SGML), гипертекстового языка разметки (Hypertext Markup Language - HTML) и в итоге до XML. SGML может показаться сложным, а HTML (который, по сути, сначала был просто набором элементов) оказался недостаточно мощным для идентификации информации [4]. XML разрабатывался как простой в применении и удобный для расширения язык разметки.

ГЛАВА 2. ОСОБЕННОСТИ ОБЛАЧНЫХ СЕРВЕРОВ ПРИЛОЖЕНИЙ

Среди современных применений клиент-серверных архитектур все большее применение находит концепция облачных вычислений. Облачные вычисления можно назвать парадигмой, подразумевающей распределенную и удалённую обработку и хранение информации. Под значением слова «облако» можно понимать дата-центр, обладающий значительными возможностями в области обработки и хранения данных. Дата-центр зачастую представляет собой совокупность взаимосвязанных серверов. К понятию облачного ресурса можно отнести, как ПО (приложение, открывающееся с помощью Web-интерфейса), так и инфраструктуру, такую как сервер [9].

Выделим критерии, характеризующие облачный сервис:

- пользователю предоставляется возможность использовать сервис с помощью Web-браузера или же с помощью API (интерфейс прикладного программирования, использующегося для доступа к Web-сервисам);

- для пользования сервисом не требуется вычислительных ресурсов;

- пользователь оплачивает время использования сервиса.

Облачные сервисы можно разделить на сервисы инфраструктуры и программные сервисы.

Software as a Service (SaaS, программное обеспечение как услуга) — это одна из концепций облачных услуг, которая позволяет пользователю использовать работающее в облаке программное обеспечение. Стоит отметить, что большинство облачных систем на сегодняшний день предоставляют именно SaaS услуги [10]. Следуя концепции SaaS, пользователь берёт программный продукт в аренду, вместо того чтобы покупать его. В отличие от обычных пакетов программного обеспечения, пользователь платит только за те услуги (программы), которые ему необходимы.


Как пример подобных систем, можно привести набор сервисов для работы с документами, в частности Google Docs и Office Web Apps, разработанные компаниями Google и Microsoft соответственно.

Перечислим некоторые характеристики присущие системе SaaS [11]:

- оплата осуществляется только за фактическое использование (только за то время, в которое использовались сервисы);

- требования, предъявляемые к IT инфраструктуре клиента – минимальны;

- доступ осуществляется чаще всего через Web-браузер;

- пользователь получает мгновенный доступ к системе после регистрации на сервисе;

Для пользователя наибольшее преимущество заключается в получении более быстрого доступа к функционалу и относительном уменьшении затрат, необходимых на развертывание и автономное поддержание работы программ.

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

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

IaaS, инфраструктура как сервис, облачная инфраструктура предоставляется для хранения, управления ресурсами обработки [14]. Это одна из моделей обслуживания в облачных вычислениях, такая, что пользователям, на основе подписки, предоставляются ИТ ресурсы — виртуальные серверы с заданной вычислительной мощностью, операционной системой, как правило, предустановленной поставщиком в виде шаблона и доступом к сети. Популярным программным решением для создания IaaS является OpenStack.

Сравнение классической системы, IaaS, PaaS и SaaS показано на рисунке 5.

Управляется поставщиком

Управляется пользователем

Собственная ИТ инфраструктура

SaaS

Приложение

Данные

Среда исполнения

Операционная система

Виртуализация

Серверы

Хранилища

Сеть

Сеть

Хранилища

Серверы

Виртуализация

Операционная система

Среда исполнения

Данные

Приложение

PaaS

Сеть


Хранилища

Серверы

Виртуализация

Операционная система

Среда исполнения

Данные

Приложение

IaaS

Сеть

Хранилища

Серверы

Приложение

Данные

Среда исполнения

Операционная система

Виртуализация

Рисунок 5 – классическая система, IaaS, PaaS и SaaS.

Рассмотрим модели развёртывания облачных сервисов. Выделяется четыре вида облаков [12]:

- частное,

- публичное,

- общественное,

- гибридное.

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

Публичное облако, как правило, используется широкой публикой со свободным доступом.

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

Гибридное облако – сочетание не меньше двух разных инфраструктур, являющихся уникальными объектами, но взаимосвязанные частными или стандартизованными технологиями передачи данных [13].

Обязательные характеристики облачных вычислений, которые были зафиксированы национальным институтом стандартов и технологий США [15]:

- самообслуживание по требованию,

- универсальный доступ по сети,

- объединение ресурсов,

- эластичность,

- учёт потребления.

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


Теперь рассмотрим две основные модели облачных инфраструктур, такие как Amazon Web Services и Microsoft Azure.

Модель Amazon Web Services имеет широкий диапазон сервисов, каждый из которых содержит в себе концепцию облачной обработки данных. Основными сервисами можно считать:

- Amazon Elastic Cloud Compute (EC2);

- Amazon Simple Storage Service (S3);

- Amazon Simple Queue Service (SQS);

- Amazon CloudFront;

- Amazon SimpleDB.

Из перечисленных сервисов две технологии вызывают наибольший интерес, это технологии Amazon S3 и Amazon EC2.

Web-интерфейс Amazon EC2 предоставляет возможность получить права доступа к вычислительным мощностям и произвести настройку с затратами ресурсов, близкими к минимальным. Пользователь имеет доступную среду для продуктивной работы и полный контроль над вычислительными ресурсами [13].

Amazon S3 даёт возможность получать и хранить данные любого объёма, в какое угодно время из какой угодно точки сети. Сервис позволяет достигнуть высокой надёжности и масштабируемости, при относительно недорогой инфраструктуре хранения данных.

Можно выделить 5 основных ориентиров на которых спроектированы Amazon Web Services. Этот характерный подход можно считать широко используемым у большинства поставщиков облачных услуг и использовать для описания актуального положения рынка облачных услуг.

  • Функциональное совершенство

Компонент функционального совершенства фокусируется на том, как пользователь может постоянно улучшать свою способность управлять системами, создавать более совершенные процессы и получать аналитическую информацию.

При взгляде на операционное превосходство в облаке, полезно взглянуть на него с точки зрения автоматизации. Человеческий фактор - основная причина дефектов и неисправностей. Чем больше операций можно автоматизировать, тем меньше вероятность человеческой ошибки. Автоматизация не только позволяет избежать ошибок, но и помогает постоянно улучшать внутренние процессы. Они продвигают ряд повторяемых передовых практик, которые можно применять в вашей компании.

  • Безопасность

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