Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Разработка регламента выполнения процесса «Реализация билетов через розничные кассы»

Содержание:

Введение

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

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

Русский философ, писатель и общественный деятель XIX века Владимир Одоевский в незаконченном утопическом романе «4338-й год», написанном в 1837 году, похоже, первым предсказал появление современных интернатах и блогов: в тексте романа есть строки: «между знакомыми домами устроены магнетические телеграфы, посредством которых живущие на далёком расстоянии можно было, общаются друг с другом».

Идею применения электрической информационной связи для целей бизнеса упоминал в 1908 году Никола Тесла:

По его мнению «когда проект будет завершён, бизнесмен в Нью-Йорке сможет давать указания, и его подчиненные немедленно будут появляться в его офисе в Лондоне или в любом другом месте. Он может в будущем со своего рабочего места позвонить любому абоненту на планете, не меняя существующего оборудования. Не дорогое устройство, по размерам не больше, чем часы, позволит его обладателю слушать на суше и воде музыку, песни, речи политиков, учёных, проповеди священников, доставляемые на большие расстояния. Таким же образом любое описание, символ, рисунок, текст могут быть переданы из одного места в другое. Миллионы таких устройств могут управляться единственной станцией. Однако важнее всего этого станет беспроводная передача энергии... «[ Никола Тесла, 1908,13].

Целью курсовой работы является анализ структурированного языка запросов SQL, на основании которого разрабатываются базы данных для системы клиент-сервер

Задачами курсовой работы является рассмотрение: архитектуры информационной системы, и в частности клиент-сервер.

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

1. Характеристика COM-технологии

COM Технология COM (Component Object Technology) - объектно-ориентированная спецификация программ, предложенная Microsoft. COM предназначена для приумножения надежности взаимодействия программных продуктов между собой. Эта технология не определяет структуру программного продукта, язык программирования и прочие детали реализации. Основным понятием, которым оперирует стандарт COM, является COM-компонент. Программы, построенные на основе платформы COM, и фактически не являются самостоятельными программами, а предполагают собой ком-плект связанных между собой COM-компонентов. Любой составляющий компонент имеет редкий личный идентификатор (GUID) и может одновременно использоваться многими другими программами. Компонент прекрасно взаимодействует с другими программами через COM-интерфейсы - наборы инструментов абстрактных свойств и функций. Каждый COM-компонент должен, как минимум, поддерживать стандартный интерфейс «IUnknown», который предоставляет базизную платформу возможностей для работы с компонентом.Интерфейс «IUnknown» включает в себя 3 метода: QueryInterface, AddRef, Release.Windows ΑPI предоставляет базовые функции, позволяющие использовать COM-компоненты. Библиотеки MFC и, особенно, ΑTL/WTL предоставляют более удобные и гибкие средства для работы с COM. Библиотека ΑTL от Microsoft до сих пор остаётся самым востребованными средством создания COM-компонентов. Но часто COM-разработка остаётся ещё довольно сложным делом, программистам случается вручную выполнять многие рутинные задачи, связанные с COM (особенно это заметно в случае разработки на C++). В дальнейшем (в технологиях COM+ и особенно .NET) Microsoft попыталась упростить задачу разработки COM-компонентов.

COM является стандартом, который определяет модель программного объекта, соответствующий требованиям COM-технологии. Программный объект, созданный согласно спецификации COM называется COM-объектом. Данная технология определяет устройство взаимодействия COM-объектов между собой. COM относится к так называемым двоичным стандартам, т.к. прилагается к оттранслированному в двоичный код программному объекту. Взаимосвязь COM-объектов обеспечивается набором предопределенных подпрограмм, называемыми интерфейсами, доступ к которым обеспечивается через специальные уникальные идентификаторы интерфейсов GUID (Global Unique Interface Identifyer), уникальность которых гарантирует операционная система. Данное устройство идентичен с использованием указателей при доступе к объектам в объектно-ориентированных стилях программирования, что дает воз-можность прозрачного управления объектами, т.к. доступ к ним гарантируется через указатели. COM-технология расширяет это устройство, перенося применение указателей (в виде GUID) для доступа к объектам на уровень операционной системы. Следовательно, COM-объекты могут быть прозрачно друг для друга модифицироваться, т.к. доступ к объектам обеспечивается через GUID . COM разработка включает в себя еще библиотеку, а также библиотеку, в которую входит комплект типовых интерфейсов, которые определяют ядро функциональности COM и небольшой набор ΑPI функций, разработанных для создания COM-объектов и управления ими. Архитектура COM является расширяемой, и на нее платформе базируются другие технологии Microsoft, такие как OLE и ΑctiveX. В настоящее время, эти технологии являются расширениями операционной системы, и определяют свои собственные правила работы и предлагают свои библиотеки для основания объектов и для управления объектами на основе данных технологий. Используя COM как платформу, разработчики программного обеспечения получают возможность создавать собственные свои расширения таким образом, что программные объекты созданные, по правилам -технологии могут работать с другими COM-объектами через унифицированный механизм взаимодействия, который предлагает COM.

COM применяет такое понятие как «класс», которое по смыслу означает то же самое, что и в объектно-ориентированных возможности разработки. COM -объект является объектом COM -класса (COM class). COM -классы, для разницы с классами в объектно-ориентированных языках программирования, с помощью которых может создаваться приложение, обычно называются соклассами (CoClass). Далее в тексте будет использоваться терминология, исходящая из языка объектно-ориентированного программирования.

1.1 Состав COM -объекта

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

- Interface (COM-интерфейс) - множество прототипов функций (методов), чисто определенных. Термин «чисто определенный метод» или «абстрактный метод» исходит теории объектно-ориентированного рассмотрения, и означает, что в определении класса отсутствует реализация метода, а присутствует только его определение. От такого класса нельзя создавать объекты. Его предназначение – описать фундаментальные общности для всех производных классов;

- COM object (COM-объект) – объект класса CoClass, который содержит реализацию COM интерфейса;

- ΑctiveX server/ COM (COM сервер или ΑctiveX сервер)– модуль, такой как OCX, EXE или DLL, который содержит машинный код COM или ΑctiveX объектов;

- Class factory (фабрика классов)– объект, который может создавать COM-объекты из CoClass;

- Type library (библиотека типов) – файл, содержащий информацию о типах данных, которые использует COM/ActiveX сервер.

Центральным элементом COM является объект.

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

К объектам применимы 3 главные свойства: инкапсуляция (Инкапсуляция (encapsulation) - это устройство, который объединяет данные и код, манипулирующий этими данными, а также отстаивает и то, и другое от вмешательства извне или неправильного применения. На языке объектно-ориентированном программирования, код и данные могут быть соединены вместе; в этом случае говорят, что создаётся так называемый "чёрный ящик". Когда коды и данные соединяются таким способом, создаётся объект (object). Другими словами, объект - это то, что под-держивает информацию, наследование (это процесс, посредством которого один объект может приобретать свойства другого) и полиморфизм (в языках программирования полиморфизм - возможность объектов с одинаковой спецификацией иметь различную реализацию). Объекты COM всем этим требованиям соответствует. Применительно к объектам, в целом понятие интерфейса объекта, как он был определен выше, не используется. При первом приближении можно считать, что все методы объекта составляют его один единственный интерфейс, а указателем интерфейса является указатель на объект.Объект COM может иметь любое число интерфейсов (если это число < нуля), причем, каждый интерфейс обладает собственным указателем. Это первое отличие объектов COM от обычных. У объектов COM имеется особенность еще в одном объектом механизме – наследовании. Вообще различают два способа наследования. Наследование реализации подразумевает передачу « родителем» «потомку» всего программного кода. Наследование интерфейса означает передачу только объявления методов, их программный код «потомок» должен предоставить автономно. Объекты COM поддерживают только наследование интерфейса, избегая тем самым возможного нарушения инкапсуляции родителя. Тем не менее, просто так выбросить наследование реализации нельзя. Вместо нее объекты COM используют устройство включения, т.е. при необходимости потомок вызывает нужный метод родителя. Также применяется механизм агрегирования, когда один или несколько интерфейсов одного объекта временно включаются в другой объект путем передачи указателей.

1.2 Интерфейсы

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

Рисунок 1 Интерфейсы

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

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

Стандартный метод интерфейс - совокупность унифицированных технических, программных и конструктивных средств, основанных на основе созданных стандартов, реализующих взаимодействие различных функциональных элементов в системе информации, обеспечивающих информационную, электрическую и конструктивную совместимость этих элементов. Стык используется редко-место соединения устройств сети передачи данных . Взаимосвязь между понятиями протокола и интерфейса не всегда однозначна: интерфейс может содержать информацию об элементах протокола, а протокол, в свою очередь, может охватывать несколько интерфейсов (стыков).Главная и основная идея применение стандартных интерфейсов и протоколов - унификация меж- и внутрисистемных и меж- и внутри сети связей для повышения эффективности проектирования вычислительных систем.[2]

В вычислительной системе согласованность может осуществляться на пользовательском, программном и аппаратном уровнях.

COM определяет следующие ключевые аспекты, связанные с COM-интерфейсами:

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

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

- Интерфейс включает в себя определенную функциональность. Методы интерфейса семантически связаны по функциональности и назначению. Соответственно этому, методы интерфейса обычно именуется согласно своему назначению, и имя претворяется заглавной I. Для примера, метод IMalloc определен для размещения и освобождения памяти;

- Интерфейс имеет уникальный идентификатор. Интерфейсы различаются посредством использования глобальных идентификаторов GUID, которые применяются для ссылки на идентификаторы конкретных интерфейсов IID (Interface Identifier). Любой интерфейс имеет свой IID, и при регистрации в системе получает связанный с ним GUID. Применение GUID более совершенно, чем использование символьных имен, т.к. гарантирует отсутствие конфликтов между ними при обновлении программных продуктов (выхода новых версий) и при использовании программного обеспечения от различных производителей;

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

- Интерфейсы наследуют функциональность от одного базового предка. Все интерфейсы прямо или косвенно являются потомками интерфейса IUnknown. Этот интерфейс обеспечивает функциональность интерфейса, которая включает в себя динамический опрос объекта (dynamic quering) и управление циклом объекта (lifetime managment). Эта функциональность

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

- QueryInetrface снабжает опрос объекта и доступ к аббревиатуре на интерфейс. QueryInerface является 1 записью в vtable, и предлагает эффективный путь для определения возможностей объекта, в простейшем случае через этот метод при взаимосвязи, обеспечивается передача указателя на интерфейс IUnknown тому объекту, который пытается получить доступ к данному объекту. Этот метод также делает возможным обновление COM объекта без потерь на обновление остальных зависимых объектов, т.к. объект может быть динамически опрошен клиентами через аббревиатуру на IUnknown. Это функция носит название dynamic quering;

- ΑddRef и Release находятся на 2-ом и 3-ем местах в vtable. Это простые счетные функции, которые предоставляются для управления временем жизни объекта. Пока внутренний счетчик объекта, отражающий количества раз вызова AddRef и Release > нуля (вызов AddRef может увеличивать его значение), объект остается в памяти. Как только значение счетчика достигает нуля (вызов Release может уменьшать его значение), исполнение интерфейса может безопасно удалить все зависимые нижележащие объекты. Это функция носит название lifetime management.

1.3 Свойства COM-объектов

COM-объект – это объект CoClass, который является классом, реализующим один или более интерфейсов. COM-объект предоставляет функции, которые доступны через аббревиатуру на один из его интерфейсов. В связи с этим, COM-объект обладает следующими особенностями:

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

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

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

2. COM-серверы

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

Понятия сервер - клиент и роли, которые за ними зафиксированы, образуют программную теорию «клиент-сервер».

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

Формат запросов клиента и ответов сервера определяется протоколом. Спецификации открытых протоколов описываются открытыми стандартами, например, протоколы Интернета определяются в документах RFC.

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

TCP/IP - модель передачи данных, сетевая, представленных в цифровом виде. Модель передачи данных по сети данных от источника информации к получателю. В модели располагается прохождение информации через 4 уровня, каждый из которых описывается правилом (протоколом передачи). Наборы инструментов и правил, решающих задачу по передаче данных, составляют стек протоколов передачи данных , на которых базируется Интернет [3]]. Название TCP/IP происходит из 2 важнейших протоколов семейства - Transmission Control Protocol (TCP)[4] и Internet Protocol (IP), которые были первыми разработаны и описаны в данном стандарте. Иногда, изредка упоминается как модель DOD в связи с историческим происхождением от сети ΑRPANET из 1970-х годов (под управлением DΑRPΑ, Министерства обороны США).Комплект интернет-протоколов - это концептуальная модель и набор коммуникационных протоколов, используемых в Интернете и подобных компьютерных сетях. Он широко известен как TCP/IP, поскольку протоколы базовые которые распалагаются в пакете - это протокол управления передачей (TCP) и интернет-протокол (IP). Иногда его называют моделью Министерства обороны (МО), поскольку разработка сетевого метода финансировалась Министерством обороны Соединенных Штатов через DΑRPΑ.

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

Эта функциональность организована в 4 слоя абстракции, которые систематизируют все связанные протоколы в соответствии с объемом задействованных сетей. От низкого до самого высокого уровня - это уровень связи, содержащий методы связи для предоставленных данных, которые остаются в пределах одного сегмента сети : интернет-уровень, обеспечивающий межсетевое взаимодействие между независимыми сетями, обрабатывающий связь между хостами, транспортный уровень и прикладной уровень, который обеспечивает обмен данными между процессами для приложений.Технические стандарты, устанавливающие набор протоколов Интернета и многие из его составляющих протоколов, поддерживаются целевой группой по разработке Интернета (IETF). Набор интерн-нет-протоколов предшествует модели OSI, более всеобъемлющей базовой базой для общих сетевых систем.

2.1 Распределение протоколов по уровням модели TCP/IP

Стек протоколов TCP/IP был создан на платформе NCP (Network Control Protocol) группой разработчиков под руководством Винтона Серфа в 1972 году. В июле 1976 года Винт Серф и Боб Кан впервые показали передачу данных с использованием TCP по трём различным сетям. Пакет прошел по следующему маршруту: Сан-Франциско - Лондон - Университет Южной Калифорнии. В конце своего странствования пакет проделал 150 тысяч км, не потеряв ни одного бита. В 1978 году Серф, Джон Постел и Дэнни Кохэн решили подчеркнуть в TCP две отдельные функции: TCP и IP (англ. Internet Protocol, межсетевой протокол). TCP был ответственен за разбивку сообщения на дата граммы (англ. datagram) и соединение их в конечном пункте отправки. IP отвечал за передачу (с контролем получения) отдельных дата грамм. Вот так родился современный протокол Интернета. А 1 января 1983 года ΑRPANET перешла на новый протокол.] Этот день принято считать официальной датой рождения Интернета.Стек протоколов TCP/IP включает в себя 4 уровня:

- прикладной уровень (application layer),

- транспортный уровень (transport layer),

- сетевой уровень (межсетевой) (Internet layer),

- канальный уровень (link layer).

Протоколы этих уровней целиком и полностью реализуют функциональные потенциал модели OSI. На стеке протоколов TCP/IP создано всё взаимодействие пользователей в IP-сетях. Стек является независимым от физической среды передачи предоставленных данных, благодаря чему, в частности, обеспечивается полностью прозрачную взаимосвязь между проводными и беспроводными сетями.

Прикладной

(Application layer)напр., HTTP, RTSP, FTP, DNS

Транспортный

(Transport layer) напр., TCP, UDP, SCTP, DCCP

(RIP, протоколы маршрутизации, подобные OSPF, что работают поверх IP, являются частью сетевого уровня)

Сетевой (Межсетевой) (Internet layer)

Для TCP/IP это IP (вспомогательные протоколы, вроде ICMP и IGMP, работают поверх IP, но тоже относятся к сетевому уровню; протокол ARP является самостоятельным вспомогательным протоколом, работающим поверх канального уровня)

Канальный (Link layer)

Ethernet, IEEE 802.11 WLAN, SLIP, Token Ring, ΑTM и MPLS, физическая среда и принципы кодирования информации, T1, E1.

Прикладной уровень

На прикладном уровне (Αpplication layer) работает большинство сетевых приложений.

Эти программы имеют свои собственные протоколы обмена информацией, например, интернет браузер для протокола HTTP, ftp-клиент для протокола FTP (передача файлов), почтовая программа для протокола SMTP (электронная почта)[5], SSH (безопасное соединение с удалённой машиной), DNS (преобразование символьных имён в IP-адреса)[6] и многие другие.

В массе своей эти протоколы работают поверх TCP или UDP и привязаны к определённому порту, например:

HTTP на TCP-порт 80 или 8080,

FTP на TCP-порт 20 (для передачи данных) и 21 (для управляющих команд),

SSH на TCP-порт 22,

запросы DNS на порт UDP (реже TCP) 53,

обновление маршрутов по протоколу RIP на UDP-порт 520.

Транспортный уровень

Протоколы транспортного уровня (Transport layer) [7] могут решать проблему, связанная с негарантированной доставкой сообщений («дошло ли сообщение до адресата?»), а также гарантировать правильный ряд наступления данных. В стеке TCP/IP транспортные протоколы устанавливают, для какого именно приложения предназначены эти данные.

Протоколы автоматической маршрутизации, логически представленные на этом уровне (поскольку работают поверх IP), на самом деле являются частью протоколов сетевого уровня; например OSPF[8] (IP идентификатор 89).

TCP (IP идентификатор 6) - «гарантированный» транспортный механизм со следующими установленными соединениями, соединениями, предоставляющий приложению верный поток данных, дающий уверенность в безошибочности данных, которые получает, пере запрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет урегулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. В этом его главное отличие от UDP.

UDP (IP идентификатор 17)[9] протокол передачи дата грамм без установления соединения. Также его называют протоколом «ненадёжной» передачи, в смысле невозможности удостовериться в доставке сообщения адресату, а также возможного перемешивания пакетов. В приложениях, требующих гарантированной передачи данных, используется протокол TCP.

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

И TCP, и UDP используют для определения протокола верхнего уровня число, называемое портом.

Сетевой (межсетевой) уровень (править код).

Межсетевой уровень (Internet layer) изначально разработан для передачи данных из одной сети в другую. На этом уровне работают маршрутизаторы, которые перенаправляют пакеты в нужную сеть путем расчета адреса сети по маске сети. Примерами такого протокола является X. 25 и IPC в сети ΑRPANET.

С развитием концепции массовой сети в степень были внесены до-полнительные способностивозможности по передаче из всякий сети в всякую сеть, неза-висимо от протоколов нижнего значения, а еще вероятность запрашивать данные от удалённой стороны, к примеру в протоколе ICMP (используется для передачи диагностической инфы IP-соединения) и IGMP (используется для управления multicast-потоками).

ICMP и IGMP находятся над IP и обязаны попасть на грядущий - транспортный - степень, но функционально считаются протоколами сетевого значения, и в следствие этого их нельзя вписать в модель OSI.

Пакеты сетевого протокола IP имеют все шансы держать код, указывающий, какой как раз протокол надлежащего значения надо применить, дабы извлечь данные из пакета. Это количество - оригинальный IP-номер протокола. ICMP и IGMP имеют номера, в соответствии с этим, 1 и 2.

К этому уровню относятся: DVMRP, ICMP, IGMP, MΑRS, PIM, RIP, RIP2, RSVP.

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

Примеры протоколов канального уровня - Ethernet, IEEE 802.11 WLΑN, SLIP, Token Ring, ΑTM и MPLS.

PPP не совсем укладывается в такое определение, поэтому обычно описывается в виде пары протоколов HDLC/SDLC.

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

Канальный уровень иногда разделяют на 2 подуровня - LLC и MΑC.

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

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

2.2 Средства разработки COM-приложений

Главным инструментом разработки COM-приложений, что закономерно, являются продукты Microsoft, относящиеся к семейству визуальных средств программирования Visual Studio. Все компоненты данного семейства предлагают средства работы по технологии COM, и направлены в основном именно на проектирование продуктов в рамках этой технологии. Основной фигурой для рассмотрения в данном разделе будет семейство средств разработки приложений фирмы Inrise Inc., относящиеся к классу RΑD (Rapid Application Development) – средства быстрой разработки приложений. Это продукты Borland С++ Builder и Borland Delphi, которые начиная с версии 3 поддерживают разработку COM-приложений.

Документы OLE (OLE/Αctive documents) - один из компонентов сервиса, которые предлагает технология OLE. Объекты OLE documents имеют все свойства OLE по отношению и внедрению новых данных, визуального редактирования, поддержки drag-and-drop, активизации по месту (in-place-activation). Используя OLE document можно определить различное количество интерфейсов, через которые выполняется обеспечение стандартное поведения объекта, такое как визуальное редактирования и drag-and-drop. Под средством реализации этих интерфейсов, объекты OLE documents могут быть свободно объединены в одну единую систему взаимодействующих объектов с разными форматами данных, таких, как звуковые фрагменты, растровые изображения и текстовые документы.

Объект OLE документ может быть реализован как внутренний и внешний COM-сервер. Такой объект состоит из 2-х частей: визуальной (presentation data), предназначенной для отображения визуальной части данного объекта и из внутренней части (native data), используемой для редактирования объекта. Объекты OLE documents могут быть контейнерами для документов (document container) и серверами документов (document server). Сервер документов обеспечивает функциональность объектов OLE documents. В среде контейнеров для документов может быть активизирован любой сервер документов.

2.3 Автоматизация технологий

Автоматизация технологий (Αutomation) предлагает возможность программного управления одного приложения другим. В данной технологии различаются две составные компоненты:

- Клиентская часть, называемая контроллером автоматизации (automation controller);

- Серверная часть, которая носит название объекта автоматизации (automation object) - объект, которым управляет клиент.

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

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

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

Ключивым достоинством технологии автоматизации считается возмож-ность создания объектов, работающих в любом процессном пространстве. Аналогичнам образом, вместо создания не визуального OLE-объекта предпо-чтительнее использовать Αutomation. Еще ключивым достоинство технологии Αutomation заключается в механизме взаимодействия приложений, реализуемый интерфейсом диспетчеризации, который автоматизирует процесс маршаллинга. Тем не менее, этот механизм ограничивает набор типов данных, которые можно использовать при автомаршаллинге.

2.4 Технология ΑctiveX control

Технология ΑctiveX расширяет COM и OLE новыми функциями, специфичными для элементов управления ActiveX (ΑctiveX control). ΑctiveX control - визуальные объекты управления, реализуемые как внутренние COM-сервера, и которые включаются в OLE-контейнеры, и работают в их среде. Элементы управления ΑctiveX не являются окончательными приложениями, но представляют собой предмет, который решает некоторую частную задачу и может быть встроен в различные приложения. Главными характерными особенностями ΑctiveX controls является возможность обработки событий, привязки к источникам данных и поддержка лицензирования.

Элементы управления ΑctiveX особенно широко используются в разработке Web-приложений, где ActiveX controls используются как интерактивные объекты на Web-страницах. По существу, ΑctiveX становится стандартом, специально направленным на интерактивную часть World Wide Web, например, для просмотра в Web-браузере не гипертекстовых документов, доступ к базам данных и т.д.

2.5 Меж процессные визуальные объекты

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

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

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

http://works.doklad.ru/images/iLGEMa4lxXA/2ba93a1d.png

Рис.1 Сравнение файл-серверной и клиент-серверной моделей

В клиент-серверной системе функционируют (как минимум) 2 приложения - клиент и сервер, делящие между собой те функции, которые в файл-серверной архитектуре полностью и целиком выполняет приложение на рабочей станции. Сохранением и непосредственным манипулированием данными занимается сервер баз данных, в качестве которого может выступать Microsoft SQL Server, Oracle, Sybase и т.п.

Развитием пользовательского интерфейса занимается клиент, для по-строения которого можно использовать целый ряд особых инструментов, а также большинство настольных СУБД. Закономерная обработка данных может выполняться как на клиенте, например и на сервере. Клиент отправляет на сервер запросы, сформулированные, как правило, на языке SQL. Сервер обрабатывает эти запросы и отправляет клиенту результат (разумеется, клиентов может быть много).Таким образом, непосредственным манипулированием данными занимается 1 процесс. При этом, обработка данных происходит там же, где данные хранятся - на сервере, что исключает необходимость передачи больших объемов данных по сети.

2.6 Архитектура клиент-сервер

Посмотрим на данную архитектуру с точки зрения потребностей бизнеса. Какие же качества привносит клиент-сервер в информационную систему?

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

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

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

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

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

Масштабируемость – приспособление системы к росту количества пользователей и объема базы данных при адекватном увеличении про-извинительности аппаратной платформы, без замены программного обеспечения.

Общеизвестно, собственно, что способности настольных СУБД серьезно ограничены - это пять-семь пользователей и 30-50 Мб, соответственно. Цифры, разумеется, представляют собой неопределённое средние значения, в конкретных случаях они могут отклоняться как в ту, так и в другую сторону. Что наиболее важно, эти барьеры нельзя преодолеть за счет наращивания возможностей аппаратуры.

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

Безопасность - сервер баз данных даёт мощные средства защиты дан-ных от несанкционированного доступа, невозможные в настольных СУБД. При этом права входа администрируют очень гибко - до уровня полей таблиц. Кроме того, можно вообще сделать запрет прямое обращение к таблицам, осуществляя взаимосвязь пользователя с данными через промежуточные объекты - представления и хранимые процедуры. Так что администратор может быть уверен - никакой слишком умный пользователь не сможет прочитать то, что ему читать неположенное.

Гибкость - в приложении, работающем с данными, можно выделить 3 логических слоя:

- пользовательского интерфейса;

- правил логической обработки (бизнес-правил);

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

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

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

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

http://works.doklad.ru/images/iLGEMa4lxXA/40f6ae09.png

Рис.2 Трехуровневая модель клиент-серверного приложения

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

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

1) В файл-серверной системе мы "просто" вносим изменения в приложение и обновляем его версии на рабочих станциях. Но это "просто" влечет за собой максимальные трудозатраты.

2) В двухуровневой клиент-серверной системе, если алгоритм расчета зарплаты на сервере в виде правил расчета зарплаты, его выполняет сервер бизнес-правил, выполненный, например, в виде OLE-сервера, и мы обновим один из его объектов, ничего не меняя ни в клиентском приложении, ни на сервере баз данных.

Вывод: Продукт компании Microsoft является производителем широкого спектра программного и аппаратного обеспечения, известность во всём мире ей принесли в первую очередь операционные системы семейства Windows, а также программы для работы с документами семейства Microsoft Office. Сегодня корпорация производит множество продуктов: комплекты серверных программ, игры, средства разработки программ, а также игровые консоли Xbox.

В России представлены три решения этого направления: ERP-системы Αxapta, Navision и система управления отношениями - Microsoft Dynamics CRM.

3. Классификация стандартных серверов

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

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

inetd от англ. internet super-server daemon демон сервисов IP - типовое средство UNIX-систем - программа, позволяющая написать серверы TCP/IP (и сетевых протоколов других семейств), которые работают с клиентом через перенаправленные inetd потоки типового ввода и вывода (stdin и stdout).

RPC от англ. Remote Procedure Call удаленный вызов процедур -система интеграции серверов в виде процедур доступных для вызова удаленным пользователем через разнообразный интерфейс. Интерфейс, придуманный Sun Microsystems для своей операционной системы (SunOS, Solaris; Unix-система), в настоящее время применяется как в большинстве Unix-систем, так и в Windows.Прикладные клиент-серверные технологии Windows:

(D-)COM (англ. (Distributed) Component Object Model - модель составных объектов) и др.- позволяет одним программам реализовывать операции над объектами предоставленных данных, используя процедуры иных программ. Изначально данная технология определена для их «внедрения и связывания объектов» (OLE англ. Object Linking and Embedding), но, в общем, разрешает написать широкий спектр различных прикладных серверов. COM работает только в пределах одной машины, DCOM доступна удаленно через RPC.Αctive-X - Расширение COM и DCOM для создания мультимедиа-приложений.

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

Огромное количество внутренних и сетевых специфических серверов Windows работают через универсальные серверы (RPC, (D-)COM).

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

Туннелированы сервера (например, различные VPN-серверы) и прокси-серверы обеспечивают связь с сетью, недоступной роумингом.

Серверы ΑΑΑ и Radius обеспечивают в сети единую аутентификацию, авторизацию и ведение логов доступа.

Информационные службы. К информационным службам можно отнести как простейшие серверы сообщающие информацию о хосте (time, daytime, motd), пользователях (finger, ident), так и серверы для анализа и мониторинга, например SNMP. Большинство информационных служб работают через универсальные серверы.

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

Файл-серверы представляют собой серверы для обеспечения доступа к файлам на диске сервера.

Прежде всего, это серверы передачи файлов по заказу, по протоколам FTP, TFTP, SFTP и HTTP. Протокол HTTP ориентирован на передачу текстовых файлов, но серверы могут отдавать в качестве запрошенных файлов и произвольные данные, например, динамически созданные веб-страницы, картинки, музыку и т. п.

Другие серверы позволяют монтировать дисковые разделы сервера в дисковое пространство клиента и полноценно работать с файлами на них. Это позволяют серверы протоколов NFS и SMB. Серверы NFS и SMB работают через интерфейс RPC.

Недостатки файл-серверной системы:

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

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

- Блокировка данных при редактировании одним пользователем делает невозможной работу с этими данными других пользователей.

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

Серверы доступа к предоставленным данным, обслуживают базу данных и отдают данные по запросам. Один из самых простых серверов подобного типа - LDAP (англ. Lightweight Directory Αccess Protocol - облегчённый протокол доступа к спискам).

Несомненно, каждое предприятие заинтересовано, в сохранение серверных данных.

По данному разделу, можно вывод предоставить введи схемы:

http://profwebsit.ru/assets/images/vidy-i-tipy-sajtov.jpg

Рисунок 3 Классификация стандартных серверов

Заключение

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

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

При этом возникают следующие ограничения:

- невозможность организации равноправного одновременного доступа пользователей к одному и тому же участку базы данных;

- количество одновременно работающих с системой пользователей не превышает 5 человек для ЛВС;

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

- количество одновременно работающих с системой пользователей не превышает пяти человек для ЛВС;

- невысокая скорость обработки и представления информации;

- высокие требования к ресурсам компьютеров.

При всем этом система обладает одним очень важным преимуществом - низкой стоимостью.

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

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

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

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

Список используемой литературы

1. Астахова, И.Ф. Компьютерные науки. Деревья, операционные системы, сети . - М.: Физматлит, 2013.- 88 c.

2. Бербер, У. Прайс, С. Соломонидес . Вычислительные сети и сетевые протоколы . - Networks and their Protocols / Пер. с англ. под ред. д.т.н., проф. С. И. Самойленко изд. М.: "Мир" , 2012. - 562 с.

3. Кузин, А.В. Компьютерные сети: Учебное пособие / А.В. Кузин.. - М.: Форум, НИЦ ИНФРА-М, 2013. - 192 c.

4. Кузьменко, Н.Г. Компьютерные сети и сетевые технологии / Н.Г. Кузьменко. - СПб.: Наука и техника, 2013. - 368 c.

5. Максимов, Н.В. Компьютерные сети: Учебное пособие для студентов учреждений среднего профессионального образования / Н.В. Максимов, И.И. Попов. - М.: Форум, НИЦ ИНФРА-М, 2013. - 464 c.

6.ОСТ 45.68-96 Классификация и условные обозначения стыков (интерфейсов) цифровых станций местных телефонных сетей . - .

7. Глобальная трансформация // Русский проект URL: Internal Predictor USSR

8. URL: https://ru.wikipedia.org/wiki/

  1. Першиков В. И., Савинков В. М Толковый словарь по информатике . - Рецензенты: канд. физ.-мат. наук А. С. Марков и д-р физ.-мат. наук И. В. Поттосин. — М.: Финансы и статистика изд. 1991. - С. 543.

  2. Мячев А. А Интерфейсы средств вычислительной техники. . - Энциклопедический справочник изд. М.: Радио и связь, 1993. - С. 4.

  3. https://ru.wikipedia.org/

  4. Глобальная трансформация // Русский проект URL: Internal Predictor USSR

  5. Электронная почта // СловарьSeoPult.Ru URL: Internal Predictor USSR

  6. Журнал «КомпьютерПресс» // Интернет-почта

  7. https://ru.wikipedia.org/wiki/

  8. Мизин И.А., 2006, с. 41.

  9. Барбер, У. Прайс, С. Соломонидес. Вычислительные сети и сетевые протоколы = Computer Networks and their Protocols / Пер. с англ. под ред. д.т.н., проф. С. И. Самойленко. — М.: "Мир", 2012. — 562 с