Персонал для ивента, модели на праздник и персонал на регистрацию Москва
Ивент модели и персонал на праздник
Если вам необходим персонал для регистрации гостей на юбилее, свадьбе, дне рождения, годовщине, вечеринке, празднике фирмы, Новый Год, 23 февраля, 8 марта, 9 мая на высшем уровне, пригласите девушек и юношей от агентства event персонала «Стендистка». Они помогут сделать ваш праздник незабываемым, а организацию мероприятия и встречу гостей простыми и успешными.
Какие задачи могут взять на себя event-модели или промо персонал:
- Работать как хостес – встречать гостей, фотографироваться с желающими, провожать приглашенных к их месту. В конце вечера модели на празднике проведут гостей до выхода, помогут с вызовом такси.
- Работать в качестве хелперов-помощников — расставить необходимый реквизит, мебель, принести нужную аппаратуру, коробки с рекламным материалом, расложить аттрибутику по своим местах в соответствии с требованием заказчика.
- Помогать ведущему – выносить цветы, подарки, сувениры, поднести микрофон, помочь провести конкурс.
- Организация банкета – накрыть столы, оформить зал, убрать и вынести грязную посуду, расставить стулья, предложить чай и кофе.
- Дарить фирменные сувениры гостям, подарки.
- Модели на праздник могут быть наряжены в любые костюмы – с логотипом фирмы, народные, профессиональные. Они могут поздравить именинника, юбиляра, рассказать стишок, принять участие в конкурсе.
- Могут помочь с организацией выступления артистов – встретить, провести их к гримерным, сориентировать по времени выступления.
- Развлекать публику, вовлекать гостей в танцы и конкурсы.
- Дополнить атмосферу тематической вечеринки и быть наряжены в костюмы, соответствующие нужному дресс-коду.
Наш персонал для праздника может совмещать несколько функций на одном мероприятии – быть билетерами, официантками и хелперами. Сопровождать гостей, ориентировать их в зале и быть переводчиками.
Мини-ивенты для организаций. Или новая модель ивент агенств? — Сервисы на vc.ru
Все говорят, что ивенты страдают. А кто-то считает, это возможностями для изменения своей модели. Мнения разные. И в этой статей я хочу разобрать модель агентства, которая заточена на мини-мероприятия для конкретной ЦА.{«id»:126771,»url»:»https:\/\/vc.ru\/services\/126771-mini-iventy-dlya-organizaciy-ili-novaya-model-ivent-agenstv»,»title»:»\u041c\u0438\u043d\u0438-\u0438\u0432\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439. \u0418\u043b\u0438 \u043d\u043e\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0438\u0432\u0435\u043d\u0442 \u0430\u0433\u0435\u043d\u0441\u0442\u0432?»,»services»:{«facebook»:{«url»:»https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/vc.ru\/services\/126771-mini-iventy-dlya-organizaciy-ili-novaya-model-ivent-agenstv»,»short_name»:»FB»,»title»:»Facebook»,»width»:600,»height»:450},»vkontakte»:{«url»:»https:\/\/vk.com\/share.php?url=https:\/\/vc.ru\/services\/126771-mini-iventy-dlya-organizaciy-ili-novaya-model-ivent-agenstv&title=\u041c\u0438\u043d\u0438-\u0438\u0432\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439. \u0418\u043b\u0438 \u043d\u043e\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0438\u0432\u0435\u043d\u0442 \u0430\u0433\u0435\u043d\u0441\u0442\u0432?»,»short_name»:»VK»,»title»:»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435″,»width»:600,»height»:450},»twitter»:{«url»:»https:\/\/twitter.com\/intent\/tweet?url=https:\/\/vc.ru\/services\/126771-mini-iventy-dlya-organizaciy-ili-novaya-model-ivent-agenstv&text=\u041c\u0438\u043d\u0438-\u0438\u0432\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439. \u0418\u043b\u0438 \u043d\u043e\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0438\u0432\u0435\u043d\u0442 \u0430\u0433\u0435\u043d\u0441\u0442\u0432?»,»short_name»:»TW»,»title»:»Twitter»,»width»:600,»height»:450},»telegram»:{«url»:»tg:\/\/msg_url?url=https:\/\/vc.ru\/services\/126771-mini-iventy-dlya-organizaciy-ili-novaya-model-ivent-agenstv&text=\u041c\u0438\u043d\u0438-\u0438\u0432\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439. \u0418\u043b\u0438 \u043d\u043e\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0438\u0432\u0435\u043d\u0442 \u0430\u0433\u0435\u043d\u0441\u0442\u0432?»,»short_name»:»TG»,»title»:»Telegram»,»width»:600,»height»:450},»odnoklassniki»:{«url»:»http:\/\/connect.ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/vc.ru\/services\/126771-mini-iventy-dlya-organizaciy-ili-novaya-model-ivent-agenstv»,»short_name»:»OK»,»title»:»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438″,»width»:600,»height»:450},»email»:{«url»:»mailto:?subject=\u041c\u0438\u043d\u0438-\u0438\u0432\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0439. \u0418\u043b\u0438 \u043d\u043e\u0432\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0438\u0432\u0435\u043d\u0442 \u0430\u0433\u0435\u043d\u0441\u0442\u0432?&body=https:\/\/vc.ru\/services\/126771-mini-iventy-dlya-organizaciy-ili-novaya-model-ivent-agenstv»,»short_name»:»Email»,»title»:»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443″,»width»:600,»height»:450}},»isFavorited»:false}
Сегодня вдохновленным одним из Zoom конференций с основателем ивент агентства. Я решил посмотреть, какие стартапы в этой индустрии есть на зарубежном рынке. И знаете, что, я был вдохновлен.
Прекрасный формат ивент услуг предлагает команда из New York под названием конфети.
Команда предлагает прекрасную платформенную модель ивент бизнеса направленную на конечного пользователя, причем клиентских сегментов много. И в основе своей лежит модель B2B, но и не забыли о конечных пользователях.
Про ЦА и
Кто их целевой потребитель, а кто дополнительные? В заголовке сразу видно на кого направлено позиционирование и какую задачу они решают. Фраза, «Твой новый командный опыт начинается с конфети», говорит сама за себя. Сплочение сотрудников в компании за счет прикольных, не банальных, ограниченных во времени мероприятий. От дегустации разных сортов виски до мастер-класса по трюкам с баскетбольным мечом. Но, и нынешняя обстановка ребят не остановила. На сайте появилось еще больше мероприятий, как для бизнеса, так и для родителей с детьми, работающих на удаленке. Вот, что значит — предприниматели.
Как вам фасилитация во время рандомного кофе-брейка с членами вашей команды за 30$? Или групповой онлайн урок по азам фотошопа за 40$? Урок по игре в блэкджек за 30$? А если вы устали от детей, как насчет колорирования одежды или мастер-класс рисования на кроссовках за 25$?
Вишенкой на торте, в этом проекте, помимо лаконичного дизайна, приятной цветовой палитры и удобного UX, является группировка ивентов по ситуациям: вечеринка прощания или счастливый час, день рождения или переезд в новый офис. Такой формат, облегчает поиск желаемой ситуации для его существующих обстоятельств.
А теперь попробую адаптировать модель под ивент в Российских реалиях
У каждого агентства — целый набор подрядчиков, которые с легкостью и в удовольствие загрузят себя работой. Коронавирус закончится и у компаний явно будет запрос на сплочение коллектива за небольшой бюджет. Что сделать в самом начале для тестирования идеи? Наверное, подготовить портфель предложений, посчитать экономику и провести пару тестов в формате онлайн мероприятий. После начать продавать конкретные мини-ивент, лучше сделать десяток предложений для ассортимента. Можно не запариваться и взять весь список прямо с сайта конфети.
Офер выбрать такой же, «Новый опыт твоего коллектива после COVID-19». Для привлечения клиентов, есть существующая база, холод и спам рассылки. Параллельно пилить платформу или обратиться к нам в студию за типовым решением. Пару месяцев работать над возвратом уже существующих клиентов, склоняя их на еженедельную подписку.
Следующим шагом сегментировать максимально прибыльные, часто заказываемые услуги и нанять в штат исполнителей. Ну, как только модель устаканится, а платформа запустится — масштабироваться по другим городам в виде франшизы бизнес-процессов, тем же ивент агентствам.
ИМХО. Возможности можно найти всегда. Главное, что делать с этими возможностями. Как правило, после принятия возможности надо много работать, желательно мозгами, руками, словами. Ну и конечно делать хороший продукт с тремя основными метриками LTV (lifetime value), CRR (customer retention rate) и RPR — repeat purchase rate.
Сложные времена для одних — время смерти и тьмы, для других — время роста и рассвета. Каким быть выбирает каждый для себя сам. Будте здоровы!
Чей ивент лучше | Решения на РБК+ Нижний Новгород
Фото: пресс-служба
Ивент-агентства используют различные методики оценки успешности своих мероприятий, единого отраслевого стандарта нет. По данным американской MPI Foundation, в середине 2000-х годов почти у 80% ивент-агентств на рынке США вообще не было определенной систем метрик для своих мероприятий. «Не думаю, что у агентств и сейчас есть какая-то единая метрика оценки эффективности», — рассуждает сооснователь международной event-компании EventyOn Александр Бланк. Как показало более позднее исследование агентства Eventforce, в 2017 году у британских и американских организаторов мероприятий самыми популярными измерителями для ивентов выступали отзывы участников, количество регистраций на них и число гостей мероприятия. Результаты опроса Eventforce показали, что 74% ивент-компаний собирают данные на своих мероприятиях, чтобы оценить их успешность и рассчитать рентабельность инвестиций, а еще 68% используют их для будущего планирования.
Что дали инвестиции
Упомянутая выше оценка рентабельности возврата инвестиций (ROI) выступает часто упоминаемой метрикой успеха. Речь о многоступенчатой методологии, придуманной в 1970-х годах главой совета директоров ROI Institute Джеком Филипсом. Его модель основана на более ранней разработке профессора Университета Висконсин Дональда Киркпатрика, предложившего оценивать эффективность вузовской программы по измерению реакции аудитории (ее удовлетворенности), обучаемости (то есть оценке полученных знаний), поведению (и его изменению в ходе обучения), а также по результатам. Джек Филипс добавил к четырехуровневой системе пятую ступень — целевую аудиторию — и впоследствии его система вышла далеко за пределы школ и вузов, став универсальной в бизнесе. Сам Джек Филипс заявлял, что его метрики обычно применяются в ИТ-подразделениях предприятий, консалтинге, маркетинге и «хороши для изучения функций, где сложно измерить эффективность работы». В частности, в ивент-индустрии эта многоступенчатая модель измерения эффективности обычно выглядит как пирамида, на вершине которой находится прибыль или доходность ивента (собственно, ROI), на низовых уровнях — оценка площадки или среды, в которой мероприятие происходит, и выбор целевой аудитории.
Ведущий менеджер по организации мероприятий Mail.ru Group Юлия Сергеева говорит, что в компании внедрена система подсчета ROI-индекса, при его расчете учитывается «соотношение запланированных KPI к фактическим». «Например, мы смотрим планируемую и реальную явку гостей, общую оценку мероприятия и NPS. Если более 80% сотрудников оценили мероприятие положительно, значит мероприятие считается успешным», — говорит она. Глава агентства Republic Free Юрий Мирошников говорит, что индекс ROI «чаще используется в маркетинговых и деловых мероприятиях». «Замеряются несколько показателей — затраты на продвижение и проведение события, доход от регистраций, спонсорства, новых потенциальных клиентов», — перечисляет он. Впрочем, Александр Бланк говорит, что система ROI в ивент-отрасли используется мало. «По ней сложно оценивать, например, своих сотрудников», — говорит Бланк. Креативный директор агентства Balagan Константин Беляков также считает, что про ROI «говорят многие, но считали и считают его единицы». По словам Джека Филипса, его методикой пользуется в основном крупный бизнес: к примеру, в США он насчитал около 500 компаний, применяющих принцип ROI, в том числе ретейлера Walmart.
Какие коррективы внес коронавирус
Впрочем, мировая эпидемия коронавируса внесла некоторые коррективы в традиционные измерители. «Во время пандемии стало сложнее работать с такими показателями, как ROI и NPS, поскольку рынок был перенасыщен бесплатными онлайн-мероприятиями и, например, процент доходности стал плавающим» — рассуждает Юрий Мирошников. Однако Александр Бланк говорит, что в его агентстве методики замера эффективности с помощью индексов NPS не поменялись. Константин Беляков рассчитывает, что в связи с бумом онлайн-ивентов у агентств появятся «дополнительные метрики оценки мероприятий». Юрий Мирошников говорит, что пандемия сподвигла его агентство «дополнительно оценивать и соотносить коэффициент регистраций на мероприятие с количеством участников трансляции». Константин Беляков в качестве примера новых метрик упоминает показатель вовлеченности ER. «Сейчас основной задачей агентств стоит сделать не просто онлайн, а мероприятие, на котором люди будут его участниками больше 25 минут», — рассуждает он. «Раньше в этом смысле было проще, поскольку люди хорошо шли на офлайн-корпоративы, ждали их и готовились, особенно если те проходили качественно, а не в виде прыжков в мешках под флагом компании», — рассуждает Александр Федотов, который советует измерять «механику вовлечения и погружения людей» в ивент. В пример он приводит онлайн-мероприятие на 2 тыс. участников с 1,4 тыс. подключившихся гостей. «Мы отслеживали реакцию по эмоциям и обратной связи в чатах», — заверяет он. «В связи с пандемией у нас появилось больше инструментов для отслеживания активностей пользователей, мы можем посмотреть, куда они заходили, что делали, сколько времени провели в виртуальном пространстве», — перечисляет Юлия Сергеева.
Кто снимет stories
Юлия Сергеева говорит, что у каждого клиента «есть свои KPI» в зависимости от задач и целей. С ней согласен основатель маркетингового агентства Already Done Александр Федотов, который рассуждает о KPI для корпоративных мероприятий. «Скажем, для конференции важно освоение материала, то есть насколько слушатель понял доносимые ценности. В этом случае руководители отделов обычно сами оценивают, «зашел» этот материал, а также смотрят, насколько человек отвлекался от лекции и, например, просидел в телефоне», — поясняет эксперт. Еще одним показателем удовлетворенности Александр Федотов считает количество выложенных stories в соцсетях с определенным хэштегом. «Когда на ивенте помятый баннер с логотипом, банкет и кавер-группа — максимум один сториз снимут. А когда крутые декорации, механика, сценарий, погружение в другой мир — их будет штук пятнадцать. Для поколения Z это самый хороший показатель измерения эффективности ивента», — рассуждает он.
Многие эксперты также упоминают индекс потребительской активности NPS и индекс вовлеченности сотрудников как метрику эффективности корпоративов. По словам Александра Бланка, NPS обычном случае рассчитывается по десятибалльной шкале (от нуля до 10) в ходе опроса среди гостей ивента. Однако в случае с его компанией EventyOn интервью не ограничивается традиционным вопросом «насколько вы довольны мероприятием». «Мы оцениваем общий уровень удовлетворенности, качество еды, профессионализм шефов, уровень сервиса, уровень музыки, безопасности. Дальше эта система привязана к внутреннему персоналу мероприятия, так что я знаю уровень удовлетворенности клиентов по каждому из сотрудников», — рассказывает Александр Бланк. По мнению Константина Белякова, основной метрикой в корпоративных мероприятиях «служит лояльность». «После проекта делается опрос, иногда эта оценка влияет на то, будет ли агентство в следующем году биться за этот же тендер», — рассуждает он. Долгосрочный результат, согласны эксперты EventyOn, измеряется именно лояльностью сотрудников компании-заказчика, уровнем того, что на языке HR называется staff happyness, то есть удовлетворенности сотрудников своей работой, которую формирует дружественная и творческая атмосфера внутри компании.
Работа с экземпляром объекта Event (свойства, методы)
Категории: Events › Event Object
Свойство currentTarget экземпляра объекта Event идентифицирует текущий элемент, в котором в данный момент обрабатывается событие (в рамках фазы всплывания).
Возвращает: Элемент.
Категории: Events › Event Object
Содержит любые вспомогательные данные, если они были переданы обработчику события при его установке во втором параметре команды .bind() или .one().
Возвращает: Любые данные.
Категории: Events › Event Object
Позволяет определить, был ли вызван метод event.preventDefault(), отменяющий семантическое действие по умолчанию для данного события.
Возвращает: Логическое значение (Boolean).
Категории: Events › Event Object
Позволяет определить, был ли вызван метод event.stopImmediatePropagation(), предотвращающий всплытие объекта события и запуск последующих обработчиков
Возвращает: Логическое значение (Boolean).
Категории: Events › Event Object
Позволяет определить, был ли вызван метод event.stopPropagation(), предотвращающий всплытие объекта события.
Возвращает: Логическое значение (Boolean).
Категории: Events › Event Object
Содержит горизонтальную координату события от мыши относительно начала координат document (левого края страницы).
Возвращает: Число.
Категории: Events › Event Object
Содержит вертикальную координату события от мыши относительно начала координат document (верхнего края страницы).
Возвращает: Число.
Категории: Events › Event Object
Отменяет семантическое действие по умолчанию для события.
Возвращает: Значение не определено.
Категории: Events › Event Object
Идентифицирует DOM-элемент, косвенно участвующий в событии. Например, для mouseout — элемент, на который перешел курсор мыши.
Возвращает: Элемент.
Категории: Events › Event Object
Содержит последнее возвращенное обработчиком события значение, если оно было определено.
Возвращает: Объект.
Категории: Events › Event Object
Предотвращает всплытие объекта события вверх по DOM-дереву и запуск последующих обработчиков события, связанных с текущим элементом.
Категории: Events › Event Object
Предотвращает дальнейшее всплытие объекта события вверх по дереву DOM.
Категории: Events › Event Object
Свойство target экземпляра объекта Event идентифицирует DOM элемент, инициировавший событие (узел, в котором произошло событие ).
Возвращает: Элемент.
Категории: Events › Event Object
Содержит число миллисекунд с 1 января 1970 года до момента срабатывания события.
Возвращает: Число.
Категории: Events › Event Object
Определяет тип события.
Возвращает: Строка.
Категории: Events › Event Object
Для событий от клавиатуры и кнопок мыши определяет, какая клавиша или кнопка вызвала событие.
Возвращает: Строка.
Это не окончательный список в данной категории.
Раздел jQuery API наполняется. Приносим извинения за неудобства.
Перевод моделей Event-B в Eiffel | Резникова
1. Abrial J.-R., Modeling in Event-B: System and Software Engineering, Cambridge University Press, New York, 2010.
2. Catan ̃o N., Rivera V., “EventB2Java: A Code Generator for Event-B”, NASA Formal Methods. NFM 2016, Lecture Notes in Computer Science, 9690, Springer, Cham, 2016, 166–171.
3. Catan ̃o N., Rueda C., “Teaching formal methods for the unconquered territory”, Teaching Formal Methods. TFM 2009, Lecture Notes in Computer Science, 5846, Springer, Berlin, Heidelberg, 2009, 2–19.
4. Edmunds A., Butler M., “Tool support for Event-B code generation”, Workshop on Tool Building in Formal Methods, Wiley and Sons, Quebec, Canada, 2010.
5. Hallerstede S., “On the purpose of Event-B proof obligations”, Abstract State Machines, B and Z, Lecture Notes in Computer Science, 5238, Springer, Berlin, Heidelberg, 2008, 125–138.
6. Mazzara M., “Deriving specifications of dependable systems: toward a method”, 12th European Workshop on Dependable Computing (EWDC), 2009.
7. M ́ery D., Singh N.K., “Automatic code generation from Event-B models”, Proceedings of the Second Symposium on Information and Communication Technology, SoICT ’11, ACM, New York, 2011, 179–188.
8. Meyer B., “Applying «design by contract»”, Computer, 25:10 (1992), 40–51.
9. Naumchev A., Meyer B., “Complete contracts through specification drivers”, CoRR, 2016, abs/1602.04007.
10. Naumchev A., Meyer B., Rivera V., “Unifying requirements and code: An example”, Perspectives of System Informatics – 10th International Andrei Ershov Informatics Conference, PSI 2015, Revised Selected Papers, Kazan and Innopolis, Russia, 2015, 233–244.
11. Reznikova S., Innopolis thesis, 2018, https://github.com/sonyareznikova/ InnopolisThesis.
12. Rivera V., Bhattacharya S., Catan ̃o N., “Undertaking the tokeneer challenge in Event-B”, 2016 IEEE/ACM 4th FME Workshop on Formal Methods in Software Engineering, 2016, 8–14.
13. Rivera V., Catan ̃o N., “Translating Event-B to JML-specified Java programs”, Proceedings of the 29th Annual ACM Symposium on Applied Computing, SAC’14, ACM, New York, 2014, 1264–1271.
14. Rivera V., Catan ̃o N., Wahls T., Rueda C., “Code generation for Event-B”, Int. J. Softw. Tools Technol. Transf., 19:1 (2017), 31–52.
15. Rivera V., Lee J.Y., Mazzara M., “Mapping Event-B machines into Eiffel programming language”, Proceedings of 6th International Conference in Software Engineering for Defence Applications – SEDA 2018, Rome, Italy, 2018.
16. Tschannen J. et al., “AutoProof: Autoactive functional verification of object-oriented programs”, Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2015, Lecture Notes in Computer Science, 9035, Springer, Berlin, Heidelberg, 2015, 566–580.
17. Yan Z. et al., “BPMO: semantic business process modeling and WSMO extension”, IEEE International Conference on Web Services (ICWS 2007), 2007, 1185–1186.
Страница не найдена
Баня всегда была излюбленным местом отдыха и восстановления сил, избавления от накопившихся стрессов и погружения в атмосферу спокойствия и гармонии. Каждый из нас знает, какое удовольствие — после напряженной рабочей недели почувствовать приятный жаркий пар, расслабиться, а потом облиться прохладной водой и провести пару часов в теплой дружеской компании за несколькими чашками ароматного зеленого чая.
Компания «Санлайт» выполняет миссию создания атмосферы отдыха и релаксации — прекрасного мира, где себя комфортно чувствуют и тело, и душа. В нашем интернет-магазине товаров для бани всегда можно найти все необходимое оборудование и аксессуары для саун, бань, хаммамов и СПА в Казани, Республике Татарстан и по всей России.
Если перед вами стал вопрос, как правильно обустроить парилку, предлагаем заглянуть в интернет-магазин для бань и саун. Здесь представлен огромный выбор материалов для отделки, а также самых разнообразных аксессуаров и комплектующих для парилок.
На виртуальных полках в широком ассортименте: светильники, камни, гималайская соль, инфракрасные излучатели, газовые и электрические печи и это далеко неполный перечень. Если сказать, одним словом для бань и саун у нас есть все.
Важно отметить, что вся продукция в интернет-магазин поступает напрямую от проверенных и надежных производителей, которые предоставляют на все изделия сертификаты качества и гарантию. Также очень важно отметить тот факт, что прямые поставки положительно сказываются на стоимости оборудования и аксессуаров, ведь заявленная цена не включает в себя накрутки и наценки за услуги посредников.
Купить оборудование для саун и бань недорого
В нашем инернет-магазине представлен товар, который порадует потребителей своим высоким качеством. Ни для кого не является секретом, что каждый стремится сделать свою парную идеальной. А сотрудники компании «Санлайт» точно знают, что для этого нужно! Здесь можно найти все, что сделает вашу баню или сауну предметом восхищения и гордости. Чтобы долго не искать необходимый товар, для большего удобства пользователей на сайте представлен электронный каталог, где можно увидеть изображение товара, прочитать его описание и ознакомиться со стоимостью. При этом следует сказать, что менеджеры компании проводят постоянный мониторинг новинок, появившихся на рынке банного оборудования и аксессуаров, поэтому позиции каталога регулярно обновляются и пополняются.
Интернет-магазин для саун и бань всем своим покупателям гарантирует:
- Широкий ассортимент продукции
- Доступная стоимость
- Европейский сервис обслуживания
- Строгое соблюдение сроков доставки
- Доставка по всей России и в любую точку города Казань и за его пределы
- Возможность купить товар оптом и в розницу
Жители Казани могут воспользоваться дополнительными услугами, такими как установка печей, парогенераторов и другого оборудования. На место выезжают квалифицированные специалисты, которые имеют опыт работы в этой отрасли. Мастер при себе имеет профессиональный инструментарий и необходимое оборудование.
Качественное оборудование для парилок
Если вам необходимо дополнительное оснащение для сауны, бани или хамам, например – осветительные приборы, здесь можно приобрести светильники, которые обладают высоким уровнем стойкости к высоким перепадам температуры и воздействию влаги. Если говорить об оборудовании, оно соответствует заявленным техническим характеристикам и необходимым критериям безопасности.
Вас заинтересовало наше предложение? Более подробную информацию о стоимости, сроках доставки и способах оплаты, можно узнать по телефону у менеджера компании, он любезно ответит на все поставленные вопросы.
Review and Systematization of Approaches of the Organization of Events
ОБЩЕСТВО И РЕФОРМЫ
УПРАВЛЕНЧЕСКОЕ КОНСУЛЬТИРОВАНИЕ . № 9 . 2017 143
Подход к управлению ивентом, предложенный в работах У. Хальцбаура, Э. Йет-
тингера, Б. Кнаусе базируется на принципах проект-менеджмента. Подготовка
мероприятия рассматривается как проект с высоким уровнем сложности, времен-
ным, кадровым и финансовым ограничениями, а также уникальностью задачи с за-
данными параметрами. В работе [8] представлен фреймворк «Фазы и вехи event-
менеджмента», описывающий модель жизненного цикла ивента. В отличие от двух
рассмотренных выше подходов, в концепции У. Хальцбаура, Э. Йеттингера и Б. Кна-
усе отдельно выделяется этап «Принятие решения о проведении мероприятия»,
который следует после оформления идеи. В соответствии с моделью выделяют
семь этапов при подготовке и проведении мероприятия: инициирование, старт,
подготовка, пуск, действие, последействие, подведение итогов.
По мнению Г. Л. Тулчинского, С. В. Герасимова, Т. Е. Лохиной [6, с. 193–194],
выделяется 14 этапов создания специальных событий. Для удобства восприятия
объединим эти этапы и получим следующий список: определение целей и выбор
темы, подготовительно-организационный период, разработка плана и сметы, ра-
бота в ходе функционирования мероприятия, подведение итогов. Эти авторы, как
и предыдущие, выделяют этап «принятия решения о проведении мероприятия».
Д. Румянцев и Н. Франкель рассматривают «открытые мероприятия», т. е. те, на
которые можно купить билет или посетить бесплатно. Этапы проведения мероприя-
тия описаны в последовательно написанных главах: подготовка, продвижение, про-
ведение, после события. Жизненный цикл «открытого события» авторы описывают
в виде четкого алгоритма реализации (плана действий): «Узнать возможность пло-
щадки и выступающего → Договориться с двумя сторонами → Подсчитать смету →
Утверждение цены билетов → Забронировать зал → Продвижение и продажа биле-
тов → Утвердить программу → Напечатать полиграфическую продукцию» [7].
Отдельно стоит отметить исследование С. Лемера [2]. В нем не рассматрива-
ется модель жизненного цикла мероприятия, а дается представление об «объектах»,
с которыми работает event-менеджер: финансы и налоги, работники и персонал,
поставщики, маркетинг, ресурсы и оборудование, тендеры, поставщики и т. д.
Данный подход интересен тем, что позволяет определить структуру процессов,
которые должны выполняться в рамках event-менеджмента.
Поскольку понятие «event-менеджмент» появилось на Западе, теоретические ос-
новы и первые практические рекомендации были сформулированы именно там.
К числу первых работ в области event-менеджмента относятся труды таких авторов,
как Д. Гетц, У. Хальцбаур, Э. Йеттингер, Б. Кнаусе, Р. Мозер, М. Целлер, Дж. Голд-
блатт, Г. Боуден, П. Гембл, М. Стоун, Н. Вудкок.
Наиболее цитируемым автором по теме event-менеджмент является Дж. Голдблатт,
на работы которого, в частности, ссылается А. Шумович, а также специалисты на
Западе. Так, например, директор программы ивент-менеджмента в университете
Стратфорд Э. Конвей рекомендует использовать разработку доктора Дж. Голдблатта
в качестве основы для планирования и проведения специальных событий. Схема
жизненного цикла Дж. Голдблатта описана в книге «EVENT MANAGEMENT Special
Events Twenty-fist century global event management» или «Особые мероприятия: ивент
менеджмент XXI века» [10].
Результаты проведенного обзора моделей жизненного цикла event-менеджмента
(табл. 1) позволяют сделать вывод о том, что, несмотря на терминологические
отличия и разные названия этапов, все рассмотренные модели жизненного цикла
имеют ряд общих черт и могут быть сведены к базовой схеме Дж. Голдблатта, со-
стоящей из пяти основных этапов: исследование, разработка, планирование, ко-
ординация и оценка. Рассмотрим этапы этой модели жизненного цикла.
1. Исследование. Этап исследования помогает минимизировать риски, поскольку
помогает определить потребности, желания и ожидания потенциальных клиентов.
Моделирование событий: что это такое?
Закон Мура
Цифровые информационные системы — относительно новая концепция. Люди работали с информационными системами тысячи лет. На протяжении столетий банки, страховые компании и многие другие крупные организации сумели добиться успеха.
С появлением транзистора скорость и точность обработки информации увеличились на порядки. То, что не достигло такого же качественного скачка, — это цифровая память.Из-за этого дисбаланса информационные системы были оптимизированы для очень небольшого количества онлайн-информации. Вы можете увидеть это в появлении технологии РСУБД. Это означает, что компромисс заключался в том, чтобы выбросить информацию.
Человеческая память
Рассказывание историй — это то, что позволяет людям передавать знания последующим поколениям и в значительной степени зависит от того, как мы храним воспоминания — будь то логические, визуальные, слуховые или другие. Это важно, потому что существует параллель с тем, как были построены информационные системы.Есть «память» обо всех ваших визитах к врачу. Это журнал форм, которые заполняются при каждом посещении.
Спецификации на примере — это способ показать, как что-то должно работать. Это можно увидеть в успешных практиках в области программного обеспечения, таких как разработка, управляемая поведением. Это хорошо работает, потому что мы более эффективно общаемся историями. Это связано с рассказыванием историй как способом сохранить информацию в обществе. Наш мозг создан для этого больше, чем для блок-схем и других форматов.
В последние десятилетия закон Мура в отношении онлайн-хранилищ догнал. Это означает, что после первых нескольких десятилетий существования компьютерных систем наши информационные системы, которые теперь оцифрованы, могут использовать механизмы, которые делали их эффективными на протяжении всей истории.
Это означает, что у нас достаточно памяти, чтобы не выбросить информацию. Возможность хранить историю всего, что произошло, позволяет системам быть более надежными за счет аудита и спецификации на примерах, которые буквально отражают то, как система реализована.
У нас также достаточно места для хранения кеша с различными представлениями о том, что произошло в системе. Это важно, поскольку теперь мы сделали задачу уместить все наши проблемы в одну модель ненужным ограничением. В 1956 году жесткий диск IBM, на котором хранилось 10 МБ, стоил 1 миллион долларов и требовал ежемесячного бюджета в 30 тысяч долларов.
Реальность современной оснастки
Итак, мы сейчас находимся на перепутье, где у нас есть очень зрелые инструменты, но они созданы для решения проблемы, которой у нас больше нет, — эффективности с ограничениями на хранение.Новые инструменты, которые мы видим на подъеме, — это то, что всегда было у информационных систем: журнал того, что произошло — хранение уже не является серьезной проблемой. У ведения бухгалтерской книги есть много преимуществ. Они представляют наше естественное представление о системах — цифровых или нет.
версия с высоким разрешением
Время — это концепция, которая теперь является основной частью описания системы. Компоненты и классы, которые мы видели в вычислениях, не так важны. Мы можем показать на примере, что система должна делать от начала до конца, на временной шкале и без ветвлений — опять же, чтобы использовать этот аспект памяти нашего мозга.Это модель событий. Он используется для отслеживания всех значений полей в пользовательском интерфейсе до сохранения этих значений до того места, где они в конечном итоге попадают в отчет или на экран. Обычно это делается с помощью стикеров на стене или белой доске или онлайн-версии доски. Мы увидим, что простота лежит в основе подхода, поскольку мы будем использовать только 3 типа строительных блоков, а также традиционные каркасы или макеты. Кроме того, чтобы не усложнять задачу, мы будем полагаться только на 4 шаблона того, как мы структурируем диаграмму.
Простота
Когда мы хотим применить определенные практики или процессы, чтобы помочь друг другу понять и общаться, это обратно пропорционально количеству обучения, которое люди должны сделать, чтобы овладеть этими методами. Другими словами, если организация выбирает процесс под названием «X», а для X требуется одна книга и семинар, на прохождение которого уходит неделя, это сводит на нет эффективность X, и вот самое худшее: , неважно. насколько хорош X .
Когда книга является обязательной для чтения людьми в организации, каждый скажет, что прочитал ее; только половина на самом деле прочитает это; половина из них заявят, что поняли это; и только половина из них поймет это; и половина из них сможет это применить.
Вот почему моделирование событий использует только 3 движущихся части и 4 паттерна, основанных на 2 идеях. На объяснение уходит несколько минут, а остальная часть обучения выполняется на практике, прозрачно, когда любые недостатки в понимании даже этих нескольких основных идей быстро исправляются.
Вот как вы приходите к взаимопониманию в организации.
События
Допустим, мы хотим разработать веб-сайт отеля для сети отелей, чтобы наши клиенты могли бронировать номера через Интернет, а мы — планировать уборку и любые другие проблемы с отелем. Мы можем показать, какие события или факты хранятся на временной шкале года в этом бизнесе. Мы можем притвориться, что у нас уже есть система, и спросить себя, какие факты были сохранены, когда мы движемся вперед во времени.
Каркасы
Чтобы добавить визуальной части рассказывания историй, мы показываем макеты веб-страниц вверху.Они могут быть организованы в виде дорожек для плавания, чтобы показать, как разные люди (или иногда системы) взаимодействуют с нашей системой. Мы также показываем здесь любую автоматизацию с помощью символа в виде шестеренок, чтобы проиллюстрировать, что система что-то делает. Это простой для понимания набор механизмов списка дел, который процесс идет и делает, и помечает элементы как выполненные. В нашем примере с гостиницей это может быть платежная система или система уведомлений.
версия с высоким разрешением
На данный момент у нас есть достаточно, чтобы иметь возможность разрабатывать некоторые системы с некоторыми людьми, занимающимися UX / UI.Но есть 2 очень фундаментальных элемента, которые необходимо добавить в план, которые показывают 2 основные функции любой информационной системы: расширение прав и возможностей пользователя и информирование пользователя.
Команды
Большинство информационных систем должны давать возможность пользователю влиять на состояние системы. В нашем примере мы должны разрешить бронирование комнаты, чтобы изменить систему, чтобы мы не забронировали больше, и когда этот человек прибудет в этот день в будущем, у него будет готовый номер.
Намерения изменить систему заключены в команду.В отличие от простого сохранения данных формы в таблице в базе данных, это позволяет нам иметь нетехнический способ показать намерения при любой реализации — хотя некоторые из них, как мы увидим, имеют преимущества.
версия с высоким разрешением
С точки зрения пользовательского интерфейса и пользовательского интерфейса это приводит к созданию «пользовательского интерфейса на основе команд», который во многом помогает создавать компонуемые пользовательские интерфейсы. Благодаря этому шаблону становится намного яснее, каковы границы транзакций как с технической, так и с деловой точки зрения.Гость отеля либо успешно зарегистрировался, либо нет.
Когда есть нюансы в отношении того, что необходимо для успешного выполнения команды, они уточняются в спецификациях стиля «Дано-Когда-Тогда». Это, опять же, способ рассказать историю успеха. Можно привести несколько таких историй, чтобы показать, как команда может и не может быть успешной.
Примером может быть « Дано : мы зарегистрировались и добавили способ оплаты, Когда : мы пытаемся забронировать номер, Затем : номер забронирован.Эта форма спецификации также называется «Упорядочить, Действовать, Утвердить», а в мире UX / UI — «Ситуация, Мотивация, Ценность».
Просмотры (или модели для чтения)
Вторая часть любой информационной системы — это возможность информировать пользователя о состоянии системы. Наш гость отеля должен знать, какие дни доступны для определенных типов номеров, в которых они заинтересованы. Их обычно много, и они поддерживают многомодельный аспект информационных систем.
версия с высоким разрешением
Представление о фактах, уже имеющихся в системе, менялось по мере того, как эти новые события сохранялись.В нашей гостиничной системе это представление календаря обновлялось по мере появления новых событий, влияющих на инвентарь. Другие виды могут быть предоставлены уборщицам, чтобы увидеть, какие комнаты готовы к уборке, поскольку события, связанные с выездом гостей, сохраняются.
Определение поведения представления очень похоже на то, как мы указываем, как мы принимаем команды, с одним отличием. Представления являются пассивными и не могут отклонить событие после того, как оно было сохранено в системе. У нас есть « Дано : в отеле есть 12 номеров с видом на океан, номер с видом на океан был забронирован с 4 по 12 апреля X 12, Затем : в календаре должны быть показаны все даты, кроме 4–12 апреля, для доступности с видом на океан» .
Интеграция
Мы только что рассмотрели первые 2 шаблона из 4, которые необходимы для описания большинства систем. Системы могут получать информацию из других систем и отправлять информацию в другие системы. Было бы заманчиво заставить эти 2 шаблона быть расширением первых двух и использовать одно и то же пространство. Однако эти взаимодействия сложнее передать, поскольку они не имеют того видимого человеком аспекта и требуют некоторых паттернов более высокого уровня.
Перевод
Когда у нас есть внешняя система, которая предоставляет нам информацию, полезно перевести эту информацию в форму, более привычную для нашей собственной системы.В нашей гостиничной системе мы можем получать события по GPS-координатам гостей, если они выбрали нашу высокоактивную уборочную бригаду. Мы бы не хотели использовать пары долготы и широты в качестве событий для определения предварительных условий в нашей системе. Мы бы предпочли иметь события, которые значат для нас что-то вроде «Гость покинул отель», «Гость вернулся в номер в отеле».
версия с высоким разрешением
Часто переводы достаточно просты, чтобы их можно было представить в виде представлений, которые получают информацию из внешних событий. Если мы не используем их в качестве каких-либо «заданных» частей тестов, значения, которые они хранят в этой модели представления, просто представлены в параметрах команды в наших тестах изменения состояния.
Автоматика
Наша система должна будет связаться с внешними службами. Когда гости в нашем отеле оплачивают свое проживание при выезде из отеля, наша система обращается к платежной системе. Мы можем представить себе, как это происходит, с помощью идеи «списка дел» для некоторого процессора в нашей системе. В этом списке дел показаны задачи, которые нам нужно выполнить. Наш процессор время от времени просматривает этот список (это могут быть миллисекунды или дни) и, например, отправляет команду внешней системе для обработки платежа.Затем ответ от внешней системы преобразуется в событие, которое мы сохраняем обратно в нашей системе. Таким образом, мы сохраняем строительные блоки, которые мы используем в нашей системе, как нечто значимое для нас.
версия с высоким разрешением
Мы показываем это, помещая процессор в верхнюю часть нашего чертежа, на котором есть каркасы. Это показывает, что есть вещи, которые не видны на экране, но происходят за кулисами. Пользователь может ожидать, что вращающийся значок будет указывать на задержку из-за необходимости завершения фоновых задач.Спецификация для этого имеет форму « дано : представление задач, которые нужно выполнить, когда эта команда запускается для каждого элемента, затем эти события ожидаются снова».
В действительности, они могут быть реализованы множеством различных способов, таких как очереди, реактивные конструкции или конструкции в реальном времени. Это могут быть даже ручные списки дел, которые используют наши сотрудники. Цель здесь — сообщить, как наша система взаимодействует с внешним миром, когда ей нужно на него повлиять.
Моделирование событий выполняется в 7 шагов. Мы уже объяснили конечную цель. Итак, давайте вернемся к началу и покажем, как работать с планом:
1. Мозговой штурм
версия с высоким разрешением
У нас есть кто-нибудь, кто объяснит цели проекта и другую информацию. Затем участники представляют, как система будет выглядеть и как вести себя. Они записывают все события, которые, по их мнению, произошли. Здесь мы мягко вводим концепцию, согласно которой должны быть указаны только события, изменяющие состояние.Часто люди называют «календарь просмотров гостями для определения наличия номеров». Мы пока отложим их в сторону — это не события.
2. Участок
версия с высоким разрешением
Теперь задача состоит в том, чтобы создать правдоподобную историю из этих событий. Итак, они выстроены в линию, и каждый просматривает эту временную шкалу, чтобы понять, что это имеет смысл, поскольку события происходят по порядку.
3. Раскадровка
версия с высоким разрешением
Затем необходимы каркасы или макеты истории для тех, кто изучает визуальное восприятие.Что еще более важно, каждое поле должно быть представлено так, чтобы план системы имел источник и место назначения информации, представленной с точки зрения пользователя.
3.1 Параллелизм UX
Каркасы обычно размещаются в верхней части чертежа. Их можно разделить на отдельные дорожки, чтобы показать, что видит каждый пользователь, если их несколько. Нет экранов, которые появляются один над другим, так как нам нужно фиксировать каждое изменение в состоянии системы как отдельный вертикальный фрагмент чертежа.Различный порядок может быть показан в различных спецификациях. Если он является ядром системы или очень важен для коммуникации, в схему нужно будет добавить альтернативные рабочие процессы. Это часть последнего шага, демонстрирующего организацию, но при необходимости его можно сделать и раньше.
4. Определите входы
версия с высоким разрешением
Из предыдущего раздела мы увидели, что нам нужно показать, как мы позволяем пользователю изменять состояние системы. Обычно это шаг, на котором мы вводим эти синие прямоугольники.Каждый раз, когда событие сохраняется из-за действия пользователя, мы связываем его с пользовательским интерфейсом с помощью команды, которая показывает, что мы получаем с экрана или неявно из состояния клиента, если это веб-приложение.
5. Определите выходы
версия с высоким разрешением
Снова оглядываясь на наши цели для плана, теперь мы должны связать информацию, накопленную путем сохранения событий, обратно в пользовательский интерфейс через представления (также известные как модели чтения). Это могут быть такие вещи, как просмотр календаря в нашей гостиничной системе, который покажет наличие номеров, когда пользователь хочет забронировать номер.
6. Применить закон Конвея
версия с высоким разрешением
Теперь, когда мы знаем, как информация попадает в нашу систему и выходит из нее, мы можем приступить к организации самих событий в дорожки. Нам нужно сделать это, чтобы позволить системе существовать как набор автономных частей, которыми могут владеть отдельные команды. Это позволяет специализироваться на уровне, который мы контролируем, вместо того, чтобы выпадать из состава команд. См. Закон Конвея Мела Конвея.
7. Продуманные сценарии
Каждый шаг рабочего процесса привязан либо к команде, либо к модели представления / чтения.Технические характеристики были объяснены ранее. Мы делаем их по-прежнему совместно со всеми участниками в одном пространстве. «Дай-когда-тогда» или «Дай-то-тогда» можно построить одно за другим очень быстро, просматривая несколько представителей ролей. Это позволяет делать то, что традиционно делается в виде пользовательских историй отдельным владельцем продукта отдельно в текстовом формате, совместно визуально за очень небольшой промежуток времени. Что здесь очень важно, так это то, что каждая спецификация привязана только к одной команде или представлению.
Проверка комплектности
В настоящее время в модели событий должны быть учтены все поля. Вся информация должна иметь источник и место назначения. События должны способствовать этому переходу и содержать необходимые для этого поля. Эта строгость — то, что требуется для получения максимальной пользы от техники.
В одном из вариантов мы не проводим окончательную проверку и полагаемся на покрытие затрат на доработку. Есть сценарии, когда это желательно.
Окончательный результат упражнения, если он завершен, представляет собой набор очень маленьких проектов, определенных всеми сценариями для каждого шага рабочего процесса.Они имеют формат, который позволяет напрямую переводить их в то, что разработчики будут использовать для создания своих модульных тестов. Они также связаны со смежными этапами рабочего процесса только контрактом.
версия с высоким разрешением
Сильные контракты
Многие проблемы, связанные с управлением проектами, бизнесом и координацией, смягчаются тем фактом, что мы заключили явные контракты в отношении формы информации о том, когда мы начинаем конкретный шаг рабочего процесса, и о том, какова форма данных после его завершения.Эти предварительные и последующие условия — это то, что позволяет выполнять работу в относительной изоляции, а затем соединяться с соседними этапами, как было задумано.
Кривая фиксированной стоимости
Наибольшее влияние использование моделирования событий — это плоская кривая стоимости средней стоимости функции. Это связано с тем, что на усилия по созданию каждого шага рабочего процесса не влияет разработка других рабочих процессов. Важно понимать, что шаг рабочего процесса считается повторяющимся в модели событий, если он использует ту же команду или представление.
Воздействие этого очень далеко идущее, потому что это то, что превращает разработку программного обеспечения обратно в инженерную практику. Это то, что делает создание информационной системы похожим на строительство дома. Элементы можно создавать в любом порядке. Традиционная разработка не может полагаться на оценки, потому что то, будет ли функция разработана на ранней или более поздней стадии проекта, влияет на объем необходимой работы. Изменение приоритетов работы делает любые предыдущие оценки недостоверными.
Готово Готово Сделано Правильно
Когда реализуется шаг рабочего процесса, реализация любого другого шага рабочего процесса не вызывает необходимости повторно посещать этот уже завершенный шаг рабочего процесса. Это причина того, что можно реализовать кривую постоянной стоимости функций.
Оценки без оценок
При постоянной кривой затрат усилия организации по внедрению можно просто измерить по многим функциям с течением времени. Это беспристрастный способ эмпирически определить скорость работы команд.Эти числа затем используются для определения объема, графика и оценки будущих проектов.
Техническое примечание о разработке через тестирование
Это влияние внедрения Agile-методов в отрасли, которые позволяют использовать пластыри для решения основной проблемы отсутствия дизайна. Поскольку объем каждого набора требований теперь зависит от шага рабочего процесса, шаг рефакторинга TDD не влияет на другие шаги рабочего процесса в модели событий. Когда у нас нет модели событий, рефакторинг не ограничивается, и необходимо корректировать ранее выполненные части работы.Чем больше работы уже выполнено, тем больше необходимо пересматривать и корректировать с каждым новым дополнением по мере создания решения.
Субподряд
Кривая постоянных затрат дает возможность выполнять проекты с фиксированными затратами. После того, как скорость работы команды будет установлена, у вас будет стоимость программного обеспечения для вашей организации. С помощью этого числа вы теперь можете оценить, сколько вы готовы платить подрядчикам за каждый шаг рабочего процесса, который они выполняют.
Гарантии
Поскольку каждый шаг рабочего процесса защищен от влияния других шагов рабочего процесса, любые недостатки должны быть гарантированы тем, кто их выполняет с неоплачиваемой работой.Таким образом, в случае, если субподрядчик плохо справляется с работой только для того, чтобы быстро выполнить больше оплачиваемых работ, ему придется посвятить следующие часы работы устранению недостатков в уже выполненной ранее работе. Это выравнивает их эффективную ставку заработной платы, потому что они не работают над новыми поставками.
Это можно проводить в течение более длительных периодов в рамках взаимодействия с сотрудником, делая эти показатели доступными через различные контрольные точки для оценки эффективности.
Из-за того, что эффективная оплата самостоятельно адаптируется к возможностям человека, это также способ принять на работу новых сотрудников и справедливо платить им, пока они находятся на стадии испытательного срока.Этот процесс найма на работу устраняет субъективный и в значительной степени неэффективный процесс собеседования для технических должностей.
Приоритизация
Перемещение работ по графику относительно того, какие шаги будут реализованы в первую очередь, выполняется без изменения сметной стоимости каждого элемента. Это гарантирует, что расстановка приоритетов работы также не повлияет на общую стоимость. Кривая постоянных затрат необходима, чтобы обеспечить такую «гибкость» изменения приоритетов функций.
Управление изменениями
Когда планы меняются, мы просто корректируем модель событий.Обычно это делается путем простого копирования текущего и корректировки. Теперь мы видим различия. Если к одному событию добавляется новый фрагмент информации, это составляет новую версию рабочего процесса, который его создает. То же и с видами. Если они еще не были реализованы, они не меняют нашу оценку. Если они уже реализованы, они добавляют в наш план еще одну единицу работы, потому что это считается заменой. Есть еще несколько правил. Конечным результатом является исчерпывающее руководство по управлению изменениями.
версия с высоким разрешением
С помощью модели событий решение показывает, где именно и что не менее важно, когда конфиденциальные данные пересекают границы. При традиционных аудитах количество собеседований с персоналом занимало много времени и позволяло упустить важные области. Вопросы безопасности решаются наиболее ответственно, когда приложения имеют ссылочную модель событий.
Большинство сценариев, с которыми сталкиваются реальные организации, связаны с уже существующей системой. Основной способ справиться с системой, которой трудно управлять из-за сложности и непонимания, — это либо переписать ее, либо реорганизовать во время работы.Оба они очень дороги.
Существует третий, менее рискованный вариант: заморозить старую систему. При надлежащей поддержке организация может согласиться не изменять существующую систему. Вместо этого устранение ошибок и добавление новых функций выполняется на стороне как вспомогательное решение.
События могут быть собраны из базы данных старой системы и просматривать это состояние, используя шаблон преобразования, описанный ранее. Y-образное перенаправление действий пользователя может добавить новые функции в дополнительное решение.Пример, который исправляет ошибку (обратите внимание, что мы используем внешний шаблон интеграции и расширяем старую систему для добавления изображений профиля, показан здесь:
Этот шаблон позволяет организации прекратить вкладывать энергию в неоптимальную существующую систему и получить доступ к предоставлению ценности с помощью шаблонов, которые обеспечивают преимущества модели событий.
Моделирование событий меняет способ построения информационных систем. Благодаря простым повторяемым шаблонам информационные системы настолько предсказуемы, насколько и положено инженерным усилиям.
(продолжение следует)
** Это периодически обновляемая статья, которая будет перемещаться на страницу сайта в качестве ресурса.
Модель событий (TEM) в действии
Эта статья является частью 2 статьи «Знакомство с новым горизонтом: модель событий»
ПРИМЕЧАНИЕ : диаграммы и таблицы в этой статье взяты из материалов, авторские права на которые принадлежат Knowledge Partners International LLC и IBM Corporation
Модель событий (TEM) — это новый способ моделирования, разработки, проверки, поддержки и реализации приложений, управляемых событиями, ориентированных на деловых людей.Это результат двухлетнего совместного исследования KPI [1] и IBM Haifa-Research, направленного на то, чтобы повлиять на мир событий таким же образом, как Модель принятия решений (TDM) повлияла на мир бизнес-правил, когда она впервые появилась в 2009 году.
Это вторая статья о ТЕА. Наша первая статья [2] отвечает на два фундаментальных вопроса: Почему ТЕА? и ПОЧЕМУ ТЕМ сейчас? В этой статье мы обращаемся к вопросу Как ТЭМ? , предоставляя более глубокий взгляд на основные конструкции ТЕА и как выполнить высокоуровневый дизайн в ТЕА.Для тех, кто пропустил первую статью, мы надеемся, что вы все равно найдете эту статью полезной и самодостаточной, так что ее будет легко понять и понять.
Сила событий
Согласно Forrester [3], (комплексная) обработка событий, или CEP, объединяет данные из нескольких источников для вывода событий или закономерностей, которые предполагают более сложные обстоятельства. Конечная цель: выявить значимые события, такие как возможности или угрозы, и как можно быстрее отреагировать на них.
Luckham [4] (декабрь 2013 г.) указывает, что компании, которые внедряют активные, непрерывно работающие интеллектуальные системы в реальном времени, будут использовать CEP, потому что это единственный способ извлекать идеи из текущих данных на основе событий. Компании, которые понимают CEP, обладают большей и лучшей информацией в реальном времени, чем те, которые ее не понимают. Использование CEP будет расширяться по мере того, как темпы развития бизнеса ускоряются, больше данных становится доступным в режиме реального времени, а деловые люди требуют большей осведомленности о ситуации.Однако более 95% обработки сложных событий по-прежнему выполняется на специальной «сборочной» основе, без использования каких-либо инструментов систематической обработки событий [5]. Возникает вопрос: почему инструменты обработки событий настолько низки? Мы считаем, что для того, чтобы по-настоящему использовать возможности событий, необходимо решить важнейшую часть головоломки: как упростить понимание, разработку и развертывание приложений, управляемых событиями, для нетехнических специалистов. ТЕА призвана как раз восполнить этот пробел.Сегодня Модель событий находится на начальной стадии, как и Модель принятия решений до ее публикации в 2009 году.
Преимущества TEM
Давайте вспомним основные преимущества ТЕА из части 1:
- Простая диаграмма, разработанная специально для вывода логики событий
- Для понимания не требуется программный код
- Бизнес-ориентированный глоссарий
- Отсутствие технических терминов или артефактов
- Независимые от техники
- Поддерживается принципами честности и
- Автоматически.
Кто пользователь ТЕА?
TEM в первую очередь ориентирован на нетехническую аудиторию, которая хочет получить контроль над логикой событий в своих организациях. Как вы увидите позже, нетехнический пользователь должен иметь возможность указать бизнес-логику событий приложения в TEM, в то время как технические детали могут появиться на более позднем этапе, из которого модель генерируется в коде.
Цели
В этой части 2 наша основная цель — пройтись по основам TEM на иллюстративном примере, демонстрирующем подход к проектированию сверху вниз.Следовательно, в этот нисходящий подход включены фрагменты ТЕА, наиболее полезные для нетехнической аудитории. Он не содержит всех частей TEM, необходимых для построения полной и правильной модели TEM для автоматического генерирования кода.
Наш иллюстративный пример
В Части 1 мы представили ситуацию под названием Подозрительный счет . Ситуация в TEM — это окончательный вывод, основанный на событии, или производное событие, которое передается во внешний мир. В нашем первом примере Подозрительная учетная запись создается всякий раз, когда каждые 10 дней вносятся как минимум три крупных денежных депозита.
Теперь, чтобы показать богатство и в то же время простоту TEM, давайте усложним нашу историю о подозрительной учетной записи. Ситуация Подозрительный счет возникает при обнаружении любого из следующих трех производных событий (рисунок 1): Частые крупные депозиты наличными; Частые депозиты наличными с последующими переводами за границу ; или Отсутствие активности на счете .
Рисунок 1: Подозрительная ситуация со счетом
Теперь о подробностях.
Мы получаем событие Частое внесение крупных денежных средств всякий раз, когда у нас есть не менее трех Крупных денежных вкладов каждые 10 дней для определенного счета. Событие Крупный депозит наличными выводится всякий раз, когда сумма депозита наличных превышает допустимую для клиента (пороговое значение для клиента). Ключевое слово «каждый» во временном контексте обозначает скользящее временное окно в 10 дней, то есть каждый день мы открываем новый контекст, который закрывается через 10 дней.
A Частые депозиты наличных с последующими переводами за границу Событие выводится, когда у нас есть не менее 10 событий Внесения наличных, за которыми следует перевод за границу событие каждые 30 дней.Последний выводится всякий раз, когда мы обнаруживаем событие Перевод за границу , которое происходит после события Депозит наличными для того же счета, и сумма наличных денег превышает сумму перевода для того же счета. Временное окно начинается с события Депозит наличными на период 3 дня.
A Отсутствие активности на счете Событие выводится всякий раз, когда для конкретного счета нет ни событий Депозит наличными , ни событий Перевод за границу в течение 20 дней, начиная с возникновения либо Депозит наличными , либо Трансфер за границу событие.
Наконец, мы выводим ситуацию Подозрительный счет всякий раз, когда возникают события Частые крупные денежные вклады , Частые депозиты наличными с последующим переводом за границу или Отсутствие активности на счете .
Давайте посмотрим, как мы создадим это с помощью ТЕА. Но сначала давайте познакомимся с основными конструкциями или строительными блоками ТЕА.
Основные конструкции ТЕА
В ТЕА у нас есть пять основных конструкций, подробно и проиллюстрированных в следующих подразделах:
Глоссарий TEM : Набор таблиц, в которых хранятся все концепции глоссария конкретного приложения.
TEM-диаграммы : Набор диаграмм, описывающих зависимости событий и, следовательно, поток событий в управляемом событиями приложении. Для каждой ситуации в TEM существует соответствующая диаграмма TEM.
TEM Logic : Набор таблиц, описывающих все логические концепции конкретного приложения.
Принципы ТЕА : Набор утверждений и ограничений целостности, которые обеспечивают правильность модели ТЕА. Конечная цель TEM-модели — преобразовать ее в работающее приложение с минимальным вмешательством ИТ.Принципы TEM позволяют проверить модель, чтобы она была правильной, полной и непротиворечивой и могла быть автоматически переведена в работающее приложение обработки событий.
Хотя правильная, полная и действительная модель требует завершения и спецификации всех этих строительных блоков, как мы увидим позже, наиболее важными артефактами для бизнес-пользователя в TEM являются диаграммы и логические таблицы. Они могут быть определены сначала нетехническими людьми, в то время как другие артефакты могут быть определены параллельно или позже бизнес-архитекторами или более техническими специалистами.Мы опишем диаграммы и логические таблицы в следующих разделах, используя наш пример подозрительной учетной записи, но сначала давайте рассмотрим некоторые основные термины TEM, необходимые для понимания этих строительных блоков.
Основные термины ТЕА
Давайте вспомним и расширим словарный запас, представленный в Части 1.
В TEM событие — это событие, которое произошло, что представляет интерес для бизнеса и публикуется, чтобы мы могли его обнаружить. Мы обнаруживаем и публикуем его, потому что это может потребовать реакции со стороны компании.
Необработанное событие — это просто необработанный вывод производителя событий. Примером необработанного события является внесение денежных средств на банковский счет, а производитель (события) является человеком, если человек выполняет системы депонирования или банковских транзакций в большинстве предприятий.
Производное событие является выходом или заключением применения логики событий к входным событиям. Примером может служить то, что на банковский счет был внесен крупный денежный депозит. В этом случае логика события содержит критерии для квалификации конкретного денежного депозита как крупного депозита.Ситуация — это окончательный вывод из всей модели событий, и в ней есть по крайней мере один потребитель, который в ней заинтересован. Это означает, что он публикуется для потребителя, который может на него отреагировать. В нашем примере потребителем Подозрительной ситуации является сотрудник банка по соблюдению нормативных требований .
Факт — это элементарный фрагмент данных, содержащийся в любом событии, производителе или потребителе. Например: идентификатор клиента или сумма в событии транзакции.
Как показано в Части 1, контекст является одной из основных характеристик и особенностей обработки событий.Контекст определяет способ разделения или группировки событий, чтобы эти разделы можно было обрабатывать отдельно. Когда мы выводим событие в TEM (см. Раздел, посвященный логике TEM ниже), мы делаем это, применяя условия или выражения к входным событиям в указанном контексте. TEM различает два типа контекста:
Разбиение по , то есть мы группируем вхождения событий по одному или нескольким значениям фактов. Например: идентификатор клиента, что означает, что мы группируем и обрабатываем вместе все транзакции, принадлежащие конкретному клиенту.
Когда , то есть мы группируем вхождения событий на основе времени или временных окон. Например, мы смотрим на события, произошедшие во временном окне в 10 дней.
Как уже указывалось, бизнес-пользователь определяет или подтверждает бизнес-логику приложения, управляемого событиями, путем указания двух основных артефактов, TEM-диаграмм и логических таблиц. Давайте обсудим их подробно, начиная с ПЭМ-диаграмм.
ТЕМ-схемы
Диаграмма модели событий — это простой рисунок, который иллюстрирует структуру логики, показывая ситуацию вместе со связями производных в нисходящем порядке.Вверху диаграммы находится цель, которая представляет собой ситуацию, которую необходимо вывести. Эта цель связана с исходными и производными событиями, которые идентифицируются как участники деривации ситуации. Это выполняется рекурсивно до тех пор, пока не встретятся необработанные события или факты, как показано на рисунке 3 для нашего примера Suspicious account . Существует набор из девяти значков для выражения всех соответствующих терминов и взаимосвязей на диаграмме ТЕА (см. Рисунок 2)
Рисунок 2: Значки ТЕМ-диаграммы
Каждый блок на схеме, разделенный вертикальными линиями, представляет собой единую таблицу вывода событий (подробно описанную в следующем разделе).Каждый прямоугольник в блоке, разделенный толстой черной линией, соответствует строке в соответствующей логической таблице. Красные прямоугольники на заднем плане представляют контекст для конкретной строки. Контексты можно свернуть или развернуть. В случае события, производного от Отсутствие активности по счету , контекст расширяется, и поэтому вы можете видеть, что временной контекст инициируется событием Депозит наличными или Перевод за границу , в то время как события разделяются по идентификатор учетной записи клиента.На нашей TEM-диаграмме шесть блоков соответствуют шести различным логическим таблицам. Это будет подробно описано позже. Пунктирные линии указывают потоки событий в систему, управляемую событиями, и из нее, то есть потоки событий от производителей, в нашем случае от системы транзакций банка , или к потребителям, от ответственного за соблюдение требований .
TEM-диаграмма — это основной инструмент проектирования, обеспечивающий вид сверху вниз. Все блоки, которые описывают ситуации или производные события, требуют определения соответствующих логических понятий.
Рисунок 3: TEM-диаграмма для примера подозрительной учетной записи
ТЕМ Логика
Логические концепции — это детали, лежащие в основе вывода событий. Основная логическая таблица — это таблица вывода событий (EDT). Каждое производное событие в TEM подробно описывается в отдельном EDT с именем, которое коррелирует его с производным событием. EDT определяет условия генерации наступления определенного события. В таблице 1 подробно описаны обстоятельства, при которых возникает новое возникновение события Отсутствие активности учетной записи .
Таблица 1: Отсутствие активности в аккаунте Таблица вывода событий
Структура таблиц деривации событий
Первая строка в EDT — это его имя, которое состоит из производного от имени события + «Логика». Таким образом, таблица 1 содержит подробную информацию о производном событии Отсутствие активности учетной записи . Таблица состоит из двух частей, контекста и условий, разделенных вертикальной красной линией. Контекстная часть состоит из двух логических разделов.Временной контекст, представленный выражением When, When start и When end столбцов; и контекст сегментации, представленный столбцом Partition by . Например, таблица 1 описывает временное окно, инициируемое каждый раз, когда происходит событие Депозит наличными или перевод за границу , и заканчивается через 20 дней. Разделение по контексту группирует входные события по одному и тому же идентификатору счета , что означает, что все транзакции Депозит наличными и Перевод за границу одного и того же счета обрабатываются вместе в поисках шаблона, указанного в части «Условие».
Каждая строка в EDT определяет другой набор условий и контекста для получения нового возникновения производного события. Чтобы получить новое вхождение производного события, должна быть удовлетворена по крайней мере одна из строк, то есть все условия в строке должны быть выполнены для конкретного контекста в этой строке.
Условия таблиц деривации событий
Часть условий в таблице вывода событий состоит из трех типов условий. Условия логически применяются в следующем порядке:
Условия фильтрации — это выражения, оцениваемые по содержимому одного экземпляра события.Роль условий фильтрации состоит в том, чтобы определить, удовлетворяет ли экземпляр события условию фильтрации и должен ли он участвовать в деривации. Например, столбец Фильтр по событию в таблице 2 описывает условие для типа факта сумма наличных для события Внесение наличных . Сумма денежных средств должна быть равна или больше суммы, разрешенной для этого покупателя, обозначенной фактом порогового значения клиента . Входные события с денежной суммой, меньшей, чем порог клиента, вообще не учитываются и не учитываются при выводе этого события.
Таблица 2: Крупный денежный депозит EDT
Условия шаблона — это выражения связанных событий, таких как «Обнаружено», «Отсутствует» или «Пороговые значения для агрегатов». Роль условий шаблона — обнаруживать указанные отношения между экземплярами событий. Например, в Таблице 1 условие Pattern описывает отсутствие обнаружения событий Cash deposit и Transfer за границу , что означает, что в указанном контексте не обнаруживается ни одного события из этих двух событий.В Таблице 3 условие Pattern задается агрегатом Count и удовлетворяется только в том случае, если количество событий Large Cash Deposit больше 3 для конкретного контекста.
Таблица 3: Частые крупные депозиты наличными EDT
Фильтр по условиям шаблона — это выражения для нескольких вхождений событий, включая сравнения, членство и временные отношения, которые возникают после применения условия шаблона.Роль фильтра по условиям шаблона состоит в том, чтобы отфильтровать результат шаблона на основе условий среди различных событий, которые создают этот шаблон. Например, в Таблице 4 пара событий, которые происходят в последовательности сначала Депозит наличными, а затем Перевод за границу , затем фильтруются, чтобы проверить, равна ли сумма наличных сумме перевода или меньше. Только те пары транзакций, которые удовлетворяют этому условию, включаются в этот вывод.
Таблица 4: Внесение наличных с последующим переводом за границу EDT
Три типа условий являются необязательными, то есть они могут появляться или нет в EDT, однако EDT действителен, только если он содержит хотя бы одно условие для каждой строки.Мы также не ограничиваем количество условий для каждого типа условия. Например, таблица 1 содержит два условия для типа условия Pattern.
TEM-соединение является зависимостью между EDT, когда на вывод, т. Е. Производное событие, одного EDT ссылается в другом EDT. Соединения показаны в таблицах ТЕА с подчеркиванием или гиперссылками. Например, крупный депозит наличными в Таблице 3 подчеркнут, поскольку это событие само по себе является завершением депозита крупный депозит EDT.
Условные обозначения
Хотя названия концепций в TEM могут быть свободно определены бизнес-пользователем, мы используем некоторые соглашения об именах в логических таблицах для ясности. Например, конкретные имена фактов, используемые для разделения входных вхождений событий, а также событий (называемых типами фактов домена), начинаются с заглавной буквы; другие названия фактов начинаются со строчной буквы. Мы также, как вы видели, подчеркиваем типы событий в столбцах условий, которые имеют собственную таблицу вывода событий (гиперссылки), чтобы подчеркнуть тот факт, что эти события сами являются производными от другой части логики и позволяют следовать путям вывода. нажав эти ссылки (как вы видели, например, Крупный депозит в Таблице 3).
Как мы делаем дизайн высокого уровня в TEM
ТЕА лучше всего практиковать по нисходящей методологии, начиная с диаграммы ТЕА. Конструкция новой модели ТЕА состоит из шести этапов, описанных ниже.
Шаг 1. Изобразите ситуацию
Для каждой ситуации в модели определите одного или нескольких потребителей. В нашем примере ситуация — событие, производное от Подозрительной учетной записи , отправленное сотруднику по соответствию , как показано на рисунке 4.
Рисунок 4: Первый шаг в разработке нового ТЭМ
Шаг 2. Добавьте скелет ситуации
На этом этапе мы добавляем контекст и условия, которые непосредственно приводят к ситуации. На рисунке 5 мы добавляем три производных события, которые вносят непосредственный вклад в Suspicious account .
Рисунок 5: Второй этап проектирования нового ТЭМ
Шаг 3. Еще один шаг
Для каждой такой ситуации мы строим диаграмму, которая детализирует то, что необходимо знать или обнаруживать, чтобы вывести эту ситуацию.На рисунке 6 показано, что нам нужны три ветви, по одной для каждого производного события в ситуации.
Рисунок 6: Третий шаг в разработке нового ТЭМ
Шаг 4: Заполните схему
Детализируйте диаграмму, пока не будут достигнуты необработанные события. На рисунке 3 представлен последний шаг в этом примере.
Шаг 5: Построение деривационных таблиц TEM
Для каждого блока на диаграмме создайте соответствующую таблицу вывода событий, используя восходящий подход, начиная с исходных событий и заканчивая ситуацией.На рисунках с 7 по 12 показаны соответствующие EDT для блоков в нашем примере TEM-диаграммы.
Рисунок 7: Связь между блоком на диаграмме и его соответствующим EDT для события, производного от крупного денежного депозита
Рисунок 8: Связь между блоком на диаграмме и его соответствующим EDT для внесения наличных с последующим переносом за границу производным событием
Рисунок 9: Связь между блоком на диаграмме и его соответствующим EDT для события, производного от частых денежных депозитов
Рисунок 10: Связь между блоком на диаграмме и его соответствующим EDT для частых депозитов с последующим переводом за границу производное событие
Рисунок 11: Связь между блоком на диаграмме и его соответствующим EDT для события, производного от отсутствия активности учетной записи
Рисунок 12: Связь между блоком на диаграмме и его соответствующим EDT для события, производного от подозрительной учетной записи
Шаг 6. Заполните глоссарий
Полная модель ТЕА требует заполнения и заполнения всех таблиц.
Шаги 1–5 могут выполняться бизнес-аналитиками или бизнес-специалистами, которые обладают средними навыками программирования или не обладают ими. Шаг 6 может быть выполнен бизнес-аналитиками или специалистами, если в организации есть доступные репозитории метаданных и все необходимые элементы доступны. В качестве альтернативы он может служить отправной точкой для рукопожатия между бизнесом и ИТ, если есть потребность в устранении неоднозначности терминов или создании инструментов для обнаружения событий. В конце шага 6 модель завершена и готова к проверке.Эти шаги выполняются итеративно, пока модель не будет завершена. Как только модель завершена, она проверяется. Если обнаружены нарушения модели, они исправляются, и модель проверяется еще раз. В некоторых случаях доработка и проверка модели могут выполняться нетехническими специалистами. Этот процесс продолжается итеративно до тех пор, пока не будет достигнута действующая модель. Только тогда он может быть преобразован в исполняемый код.
Внесение изменений в ТЭМ
Одно из основных преимуществ TEM заключается в том, что любые изменения выполняются только в модели, а не в сгенерированном коде.Это упрощает процесс, поскольку:
- Новая логика проверяется вместе со всем приложением, что позволяет избежать потенциальных несоответствий, которые могут возникнуть в результате включения новой логики
- Поскольку существует только одна таблица деривации событий для каждого производного события, модификация выполняется только в одном месте, то есть в таблице деривации событий, которую она затрагивает, и в соответствующих входах в таблицах глоссария.
В нашем примере предположим, что есть новые логические требования, согласно которым учетная запись должна считаться подозрительной.В частности, мы выведем ситуацию Подозрительный счет также в случае, если сумма в последовательных депозитных транзакциях постоянно увеличивается в течение 15 дней. На рисунке 13 показана новая диаграмма ПЭМ, полученная в результате этого добавления (выделена желтыми прямоугольниками на рисунке). В таблице 5 показан новый EDT для новой производной ситуации Увеличение депозитов наличными , а в таблице 6 показан новый вход для этого производного события в EDT для ситуации Подозрительный счет (см. Строку 4 в EDT).Новая модель обновляется, проверяется, а код генерируется за считанные минуты!
Рисунок 13: Новая диаграмма для примера подозрительной учетной записи
Таблица 5: Новый EDT для увеличения депозита наличными
Таблица 6: Новый EDT для подозрительной ситуации со счетом
Заключение
Сегодня подходящее время для ТЭМ
Компании, которые понимают CEP, обладают большей и лучшей информацией в реальном времени, чем те, которые ее не понимают.Использование CEP будет расширяться по мере ускорения темпов бизнеса, большего количества данных становится доступным в режиме реального времени [6], а деловые люди требуют большей осведомленности о ситуации. CEP неизбежно будет принят во многих местах практически в каждой компании [7].
Если вы понимаете, что вам нужна сложная обработка событий для анализа в реальном времени в вашей организации, и вы хотите реализовать сложную обработку событий, то TEM — правильный способ сделать это.
Если вам интересно
См .: O.Эцион и Б. фон Галле, Моделирование мира, управляемого событиями, ER2013, учебник
http://www.slideshare.net/opher.etzion/er-2013-tutorial-modeling-the-event-driven-world.
Также доступен короткий обзорный фильм высокого уровня:
https://www.youtube.com/watch?v=9zjy8wngy5Y&feature=youtu.be
Авторы : Д-р Фабиана Фурни r, научный сотрудник IBM Research и Барбара фон Галле , управляющий партнер KPI LLC.
Др.Фабиана Фурнье — исследователь в группе технологий принятия решений на основе событий в IBM Research — Хайфа, имеет степень бакалавра наук. в информационных системах и M.Sc. и докторскую степень в области промышленного машиностроения Техниона — Израильского технологического института. Доктор Фурнье имеет более пятнадцати лет исследований, практического опыта и многочисленных публикаций в области обработки событий, организационного и процессного моделирования, трансформации бизнеса и управления. Ее области исследований также включают управление бизнес-процессами, бизнес-операции, архитектуру предприятия и сервис-ориентированную архитектуру.С тех пор как она пришла в IBM Research — Хайфа в 2006 году, она занималась разработкой и моделированием приложений обработки событий в различных областях, таких как финансовые риски и соблюдение нормативных требований, борьба с отмыванием денег, логистика и агропродовольствие. Доктор Фурнье получила различные награды, в том числе премию IBM за выдающиеся технические достижения за свою работу по бизнес-моделированию компонентов, системному проектированию в аэрокосмической и оборонной промышленности, а также процессам, связанным с артефактами. Она является соавтором двух патентов: метода и устройства для интегрированной интероперабельной семантической системы для выполнения кросс-инструментальной межорганизационной системной инженерии (подана) и генерации кода на основе событий (подана).С ней можно связаться по адресу [электронная почта защищена].
Барбара фон Галле, после приобретения KPI компанией Sapiens, консультируется с Sapiens по модели решения и модели события. Она имеет степень бакалавра математики в Университете Фордхэма (выступление с прощальным словом и лауреат математической премии Фордхэма). Она также имеет степень магистра компьютерных наук в Технологическом институте Стивенса. Она является соавтором модели решения, модели события и соавтором книги Модель решения: структура бизнес-логики, объединяющая бизнес и технологии, опубликованной Taylor and Francis LLC 2009.Она начала свою карьеру в области управления данными, консультируя крупные корпорации по вопросам управления корпоративными данными. Как пятый лауреат премии International DAMA за выдающиеся достижения в области индивидуальных достижений, она была занесена в Зал славы в 1995 году. Ее первая книга «Справочник по проектированию реляционных баз данных» продолжает оставаться стандартным справочником при проектировании баз данных. Более пяти лет она была самым популярным обозревателем ведущего издания журнала «Программирование и дизайн баз данных». С ней можно связаться по телефону [адрес электронной почты]
.См. Другие статьи Барбары фон Галле.
Артикул:
- KPI — это сокращение от Knowledge Partners International LLC
- The Forrester Wave ™: платформы комплексной обработки событий (CEP), третий квартал 2009 г.
- http://www.complexevents.com/2013/09/17/understanding-real-time-intelligence
- http://www.complexevents.com/2012/07/25/does-anyone-care-about-event-processing/
- Мы используем термин «реальное время» в широком смысле, включая «почти реальное время» или «бизнес-реальное время».”
- Hype Cycle for Operational Technology, 2013 (отчет № G00246894)
Введение в моделирование данных событий
Моделирование данных — важный этап в конвейере данных Snowplow. Мы обнаружили, что наиболее успешными в использовании данных Snowplow являются те компании, которые активно развивают свои модели данных о событиях: постепенно распространяют все больше и больше данных Snowplow в своих организациях, чтобы маркетологи, менеджеры по продуктам, мерчандайзеры и редакционные группы могли использовать эти данные для информирования. и стимулировать принятие решений.
«Моделирование данных событий» — это очень новая дисциплина, и поэтому существует не так много литературы, которая могла бы помочь аналитикам и специалистам по обработке данных приступить к моделированию данных событий. Это сообщение в блоге — первый шаг к устранению этого недостатка. В нем мы объясним, что такое моделирование данных событий, и дадим достаточно общего обзора, чтобы стало понятно, почему это так важно и почему это непросто.
Прочтите, чтобы узнать
1. Что такое моделирование данных событий?
Начнем с определения:
Моделирование данных событий — это процесс использования бизнес-логики для агрегирования данных на уровне событий для создания «смоделированных» данных, которые проще запрашивать.
Давайте выделим различные элементы, содержащиеся в приведенном выше определении:
а. Бизнес-логика
Поток событий, который доставляет Snowplow, представляет собой неопубликованных наборов данных . Например, когда мы записываем событие просмотра страницы, мы стремимся записать его как можно точнее:
- Какой URL был просмотрен?
- Какое было название?
- Есть ли какие-либо метаданные о содержимом страницы, которые мы можем зафиксировать?
- Каким был идентификатор файла cookie пользователя, загрузившего веб-страницу?
- В каком браузере был пользователь?
- На каком устройстве?
- В какой операционной системе?
Все вышеперечисленные точки данных будут записаны вместе с событием.Ни один из вышеперечисленных пунктов данных не является спорным: в будущем не произойдет ничего, что могло бы изменить значения, которые мы назначили бы этим параметрам. Для ясности мы называем эти данные «атомарными» данными. Это событийный уровень, и он однозначен.
Когда мы моделируем данные событий, мы используем бизнес-логику, чтобы добавить смысла атомарным данным. Мы можем посмотреть на данные и решить, что просмотр страницы, записанный выше, был первой страницей в новом сеансе или первым шагом в воронке продаж.По зарегистрированному идентификатору cookie мы можем сделать вывод о том, кто является фактическим пользователем. Мы можем взглянуть на точку данных в контексте других точек данных, записанных с тем же идентификатором файла cookie, и сделать вывод о намерении со стороны пользователя (например, что он искал конкретный продукт) или сделать что-то более общее о пользователе. (например, что она интересуется французской литературой).
Эти выводы сделаны на основе понимания бизнеса и продукта. Это понимание постоянно развивается.По мере изменения нашей бизнес-логики мы меняем и наши модели данных. Это означает, что смоделированные данные, которые создаются в процессе моделирования данных событий, являются изменяемыми: всегда возможно, что поступающие новые данные или обновление нашей бизнес-логики изменит то, как мы понимаем конкретное событие, которое произошло в прошлое.
Это полностью соответствует потоку событий, который является входом для процесса моделирования данных: это неизменяемая запись о том, что произошло.Неизменяемая запись будет расти со временем по мере того, как мы записываем новые события, но события, которые уже были записаны, не изменятся, потому что разные точки данных, которые фиксируются с каждым событием, не являются спорными. Может быть только то, как мы их интерпретируем, и это повлияет только на смоделированные данные, а не на атомарные данные.
Таким образом, у нас есть два разных набора данных, оба из которых представляют «то, что произошло»:
Атомарные данные | Смоделированные данные |
---|---|
Неопознанные | Мнения |
Неизменяемые | Изменяемые |
b.Агрегация
Когда мы моделируем данные о событиях, мы обычно собираем данные на уровне событий. В то время как каждая строка данных уровня события представляет отдельное событие, каждая строка смоделированных данных представляет сущность более высокого порядка, например. рабочий процесс или сеанс, состоящий из последовательности событий. Ниже мы приведем конкретные примеры этих сущностей более высокого порядка.
Обратите внимание, что это не всегда так: иногда мы можем захотеть, чтобы наши смоделированные данные были на уровне событий.В этом случае смоделированные данные будут выглядеть как атомарные данные, но будут иметь дополнительные поля, которые описывают введенные данные.
г. Просто запросить
Цель моделирования данных — создать набор данных, с которым легко работать различным потребителям данных. Как правило, эти данные будут распространяться по всему бизнесу с помощью инструмента бизнес-аналитики. Это предъявляет особые требования к структуре смоделированных данных: а именно, чтобы они были в формате, подходящем для разделения и нарезки различных измерений и мер друг против друга.Как правило, атомарные данные не подходят для прямого ввода в инструмент бизнес-аналитики. (Это возможно только в том случае, если эти инструменты поддерживают внутреннее моделирование данных.)
2. Почему в большинстве случаев простого агрегирования данных о событиях недостаточно
Иногда, когда мы анализируем данные о событиях, нам нужно только выполнить простую агрегацию над атомарными данными. Например, если мы отслеживаем событие play_video
и для каждого из этих событий отслеживаем категорию воспроизводимого видео, мы можем захотеть сравнить количество воспроизводимых видео по категориям по дням, чтобы увидеть, становятся ли определенные категории более популярными, возможно за счет других.Этот набор данных может выглядеть следующим образом:
имя_события | производный_tstamp | категория_видео | идентификатор_пользователя | ||
---|---|---|---|---|---|
play_video | 2016-03-16 23:10:04 | Комедия | 1 9095-16 2 : 10: 09 | Romance | 2 |
… | … | … | … |
Было бы просто выполнить агрегирование атомарных данных, доставленных Snowplow, используя следующий запрос :
выберите date_trunc ('день, производный_tstamp'), video_category, count (*) из атомарного.события, где event_name = 'video_play' группа по 1,2 порядка по 1,2
Однако в большинстве случаев простого агрегирования, подобного приведенному выше, недостаточно. Часто мы заинтересованы в ответах на более сложные вопросы, чем самая популярная категория видео. Такие вопросы, как:
- Как коэффициент конверсии зависит от канала привлечения?
- Какой момент в воронке продаж вызывает отток большинства пользователей? Это зависит от типа пользователя?
Для двух приведенных выше вопросов требуется нечто большее, чем простое агрегирование.Если мы хотим сравнить коэффициенты конверсии по каналам привлечения, мы должны взять событие на ранней стадии пути пользователя (пользователь, взаимодействующий с маркетинговым каналом) и связать его с событием, которое может или не может произойти позже у того же пользователя. путешествие (пользователь конвертировал). Только , а затем мы объединяем по пользователям (рассчитываем% пользователей, преобразованных) и разделяем их по каналам (рассчитываем% пользователей, преобразованных по каждому каналу), а не просто объединяем по базовым маркетинговым событиям и событиям конверсии.Чтобы повторить необходимые вычислительные шаги, нам нужно:
- Группировка событий по пользователям
- Для каждого пользователя определите канал сбора данных
- Для каждого пользователя определите, совершили ли они конверсию
- Сгруппируйте по пользователям по каналу сбора и для каждого канала вычислите агрегированный коэффициент конверсии
- Сравните коэффициент конверсии по каналам
Второй пример аналогичен: нам снова нужно агрегировать события по пользователям. Для каждого пользователя мы определяем все события, которые описывают, как они взаимодействовали с определенной воронкой.Затем для каждого пользователя мы классифицируем, как далеко он продвинулся по воронке / где в воронке «упал», в зависимости от потока событий. Затем мы агрегируем по пользователям, срезая по типам пользователей и этапам воронки, от которой каждый пользователь отказывается, чтобы сравнить показатели прерывания по этапам по типу пользователя.
Как должно быть ясно из обоих приведенных выше примеров, когда мы имеем дело с данными о событиях, мы обычно заинтересованы в понимании путешествий, которые состоят из серий событий. Следовательно, нам необходимо агрегировать события по этим переходам для создания таблиц, которые представляют единицы анализа более высокого порядка, такие как последовательности, рабочие процессы или сеансы.
Нас часто интересует последовательность событий и то, как события, произошедшие на более раннем этапе пути пользователя, влияют на вероятность определенных событий позже, в ходе тех же путешествий пользователя. Понимание этой последовательности не является чем-то, что выходит за рамки стандартного набора функций агрегирования, таких как COUNT
, SUM
, MAX
. Это может затруднить моделирование данных событий, потому что нетривиально выразить бизнес-логику, которую мы хотим применить к данным уровня событий на таких языках, как SQL, которые не были построены на моделировании данных событий.
Белая книга
Узнайте, как превратить необработанные данные в простые для использования наборы данных
Скачать сейчас3. Различные единицы анализа высшего порядка
Существует ряд различных единиц анализа, которые мы можем произвести с помощью нашей модели данных событий:
а.Моделирование макро-событий из микро-событий
(например, просмотров видео)«Макрособытия» состоят из микро-событий. Например, если мы являемся медиа-компанией, мы можем захотеть понять, как отдельные пользователи взаимодействуют с отдельными элементами видеоконтента. Пример потока событий для конкретного пользователя / элемента видеоконтента может выглядеть следующим образом:
В приведенном выше примере мы смоделировали поток событий, который описывает все микровзаимодействия пользователя с конкретным видео, в сводную таблицу, которая записывает одну строку данных для каждого видео, которое просматривал каждый пользователь.Обратите внимание, как сводная таблица включает:
- Информация о зрителе (в частности, идентификатор пользователя). Это означает, что мы можем легко сравнивать модели потребления между разными типами пользователей.
- Информация о видео (в частности, идентификатор видео). Это означает, что мы можем легко сравнивать модели потребления по разным типам видео.
- Информация, обобщающая взаимодействие пользователя с видео, т.е. завершил ли пользователь видео, поделился ли пользователь видео?
Эту сводную таблицу гораздо проще использовать, чем поток событий слева: мы можем выполнить простую группировку по и функции агрегирования для нее.грамм. сравнивать количество просмотров или уровень вовлеченности по типам пользователей и типам видео.
г. Моделирование рабочих процессов / единиц работы
например. воронки подписки, воронки покупкиЧасто мы заинтересованы в понимании последовательности событий, которые представляют то, как пользователь взаимодействует с конкретным рабочим процессом или работает для достижения определенной цели. Ниже показан пример взаимодействия пользователя с туристическим сайтом:
Наша сводная таблица объединяет данные на уровне событий до уровня отдельного рабочего процесса, где каждый рабочий процесс представляет собой путешествие, которое начинается с того, что пользователь выполняет поиск, и заканчивается, когда этот пользователь:
- Покупает один из результатов поиска, или
- выполняет другой поиск, или
- полностью выпадает.
Наша таблица агрегированных данных содержит много интересных данных, в том числе:
- Данные о начальном поиске, который был выполнен. Это данные, которые будут извлечены из ранних событий рабочего процесса.
- Данные о фактических результатах, с которыми взаимодействует пользователь: какие результаты были выбраны, где они были ранжированы в результатах.
- Какой результат (если есть) выбрал пользователь и продолжил покупать. Эти данные будут взяты из более поздних событий рабочего процесса.
Опять же, обратите внимание, как с смоделированными данными должно быть легко работать: мы можем легко:
- Сравните количество поисков по разным направлениям
- Сравните коэффициенты конверсии по направлениям
- Узнайте, будут ли выбраны и затем приобретены более высокие результаты рейтинга, и посмотреть, как это зависит от типа пользователя, местоположения и других ключевых данных. Pionts
г.Сеансы моделирования
очень распространено в цифровой аналитике, чтобы группировать последовательности событий в «сеансы», а затем агрегировать данные по сеансам. Типичные агрегаты будут включать данные по:
- Как был привлечен пользователь.
- Место начала сеанса (например, «целевая страница»).
- Как долго длился сеанс.
- Сколько стоила сессия. (Произошла ли транзакция? Какой доход от рекламы был получен? Были ли зарегистрированы какие-либо события конверсии?)
- Что пользователь пытался выполнить в сеансе.
Сеансы предназначены для представления непрерывных потоков активности пользователя
. В Интернете обычно определяют сеанс как завершающийся, когда проходит 30 минут, а события не происходят.
В Snowplow мы не большие поклонники концепции «сеанса»: часто определение того, что составляет сеанс, непонятно, и даже когда оно четко определено, оно часто не соответствует значимой единице работы из опыта пользователя: определение, основанное на 30-минутном тайм-ауте, имело смысл в конце 1990-х, когда пользователи взаимодействовали с одним веб-сайтом за раз, но имеет гораздо меньший смысл в многоэкранном мире с несколькими вкладками, где пользователи могут заниматься несколькими задачами одновременно. .
Тем не менее, идея разделения пользовательской активности на отдельные блоки непрерывной активности очень полезна. Как правило, мы предпочитаем группировать события вокруг конкретных конечных целей (т. Е. Рабочих процессов или «единиц работы»), как описано выше. Несмотря на наши оговорки, многие люди (включая многих наших пользователей) по-прежнему сеансируют свои данные.
Интересная альтернатива сеансам, распространенная среди компаний, производящих мобильные игры, — это агрегирование данных по пользователям по дням. (Отсюда и возникает знаменитая метрика «ежедневный активный пользователь».)
г. Моделирование пользователей
Множество полезных данных на уровне пользователя можно собрать путем агрегирования по всему потоку событий пользователя. Например, на основе всей этой истории мы могли бы:
- Разделите пользователей на разные когорты в зависимости от того, когда они были привлечены или как они были изначально приобретены.
- Разделите пользователей на разные поведенческие сегменты.
- Рассчитайте фактическую и прогнозируемую пожизненную ценность для отдельных пользователей на основе их поведения на данный момент.
e. Связывание определенных классов событий в пути пользователя вместе, чтобы понять влияние более ранних событий на более поздние события
Во всех приведенных выше примерах мы объединяли серии событий, которые происходят для отдельных пользователей, и группировали их таким образом, чтобы суммировать непрерывные потоки действий, где эти потоки были:
- Макро-события
- Рабочие процессы
- Сеансы
- Полные пути пользователя
Однако часто нас особенно интересуют определенные классы событий и мы хотим понять влияние, которое один класс событий оказывает на вероятность другого класса событий позже в пути пользователя, независимо от того, какие еще события произошли между ними.
Типичным примером этого типа анализа является моделирование атрибуции. Существует большой набор моделей атрибуции, которые снабжены данными, которые описывают:
- Какие маркетинговые каналы взаимодействовали с пользователем (первый класс событий, на ранних этапах пути пользователя), с
- Независимо от того, конвертировал ли пользователь впоследствии (второй класс событий, которые происходят позже в пути пользователя).
Этот тип моделирования данных проиллюстрирован ниже:
Существует несколько способов моделирования данных атрибуции.Для многих подходов требуются данные в формате, показанном выше: где мы собираем непрерывный поток активности пользователей с момента первого маркетингового касания, включая любые подробности о любых последующих маркетинговых контактах и событиях конверсии. После того, как данные были агрегированы, как указано выше, обычно просто:
- «Измерьте» влияние маркетингового канала на вероятность того, что пользователь совершит конверсию. . (Например, сравнивая коэффициенты конверсии для пользователей, которые взаимодействовали только с объявлением
abc
, с теми, кто взаимодействовал с объявлениемdef
, чтобы увидеть, какое дополнительное влияние на коэффициент конверсии оказывает взаимодействие сdef
.) - Примените модель атрибуции (т. Е. Присвоите различным маркетинговым акциям до конверсии ценность последующей конверсии) и выполните анализ для
4. Характеристики смоделированных данных
Теперь, когда мы рассмотрели несколько примеров сущностей более высокого порядка, которые вычисляются как часть процесса моделирования данных событий, мы можем провести некоторые наблюдения смоделированных данных относительно атомарных данных:
- Обычно это меньший объем (меньше строк данных).Хотя можно выводить смоделированные данные на уровне событий, на практике чаще выводятся агрегированные данные. Этот набор данных меньше, чем набор данных уровня события, поэтому запрос выполняется быстрее.
- Обычно в смоделированном наборе данных больше столбцов. Когда мы применяем бизнес-логику к базовым данным уровня события, мы обычно создаем новые способы классификации наших различных сущностей более высокого порядка. Если взять пример с пользователями, мы могли бы придумать несколько способов классификации наших пользователей на основе их поведения.Точно так же у нас может быть большое количество различных полей, описывающих макрособытие. Со временем мы разрабатываем новые способы категоризации сущностей, что приводит к появлению дополнительных столбцов в наших смоделированных таблицах данных по мере того, как мы придумываем новые способы разделения и разделения наших данных.
5. Работа с модельными данными
Надеюсь, из вышеизложенного должно быть ясно, что смоделированные данные намного проще работать, чем неизменяемые / атомарные данные. Тяжелая работа по определению последовательности событий, применению бизнес-логики и ее использованию для выполнения сложных агрегатов данных на уровне событий уже проделана, и мы получили набор данных, с которым легко работать.Чтобы использовать смоделированные данные для анализа, требуются только простые типы агрегирования по нашим объектам более высокого уровня (макрособытия, рабочие процессы, сеансы и пользователи).
Стоит отметить, что для большинства анализов мы не работаем только с одним смоделированным набором данных: мы обычно объединяем два или более вместе. Например, очень часто мы объединяем нашу таблицу пользователей с любой из других таблиц, чтобы разделить какую-либо метрику, которую мы изучаем, по типу пользователя.
Хотите узнать больше?
Это была первая из серии сообщений в блогах и рецептов по моделированию данных событий.Свяжитесь с нами, если у вас есть идеи по поводу того, что вы хотели бы, чтобы мы рассмотрели, или вопросы, на которые вы бы хотели, чтобы мы ответили.
Готовы попробовать снегоочиститель?
Собирайте точные и хорошо структурированные данные о событиях, опробовав технологию Snowplow в своей облачной среде
Структура и обработка модели событий
Стр. Из
НАПЕЧАТАНО ИЗ ОНЛАЙН-СТИПЕНДИИ ОКСФОРДА (oxford.universitypressscholarship.com). (c) Авторские права Oxford University Press, 2021.Все права защищены. Отдельный пользователь может распечатать одну главу монографии в формате PDF в OSO для личного использования. дата: 11 апреля 2021 г.
- Глава:
- (стр.16) 2 Структура и обработка модели событий
- Источник:
- Распознавание событий
- Автор (ы):
Габриэль А. Радванский
Джеффри М. Закс
- Издатель:
- Oxford University Press
В этой главе дается исчерпывающая теоретическая основа для познания событий. Это происходит в три этапа. Во-первых, он вводит центральную репрезентативную идею — модель событий. Он определяет модели событий как представления, которые люди используют для размышлений о событиях, объединяя информацию о людях, объектах, пространстве, времени, причинах, целях и т. Д. Он помещает понятие модели событий относительно связанных идей в когнитивной науке, таких как схемы, ментальные модели и модели ситуаций.Во-вторых, он описывает набор общих принципов событийных моделей. В-третьих, он описывает теорию того, как опыт кодируется в долговременной памяти и используется позже, модель горизонта событий.
Ключевые слова: ментальный, модели, модели событий, модели ситуаций, элементы модели, принципы модели, модель горизонта событий
Для получения доступа к полному тексту книг в рамках службы для получения стипендииOxford Online требуется подписка или покупка. Однако публичные пользователи могут свободно искать на сайте и просматривать аннотации и ключевые слова для каждой книги и главы.
Пожалуйста, подпишитесь или войдите, чтобы получить доступ к полному тексту.
Если вы считаете, что у вас должен быть доступ к этой книге, обратитесь к своему библиотекарю.
Для устранения неполадок, пожалуйста, проверьте наш FAQs , и если вы не можете найти там ответ, пожалуйста свяжитесь с нами .
Модель параллелизма и цикл событий — JavaScript
JavaScript имеет модель параллелизма, основанную на цикле событий , который отвечает за выполнение кода, сбор и обработку событий и выполнение подзадач в очереди.Эта модель сильно отличается от моделей на других языках, таких как C и Java.
В следующих разделах объясняется теоретическая модель. Современные движки JavaScript реализуют и сильно оптимизируют описанную семантику.
Визуальное представление
Стек
Вызов функций формирует стек из кадров .
function foo (b) {
пусть a = 10
вернуть a + b + 11
}
function bar (x) {
пусть y = 3
вернуть foo (x * y)
}
console.log (полоса (7))
При вызове bar
создается первый кадр, содержащий аргументы bar
и локальные переменные.Когда bar
вызывает foo
, создается второй фрейм, который помещается поверх первого, содержащего аргументы foo
и локальные переменные. Когда foo
возвращается, верхний элемент кадра выталкивается из стека (остается только кадр вызова bar
). Когда бар
возвращается, стопка пуста.
Куча
Объекты размещаются в куче, которая является просто именем для обозначения большой (в основном неструктурированной) области памяти.
Очередь
Среда выполнения JavaScript использует очередь сообщений, которая представляет собой список сообщений для обработки.Каждое сообщение имеет связанную функцию, которая вызывается для обработки сообщения.
В какой-то момент во время цикла обработки событий среда выполнения начинает обработку сообщений в очереди, начиная с самого старого. Для этого сообщение удаляется из очереди и вызывается соответствующая функция с сообщением в качестве входного параметра. Как всегда, при вызове функции создается новый фрейм стека для использования этой функцией.
Обработка функций продолжается до тех пор, пока стек снова не опустеет.Затем цикл обработки событий обработает следующее сообщение в очереди (если оно есть).
Цикл событий получил свое название из-за того, как он обычно реализуется, который обычно имеет вид:
while (queue.waitForMessage ()) {
queue.processNextMessage ()
}
queue.waitForMessage ()
синхронно ожидает прибытия сообщения (если оно еще не доступно и ожидает обработки).
«От выполнения до завершения»
Каждое сообщение обрабатывается полностью перед обработкой любого другого сообщения.
Это предлагает некоторые приятные свойства при рассмотрении вашей программы, в том числе тот факт, что всякий раз, когда функция запускается, она не может быть прервана и будет выполняться полностью до запуска любого другого кода (и может изменять данные, которыми манипулирует функция). Это отличается от C, например, где, если функция выполняется в потоке, она может быть остановлена в любой момент системой времени выполнения, чтобы запустить какой-либо другой код в другом потоке.
Обратной стороной этой модели является то, что если сообщение занимает слишком много времени для завершения, веб-приложение не может обрабатывать действия пользователя, такие как щелчок или прокрутка.Браузер смягчает это с помощью диалогового окна «Сценарий слишком долго запускается». Хорошая практика — сократить время обработки сообщения и, если возможно, разделить одно сообщение на несколько.
Добавление сообщений
В веб-браузерах сообщения добавляются каждый раз, когда происходит событие, и к нему прикреплен прослушиватель событий. Если слушателя нет, событие теряется. Таким образом, щелчок по элементу с обработчиком события щелчка добавит сообщение, как и любое другое событие.
Функция setTimeout
вызывается с двумя аргументами: сообщение для добавления в очередь и значение времени (необязательно; по умолчанию 0
).Значение времени представляет собой (минимальную) задержку, после которой сообщение будет фактически помещено в очередь. Если в очереди нет другого сообщения, а стек пуст, сообщение обрабатывается сразу после задержки. Однако, если есть сообщения, сообщение setTimeout
должно будет дождаться обработки других сообщений. По этой причине второй аргумент указывает минимальное время , а не гарантированное время .
Вот пример, демонстрирующий эту концепцию ( setTimeout
не запускается сразу после истечения его таймера):
const s = новая дата ().getSeconds ();
setTimeout (function () {
console.log («Выполнить после» + (new Date (). getSeconds () - s) + «секунды»);
}, 500)
while (true) {
if (new Date (). getSeconds () - s> = 2) {
console.log ("Хорошо, зациклено 2 секунды")
перерыв;
}
}
Нулевая задержка
Нулевая задержка на самом деле не означает, что обратный вызов сработает через ноль миллисекунд. Вызов setTimeout
с задержкой 0
(ноль) миллисекунд не выполняет функцию обратного вызова после заданного интервала.
Выполнение зависит от количества ожидающих задач в очереди. В приведенном ниже примере сообщение «это просто сообщение»
будет записано в консоль до того, как сообщение в обратном вызове будет обработано, потому что задержка составляет минимальное время , необходимое среде выполнения для обработки запроса. (не гарантированное время ).
По сути, setTimeout
должен дождаться завершения всего кода для сообщений в очереди, даже если вы указали конкретный лимит времени для своего setTimeout
.
(функция () {
console.log ('это начало');
setTimeout (функция cb () {
console.log ('Обратный вызов 1: это сообщение от обратного вызова');
});
console.log ('это просто сообщение');
setTimeout (функция cb1 () {
console.log ('Обратный вызов 2: это сообщение обратного вызова');
}, 0);
console.log ('это конец');
}) ();
Несколько сред выполнения взаимодействуют друг с другом
Веб-воркер или кросс-источник iframe
имеет свой собственный стек, кучу и очередь сообщений.Две разные среды выполнения могут взаимодействовать только посредством отправки сообщений с помощью метода postMessage
. Этот метод добавляет сообщение в другую среду выполнения, если последняя прослушивает события сообщения
.
Очень интересным свойством модели цикла событий является то, что JavaScript, в отличие от многих других языков, никогда не блокируется. Обработка ввода-вывода обычно выполняется через события и обратные вызовы, поэтому, когда приложение ожидает возврата запроса IndexedDB или запроса XHR, оно все еще может обрабатывать другие вещи, например ввод пользователя.
Существуют устаревшие исключения, такие как предупреждение ,
или синхронный XHR, но рекомендуется избегать их. Осторожно: исключения из исключения существуют (но обычно это ошибки реализации, а не что-либо еще).
Журнал аудита Модель событий
Реплицированный журнал аудита использует сложную модель событий, которая является самоуверенной, но гибкой. Первоклассная поддержка основных объектов, таких как Актеры, Цели и Группы, обеспечивает глубокую интеграцию в поиске, экспорте и нормализации.
Модель основного события
Актеры
Актер в приложении для работы с электронными таблицами — это любой аутентифицированный идентификатор, который взаимодействует с электронной таблицей. Сюда входят пользователи, которые вошли в систему и редактируют, удаляют и создают новые электронные таблицы. Он также включает любые токены API, которые программно выполняют операции с электронными таблицами.
Действия
Действия — это события, которые выполняли субъекты, которые следует проверять. В приложении-примере электронной таблицы некоторые из наиболее очевидных действий могут включать листов.создать
и лист. удалить
. Иногда важно создавать новые объекты для обертывания событий. Например, если пользователь редактирует электронную таблицу, и лист сохраняется каждую секунду, вы не хотите создавать событие sheet.update
каждую секунду. Оберните эти события в сеанс и создайте одно событие sheet.update
для всего сеанса редактирования.
Цели
Цели — это объекты в системе, над которыми выполняется действие. В приложении-примере электронной таблицы основной целью являются сами листы.Но есть и дополнительные, менее очевидные цели. Если в приложении листа реализована собственная система аутентификации, другой целью являются учетные записи пользователей. Например, когда пользователь меняет свой пароль, он должен создать событие аудита для пароля .update
.
CRUD
В большинстве случаев полезно фильтровать событие аудита по тому, было ли проверяемое действие событием Create, Read, Update или Delete (CRUD). Фактически, Реплицированный журнал аудита по умолчанию отфильтровывает события «Чтение».Эти события чтения, как правило, менее интересны, чем события создания, обновления и удаления, которые представляют собой изменение информации. Поскольку такого рода категории событий очень полезны, они по умолчанию встроены в модель данных и поддерживаются как первоклассные ключи фильтрации.
Необработанный вид
В дополнение к удобочитаемому представлению данных пользовательский интерфейс должен иметь возможность отображать необработанные данные каждого события в системе. Служба реплицированного журнала аудита реализует это во встроенных средствах просмотра.
Расширение модели с помощью настраиваемых полей
Хотя основная модель данных оказалась очень эффективной, хороший журнал аудита также должен позволять настраивать поля и расширять базовый API. На изображении выше показан пример использования настраиваемых полей на цели
с помощью ключа fields для включения таких данных, как
expiration_date
и channel_name
.
- документация TradeLens
Авторские права IBM Corporation и GTD Solution Inc.2018, 2021
Чтобы правильно сопоставить события, триггеры, действия и данные внутренней системы организации, важно понимать модель событий платформы TradeLens. Следует учитывать пять основных групп событий:
- Консигнационные события
- События, связанные с транспортным оборудованием
- События отгрузки
- События Транспортного плана
- Общие события
Примечание. События для действий с документами отправляются на платформу автоматически и внутренне службой обмена документами.
Эти группы можно найти в API публикации событий в Swagger. Вы можете видеть ввод, который может принимать каждый API, и то, что возвращается. Для получения последней информации см. Раздел Руководства пользователя API для URL-адресов Swagger.
Консигнация, транспортное оборудование и события отгрузки
Платформа основана на простой логической модели данных с тремя связанными классами: Консигнации, Транспортное оборудование и Отгрузки. Основная цель модели событий платформы состоит в том, чтобы запускать и отслеживать отправления, транспортное оборудование (контейнеры) и отгрузки, одновременно управляя идентификаторами и отношениями между ними.Платформа TradeLens является гибкой и позволяет перевозить партию груза в нескольких транспортных средствах (вместе с другими партиями), а транспортное оборудование - частью нескольких партий. Например, партия shoes_from_company1 может быть разделена между несколькими транспортными средствами, и в некотором транспортном оборудовании также может быть обувь shoes_from_company2. Отгрузки и отправки также могут иметь отношение "многие ко многим".
Все события, перечисленные в таблице 1 ниже, являются событиями POST, и если для одного и того же события выполнено несколько сообщений (с одними и теми же идентификаторами, например, номер бронирования перевозчика и номер коносамента для груза, или номер бронирования перевозчика и номер оборудования для транспортное оборудование) информация будет обновляться.Например, если POST ... / consignments выполняется с частичными BookingData, другой POST ... / consignments может быть выполнен с полными BookingData, как только они станут доступны, или с новыми BookingData, если они изменились. Это дает преимущество, поскольку от провайдеров не требуется поддерживать состояние данных, поскольку POST приводит к обновлению существующих данных, если отправлено событие, совпадающее с идентификатором (ами) предыдущего события. Обновление груза не заменяет все, некоторые атрибуты сохраняются, например: добавленные стороны, добавленные ссылки, отношения с транспортным оборудованием и отношения с грузами.
Примечания к таблице 1: События ниже не являются полным списком доступных API. Для получения последней информации см. Раздел Руководства пользователя API для URL-адресов Swagger. Ennn - это ссылка на предыдущую структуру API, и не все API имеют ссылку на Ennn.
Таблица 1 - События отправки, транспортного оборудования и отгрузки
Категория | Событие |
---|---|
Партии | ЗАПИСЬ .../ consignments - Начать отслеживание отправки (E468) |
POST ... / consignments / consignmentSubcontracted - добавлен субподряд на консигнацию (E705) | |
POST ... / consignments / partyAdded - Добавлена видимость отправления (E001) | |
POST ... / consignments / partyListUpdated - видимость отправления обновлена (E002) | |
POST ... / consignments / partyRemoved - видимость отправления удалена (E003) | |
ПОСТ... / consignments / referenceAdded - Добавлен номер партии (E422) | |
POST ... / consignments / referenceListUpdated - обновлен справочный список партий товаров | |
POST ... / consignments / referenceRemoved - Ссылка на накладную удалена | |
POST ... / consignments / statusUpdated - Статус отправки обновлен (E707) | |
POST ... / consignments / transportEquipmentRemoved - Транспортное оборудование удалено | |
Партии грузов - Ассоциация транспортного оборудования | ПОСТ.../transportEquipment - Начать отслеживание транспортного оборудования (E278), номер бронирования перевозчика является обязательным полем и устанавливает связь между грузом и транспортным оборудованием. |
Транспортное оборудование | POST ... / transportEquipment - Начать отслеживание транспортного оборудования (E278) |
POST ... / transportEquipment / cargoTypeUpdated - обновлен тип груза транспортного оборудования (E314) | |
ПОСТ... / transportEquipment / partyAdded - Добавлен обзор транспортного оборудования (E550) | |
POST ... / transportEquipment / partyListUpdated - обновлена видимость транспортного оборудования (E551) | |
POST ... / transportEquipment / partyRemoved - Видимость транспортного оборудования удалена (E552) | |
POST ... / transportEquipment / referenceAdded - Добавлена ссылка на транспортное оборудование (E469) | |
ПОСТ... / transportEquipment / referenceListUpdated - Обновлен справочный список транспортного оборудования | |
POST ... / transportEquipment / referenceRemoved - Ссылка на транспортное оборудование удалена | |
Отгрузки | POST ... / отгрузки - Отгрузка создана |
POST ... / shippingments / consignmentAdded - добавлена партия груза | |
POST ... / shippingments / partyAdded - Добавлена партия отгрузки | |
ПОСТ... / shipments / partyListUpdated - Список отгрузки обновлен | |
POST ... / shippingments / partyRemoved - Отгрузочная партия удалена | |
POST ... / shippingments / referenceAdded - Добавлен номер отгрузки | |
POST ... / shippingments / referenceListUpdated - Обновлен справочный список отгрузки | |
POST ... / shippingments / referenceRemoved - Ссылка на отгрузку удалена | |
Отгрузки - Транспортное объединение | ПОСТ... / отгрузки - Отправление создано (если указан consignmentIdentifier) |
POST ... / shippingments / consignmentAdded - добавлена партия груза |
Транспортное оборудование
Контейнеры - это перемещаемые единицы, и подавляющее большинство событий происходит на уровне контейнера (например, «actualContainerStuffed», «actualGateIn», «actualDischargeFromVessel» и т. Д.). Платформа TradeLens использует транспортное оборудование (TE) для отслеживания перемещения грузов контейнера из одного места в другое.Важно отметить, что термин «контейнер» имеет в виду весьма общий смысл и, наряду с интермодальными транспортными контейнерами всех размеров, включает картонные коробки, состоящие из отдельных единиц, и все, что между ними.
Физический контейнер со временем участвует в нескольких операциях транспортного оборудования. Важно отметить, что транспортное оборудование может быть создано до того, как станет известен точный физический контейнер. Планирование консигнации или отгрузки чаще всего происходит до того, как физический контейнер будет выбран из штабеля.
Отслеживание транспортного оборудования инициируется событием POST ... / transportEquipment - запускает отслеживание транспортного оборудования . Транспортное оборудование должно быть создано только после того, как станет известен фактический физический идентификатор (PID), поскольку equipmentNumber является обязательным полем и представляет собой PID. Когда вызывается это событие, создается, но не возвращается transportEquipmentId (TEID). TEID - это уникальный идентификатор, который платформа назначает транспортному оборудованию, которое может использоваться (например, equipmentNumber) для публикации или запроса событий для контейнера.TEID можно получить с помощью запросов (например, POST ... / tradeObjectIds ) в API торговых объектов, см. Раздел Руководства пользователя API.
POST ... / transportEquipment - start слежение за транспортным оборудованием также принимает некоторые обязательные и необязательные поля в качестве входных данных, которые можно удобно использовать во время отслеживания. Примечание. Ниже описаны не все поля ввода. См. Раздел «Руководство пользователя API».
carrierBookingNumber - это номер бронирования у перевозчика.Когда договор перевозки груза заключен с перевозчиком (морским транспортом, грузовиком, баржей, железной дорогой или другим), отправлению присваивается номер бронирования; это номер бронирования перевозчика. Номер бронирования перевозчика используется для сопоставления входящих событий с грузом и транспортным оборудованием. Номер бронирования перевозчика должен быть уникальным идентификатором во всей отрасли судоходства. Номер бронирования перевозчика является обязательным полем и устанавливает связь между отправкой и транспортным оборудованием.
оборудование Номер - это фактический идентификатор, напечатанный на транспортном оборудовании. Таким образом, это значение может быть установлено только после выбора поля. Один и тот же физический контейнер со временем участвует в нескольких транспортных средствах, но может (по определению) быть только частью одного транспортного оборудования одновременно.
transferFromConsignment позволяет издателю перемещать транспортное оборудование из одной партии в другую.Идентификаторы, содержащиеся в поле, определяют партию, из которой перевозится транспортное оборудование. Идентификаторы, указанные в основной части события, описывают партию, из которой перемещается транспортное оборудование.
correlationId - дополнительный идентификатор, который может передаваться вместе с событиями. CorrelationId может использоваться по мере необходимости, например, для установления прослеживаемости. Обратите внимание, что все подписчики также получат correlationId.Все события платформы могут быть предоставлены с помощью correlationIds, поэтому мы не будем повторять его описание до конца этого документа.
Здесь подробно описаны несколько других часто используемых событий для транспортного оборудования. Полный список см. В разделе «Руководство пользователя API» для получения дополнительной информации и ссылки на URL-адреса Swagger.
POST ... / transportEquipment / cargoTypeUpdated - транспортное оборудование тип груза обновлен. устанавливает или заменяет тип груза. Значение представляет собой код Гармонизированной системы 6 (HS6).
POST ... / transportEquipment / referenceAdded - Ссылка на транспортное оборудование добавлена комплектов или заменяет ссылку (а) транспортного оборудования (TERef) на транспортное оборудование. TERef предназначен для представления вашей внутренней системой представления этого конкретного транспортного оборудования (обратите внимание на отличие от физического контейнера, который также может иметь место внутри вашей системы). Если предоставляется TERef, тогда транспортное оборудование может быть впоследствии взаимозаменяемо идентифицировано TEID или TERef.Обратите внимание, что можно добавить несколько TERef, если это целесообразно, что позволяет ссылаться на один и тот же TE с помощью разных внешних идентификаторов, например, внутренней ссылки общего перевозчика, не владеющего судном (NVOCC) для перевозки. Номер оборудования является предпочтительным идентификатором транспортного оборудования. Предупреждение: платформа TradeLens не может гарантировать уникальность TERef, поэтому используйте их с осторожностью. Рекомендуется добавить к своему фактическому идентификатору префикс некоторой нечетной статической строки, чтобы избежать конфликтов с использованием TERef другими участниками платформы.
POST ... / transportEquipment / partyAdded - Добавлена видимость транспортного оборудования. связывает транспортное оборудование с другой организацией. Перевозчики могут использовать это, чтобы обеспечить видимость транспортного оборудования своим деловым партнерам. Этот API предоставляет организации возможность просматривать транспортное оборудование, его события и любые документы, связанные с TE, на основе разрешений для partyRole. Разрешения для документов подробно описаны в Спецификации обмена данными TradeLens и в разделе «Совместное использование документов».
Отправления
Груз представляет собой связь между тем, что транспортируется, и тем, как это транспортируется (частичный, полный или несколько контейнеров).
С точки зрения платформы TradeLens, груз имеет несколько важных атрибутов, а также функционирует как агрегатор для транспортного оборудования; Это означает, что некоторые события, которые отправляются в партию и имеют отношение к контейнерам, приведут к отправке платформой этого события на все транспортное оборудование, связанное с этой партией.Точно так же подписка на груз направит все события транспортного оборудования, связанные с этим грузом, в конечную точку подписки. Это удобство как с точки зрения количества требуемых вызовов API, так и с точки зрения того, что участники могут работать с общим идентификатором.
Отправления устанавливаются на платформу по событию POST ... / отправления - запускают отслеживание отправлений . Когда вызывается это событие, создается, но не возвращается consignmentId (CID).CID - это уникальный идентификатор, который платформа назначает для партии товара, который можно использовать для публикации или запроса событий для партии. CID можно получить с помощью запросов в API торговых объектов (например, POST ... / tradeObjectIds или GET ... / consignments ), см. Раздел Руководства пользователя API.
POST ... / consignments - начать отслеживание отправки также принимает некоторые обязательные и необязательные поля в качестве входных данных, которые можно удобно использовать во время отслеживания.Примечание. Ниже описаны не все поля ввода. См. Раздел «Руководство пользователя API».
carrierBookingNumber - это номер бронирования у перевозчика. Когда договор перевозки груза заключен с перевозчиком (морским транспортом, грузовиком, баржей, железной дорогой или другим), отправлению присваивается номер бронирования; это номер бронирования перевозчика. Номер бронирования перевозчика используется для сопоставления входящих событий с грузом и транспортным оборудованием. Номер бронирования перевозчика должен быть уникальным идентификатором во всей отрасли судоходства.
billOfLadingNumber - номер коносамента для отправки. Комбинация номера бронирования перевозчика и номера коносамента однозначно идентифицирует партию. Например, у вас может быть два отправления с одним и тем же номером бронирования перевозчика, но с разными номерами коносамента; это разделенная партия.
bookingData не является обязательным и содержит информацию о бронировании для отправки. Дополнительные сообщения для того же номера бронирования перевозчика заменяют bookingData.Полный набор bookingData должен предоставляться каждый раз при отправке POST. Нет слияния информации из предыдущего POST с новым POST.
Здесь подробно описаны несколько других часто используемых событий для грузов. Полный список см. В разделе «Руководство пользователя API» для получения дополнительной информации и ссылки на URL-адреса Swagger.
POST ... / consignments / referenceAdded - Добавлен номер партии груза устанавливает или заменяет ссылку (и) накладной (CRef).Это также позволяет вам добавить несколько consignmentRefs, если это возможно, чтобы на одну и ту же партию можно было ссылаться с помощью разных иностранных идентификаторов. CRef может использоваться для установления идентификатора между сторонами (например, грузоотправителем и перевозчиком), и этот атрибут предназначен для обеспечения возможности использования этого уже известного идентификатора для отслеживания груза на платформе. Номер бронирования перевозчика является предпочтительным идентификатором для отправки (или номер бронирования перевозчика и номер коносамента, если отправка была разделена).Предупреждение: Как и в случае с TERef, платформа TradeLens не может гарантировать уникальность CRef.
POST ... / consignments / partyAdded - добавлена видимость отправления связывает отправку с другой организацией. Перевозчики могут использовать это, чтобы обеспечить видимость груза своим деловым партнерам. Этот API предоставляет организации возможность просматривать груз, его события и любые документы, связанные с грузом, на основе разрешений для partyRole.Разрешения для документов подробно описаны в Спецификации обмена данными TradeLens и в разделе «Совместное использование документов».
Ассоциация грузоотправителей с транспортным оборудованием
Чтобы связать транспортное оборудование с грузом, используйте POST ... / transportEquipment - Запустите отслеживание транспортного оборудования , чтобы установить взаимосвязь между грузом и транспортным оборудованием. Номер бронирования перевозчика является обязательным полем и устанавливает связь между отправкой и транспортным оборудованием.Если организации требуется видимость партии груза, она может быть добавлена в качестве стороны к партии груза с помощью POST ... / consignments / partyAdded - добавлена видимость партии груза событие, чтобы связать партию и ее транспортное оборудование с организацией или деловой партнер. Это дает организации возможность просматривать груз, его транспортное оборудование и документы (связанные с грузом), которые у них есть разрешение на загрузку, скачивание, редактирование и просмотр в зависимости от их partyRole.Разрешения для документов подробно описаны в Спецификации обмена данными TradeLens и в разделе «Совместное использование документов». Если организации требуется видимость транспортного оборудования, она может быть добавлена в качестве стороны к транспортному оборудованию с помощью POST ... / transportEquipment / partyAdded - Добавлена видимость транспортного оборудования . Этот API предоставляет организации возможность просматривать транспортное оборудование, его события и любые документы, связанные с TE, на основе разрешений для partyRole.
Иерархия грузов
Груз может быть частью иерархии грузов. Партия может иметь несколько субпоставок (дочерних партий), а субпоставка может иметь несколько родительских партий. Количество уровней в иерархии грузовых отправлений не ограничено. Партия и субподряд связаны с помощью POST ... / consignments / consignmentSubcontracted Добавлен субподряд консигнации API, и это создает иерархию.
POST ... / consignments / consignmentSubcontracted Добавлен договор субподряда на консигнацию можно использовать для связывания отправляемой на субподряд партии груза как дочерней по отношению к другой партии. API требует либо consignmentId, либо carrierBookingNumber для идентификации родительского груза. API требует либо subcontractId, либо subcontractCBN и subcontractBOL для идентификации дочерней партии груза.
У каждой партии товара есть собственный список сторон и ролей, которые управляют видимостью груза и разрешениями на документы.Нет никаких производных от родительских или дочерних партий. Доступ к партии товаров, ее данным, событиям и документам определяется ее собственными сторонами. Создателю отправки необходимо позвонить по номеру POST ... / consignments / partyAdded - Добавлена видимость отправления . У вас может быть доступ к партии товаров на определенном уровне иерархии, но это не дает вам доступа к родительским или дочерним партиям в иерархии, если вы не были добавлены в качестве стороны создателем родительских или дочерних партий.Доступ должен быть явно предоставлен с помощью partyAdded.
Доступ к событиям из других уровней иерархии осуществляется по следующим правилам:
- Все события от транспортного оборудования (TE) идут ко всем партиям, связанным с TE; например, фактический сброс с судна из TE также виден на связанных с ним грузах.
- Только запланированные события из дочерней партии поступают в родительскую партию. Общие события, события документации и административные события не передаются родительским партиям.
Примечание: функция иерархии грузовых отправлений будет и дальше улучшаться. На данный момент существуют некоторые ограничения, такие как необходимость установления иерархии перед подключением транспортного оборудования.
См. Раздел просмотра «Иерархия консигнации» для примера иерархии консигнации в пользовательском интерфейсе диспетчера отгрузок.
Отгрузки
Торговый объект отгрузки представляет собой доставку проданных товаров от продавца к покупателю. Отправления служат пакетом торговых документов, обеспечивают видимость хода транспортировки и позволяют отслеживать соответствующие ссылки на отправку.
В соответствии с моделью СЕФАКТ ООН, отгрузки являются основным объектом TradeLens для торговых аспектов, отражая груз, который является основополагающим объектом для транспорта и логистики.
Официальное определение СЕФАКТ ООН: Груз представляет собой идентифицируемую коллекцию одного или нескольких предметов торговли (доступных для перевозки), транспортируемых вместе от Продавца (первоначального отправителя / грузоотправителя) к покупателю (конечному / конечному получателю):
- Отгрузка может быть предназначена только для одного покупателя.
- Отгрузка может состоять из некоторых или всех предметов торговли из одного или нескольких заказов на продажу.
- Отправление может иметь только один таможенный UCR.
- Груз может составлять часть или всю партию или может транспортироваться разными партиями.
TradeLens не предназначен для использования в качестве системы управления заказами на закупку. TradeLens не поддерживает подробное управление грузами (на уровне строк заказа / артикула). Однако объект торговли отгрузкой поддерживает отслеживание отгрузки на основе ссылочных номеров PO / SKU (и многих других типов ссылок).Это делает данные доступными для поиска и упрощает загрузку данных TradeLens в платформы ERP (планирование ресурсов предприятия) и SCM (управление цепочками поставок).
Создание отправки
Организации типа Cargo Interest и 3PL Agent могут создавать отправки с помощью POST ... / shipping - Создана отправка Event Publish API. Вызывающий должен указать ссылку на отгрузку, которая включает ссылку и тип. Ссылка и тип должны быть уникальными в рамках данного владельца ссылки.Список допустимых типов можно найти с помощью GET ... / referenceTypes - Получить все ссылочные типы Platform Constants API. См. Раздел «Руководство пользователя API» для получения дополнительной информации об API. Если consignmentIdentifier предоставлен в сообщении POST ... / shipping - shipment created Event Publish API, то отправление будет связано с грузом (грузами).
Связь отгрузки с консигнацией
Логистическое движение проданных товаров осуществляется через одну или несколько партий.В самом простом сценарии груз перемещается одной партией. Однако во многих случаях существует связь «многие ко многим» между отгрузками и партиями, отражающая то, как товары консолидируются в сценариях LCL (меньше, чем загрузка контейнера). Отгрузки могут охватывать несколько грузов, например, внутренние и морские перевозки в сценариях торговых перевозок. Таким образом, отгрузки могут группировать «родственные» партии (сценарии торговых перевозок), которые в остальном не связаны напрямую. Если consignmentIdentifier указан в сообщении POST.../shipments - Создано отправление Event Publish API, затем отправление будет связано с грузом (ами). В противном случае POST ... / shipments / consignmentAdded - Отгрузка добавлена партия товара API публикации событий свяжет отгрузку с грузом. Если организации требуется видимость груза, организация может быть добавлена в качестве стороны к партии груза с помощью POST ... / consignments / partyAdded - Добавлена видимость отправления Event Publish API.
Обмен данными между сторонами-отправителями
Торговые и транспортные стороны часто различаются, поэтому с точки зрения обмена данными важно проводить это различие. Торговый объект отгрузки предоставляет объект, который торговые партнеры, в частности Продавец и Покупатель, могут использовать для обмена данными и документами. POST ... / shipments / partyAdded - Добавлена партия отгрузки и POST ... / shipments / partyListUpdated - Список отгрузки обновлен. API публикации событий можно использовать для добавления сторон в отгрузка.Разрешения для документов подробно описаны в Спецификации обмена данными TradeLens и в разделе «Совместное использование документов».
Обмен данными с таможенными органами
Данные об отправке, особенно некоторые документы, актуальны для обмена с таможенными органами. В транспортном пространстве (на основе консигнации) TradeLens определяет соответствующие таможенные органы из транспортного плана. Это не применимо к перевозкам из-за слабой связи с транспортным уровнем. Скорее, таможенные органы связаны с отгрузкой через два атрибута отгрузки:
- originCountry - страна происхождения, откуда осуществляется отправка.
- destinationCountry - страна конечного назначения для данной посылки.
Этот подход позволяет сторонам, осуществляющим отгрузку, подготовить полный комплект документов, прежде чем передать их в соответствующие органы.
См. В разделе «Менеджер отгрузки» пример отгрузки в пользовательском интерфейсе менеджера отгрузки.
Транспортные события
Транспортные события предназначены для информирования о запланированном рабочем маршруте и о том, как он продвигается до завершения. Каждое событие представляет собой важный шаг, который должен произойти, чтобы транспортное оборудование могло добраться от пункта отправления до пункта назначения.
Модель транспортного события основана на логической модели, цель которой:
- Быть универсальным, широко применимым во всей цепочке поставок. Он не предназначен для подробного описания конкретных областей.
- Позволяет разработчикам программного обеспечения легко понимать, сопоставлять и исходить, а также кодировать против.
- Используйте отраслевые термины, если таковые существуют.
Модель транспортного события следует этому шаблону:
- Каждый тип этапа состоит из четырех различных событий: погрузка, вылет, прибытие и разгрузка.
- Эти четыре отражены в запланированном, оценочном и фактическом.
- Представлено четыре типа веток: грузовик, рельс, баржа и океанское судно.
Единственным исключением из приведенной выше логики является загрузка (загрузка транспортного оборудования) и зачистка (разгрузка транспортного оборудования). Поскольку работы по загрузке или разборке начинаются и заканчиваются в одном и том же месте, они не создают событий прибытия и отправления (см. Таблицы 3, 4 и 5 ниже). События набивки и разборки по-прежнему включаются в состав транспортных событий, поскольку они представляют собой физические, трудоемкие задачи, которые необходимо учитывать при планировании партии товара.
Транспортные события состоят из трех категорий событий:
Запланированные события обеспечивают запланированный маршрут транспортного оборудования (или партии груза). Предполагаемые события показывают предполагаемое время, в которое что-то произойдет с транспортным оборудованием. Фактические события указывают на то, что произошло с транспортным оборудованием.
Транспортный владелец (поставщик транспортных услуг) партии публикует транспортный план (планируемые события). Другие участники могут предоставить обновленные оценочные и фактические события.Рассмотрим, например, случай, когда транспортный план, опубликованный перевозчиком, включает участок грузовика с запланированным отправлением и прибытием. Водитель грузовика использует устройство GPS для расчета кратчайшего маршрута к терминалу, а также постоянно обновляет расчетное время прибытия (расчетное время прибытия). Эти ETA являются предполагаемыми событиями и могут быть опубликованы на платформе, указывая на терминал, когда прибудет грузовик. Эти оценки не изменяют транспортный план, принадлежащий владельцу транспорта (перевозчику).И наоборот, если дальнобойщик прибывает на терминал с опозданием, транспортное оборудование, возможно, придется переместить на другое судно или рейс, и это потребует от перевозчика изменения плана транспортировки.
Запланированные события могут быть опубликованы владельцем транспорта без необходимости анализа различий с ранее опубликованными запланированными событиями, что означает, что владельцу транспорта не нужно поддерживать данные о состоянии для транспортного плана. Запланированные события должны включать поле transportPlanIssuanceTime8601, которое является меткой времени плана транспортировки.«TransportPlanIssuanceTime8601» используется для группировки запланированных событий, составляющих весь план транспортировки. Это позволяет перевозчикам и другим поставщикам транспортных услуг легко публиковать самый последний план перевозок. Подписчики могут группировать запланированные события по метке времени транспортного плана «transportPlanIssuanceTime8601» и считать действительной только группу с самой новой меткой времени. Точно так же TradeLens Query API будет рассматривать новейшую группу запланированных событий с тем же «transportPlanIssuanceTime8601» как новый план.
Платформа TradeLens рассчитывает динамический маршрут для транспортного оборудования (TE) или партии груза на основе представленных запланированных событий. Используя запланированные события, платформа определяет место проведения мероприятия. Динамически рассчитанный маршрут используется для определения абонентов порта и страны, которые получают события для TE. Как упоминалось ранее, запланированные мероприятия могут быть представлены партиям, и они будут определять план транспортировки партии. План транспортировки партии может отличаться от плана транспортировки ее ТЭ.Это связано с тем, что запланированные события, опубликованные для партии груза, пересылаются вниз ее TE, но запланированные события, опубликованные в TE, не пересылаются до ее партии, поскольку отдельное TE внутри партии может пройти другой путь, чем остальная часть партии ( или другое TE в составе груза). Если план для всей партии груза изменяется, то перевозчик (или владелец партии) должен представить партии новый набор запланированных событий. Если у TE уже есть конкретный план TE, новые планы, отправленные в партию, не пересылаются в TE.Обратите внимание, что транспортный план отличается от маршрута. План транспортировки - это список мест (по порядку), через которые будет проходить груз или TE. Маршрут - это список подписок порта и страны, которые должны получать события для груза или TE. Маршрут груза - это сумма маршрутов всех его TE. То есть, если у вас есть партия с двумя TE, одна из которых идет в порты A и B, а вторая - в порты A и C, события для этой партии перейдут в подписки портов A, B и C.Платформа использует сумму маршрутов TE, потому что разные TE в партии товаров могут иметь разный набор запланированных событий, но все подписчики должны получать события уровня отправки, такие как событие consignmentCreated.
Сводка транспортного плана - это конструкция, которую создают запросы из Trade Object API (и ее также можно просмотреть через пользовательский интерфейс диспетчера доставки) на основе полученных событий. Он включает список транспортных событий, упорядоченных по времени их возникновения «eventOccurrenceTime8601».Вместе эти события указывают на серию локаций, которые каждое транспортное оборудование будет перемещать или перемещалось во время своего путешествия, и все, что с ним происходило на этом пути. См. Руководство пользователя API для получения подробной информации об API торговых объектов и возвращаемых данных.
Матрица приоритетов событий
TradeLens применяет приоритет события (eventPriority) к транспортным событиям (оценочным и фактическим) и общим событиям. Это позволяет TradeLens группировать события одного типа, которые происходят в одном месте, и отображать (или возвращать) событие с наивысшим приоритетом, доступное в то время.Это гарантирует предоставление наиболее надежных данных для контрольных событий в зависимости от того, кто является поставщиком данных, и доступности событий в то время, когда события отправляются на веб-перехватчики подписки или когда они запрашиваются через API торговых объектов или отображается в представлении «Текущий прогресс» пользовательского интерфейса.
Например, при условии, что используется одно и то же местоположение и одинаковый fullStatus (Full или Empty): если Ocean Carrier публикует Actual Gate In, для события будет установлен приоритет события 5.Если оператор терминала публикует фактический выход на посадку, приоритет события будет установлен на 1. Если оператор грузовика публикует фактический выход на посадку, приоритет события будет установлен на 3. Событие с наивысшим приоритетом от морского перевозчика будет отображаться в представление текущего выполнения пользовательского интерфейса для транспортного оборудования. Дополнительные источники событий от оператора терминала и оператора грузовика скрыты, но доступны по ссылке «Дополнительные источники» в представлении «Текущий ход выполнения».
Для просмотра матрицы приоритетов вы можете загрузить Event_Priority_Matrix.таблица xlsx. В электронной таблице есть две вкладки: первая содержит события с разбивкой по одному и тому же типу / категории событий, а вторая вкладка представляет собой сводный список для всех событий.
Если вы просматриваете план транспортировки из пользовательского интерфейса диспетчера отгрузок, таблица 2 может помочь вам понять фильтрацию. Примечание. В таблице 2 показаны только те варианты выбора («Текущий ход выполнения» / «План транспортировки» / «Все типы событий»), которые относятся к плану транспортировки.
Таблица 2 - Текущий прогресс / Транспортный план / Все типы событий с последними событиями / Все события
По умолчанию (Последний) | Все | |
---|---|---|
Текущий прогресс | сгруппированы по местоположению - наивысший приоритет Фактический и / или Предполагаемый, последний запланированный | н / д |
Транспортный план | ТолькоЗапланированные события (без оценок или фактов), сгруппированные по текущей версии транспортного плана и любым предыдущим версиям (версия 1, версия 2 и т. Д.)) транспортного плана | н / д |
Все типы событий | последние запланированные, последние оценочные, все фактические данные, последние другие события, не связанные с ТП | всего отправлено событий |
Эта логика соответствует событиям, перечисленным в таблицах 3, 4 и 5 ниже. Для получения последней информации см. API публикации событий в разделе руководства пользователя API.
(Примечание: Ennn - это ссылка на предыдущую структуру API, и не все API имеют ссылку на Ennn.)
Таблица 3 - Транспортные мероприятия - запланированные
Вид ноги \ деятельность | Загрузка | Отправление | Прибытие | Разряд |
---|---|---|---|---|
Грузовик | запланированоЗагружено на грузовике (E427) | ПланируетсяGateOut (E302) | ПланируетсяGateIn (E246) | запланированоDischargeFromTruck (E450) |
Поезд | запланированоLoadedOnRail (E451) | запланированоRailDeparture (E455) | запланированоRailArrival (E403) | запланированоDischargeFromRail (E459) |
Баржа | запланированоЗагруженоOnBarge (E458) | запланированоБаржаВыезд (E440) | запланированоБаржаПрибытие (E410) | запланированоDischargeFromBarge (E420) |
Океан | запланированоЗагружено на судне (E457) | ПланируетсяСудно Отправление (E034) | ПланируетсяСудно Прибытие (E310) | запланированоDischargeFromVessel (E456) |
Набивка | ЗапланированоНачинка (E423) | – | – | запланированоContainerStuffed (E428) |
Зачистка | запланированоStrippingStarted (E418) | – | – | запланированоContainerStripped (E406) |
Таблица 4 - Транспортные события - оценка
Вид ноги \ деятельность | Загрузка | Отправление | Прибытие | Разряд |
---|---|---|---|---|
Грузовик | оценкаLoadedOnTruck | ориентировочно GateOut | оценкаGateIn | расчетный |
Поезд | оценочноLoadedOnRail | Расчетная Железная Дорога Отправление | рельс Прибытие | расчетныйDischargeFromRail |
Баржа | оценочноLoadedOnBarge | оценкаБаржаВыезд | оценкаБаржаПрибытие | расчетный |
Океан | оценкаLoadedOnVessel | расчетное судноВыезд | Судно Прибытие | расчетный |
Набивка | оценочных начинкиНачало | – | – | оценочно |
Зачистка | оценочноStrippingStarted | – | – | оценкаContainerStripped |
Таблица 5 - Транспортные события - фактические
Вид ноги \ деятельность | Загрузка | Отправление | Прибытие | Разряд |
---|---|---|---|---|
Грузовик | ActualLoadedOnTruck (E212) | актуально GateOut (E268) | актуальный шлюз (E217) | фактическая выгрузка из грузовика (E461) |
Поезд | актуально загруженоOnRail (E308) | актуальныйRailDeparture (E421) | актуальныйRailArrival (E405) | фактический сброс от рельса (E432) |
Баржа | актуально загруженоOnBarge (E460) | актуальная Баржа Вылет (E404) | актуальнаяБаржаПрибытие (E414) | актуальныйDischargeFromBarge (E454) |
Океан | актуально загружено на сосуд (E452) | Фактический Судно Вылет (E025) | актуально Судно Прибытие (E280) | Фактическая Разгрузка от резервуара (E453) |
Набивка | актуально StuffingStarted (E416) | – | – | актуальныйContainerStuffed (E229) |
Зачистка | актуальноStrippingStarted (E411) | – | – | ActualContainerStripped (E021) |
Обратите внимание, что все события транспортного плана относятся к транспортному оборудованию, а не к грузам.Это связано с тем, что транспортное оборудование - это то, что загружается, загружается, выгружается и т. Д. Планы отгрузки составляются на уровне транспортного оборудования, но отдельные контейнеры часто могут отклоняться от этого плана. Управление на уровне транспортного оборудования позволяет владельцам транспортных средств иметь четкое представление о статусе их перевозки.
Для удобства платформа TradeLens позволяет отправлять запланированные мероприятия вместе с партией. Это может сэкономить некоторые вызовы публикации событий. Но важно понимать, что платформа переведет все это в отдельные события транспортного оборудования для всех контейнеров партии груза, если только транспортное оборудование не имеет существующего плана, который был отправлен только на транспортное оборудование.
Общие события
Общие события - это другие события для транспортного оборудования или груза. Они представляют события, которые могут произойти с транспортным оборудованием или грузом, помимо транспортных событий, например POST ... / genericEvents / packContainerSealed - Упакованное транспортное оборудование запечатано . См. Раздел руководства пользователя API для URL-адресов Swagger для общих событий в API публикации событий.
Соответствие события
TradeLens использует логику сопоставления, чтобы связать входящие события с грузом, транспортным оборудованием или торговым объектом отгрузки.В некоторых случаях событие не может быть сопоставлено, и если это происходит, событие сохраняется в специальной области платформой и будет связано с торговым объектом, если платформа получит дополнительную информацию, позволяющую сопоставить.
Логика согласования
Если существует только одна отправка с carrierBookingNumber и событие указывает идентификатор отправки (consignmentId или carrierBookingNumber), то событие будет сопоставлено с отправкой.Если имеется несколько отправлений с одним и тем же номером carrierBookingNumber (например, в случае разделенной отправки), то для однозначной идентификации отправления требуется либо consignmentId, либо carrierBookingNumber и billOfLadingNumber.