Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lekcii_RSOI.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
400 Кб
Скачать
☆

3.6.Перенос кода

Вообще-то передаются программы. Каковы же причины для переноса кода?

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

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

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

  1. БД на сервере. Надо выполнить анализ. Варианты:

  1. Тащить фрагмент БД на клиент

  2. Анализ сделать на сервере, а результаты передать на клиент.

  1. Заполнение форм данных. Заполнить на клиенте, проверить, а затем передать на сервер.

  2. Поисковая система: мобильные программы, переносимые с сайта на сайт.

  1. Гибкость. Получается что можно РС формировать динамически под задачу. Возникла задача и известно, откуда взять код, решающий ее. Он загружается, выполняется, выгружается. Но проблема – защита.

3.6.1Модели переноса кода

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

Шаблон:

  1. Сегмент кода

  2. Сегмент исполнения

  3. Сегмент ресурсов (ссылка на внешние ресурсы необходимы процессу)

Модели:

  1. модель слабой мобильности(Applet)

  • простота

  • единственное требование – чтобы машина могла выполнить

  1. модель сильной мобильности

  • перенос 1+2 (можно переносить работающую программу)

  • Инициатор переноса:

- отправитель - (поиск программы напрямую)

- получатель

Где запускать полученную программу?

  • процесс – приемник (Java applet загружен в броузер)

  • в отдельном процессе – более ???

Можно не передавать, а сделать копию.

3.7.Перенос и локальные ресурсы

        1. 3 типа связи процесса с ресурсом:

  1. Процесс передает в точности тот ресурс, на который ссылаются аргументы – ссылка на локальную конечную точку (наиболее сильная связь)

  2. Более слабая связь процессу нужно только значение (libs)

  3. наиболее слабая форма связи – процесс указывает на использование ресурса определенного типа (принтер «номер»)

        1. Связь ресурса с машиной

  1. ??? ресурсы (могут быть перенесены с машины на машину) Например, файлы данных

  2. Свободные ресурсы локальные

  3. фиксированные ресурсы

3.7.1Перенос кода в неоднородных системах

Все упрощается, если применяется модель слабой мобильности. На сегодняшний день ряд языков обладает высокой степенью переносимости, например Java. Недостаток - ???

3.8.О программных агентах

Определение 3.5 Программный агент – автономный процесс, способный реагировать на среду исполнения, вызывать изменения в среде исполнения, возможно в кооперации с другими агентами.

  1. Автономность

  2. инициатива

  3. кооперация

3.8.1Классификация агентов

        1. Мобильные

Могут перемещаться с машины на машину

3.8.2Модель – клиент-сервер

Соотношение клиент-сервер.

Рис. 3.14.

Определение 3.6 Процессы, реализующие службы и предоставляющие к ним доступ, называются серверами.

Определение 3.7 Процессы, запрашивающие службы – клиенты.

Режимы установления соединения:

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

  2. требует TCP/IP

3.8.3Разделение приложений по уровням

Есть задача, как разделить на 2 уровня? Пока универсального решения нет. Рассмотрим ситуацию доступа к БД.

Можно выделить 3 уровня:

  1. Уровень пользователя интерфейсом – содержит все, что необходимо для обмена с пользователем

  2. Уровень обработки – средний уровень

  3. Уровень данных – содержит данные – БД

        1. Вариант разделения приложения модели клиент-сервер.

1-3 можно разбить по физическим объектам.

Разбиение на уровни.

Рис. 3.15.

Таблица 3.4. Утолщение клиента

1.

можно разбить пользователей интерфейса

2. БД на сервере, клиент – у клиента

3. Часть приложения + клиент

4. пользователь интерфейса + приложение

5. Часть БД на клиенте

тонкий клиент толстый клиент

Трехзвенная архитектура.

Рис. 3.16.

Приложение выступает в роли клиентосервера.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]