Преимущества многоуровневых приложений

· возможность использования различных языков программирования

· централизация компонентов

· балансировка нагрузки

· более эффективный доступ к данным

· улучшенная защита

· более простой доступ к внешним ресурсам

Билет № 10. Использование компонентных технологий для реализации распределенных корпоративных систем.

Распределенная система – это набор независимых компьютеров, представляющийся их пользователям как единая система.

Основная задача – облегчение доступа к удаленным ресурсам и контроль совместного использования этих ресурсов (компьютеров, файлов, данных в БД). Web-страницы и сети также входят в этот список.

Для решения этой основной задачи, РС должна удовлетворять следующим требованиям:

1. Прозрачность.

Важная задача РС состоит в том, чтобы скрыть тот факт, что процессы и ресурсы физически распределены по разным компьютерам. РС, которые представляются пользователям и приложениям в виде единой системы называются прозрачными (transparent).

2. Открытость.

Открытая РС (open distributed system) – это система, предлагающая службы, вызов которых требует стандартные синтаксис и семантику. Например, в сетях формат сообщений должен соответствовать протоколам.

3. Гибкость.

Легкость конфигурирования системы, состоящей из разных компонентов. То есть РС должна быть расширяемой программно и аппаратно.

4. Масштабируемость (расширяемость).

Может измеряться по трем разным показателям:

1. размер – легкость подключения к ней новых пользователей и ресурсов;

2. территориально – пользователи и ресурсы могут быть разнесены в пространстве;

3. административно – система проста в управлении при работе во многих административно независимых организаций.

Понятие программного компонента (software component) является одним из ключевых в

современной инженерии ПО.

Если речь идет об архитектуре ПО (или ведет ее архитектор ПО), под компонентом имеется в виду то же, что часто называется программным модулем. Это достаточно произвольный и абстрактный элемент структуры системы, определенным образом выделенный среди окружения, решающий некоторые подзадачи в рамках общих задач системы и взаимодействующий с окружением через определенный интерфейс.

На диаграммах компонентов в языке UML часто изображаются компоненты, являющиеся

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

Компоненты развертывания являются блоками, из которых строится программное обеспечение. Они относятся к компонентным технологиям, компонентной или компонентно-ориентированной (component based) разработке ПО, компонентах JavaBeans, EJB, CORBA, ActiveX, VBA, COM, DCOM,.Net, Web-службы (web services).

Компонент— выделенная структурная единица с четко определенным интерфейсом.

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

Интерфейсный контракт для каждой операции определяет предусловие и постусловие ее вызова. Предусловие операции должно быть выполнено при ее вызове, иначе корректность результатов не гарантируется. Если эта операция вызывается у компонента, то обязанность позаботиться о выполнении предусловия лежит на клиенте, вызывающем операцию. Если же эта операция вызывается компонентом у другого компонента, он сам обязуется выполнить это предусловие. С постусловием все наоборот — постусловие вызванной у компонента операции должно быть выполнено после ее вызова, и это — обязанность компонента. Постусловие операции определяет, какие ее результаты считаются корректными

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

Помимо компонентной модели, для работы компонентов необходим некоторый набор базовых служб (basic services). Например, компоненты должны уметь находить друг друга в среде, которая, возможно, распределена на несколько машин. Компоненты должны уметь передавать друг другу данные, опять же, может быть, при помощи сетевых взаимодействий, но реализации отдельных компонентов сами по себе не должны зависеть от вида используемой связи и от расположения их партнеров по взаимодействию. Набор таких базовых, необходимых для функционирования большинства компонентов служб, вместе с поддерживаемой с их помощью компонентной моделью называется компонентной средой (или компонентным каркасом, component framework). Примеры известных компонентных сред — различные реализации J2EE,.NET, CORBA. Построение распределенных систем высокого качества является одной из наиболее сложных задач разработки ПО. Технологии типа J2EE и.NET создаются как раз для того, чтобы сделать разработку широко встречающихся видов распределенных систем — так называемых бизнес-приложений, поддерживающих решение бизнес-задач некоторой организации, — достаточно простой и доступной практически любому программисту. Основная задача, которую пытаются решить с помощью распределенных систем — обеспечение максимально простого доступа к возможно большему количеству ресурсов как можно большему числу пользователей. Наиболее важными свойствами такой системы являются прозрачность, открытость, масштабируемость и безопасность.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: