Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

JAM7 - инструмент разработки переносимых приложений архитектуры "клиент-сервер"

Ю.Петров, Компания Аргуссофт


Инструментарий разработки приложений JAM разработан и распространяется фирмой JYACC (США) и название продукта расшифровывается как JYACC's Application Manager. Фирма JYACC является частной и была создана в 1978 году. С 1978 по 1985 год фирма занималась консалтингом в области информационных технологий. В 1985 году была выпущена первая версия JAM. На сегодняшний день поставляется 7-я версия пакета. Вместе с тем JYACC не прекращает и деятельности в консалтинговой сфере.

Структура JAM

Пакет JAM имеет модульную структуру и состоит из следующих компонент:

  • Ядро системы. Ядро является законченным модулем и позволяет полностью разрабатывать приложения;
  • JAM /DBi - модуль интерфейса к СУБД. Для каждой СУБД, поддерживаемой JAM`ом, существует специализированный модуль. Например, JAM/DBi-Oracle, JAM/DBi-Informix, JAM/DBi-ODBC и т.д. Модули JAM/DBi являются дополнительными для ядра и самостоятельно использоваться не могут;
  • JAM/RW - модуль генератора отчетов. Модуль JAM/RW является дополнительным для ядра и самостоятельно использоваться не может;
  • JAM/CASEi - модуль интерфейса к CASE верхнего уровня (например, CASE структурного анализа и дизайна). Для каждой CASE, поддерживаемой JAM`ом, существует специализированный модуль. Например, JAM/CASEi- TeamWork, JAM/CASEi-Innovator и т.д. Модули JAM/CASEi являются дополнительными для ядра и самостоятельно использоваться не могут;
  • JAM/TPi - модули интерфейса к Мониторам Транзакций. Существует два варианта этих модулей - TPi-Server и TPi-Client. Для каждого МТ, поддерживаемого JAM`ом, существуют специализированные модули. Например, JAM/TPi-Server TUXEDO и т.д. Модули JAM/TPi являются дополнительными для ядра и самостоятельно использоваться не могут.

Ядро системы

Ядро системы включает в себя следующие основные компоненты:

  • Редактор Экранов. В состав Редактора Экранов входят:
  • Среда разработки экранов;
  • Визуальный Репозиторий Объектов;
  • Собственная СУБД JAM - JDB;
  • Менеджер Транзакций;
  • Отладчик;
  • Редактор Стилей;
  • Редактор Меню;
  • Набор вспомогательных отдельных утилит;
  • Средства изготовления промышленного релиза приложения;

Общая схема взаимодействия компонент ядра JAM представлена на рис 1.

Рис. 1. Взаимодействие компонент ядра JAM

Редактор Экранов
Визуальное проектирование интерфейса в JAM осуществляется с помощью Редактора Экранов. Приложения, разработанные в JAM, имеют многооконный интерфейс. Окна (экраны), из которых состоит интерфейс приложения, разрабатываются в Редакторе Экранов. Разработка отдельного экрана заключается в размещении на нем интерфейсных элементов, возможной (но не обязательной) их группировке и конкретизации различных их свойств. Объекты имеют достаточно широкий набор свойств, включающий визуальные характеристики (позиция, размер, цвет, шрифт и т.п.), поведенческие характеристики (разнообразные фильтры, форматы, защита от ввода и т.п.) и ряд свойств, ориентированных на работу с БД.
В распоряжении разработчика имеются следующие интерфейсные элементы:

  • Статические метки (static label)- произвольный фиксированный текст или фиксированный графический образ;
  • Динамические метки (dynamic label)- произвольный текст или графический образ; может быть изменен в процессе исполнения приложения. Источником информации может быть БД;
  • Однострочные текстовые поля ввода/вывода (single line text);
  • Многострочные текстовые поля ввода/вывода (multi-line text);
  • Экранные кнопки (pushbutton);
  • Переключаемые экранные кнопки (toggle button)- фиксируется состояние нажата/отпущена;
  • Элементы единственного выбора (radio button);
  • Элементы множественного выбора (check box);
  • Прокручиваемые списки (list box);
  • Опциональные меню (option menu) - осуществляет выбор одного значения из раскрывающегося меню;
  • Комбинированные меню (combo box) - комбинация опционального меню и однострочного текстового поля;
  • Шкалы (scale) - элемент ввода/вывода числовых данных;
  • Табличные фреймы (grid) - объединяет элементы типов "однострочный текст" и "динамическая метка" в табличное представление;
  • Графические диаграммы (graph);
  • Линии (line);
  • Рамки (box).
Данный набор элементов вполне соответствует стандарту CUA и является функционально полным для разработки приложений информационных систем.
Некоторые однотипные объекты можно объединять в группы следующих видов:
  • Синхронизированные группы - обеспечивается синхронизированная прокрутка содержимого нескольких объектов
  • Группы выбора - обеспечивается пометка нескольких строк содержимого объекта;
  • Разнотипные объекты можно объединять в специальные группы "Образ таблицы БД" (table view).
В графическом Редакторе JAM реализован режим перемещения элементов с помощью мыши (drag and drop) и возможность работы в одном сеансе с несколькими проектируемыми экранами. С помощью нескольких служебных окон Редактора возможно уточнение характеристик элементов (размеры, цвет, позиция и др.).
JAM является событийно-ориентированной системой, т.е. для каждого типа интерфейсных элементов приложения определен набор событий (открытие и закрытие для экранов, работа с фокусом для управляющих элементов и элементов ввода/вывода, событие "проверка" (validation), нажатие клавиш клавиатуры и т.д.). Определение обработчиков этих событий осуществляется в Редакторе и задает логику работы приложения. Обработчиками событий могут быть:
  • Функции ядра JAM - более 300 функций самого различного назначения, включая функции динамического (т.е. в процессе исполнения приложения) изменения свойств объектов;
  • Функции, написанные на JPL (внутренний процедурный интерпретируемый язык JAM); Из JPL-функций доступны функции ядра;
  • Функции, написанные на любом внешнем языке программирования 3-го поколения (C, Pascal, Fortran и т.п.), совместимом по вызовам с C; Из этих функций доступны функции ядра JAM и JPL-функции.
Редактор экранов JAM может работать в одном из трех режимов:

  • Режим редактирования (Edit Mode) - разработка экранов;
  • Режим тестирования (Test Mode) - тестирование разрабатываемых экранов;
  • Режим приложения (Application Mode) - интерпретация всего приложения в целом.
На рис. 2 представлена диаграмма переходов между режимами Редактора Экранов.
Режим приложения Режим редактирования Режим тестирования

Рис. 2. Переходы между режимами Редактора Экранов

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

JPL - внутренний процедурный язык программирования JAM

В состав Редактора Экранов входит JPL - процедурный интерпретируемый язык программирования с синтаксисом, похожим на синтаксис C. В JPL доступны следующие возможности:

  • Скалярные переменные и одно- и двумерные массивы;
  • Управляющие конструкции - if, else, for, while, break и next;
  • Передача параметров в функции и возврат значений.
Все JPL-функции оформляются в виде JPL-модулей. JPL-модуль является набором нескольких именованных функций и не более одной неименованной функции. Неименованная функция есть JPL-код от начала модуля до первой именованной процедуры и, очевидно, может отсутствовать в модуле, если он начинается сразу с именованной процедуры. Из неименованной процедура доступны именованные. JPL-модули могут быть трех типов:
  • Модуль экранного объекта (vidget module). Хранится вместе с объектом. Неименованная процедура исполняется при возникновении события validation для данного момента;
  • Экранный модуль (screen module). Хранится вместе с экраном. Неименованная процедура исполняется при загрузке экрана, именованные процедуры могут являться обработчиками событий всех объектов данного экрана;
  • Внешний модуль (external module). Хранится в отдельном файле. Загружается в память или принудительно, или при вызове процедуры с именем этого файла. Возможна принудительная выгрузка. Неименованная процедура исполняется при загрузке модуля. Внешние модули целесообразно использовать для хранения универсальных процедур.
Экранные модули и модули объектов хранятся как в текстовом, так и в прекомпилированном (в некоторый промежуточный код) виде. Доступны для редактирования в Редакторе Экранов. Внешние модули хранятся в виде текстовых файлов. С помощью специальной утилиты текстовые внешние модули могут быть прекомпилированы. Прекомпилированные внешние модули могут храниться в библиотеках экранов.

Визуальный Репозиторий Объектов
Реализация принципов объектно-оpиентиpованного программирования осуществлена в JAM следующим образом. Каждый элемент приложения с определенными свойствами и методами (в качестве которых выступают обработчики событий) является объектом. Одной из составных частей ядра JAM является Визуальный Репозиторий Объектов, в котором можно сохранять созданные объекты. Визуальный Репозиторий Объектов является специальным типом библиотеки экранов и соответствующим образом организован. Т.е. Репозиторий состоит из так называемых входов (entries). которые выглядят как экраны с базовыми объектами на них. Текущая установка свойств и методов является базовой. Для использования какого-либо базового объекта достаточно перенести его мышью с входа Репозитория на проектируемый экран. При изменении свойств и/или методов базового объекта эти изменения распространяются на всех потомков данного объекта. Реализован механизм управляемого наследования свойств и методов, при котором можно запретить наследование части или всех свойств/методов. Вся работа с Репозиторием осуществляется в Редакторе.

Поддержка групповой разработки
Ядро JAM имеет встроенный интерфейс к системам управления многоверсионными проектами и групповой разработки (PVCS на платформе Windows и SCCS на платформе UNIX). При этом под управление этих систем передаются библиотеки экранов и/или Репозитории. При отсутствии таких систем JAM самостоятельно реализует часть функций поддержки групповой разработки.

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

Собственная СУБД JAM - JDB
В ядро JAM встроена однопользовательская реляционная СУБД JDB. Основным назначением JDB является прототипирование приложений в тех случаях, когда работа со штатным сервером БД недоступна или нецелесообразна. В JDB реализован необходимый минимум возможностей реляционных SQL-серверов БД за исключением индексов, внешних слияний таблиц (outer joins), хранимых процедур, триггеров и так называемых view. В результате с помощью JDB можно построить БД, идентичную целевой БД (с точностью до отсутствующих в JDB возможностей) и разработать значительную часть приложения не загружая сеть и сервер. В состав JAM входит утилита интерактивного SQL для JDB.

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

Набор вспомогательных отдельных утилит
Утилиты JAM представляют три группы:

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

Средства изготовления промышленного релиза приложения
Приложения, разработанные с использованием JAM, не требуют так называемых run-time систем и могут быть изготовлены в виде исполняемых модулей. Для этого разработчик должен иметь компилятор C и редактор связей. Для изготовления промышленного релиза в состав JAM входит файл сборки (makefile), исходные тексты (на языке C) ряда модулей приложения и необходимые библиотеки.

Интерфейс к СУБД - JAM/DBi

JAM ориентирован на работу с реляционными SQL-серверами БД. Средством взаимодействия JAM-приложений с СУБД является SQL. При разработки приложений БД SQL-запросы являются составными частями методов объектов приложения. Модуль JAM/DBi осуществляет корректную передачу SQL запроса соответствующей СУБД и прием и обработку результатов исполнения запроса (включая и коды аварийного завершения при невыполнении запроса). Аргументами запросов (т.е. источниками и приемниками информации) могут выступать объекты JAM (интерфейсные элементы) и переменные JPL. В случае аварийного завершения запроса существует возможность самостоятельной обработки кода аварийного завершения.
На рис. 3 представлена архитектура взаимодействия JAM и СУБД с помощью модулей JAM/DBi.

Рис. 3. Архитектура взаимодействия с СУБД

Кроме написания SQL-запросов непосредственно разработчиком, в JAM существует возможность автоматической генерации SQL-запросов. Эта возможность реализуется Менеджером Транзакций JAM. Работа Менеджера Транзакций основана на том, что объекты приложения имеют ряд свойств, характеризующих взаимосвязь объекта приложения с объектом БД и то, как эти объекты участвуют в операциях с БД (SQL-операторы select, insert, update, delete). Экранные интерфейсные элементы (поля ввода/вывода) отображаются в поля таблиц БД. Экранные поля, отображаемые на одну таблицу БД, группируются в группу типа Образ Таблицы (table view). Кроме этого, существуют специальные объекты типа связь (link), описывающие связи между таблицами БД. Эта информация в подавляющем большинстве случаев является достаточной для автоматической генерации SQL запроса для выполнения той или иной операции с БД. Задание этой информации может быть осуществлено или непосредственно разработчиком, или же автоматически при импорте структуры БД (метаданных) в Репозиторий JAM. При этом для каждой таблицы БД в Репозитории JAM создается отдельный вход (entry), в котором создается соответствующий Образ Таблицы (table view) и свойства объектов (т.е. членов группы table view) настраиваются соответствующим образом. Если СУБД, структура БД которой импортируется, поддерживает конструкции "primary / foreign keys", то будут автоматически созданы объекты типа связь (link). Для разработки приложений с использованием Менеджера Транзакций в Редакторе Экранов предусмотрены следующие возможности:

  • Окно DB Interaction - представляет в графическом виде образы всех таблиц (Table View), присутствующих на разрабатываемом экране, и их отношения друг с другом;
  • Опция Trace On / Trace Off - в режимах приложения и тестирования трассируются все SQL команды, генерируемые Менеджером Транзакций;
  • Отладчик ядра JAM позволяет более детально анализировать работу Менеджера Транзакций; возможна установка точек прерывания при активизировании Менеджера Транзакций.
Менеджер Транзакций, получив ту или иную команду, анализирует соответствующие свойства экранных объектов, строит необходимый SQL-запрос и исполняет его. Команды менеджера Транзакций имеют очень простую и краткую форму и могут не зависеть от содержимого экрана.

Таблица 1>

Основные команды Менеджера Транзакций

Команда Действие
NEW Подготовка к вводу новых записей, в том числе и для нескольких связанных таблиц
VIEW Выбор информации из БД с целью просмотра
SELECT Выбор информации из БД с целью изменения, отличается от команды VIEW установкой блокировок
CONTINUE Повторить предыдущую команду VIEW или SELECT для следующей записи
SAVE Запись сделанных измененной в БД
CLOSE Перевод Менеджера Транзакции в начальное состояние

В табл. 1 приведены основные команды Менеджера Транзакций и их краткое описание.
В результате вместо написания SQL запроса, который может состоять из десятка строк, достаточно вызвать Менеджер Транзакций с соответствующей командой. Например, err = sm_tm_command("SELECT").
Непосредственно работа Менеджера Транзакций определяется Моделью Транзакции. Модель Транзакции - это алгоритм реализации каждой команды Менеджера Транзакции, который определяет все аспекты его работы, например установку блокировок при выполнении команды SELECT (выборка для модификации), генерацию уникального первичного ключа при добавлении новой записи (если сама СУБД не реализует этой возможности) и т.д. Для каждой поддерживаемой СУБД в составе соответствующего JAM/DBi поставляется своя Модель Транзакции. Модель Транзакции поставляется в исходных кодах и опытные разработчики могут таким образом модифицировать поведение Менеджера Транзакции. Каждая Модель Транзакции имеет имя и даже для одной СУБД в одном приложении может быть определено и использовано несколько Моделей Транзакции.
В зависимости от контекста команды, выполняемой Менеджером Транзакций, существует возможность управления поведением экранных объектов. Например, при выполнении команды VIEW (транзакция "только чтение") можно запретить ввод или изменение информации в экранных полях и сделать кнопку "Запись" неактивной. Эта возможность реализуется через механизм стилей JAM. Стиль - это определение свойств для различных контекстов команд. Компонента JAM Редактор Стилей, которая упоминалась выше, позволяет разработчику определять свои стили.
JAM может работать практически со всеми распространенными РСУБД, включая Oracle, Informix, Sybase, Ingres, Rdb, DB2, InterBase, Gupta, Netware SQL Server, ODBC-совместимые БД и др.

Генератор отчетов - JAM/RW

Одним из дополнительных модулей JAM является Генератор Отчетов. Компоновка отчета осуществляется в Редакторе Экранов JAM. Описание работы отчета осуществляется с помощью специального языка.
Генератор отчетов позволяет определить:

  • Данные, выводимые в отчет. Источниками информации для отчетов могут быть результаты исполнения SQL-запросов (в том числе и сгенерированные Менеджером Транзакций), внешние источники, информация, введенная конечным пользователем и т.д;
  • Группировку выводимой информации. Уровни вложенности подотчетов и детализации не ограничены;
  • Динамическое управление исполнением отчета;
  • Форматирование вывода, включая интеллектуальное разбиение на страницы;
  • Заголовки и подвалы страниц и групп; использование в них внешних данных;
  • Дополнительную обработку с помощью JPL-процедур или внешних функций, написанных на языках 3-го поколения;
  • Динамическое управление исполнением отчета;
  • Устройство вывода.

Интерфейс к CASE структурного анализа и дизайна - JAM/CASEi

Интерфейс к CASE структурного анализа и дизайна в некотором отношении подобен интерфейсу к СУБД. Одной из основных задач CASE является разработка структуры БД. Информация о структуре БД хранится в репозитории CASE. Модуль JAM/CASEi позволяет осуществить обмен информацией между Визуальным Репозиторием Объектов JAM и репозиторием CASE аналогично тому, как структура БД импортируется в Репозиторий
JAM непосредственно из БД. Отличие заключается в том, что в случае интерфейса к CASE этот обмен является двунаправленным, т.е. информацию из Репозитория JAM можно экспортировать в репозиторий CASE.

Рис. 4. Взаимодействие JAM, CASE и СУБД

На рис. 4 приведена схема взаимодействия JAM и CASE с использованием модуля JAM/CASEi.
Следует отметить, что модуль JAM/CASEi позволяет осуществлять импорт/экспорт не только в раздел ERD репозитория CASE, но и в раздел DFD.
Кроме модуля JAM/CASEi фирма-производитель распространяет модуль JAM/CASEi Developer's Kit. С помощью этого модуля можно самостоятельно разработать интерфейс (т.е. специализированный модуль JAM/CASEi) для конкретного инструмента CASE, если готового модуля JAM/CASEi для данной CASE-системы еще не существует.

Интерфейс к Мониторам Транзакций - JAM/TPi

Модули JAM/TPi используются при разработке приложения трехзвенной модели "клиент-сервер" с применением мониторов транзакций.
Рис. 5 представляет схему реализации трехзвенной архитектуры "клиент-сервер" с использованием JAM, JAM/TPi-Client и JAM/TPi-Server.
При разработке клиентской части трехзвенной модели модуль JAM/TPi-Client позволяет в методах объектов использовать вызовы сервисов монитора транзакций. Наличие модуля JAM/TPi-Client расширяет синтаксис JPL командами, ориентированными на работу с мониторами транзакций.
При разработке сервера приложений модуль JAM/TPi-Server позволяет разрабатывать сервисы монитора транзакций, используя современную 4GL технологию, а не только традиционный для мониторов транзакций 3GL интерфейс.

Рис. 5. Архитектура JAM/TPi

Документация

В состав JAM входит полный комплект документации в электронном виде. При этом используется гипертекстовая система Dyna Text фирмы Electronic Book Technologies. Dyna Text доступна на многих платформах, поддерживаемых пакетом JAM. Печатный вариант документации поставляется за дополнительную плату. Если на какой-либо платформе Dyna Text система недоступна, то печатная документация поставляется бесплатно. Вся документация представлена на английском языке.

Требования к аппаратным ресурсам

JAM как среда разработки и приложения, построенные с его использованием, не являются ресурсоемкими системами. Достаточно сказать, что на платформе MS-Windows достаточно иметь 8MB ОЗУ и 50 MB дискового пространства для среды разработки. На UNIX-платформах требования к аппаратуре нивелируются природой UNIX.

Поддержка локализации

JAM поддерживает 8-битные кодировки символов алфавита. Форматы ввода/вывода даты/времени, валюты, чисел являются настраиваемыми. Системные сообщения вынесены в отдельные файлы и доступны для перевода.

Переносимость приложений, разработанных с помощью JAM

JAM, как среда разработки, доступен на нескольких десятках программно-аппаратных платформ, включая Windows, Windows 95, Windows NT, OS/2, Mac, VMS и практически все распространенные UNIX платформы. На этих же платформах, соответственно, доступны и приложения, построенные с использованием JAM. Переносимость JAM-приложений между платформами практически абсолютная.
Реализация переносимости между типами интерфейсов - алфавитно-цифpовой и графический интерфейсы. JAM-приложения могут исполняться как в алфавитно-цифровом, так и в GUI-режиме практически на всех поддерживаемых платформах, где реализованы оба режима. Из GUI поддерживаются MS-Windows, Presentation Manager, X-Windows, Macintosh. Переносимость между типами интерфейса также практически абсолютная за исключением недоступности векторных шрифтов и графических образов в алфавитно-цифровых режимах.
Переносимость локализованных приложений между различными программно-аппаратными платформами с различными кодировками национального алфавита (например, перенос русскоязычных приложений между Windows и UNIX) может иметь минимально возможную трудоемкость. При максимально активном использовании Репозитория JAM достаточно изменить написание только базовых объектов. В ряде случаев JAM дает возможность избежать и этой работы. Это достигается соответствующим переопределением устройств ввода/вывода (клавиатура и терминал).

Заключение

Решения, предлагаемые пакетом JAM, обеспечивают высокую производительность труда разработчиков

  • Визуальное проектирование и широкий выбор предустановленных интерфейсных решений (форматы и фильтры ввода/вывода) позволяют резко сократить время разработки презентационной составляющей приложения.
  • Наличие компоненты ядра JAM Менеджер Транзакций позволяет резко снизить трудоемкость реализации взаимодействия с СУБД. Отпадает необходимость в написании сложных SQL команд, характерных для реальных систем, в тщательном отслеживании соответствия полей таблиц БД экранным полям и т.д. Это особенно критично на ранних этапах разработки, когда требования к приложению часто и существенно изменяются и разработчик должен быстро отражать эти изменения в приложении.
  • Реализация объектно-ориентированного проектирования (Визуальный Репозиторий Объектов и механизм управляемого наследования свойств и методов объектов) - многократное использование решений и их быстрая модификация во всем приложении также позволяют сократить время разработки, благодаря тому, что во-первых объекты создаются один раз и во- вторых изменения базовых классов автоматически распространяются по всем реализациям базового класса. Причем данный аспект справедлив не только для презентационной составляющей приложения, но и для реализации логики приложения, в том числе и в части взаимодействия с СУБД.
Следует отметить, что эти свойства кроме снижения стоимости разработки приложений существенно снижают стоимость сопровождения и модификации приложений, так как изменения вносятся с минимальной трудоемкостью.
Но основной чертой JAM является соответствие инструмента методологии быстрой разработки приложений RAD (Rapid Application Development). При использовании инкрементального прототипирования малое время реализации замечаний, выявленных на предыдущем этапе разработки, делает JAM подходящим инструментом для методологии RAD.
Неограниченная сложность задач
  • Открытый интерфейс к 3GL обеспечивает возможность реализации любых специфических конкретных подзадач (работа с датчиками и исполнительными устройствами, интерфейсы к редко используемым пакетам третьих фирм, уникальные алгоритмы обработки данных и т.д.).
  • При росте сложности, нагрузки и инфраструктуры решаемой задачи (распределенность и гетерогенность используемых ресурсов, количество одновременно подключенных пользователей, сложность логики приложения) единственным средством преодоления таких трудностей является трехзвенная модель архитектуры "клиент-сервер" с использованием мониторов транзакций. Компоненты JAM/TPi-Client и JAM/TPi-Server позволяют максимально безболезненно (т.е. с минимальной трудоемкостью) перейти на трехзвенную модель. При этом ключевую роль играет модуль JAM/TPi-Server, так как основная трудность внедрения трехзвенной модели заключается в реализации логики приложения в сервисах мониторов транзакций.
Сложные программные проекты практически всегда реализуются коллективом разработчиков. Наличие интерфейса к системам SCM (SCCS или PVCS) позволяет держать в общем архиве проекта те его части, которые реализуются с помощью JAM. Для несложных проектов достаточно встроенных SCM-механизмов JAM.
Наличие и архитектура модуля JAM/CASEi (особенно двунаправленный обмен между репозиториями JAM и CASE) позволяет реализовать любую методику проектирования и разработки приложений (подходы проектирования "от модели данных", от "функционирующих документов" или комбинированный подход). В результате достигается высокая гибкость и эффективность методики совокупного применения проектных и инструментальных средств.
Переносимость приложений является стратегическим вопросом для ИС среднего и крупного уровней. Несмотря на подавляющее распространение IBM PC совместимых компьютеров под управлением DOS/Windows в качестве рабочих мест конечных пользователей, очень многие задачи более эффективно решаются при использовании на рабочих местах UNIX-терминалов (алфавитно- цифровых или X). Выбор таких решений диктуется или снижением стоимости рабочего места (в том числе и при реализации удаленного доступа), или соображениями защищенности ИС, или инфраструктурой уже существующей ИС. Доступность JAM на многих программно-аппаратных платформах позволяет эффективно решать задачу переноса приложений между программно- аппаратными платформами, типами интерфейсов и СУБД.
Отсутствие run-time систем для приложений, разработанных с использованием JAM, на всех доступных платформах позволяет максимально возможно снизить стоимость развертывания приложений на рабочих местах. Это особенно важно при разработке крупнотиражных систем.
Таким образом, JAM характеризуется следующими чертами:
  • Полноценный язык 4-го поколения со всеми характерными свойствами программного обеспечения этого класса;
  • Оптимально соответствует требованиям к инструментальным средствам для крупных и средних ИС;
При использовании в мелких ИС практически не ограничивает выбор путей дальнейшего развития ИС (платформы, СУБД, архитектуры, методологии проектирования и разработки и т.д.).

[Назад] [Содержание]
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...