Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Сравнение COM (ActiveX) объектов и JAVA апплетов.




Технологии COM и Java applets схожи в некоторых чертах: обе технологии не предполагают установки на компьютере множества дополнительных приложений. Тем не менее, технология JAVA предполагает наличие интерпретатора Java-кода.

В целом JAVA апплеты выполняются медленнее, чем COM объекты, так как объекты – это скомпилированный текст, а апплеты интерпретируются.

COM объекты не являются операционно независимыми в отличие отJAVA апплетов. То, что COM объекты скомпилированы, означает, что их код написан в командах заданного процессора. Поэтому невозможно COM объект выполнить на другой аппаратно-операционной платформе.

Все полученное из Интернет программное обеспечение необходимо проверять на вирусы. Но JAVA предполагает безопасный способ загрузки программ из сети, так как передается текст программы, интерпретируемый Java-машиной (программой), встроенной в браузер.

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

Доступ к удаленным объектам (DCOM,.Net, CORBA)

COM-объекты дают возможность интегрировать приложения, расположенные на одном компьютере. Для удаленного взаимодействия COM-сервера и COM-клиента требуется решить несколько дополнительных вопросов. Основные из них: как узнать, где расположен COM-сервер; как организовать передачу параметров по сети. Эти проблемы решены в технологии DCOM. Основное ограничение DCOM состоит в одинаковости аппаратно-операционной среды на общающихся компьютерах. Технология DCOM явилась фактически заплаточным решением, тем не менее, она оказалась востребованной.

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

Очень важной представлялась также проблема организации межъязыкового общения клиента и сервера. Программы, написанные на разных языках, непросто интегрировать в единый комплекс в связи с тем, что в разных компиляторах по-разному реализована передача параметров. Поясним это. Пусть мы имеем дело с функцией fff (p1 тип1,p2 тип2,p3 тип3), написанной на одном языке и программой ppp, вызывающей эту функцию, написанной на другом языке. Возможные проблемы при организации такого вызова следующие.

· Вызывающая программа (т.е. ppp) должна расположить в стеке фактические параметры. Беда в том, что компиляторы генерируют код, располагающий параметры в стеке либо в прямом либо в обратном порядке. Таким образом, может получиться, например, следующее - в стеке будут расположены параметры так: p1 p2 p3. А вызванная функция будет их выбирать в порядке p3 p2 p1. Поскольку область стека это просто последовательность битов, то нет никакой возможности распознать, где реально находится, где начинается и где заканчивается тот или иной параметр.

· Еще одна проблема проистекает из-за того, что в разных языках может быть разное представление (реализация) одинаковых с точки зрения программиста типов. Уже упоминавшиеся ранее нами целые числа могут быть представлены как «старший байт – младший байт», а могут байты идти наоборот. Строки символов тоже могут храниться в прямом и в обратном порядке. Массивы могут передаваться либо в порядке «по строкам», либо «по столбцам».

· Еще одна проблема при вызове функции, написанной на другом языке, состоит в том, что в языке вызываемой функции может просто не быть нужного типа данных. Например, в вызываемой программе используется четырехбайтное целое, а в вызываемой такого типа просто нет. В связи с чем расположенное в стеке четырехбайтное число будет воспринято неверно. Строки символов могут реализовываться тоже по-разному. Например, как набор символов, заканчивающийся символом с нулевым кодом. Либо как два (или четыре) байта – длина строки, за которыми следует набор символов.

Итак, в технологии.Net решены проблемы межъязыковых вызовов и межъязыковой обработки событий. Но решение основывается на том, что на клиентском и серверном компьютере используется одинаковая аппаратно-операционная среда. То есть вопрос о различных форматах данных не поднимается.

Разработчики стандарта CORBA исходили из того, что система среднего слоя должна решать «на лету» все проблемы взаимодействия вне зависимости от аппаратно-операционной среды за счет преобразования на стороне клиента передаваемых параметров в некоторый стандартный (транспортный) вид и обратного преобразования из транспортного вида в вид, необходимый серверу. Кроме того, проблемы межъязыкового взаимодействия должны решаться на стадии разработки проекта за счет использования набора стандартных типов и предварительного описания CORBA объекта на языке IDL.





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 447 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Вы никогда не пересечете океан, если не наберетесь мужества потерять берег из виду. © Христофор Колумб
==> читать все изречения...

4367 - | 4186 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.