Заключение

advertisement
УДК 004.4
А.В.Ермольчев, Л.С. Глоба, д.т.н., проф.
Использование современных технологий для
построения распределенных систем
Аннотация
Рассмотрены
основные
концепции
распределенных
систем, приведены варианты архитектурных решений для их
построения. Дан краткий обзор процессов разработки и
шаблонов
проектирования.
Кратко
описаны
варианты
построения уровня пользовательского интерфейса, уровня
процессов предметной области, средств коммуникаций. С
практической стороны основной уклон при этом делался на
использовании технологий корпорации Microsoft.
Absract
Determination of the distributed systems is considered, the
variants of architectural decisions for their development are
described. The brief overview of development processes and design
patterns is given. The variants of user interface level, business
processes level, communication facilities development are briefly
described. From a practical side a basic slope was done on use
Microsoft Corporation technologies.
Введение
Единой
общепринятой
методологии
планирования,
проектирования и разработки распределенных систем на
данный момент не существует, однако основные производители
программного
обеспечения
архитектурные
подходы.
используют
Наиболее
различные
распространена
трехуровневая архитектура, которая, по-видимому, на данный
момент
является
оптимальной.
архитектуры
разрабатываются
средства
технологии.
и
В
Для
поддержания
новые
данной
этой
инструментальные
статье
дан
анализ
современного подхода к построению распределенных систем и
описываются некоторые продукты Microsoft, направленные на
поддержание разработки таких систем.
1.
Распределённые системы
Существующий подход к определению распределенной
системы
имеет
свои
недостатки
[1].
Все
программное
обеспечение, используемое в этой распределенной системе,
могло бы работать и на одном единственном компьютере, но с
точки зрения рассматриваемого подхода такая система уже
перестанет быть распределенной. Следовательно, уже с этой
точки зрения определение распределенной системы должно
включать
в
себя
анализ
образующего
такую
систему
программного обеспечения.
В современных распределенных системах функции одного
уровня
приложения
разнесены
между
несколькими
компьютерами. С другой стороны, программное обеспечение,
установленное на одном компьютере, отвечает за выполнение
функций,
относящихся
к
разным
уровням
приложения.
Следовательно, определение распределенной системы в виде
совокупности компьютеров достаточно условно. Для описания и
реализации
распределенных
систем
предлагается
рассмотрение понятия программной компоненты.
Программная компонента – это обособленная часть
приложения, исполняемая на одном компьютере в пределах
одного процесса, и предоставляющая собой некий набор
сервисов, которые используются через ее внешний интерфейс
другими частями приложения, выполняющимися как на этом же,
так
и
на
удаленных
компьютерах.
Ряд
компонент
пользовательского интерфейса при этом могут предоставлять
свой сервис конечному пользователю.
Используя определение программной компоненты, можно
дать более точное определение распределенной системы.
Согласно нему, распределенная система представляет собой
совокупность
взаимодействующих
выполняющихся
на
одном
или
программных компонент,
нескольких
связанных
компьютерах, которая выглядит с точки зрения пользователя
системы как единое целое. При исправном функционировании
системы от конечного пользователя должно быть скрыто, где и
как выполняются его запросы.
Программная
компонента
является
минимальной
единицей развертывания распределенной системы. В ходе
модернизации системы одни компоненты могут быть обновлены
независимо от прочих компонент.
Организация распределенных систем включает в себя
дополнительный
уровень
программного
обеспечения,
находящийся между верхним уровнем, на котором находятся
пользователи и приложения, и нижним уровнем, состоящим из
операционных
систем.
Такое
программное
обеспечение
называется промежуточным.
При
разработке
проектов
распределённых
систем
решающими факторами выступают ответы на следующие
вопросы:
- кто и каким образом будет разрабатывать;
- какую архитектуру использовать при разработке;
- какие элементы решения являются типизированными
(шаблонными);
- какие
платформы
будут
использоваться
при
разработке и эксплуатации;
Далее рассматриваются вопросы построения архитектуры
распределённых приложений и возможность их практической
реализации с использованием технологий корпорации Microsoft.
2.
Процессы разработки
Для ответа на вопрос «кто и каким образом будет
разрабатывать» предлагается рассмотреть, какие существуют.
Основные подходы к разработке программного обеспечения
представлены так называемыми процессами разработки.
Существует три разновидности процессов разработки
программного
обеспечения:
каскадная
(последовательная),
спиральная (итеративная, гибкая) и комплексная.
В каскадном процессе [2] используется последовательный
подход, при котором вехи (контрольные точки) используются в
качестве точек оценки и перехода от одной фазы разработки к
другой. Все задачи, относящиеся к одной фазе разработки,
должны быть завершены до того, как начнется следующая фаза
разработки. Каскадный процесс работает наилучшим образом,
когда на начальном этапе проекта можно четко определить
неизменный набор требований к разрабатываемому решению.
Фиксация переходов от одной фазы разработки к другой
облегчает
распределение
ответственности,
следование календарному графику проекта.
отчетность
и
Спиральный
постоянного
процесс
пересмотра,
[2]
учитывает
уточнения
и
необходимость
оценки
проектных
требований. Он может быть очень эффективным при быстрой
разработке небольших проектов. Этот фактор стимулирует
активное
взаимодействие
между
проектной
группой
и
заказчиком, поскольку заказчик оценивает ход и результаты
работы на протяжении всего проекта. Недостатком спиральной
модели является отсутствие четких вех, что может привести к
хаотизации процесса разработки.
К спиральным процессам относят Unified Process, XP,
Scrum.
Комплексные процессы сочетают в себе черты каскадной
и спиральной моделей. К таковым относится Microsoft Solution
Framework (MSF) [3].
Одной из главных особенностей MSF является то, что
здесь
объединены
процессов.
При
принципы
этом
каскадного
сохраняются
и
спирального
преимущества
упорядоченности каскадного процесса модели, и не теряются
гибкость и творческая ориентация процесса спирального.
MSF
предлагает
проектирования,
методики
разработки
и
для
внедрения
планирования,
программного
обеспечения различной сложности, включая и распределённые
системы. Благодаря своей гибкости, масштабируемости и
отсутствию жестких инструкций у MSF есть возможность
удовлетворить нужды организации или проектной группы
любого размера. Методология MSF состоит из принципов,
моделей и дисциплин по управлению персоналом, составными
процессами, технологическими элементами и связанными со
всеми
этими
факторами
вопросами,
характерными
для
большинства проектов.
MSF состоит из двух моделей и трех дисциплин:
модели:
- проектной группы;
- процессов;
дисциплины:
- управление проектами;
- управление рисками;
- управление подготовкой.
3.
Архитектура построения распределенных систем
Распределённую систему можно представить с помощью
3-х уровневой модели, включающей уровни пользовательского
интерфейса, логики процессов предметной области (бизнеслогики), доступа к данным и ресурсам.
Одной
систем
из
простых
является
разновидностей
архитектура
распределённых
«клиент-сервер».
Клиент
отправляет серверу запрос, сервер обрабатывает его и
возвращает результаты клиенту. При этом в зависимости от
того, на какой стороне реализуется логика предметной области,
различают клиетноцентричную и сервероцентричную.
При реализации 3-уровневой архитектуры каждый из
уровней реализуется как отдельная программная компонента.
В
случае
реализации
любого
из
уровней
в
виде
совокупности программных компонент мы получаем архитектуру
«N-уровнего приложения».
4.
Разработка
уровня
пользовательского
интерфейса
На сегодняшний день используется несколько различных
подходов к взаимодействию с пользователем. Каждый из этих
подходов с практической стороны воплощен в соответствующей
разновидности
пользовательского
интерфейса,
которые
приведены ниже:
- интерфейс приложений командной строки;
- графический
пользовательский
интерфейс
с
использованием форм (окон);
- интерфейс
интерактивных
веб-страниц
с
динамическим содержимым.
Помимо
этого
необходимо
заметить,
что
уровень
пользовательского интерфейса может быть ориентирован не
только на обычные компьютеры, но и на всевозможные
мобильные устройства.
Исходя
пользователем
из
и
выбора
средств
производится
взаимодействия
выбор
с
соответствующей
технологии, с помощью которой разрабатывается уровень
пользовательского интерфейса.
В
настоящее
используется
время
достаточно
интерфейс
редко.
Чаще
командной
строки
всего
можно
его
встретить в приложениях системного администрирования и
тестирования.
4.1. Обзор Windows Forms и Windows Presentation
Foundation
Интерфейс приложений с использованием форм (окон)
реализован в приложениях, выполняющихся на клентской
стороне.
На
сегодняшний
день
существует
несколько
технологий, предлагающих средства для создания интерфейсов
такого типа. Как правило, они предлагают более высокий
уровень
абстракции
и
инкапсулируют
рутину
работы
с
различными системными функциями и обработке сообщений
или сигналов операционной системы. Рассмотрим в качестве
примера
две
технологии
разработки
пользовательского
интерфейса подобного типа, входящие в состав Microsoft .NET
Framework: Windows Forms и Windows Presentation Foundation
[4].
Технология
входящими
Классы,
в
Windows
Forms
пространство
входящие
в
это
реализуется
имён
классами,
System.Windows.Forms.
пространство
имён,
являются
оболочкой для всех стандартных функций Win32 API. Благодаря
этому внешний вид и поведение стандартного приложения
Windows можно обеспечить классами пространства имён
System.Windows.Forms. В этом пространстве имен определены
все стандартные элементы управления Windows Forms.
Функцональность, поддерживающая взаимодействие с
Windows, включает свойство Handle, содержащее дескриптор
окна. Дескриптор окна – это значение типа HWND, уникально
идентифицирущее
рассматриваться
окно.
как
Элемент
окно,
управления
поэтому
у
может
него
есть
соответствующий дескриптор. Оконные дескрипторы в свою
очередь
связаны
с
соответствующими
графическими
ресурсами, представленными в виде обычных битовых матриц.
Однако
вошедщая
в
состав
.NET
Framework
3.0
технология Windows Presentation Foundation (WPF) полностью
меняет этот подход.
WPF – одно из четырёх главных расширений .NET
Framework, предназначенное для создания пользовательского
интерфейса в интеллектуальных клиентских приложениях. В то
время, как элементы управления Windows Forms основаны на
собственных элементах управления Windows, использующих
оконные дескрипторы (Window handles), которые основаны в
первую очередь на экранных пикселях, WPF базируется на
DirectX. Приложение WPF не использует оконные дескрипторы
и базируется на векторной графике, поэтому размеры как
элементов, так и всего пользовательского интерфейса легко
масштабировать. Кроме того, здесь включена поддержка 2D,
3D, анимации, звука и видео.
Одно из важнейших преимуществ WPF заключается в том,
что работа по созданию пользовательского интерфейса легко
может быть разделена между дизайнерами и разработчиками.
Результат работы дизайнера может быть непосредственно
использован разработчиком. При этом одну из ключевых ролей
играет использование XAML (XML-подобный язык для разметки
приложений)
в
качестве
языка
декларативного
описания
пользовательского интерфейса.
На данный момент существует множество конверторов
популярных векторных графических форматов в формат XAML.
Для
некоторых
разработаны
популярных
векторных
соответствующие
редакторов
плагины.
Помимо
также
этого
корпорация Microsoft разработала собственный инструментарий
для полноценной разработки приложений WPF под названием
Expression. В него входят следующие программные продукты:
- Microsoft Expression Blend;
- Microsoft Expression Design;
- Microsoft Expression Web;
- Microsoft Expression Media;
- Microsoft Expression Encoder.
Помимо возможности построения клиентских приложений,
WPF предоставляет возможность строить приложения для
основных типов веб-браузеров, работающих не только под
управлением Windows, но также MacOS и Linux. Эта технология
получила название Silverlight (для Linux существует проект под
названием
Moonlight).
Необходимая
функциональность
на
стороне клиента реализуется при помощи соответствующего
плагина
для
браузера.
Он
представляет
обозревателю
внутреннюю модель DOM. Так как язык XAML основан XML,
документ,
определяющий
пользовательский
загружаемый
интерфейс,
вполне
клиенту
пригоден
для
индексирования поисковыми системами. Приложение Silverlight
начинается с вызова объекта Silverlight из HTML страницы,
который и загружает файл XAML. Этот файл содержит объект
Canvas, выступающий подложкой для всех других элементов.
Объекты
XAML
способны
события,
которые
могут
генерировать
быть
соответствующие
обработаны
необходимым
образом.
Вся функциональная часть приложений WPF и Silverlight
может программироваться с использованием любого языка,
входящего в состав .NET Framework.
4.2. Обзор ASP.NET и ASP.NET AJAX
В
отличие
пользовательский
от
приложений,
интерфейс
на
формирующих
клиентской
стороне,
приложения, использующие интерфейс интерактивных веб-
страниц с динамическим содержимым на клиентской стороне
его
только
отображают
посредством
веб-браузера.
Формируется же он на стороне веб-сервера. Одной из
технологий,
способных
формировать
динамическое
веб-
содержимое, является ASP.NET (Рис.1) [4].
Одним из ключевых отличий от других технологий
является то, что технология ASP.NET является частью .NET
Framework и обеспечивает полноценную объектную модель для
всех элементов управления. На стороне сервера возможен
доступ до всех классов .NET Framework, что позволяет
интегрироваться со множеством служб. Элементы управления
ASP.NET предлагают богатый набор функциональности.
Обработка ресурса
.aspx на сервере
Запрос ресурса .aspx
Сгенерированный
ASP.NET ресурс в ответе
Результат обработки
Сервер
.aspx
IIS
Страница
ASP.NET
в ресурсе
.aspx
База
данных
Другие
ресурсы
Операционная
система
Рис.1. Базовая архитектура ASP.NET
Модель кода ASP.NET представляет собой комбинацию
кода разметки (HTML), элементов управления ASP.NET и кода
на любом из языков программирования, поддерживаемых .NET
Framework.
Разметка и код ASP.NET размещаются в файле .aspx, а
код С# или другого языка программирования, добавляемый для
настройки поведения веб-формы, может находиться либо в
этом же файле в блоке <script>, либо в отдельном файле
.aspx.cs (расширение зависит от языка программирования),
который ещё называют файлом отделённого кода.
Процесс
обработки
веб-формы
ASP.NET
выглядит
следующим образом.
1. Процесс
ASP.NET
просматривает
страницу
и
определяет, какие объекты должны быть созданы
для того, чтобы сконструировать экземпляр модели
страницы.
2. Динамически создаётся базовый класс страницы,
включая члены для элементов управления страницы
вместе с их обработчиками событий.
3. Дополнительный код, включённый в страницу .aspx,
вместе со всеми дополнительными файлами кода
страницы, комбинируется с этим базовым классом
для завершения построения объектной модели.
4. Полный код компилируется и помещается в кеш для
обработки последующих запросов.
5. Генерируется
HTML(или
WML)-код,
который
возвращается пользователю.
На
страницы
ASP.NET
можно
добавлять
три
типа
элементов управления:
- серверные элементы управления HTML;
- серверные элементы управления Web;
- настраиваемые
и
пользовательские
элементы
управления.
Дополнительные
возможности
по
созданию
пользовательского интерфейса для веб-клиентов привносит
технология ASP.NET AJAX [4]. Она представляет собой
реализацию каркаса Ajax от Microsoft.
Сама
по
себе
технология
Ajax
скорее
является
комбинацией других технологий (HTML/XHTML, CSS, DOM,
JavaScript,
XML,
XMLHttpRequest),
обеспечивающая
возможность реализовывать богатый потенциал современных
браузеров.
Ключевым определяющим средством технологии Ajax
можно
определить
способность
веб-браузеров
взаимодействовать с веб-сервером во внеполосных операциях.
Такую способность ещё называют частично-страничным или
асинхронным обменом. Это означает, что пользователь может
взаимодействовать с серверными функциями и данными без
необходимости полного обновления страниц, так как при этом
часть операций выполняется на клиенте. В свою очередь это
приводит к снижению трафика и более быстрой реакции вебприложения. Помимо этого клиентская часть веб-приложения
становится
более
дружественной
к
пользователю
и
предоставляет ему намного более комфортную рабочую среду.
5.
Реализация
уровня
процессов
предметной
области с использованием Windows Workflow Foundation
Windows Workflow Foundation (WF) представляет модель, в
которая позволяет определять и выполнять процессы с
использованием набора строительных блоков – действий
(activities). Создавать эту модель можно с помощью визуального
конструктора, создавая тем самым шаблон рабочего потока.
Далее этот шаблон может быть выполнен за счет
создания и запуска на выполнение экземпляра рабочего потока
WorkflowInstance.
называется
Код,
выполняющий
исполняющей
рабочий
средой
рабочего
поток,
потока
WorkflowRuntime, и этот объект также может содержать в себе
множество служб, к которым может обращаться рабочий поток.
В любое время может выполняться несколько экземпляров
рабочего потока, а исполняющая среда выполняет функции по
планированию этих экземпляров, сохраняя и восстанавливая их
состояние.
Помимо
этого,
исполняющая
среда
может
записывать поведение каждого экземпляра рабочего потока по
мере его работы.
В свою очередь рабочий поток конструируется из ряда
действий, и эти действия осуществляются в исполняющей
среде. Действием может быть обновление строки в базе
данных,
отправка
транзакции
в
электронной
системе
почты
или
плана.
Существует
заднего
выполнение
ряд
встроенных действий, которые могут быть использованы для
выполнения работ общего назначения, и, кроме того, при
необходимости можно создавать собственные действия и
подключать их к рабочему потоку.
6.
Использование
Windows
Communication
Foundation при построении распределенных систем
Windows Communication Foundation (WCF) представляет
собой новую коммуникационную технологию, включающую все
средства её предшественников, и комбинирует их в одной
программной модели.
Декларативное
наследования
от
поведение.
базового
Вместо
класса
присутствует в .NET Remoting и
(такое
требования
требование
Enterprise Services) для
определения
служб
могут
использоваться
атрибуты.
Это
подобно Web-службам, разработанным на ASP.NET.
Коммуникационные
каналы.
Хотя
технология
.NET
Remoting очень гибка в отношении коммуникационного канала,
WCF
-
хорошая
альтернатива,
поскольку
обеспечивает
аналогичную гибкость. WCF представляет множество каналов
для взаимодействия с использованием HTTP, TCP или канала
ICP.
Хостинг компонентов и служб. Точно так же, как вы
можете использовать настраиваемые хосты с .NET Remoting и
Web Services Enhancements (WSE), можно развернуть службу
WCF в исполняющей системе ASP.NET, служб Windows,
процессе COM+ или просто в приложении Windows Forms для
одноранговых вычислений.
Расширяемость. .NET Remoting имеет существенную и
гибкую возможность расширения. Здесь не только можно
создавать собственные каналы, форматировщики и прокси, но
также внедрять функциональность внутрь потока сообщений на
клиенте
и
сервере.
WCF
предоставляет
подобную
расширяемость; однако здесь расшения создаются за счет
применения заголовков SOAP.
Инфраструктура
независимых
от
использоваться
Предлагаемые
безопасности.
платформы
Web–
стандартизованная
стандарты
Для
служб
среда
реализованы
реализации
в
должна
безопасности.
WSE
3.0
и
продолжены в WCF.
Поддержка
полной
предшествующих
перезаписи
использования
WCF
технологий.
распределенного
последнюю
можно
решения
Вместо
для
интегрировать
с
существующей технологией. Канал, предоставленный WCF,
взаимодействует
с
обслуживаемыми
компонентами
с
применением DCOM. Web – службы, разработанные на
ASP.NET, также могут быть интегрированы.
7.
Возможность использования Windows CardSpace
для управления идентификацией пользователей
Windows
CardSpace
—
(WCS)
технология,
которая
представляет собой основанное на отраслевых стандартах
решение для управления идентификацией при работе с
Интернетом. WCS — это способ простой и безопасной
идентификации
пользователей
при
перемещении
между
ресурсами Интернета без необходимости повторного ввода
имен и паролей.
В
отличие
от
унифицированной
ранее
используемых
идентификации
технологий
(например,
Microsoft
Passport), WCS управляет непосредственно пользователями и
приложениями, с которыми устанавливается контакт (а не из
централизованного ресурса). Имеется возможность применения
разных
схем
и
уровней
сложности
для
идентификации,
например, при доступе на Web-форумы, или для проведения
банковских операций.
8.
Использование шаблонов проектирования
Шаблон
эффективный
проектирования
способ
(паттерн,
решения
pattern)
характерных
—
это
задач
проектирования, в частности проектирования компьютерных
программ [5]. Шаблон не является законченным образцом
проекта, который может быть прямо преобразован в код. Он
представляет собой описание или образец для того, как решить
задачу, таким образом, чтобы её можно было использовать в
различных ситуациях. Объектно-ориентированные шаблоны
зачастую показывают отношения и взаимодействия между
классами или объектами без определения того, какие конечные
классы или объекты приложения будут использоваться. При
этом алгоритмы не рассматриваются как шаблоны, так как они
решают задачи вычисления, а не проектирования.
Основная польза каждого отдельного шаблона состоит в
том, что он описывает решение целого класса абстрактных
проблем. Также тот факт, что каждый шаблон имеет свое имя,
облегчает дискуссию об абстрактных структурах данных (ADT)
между разработчиками, так как они могут ссылаться на
известные шаблоны.
Таким образом,
за счёт
шаблонов
производится унификация терминологии, названий модулей и
элементов проекта.
Правильно сформулированный шаблон проектирования
позволяет,
отыскав
удачное
решение,
многократно
его
использовать. В отличие от идиом, шаблоны независимы от
применяемого языка программирования.
Существуют
следующие
основные
типы
шаблонов
проектирования:
- основные шаблоны (Fundamental);
- порождающие шаблоны проектирования;
- структурные шаблоны (Structural);
- поведенческие шаблоны (Behavioral);
- шаблоны
параллельного
программирования
(Concurrency).
Помимо них существует ряд других шаблонов:
- шаблоны
предоставление
доступа
к
хранимой
описывают
основной
информации;
- аналитические
подход
шаблоны,
для
составления
требований
для
программного обеспечения (requirement analysis) до
начала самого процесса программной разработки;
- коммуникационные шаблоны, описывают процесс
общения
между
отдельными
участниками/сотрудниками организации;
- организационные
шаблоны,
описывают
организационную иерархию предприятия/фирмы;
- «анти-шаблоны»
(Anti-Design-Patterns)
описывают,
как не следует поступать при разработке программ,
показывая характерные ошибки в дизайне и в
реализации.
9.
Платформенные
решения
для
построения
распределенных систем
Здесь в качестве примера предлагается рассмотреть уже
готовые архитектурные решения от корпорации Microsoft:
Microsoft Connected Services Framework и Microsoft Unified
Communications.
Платформа Microsoft Connected Services Framework
обеспечивает общие сервисные функции, необходимые для
связывания воедино сетей и служб доставки информационного
наполнения.
С
помощь
данной
платформы
решается
проблема
интеграции различных архитектур, на базе которых работают
корпоративные и телекоммуникационные инфраструктуры, с
использованием более гибкой абстрагирующей архитектуры и
единой
системы
коммуникаций
интероперабельности.
с
Платформа
высоким
уровнем
Connected
Services
Framework решает названную проблему, предлагая заказчикам
сервисно-ориентированную архитектуру SOA (Service-Oriented
Architecture) и технологию web-служб XML в качестве единой
коммуникационной среды.
Открытая архитектура создания новых видов услуг,
реализованная в этой платформе, может использоваться
сторонними
разработчиками
развертывания
и
для
администрирования
быстрого
создания,
базовых
Leaf-служб
(«листья» в древовидном иерархическом представлении) и
сложных Composite-служб (комбинированные сервисы).
Платформа
Microsoft
Connected
Services
Framework
помогает в улучшении экономического эффекта от внедрения
новых услуг, а также в снижении сложности и рисков
развертываемых систем. Она представляет собой основу,
которую можно доработать для решения необходимого спектра
задач.
Использование
интегрированной
среды
разработки
Microsoft Visual Studio .NET в комбинации с платформой
Connected Services Framework позволяет быстро создавать
совершенно новые типы услуг. Услуги можно создавать на
основе собственного кода, а можно использовать надстройки
для уже опубликованных web-служб, в том числе службы
коротких сообщений SMS, управления трафиком, для биллинга
и др.
Платформа Microsoft Connected Services полностью готова
к встраиванию в существующие среды OSS/BSS, а также в
разного
рода
сетевые
системы,
с
использованием
неразрушающих существующую архитектуру web-служб или
других стандартных протоколов.
Устраняет необходимость использования единой для всех
услуг структуры биллинга, которую иногда называют «one size
fits all» (всех «под одну гребенку»). Транзакционная, подписная,
повременная и пакетная – любые виды оплаты можно
эффективно
контролировать
с
помощью
инструментов
платформы Connected Services Framework. Высокая скорость и
гибкость
реализации
дополнительные
системы
возможности
биллинга
для
создает
экспериментов
и
оптимизации бизнес-моделей.
Благодаря
интерфейсов
использованию
для
работы
со
структурированных
сторонними
поставщиками
информационного наполнения и услуг, платформа Connected
Services Framework позволяет использовать материалы в
режиме реального времени.
Microsoft
Unified
–
Communications
это
единая
платформа объединенных коммуникаций, которая внедряет
ориентированные на пользователей, интуитивно понятные и
экономичные решения в рабочую среду. Основная цель
решения – кардинально поднять эффективность работы людей
как
главного
ресурса
бизнеса.
Для
корпоративных
пользователей
переход
на
платформу
объединенных
коммуникаций Microsoft означает возможность управления
всеми средствами взаимодействия в рамках Microsoft Office в
одной системе с единым входом. Для
особенно
актуальны
такие
ИТ-специалистов
конкурентные
преимущества
Microsoft Unified Communications, как экономия затрат на
эксплуатацию, упрощение инфраструктуры, высокая степень
безопасности.
В
основе
платформы
объединенных
коммуникаций
корпорации Microsoft лежат такие технологии корпорации
Microsoft: Microsoft Exchange Server, Microsoft Office Live Meeting,
Microsoft Office Live Communications Server 2005 и Microsoft
Office Communicator 2007. Поскольку новые версии этих
продуктов входят в состав выпуска Microsoft Office 2007,
предлагается единая платформа объединенных коммуникаций,
которая
внедряет
ориентированные
на
пользователей,
интуитивно понятные и экономичные решения в рабочую среду
сервера базы данных и объединяет электронную почту, обмен
мгновенными
сообщениями,
передачу
речи
(включая
телефонную связь) и видео в единую интуитивную систему,
ориентированную на пользователей, а не на технологии.
Появляется
возможность
заменить
конфликтующие
системы единой платформой объединенных коммуникаций,
которая
будет
способствовать укреплению
инфраструктуры
упрощению
данных
и
существующей
телекоммуникаций.
инфраструктуры
отделы
Благодаря
информационных
технологий смогут предоставлять более гибкие и безопасные
средства взаимодействия, что в свою очередь упростит
управление
и
снизит
общую
стоимость
основных
проблем
владения
оборудованием.
Заключение
Несомненно,
одной
из
разработки
программных систем на сегодняшний день является построение
распределенных
систем.
Разработчики
современного
программного
обеспечения
поддерживают
трехуровневую
архитектуру таких систем, причем для реализации каждого из
уровней предлагается как минимум одна технология. Также
помимо технологических решений также предлагаются уже
готовые платформы для создания распределенных систем.
Список использованных источников
1. Таненбаум Э. Распределенные системы: принципы и
парадигмы. – СПб: Питер, 2003.
2. Иванова Г.С. Технология программирования: Учебник для
ВУЗов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2002.
3. Хандхаузен Р. Знакомство с Microsoft Visual Studio 2005
Team System – СПб: Питер, 2006.
4. Нейгел К., Ивьен Б., Глинн Д., Скиннер М., Уотсон К. C#
2005 и платформа .NET 3.0 для профессионалов. – М.:
ООО «И.Д.Вильямс», 2008.
5. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приёмы
объектно-ориентированного
проектирования.
проектирования. – СПб.: Питер, 2007.
Паттерны
Download