42856

Интерфейс программирования приложений (АРІ). Серверное программное обеспечение

Курсовая

Информатика, кибернетика и программирование

Server от англ. В состав названного пакета входят следующие компоненты: Windows NT Server – сетевая операционная система; System Mngement Server – система администрирования сети; SQL Server – сервер управления базами данных; SN Server – сервер для соединения с хосткомпьютерами; Exchnge Server – сервер системы электронной почты; Internet Informtion Server – сервер для работы с Internet. Windows NT 2000 Server способна обеспечить совместное использование файлов печатающих устройств предоставить услуги по соединению с рабочими...

Русский

2013-11-02

390.35 KB

71 чел.

Введение  3

1. Серверное программное обеспечение 5

1.1 Програмное обеспечение технологии  «клиент-сервер»  5

1.2 Архитектура компонента установки поддержки серверного ПО  6

1.3 Особенности експлуатации различных видов серверного ПО  12

1.4 Инструменты администрирования  14

2. Интерфейс програмирования приложений (АРІ): модель состояний 16

3. Событие в ООП  22

Заключение 25

Библиография 26


Введение

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

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

Итак, первой проблемой моей курсовой работы есть: «Серверное программное обеспечение». Это базовая часть моей курсовой работы, поскольку данный информационный проект должен быть размещен во «всемирной паутине» и быть общедоступным. А для полноценной его работы нужно создать сервер, на котором будет размещен наш проект. Как известно для его создания и корректного обслуживание нужно программное обеспечение, с помощью которого он будет работать так, как мы хотим.

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

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

Объектом второй проблемы курсовой работы есть модель состояний интерфейса програмирования приложений (АРІ). Будет проведен анализ модели и ее значимость в полноценной работе информационного портала.

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

Данный пункт являться основным в создании любой программы, так как ООП  это парадигма программирования, в которой основными концепциями являются понятия объектов и классов, и с помощью которого можно создать программный продукт который будет работать полноценно и в котором можно без проблем разобраться для подальшего обслуживания.

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


  1.  Серверное программное обеспечение

Се́рверное программное обеспечение (англ. Server от англ.to serve — служить) в информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные (обслуживающие) функции по запросу клиента, предоставляя ему доступ к определённым ресурсам или услугам.

Дальше будет рассмотрены некоторые элементы серверного ПО.

§ 1.1 Программное обеспечение технологии «клиент-сервер»

Для успешного применения технологии «клиент-сервер» должно использоваться соответствующее программное обеспечение, включающее клиентскую и серверную части. В частности, широко используемый пакет Microsoft Office представляет собой комплекс программ для клиентского компьютера. В его состав входят: текстовый процессор Word, табличный процессор Excel, система подготовки презентаций PowerPoint, система управления базами данных Access и программа управления информацией Outlook. В связи с успехом распространения этого пакета корпорация Microsoft решила собрать воедино комплекс программ для сервера – так появился пакет MS BackOffice.

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

  1.  Windows NT Server – сетевая операционная система;
  2.  System Management Server – система администрирования сети;
  3.  SQL Server – сервер управления базами данных;
  4.  SNA Server – сервер для соединения с хост-компьютерами;
  5.  Exchange Server – сервер системы электронной почты;
  6.  Internet Information Server – сервер для работы с Internet.

Windows NT/2000 Server способна обеспечить совместное использование файлов, печатающих устройств, предоставить услуги по соединению с рабочими станциями (клиентскими компьютерами) и другой сервис.

Windows NT Server целесообразно использовать в случаях, когда предполагается наличие нескольких процессоров (обычно до четырех). Кроме того, Windows NT Server обеспечивает совместное использование ресурсов многими пользователями, возможность соединения с удаленными сетями через сервис удаленного доступа – RAS (Remote Access Service), а также через средства связи с сетями других фирм (Novell, Digital Pathworks и Apple).

System Management Server (SMS) позволяет сетевому администратору централизованно управлять всей сетью. При этом обеспечивается возможность администрирования каждого компьютера, подключенного к сети, включая установленное на нем программное обеспечение. SMS предоставляет следующий сервис:

  1.  управление инвентаризацией программного и аппаратного обеспечения;
  2.  автоматизация установки и распространения программного обеспечения, включая его обновление;
  3.  удаленное устранение неисправностей и предоставление полного контроля администратору за клавиатурой, мышью и экранами всех компьютеров в сети, работающих под управлением MS-DOS или Windows;
  4.  управление сетевыми приложениями.

SQL Server представляет собой систему управления реляционными базами данных, использующую принципы технологии «клиент-сервер». MS SQL Server поддерживает систему обработки транзакций, систему сохранения ссылочной целостности, механизм распределенных транзакций, тиражирование данных.

SNA Server обеспечивает возможность связи с IBM AS/400 и мэйнфреймами IBM (EC ЭВМ). Этот продукт позволяет нескольким настольным ПЭВМ, работающим под управлением MS-DOS, Windows, Windows NT, Macintosh, Unix или OS/2, «видеть» хост-компьютеры.

Exchange Server обеспечивает средства передачи и приема сообщений в информационной сети организации. Этот сервис включает электронную почту (E-mail) и обмен информационными сообщениями для рабочих групп. Microsoft Exchange Server построен на принципах технологии «клиент-сервер» и масштабируется в соответствии с возрастанием вычислительных возможностей сети.

Internet Information Server обеспечивает возможность создания Web-, FTP- и Gopher-серверов для сети Internet, поддерживает управление ими с помощью встроенной программы Internet Service Manager.

§ 1.2 Архитектура компонента установки и поддержки серверного программного обеспечения

Серверное ПО - это комплекс программных продуктов обслуживающих клиентские запросы.

Для того, что бы добиться необходимых функциональных возможностей от сервера, требуется установить и настроить соответственное ПО.

Компоненту установки и поддержки ПО для работы требуется наличие Windows 2000 Server, службы каталогов Active Directory, групповой политики и ОС Windows 2000 Professional. За подробной информацией об архитектуре групповой политики и ее объектах обратитесь к технической документации по групповой политике.

Компоненты Windows 2000 Server

Таблица 1. Серверные компоненты установки и поддержки ПО

Этап подготовки программного обеспечения

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

Этап распространения программного обеспечения

Администраторы создают точки распространения ПО на серверах, работающих под управлением ОС Windows 2000 Server, и обеспечивают доступность программного обеспечения для развертывания из этих точек.

Рисунок 1 . Этап распространения ПО с точки зрения администратора

Для создания точки распространения ПО администраторы выполняют следующие действия:

  1. Создают необходимые сетевые папки
  2. Разрешают общий доступ пользователям к этим папкам
  3. Копируют программное обеспечение на созданные общие сетевые ресурсы
  4. Дают пользователям разрешение на чтение для общих сетевых ресурсов

Примечание: Многие программные продукты обладают возможностью административной установки, которая подготавливает приложение для установки из точки распространения ПО. Во время административной установки производится распаковка сжатых файлов, администратор получает возможность ввести регистрационный ключ, а также выполняются другие подготовительные действия. Например, для установки Microsoft Office 2000 в точку распространения ПО необходимо запустить программу установки из командной строки с параметром /a.

Назначение программного обеспечения компьютерам работает наилучшим образом в том случае, когда точка распространения ПО, расположенная на компьютере под управлением ОС Windows 2000 Server, находится в том же лесу службы каталогов Active Directory, что и целевой компьютер. Это обусловлено особенностями механизма проверки подлинности компьютера (объекта учетной записи компьютера). Дополнительные сведения о назначении программного обеспечения компьютеру Вы найдете ниже в разделе «Этап целевого назначения программного обеспечения».

Этап целевого назначения программного обеспечения

Область управления установкой программного обеспечения задается при помощи групповой политики – именно таким образом определяется, для каких пользователей будет производиться установка. Администраторы задействуют расширение Установка программ (Software Installation) для распространения программного обеспечения пользователям и компьютерам, которыми управляет объект групповой политики, связанный с доменом, сайтом или подразделением. Для этого администратору нужно запустить оснастку Групповая политика (Group Policy) и выбрать объект, которым необходимо управлять. Затем в узле Конфигурация пользователя (User Configuration) или в узле Конфигурация компьютера (Computer Configuration) нужно раскрыть узел Конфигурация программ (Software Settings) и установить требуемые параметры в расширении Установка программ (Software Installation).Компонент установки и поддержки ПО в Windows 2000 позволяет администраторам назначать или публиковать программное обеспечение. Администраторы назначают программное обеспечение в тех случаях, когда оно необходимо пользователям для выполнения их рабочих обязанностей. Например, если все работники должны пользоваться электронной почтой, администратор может назначить им почтовую программу.

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

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

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

Таблица 2. Сравнение публикаций и назначения программного обеспечения

Действия, которые нужно выполнить в расширении Установка программ (Software Installation) для назначения приложения по сути очень похожи на действия, выполняемые в этом расширении для публикации приложения. За подробной информацией об этих действиях обратитесь к разделам интерактивной справки Windows 2000 Server, посвященным расширению Установка программ, а также к Пошаговому руководству по установке и поддержке программного обеспечения Step-by-Step Guide to Software Installation and Maintenance (EN).

Администратор назначает или публикует программное обеспечение при помощи оснастки Групповая политика (Group Policy) и расширения Установка программ (Software Installation). Как правило, для этого необходимо выполнить все или некоторые действия, перечисленные ниже.

1. Откройте оснастку Active Directory - пользователи и компьютеры (Active Directory - Users and Computers) и перейдите в контейнер Active Directory (домен или подразделение), содержащий пользователей или компьютеры, для которых будет производиться управление программным обеспечением. Например, для того чтобы управлять приложениями подразделения под названием Accounts в домене reskit.com, Вам нужно в вышеуказанной оснастке дважды щелкнуть по пункту reskit.com и затем щелкнуть правой кнопкой мыши по подразделению Accounts.

2. Откройте оснастку Групповая политика (Group Policy) для создания нового объекта групповой политики или внесения изменений в уже существующий объект. Если продолжить рассмотрение примера из пункта 1, то для открытия оснастки Групповая политика Вам потребуется выполнить следующие действия. Щелкните правой кнопкой мыши по подразделению Accounts и выберите команду Свойства (Properties), а затем в открывшемся диалоговом окне Свойства: Accounts перейдите на вкладку Групповая политика (Group Policy). Для создания нового объекта групповой политики нажмите кнопку Создать (New), либо внесите изменения в существующий объект. Для этого выберите его из списка Ссылки на объекты групповой политики (Group Policy Object Links) и нажмите кнопку Изменить (Edit).

3. Для того чтобы открыть расширение Установка программ (Software Installation) в оснастке Групповая политика выберите один из двух улов: Конфигурация пользователя (User Configuration) или Конфигурация пользователя (User Configuration). Дважды щелкните по узлу Конфигурация программ (Software Settings), а затем щелкните правой кнопкой мыши по узлу Установка программ (Software Installation). Например, для управления программным обеспечением пользователей в оснастке Групповая политика раскройте узел Конфигурация пользователя, дважды щелкните по узлу Конфигурация программ, щелкните правой кнопкой мыши по узлу Установка программ, и, наконец, выберите команду Создать (New) из контекстного меню.

4. Выберите пакет установщика Windows (MSI-файл), развертывание которого Вы хотите осуществить из точки распространения программного обеспечения.

5. Сконфигурируйте параметры управления программным продуктом (свяжите с ним файлы преобразования и укажите, какие приложения будет обновлять данный пакет).

6. Назначьте или опубликуйте программный продукт.

Расширение установки программ создает сценарий объявления приложения (файл с расширением .AAS – application advertisement script) и сохраняет его в указанном объекте групповой политики службы каталогов Active Directory. За дополнительной информацией об управлении объектами групповой политики и их хранении в Active Directory, а также о папке Sysvol, обратитесь к документу Введение в групповую политику Windows Server 2003 Introduction to Group Policy in Windows Server 2003 (EN).

§1.3 Особенности эксплуатации различных видов серверного программного обеспечения

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

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

Серверы могут быть разными, причем отличия заключаются, прежде всего, в операционной системе, под управлением которой они работают. В настоящее время на большинстве интернетовских узлов используют два типа серверных программ: либо Internet Information Server, рассчитанный на работу под Windows NT, либо Apache, предназначенный для платформ, совместимых со стандартом UNIX. Как правило, серверы работают на линиях с большой пропускной способностью, например, в сетях с оптоволоконными каналами связи, что по финансовым соображениям доступно лишь крупным предприятиям.

Помимо соответствующей программы настоящий сервер должен иметь собственный домен, то есть адрес DNS, отвечающий стандартам Domain Name System.

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

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

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

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

В таких сетях, например как Windows NT Server, проблемами безопасности может заниматься один администратор. Поскольку жизненно важная информация расположена централизованно, то есть, сосредоточена на одном или нескольких серверах, нетрудно обеспечить ее регулярное резервное копирование.

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

Сети на основе сервера могут поддерживать тысячи пользователей.

§ 1.4 Инструменты администрирования

Операционная система Windows Server 2003 предоставляет системному администратору широкий набор инструментов для решения задач управления. Основными из этих инструментов являются следующие:

• консоль управления (Microsoft Management Console, MMC);

• мастера (Wizards);

• утилиты командной строки.

Консоль управления MMC2 представляет собой унифицированную среду для выполнения административных задач. Администратор, имея в распоряжении такую среду, может помещать в неё одну или несколько утилит, называемых оснастками (snap-in), для решения текущей проблемы.

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

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

С той же целью в Windows Server 2003 применяются мастера. Мастер представляет собой программу, которая проводит администратора по всем этапам решения какой-либо задачи. На каждом этапе возможен выбор одного или нескольких способов решения или параметров настройки. Часто также мастера предоставляют возможность выбора параметров по умолчанию.

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

Утилиты командной строки являются самыми старыми инструментами администрирования, ведущими свою историю от первых операционных систем без графического интерфейса. В то время альтернативы утилитам командной строки не было. Сегодня большинство задач управления можно решить без использования утилит, однако многие администраторы считают, что утилиты командной строки удобнее графического интерфейса. Кроме того, такой вид утилит, как утилиты диагностики стека протоколов TCP/IP, не имеют стандартного графического аналога (эти утилиты рассматриваются во второй лекции).

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


  1.  Интерфейс программирования приложений: модель состояний

Интерфейс программирования приложений (иногда интерфейс прикладного программирования) (англ. application programming interface), API— набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах, это интерфейс, позволяющий различным программным компонентам взаимодействовать друг с другом.

Используется программистами для написания всевозможных приложений.

С помощью АРІ функций происходит интеграция приложений. API определяет функциональность, которую предоставляет программа (модульбиблиотека), при этом API позволяет абстрагироваться от того, как именно эта функциональность реализована.

Если программу (модуль, библиотеку) рассматривать как чёрный ящик, то API — это множество «ручек», которые доступны пользователю данного ящика, которые он может вертеть и дёргать.

Программные компоненты взаимодействуют друг с другом посредством API. При этом обычно компоненты образуют иерархию — высокоуровневые компоненты используют API низкоуровневых компонентов, а те, в свою очередь, используют API ещё более низкоуровневых компонентов.

По такому принципу построены протоколы передачи данных по Интернет. Стандартный стек протоколов (сетевая модель OSI) содержит 7 уровней (от физического уровня передачи бит до уровня протоколов приложений, подобных протоколам HTTP и IMAP). Каждый уровень пользуется функциональностью предыдущего уровня передачи данных и, в свою очередь, предоставляет нужную функциональность следующему уровню.

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

API библиотеки функций и классов включает в себя описание сигнатур и семантики функций.

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

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

Например, в языке программирования C++ простая функция однозначно опознаётся компилятором по её имени и последовательности типов её аргументов, что составляет сигнатуру функции в этом языке. Если функция является методом некоторого класса, то в сигнатуре будет участвовать и имя класса.

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

API может быть применён несколькими способами:

  1.  Интегрирован в среду программирования, например C++ или Java API
  2.  В специальном назначении, например Google Maps API или Java API XML для веб-услуг. С помощю Google Maps API можно применить услугу указания местоположения на карте через интерфейс, предоставляемый Google..
  3.  API операционной системы это интерфейс, посредством которого приложения получают доступ к услугам ОС. Примером является Windows API, в котором для каждой службы ОС есть доступная приложениям процедура.

Различные службы, доступные приложениям через Windows API:

  1.  Базовые службы (Base Services), к которым относятся управление процессами и памятью, функции ввода/вывода и безопасности.
  2.  Службы компонентов (Component Services) - для взаимодействия приложений
  3.  Службы пользовательского интерфейса (User Interface Services) - для взаимодействия с различными меню и окнами
  4.  Службы графики и мультимедиа (Multimedia and Graphics Services)
  5.  Обмен сообщениями и совместная работа (Messaging and Collaboration)
  6.  Сетевые службы (Networking)
  7.  Веб-службы (Web Services)

Рисунок 2. Интерфейс программирования приложений расположен между ядром и приложениями. (Источник: Learning Materials for Information Technology Professionals (EUCIP-Mat))

Современные ОС реализуют обработку прерываний (Interrupt), исключений (Exception, Trap) и поддержку системных вызовов (System call). Исключения - это программные прерывания, генерируемые при ошибках или обращениях пользовательских приложений к услугам ОС. Для обращения пользовательских приложения к API используются системные вызовы. В целях безопасности, приложения не могут непосредственно совершать системные вызовы, а должны использовать механизм прерываний, при котором генерируется программное прерывание процессору, что в свою очередь приводит к запуску обработчика прерываний в режиме ядра.

Команда, с помощью которой вызывается системная служба, зависит от процессора. Например, в современных процессорах Intel это команда systenter. При её вызове происходит переход в режим ядра и запуск Менеджера системных служб, адрес которого указывается в регистре MSR (Machine Specific Register). В регистре EAX указывается номер системной службы, а через регистр EDX передаются аргументы вызова. Переход обратно в пользовательский режим происходит с помощью команд sysexit или iretd. Менеджер системных служб находит адреса исполняющих программ (т.е. программ, непосредственно манипулирующих системными службами через программный интерфейс, предоставляемый менеджером системных служб) из специальной таблицы.

Первоначальной задачей нашей группы есть создание информационного портала НАУ, на котором будет присутствовать базовая информация нашего ВУЗа. Данный проект будет размещен на некотором сервере. Некоторые студенты, может быть, напишут некоторые приложения, которые помогут ускорить и упростить работу пользователя с нашим порталом. Для написания приложения они могут использовать АРІ  функции, чтобы упростить код самого приложения и чтобы дальнейшее поколение могло легко в нем разобраться.

Весь обмен данными между приложениями (АРІ) и нашим сервером, скорей всего, будет проходить через протокол ТСР. Теперь, давайте поговорим о протоколе TCP, а точнее о модели состояний, поскольку понимание ее основ необходимо для написания качественного кода приложения.

На рис.3 прямоугольниками представлены состояния, а стрелками - переходы.

Рис.3: Модель состояний связи интерфейса приложения (АРІ) c сервером через протокол TCP.

Мы должны представить себе состояния сервера и клиента в виде диаграммы. Из состояния CLOSED (ЗАКРЫТО) выходят две стрелки; одна из них помечена как Active Open (активное открытие). Этот переход происходит, когда клиентская программа посылает на сервер пакет SYN, а система инициирует соединение. Другим вариантом является стрелка Passive Open (пассивное открытие), когда сервер переходит в состояние прослушивания и ждет соединения.

Во-первых, после того, как клиентская программа пошлет сигнал SYN, она перейдет в состояние SYN_SENT (сигнал SYN послан). Затем после того, как сервер получит сигнал SYN и отправит сигналы SYN и ACK, он переходит в состояние ESTABLISHED (соединение установлено). Если из состояния ESTABLISHED (при котором происходит общение клиента и сервера), произойдет отправка сигнала FIN, то будет инициировано действие Active Close (активное закрытие соединения), которое завершит соединение и переведет сервер в состояние FIN_WAIT_1. Прием сигнала ACK переведет сервер в состояние FIN_WAIT_2.

Когда от сервера будет получен сигнал FIN, то это приведет в результате к отправке сигнала ACK и переходу в состояние TIME_WAIT. В этом состоянии система ожидает в течение времени, в двое большем, чем MSL (максимальное время жизни сегмента); значение, рекомендуемое в RFC 1337, равно 120 секундам, в Linux используется значение, равное 60 секундам. Это состояние помогает в случае, когда происходит потеря пакетов, надежно завершить соединение за счет того, что дает истечь времени, в течение которого в сети могут существовать старые дубликаты сегментов. Наконец, происходит переход в состояние CLOSED (закрыто).

На сервере пассивное открытие происходит в состоянии LISTEN (прослушивание). После того, как будет получен сигнал SYN, будут переданы сигналы SYN и ACK и произойдет переход в состояние SYN_RCVD (принят сигнал SYN). Прием сигнала ACK переведет сервер в состояние ESTABLISHED (соединение установлено), позволяющее обмениваться данными. Затем, когда будет получен сигнал FIN, сервер отправит сигнал ACK и проинициирует пассивное закрытие соединения и перейдет в состояние CLOSE_WAIT.

После того, как операция будет завершена, сервер пошлет сигнал FIN и перейдет в состояние LAST_ACK. При получении сигнала ACK, он завершит соединение и перейдет в состояние CLOSED (закрыто).

Здесь мы видим использование "ThreeHandshake" (тройного подтверждения) - обмен тремя пакетами для установления соединения TCP. Оно инициализируется вызовом connect(). Первым пакетом будет пакет SYN x, идущий от клиента к серверу, вторым пакетом будет пакет ACK x+1 и SYN y, идущий от сервера к клиенту, третьим пакетом будет пакет ACK y+1, идущий от клиента к серверу. Здесь х является порядковым номером со стороны клиента, а у - порядковым номером со стороны сервера.

Чтобы завершить соединение, нам нужно четыре пакета. Чтобы инициировать завершение, клиент вызывает функцию close(): первым пакетом является FIN, идущий от клиента к серверу, а вторым пакетом является ACK m+1, идущий от сервера к клиенту. Затем сервер завершает операцию, а затем вызывает функцию close() и передает FIN n. Клиент посылает ACK n+1 для завершения соединения.


  1.  События в ООП

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

Объектно-ориентированный язык программирования должен обладать следующими свойствами:

1. абстракции – формальное о качествах или свойствах предмета путем мысленного удаления некоторых частностей или материальных объектов;

2. инкапсуляции – механизма, связывающего вмести код и данные, которыми он манипулирует, и защищающего их от внешних помех и некорректного использования;

3. наследования – процесса, с помощью которого один объект приобретает свойства другого, т.е. поддерживается иерархической классификации;

4. полиморфизма – свойства, позволяющего использовать один и тот же интерфейс для общего класса действий.

Разработка объектно-ориентированных программ состоит из следующих последовательных работ:

- определение основных объектов, необходимых для решения данной задачи;

- определение закрытых данных (данных состояния) для выбранных объектов;

- определение второстепенных объектов и их закрытых данных;

- определение иерархической системы классов, представляющих выбранные объекты;

- определение ключевых сообщений, которые должны обрабатывать объекты каждого класса;

- разработка последовательности выражений, которые позволяют решить поставленную задачу;

- разработка методов, обрабатывающих каждое сообщение;

- очистка проекта, то есть устранение всех вспомогательных промежуточных материалов, использовавшихся при проектировании;

- кодирование, отладка, компоновка и тестирование.

Объектно-ориентированное программирование позволяет программисту моделировать объекты определённой предметной области путем программирования их содержания и поведения в пределах класса. Конструкция «класс» обеспечивает механизм инкапсуляции для реализации абстрактных типов данных.

Инкапсуляция как бы скрывает и подробности внутренней реализации типов, и внешние операции и функции, допустимые для выполнения над объектами этого типа.

В рассмотрении данного вопроса мы детальнее остановимся на событиях. Событие в объектно-ориентированное программировании — это сообщение, которое возникает в различных точках исполняемого кода при выполнении определённых условий.

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

Для решения поставленной задачи создаются обработчики событий: как только программа попадает в заданное состояние, происходит событие, посылается сообщение, а обработчик перехватывает это сообщение. В общем случае в обработчик не передаётся ничего, либо передаётся ссылка на объект, инициировавший (породивший) обрабатываемое событие. В особых случаях в обработчик передаются значения некоторых переменных или ссылки на какие-то другие объекты, чтобы обработка данного события могла учесть контекст возникновения события.

Самое простое событие — это событие, сообщающее о начале или о завершении некоторой процедуры. Событие, по сути, сообщает об изменении состояния некоторого объекта. Наиболее наглядно события представлены в пользовательском интерфейсе, когда каждое действие пользователя порождает цепочку событий, которые, затем обрабатываются в приложении.

Существует некоторое общее описание событий в ООП. В объектно-ориентированном анализе для описания динамического поведения объектов принято использовать модель состояний

Событие — это переход объекта из одного состояния в другое. Взаимодействие объектов также осуществляется при помощи событий: изменение состояния одного объекта приводит к изменению состояния другого объекта, а событие оказывается средством связи между объектами.

Согласно, событие — это «абстракция инцидента или сигнала в реальном мире, который сообщает нам о перемещении чего- либо в новое состояние». Далее, выделяются четыре аспекта события:

  1.  метка — уникальный идентификатор события.
  2.  значение — текстовое сообщение о сути произошедшего.
  3.  предназначение — модель событий, которая принимает событие.
  4.  данные — данные, которые переносится от одного объекта к другому.

Примером может быть следующее.Первый ряд примеров событий доставляет собственно сам жизненный цикл объекта:

  1.  создание объекта;
  2.  уничтожение объекта.

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


Заключение

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

Полученные знания станут существенным подспорьем в понимании таких понятий как: «серверное ПО», «событие в ООП» и «Интерфейс программирования приложений: модель состояний». Как мы знаем, серверное программное обеспечение — это программный компонент вычислительной системы, выполняющий сервисные (обслуживающие) функции по запросу клиента, предоставляя ему доступ к определённым ресурсам или услугам, и без этого программного обеспечения работа нашего портала практически не возможна. Потому, что это будет базовым мостом между пользователем и порталом.

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

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

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


Библиография

1. Велихов А.В. Компьютерные сети. Учебное пособие по администрированию локальных и объединенных сетей. Издательство HALLWAG, 2005, 320 с.

2. Новиков Ю.В., Кондратенко С.В. Локальные сети. Архитектура, алгоритмы, проектирование. Издательство Эком, 2000, 312 с.

3. Сергеев А.П. Офисные локальные сети. Самоучитель. Издательство Диалектика, 2004, 320 с.

4. Pankaj Tanwar О понятии «Модели состояний АРІ». /Tanwar Servers.  //"The Socket API, Part 3: Concurrent. – 2011. /// http://www.interface.ru/home.asp?artId=29815. 10.12.12

5. Свободная энциклопедия Wikipedia/

http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9

6.Janek Saar. О понятии «Интерфейс прикладного программирования» /Janek Saar. //Е-курс для подготовки к экзамену по квалификации специалиста информационной технологии учебной программы EUCI./// http://www.e-uni.ee/e-kursused/eucip/haldus_vk/213__.html 


 

А также другие работы, которые могут Вас заинтересовать

82711. Хоч не пишно, аби затишно. Українська народна казка «Рукавичка» 169 KB
  Мета: поглиблювати знання учнів про казку як вид усної народної творчості вчити виділяти в тексті дійових осіб спостерігати за структурою і сюжетом казки; розвивати навички діалогічного мовлення правильно інтонувати речення; вдосконалювати техніку читання учнів використовуючи різні види робіт над текстом...
82712. Безпека в школі. Правила поведінки в школі 95 KB
  Мета: вчити учнів аргументувати необхідність безпечної поведінки в школі для збереження життя й здоров’я вирішувати конфліктні ситуації мирним шляхом; спонукати школярів до виконання правил безпечної поведінки в школі; виховувати відповідальність за свої вчинки.
82713. Добро все переможе 89.5 KB
  Мета. Розширити, уточнити, закріпити уявлення учнів про добро, дружбу, товаришування, розвивати товариські почуття, готовність бути доброзичливим, формувати у дітей соціальну компетентність, високу духовність, моральну чистоту, орієнтувати учнів на цінності особистості, виховувати добрі та поважні...
82714. Зв’язок слів у реченні. Поширення речень 82.5 KB
  Мета. Учити учнів встановлювати зв’язок між словами в реченні за питаннями, поширювати речення; розвивати мовлення дітей; збагачувати словниковий запас, удосконалювати вміння добирати влучні слова для побудови висловлювань; виховувати культуру спілкування, любов до художньої літератури.
82715. Микроклимат производственных помещений 82 KB
  Микроклимат производственных помещений – метеорологические условия внутренней среды этих помещений, которые определяются действующими на организм человека сочетаниями температуры, влажности, скорости движения воздуха и теплового облучения.
82716. Расчёт холодного, горячего водоснабжения и водоотведения 21.88 MB
  Централизованные системы холодного и горячего водоснабжения жилых зданий в настоящее время превратились в сложный технический комплекс, включающий в себя разветвленные сети трубопроводов, трубопроводную арматуру, насосное и теплообменное оборудование.
82717. СОВЕРШЕНСТВОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ООО «ПЛАНЕТА» 2.09 MB
  Такое положение дел во многом обусловило путь по которому проводилась автоматизация различных иерархических уровней управления проектировались и развивались автоматизированные системы на предприятиях строительной отрасли.
82718. ОПЕРАЦІЙНА СИСТЕМА WINDOWS 1.66 MB
  Найважливіші програми на комп’ютері – програми операційної системи. Операційна система забезпечує взаємодію пристроїв і програм при виконанні роботи, створює засоби керування комп’ютером. Операційна система дозволяє людині не вникати в тонкощі роботи прикладних програм, апаратної частини...
82719. Проектирования и внедрения интеграционного решения между биллинговыми системами и информационной системой Microsoft Dynamics Axapta 4 2.6 MB
  В приложениях к пояснительной записке представлены: инструкция пользователя (приложение А), листинг основных классов и методов интерфейса с комментариями (приложение Б) и листинг макроса, являющегося промежуточным звеном для передачи данных из некоторых биллинговых систем в MDAX4 (приложение В).