КАРТОПЕРАТОР
MAPPER Systems , теперь известный как Business Information Server, BIS, представляет собой язык программирования четвертого поколения, родом из Сперри Унивак . Сейчас принадлежит корпорации Unisys. Mapper возник в 1970-х годах. [1] на основе некоторых работ 1960-х годов, [2] Он был функционально улучшен и поддерживается в актуальном состоянии. Ему также было предоставлено расширение под названием ICE — Internet Commerce Enabler. [3] [1]
Первоначально доступный на Univac 1108 от Sperry , теперь также существуют реализации для Windows NT , Sun Solaris и Linux . [4] Графический интерфейс Windows является наиболее продвинутым из них. [1]
История
[ редактировать ]MAPPER (поддерживать, готовить и создавать исполнительные отчеты) (энтузиасты также называют его «самым удивительным программным продуктом, когда-либо выпущенным») - официально переименован в BIS (сервер бизнес-информации), но многие пользователи до сих пор называют его MAPPER. [1] — началось как внутренний продукт. Он был разработан на компьютерном заводе Sperry Univac в Розвилле, штат Миннесота, чтобы помочь компании управлять своим заводом по производству компьютерного оборудования. [5] [6] Первоначально она называлась CRT RPS (система обработки отчетов), чтобы отличать ее от RPG . Первым внешним заказчиком стала железная дорога Санта-Фе . Помимо Санта-Фе, одним из первых клиентов было правительство Канзас-Сити. MAPPER стал популярным решением в государственном секторе. Сообщества групп пользователей сформировались по типу группы пользователей MAPPER Новой Англии. Концепция MAPPER была задумана Луи Шлютером в 1967 году и представлена в феврале 1968 года в официальном документе под названием «Система обработки отчетов 418», который был немедленно принят к разработке. Трое разработчиков (Билл Грей, Луи Шлютер и Чак Хэнсон) начали писать код в рамках другого бюджета, который изначально был утвержден для другого проекта. У них было сильное сопротивление, например, ведущий программист (Джек Олгрен) отдела первоначального тестирования (первоначальная программа была предназначена для стресс-тестирования оборудования), заявив: «Вы не можете использовать компьютеры таким образом!» но, увидев больше того, что происходит, он присоединился к команде и в конечном итоге стал ведущим программистом благодаря своему гениальному уму. К сожалению, год спустя он умер, так и не увидев полной реализации. Было так много продолжающихся препятствий, борьбы с когнитивный диссонанс вокруг традиционного мышления того времени.
CRT RPS был переименован в MAPPER в 1975 году. Из-за своего неофициального статуса это была малобюджетная разработка, рассчитанная на минимальное использование ресурсов. Сегодня вся система, за вычетом пользовательских данных, занимает всего 25 мегабайт. Он был написан на языке ассемблера . [1] Первоначально он допускал лишь ограниченные манипуляции со строками; [1] с тех пор это было исправлено. макросов . Впоследствии была добавлена возможность Разработка UNIVAC 1100, а также давление со стороны клиентов привели к выпуску для более широкого использования в 1979 году.
В середине 1980-х годов Сперри активно продвигал MAPPER, включая рекламу с участием «MAPPER Man», самостоятельного исполнительного конечного пользователя. В скандинавских странах у Сперри была песня MAPPER — «Do it the MAPPER way!» (1983) - написано и исполнено группой в стиле ABBA .
Под управлением Sperry Corp система MAPPER контролировала восемь заводов, что свидетельствует о разработке крупных приложений ПОЛЬЗОВАТЕЛЯМИ. Система MAPPER поддерживала более 1300 приложений, 99 процентов из которых были разработаны пользователями, не использующими DP (отдел обработки данных, например, старые методы программирования). В онлайн-базе данных было около 20 миллионов строк. В этой системе было зарегистрировано более 3700 пользователей, 540 из которых были зарегистрированы как дизайнеры RUN (приложений). В обычный день происходит более 500 000 запусков функций вручную, а также более 405 000 запусков функций под контролем более 90 000 запусков приложений RUN. За день обслуживания было обработано более 355 миллионов строк данных Отчета.
Среднее время ответа системы MAPPER для ручных функций и выполнения RUN составило ~ 0,4 секунды. Для использования в этой системе было зарегистрировано более 7000 терминалов. В любой прайм-тайм мгновенная выборка покажет более 1000 пользователей, вошедших в систему с помощью системы. Это система смешанной вычислительной среды. Помимо службы MAPPER, на мэйнфрейме также выполнялись фоновые пакетные приложения COBOL и обработка транзакций.
Первым заказчиком стала железная дорога Санта-Фе. Системы MAPPER были переведены на 15 языков, включая китайский и японский (всего их число было расширено до 23), и установлены по всему миру, а клиентская база стоимостью более 3 миллиардов долларов США. Прибыль Sperry MAPPER System стала причиной слияния Unisys с Burroughs стоимостью 7 миллиардов долларов. Это насильственное поглощение было расценено как крах MAPPER. В то время его по сути отложили на полку, так как никакого дальнейшего продвижения не проводилось. И название было изменено на BIS (Сервер деловой информации). Это заблокировало доступ к примеру с установленной международной клиентской базой системы MAPPER стоимостью 3 миллиарда долларов. (Например, в Японии произошел бум во всей промышленности благодаря появлению 500 мэйнфреймов с MAPPER.)
Опрос, проведенный Unisys в 1989 году, показал, что 140 из 224 клиентов UNIVAC 1100 использовали MAPPER. К 2006 году более 600 сайтов использовали MAPPER для Windows NT.
Ее история является убедительным свидетельством и примером эффективности и потенциала хорошо продвигаемых и скоординированных, разработанных пользователем вычислительных систем и услуг системы обработки отчетов в реальном времени.
Интересно отметить, что MAPPER ведет регистр и функцию LOG, в которых регистрируются все транзакции; кто что сделал, когда и где. Этот ЖУРНАЛ хранит цепочку событий, которая была неповрежденной или доступной для пользователей, у которых не было прав доступа со стороны Координатора. Это была также первая электронная таблица, как и за десять лет до LOTUS123.
Особенности
[ редактировать ]Ранним описанием MAPPER была статья «MAPPER Was the First User-Command Language», представленная на технической конференции USE в марте 1983 года Майклом Николлом-Гриффитом из Canadian Pacific Consulting Services и опубликованная в рамках протоколов USE. В 1988 году вышла книга Луи Шлютера «Вычисления, управляемые пользователем».
Использование MAPPER требует, чтобы у сообщества был координатор MAPPER, у которого есть набор привилегированных инструментов для мониторинга и настройки разработки и контроля злоупотреблений. MAPPER имеет более 150 функций, которые можно использовать вручную, почти каждая из которых имеет соответствующую команду сценария.
MAPPER был настолько прост в освоении и использовании, что многие пользователи стали «RUN» разработчиками, создавшими приложения, отвечающие всем требованиям обработки данных.
Структура данных
[ редактировать ]Базовая единица данных называется «отчетом». Это похоже на электронную таблицу Microsoft Excel . Обычно имеются наборы похожих отчетов с одинаковой структурой столбцов, применимых к разным категориям или группам элементов. Отчеты организованы в «ящики» одинаково структурированных отчетов, а группы до 8 ящиков образуют «шкаф» (всего 4000 на систему MAPPER). В зависимости от платформы длина отчета может составлять от 40 до 998 символов. На платформах Core MAPPER (Windows/Unix/Linux) размер ящика должен быть кратен 2: на 1100/2200 это может быть нечетное число.
Отчеты нумеруются от 1 до максимального значения, установленного для ящика. Также имеется нулевой отчет, который имеет особое значение, поскольку действует как шаблон и как фильтр для остальных отчетов в ящике. Ящики имеют буквенное обозначение ящика, от B
к I
. Шкафы нумеруются от 0 и увеличиваются на 2 — шкафы с нечетными номерами ссылаются на те же данные, что и соответствующий четный шкаф, но обеспечивают просмотр данных только для чтения (например, шкаф 0 и шкаф 1 представляют полный и ограниченный доступ к одним и тем же данным). . Для каждой системы существует системный максимум, который варьируется в зависимости от платформы и представляет собой зарезервированную работу системы. MAXCAB$
. Ящики выходят из B
к I
потому что A
это специальный ящик; Считается, что он существует одновременно во всех кабинетах и действует как глобальный ресурс. Ящик A
обычно используется для «быстрых и грязных» временных наборов данных, захваченных данных, кода запуска прототипа, примечаний, документации и т. д. Третий отчет в ящике C
в кабинете 36 будет обозначаться как 3C36
или просто 3C
если пользователь уже вошел в кабинет 36.
Основное отличие от электронных таблиц заключается в том, что отчеты MAPPER не имеют встроенных возможностей вычислений. Обработка осуществляется путем применения к отчету «Команды» или «Функции» — действия, которое дает дублирующийся «результат». Этот результат можно обрабатывать дальше, уточняя данные до наиболее значимой информации; результат, представляющий собой обработанную копию исходного отчета. Следовательно, система обработки отчетов является частью исходных возможностей системы. Таким образом, пользователи получают доступ к своим данным и манипулируют ими в соответствии со своими спецификациями.
Еще одно важное отличие состоит в том, что данные MAPPER представляют собой форму данных видимой записи; то, что вы видите, это буквально то, что вы получаете. Все отчеты в отдельном ящике имеют одинаковую длину строк, дополненную пробелами или символами табуляции для перемещения по данным для ввода или изменения записи. Точно так же размеры столбцов в записи данных фиксированы, однако вы можете создать поле любого размера длиной до 999 символов. Вы можете найти данные либо в столбцах полей, либо в данных произвольного типа, которые аналогичны данным набранного текста или стиля абзаца. Существует несколько функций, которые делают поиск данных быстрым и эффективным. Многие функции и методы могут быть развернуты для структурирования данных для еще более быстрого реагирования. Время отклика при манипулировании данными почти всегда было меньше секунды. [ нужна ссылка ] (Даже если он используется на ПК и процессор загружен на 100 %, из-за сокращенного кода он выдает второй ответ при поиске более 1 миллиона записей.) [ нечеткий ]
В старых версиях MAPPER безопасность применялась на уровне шкафа, а в текущих версиях безопасность имеет более высокую степень детализации и применяется на уровне ящиков. Если пользователю не предоставлен доступ к определенному ящику, данные не будут видны этому пользователю. К данному ящику можно предоставить доступ либо на обновление, либо на чтение.
Это была первая система во многих отношениях, в том числе ODBC -совместимая система.
Командный язык
[ редактировать ]Когда необходимо выполнить команду, программное обеспечение получает структуру данных из заголовков столбцов, которые находятся над данными. По сути, он генерирует «схему» по запросу. Популярные команды: «Поиск» для создания подмножества, «Сортировка» для изменения последовательности строк, «Суммировать» для создания промежуточных итогов по типу, категории или дате. Два независимых отчета можно объединить с помощью «Сопоставить», а очень сложные команды, такие как «Рассчитать и обновить», включают последовательные шаги в одной операции. Результатом команды может управлять последующая команда. Таким образом, большие требования к обработке могут быть выполнены с помощью всего лишь нескольких команд. Код сценария в виде одной команды будет выполнять ручную функцию и, таким образом, минимизировать объем кода, необходимого для выполнения задач. т.е. написание программы поиска из многих строк кода уже было сделано. Таким образом, MAPPER по существу вызывал макросы; также первый в своем роде.
Эффективность в реальном времени
[ редактировать ]При работе MAPPER данные не получаются программой, которая их «читает», а ждут действий пользователя, помимо фоновых заданий. Для работы с ним используются запрограммированные команды. Однако полный набор доступных команд остается в активной памяти компьютера в виде интерпретируемых резидентных команд. Будучи написанной на « реентерабельном коде », любая команда может использоваться многими тысячами разных пользователей одновременно.
Чтобы избежать узких мест при доступе к диску, данные распределяются по нескольким мелким отчетам, так что многие пользователи могут иметь доступ к данным и не быть заблокированными в одном отчете. Это приводит к меньшему количеству операций чтения с диска на отчет, чем большинство альтернатив.
Координатор, который действует как администратор, получает предупреждение, когда неэффективные методы обработки замедляют работу системы. Затем этому пользователю можно было бы ограничить количество ресурсов, которые он может использовать, или время, в течение которого он может выполнять сценарии или функции.
Расширенные возможности
[ редактировать ]Язык запуска. Разработка основных приложений пользователями, не являющимися пользователями DP.
[ редактировать ]Со временем продукт получил расширения, сделанные на основе описанной выше базы. Первым из них, предусмотренным железной дорогой Санта-Фе, была возможность повторения команды, называемая «Выполнить», и по своей концепции аналогичная макросу Excel. Такое последовательное применение предварительно протестированных команд снижает вероятность ошибок программирования.
«Язык выполнения» использует скриптовые формы обычных экранных команд в отчетах (например, ручная сортировка и элемент языка выполнения @SOR будут вызывать один и тот же скомпилированный модуль реентерабельного кода).
Он допускает логический выбор различных путей обработки, допускает циклы и логические ветвления, взаимодействие с пользователем и тому подобное. Он также имеет возможность выполнять вычисления или базовую логику обработки любого символа или поля данных во всей базе данных. Естественно, это зависит от категории безопасности данных.
Совместная обработка
[ редактировать ]Используя сетевые соединения, две или более системы MAPPER могут работать совместно. При этом один будет ждать выполнения задачи другим. MAPPER обрабатывает трафик данных или текстовых сообщений между пользователями.
Операции на одной машине могут быть запущены по сети. Команды извлечения данных SQL могут выполняться с полным синтаксисом SQL во внешних базах данных, а результаты использоваться в дальнейшей обработке MAPPER. MAPPER может запускать веб-сайты с собственным . asp , имеет встроенный механизм JavaScript , может создавать XML для B2B и манипулировать SOAP объектами . См. несколько примеров ниже.
Внешние ссылки
[ редактировать ]- MAPPER на форуме 99 пивных карт
- Видео полного подробного обзора
- Учебное видео с подробными историческими данными и обзором.
- Обучающее видео, показывающее, как установить и настроить
- Учебное видео, показывающее MAPPER через браузер
- Учебное видео, показывающее, как добавлять поля и базу данных.
- Обучающее видео, показывающее, как использовать несколько функций.
Ссылки
[ редактировать ]- ^ Jump up to: а б с д и ж «Картограф языка» .
- ^ Дель Фиакко, Джерри (23 августа 2008 г.). «MAPPER: критически важное наследие» . Enterprisenetworksandservers.com . Архивировано из оригинала 23 августа 2008 г. Проверено 3 февраля 2019 г.
- ^ Oracle можно использовать в качестве внутренней базы данных.
- ^ «Розеттский код — Категория: КАРТОГРАФИЯ» . 28 сентября 2019 г.
- ^ Коллекция MAPPER, 1983–1996 гг.
- ^ Ранняя мотивация (Джерри Дель Фиакко)
ОНЛАЙН КАРТООписание системы: https://sites.google.com/view/businessinformationserver/home
BBOOK: Разработка основных компьютерных приложений конечными пользователями Автор: Луис Шлютер https://www.amazon.com/dp/B0CV49NHQR