Технологии программирования в компьютерных сетях

Основные понятия технологии программирования

Тема 4.1. Введение

Раздел 4. Технологии программирования

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

· указание последовательности выполнения технологических операций;

· перечисление условий, при которых выполняется та или иная операция;

· описания самих операций, где для каждой операции определены исходные данные,

· результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т. п.

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

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

В компьютерных сетях используются следующие основные технологии программирования:

· Web-технология;

· распределенная COM;

· технология CORBA;

· технология Web Services.

Основной технологией, используемой в настоящее время в компьютерных сетях, в частности, в сети Internet, является Web-технология (от слов World Wide Web – всемирная паутина). Эта технология включают в себя клиентские и серверные средства проектирования и программирования Web-страниц, с помощью которых в компьютерных сетях в настоящее время представлено подавляющее большинство данных.

Для передачи данных между узлами сети в Web-технологии используется гипертекстовый протокол передачи данных – HTTP (HyperText Transfer Protocol).

Модификация СОМ, обеспечивающая передачу вызовов между компьютерами, называется технологией DCOM (Distributed COM – распределенная СОМ).

По технологии DСОМ приложение предоставляет свои службы, используя специальные объекты – объекты DCОМ, которые являются экземплярами классов DCОМ. Объект DСОМ так же, как обычный объект, включает поля и методы, но в отличие от обычных объектов каждый объект DСОМ может реализовывать несколько интерфейсов, обеспечивающих доступ к его полям и функциям.

Объект всегда функционирует в составе сервера – динамической библиотеки или исполняемого файла, которые обеспечивают функционирование объекта.

Перед первым обращением к объекту клиент посылает запрос к библиотеке DСОМ, хранящей информацию обо всех, зарегистрированных в системе классах DСОМ объектов, и передает ей имя класса, идентификатор интерфейса и тип сервера. Библиотека запускает необходимый сервер, создает требуемые объекты и возвращает указатели на объекты и интерфейсы. Получив указатели, клиент может вызывать необходимые функции объекта.

На базе технологии DCOM были разработаны компонентные технологии, решающие различные задачи разработки программного обеспечения:

· OLE-automation или просто Automation (автоматизация) – технология создания программируемых приложений, обеспечивающая программируемый доступ к внутренним службам этих приложений. Вводит понятие диспинтерфейса (dispinterface) – специального интерфейса, облегчающего вызов функций объекта. Эту технологию поддерживает, например, Microsoft Excel, предоставляя другим приложениям свои службы.

· ActiveX – технология, построенная на базе OLE-automation, предназначена для создания программного обеспечения как сосредоточенного на одном компьютере, так и распределенного в сети. Предполагает использование визуального программирования для создания компонентов – элементов управления ActiveX. Полученные таким образом элементы управления можно устанавливать на компьютер дистанционно с удаленного сервера, причем устанавливаемый код зависит от используемой операционной системы. Это позволяет применять элементы управления ActiveX в клиентских частях приложений Internet.

Технология CORBA (Common Object Request Broker Architecture – архитектура универсального посредника запросов) предназначена для взаимодействия объектов разного вида, написанных на разных объектно-ориентированных и проце­дурных языках, созданных разными объектно-ориентированными система­ми, и работающих на разных платформах. Она обобщает и удаленный вызов процедур, и службы сообщений, и хранимые проце­дуры баз данных.

Архитектура CORBA описывается набором стандартов, разработанных группой управления объектами – OMG (Object Management Group).

Группа OMG была создана в 1989 году группой компаний, занимающихся в основном выпускомаппаратных средств. OMG была сформирована с целью разработки стандартов и программного обеспечения для организации взаимодейст­вия между компонентами. С тех пор количество организаций — участниц OMG возросло до 800, к их числу относятся как крупные компании (Sun, IBM, Oracle и Microsoft), так и небольшие исследовательские группы. Кроме CORBA и вопросов взаимодействия различных платформ, OMG также контролирует соблюдение стандартов, установленных для UML. Впервые спецификация CORBA 1.1 была опубликована в 1991 году, с тех пор данная архитектура приобрела большую популярность среди разработчиков. В настоящее время последней спецификацией является CORBA 3.0.

На рис. 4.1.1 изображена диаграмма, условно представляющая архитектуру управления объектами – ОМА (Object Man­agement Architecture). На самом высоком уровне этой диаграммы расположены прикладные объекты, предоставляющие услуги, реализованные с помощью распределенных средств CORBA. Данные объекты предназначе­ны для решения конкретных прикладных задач и не соответствуют стандартам CORBA. Для доменных интерфейсов CORBA (CORBA Domain Interfaces) существует: спецификация OMG, которая определяет принадлежность прикладных средств одно­му конкретному домену, например, Telecommunications (телекоммуникации), Manu­facturing (производство) или Finance (финансы). Самый нижний уровень диаграммы соответствует посреднику запросов объектов – ORB (Object Request Broker). На данном уровне определяются средства, не зависящие от языка и платформы и позволяющие клиентам использовать распределенные службы, а также задается коммуникационный протокол, поддерживающий доступ к сервисным средствам. Существующие в настоя­щее время приложения CORBA чаще всего непосредственно взаимодействуют со средствами ORB. Выше ORB расположен уровень CORBAservices, компоненты кото­рого предоставляют приложениям CORBA специальные услуги. В качестве примера можно привести службу имен, позволяющую обращаться к объектам по именам, сред­ства, с помощью которых организуются запросы к объектам, соответствующим опре­деленным критериям поиска, и т.д. Выше CORBAservices расположен уровень CORBAfacilities. Компоненты CORBAfacilities предоставляют услуги более высокого уровня, они, например, поддерживают вывод на печать, обмен электронной почтой, обработку документов и т.д. Распределенные прикладные объекты могут использовать средства, предоставляемые любым из уровней ОМА.

 

Рис. 4.1.5. архитектуру управления объектами в CORBA

 

Спецификация CORBA 3.0 дополняет базовую ОМА двумя компонентами: minimumCORBA и CORBAcomponents. Новая спецификация позволяет реализовывать уровень ORB, наи­более применимый для приложений уровня предприятия, в виде minimumCORBA. Вариант minimumCORBA реализуется путем удаления ряда возможностей из конфигура­ции ORB, типичной для предприятия; этим упрощается использование средств CORBA встроенными приложениями. Спецификация CORBAcomponents определяет стандарт­ный набор интерфейсов, так, что компоненты CORBA могут автоматически наследовать средства, предоставляемые средой контейнера. Спецификация CORBAscripting задает порядок объединения компонентов с использованием специального языка сценариев.

Технология Web Services (службы Web) создана фирмами IBM, Microsoft и UserLand. В ее основе лежит передача данных по сети в виде несжатого текста, записанного в одной из байтовых кодировок, либо в одной из кодировок Unicode.

Структура пересылаемых документов записывается с использованием расширяемого языка разметки – XML (eXtensible Markup Language). Для стандартизации структуры документа XML в технологии Web Services разработан специальный протокол доступа к простому объекту – SOAP (Simple Object Access Protocol). Сообщение, записанное на языке XML по правилам протокола SOAP, может принять и обработать любая Web-служба, на каком бы языке программирования она ни была написана, и в какой бы операционной системе она ни работала.

Для передачи сообщений, написанных по правилам протокола SOAP используется тот же протокол HTTP, что и в Web-технологиях, однако можно использовать и другие протоколы, например простой протокол передачи почты – SMTP (Simple Mail Transfer Protocol), либо протокол управления передачей – TCP (Transmission Control Protocol) сети Internet.

В технологии Web Services реализованы также средства описания Web-службы. Сервер, на котором установлена Web-служба, предоставляет всем желающим ее описание. Описание выполняется на специально разработанном языке описания Web-служб – WSDL (Web Services Description Language), который также является приложением языка XML. Клиент, обращающийся к Web-службе, читает ее описание и формирует свой запрос.

Для облегчения поиска нужной Web-службы на серверах формируются реестры, хранящие информацию о местоположении Web-служб вместе с описанием предоставляемых ими услуг. Правила регистрации Web-службы в реестре, а также правила хранения информации в реестре определяются еще одним приложением XML –спецификацией UDDI (Universal Discovery, Description and Integration – универсальное обнаружение, описание и интеграция).

Для Web-служб разработаны спецификации в виде библиотек и пакетов классов. Этим занимаются многие фирмы-производители программного обеспечения. Корпорация Microsoft поставляет программное обеспечение Web Services в рамках технологии Microsoft .NET. Недостатком этой технологии является необходимость использования на серверах одной из серверных версий операционной системы Windows. Технология Web Services реализована также на базе средств языка Java: сервлетов, серверных страниц Java – JSP (Java Server Pages), компонент EJB (Enterprise JavaBeans) с использованием интегрированных сред разработки – IDE (Integrated Development Environment) и средств быстрой разработки приложений – RAD (Rapid Application Development). В отличие от технологии .NET, технологии на основе Java являются многоплатформенными, т.е. могут использоваться на компьютерах с различными процессорами и разными операционными системами.

Далее в дисциплине будет подробно рассмотрена самая распространенная в настоящее время в компьютерных сетях Web-технология. Элементы служб Web будут рассмотрены на втором курсе.