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

Использование облачных вычислений и технологии терминального доступа в рамках взаимодействия с клиентами предприятия. Разработка автоматизированной системы подготовки и выдачи специализированных документов с помощью Windows Form в среде Visual Studio.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.08.2018
Размер файла 2,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Федеральное агентство связи

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Поволжский государственный университет телекоммуникаций и информатики»

Факультет Информационных систем и технологий

Направление Информационные системы и технологии

Кафедра Информационные системы и технологии

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

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

Разработал Р.В. Маряшин

Самара 2017

  • Содержание
  • Реферат
  • Введение
  • 1. Теоретические основы
    • 1.1 Понятие и роль автоматизации на предприятии
    • 1.2 Информационные системы автоматизации документооборота
    • 1.3 Облачные вычисления
      • 1.3.1 История развития облачных вычислений
      • 1.3.2 Понятие облачных технологий
    • 1.4 Терминальный доступ
      • 1.4.1 Понятие терминального доступа
      • 1.4.2 Особенности и затраты при использовании терминального доступа
      • 1.4.3 Ведущие поставщики средств терминального доступа
  • 2. Выбор инструментальных средств разработки модели
    • 2.1 Платформа .NET
    • 2.2 Объектно-ориентированное программирование (ООП)
    • 2.3 Среда разработки Visual Studio
    • 2.4 Выбор языка программирования
      • 2.4.1 Языки программирования для разработки модели
      • 2.4.2 История языка С#
      • 2.4.3 Сравнение языка С# с другими языками
    • 2.5 Разработка приложения с помощью Windows Form в среде Visual Studio
      • 2.5.1 Процесс создания проекта Windows Form
  • 3. Разработка модели
    • 3.1 Общая характеристика и цель разработки модели
    • 3.2 Подготовительный этап
      • 3.2.1 Создание и заполнение базы данных
      • 3.2.2 Создание локальных хранилищ/источников
      • 3.2.3 Создание документов - шаблонов
    • 3.3 Разработка модели
      • 3.3.1 Начальная форма - вход в систему
      • 3.3.2 Вторая форма - личный кабинет
      • 3.3.3 Третья и четвертая форма - формы “Preview” и “Kadastr”
  • Заключение
  • Список использованных источников
  • Приложение
  • Реферат
  • Объектом исследования ВКР является МБУ «Кошкинский МФЦ», предметом - автоматизация процесса подготовки и выдачи документов. Была разработана модель автоматизированной системы подготовки документов.
  • Введение
  • Большинство предприятий в процессе своей деятельности так или иначе работает с клиентами. Для государственных предприятий чаще всего под работой с клиентом подразумевается: работа с личными документами, обработка запросов, выполнение транзакций. Однако с каждым годом происходит значительное увеличение количества информационных запросов и их разновидностей.
  • Для стратегических целей и результатов предприятия сегодня и в будущем удовлетворенные сервисом и вниманием клиенты -- самый важный фактор. Обслуживание клиентов -- важнейший стратегический отличительный признак компании. Эффективная работа с клиентами должна стать приоритетом высшего руководства, а соответствующая служба наряду с оперативной деятельностью -- принять на себя стратегическую ответственность. И при наличии механизма реализации таких подходов изменения возможны.
  • В результате актуальной становится необходимость в хранении большого количества информации и обеспечении быстрого доступа к ней. И как следствие актуальным становится поиск решения этих проблем. В качестве одного из таких решений в дипломной работе был рассмотрен терминальный доступ к данным.
  • Терминальный доступ предоставляет собой доступ к информационной системе посредством перенаправления ввода информации (чаще всего с помощью мыши и клавиатуры) на центральную машину (именуемой терминальным сервером) и отображения результата выполнения действий в виде графической информации на монитор. При этом локальная машина - терминал не выполняет вычислительной работы. Для решения проблем, связанных с расширением области предоставления услуг и снижением вычислительной нагрузки при выполнении вычислений, в последнее время стали использоваться облачные технологии.
  • Облачные технологии - это технологии обработки данных, в которых компьютерные ресурсы предоставляются Интернет-пользователю как онлайн-сервис. Для облачных технологий главной особенностью является неравномерность запроса Интернет-ресурсов со стороны пользователей. Чтобы сгладить данную неравномерность применяется промежуточный слой - виртуализация сервера. Таким образом, нагрузка распределяется между виртуальными серверами и компьютерами.
  • В дипломной работе был рассмотрен один из способов автоматизации деятельности предприятия за счет внедрения сервиса предоставления услуг, который основан на облачных вычислениях с применением терминального доступа. Актуальность рассмотрения данной темы обусловлена тем, что автоматизация работы предприятия способствует повышению эффективности работы предприятия и сокращению расходов.
  • Научная новизна работы заключается в практическом использовании облачных вычислений и технологии терминального доступа в рамках взаимодействия с клиентами предприятия. Результатом использования является разработка прототипа модели, нацеленного на повышение автоматизации и эффективности работы предприятия.
  • Объектом исследования дипломной работы выступает муниципальное бюджетное учреждение "Многофункциональный центр предоставления государственных и муниципальных услуг населению муниципального района Кошкинский Самарской области" (МФЦ). МФЦ занимается регистрацией и выдачей документов гражданам и организациям при предоставлении государственных и муниципальных услуг.
  • Предметом исследования является автоматизация процесса подготовки и выдачи специализированных документов. Цель работы: разработка модели предоставления услуг подготовки и выдачи документов посредством взаимосвязи облачных вычислений и терминального доступа.
  • Задачи работы:
  • 1) Рассмотреть деятельность предприятия.
  • 2) Ознакомиться с имеющимися автоматизированными системами подготовки документов.
  • 3) Провести анализ инструментальных средств разработки модели.
  • 4) Разработать модель автоматизированной системы подготовки документов.
  • Сформулированные задачи данной работы определили ее структуру, а именно, она состоит из введения, трех глав и заключения.
  • Во введении описывается тенденции, которые соответствуют изменению предоставления сервиса услуг предприятия, и необходимость задействовать современные технологии.
  • Первая глава, являясь теоретической основой работы, рассказывает об основных понятиях, которые тем или иным способом будут задействованы в процессе разработки прототипа модели.
  • Вторая глава предоставляет информацию о выбранном для реализации прототипа языке программирования, описывает его специфику и производит сравнение с другими языками.
  • Третья глава включает в себя практические аспекты решения поставленной цели и посвящена разработке автоматизированной системы подготовки и выдачи специализированных документов.
  • Основным источником в вопросе о терминальном доступе стала статья Н. Елмановой “Терминальный доступ для малых и средних предприятий”[12], в которой она говорит, что “Внедрение средств терминального доступа в последнее время вызывает немалый интерес у руководителей многих компаний -- ведь эта категория продуктов при грамотном применении способна обеспечить значительное снижение как затрат на сопровождение корпоративного программного обеспечения, так и издержек на регулярное обновление аппаратного обеспечения”.
  • Наибольший вклад при разработке модели внесла книга Т.А. Павловская “C#. Программирование на языке высокого уровня” [7]. В этой книге автор подробно дал определение языку программирования C# и описал процесс разработки приложений.
  • Заключение является главой подведения итогов, которая основывается на совокупности трёх вышеперечисленных глав. Она содержит оценку пригодности разработанного прототипа модели в рамках соответствующего предприятия и выводы по поводу целесообразности внедрения автоматизированного продукта.
  • 1. Теоретические основы

1.1 Понятие и роль автоматизации на предприятии

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

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

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

Говоря о понятии автоматизация, невозможно не упомянуть о понятии информационная система.

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

Существуют основные требования ИС:

· Эффективность;

· Безопасность;

· Качество функционирования: согласованность со стандартами, точность, защищенность;

· Надежность;

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

Перед началом разработки средства автоматизации необходимо чётко сформулировать цель. Основными целями автоматизации предприятия являются:

· замена ручного труда;

· снижение расходов предприятия;

· повышение эффективности деятельности;

· упрощение рутинных процессов;

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

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

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

1.2 Информационные системы автоматизации документооборота

Информационные системы, автоматизирующие документооборот (СЭД), активно начали применяться в России около 20 лет назад, однако только в последние несколько лет они стали рассматриваться и внедряться не только как системы для автоматизации процессов управления документами, но и как полноценные платформы для создания единого информационного пространства, что, безусловно, расширяет границы их использования и повышает к ним интерес со стороны научного сообщества.

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

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

1.3 Облачные вычисления

1.3.1 История развития облачных вычислений

Концепция вычислений впервые была озвучена в 1960 году, Джоном Маккарти, который предложил, что через некоторое время все вычисления будут производиться с использованием общих ресурсов[6].

Впервые идея того, что сейчас подразумевается под облачными вычислениями, была озвучена J.C.R. Licklider, в 1970 году. Его идея заключалась в том, что каждый человек на земле будет подключен к сети, из которой он будет получать не только данные и программы. Другой учёный John McCarthy высказал идею о том, что вычислительные мощности будут предоставляться пользователям как услуга (сервис). На этом развитие облачных технологий было приостановлено до 90-х годов, после чего ее развитию поспособствовал ряд факторов:

1. Расширение пропускной способности Интернета, произошло увеличение скорости передачи данных, которое дало толчок скорейшему развитию облачных вычислений.

2. Появление Salesforce.com в 1999году. Данная компания стала первой компанией предоставившей доступ к своему приложению через сайт, по принципу - программное обеспечение как сервис(SaaS).

3. Разработка облачного веб-сервиса Amazon в 2002году. Данный сервис позволял хранить информацию и производить вычисления.

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

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

6. Реальное развитие облачных вычислений началось в 2007 году. С тех пор развитие “облаков ” проходило стремительно, многие компании перешли на них при первой возможности, а вскоре появились и сервисы, предоставляющие услуги распределенных вычислений своим клиентам.

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

1.3.2 Понятие облачных технологий

Термин «облачные вычисления» (Cloud computing) (Рис. 1.1) [14] - синоним более точного термина Распределённые вычисления. Суть этой идеи проста - если для расчёта какой-либо задачи не хватает мощностей одного компьютера, то можно “добавить” к этой работе другие ПК в сети, что существенно увеличит объем доступных для использования ресурсов и, следовательно, сократит время, требуемое на выполнение всех операций. Облачные вычисления определяются Национальным институтом стандартов и технологий(NIST) как “модель для удобного, по требованию, сетевого доступа к общему хранилищу данных с настраиваемыми вычислительными ресурсами (таким как, сети, серверы, приложения и услуги), который может быть осуществлён быстро, при минимальной необходимости в управлении и взаимодействии с поставщиком услуг”.

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

Рис. 1.1 - Облачные вычисления

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

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

Рис. 1.2 - Облачный сервис

Следует выделить основные принципы построения облачной технологии:

1. Работа в сети. Использовать эту технологию без доступа к интернету невозможно.

2. Виртуализация. Пользователь получает столько ресурсов, сколько ему необходимо.

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

4. Простота и стандартность. Все, что предлагается внутри облака, доступно через самые простые вызовы API и протоколы. Например, протокол REST, с помощью которого все операции над данными можно производить через http-запросы.

Все, что касается облачных вычислений (сloud сomputing), обычно принято называть словом aaS. Расшифровывается это просто - “as a Service“, то есть “как сервис”, или “в виде сервиса”. В настоящее время, концепция, предполагает оказание следующих типов услуг своим пользователям:

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

В момент, когда услуга потребляется в качестве сервиса, а не в качестве установленного программного обеспечения, клиент становится потребителем SaaS.

Далее рассмотрим самый простой и понятный пример используемый SaaS-сервис - это электронная почта.

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

1) В первую очередь настроить сервер;

2) Установить на выделенный сервер специализированное программное обеспечение, какой - то агент передачи почты, настроить все компоненты;

3) Далее на персональном компьютере предполагаемого клиента установить и настроить почтовый клиент;

4) Поддерживать работоспособность данного сервиса, при необходимости вносить коррективы, устранять ошибки.

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

2. Платформа как сервис (PaaS, англ. Platform-as-a-Service) - модель, когда потребителю предоставляется возможность использования облачной инфраструктуры для размещения базового программного обеспечения для последующего размещения на нём новых или существующих приложений (собственных, разработанных на заказ или приобретённых тиражируемых приложений). В состав таких платформ входят инструментальные средства создания, тестирования и выполнения прикладного программного обеспечения - системы управления базами данных, связующее программное обеспечение, среды исполнения языков программирования - предоставляемые облачным провайдером. Контроль и управление основной физической и виртуальной инфраструктурой облака, в том числе сети, серверов, операционных систем, хранения осуществляется облачным провайдером, за исключением разработанных или установленных приложений, а также, по возможности, параметров конфигурации среды (платформы).

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

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

Ярким примером платформы как сервис является Windows Azure.

Windows Azure - название платформы “облачных сервисов” от компании Microsoft, с помощью которой можно “виртуально” - неограниченно масштабировать веб - приложения. Платформа предоставляет возможность пользователю разрабатывать и выполнять приложения, а также хранить данные на серверах.

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

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

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

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

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

· Организация стремительно развивается, и возникает проблема постоянного масштабирования инфраструктуры.

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

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

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

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

Также немаловажным аспектом использования сервиса, является плата за аренду. В случае использования варианта инфраструктуры по модели IaaS, существуют 2 способа тарификации:

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

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

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

Основные проблемы традиционного подхода и возможности облачных технологий для их решения.

Таблица 1.1

Проблемы традиционного подхода

Возможности облачных технологий

Оперативность доступа к файлам сервисов

Система управления хранилищами данных, в том числе мультимедиа-хранилищами

Недоступность или медленная работа сервиса при высокой нагрузке

Система алгоритмов автоматического масштабирования ресурсов, система управления виртуальными машинами

Сбои в работе сервиса на уровне физической инфраструктуры

Система управления виртуальными машинами, система управления сетевыми ресурсами(IP-адреса, домены и др.)

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

Частное облако (private cloud) - это ИТ-инфраструктура, контролируемая и эксплуатируемая в интересах одной единственной организации. Частное облако, может находиться в собственности, управлении и эксплуатации у самой организации (заказчика), либо частично у заказчика и частично у оператора.

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

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

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

· гибридная модель даёт возможность интегрировать и комбинировать публичные облачные сервисы от разных поставщиков;

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

1.4 Терминальный доступ

1.4.1 Понятие терминального доступа

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

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

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

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

· сервис аутентификации - единая точка входа в систему - точка централизации;

· консоль администратора системы - управление системой защиты;

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

· сервис распространения терминальной ОС - хранит актуальную версию ОС терминала;

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

· терминальная ОС;

· компонент "Сервер приложений" - выполняет, в частности, функции по разграничению доступа пользователей в системе;

· модули шифрования IP-трафика - необходимы для обеспечения шифрования данных.

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

· терминалы, с помощью которых предоставляется доступ, не имеют жесткого диска;

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

· Не имеют в своем составе подвижных деталей;

· Исполняются в специализированных корпусах с полностью пассивным охлаждением;

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

1.4.2 Особенности и затраты при использовании терминального доступа

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

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

1.4.3 Ведущие поставщики средств терминального доступа

Microsoft

Простейшие средства терминального доступа, называемые терминальными службами, входят в состав серверных версий Windows. Терминальные службы доступны для Windows NT Server 4.0, Terminal Server Edition (первая версия средств терминального доступа, созданная совместно с компанией Citrix), Windows 2000 Server, Windows 2000 Datacenter Server.

Средства управления параметрами работы терминальных служб Windows сравнительно просты. При применении Windows Server 2003, Enterprise Edition можно осуществить баланс загрузки серверов; возможно динамическое управление параметрами сессии; клиентским сеансам доступны разрешения экрана до 1600Ѕ1200 и режим True Color, а клиенты терминальных служб Windows Server 2003 могут иметь доступ к своим локальным ресурсам (внешним устройствам, дискам и т.д.) изнутри терминального сеанса. Вот, собственно, и все доступные на сегодня возможности терминальных служб Windows. Тем не менее эти службы нередко используются администраторами сетей для осуществления удаленного управления серверами, а также в компаниях-разработчиках и в отделах разработки ПО для обращения к приложениям, установленным на других компьютерах.

Лицензирование доступа через терминальные службы осуществляется следующим образом. Все устройства, использующие доступ к терминальным службам, должны быть снабжены лицензией Windows Server2003 Terminal Server Device (CAL), предоставляющей право доступа к Windows Server 2003 для устройства, либо их пользватель должен иметь лицензию Windows Server 2003 Terminal Server User CAL. Помимо этого существует лицензия Windows Server2003 Terminal Server External Connector License, позволяющая осуществлять анонимные одновременные соединения с терминальными службами через Интернет и предназначенная для провайдеров приложений.

Citrix

Лидером рынка средств терминального доступа сегодня по праву считается компания Citrix. Эта компания выпускает средства терминального доступа для Windows и UNIX; при этом указанный набор средств отличается от терминальных служб Windows (лицензированных в свое время у той же Citrix) весьма широким спектром, как возможностей настройки клиентских сессий, так и средств управления терминальными серверами и иными сетевыми ресурсами, задействованными при применении терминального доступа, а также исчерпывающим набором интегрированных между собой сопутствующих инструментов и технологий, например средств управления паролями, защищенным доступом, роумингом терминальных соединений при перемещении клиента с одного места на другое. Так, с помощью инструментов, входящих в состав Citrix Access Suite, работающего поверх терминальных служб Windows, можно установить весьма широкий спектр параметров сеанса (размер окна, разрешение экрана, количество цветов, правила работы с аудиоданными), вплоть до создания сеансов, запускающих в оконном режиме всего одно конкретное приложение и завершающихся по окончании его работы, осуществить подробный мониторинг всей распределенной системы и анализ использования ресурсов в пользовательских сеансах, реализовать оптимальное управление так называемыми серверными фермами -- кластерами серверов, содержащих однотипные приложения, за счет балансировки их нагрузки.

Отметим, что при применении технологий Citrix (в частности, архитектуры ICA -- Independent Computing Architecture) по сети передаются только сведения о манипуляциях мышью и клавиатурном вводе, а также об изменениях в изображении на экране, что ограничивает необходимую для сеанса полосу пропускания до менее чем 20 Кбит/с.

Citrix Access Suite поддерживает доступ к терминальным серверам с рабочих станций на платформе DOS, Windows, Mac OS, UNIX, Linux, OS/2, Java из браузеров, использующих модули расширения Netscape или элементы управления Active X для Internet Explorer, а также с широкого спектра мобильных устройств.

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

2. Выбор инструментальных средств разработки модели

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

2.1 Платформа .NET

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

Среда разработки[2] - совокупность средств, необходимых для написания программ, их корректировки, отладки, преобразования в машинные коды и запуска. Оболочка обычно содержит:

· текстовый редактор, необходимый для ввода и корректировки текста программы;

· Инструменты отладки и запуска программы;

· общие библиотеки, содержащие типовые элементы программ;

· справочную систему и другие элементы;

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

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

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

· безопасность - защита от несанкционированного вмешательства;

· межъязыковое взаимодействие - возможность использования несколько языков программирования и комбинировать ими;

· использование готовых компонентов - для сокращения времени разработки;

Описанная выше платформа имеет возможность успешно решать все эти задачи. Для обеспечения многоплатформенности компиляторы, входящие в состав платформы, переводят программу не в машинные коды, а в промежуточный язык (Microsoft Intermediate Language, MSIL или IL), который не содержит команд, зависящих от языка, операционной системы и типа устройства. Написанная на этом языка программа выполняется под управлением системы, которая называется общеязыковой средой выполнения (Common Language Runtime, CLR).

Среда CLR может быть выполнена на любой операционной системе. Когда в систему загружается программа, то так называемый JIT-компилятор, который переводит код с языка IL в машинные команды соответствующего процессора, которые немедленно выполняются. Аббревиатуру означает “Just in time”, которая переводится, как “вовремя”, тем самым компилируются только те части кода, которые необходимо задействовать в данный момент времени. Выбранные части компилируются только один раз, после чего перемещаются к кэш для дальнейшего использования.

Результатом работы компилятора является сборка, которой является файл с расширением dll и содержит код программы на языке IL и метаданные. Метаданные - информация об программных объектах и системная информация о самой сборке. Метаданные выполняют определенный набор важных функций: помогают организовывать межъязыковое взаимодействие компонентов, обеспечивают безопасность и упрощают процесс установки приложения на устройство пользователя. Сборка включает в себя один или несколько модулей. В любом случае она представляет собой программу, полностью готовую для установки и не требующую никакой дополнительной информации.

Платформа .NET включает в себя огромную библиотеку классов, которые используются при реализации абсолютно на любом языке программирования .NET. Библиотека имеет многоуровневую структуру:

Каркас .NET Framework

Библиотека классов каркаса(FCL)

Веб-сервисы Интерфейс пользователя

Классы для работы с данными и XML

Базовые классы среды

Самым нижним уровнем является базовые классы, которые находят применение в любой программе: классы ввода/вывода, графического интерфейса пользователя, хранение данных, обработка строк и т.д. На втором уровне находится набор классов, необходимый для работы с базами данных и XML. Вершиной являются классы, которые поддерживают разработку распределенных приложений, а также веб- и Windows-приложений. В процессе разработки программист может пользоваться классами любого из уровней. Платформа .NET нацелена на объектно-ориентированную технологию разработки программ, поэтому необходимо рассказать об основных понятиях объектно-ориентированного программирования (ООП).

2.2 Объектно-ориентированное программирование (ООП)

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

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

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

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

Наследование - это мощный инструмент ООП, который применяется в ситуациях когда[8]:

· необходимо исключить из программы повторение фрагментов кода;

· происходит создание новых программ на основе существующих;

· необходимо модифицировать программу;

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

Подводя итог сказанному, можно сформулировать достоинства ООП:

· Использовать при разработке программы предметную область и представлять её в виде совокупности объектов;

· Многократно использовать код программы за счет наследования;

· Использование и создание новых библиотек;

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

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

2.3 Среда разработки Visual Studio

Среда разработки Visual Studio.NET (Рис. 2.1) обладает мощными инструментами и возможностями для создания, корректирования и модифицирования программ. Корпорация Microsoft включила в платформу поддержку следующих языков программирования: Java, C#, C++, VB.NET. Данная платформа является открытой, то есть компиляторы для нее могут быть использованы от сторонних разработчиков. На сегодняшний день разработаны десятки компиляторов, таких как COBOL, Delphi, Fortran, Perl и Python.

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

Любое приложение на этапах своей разработки называется проектом. Проект включает в себя все необходимые элементы: файлы, папки и прочие ресурсы. Среда Visual Studio.NET предоставляет возможность создавать проекты различных типов, например[9]:

· Windows-приложение - это один из типов программ персонального компьютера, который использует элементы интерфейса Windows и имеет специальных формат .EXE;

· Консольное приложение - это приложение, результат выполнения которого выводится “на консоль”, то есть в окно командного процессора;

· Библиотека классов - содержит совокупность классов для использования в других приложениях;

· Web-приложение - это приложение доступ к которому осуществляется с помощью браузера и Интернета и которое по запросу пользователя формирует и отправляет ему Web-страницу;

Рис. 2.1 - Начальная страница Visual Studio

2.4 Выбор языка программирования

2.4.1 Языки программирования для разработки модели

В настоящее время существует большое разнообразие языков программирования, которые можно использовать для разработки приложений. Наиболее известными представителями являются[1]:

1. VB.NET или Visual Basic.NET в настоящее время является одним из наиболее популярных языков программирования. Хотя он уступает по популярности таким языкам, как C++,C#, Java в силу различных причин, однако по возможности и своему потенциалу выше перечисленным языкам мало в чем уступает. С момента создания в 2002 году VB.NET был признан заменить распространенный на тот момент Visual Basic 6, а новый поулчил название VB 7. О мощи языка VB.NET говорит широкий спектр возможного программного обеспечения, которое может быть написано на этом языке: это и простейшие консольные программы, и игровые приложения, и сложные высоконагруженные веб-сервисы. Одной и основных особенностей VB.NET является его объектно - ориентированность. VB.NET - полноценный объектно-ориентированный язык. Он поддерживает полиморфизм, наследование, статическую типизацию, перегрузку операторов. Объектно-ориентированный подход позволяет решить задачи по построению крупных, но в тоже время гибких, масштабируемых и расширяемых приложений.

2. Python является универсальным языком высокого уровня. Он, например, входит в комплект приложений как инструмент написания макросов. Язык Python идеально подходит для проектов, которые требуют быстрой разработки. Он поддерживает несколько парадигм программирования, что хорошо для программ, требующих гибкости. А наличие множества пакетов и модулей обеспечивает универсальность и экономит время. Одной из причин простоты, которой отличается программирование на Python, является то, что он поставляется с инструментами, которые помогут разрабатывать, писать и отлаживать программы. В интерактивном режиме команды вводятся по одной строке за один раз, почти так же, как операционная система (оболочка) принимает команды из командной строки. Также можно создавать короткие многострочные программы или импортировать код из текстовых файлов или встроенных модулей Python. Для начинающих будет полезно знать, что интерактивный режим включает обширную справочную систему. Это удобный способ изучения возможностей языка программирования.

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.