Современные технологии разработки веб-приложений. Устройство и функционирование современных информационных ресурсов.

01.11.2022 10:25

    Введение в повседневность термина "информационный ресурс" вызвало достаточно много дискуссий. С принятием Федерального закона "Об информации, информатизации и защите информации" большая часть неопределенности была снята. 

 

Понятие информационных систем.

    Сегодня принято следующее определение понятия "информационные ресурсы": 

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

    Ресурсы определяют как запасы, источники чего-либо. 

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

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

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

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

Рис. 1. Процессы в информационной системе

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

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

    Здесь поговорим про интерфейсные и серверные технологии.

    Давайте сначала определим каждый из этих терминов.

  • Front-end (интерфейсные) технологии

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

  • Back-end (серверные) технологии

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

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

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

    Если очень кратко, то современный сайт состоит из следующих основных компонентов:

  • Интерфейс. Это то, что видит пользователь, когда заходит на сайт. Реализуется при помощи HTML, CSS и JS.
  • Программная часть. Это алгоритмы, которые служат для обработки запросов пользователя. По сути, программная часть создает или получает из базы данных информацию, которую запрашивает пользователь, а также принимает и обрабатывает данные от пользователей. Программная часть пишется на серверных языках программирования и, как правило, на основе неких платформ для разработки.
  • База данных. Это место хранения информации, которая используется на сайте. В базе данных хранится содержание всех страниц сайта и их взаимосвязи, заказы пользователей в интернет-магазинах и многое другое. По запросу программной части база данных находит и отдаёт требуемые записи (например, информацию, отображаемую на странице) или записывает новые данные (например, содержание заказа).
  • Хостинг. Это сервер (компьютер) на котором работает программная часть сайта и хранится база данных. Хостинг бывает разный, от его вида зависит скорость и надёжность работы сайта.

    Собственно требования к компонентам достаточно предсказуемы:

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

    Первые две технологии, которые мы обсудим, – это интерфейсные технологии.

 

HTML

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

CSS

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

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

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

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

 

    Ниже приведены несколько примеров разных языков:
 
JavaScript – наиболее часто используемый стартапами язык по нескольким причинам. Его можно использовать как интерфейсный, так и серверный язык программирования. По сравнению с другими языками, JavaScript сравнительно прост в изучении (хотя все языки сопряжены с некоторыми трудностями), и он используется повсеместно при разработке пользовательских веб-приложений. Он постоянно обновляется и расширяется новыми функциями.
 
Далее все ниже перечисленные языки являются внутренними языками, которые обеспечивают работу веб-сайта или приложения:
 
PHP – самый распространенный язык в веб-разработке. WordPress, система управления контентом (CMS), на которой работает 34% Интернета, построена на PHP. Найти хорошего разработчика может быть сложно независимо от языка, но выбор PHP, предоставит вам больший круг разработчиков, из которых вы сможете выбирать и с которыми сможете работать. PHP имеет обширную онлайн-документацию и руководства по устранению неполадок и поддержке.
 
Python – еще один популярный язык программирования. Он относительно прост и использует уникальный синтаксис, ориентированный на удобочитаемость. Python хорош для приложений и проектов с искусственным интеллектом (AI), статистики, работы с данными и машинного обучения. Его также можно использовать для создания веб-приложений.
 
Java – язык, популярный в корпоративных компаниях. Он может работать на нескольких платформах, имеет обширную документацию и поддерживается Oracle (крупной и уважаемой компанией-разработчиком программного обеспечения) на случай, если у вас возникнут проблемы. Его также можно использовать для написания приложений для Android.
 

Фреймворки в технологии веб-разработки

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

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

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

Существуют как интерфейсные, так и серверные фреймворки, которые упрощают процесс разработки.

Libraries

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

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

Базы данных в технологии веб-разработки

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

Есть два основных типа баз данных: SQL и NoSQL.

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

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

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

    Вот некоторые примеры популярных баз данных:

 
-MySQL: база данных SQL с открытым исходным кодом. MySQL используется на сайтах WordPress.
-MongoDB: база данных NoSQL с открытым исходным кодом.
-Oracle Database: это проприетарная система управления базами данных. Он обычно используется для обработки онлайн-транзакций, хранилищ данных и смешанных рабочих нагрузок баз данных.
 
 
Различные типы информационных систем на предприятии
 

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

  • ERP (Enterprise Resource Planning) – система планирования (управления) ресурсами предприятия.
  • CRM (Customer relationship management) – модель взаимодействия, полагающая, что центром всей философии бизнеса является клиент, а основными направлениями деятельности являются меры по поддержке эффективного маркетинга, продаж и обслуживания клиентов.
  • ECM (Enterprise Content Management) – это стратегическая инфраструктура и техническая архитектура для поддержки единого жизненного цикла неструктурированной информации (контента) различных типов и форматов.
  • CPM (Corporate Performance Management) – концепция управления эффективностью бизнеса, охватывающая весь спектр задач в области стратегического и финансового управления компанией.
  • HRM (Human Resource Management) – область знаний и практической деятельности, направленная на своевременное обеспечение организации персоналом и оптимальное его использование.
  • EAM (Enterprise Asset Management) – это информационная система, предназначенная в основном для автоматизации процессов связанных с техническим обслуживанием оборудования, его ремонтом, а также послепродажным обслуживанием этого оборудования.
  • EDMS (Electronic Document Management) – система управления документами предприятия.
  • Workflow (Business Process Management (BPM)) – система отвечающая за документооборот предприятия в комплексе, начиная от простого поручения до конечных маршрутов и версий используемых документов.
  • Collaboration – система, отвечающая за электронное взаимодействие людей, но не формализованное, как workflow, и не просто «архив», как EDMS.

ERP-системы

ERP-система может быть использована в нескольких направлениях:

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

CRM-системы

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

    Перечислим ниже функциональность, которую можно реализовать в CRM-системах:

Продажи:

  • управление контактами;
  • работа с клиентами;
  • ввод заказов покупателей;
  • создание коммерческих предложений;

Управление продажами

  • анализ «трубы продаж» («воронки продаж»);
  • анализ цикла продаж;
  • региональный анализ;
  • отчетность по продажам (запланированная и произвольная);

Регистрация продаж по телефону (работа с покупателем по телефону и во время личного общения):

  • создание и распределение списка покупателей;
  • автоматический набор номера покупателя;
  • регистрация звонков (в автоматическом режиме, при наличии регистратора звонков);
  • регистрация заказов покупателей;

Органайзер

  • календарь и планирование (как для группы, так и для каждого отдельного пользователя);
  • e-mail;

Поддержка и обслуживание покупателей (пользователей, клиентов):

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

Маркетинг:

  • маркетинговые кампании;
  • управление возможными заказами;
  • классификатор товаров и услуг, которые компания предлагает заказчикам;

Отчеты

  • для руководящего состава;
  • для среднего звена;
  • для всех остальных;

Интеграция с ERP

  • получение/отправка данных через Интернет;
  • с внешними базами данных (БД);
  • сделки через Интернет;

Синхронизация данных

  • с мобильными пользователями и портативными устройствами;
  • синхронизация с другими БД (внутри компании) и серверами приложений.

ECM-системы

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

CPM-системы

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

HRM-системы

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

EAM-системы

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

EDMS-системы

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

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

Workflow-системы

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

Collaboration-системы

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