Перспективную технологию
для создания ИС зовут-величают М


ДМИТРИЙ НОСОВ
1997 г.

По материалам европейской ассоциации M-технологии (MTA-E) и ассоциации пользователей M-технологии в России

ЧТО ТАКОЕ М?

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

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

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

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

В языке М существует единственный тип данных — строка символов переменной длины. Стандарт языка четко определяет, каким образом значение строки можно интерпретировать как число. В языке М есть два типа переменных: скалярные переменные и массивы. Скалярная переменная имеет имя и содержит данные. Массив имеет имя и индексы
(которые могут быть как числами, так и строками), а данные могут храниться в каждом узле массива. Для сравнения скажем, что большинство других языков программирования поддерживают лишь целочисленные индексы. Переменные М создаются и уничтожаются динамически, и программисту не нужно заранее определять их размер или объявлять их в программе. Кроме того, использование строк для индексов массивов заставляет М автоматически сортировать их. Такая особенность М полностью исключает потребность в программах сортировки.

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

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

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

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

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

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

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

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

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

РЫНОК М

Банки и финансы. Банковская сфера - лучший пример того, как разработчики прикладных М-систем выполняют требования высокой производительности, удобства доступа к данным и надежности. Основные прикладные системы Chase Manhattan, CitiCorp, Bankers Trust, Lloyds Bank, Barclays Bank, Security Pacific Bank и др. созданы на основе технологии М.

В России банковские системы на основе этой технологии разрабатывают несколько фирм. Только одна из них установила свою систему в 25 отделениях "Альфа-банка" и в 40 отделениях банка "Менатеп".

Промышленность. Компании Shell Oil, Chevron, Philips Petroleum, BP и Exxon развернули промышленные лабораторные системы, управленческие информационные системы и системы оптовой торговли в Соединенных Штатах, Европе, Южной Америке, на Ближнем и Дальнем Востоке. В Великобритании используются М-системы управления выпуском продукции и планирования поставок. М-система, построенная на принципах искусственного интеллекта, работает на нескольких крупных заводах во Франции, планируя выпуск продукции и заказ материалов.

На многих промышленных предприятиях России уже более двадцати лет используются разнообразные прикладные системы на М. Крупный производитель отделочных строительных материалов ОАО "Мосстройпластмасс" использует только М для всех приложений. Российские М-разработчики быстро откликнулись на возникший рынок корпоративных информационных систем. Примером полноценного корпоративного решения служит информационная система АО "Комитекс" (г. Сыктывкар).

Здравоохранение. М-технология используется в различных госпиталях, исследовательских институтах, клиниках и организациях здравоохранения всего мира. Госпиталь Brigham and Women’s в Бостоне имеет М-сеть персональных компьютеров, состоящую более чем из 4000 пользовательских машин и серверов.

Поликлиника Медицинского центра Управления делами Президента Российской Федерации использует информационную М-систему на 150 рабочих мест, в том числе удаленных. Эта система связана с Центральной клинической больницей и многочисленными медпунктами. Еще один российский пример — поликлиника № 2 Московского лечебно-санаторного объединения, в которой настоящая корпоративная система на М используется уже более 10 лет! Изменение кода этой крупной системы при ее переносе с СМ ЭВМ на современную платформу Sun+Solaris заняло около 20 минут.

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

М идеально подходит для ведения больших баз данных с текстовой информацией, поэтому ее используют музеи и многие библиотеки, такие, как Национальная медицинская библиотека Соединенных Штатов, библиотеки университетов Брюсселя, Антверпена, Эйндховена и Королевская библиотека Бельгии.

В Российском государственном технологическом университете (МАТИ) на основе технологии М была создана первая отечественная библиотечная система с интегрированным обслуживанием читателей.

Транспорт и связь. Телефонная справочная система в Ирландской Республике реализована на М. Корпорация Ireland Telecom решила выпустить эту систему на рынок, и Индонезия приобрела ее, чтобы использовать по всей стране.

В морском торговом порту города Находка работает М-сеть из 12 серверов и более 130 рабочих станций и терминалов. Крупная распределенная М-система используется на Северной железной дороге. Многие российские предприятия связи, в том числе такие крупные, как "Уралсвязьинформ" (Пермь) и "Яртелеком" (Ярославль), применяют М в качестве основной технологии.

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

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

Уникальная территориально-распределенная система на М используется Комитетом по труду и занятости Волгоградской области. Очередная перепись населения в Белоруссии будет проводиться также с помощью М.

Торговля. Многие разработчики М-приложений, а также ряд крупных торговых компаний создали М-системы для кассового терминала. Например, компания Stewarts Ice Cream, владеющая несколькими сотнями торговых точек только в шт. Нью-Йорк, применяет исключительно М. Причем весь бюджет ее систем кассового терминала составляет менее 0,2% (!) от оборота. Это феноменальный результат по сравнению с ценами конкурирующих систем. М-система для магазинов по продаже кухонного оборудования, разработанная в Нидерландах, интегрирована с системой автоматизированного проектирования интерьера. М-системы для магазинов по продаже автомобилей применяются в Бельгии и Испании.

Несколько крупных универмагов в Москве и Екатеринбурге используют интегрированную М-систему. Корпорация "Ариэль", торгующая трубами, заказала и развернула информационную систему на М.

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

Несколько крупных гостиниц в Москве используют М-системы либо в виде интегрированных решений (например, гостиница "Заря"), либо в виде автономных модулей (например, полнофункциональная система бухгалтерского учета в гостинице "Украина"). На М ведут учет продуктов и делают калькуляцию комбинаты питания Белого Дома, Московской мэрии, Внешторгбанка, Большого Кремлевского дворца. Большого театра, рестораны "Арагви" и "Баку".

Телефон ассоциации пользователей М-технологии в России - "ДИАМС-СОЮЗ": (095) 915-2260.

К автору можно обратиться по адресу: .

Неопубликованная часть

ПОЧЕМУ ИМЕННО M?

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

Переносимость. Прикладные M-системы чрезвычайно мобильны. Стандарт M, принятый Международной организацией по стандартам (ISO), содержит раздел, посвященный переносимости программ и определяющий минимальный набор требований, которым должны удовлетворять M-системы всех фирм-разработчиков. Достаточно придерживаться этих требований при программировании прикладных систем, чтобы быть уверенным, что разработанное приложение будет работать на любой платформе. Выше уже приводился поразительный пример переносимости крупного приложения для поликлиник на другую платформу. Реализации M разработаны для всех основных коммерческих аппаратно-операционных сред, в том числе таких как MS-DOS, MS Windows, Windows NT, UNIX. Последние дополнения стандарта M приводят к увеличению мобильности программ во всех составных частях M-технологии. Например, сейчас программисты могут писать программы, использующие графический интерфейс пользователя, которые полностью переносимы между различными операционными системами и средствами организации окон.

Продуктивность. По сравнению с другими технологиями разработки и сопровождения прикладных систем M-технология намного продуктивнее. Самый показательный документально подтвержденный пример - это конкурс на создание госпитальной информационной системы, проведенный Министерством обороны Соединенных Штатов. Компания-победитель конкурса, применявшая M, прошла удовлетворительно 100% тестов на функциональность и 90% тестов на производительность. Вдобавок, цена предложения у этой компании была на 100 миллионов долларов ниже, чем у ближайшего конкурента. Мощный, гибкий и неназойливый, язык M позволяет M-программистам разрабатывать сложные прикладные системы намного быстрее программистов, использующих другие языки. Для разработки сложных прикладных систем, использующих другие языки, типичный прикладной программист должен владеть несколькими продуктами и понимать как они взаимодействуют:

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

M - это интегрированная среда, которая включает все упомянутые составные части.

Производительность. Известно, что M-системы обладают великолепным соотношением цены и производительности. Производители M-систем сообщают об установках, обеспечивающих работу более 1000 интерактивных пользователей на одном мощном RISC-процессоре. А для Intel-машин существуют M-системы, способные поддерживать до 128 процессов на единственном процессоре 80486, причем с великолепным временем отклика.

Прогрессивность. Первый Американский национальный стандарт M (ANSI X11.1) был опубликован еще в 1977 году, но за прошедшие годы развитие M не отставало от общего развития компьютерных технологий. Стандарт 1994 года включает многие средства, созданные для повышения мощности языка и простоты его использования.

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

Управление окнами. Имеются интерфейсы с тремя основными системами управления окнами: Microsoft Windows, X Windows (OSF Motif) и Macintosh. Комитет по развитию M разработал стандартный интерфейс прикладных программ для работы с окнами (MWAPI), который обеспечивает более высокий уровнень абстракции, совместимый со всеми основными системами. MWAPI позволяет прикладному M-программисту определить оконные средства, которые будут работать на всех основных платформах. Это уникальное средство в индустрии информационных технологий позволяет разработчикам создавать переносимые прикладные системы с графическим интерфейсом пользователя, поскольку основой служит стандарт, а не продукт какой либо фирмы.

Открытый интерфейс. Комитет по развитию M выработал ряд стандартов для связи с не-M системами, позволяющих и здесь сохранять переносимость. Современные реализации M обеспечивают интерфейсы прикладных программ (API) из M-среды вовне и наоборот и поддерживают взаимодействие c распространенными программными пакетами, работающими под Windows через популярные интерфейсы SQL, API, DDE, OLE и ODBC. Во многих отношениях, M - это самая открытая из так называемых открытых систем.

SQL. Стандарт SQL2 определяет синтаксис вызова для связи с M-системами. Некоторыми производителями реализованы программные средства для просмотра баз данных M в стиле SQL, как на самом M, так и на других языках. Ими также разработаны переходные продукты, которые позволяют внешним прикладным системам, таким как электронные таблицы и системы принятия решений, передавать SQL-запросы в базу данных M. Таким образом, можно многими способами интегрировать и базы данных M и SQL, и языки программирования, удовлетворяющие различные нужды пользователей.

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

Объектно-ориентированное программирование. Комитет по развитию M проводит работу по включению понятий объектно-ориентированного программирования в стандарт M. Уже существуют реализации полного набора программных средств для разработки приложений в объектно-ориентированном стиле.

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

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

КОМИТЕТ ПО РАЗВИТИЮ M

Комитет по развитию M (M Development Committee - MDC) отвечает за стандарт M. В работе MDC участвуют главным образом пользователи, заинтересованные в развитии системы, а не фирмы-производители программного обеспечения, что отличает его от других организаций по языковым стандартам (например, ANSI или ISO). Членство в MDC открыто для всех заинтересованных в развитии M, и все его члены имеют по одному голосу. Ассоциация M-технологии Северной Америки взяла на себя выполнение функций секретариата MDC и публикует все документы, относящиеся к стандарту ANSI X11.1, включая сам стандарт, спецификации интерфейсов, а также труды MDC. Похожие организации существуют в Европе, Бразилии и Японии. Они вносят свой вклад в развитие M, опираясь на опыт, накопленный за пределами США, и имеют право голоса в MDC.

КОНТАКТНАЯ  ИНФОРМАЦИЯ

Ассоциация пользователей M-технологии в России "ДИАМС-СОЮЗ" Москва, МАТИ-Российский государственный технологический университет, Берниковская наб., 14, тел. 915 22 60, 915 23 32.

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


Новости    О компании   Продукты   Технологии   Партнеры   Проекты   Обучение   Пресса   Контакты    Цены   Содержание

© Copyright 2021-2022
ЗАО
Информ Икс  Москва