ОБ ОБЪЕДИНЕНИИ МОДУЛЕЙ НА ЯЗЫКАХ C++, DELPHI, C#, JAVA В ЕДИНУЮ ПРОГРАММУ

advertisement
ОБ ОБЪЕДИНЕНИИ МОДУЛЕЙ
НА ЯЗЫКАХ C++, DELPHI, C#, JAVA
В ЕДИНУЮ ПРОГРАММУ
Дипломная работа
студента 6 курса
Полетаева Дмитрия Геннадьевича
Научный руководитель
к.ф.-м.н., ассистент кафедры
Алгебры и дискретной математики
Клепинин Александр Владимирович
Схема объединения программ
Программа на С#
Программа на С++
Модуль
объединения для
С#
Модуль
объединения для
С++
Интеграционный
сервер
Модуль
объединения для
Delphi
Программа на Delphi
Модуль
объединения для
Java
Программа на Java
Схема объединения программ
Программа на С#
Программа на С++
Модуль
объединения для
С#
Модуль
объединения для
С++
Интеграционный
сервер
Модуль
объединения для
Delphi
Программа на Delphi
Виртуальные
каналы
Модуль
объединения для
Java
Программа на Java
Удалённый вызов методов
HOST1
y=calc("text");
HOST2
int calc(String S){
/*вычисления*/}
Канал связи
Удалённый вызов методов
HOST1
y=calc("text");
Отсутствует
определение
метода
Канал связи
HOST2
int calc(String S){
/*вычисления*/}
Удалённый вызов методов
HOST1
y=calc("text");
HOST2
int calc(String S){
/*вычисления*/}
ПРОКСИ:
int calc(int x){
Делегирование вызова}
Канал связи
Удалённый вызов методов
HOST1
y=calc("text");
С++ Java
ПРОКСИ:
int calc(int x){
Делегирование вызова}
Маршалинг Демаршалинг
Канал связи
HOST2
int calc(String S){
/*вычисления*/}
Удалённый вызов методов
HOST1
y=calc("text");
HOST2
int calc(String S){
/*вычисления*/}
ПРОКСИ:
int calc(int x){
Делегирование вызова}
Маршалинг Демаршалинг
Диспетчер
1) Блокировка потока до
получения ответа
2) Мультиплексирование
запросов
Канал связи
Удалённый вызов методов
HOST1
y=calc("text");
HOST2
int calc(String S){
/*вычисления*/}
ПРОКСИ:
int calc(int x){
Делегирование вызова}
Маршалинг Демаршалинг
С++
Диспетчер
1) Блокировка потока до
получения ответа
2) Мультиплексирование
запросов
Канал связи
Удалённый вызов методов
ВЫЗЫВАЕМЫЙ МЕТОД
01 Упаковка запроса
02 Передача запроса
14 Распаковка результата
МАРШАЛИНГ
ПРОКСИ
ДЕМАРШАЛИНГ
ВЫЗЫВАЮЩИЙ МЕТОД
МАРШАЛИНГ
HOST2
ДЕМАРШАЛИНГ
HOST1
ДИСПЕТЧЕР
СЕРВИС
08 Распаковка запроса
09 Вызов метода
10 Упаковка результата
ДИСПЕТЧЕР
03 Отправка запроса
04 Ожидание результата
13 Получение результата
06 Получение запроса
07 Вызов сервиса
11 Отправка результата
КАНАЛ ПЕРЕДАЧИ
05 Передача запроса
12 Передача ответа
Удалённый вызов методов
ВЫЗЫВАЕМЫЙ МЕТОД
01 Упаковка запроса
02 Передача запроса
14 Распаковка результата
МАРШАЛИНГ
ПРОКСИ
ДЕМАРШАЛИНГ
ВЫЗЫВАЮЩИЙ МЕТОД
МАРШАЛИНГ
HOST2
ДЕМАРШАЛИНГ
HOST1
ДИСПЕТЧЕР
СЕРВИС
08 Распаковка запроса
09 Вызов метода
10 Упаковка результата
ДИСПЕТЧЕР
03 Отправка запроса
04 Ожидание результата
13 Получение результата
06 Получение запроса
07 Вызов сервиса
11 Отправка результата
КАНАЛ ПЕРЕДАЧИ
05 Передача запроса
12 Передача ответа
Удалённый вызов методов
ВЫЗЫВАЕМЫЙ МЕТОД
01 Упаковка запроса
02 Передача запроса
14 Распаковка результата
МАРШАЛИНГ
ПРОКСИ
ДЕМАРШАЛИНГ
ВЫЗЫВАЮЩИЙ МЕТОД
МАРШАЛИНГ
HOST2
ДЕМАРШАЛИНГ
HOST1
ДИСПЕТЧЕР
СЕРВИС
08 Распаковка запроса
09 Вызов метода
10 Упаковка результата
ДИСПЕТЧЕР
03 Отправка запроса
04 Ожидание результата
13 Получение результата
06 Получение запроса
07 Вызов сервиса
11 Отправка результата
КАНАЛ ПЕРЕДАЧИ
05 Передача запроса
12 Передача ответа
Удалённый вызов методов
ВЫЗЫВАЕМЫЙ МЕТОД
01 Упаковка запроса
02 Передача запроса
14 Распаковка результата
МАРШАЛИНГ
ПРОКСИ
ДЕМАРШАЛИНГ
ВЫЗЫВАЮЩИЙ МЕТОД
МАРШАЛИНГ
HOST2
ДЕМАРШАЛИНГ
HOST1
ДИСПЕТЧЕР
СЕРВИС
08 Распаковка запроса
09 Вызов метода
10 Упаковка результата
ДИСПЕТЧЕР
03 Отправка запроса
04 Ожидание результата
13 Получение результата
06 Получение запроса
07 Вызов сервиса
11 Отправка результата
КАНАЛ ПЕРЕДАЧИ
05 Передача запроса
12 Передача ответа
Удалённый вызов методов
ВЫЗЫВАЕМЫЙ МЕТОД
01 Упаковка запроса
02 Передача запроса
14 Распаковка результата
МАРШАЛИНГ
ПРОКСИ
ДЕМАРШАЛИНГ
ВЫЗЫВАЮЩИЙ МЕТОД
МАРШАЛИНГ
HOST2
ДЕМАРШАЛИНГ
HOST1
ДИСПЕТЧЕР
СЕРВИС
08 Распаковка запроса
09 Вызов метода
10 Упаковка результата
ДИСПЕТЧЕР
03 Отправка запроса
04 Ожидание результата
13 Получение результата
06 Получение запроса
07 Вызов сервиса
11 Отправка результата
КАНАЛ ПЕРЕДАЧИ
05 Передача запроса
12 Передача ответа
Удалённый вызов методов
ВЫЗЫВАЕМЫЙ МЕТОД
01 Упаковка запроса
02 Передача запроса
14 Распаковка результата
МАРШАЛИНГ
ПРОКСИ
ДЕМАРШАЛИНГ
ВЫЗЫВАЮЩИЙ МЕТОД
МАРШАЛИНГ
HOST2
ДЕМАРШАЛИНГ
HOST1
ДИСПЕТЧЕР
СЕРВИС
08 Распаковка запроса
09 Вызов метода
10 Упаковка результата
ДИСПЕТЧЕР
03 Отправка запроса
04 Ожидание результата
13 Получение результата
06 Получение запроса
07 Вызов сервиса
11 Отправка результата
КАНАЛ ПЕРЕДАЧИ
05 Передача запроса
12 Передача ответа
Программа, использующая удалённый вызов методов
Модуль объединения
Обеспечение интерфейсов
Прокси
Сервисы
Согласование типов данных
Определения типов
Маршалинг
Демаршалинг
Диспетчер
Диспетчер
Подсистема
потоков
управления
Фильтр
запросами
пакетов
Диспетчер
пакетов
Пакет
данных
Канал
передачи
Абстракции
платформы
Программа, использующая удалённый вызов методов
Модуль объединения
Обеспечение интерфейсов
Прокси
Сервисы
Определения типов
Вывод отладочной
информации
Примитивы синхронизации
Согласование
типов данных
Настройка окружения
Генераторы
чисел типов
Определения
Маршалинг
Демаршалинг
Диспетчер
Диспетчер
Подсистема
потоков
управления
Фильтр
запросами
пакетов
Диспетчер
пакетов
Пакет
данных
Канал
передачи
Абстракции
платформы
Программа, использующая удалённый вызов методов
Модуль объединения
Обеспечение интерфейсов
Прокси
Сервисы
Абстракция канала
передачи
Winsock реализация
Согласование
типов данных
Определения типов
Маршалинг
Демаршалинг
Диспетчер
Диспетчер
Подсистема
потоков
управления
Фильтр
запросами
пакетов
Диспетчер
пакетов
Пакет
данных
Канал
передачи
Абстракции
платформы
Программа, использующая удалённый вызов методов
Модуль объединения
Обеспечение интерфейсов
Прокси
Сервисы
Согласование типов данных
Определения типов
Маршалинг
Демаршалинг
Диспетчер
Диспетчер
Подсистема
потоков
управления
Фильтр
запросами
пакетов
Диспетчер
пакетов
Пакет
данных
Канал
передачи
Абстракции
платформы
Download