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

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

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

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

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

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

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

Введение

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

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

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

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

Задачи, которые необходимо решить при выполнении данной работы:

1) Настройка информационных систем для обмена. Большинство продуктов имеют интерфейсы прикладного программного уровня.

2) Создание веб-сайта управления. Для написания сайта предстоит изучить сферу веб-программировании и методы построения сложных систем.

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

4) Автоматизация смежных бизнес-процессов. Автоматизация работы подсистем, задействованных при обмене информацией.

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

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

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

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

1. Теоретический обзор

1.1 Концепции программирования

информационный код реляционный

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

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

Первые программируемые компьютеры требовали, чтобы программисты писали четкие инструкции для прямого манипулирования оборудованием компьютера. Этот «машинный язык» было очень утомительно писать вручную, так как даже простые задачи, такие как печать некоторого вывода на экран, требуют 10 или 20 команд машинного языка. Машинный язык часто называют «языком низкого уровня», поскольку код напрямую манипулирует аппаратными средствами компьютера.

Языки более высокого уровня, такие как C, C ++, Pascal, Cobol, Fortran, ADA и Java, называются «скомпилированными языками». На скомпилированном языке программист пишет более общие инструкции, а компилятор (специальное программное обеспечение) автоматически переводит эти инструкции высокого уровня на машинный язык. Затем машинный язык исполняется компьютером. Большая часть используемого сегодня программного обеспечения запрограммирована таким образом.

Языки могут быть классифицированы на несколько парадигм.

Парадигмы программирования - это способ классификации языков программирования на основе их особенностей.

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

Общие парадигмы программирования включают в себя следующие виды:

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

- процедурный, который группирует инструкции в процедуры;

- объектно-ориентированный, который группирует инструкции вместе с частью состояния, в котором они работают,

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

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

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

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

Символические методы, такие как рефлексия, которые позволяют программе ссылаться на себя, также могут рассматриваться как парадигма программирования. Однако это совместимо с основными парадигмами и, следовательно, не является настоящей парадигмой само по себе.[1]

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

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

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

Подобно тому, как разработка программного обеспечения (как процесс) определяется различными методологиями, так и языки программирования (как модели вычислений) определяются различными парадигмами. Некоторые языки предназначены для поддержки одной парадигмы (Smalltalk поддерживает объектно-ориентированное программирование, Haskell поддерживает функциональное программирование), в то время как другие языки программирования поддерживают несколько парадигм (например, Object Pascal, C ++, Java, C #, Scala, Visual Basic, Common Lisp, Scheme , Perl, PHP, Python, Ruby, Wolfram Language, Oz и F#). Например, программы, написанные на C ++, Object Pascal или PHP, могут быть чисто процедурными, чисто объектно-ориентированными или могут содержать элементы обеих или других парадигм. Разработчики программного обеспечения и программисты решают, как использовать эти элементы парадигмы.

Исторически объектно-ориентированные языки определяются следующими понятиями: инкапсуляция, наследование и полиморфизм. Поэтому, если язык программирования не реализует все эти концепции, то он, как правило, не считается объектно-ориентированным. Наряду с этими тремя терминами добавляют ещё и композицию.

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

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

Объектно-ориентированное программирование. Оно основано на концепции «объектов», которые могут содержать данные в форме полей, часто называемых атрибутами; и код в форме процедур, часто называемых методами. Особенностью объектов является то, что процедуры объекта могут получать доступ и часто изменять поля данных объекта, с которым они связаны. Не существует единого «потока» программы, поскольку объекты могут свободно взаимодействовать друг с другом, передавая сообщения.[2]

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

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

Или это может заставить его снова выполнить определенный фрагмент, или просто пропустить код.

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

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

Они также позволяют разработчикам легко реорганизовать код, а также являются частью гибкой или адаптивной разработки программного обеспечения. [4]

В развёрнутом виде аббревиатура S.O.L.I.D представлена в Таблице 1.

Таблица 1 - S.O.L.I.D

S

SRP

The Single Responsibility Principle Принцип единственной ответственности. Каждый класс выполняет лишь одну задачу.

O

OCP

The Open Closed Principle Принцип открытости/закрытости. «Программные сущности должны быть открыты для расширения, но закрыты для модификации.»

L

LSP

The Liskov Substitution Principle Принцип подстановки Барбары Лисков. «Объекты в программе должны быть заменяемыми на экземпляры их подтипов без изменения правильности выполнения программы.» Наследующий класс должен дополнять, а не изменять базовый.

I

ISP

The Interface Segregation Principle Принцип разделения интерфейса. «Много интерфейсов, специально предназначенных для клиентов, лучше, чем один интерфейс общего назначения.»

D

DIP

The Dependency Inversion Principle Принцип инверсии зависимостей. «Зависимость на Абстракциях. Нет зависимости на что-то конкретное.»

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

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

UML не является языком программирования, но является инструментом, которое можно использовать для генерации кода на разных языках с использованием диаграмм UML. UML имеет прямое отношение к объектно-ориентированному анализу и дизайну. [5]

1.2 Проектирование и программирование баз данных

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

Основные задачи проектирования баз данных:

Поддержка хранения в БД всей необходимой информации;

Возможность сбора данных по всем необходимым запросам;

Сокращение избыточности и дублирования данных;

Поддержка целостности базы данных.

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

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

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

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

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

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

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

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

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

1.2.2 Реляционная модель базы данных

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

Язык под названием SQL (Structured Query Language) был разработан для работы с реляционными базами данных.

В реляционной модели таблица не может содержать повторяющиеся строки, потому что это приведет к неоднозначности при извлечении. Чтобы обеспечить уникальность, каждая таблица должна иметь столбец (или набор столбцов), называемый первичным ключом, который однозначно идентифицирует все записи таблицы. Первичный ключ называется простым ключом, если он представляет собой один столбец; он называется составным ключом, если он состоит из нескольких столбцов.[6]

Большинство РСУБД строят индекс по первичному ключу для облегчения быстрого поиска.

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

- Значения первичного ключа должны быть уникальными;

- Первичный ключ всегда должен иметь значение (не должен содержать NULL).

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

- один-ко-многим;

- многие-ко-многим;

- один-к-одному.

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

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

Отношение «один-к-одному». Строка в таблице A может иметь только одну совпадающую строку в таблице B, и наоборот.

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

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

Первая нормальная форма (1NF): таблица равна 1NF, если каждая ячейка содержит одно значение, а не список значений. Эти свойства известны как атомные. 1NF также запрещает повторение группы столбцов. Вместо этого должна быть создана другая таблица, используя отношение «один-ко-многим».

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

Третья нормальная форма (3NF): таблица - 3NF, если она - 2NF, а не ключевые столбцы не зависят друг от друга. Другими словами, не ключевые столбцы зависят от первичного ключа, только от первичного ключа и ничего больше.

Более высокая нормальная форма: 3NF имеет свои недостатки, которые приводят к более высокой нормальной форме, такой как нормальная форма Бойса / Кодда, четвертая нормальная форма (4NF) и пятая нормальная форма (5NF).

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

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

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

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

Особенностью ORM является отображение, которое используется для привязки объекта к его данным в БД. ORM как бы создает «виртуальную» схему базы данных в памяти и позволяет манипулировать данными уже на уровне объекта. Отображение отображается как объект, а его свойства связаны с одной или несколькими таблицами и их полями в базе данных. ORM использует информацию этого отображения для управления процессом преобразования данных между базой и формами объектов, а также для создания запросов SQL для вставки, обновления и удаления данных в ответ на изменения, которые приложение вносит в эти объекты.[7]

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

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

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

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

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

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

1.3 WEB-программирование

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Java - еще один очень популярный и широко используемый язык, который можно использовать для веб-разработки. Этот язык является объектно-ориентированным, основанным на классах и параллельным языком, который был разработан Sun Microsystems в 1990-х годах. С тех пор этот язык продолжает оставаться наиболее востребованным языком, который также выступает в качестве стандартной платформы для предприятий и нескольких разработчиков мобильных приложений и игр по всему миру. Приложение было разработано таким образом, что оно работает на нескольких типах платформ. Это означает, что если программа написана в операционной системе Mac, то она также может работать в операционных системах на базе Windows.

Python - это широко используемый и универсальный язык программирования, который по своей природе динамичен. Быть динамическим по своей природе означает, что разработчик может писать и запускать код без необходимости компиляции. Конструкция языка такова, что он поддерживает читабельность кода, что означает, что его синтаксис таков, что для выражения точки или концепции требуется всего несколько строк кода. Эта концепция читабельности кода также возможна в случае Java, C ++ и т. д.

CSS или Cascading Style Sheets - это язык разметки. В сочетании с HTML CSS позволяет разработчику решать и определять, как в конечном итоге будет выглядеть веб-страница или веб-сайт или как он будет выглядеть для посетителей веб-платформы. Некоторые из элементов, на которые влияет CSS, включают размер шрифта, стиль шрифта, общий макет, цвета и другие элементы дизайна. Это язык разметки, который можно применять к нескольким типам документов, включая простые XML-документы, документы SVG, а также документы XUL.

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

PHP - это интерпретируемый язык сценариев, что означает, что он обычно обрабатывается интерпретатором. По этой причине этот язык наиболее подходит для программирования на стороне сервера, когда задачи сервера неоднократно выполняются при включенном процессе разработки веб-сайта.[8]

Веб-фреймворк (WF) или фреймворк веб-приложений (WAF) - это программная структура, предназначенная для поддержки разработки веб-приложений, включая веб-службы, веб-ресурсы и веб-API. Веб-фреймворки предоставляют стандартный способ создания и развертывания веб-приложений в World Wide Web. Веб-фреймворки нацелены на автоматизацию накладных расходов, связанных с общими действиями, выполняемыми в веб-разработке. Например, многие веб-фреймворки предоставляют библиотеки для доступа к базе данных, шаблонных фреймворков и управления сессиями, и они часто способствуют повторному использованию кода. Хотя они часто нацелены на разработку динамических веб-сайтов, они также применимы к статическим веб-сайтам.

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

- Java : Spring, JSF, Struts;

- JavaScript : AngularJS, Express, Meteor;

- PHP : Laravel, CodeIgniter, Symfony, Zend;

- Python : Django, Flask, Bottle;

- Ruby : Ruby on Rails, Sinatra, Cuba.

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

Model-View-Controller (MVC) - это архитектурный шаблон, который разделяет приложение на три основных логических компонента: модель, представление и контроллер. Каждый из этих компонентов создан для обработки определенных аспектов разработки приложения. MVC является одной из наиболее часто используемых отраслевых сред разработки веб-приложений для создания масштабируемых и расширяемых проектов.

Компонент Model соответствует всей связанной с данными логике, с которой работает пользователь. Это может быть либо данные, которые передаются между компонентами View и Controller, либо любые другие данные, связанные с бизнес-логикой.

Компонент View используется для всей логики пользовательского интерфейса приложения.

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

1.4 LDAP и службы каталогов

LDAP (Lightweight Directory Access Protocol) означает облегченный протокол доступа к каталогам. Как следует из названия, это упрощенный клиент-серверный протокол для доступа к службам каталогов, в частности к службам каталогов на основе X.500. LDAP работает через TCP / IP или другие сервисы передачи, ориентированные на соединение. LDAP определен в RFC2251 «Lightweight Directory Access Protocol (v3)».

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

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

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

Хотя практически все серверы каталогов поддерживают LDAP, некоторые серверы поддерживают дополнительные протоколы, которые можно использовать для взаимодействия с данными. Некоторые из этих протоколов включают X.500 (исходный протокол доступа к каталогам, для которого LDAP является гораздо более легкой версией), протоколы служб именования, такие как DNS и NIS, протоколы на основе HTTP, такие как DSML и SCIM, и проприетарные протоколы, такие как NDS Novell.

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

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

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

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

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

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

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

1.5 1С Предприятие

«1С: Предприятие» - это универсальная облачная и локальная система программ для автоматизации финансовой и более широкой операционной деятельности компании. 1С: Предприятие обладает широкими возможностями для удовлетворения разнообразных потребностей современного бизнеса. Это достигается за счет «конфигурируемости» - возможности настройки системы в зависимости от конкретных потребностей компаний и их бизнес-процессов.

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

Платформа 1С: Предприятие имеет следующие преимущества:

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

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

- Ускоряет и стандартизирует разработку, настройку и поддержку бизнес-приложений;

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

- Интегрируется с существующими приложениями 1С и сторонними системами;

- Поддерживает веб-сервисы, ODBC, COM и так далее;

- Поддерживает архитектуру: Windows / Linux, MS SQL, PostgreSQL, IBM DB2 и Oracle DB.

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

SOAP, или Простой протокол доступа к объектам - это протокол, используемый в вычислениях. Веб-сервисы используют этот протокол для связи. SOAP использует XML для кодирования сообщения. Он использует другие протоколы прикладного уровня для транспорта и согласования контента, например, HTTP и удаленный вызов процедуры. Наиболее распространенной комбинацией является использование SOAP с HTTP и TCP. Существуют разные версии, 1.0, 1.1 и 1.2. Начиная с версии 1.2 протокол просто называется SOAP.

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

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

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

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

«Веб-ресурсы» впервые были определены во Всемирной паутине как документы или файлы, идентифицированные по их URL-адресам. Однако сегодня они имеют гораздо более общее и абстрактное определение, которое охватывает каждую вещь или объект, который может быть идентифицирован, назван, адресован или обработан любым способом в Интернете. В веб-службе RESTful запросы, сделанные к URI ресурса, вызовут ответ с полезной нагрузкой, отформатированной в HTML, XML, JSON или некотором другом формате. Ответ может подтвердить, что некоторые изменения были внесены в сохраненный ресурс, и ответ может предоставить гипертекстовые ссылки на другие связанные ресурсы или наборы ресурсов. Когда используется HTTP, как это обычно встречается, доступны следующие операции: GET, POST, PUT, DELETE и другие предопределенные методы CRUD HTTP.

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

Платформа 1C может автоматически генерировать интерфейс REST для всего прикладного решения. Интерфейс REST позволяет считывать данные, изменять их, создавать новые объекты данных и удалять существующие. Платформа 1C использует протокол OData.

OData (Open Data Protocol) - это одобренный ISO / IEC стандарт OASIS, который определяет набор лучших практик для построения и использования RESTful API. OData помогает сосредоточиться на бизнес-логике при создании API-интерфейсов RESTful, не беспокоясь о различных подходах к определению заголовков запросов и ответов, кодов состояния, методов HTTP, соглашений URL, типов мультимедиа, форматов полезной нагрузки, параметров запросов и т. д. OData также предоставляет руководство по отслеживанию изменений, определению функций / действий для повторно используемых процедур и отправке асинхронных / пакетных запросов.

OData RESTful API легко использовать. Метаданные OData, машиночитаемое описание модели данных API, позволяют создавать мощные универсальные клиентские прокси и инструменты.

C точки зрения пользователя приложение 1С состоит из платформы и прикладного решения (конфигурации). Каждое применяемое решение является единой конфигурацией.

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

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

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

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

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

Новые файлы доставки могут существовать в форме файлов конфигурации (полное распространение) или файлов обновления (обновление распространения).

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

1.6 Система контроля и управления доступом

В области физической безопасности и защиты информации управление доступом (AC) - это выборочное ограничение доступа к месту или другому ресурсу. Акт доступа может означать ввод или использование. Разрешение на доступ к ресурсу называется авторизацией.

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

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

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

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

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

Системы контроля доступа сильно различаются по типам и уровням сложности; однако большинство систем контроля доступа к картам состоят как минимум из трех основных компонентов:

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

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


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

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

    курсовая работа [195,1 K], добавлен 04.06.2015

  • Понятие CASE-средств как программных средств, которые поддерживают процессы создания и сопровождения информационных систем (ИС). Особенности IDEF-технологии разработки ИС. Описание нотации IDEF0. Разработка функциональных моделей бизнес-процесса.

    презентация [399,8 K], добавлен 07.04.2013

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

    презентация [152,1 K], добавлен 07.12.2013

  • Разработка проекта программного комплекса для автоматизации информационных процессов службы сбыта пищевой продукции. Разработка информационной базы данных и характеристика процесса создания клиентской и сервисной части приложения по технологии ASP.NET.

    дипломная работа [2,4 M], добавлен 24.06.2011

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

    курсовая работа [1,9 M], добавлен 18.09.2013

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

    презентация [203,1 K], добавлен 22.01.2016

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

    дипломная работа [3,4 M], добавлен 25.01.2010

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

    дипломная работа [1,2 M], добавлен 14.01.2012

  • Обзор принципов построения и эффективного применения систем управления базами данных, CASE-средств автоматизации проектирования. Анализ возможностей методологии и инструментальных средств. Разработка модели бизнес-процессов гостиницы в среде All Fusion.

    курсовая работа [3,3 M], добавлен 28.12.2012

  • Факторы угроз сохранности информации в информационных системах. Требования к защите информационных систем. Классификация схем защиты информационных систем. Анализ сохранности информационных систем. Комплексная защита информации в ЭВМ.

    курсовая работа [30,8 K], добавлен 04.12.2003

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