Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИльинаЕА_РПЗ.doc
Скачиваний:
100
Добавлен:
09.12.2018
Размер:
3.36 Mб
Скачать
      1. Технология j2ee Sun

Платформа J2EE, развиваемая в рамках открытого процесса стандартизации JCP (Java Community Process), впервые предложила цельную компонентную модель - EJB (Enterprise JavaBeans), ориентированную на создание серверной бизнес-логики. Данная технология позволяет строить комплексы, функционирующие не только на платформе Microsoft Windows. Она использует парадигму сервера приложений, которая в настоящее время признана критически важной для развертывания компонентов бизнес-логики в распределенной среде.

Однако данная технология также обладает рядом ограничений. Основное – это возможность использования только языка программирования Java. При построении ПК управления системой безопасности часто возникает необходимость решения не только информационных задач, но и задач оперативного управления оборудованием, передачей и отображением аудио и видео информации и пр.  Данные задачи часто требуют тонкой оптимизации на уровне работы с оборудованием или с операционной системой, что не всегда удобно (хотя и возможно) делать в рамках данной технологии.

Приложения, удовлетворяющие стандарту J2EE, состоят из компонентов, которые в процессе выполнения приложений взаимодействуют друг с другом. Спецификация определяет компоненты следующих типов:

    • клиентские приложения и апплеты, которые выполняются на клиентских компьютерах;

    • сервлеты и Java Server Pages, которые представляют собой Web-компоненты и выполняются на Web-серверах;

    • Enterprise JavaBeans, которые являются бизнес-компонентами и выполняются на прикладных серверах.

Все компоненты J2EE имеют одно общее свойство: они должны быть написаны на языке Java. Исключением являются только клиентские приложения. Стандарт разрешает CORBA-клиентам взаимодействовать с серверными компонентами J2EE. Вместе с тем компоненты J2EE отличаются от других J2EE-приложений по нескольким параметрам:

    • они должны соответствовать спецификации J2EE;

    • они разворачиваются во время развертывания J2EE-приложений;

    • они управляются и поддерживаются серверами приложений.

Клиенты J2EE-приложений могут быть нескольких типов. Кроме упоминаемых выше CORBA-клиентов можно выделить Web-клиентов, которые взаимодействуют с серверными компонентами с помощью браузеров. Такие клиенты состоят из двух частей:

    • динамических Web-страниц, написанных на языках разметки (XML, HTML и др.), которые генерируются Web-компонентами, выполняющимися на Web-серверах;

    • Web-браузеров, которые визуализируют эти страницы, получаемые от Web-серверов.

Что касается стоимости данной технологии для пользователей, то в ряде случаев она может быть достаточно ощутимой. Данная технология требует покупки лицензий на коммерческие J2EE-серверы приложений, стоимость которых может быть относительно высокой.

      1. Технология .Net

Microsoft .NET Framework — программная технология, предназначенная для создания как обычных программ, так и веб-приложений (в качестве платформы для разработок впервые предложена корпорацией Microsoft).

.NET как вычислительная модель. Корпорацией Microsoft предложен компонентно-ориентированный подход к проектированию, который является развитием объектно-ориентированного направления. Согласно этому подходу, интеграция объектов (возможно, гетерогенной природы), производится на основе интерфейсов, представляющих эти объекты (или фрагменты программ) как независимые компоненты. Такой подход существенно облегчает написание и взаимодействие программных «молекул»-компонент в гетерогенной среде проектирования и реализации. Стандартизируется хранение и повторное использование компонент программного проекта в условиях распределенной сетевой среды вычислений, где различные компьютеры и пользователи обмениваются информацией, например, взаимодействуя в рамках исследовательского или бизнес-проекта.

Существенным преимуществом является и возможность практической реализации принципа «всякая сущность является объектом гетерогенной программной среды». Во многом это стало возможным благодаря усовершенствованной, обобщенной системе типизации Common Type System, или CTS.

Строгая иерархичность организации пространств для типов, классов и имен сущностей программы позволяет стандартизировать и унифицировать реализацию.

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

Универсальный интерфейс .NET Framework обеспечивает интегрированное проектирование и реализацию компонент приложений, разработанных согласно различным подходам к программированию.

.NET как технологическая платформа. Обеспечивает одновременную поддержку проектирования и реализации программного обеспечения с использованием различных языков программирования. При этом поддерживаются десятки языков программирования, начиная от самых первых (в частности, COBOL и FORTRAN) и заканчивая самыми современными (например, C# и Visual Basic). Ранние языки программирования до сих пор активно используются, в частности, для обеспечения совместимости с ранее созданными приложениями, критичными для бизнеса.

Применение технологии веб-сервисов – это наиболее приемлемая практически возможность обеспечения масштабируемости и интероперабельности приложений. Под масштабируемостью понимают возможность плавного роста времени ответа программной системы на запрос с ростом числа одновременно работающих пользователей; в случае веб-сервисов масштабируемость реализуется посредством распределения вычислительных ресурсов между сервером, на котором выполняется прикладная программа (или хранятся данные) и компьютером пользователя.

Под интероперабельностью понимается возможность интегрированной обработки гетерогенных данных, поступающих от разнородных прикладных программ. Именно благодаря интероперабельности возможна унификация взаимодействия пользователей через приложение с операционной системой на основе специализированного интерфейса прикладных программ, или API-интерфейса (Application Programming Interface).

Безопасность в .NET. В.NET реализована такая мера безопасности, как автоматизированное управление жизненным циклом программного обеспечения. Для программиста это проявляется, например, в автоматической реализации процедуры «сборки мусора», а также в запрете на использования указателей на области памяти с неопределенным значением («висячих» ссылок) и самоссылающихся указателей (циклических ссылок).

Более существенным ограничением безопасности является автоматизация обеспечения синтаксической коррекции кода. Это достигается посредством безопасных вызовов функций и процедур, контроля выхода за границы заявленного программистом размера статически распределяемых областей памяти, а также запрета использования переменных без задания им значения по умолчанию (инициализации).

Существенное нововведение добавлено и к правам доступа пользователей к ресурсам. В частности, для включения компонента в проект необходимо проверить источник кода, заверенный автором цифровой подписью, и убедиться в подлинности отправителя.

Гибкое и надежное ограничение доступа пользователей к ресурсам осуществляется также благодаря широкому спектру динамически корректируемых в соответствии с профилями пользователя политик доступа.

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

.NET – интероперабельный подход. Задача поддержки интероперабельности прикладного программного обеспечения в рамках концепции .NET решается с помощью универсальной высокоуровневой языковой среды Common Language Infrastructure (CLI), которая характеризуется следующими возможностями.

Во-первых, осуществляется поддержка разнообразных языков программирования, а, следовательно, и различных подходов к программированию, в частности, функционального (например, на основе SML, Scheme, Haskell), объектно-ориентированного (например, на основе С++) и компонентного (например, на основе С#) подходов.

Затем, интегрированное использование языков программирования осуществляется совместно с единой системой типов (Common Type System, CTS), включающей общую иерархию для примитивных типов, типов-значений и ссылочных типов.

Управление оперативной памятью также реализовано в .NET в обобщенном варианте. В частности, централизовано осуществляются сборка мусора и тестирование кода на безопасность с точки зрения взаимодействия с оперативной памятью. Механизм обработки исключительных ситуаций также унифицирован.

Наконец, универсальная высокоуровневая языковая среда Common Language Infrastructure обеспечивает межъязыковую отладку.

      1. Вывод

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

В таблице 2.1 приведена сравнительная характеристика рассмотренных технологий по основным, наиболее важным критериям и требованиям, предъявляемым к распределенным системам корпоративного масштаба.

Таблица 2.1