По мере того как все более входит в моду ориентированность на объекты, становится ясно, что если вызов процедуры проходит через границы отдельных машин, он может быть представлен в виде прозрачного обращения к объекту, находящемуся на удаленной машине. Это привело к появлению разнообразных систем промежуточного уровня, реализующих представление о распределенных объектах (distributed objects). Идея распределенных объектов состоит в том, что каждый объект реализует интерфейс, который скрывает все внутренние детали объекта от его пользователя. Интерфейс содержит методы, реализуемые объектом, не больше и не меньше. Все, что видит процесс, – это интерфейс. Когда процесс вызывает метод, реализация интерфейса на машине с процессом просто преобразует вызов метода в сообщение, пересылаемое объекту. Объект выполняет запрашиваемый метод и отправляет назад результаты. Затем реализация интерфейса преобразует ответное сообщение в возвращаемое значение, которое передается вызвавшему процессу. Microsoft DCOM (Distributed COM – распределённая COM) основана на технологии DCE/RPC (разновидности RPC). DCOM позволяет COM-компонентам взаимодействовать друг с другом по сети. Технология DCOM обеспечивает базовые установки безопасности позволяя задавать, кто и из каких машин может создавать экземпляры объекта и вызывать его методы; OMG CORBA (Common Object Request Broker Architecture – общая архитектура брокера объектных запросов) – это технологический стандарт, продвигаемый консорциумом OMG, задачей которого является осуществить интеграцию изолированных систем, дать возможность программам, написанным на разных языках, работающим на разных узлах сети, взаимодействовать друг с другом так же просто, как если бы они находились в адресном пространстве одного процесса; Java RMI (Remote Method Invocation) – программный интерфейс вызова удаленных методов в языке Java.
Как модели могут упростить использование сетевых систем, вероятно, наилучшим образом видно на примере World Wide Web. Успех среды Web в основном определяется тем, что она построена на базе потрясающе простой, но высокоэффективной модели распределенных документов (distributed documents). В модели, принятой в Web, информация организована в виде документов,каждый из которых размещен на машине, расположение которой абсолютно прозрачно. Документы содержат ссылки, связывающие текущий документ с другими. Если следовать по ссылке, то документ, с которым связана эта ссылка, будет извлечен из места его хранения и выведен на экран пользователя. Концепция документа не ограничивается исключительно текстовой информацией. Например, в Web поддерживаются аудио- и видеодокументы, а также различные виды документов на основе интерактивной графики.
Итак, еще раз перечислим и кратко охарактеризуем модели ПУ:
1 Распределенная файловая системаобозначение – «Distributed File System»; достоинство – Относительно простая модель;
цель: обеспечить прозрачный доступ удаленных пользователей к файловой системе;
пример: NFS.
2 Удаленный вызов процедур
обозначение – «Remote Procedure Call (RPC)»;
цель: обеспечение прозрачности удаленного исполнения кода;
особенности функционирования:
– реализация процедуры находится на сервере;
– клиент передает параметры процедуры;
– сервер исполняет процедуру и возвращает результат
– некоторая потеря производительности;
– весь сетевой обмен скрыт от процесса.
3 Распределенные объекты
обозначение – «Distributed Objects:»; особенности функционирования:
– каждый объект реализует интерфейс;
– интерфейс содержит методы, реализуемые объектом;
– процесс видит только интерфейс;
– наиболее популярные технологии распределенных объектов в настоящее время:
– Microsoft DCOM;
– OMG CORBA
– Java RMI.
4 Распределенные документы
обозначение «Distributed Documents»;
– реализация: World Wide Web
– цель: Прозрачность размещения документов; особенности функционирования:
– ссылки связывают документы;
– содержимое не ограничено текстовой информацией. Кратко сформулируем задачи промежуточного уровня:
– обеспечение интероперабельности;
– обеспечение безопасности;
– обеспечение целостности данных;
– балансировка нагрузки;
– обнаружение удаленных компонент.
Чтобы достигнуть цели своего существования – улучшения выполнения запросов пользователя – распределенная информационная система должна удовлетворять некоторым необходимым требованиям.
Читать дальше