+7 (812) 997-83-63 support@softengineering.ru

Обзор распространенных практик

Технологии реального времени

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

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

Что это значит с практической точки зрения?

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

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

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

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

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

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

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

Какие же инструменты характерны для систем реального времени и чем эти инструменты отличаются от общепринятых инструментов во времени независимых «линейных» системах?

1. Контроль времени. ( Временные шкалы ).



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



2. Наличие времени - как характеристики объекта информационной системы.



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



3. Внутренний временной контроль процессов и операций.



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



4. Динамические объекты ( справочники, отчеты, документы )



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



5. Информационно-коммуникационные блоки нового формата.



В частности различные постоянно обновляющиеся информационные ленты, табло и т.п.



6. Динамические процедуры редактирования данных.



Набор процедур, правил или шаблонов для редактирования данных.



7. Реалтайм каналы ввода/вывода данных.



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



8. Сервисные реалтайм алгоритмы обслуживания информационной системы.



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





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



Какие же примеры использования realtime технологий и в каких областях деятельности могут быть востребованы?

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

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

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

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

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

- Ну и наконец офисная работа с документами там где требуется совместная работа и публикации, а соответственно и версирование документов.

Внедрять технологии реального времени в поддержке ваших бизнес-процессов нужно крайне аккуратно. Типичными примерами подобных историй, являются множественные внедрение SAP R/3 на российских предприятий: Сама по себе SAP R/3 является очень неплохим, прекрасно спроектированным продуктом, с большим спектром поддержки технологий реального времени и очень большой базой успешных внедрений. Однако если вы прочитаете практику внедрений и отзывы о внедрениях в рунете, то положительных отзывов о внедрениях крайне мало. Основная масса отзывов будет из серии «все очень плохо – но терпим, так как деньги потрачены ТАКИЕ, что назад никто откатить не решится». При чем, по мимо интернета, подобные отзывы, мы получали в частных беседах, даже от тех людей которые по своему статусу, в интернете обычно отзывы не пишут. Так же нужно понимать, что практически любая практика внедрения SAP R/3 помимо кардинальной перекройки всех бизнес-процессов в организации, и не смотря на то, что сама платформа имеет множество грамотных отраслевых решений, приводит к обрастанию различными костылями в виде 1С, Microsoft Excel, самописных БД и т.п. На наш взгляд, это прежде всего связано с тем, что сама система очень громоздкая ( в чем не последнюю роль играет поддержка realtime технологий ), соответственно внесение в нее даже незначительных изменений влечет за собой значительные объемы работ по отладке изменяемых бизнес-процессов и в частности в контексте R3.

Какова же концепция успешного внедрения технологий реального времени в современных информационных системах? – однозначного ответа на данный вопрос нет. Все очень ситуативно и зависти от Вашего конкретного бизнеса. Однако ряд закономерностей можно обозначить:

- Технологии реального времени – для поддержки процессов реального времени. Там где поддержка в реальном времени не нужна - эффективней использовать системы «относительно» времени независимые.

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

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

- Ну и наконец если автоматизация какого-либо бизнес-процесса не дает и в перспективе не даст экономического эффекта – не автоматизируйте это бизнес-процесс.

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

Если на все эти вопросы у Вас будут положительные ответы – обращайтесь – мы готовы к сотрудничеству.


s