СПОСОБ ПОДГОТОВКИ ДОКУМЕНТОВ НА ЯЗЫКАХ РАЗМЕТКИ ПРИ РЕАЛИЗАЦИИ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА ДЛЯ РАБОТЫ С ДАННЫМИ ИНФОРМАЦИОННОЙ СИСТЕМЫ
METHOD OF PREPARING DOCUMENTS IN MARKUP LANGUAGES IN IMPLEMENTATION OF THE USER INTERFACE FOR WORKING WITH INFORMATIONAL SYSTEM DATA

ОБЛАСТЬ ТЕХНИКИ
[0001] Данное изобретение в общем относится к области пользовательских интерфейсов, а в частности к пользовательским интерфейсам для работы с данными в компьютерных информационных системах.
УРОВЕНЬ ТЕХНИКИ
[0002] Для обработки данных в компьютерных информационных системах пользователи обычно инициируют выполнение операций, которые могут иметь входные и выходные параметры. В настоящее время широко распространено использование в компьютерных информационных системах языков разметки, включая, но не ограничиваясь, HTML и XML, для хранения, передачи, публикации и других задач работы с данными, в том числе и для реализации пользовательского интерфейса для инициирования выполнения операций. При этом, возможно, наибольшую популярность приобрели способы, когда элементы для представления значений входных и выходных параметров операций и элементы для инициирования выполнения операций включают в документы на языках разметки и предоставляют пользователю для работы в браузере. Пользователь может вводить и редактировать значения входных параметров операций, инициировать выполнение операций и наблюдать значения выходных параметров операций. Следует подчеркнуть, что в документах на языках разметки, кроме собственно элементов для представления значений параметров операций и элементов для инициирования выполнения операций, присутствуют вспомогательные элементы, которые определяют стили и/или местоположение отображения значений параметров операций в браузере. Дополнительно, в таких документах могут присутствовать элементы оформления (например, фоновые изображения), вспомогательные текстовые фрагменты (например, поясняющие надписи) и другие элементы, не относящиеся операциям или их параметрам. Для того чтобы предоставить пользователю возможность вводить и редактировать значения входных параметров операций, инициировать выполнение операций и наблюдать значения выходных параметров операций в браузере, требуется обеспечить наличие в документе на языке разметки элементов для представления значений входных и выходных параметров операций и элементов для инициирования выполнения операций.
[0003] Из уровня техники известен способ, при котором в документы на языках разметки внедряют специальные элементы для инициирования выполнения операций (например, элемент FORM в HTML) для которых указывают название операции в качестве значения атрибута, содержащего адрес программы операции, а также внедряют специальные элементы для представления значений параметров операции (например, элементы INPUT в HTML). Данный способ требует дополнительных специальных знаний, по меньшей мере, синтаксиса языка разметки для формирования специальных элементов, внедряемых в документы. Также данный способ требует работы с документами на языках разметки на уровне исходного кода.
[0004] Также известен способ, при котором в документы на языках разметки, в места, предназначенные для помещения элементов, представляющих параметры операций и элементов для инициирования пользователем выполнения операций, вставляют специальные символы и связанные с ними переменные, которые заменяют метаданными операций и их параметров в процессе подготовки к передаче в браузер. Для обработки таких документов, также называемых шаблонами, используются так называемые процессоры шаблонов, например, ApacheVelocity. Данный способ требует дополнительных специальных знаний, по меньшей мере, синтаксиса процессора шаблонов. Также данный способ требует дополнительных затрат времени на внедрение в документы на языках разметки дополнительных символов и переменных и их периодическую актуализацию в случае изменения или развития синтаксиса процессора шаблонов.
СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[0005] Далее представлено упрощенное описание сущности технического решения для обеспечения основного понимания некоторых аспектов. Эта сущность не является обширным обзором. Она не предназначена для идентификации ключевых или критических элементов технического решения. Единственная цель состоит в том, чтобы представить некоторые концепции в упрощенной форме как вводную часть к более подробному описанию, которое представлено позднее.
[0006] Данное техническое решение направлено на устранение недостатков, присущих известным решениям из уровня техники.
[0007] Техническим результатом является повышение эффективности подготовки документов на языках разметки при реализации пользовательского интерфейса для работы с данными информационной системы.
[0008] Также дополнительным достигаемым техническим результатом является повышение скорости подготовки документов на языках разметки и упрощение их последующей поддержки.
[0009] Технический результат достигается благодаря исключению необходимости внедрения в документы на языках разметки дополнительной информации, предназначенной для управления представлением параметров операций и действиями по инициированию пользователем выполнения операций, в связи с чем исключается необходимость работы пользователя с документом на уровне исходного кода на языке разметки.
[00010] Указанный технический результат достигается благодаря способу подготовки документов на языках разметки при реализации пользовательского интерфейса для работы с данными информационной системы, в котором формируют метаданные для, по меньшей мере, одной операции; формируют шаблон представления вышеупомянутой операции, состоящий, по меньшей мере, из одного документа, сформированного на, по меньшей мере, одном языке разметки; формируют и сохраняют связь шаблона и, по меньшей мере, одной операции; отображают шаблон, формируют и сохраняют связи элементов шаблона с операциями, при этом выбирают элемент шаблона и отображают информацию о доступных для формирования связи операциях; выбирают операцию; формируют и сохраняют связь, содержащую идентификатор выбранного ранее элемента шаблона и идентификатор выбранной ранее операции.
[00011] В некоторых вариантах осуществления технического решения языком разметки является HTML, или XML, или XHTML, или DocBook.
[00012] В некоторых вариантах осуществления технического решения шаблон формируют при помощи текстовых редакторов с подсветкой синтаксиса или WYSIWYG-редакторов или онлайн-редакторов.
[00013] В некоторых вариантах осуществления технического решения сформированный шаблон сохраняют на сервере в базу данных.
[00014] В некоторых вариантах осуществления технического решения информацию о сформированной связи шаблона и операции сохраняют на сервере в базу данных.
[00015] В некоторых вариантах осуществления технического решения в составе информации о сформированной связи шаблона и операции дополнительно сохраняют идентификатор типа шаблона и идентификатор языка пользователей, с использованием которого сформированы значения вспомогательных элементов шаблона.
[00016] В некоторых вариантах осуществления технического решения перед отображением шаблона сервер извлекает шаблон из базы данных и внедряет в него элемент с идентификаторами операций, используя информацию о связи шаблона и операций, и элемент, подключающий библиотеку программного кода, предназначенного для формирования и сохранения связей элементов шаблона с операциями, их входными и выходными параметрами.
[00017] В некоторых вариантах осуществления технического решения библиотеку программного кода реализуют на языке программирования, поддерживаемом браузером.
[00019] В некоторых вариантах осуществления технического решения библиотеку программного кода располагают на удаленном сервере, доступ к которому осуществляют по сети Интернет.
[00020] В некоторых вариантах осуществления технического решения перед отображением шаблона сервер извлекает шаблон из базы данных и внедряет в него элемент с идентификаторами операций, используя информацию о связи шаблона и операций, и элемент, содержащий программный код, предназначенный для формирования и сохранения связей элементов шаблона с операциями, их входными и выходными параметрами.
[00021] В некоторых вариантах осуществления технического решения для выбора элемента шаблона при наведении пользователем указателя на элемент шаблона данный элемент графически выделяют.
[00022] В некоторых вариантах осуществления технического решения информацию о доступных для формирования связи операциях, их входных и выходных параметрах отображают в виде списков, в которые включают только свободные, еще не привязанные к какому-либо элементу шаблона операции, их входные и выходные параметры.
[00023] В некоторых вариантах осуществления технического решения информацию о доступных для формирования связи операциях, их входных и выходных параметрах отображают в отдельном окне браузера или в перемещаемой области внутри окна с шаблоном, при этом формирование связей с элементами шаблона осуществляют с использованием способа Drag-and-Drop.
[00024] В некоторых вариантах осуществления технического решения после формирования связи элемента шаблона с операцией или входным или выходным параметром операции этот элемент графически выделяют.
[00025] В некоторых вариантах осуществления технического решения в качестве идентификатора элемента шаблона используют последовательность индексов дочерних элементов, ведущую к элементу от известного элемента шаблона.
[00026] В некоторых вариантах осуществления технического решения в качестве идентификатора элемента шаблона используют значение атрибута ID.
[00027] В некоторых вариантах осуществления технического решения уникальные для шаблона значения атрибута ID устанавливают для всех элементов шаблона автоматически после формирования связи шаблона с операцией.
[00028] В некоторых вариантах осуществления технического решения уникальное для шаблона значение атрибута ID устанавливают автоматически для элемента шаблона в процессе формирования связи этого элемента с операциями или входными или выходными параметрами операций.
[00029] В некоторых вариантах осуществления технического решения в качестве идентификатора элемента шаблона используют выражение для запроса на языке XPath.
[00030] В некоторых вариантах осуществления технического решения в качестве идентификатора элемента шаблона используют уникальное шаблонное значение элемента.
[00031] В некоторых вариантах осуществления технического решения для получения идентификаторов элементов шаблона используют язык запросов XPath.
[00032] В некоторых вариантах осуществления технического решения инициируют формирование и сохранение связи операции или входного или выходного параметра операции с выбранным элементом шаблона при помощи элемента управления, отображаемого совместно со списками доступных для формирования связи операций, их входных и выходных параметров.
[00033] В некоторых вариантах осуществления технического решения сформированные связи элементов шаблона с операциями, их входными и выходными параметрами сохраняют на сервере в базу данных.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
[00034] Последующее описание и прилагаемые чертежи подробно формулируют конкретные иллюстративные аспекты технического решения. Однако эти аспекты показывают только некоторые из различных способов, в которых могут использоваться принципы данного технического решения.
[00035] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания и прилагаемых чертежей, на которых:
[00036] На Фиг. 1 изображен фрагмент возможной структуры базы данных с указанием атрибутного состава таблиц, примерного содержания таблиц и связей между таблицами (в виде стрелок), на котором обозначены:
[00037] таблица 100 операций, в которой хранятся метаданные операций;
[00038] таблица 101 параметров операций, в которой хранятся метаданные параметров операций; связь параметра операции из таблицы 101 с операцией в таблице 100 обеспечивается хранением значения идентификатора операции в составе метаданных параметра операции (в атрибуте «ID операции» таблицы 101);
[00039] таблица 102 шаблонов представления операций, в которой хранятся метаданные шаблонов;
[00040] таблица 103 путей к элементам шаблонов для операций, в которой хранятся пути к целевым элементам от корневых элементов шаблонов (в виде строк, содержащих цифровые представления числовых значений индексов дочерних элементов, расположенных слева-направо и разделенных символом точки с запятой), а также типы событий для элементов шаблонов, при которых инициируется выполнение операции; связь пути из таблицы 103 с шаблоном в таблице 102 обеспечивается хранением значения идентификатора шаблона в составе записи таблицы 103 (в атрибуте «ID шаблона» таблицы 103); связь пути из таблицы 103 с операцией в таблице 100 обеспечивается хранением значения идентификатора операции в составе записи таблицы 103 (в атрибуте «ID операции» таблицы 103);
[00041] таблица 104 путей к элементам шаблонов для параметров операций, в которой хранятся пути к целевым элементам от корневых элементов шаблонов (в виде строк, содержащих цифровые представления числовых значений индексов дочерних элементов, расположенных слева-направо и разделенных символом точки с запятой); связь пути из таблицы 104 с шаблоном в таблице 102 обеспечивается хранением значения идентификатора шаблона в составе записи таблицы 104 (в атрибуте «ID шаблона» таблицы 104); связь пути из таблицы 104 с параметром операции в таблице 101 обеспечивается хранением значения идентификатора параметра операции в составе записи таблицы 104 (в атрибуте «ID параметра» таблицы 104).
[00042] На Фиг. 2 изображен сокращенный фрагмент одного из возможных вариантов шаблона на языке HTML, на котором обозначены:
[00043] вспомогательный элемент 105 типа «горизонтальная линия»;
[00044] вспомогательная надпись 106;
[00045] элемент 107 шаблона для представления значения входного параметра «First_Name» операции «Write_Hello» и шаблонное значение 108 этого элемента;
[00046] элемент 109 шаблона для представления значения выходного параметра «Hello_Msg» операции «Write_Hello» и шаблонное значение 110 этого элемента;
[00047] элемент 111 шаблона для инициирования пользователем выполнения операции «Write_Hello».
[00048] На Фиг. 3 изображено визуальное представление браузером изображенного на Фиг. 2 сокращенного фрагмента одного из возможных вариантов шаблона на языке HTML, на котором обозначены:
[00049] вспомогательный элемент 105;
[00050] вспомогательная надпись 106;
[00051] шаблонные значения 108 и 110;
[00052] элемент 111 шаблона для инициирования пользователем выполнения операции.
[00054] пример 112 упрощенного шаблона представления операции на языке HTML с внедренным сервером элементом 113, который подключает библиотеку программного кода, находящуюся во внешнем файле с именем «markup_lib»;
[00055] внедренный сервером в шаблон элемент 114, который, после завершения загрузки шаблона браузером, обеспечивает вызов процедуры «prepare_for_markup» для подготовки шаблона к формированию и сохранению связей элементов шаблона с операцией и ее входными и выходными параметрами;
[00056] пример 115 упрощенного шаблона представления операции на языке HTML с внедренным сервером элементом 116, который содержит непосредственно программный код библиотеки, и, после завершения загрузки шаблона браузером, обеспечивает вызов процедуры «prepare_for_markup» для подготовки шаблона к формированию и сохранению связей элементов шаблона с операцией и ее входными и выходными параметрами;
[00057] идентификатор 117 операции, для которой будет осуществляться формирование и сохранение связей элементов шаблона с операцией и ее входными и выходными параметрами.
[00058] На Фиг. 5 изображено визуальное представление браузером изображенного на Фиг. 2 сокращенного фрагмента одного из возможных вариантов шаблона на языке HTML в режиме формирования и сохранения связей элементов с операцией и ее входными и выходными параметрами. На Фиг. 5 обозначены:
[00059] выбранный элемент 107, который графически выделен (рамкой из сплошных линий);
[00060] диалоговое окно 118, которое содержит список 119 доступных для формирования связи параметров операции и кнопку 120, предназначенную для запуска процедуры формирования и сохранения связи.
[00062] пример 121 упрощенного шаблона представления операции на языке HTML с внедренным сервером элементом 122, который подключает библиотеку программного кода, находящуюся во внешнем файле с именем «execution_lib»;
[00063] внедренный сервером в шаблон элемент 123, который, после завершения загрузки шаблона браузером, обеспечивает вызов процедуры с именем «prepare_for_execute» для подготовки элементов шаблона к вводу значений входных параметров операции, инициированию выполнения операции и представлению в шаблоне значений выходных параметров операции;
[00064] пример 124 упрощенного шаблона представления операции на языке HTML с внедренным сервером элементом 125, который содержит непосредственно программный код библиотеки и, после завершения загрузки шаблона браузером, обеспечивает вызов процедуры с именем «prepare_for_execute» для подготовки элементов шаблона к действиям пользователя по вводу значений входных параметров операции, инициированию выполнения операции и представлению в шаблоне значений выходных параметров операции;
[00065] идентификатор 126 операции.
[00067] свойство 127, в котором хранится название операции;
[00068] свойство 128, в котором хранится путь к элементу шаблона, используемого для инициирования выполнения операции;
[00069] свойство 129, в котором хранится тип события, которое должно быть вызвано для элемента, используемого для инициирования выполнения операции;
[00070] массив 130 входных параметров операции, элементы которого содержат наименования параметров и пути от корневого элемента шаблона к целевым элементам шаблона для представления значений входных параметров операции;
[00071] массив 131 выходных параметров операции, элементы которого содержат наименования параметров и пути от корневого элемента шаблона к целевым элементам шаблона для представления значений выходных параметров операции;
[00073] вспомогательная функция 132, которая принимает в качестве параметров корневой элемент DOM и путь (от этого корневого элемента) и возвращает элемент DOM, найденный по пути относительно корневого элемента;
[00074] функция 133 инициализации значений элементов шаблона, представляющих входные и выходные параметры операции;
[00076] пример 134 функции, которая принимает значения входных параметров «First_Name» и «Last_Name» и возвращает текст приветствия, как значение выходного параметра «Hello_Msg»;
[00077] функция 135 вызова выполнения операции с передачей значений входных параметров и с размещением значений выходных параметров;
[00078] функция 136 назначения обработчика события для элемента шаблона, предназначенного для инициирования выполнения операции.
[00079] На Фиг. 10 изображены: визуальное представление 137 браузером примера шаблона после подготовки элементов шаблона к вводу значений входных параметров операции, инициированию выполнения операции и представлению в шаблоне значений выходных параметров операции; визуальное представление 138 браузером примера шаблона с введенными значениями входных параметров «First_Name» и «Last_Name» операции «Write_Hello»; визуальное представление 139 браузером примера шаблона с размещенным в шаблоне значением выходного параметра «Hello_Msg» после инициированного выполнения операции «Write_Hello».
[00080] На Фиг. 11 изображена блок-схема варианта реализации способа подготовки документов на языках разметки при реализации пользовательского интерфейса для работы с данными информационной системы.
ПОДРОБНОЕ ОПИСАНИЕ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[00081] Приведенные в настоящей заявке примеры наименований и обозначений носят исключительно иллюстративный характер и не предназначены для идентификации ключевых или критических элементов технического решения, также они не влияют на объем испрашиваемой охраны, который определяется исключительно формулой технического решения.
[00082] В настоящем описании, с целью упрощения понимания сути технического решения, в основном приводятся примеры использования языка разметки HTML, однако специалисту в данном уровне техники очевидно, что предлагаемый способ может быть реализован с использованием любого другого языка разметки, который может поддерживаться браузерами и обеспечивает возможность иерархической организации элементов разметки и данных в составе документа на этом языке. К таким языкам относятся, например, некоторые приложения и подмножества метаязыка SGML.
[00083] Данное техническое решение может быть реализовано на компьютере, а также в виде компьютерной системы или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.
[00084] Данное техническое решение может быть реализовано на распределенной компьютерной системе.
[00085] Ниже будут приведены термины и их определения, используемые в заявке, необходимые для понимания сущности заявляемого технического решения.
[00086] Данные - интерпретируемое формализованным способом представление информации, подходящее для связи, интерпретации или обработки (ISO/IEC 2382:2015, 2121272 «data»);
[00087] Элемент данных - единица данных, которая в контексте рассматривается как неделимая («unit of data that is considered in context to be indivisible») (ISO/IEC 2382:2015, 2121599 «data element»);
[00088] База данных (БД) - совокупность данных, организованных в соответствии с концептуальной структурой, описывающей характеристики этих данных и взаимоотношения между ними, причем такое собрание данных, которое поддерживает одну или более областей применения (ISO/IEC 2382:2015, 2121413 «database»);
[00089] Метаданные - данные о данных или элементах данных, возможно, включая описание данных, и данные о владении данными, путях доступа, правах доступа и изменчивости данных (ISO/IEC 2382:2015, 2121505 «metadata»);
[00090] Сервер - функциональный блок в компьютерной сети, который предоставляет службы для рабочих станций, персональных компьютеров или других функциональных блоков (ISO/IEC 2382:2015, 2120558 «server»); функциональный блок, который обеспечивает общие службы для рабочих станций или других функциональных блоков по сети передачи данных (ISO/IEC 2382:2015, 2124462 «server»);
[00092] XPath (англ. XML Path Language) - язык адресации частей XML документа, предназначенный для использования с XSLT и XPointer (http://www.w3.org/TR/1999/REC-xpath-19991116/);
[00093] SGML (англ. Standard Generalized Markup Language) - стандартный обобщенный язык разметки - метаязык, на котором можно определять язык разметки для документов (ISO 8879:1986, «Standard Generalized Markup Language»);
[00094] Сущность - любая конкретная или абстрактная вещь, которая существует, существовала или могла бы существовать, включая объединение таких вещей (ISO/IEC 2382:2015, 2121433 «entity»);
[00095] Атрибут - именованное свойство сущности (ISO/IEC 2382:2015, 2121440 «attribute»);
[00096] Класс сущности - множество сущностей с общим атрибутным составом (ISO/IEC 2382:2015, 2121438 «entity class»);
[00097] Экземпляр сущности (экземпляр класса сущности) - конкретный экземпляр класса сущности (ISO/IEC 2382:2015, 2121439 «entity occurence»);
[00098] Значение атрибута - конкретное значение атрибута (ISO/IEC 2382:2015, 2121441 «attribute value»);
[00099] Операция - действие или совокупность действий над данными и/или метаданными, при которых происходит изменение по меньшей мере одного элемента данных или метаданных или создается или удаляется по меньшей мере один элемент данных или метаданных или формируется по меньшей мере одно результирующее значение.
[000100] Параметр (операции) - любое значение, которое передается на вход операции и влияет на результат операции (входной параметр) или формируется как результат операции (выходной параметр).
[000101] Шаблон (представления операции) - документ на языке разметки, в том числе существующий на машинном носителе, который может быть использован при реализации пользовательского интерфейса для работы с одной или многими операциями;
[000102] Элемент шаблона - наименьший неделимый структурный элемент шаблона (например, тег HTML);
[000103] Тип шаблона - элемент метаданных шаблона, указывающий на его предназначение, например, «для устройств с сенсорными экранами», «для людей с ограниченными возможностями» и т.д.; шаблоны разных типов могут иметь различия в структуре и внешнем виде; шаблоны, предназначенные для представления сущности на разных языках пользователей, также могут иметь различия в структуре и внешнем виде;
[000104] DOM (англ. Document Object Model) - независимый от платформы и языка интерфейс, который позволяет программам и скриптам динамически получать доступ и обновлять содержимое, структуру и стиль документов (http://www.w3.org/DOM/);
[000106] Drag-and-Drop - способ оперирования элементами интерфейса в интерфейсах пользователя при помощи манипулятора типа «мышь» или иного указателя;
[000107] Распределенная компьютерная система - это набор независимых компьютеров (компьютерных устройств), представляющийся их пользователям единой объединенной системой;
[000108] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
[000109] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD).
[000110] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[000111] Согласно осуществлению способа подготовки документов на языках разметки при реализации пользовательского интерфейса для работы с данными информационной системы (Фиг.11):
[000112] Шаг 140: формируют метаданные для, по меньшей мере, одной операции;
[000113] В примерных вариантах осуществления, операция имеет по меньшей мере один параметр, который может быть входным или выходным.
[000114] В примерных вариантах осуществления, параметром операции может быть идентификатор экземпляра сущности, который может передаваться, например, в операцию, осуществляющую удаление экземпляра сущности из базы данных. Или, например, несколько введенных пользователем значений передаются в операцию создания экземпляра сущности как параметры и, при создании экземпляра сущности, сохраняются в базу данных как значения атрибутов экземпляра сущности.
[000115] Формирование метаданных операций заключается в инициализации элементов метаданных при помощи обычных инструментов работы со справочниками, известных из уровня техники. При этом инициализируются и сохраняются на сервере и/или в базе данных, например, такие элементы метаданных как «идентификатор операции», «название операции», «описание операции», набор «входных параметров» и набор «выходных параметров», а также «программа операции», исполнение которой, собственно, и будет служить достижению целей операции.
[000116] Операции хранят данные только в течение времени исполнения, а экземпляры классов сущностей обычно предназначены для долговременного хранения данных.
[000117] Шаг 141: формируют шаблон представления вышеупомянутой операции, состоящий, по меньшей мере, из одного документа, сформированного на, по меньшей мере, одном языке разметки; [000118] В некоторых вариантах осуществления технического решения при формировании шаблона операции используют язык разметки включая, но не ограничиваясь, HTML, XML, XHTML, DocBook.
[000119] В некоторых вариантах осуществления технического решения документы на языках разметки формируют при помощи соответствующего языку разметки программного обеспечения, включая, но не ограничиваясь, текстовые редакторы с подсветкой синтаксиса, WYSIWYG-редакторы, в том числе онлайн-редакторы.
[000120] В шаблонах представления операций создают элементы, которые будут представлять значения входных и выходных параметров операций, элементы для инициирования пользователем выполнения операций, а также создают вспомогательные элементы, включая, но не ограничиваясь, пояснительные надписи, фоновые изображения, разделительные линии и другие элементы.
[000121] В некоторых вариантах осуществления технического решения, элементам шаблона, предназначенным для представления значений параметров операции, устанавливают значения по типу и размеру данных соответствующие параметрам операции.
[000122] В некоторых вариантах осуществления технического решения сформированный шаблон сохраняют на сервере в базу данных.
[000123] Шаг 142: формируют и сохраняют связь шаблона и, по меньшей мере, одной операции;
[000124] В некоторых вариантах осуществления технического решения формирование связи между шаблоном и операцией обеспечивается посредством выбора операции из полученного с сервера набора операций и выбора шаблона (файл, WYSIWYG-редактор, но не ограничиваясь), что обеспечивает связь между операцией и шаблоном.
[000125] В некоторых вариантах осуществления технического решения информация о сформированной связи сохраняется на сервере в базе данных. На Фиг. 1 изображен один из возможных вариантов хранения связи шаблона с операцией: связь шаблона из таблицы 102 с операцией в таблице 100 обеспечивается хранением значений идентификаторов операции и шаблона в составе записи таблицы 103 путей к элементам шаблонов для операций в атрибутах «ID операции» и «ID шаблона» соответственно.
[000126] В некоторых вариантах осуществления технического решения в составе информации о сформированной связи шаблона и операции дополнительно сохраняют идентификатор типа шаблона (например, указывающий на его предназначение: «для устройств с сенсорными экранами», «для людей с ограниченными возможностями» и др.) и идентификатор языка пользователей, с использованием которого сформированы значения вспомогательных элементов шаблона (например, текстовых поясняющих надписей или содержащих текст изображений).
[000127] Шаг 143: отображают шаблон, формируют и сохраняют связи элементов шаблона с операциями, при этом:
[000128] выбирают элемент шаблона и отображают информацию о доступных для формирования связи операциях; выбирают операцию; формируют и сохраняют связь, содержащую идентификатор выбранного ранее элемента шаблона и идентификатор выбранной ранее операции.
[000129] Формирование связей элементов шаблона с операциями может осуществляться в браузере, что позволяет работать удаленно, например, используя сеть Интернет.
[000130] В некоторых вариантах осуществления технического решения для получения шаблона с целью формирования и сохранения связей элементов шаблона с операциями, их входными и выходными параметрами, инициируют получение шаблона в браузере, который, в свою очередь, обращается к серверу с запросом на получение шаблона. Сервер извлекает шаблон из базы данных и внедряет в него элемент, подключающий библиотеку программного кода, предназначенного для формирования и сохранения связей элементов шаблона с операциями, их входными и выходными параметрами, а также внедряет в шаблон элемент с идентификаторами операций, используя информацию о связи шаблона и операций, сформированную и сохраненную в базу данных на предыдущем шаге способа; после чего передает шаблон браузеру для отображения. На Фиг. 4 изображен пример 112 упрощенного шаблона представления операции с внедренным сервером элементом 113, который подключает библиотеку программного кода, находящуюся во внешнем файле с именем «markup_lib», и внедренным сервером элементом 114, содержащим идентификатор 117 операции.
[000131] В некоторых вариантах осуществления технического решения сервер извлекает шаблон из базы данных и внедряет в него элемент, содержащий программный код, предназначенный для формирования и сохранения связей элементов шаблона с операциями, их входными и выходными параметрами, и идентификатор операции, используя информацию о связи шаблона и операции, сформированную и сохраненную в базу данных на предыдущем шаге способа; после чего передает шаблон браузеру для отображения. На Фиг. 4 изображен пример 115 упрощенного шаблона представления операции с внедренным сервером элементом 116, который содержит программный код и идентификатор 117 операции.
[000133] В некоторых вариантах осуществления технического решения библиотеку программного кода, предназначенного для формирования и сохранения связей элементов шаблона с операциями, их входными и выходными параметрами, располагают на удаленном сервере, доступ к которому осуществляют по сети Интернет.
[000134] В некоторых вариантах осуществления технического решения, при наведении курсора (или иного указателя) на элемент шаблона, данный элемент графически выделяют для облегчения выбора элемента для формирования связи элемента с операцией, ее входным или выходным параметром.
[000135] В некоторых вариантах осуществления технического решения, при выборе элемента шаблона, отображают получаемую с удаленного сервера информацию о доступных для формирования связи операциях, их входных и выходных параметрах. На Фиг. 5 изображено визуальное представление браузером изображенного на Фиг. 2 сокращенного фрагмента одного из возможных вариантов шаблона на языке разметки HTML в режиме формирования связей элементов шаблона с операциями, их входными и выходными параметрами.
[000136] В некоторых вариантах осуществления технического решения, информацию о доступных для формирования связи операциях, их входных и выходных параметрах, отображают в виде списков, в которые включают только свободные, еще не связанные к каким-либо элементом шаблона операции, их входные и выходные параметры.
[000137] В некоторых вариантах осуществления технического решения, информацию о доступных для формирования связи операциях, их входных и выходных параметрах, отображают в отдельном окне браузера или в перемещаемой области внутри окна с шаблоном, при этом формирование связей с элементами шаблона осуществляют с использованием способа Drag-and-Drop.
[000138] В некоторых вариантах осуществления технического решения производят выбор операции, ее входных и выходных параметров, тем самым формируя и сохраняя связь с выбранным ранее элементом шаблона.
[000139] В некоторых вариантах осуществления технического решения производят выбор операции, ее входных и выходных параметров, и, далее, инициируют формирование и сохранение связи с ранее выбранным элементом шаблона при помощи элемента управления, например, кнопки, отображаемой совместно со списками доступных для формирования операций, их входных и выходных параметров. На Фиг. 5 изображена кнопка 120, запускающая процедуру формирования и сохранения связи выбранного в списке 119 параметра «First_Name» с ранее выбранным элементом 107 шаблона.
[000140] В некоторых вариантах осуществления технического решения информация о сформированной и сохраненной связи содержит идентификатор операции или входного или выходного параметра операции и идентификатор элемента шаблона. Под идентификатором элемента шаблона понимается любая информация, позволяющая исполняемому браузером программному коду получить доступ к данному элементу шаблона.
[000142] В некоторых вариантах осуществления технического решения, в случае использования шаблонов на языке HTML, в качестве корневого элемента используют элемент BODY.
[000143] В некоторых вариантах осуществления технического решения, при формировании и сохранении связи элемента шаблона с операцией или ее входным или выходным параметром, в качестве идентификатора элемента шаблона используют путь к элементу шаблона от корневого элемента DOM.
[000144] В некоторых вариантах осуществления технического решения в качестве идентификатора элемента шаблона используют значение атрибута ID данного элемента шаблона.
[000145] В некоторых вариантах осуществления технического решения уникальные для шаблона значения атрибута ID устанавливают для всех элементов шаблона автоматически после формирования связи шаблона с операцией.
[000146] В некоторых вариантах осуществления технического решения уникальное для шаблона значение атрибута ID устанавливают автоматически для элемента шаблона в процессе формирования связи этого элемента с операцией или ее входным, или выходным параметром.
[000147] В некоторых вариантах осуществления технического решения в качестве идентификатора элемента шаблона используют выражение для запроса на языке XPath.
[000148] В некоторых вариантах осуществления технического решения в качестве идентификатора элемента шаблона используют уникальное значение элемента.
[000149] В некоторых вариантах осуществления технического решения для получения идентификаторов элементов шаблона используют язык запросов XPath.
[000150] В некоторых вариантах осуществления технического решения после формирования связи элемента шаблона с операцией или ее входным или выходным параметром, этот элемент графически выделяют.
[000151] В некоторых вариантах осуществления технического решения, сформированные связи элементов шаблона с операциями, их входными и выходными параметрами, сохраняют на сервере в базу данных.
[000152] В некоторых вариантах осуществления технического решения пути к элементам шаблона сохраняются в виде строк, содержащих цифровые представления числовых значений индексов, расположенных слева-направо или справа-налево, и разделенных специальным символом или группой символов. Так, в таблице 104, изображенной на Фиг. 1, путь к изображенному на Фиг. 2 элементу 107 от элемента BODY сохранен в виде строки «1;1;3». В таблице 104, изображенной на Фиг. 1, путь к изображенному на Фиг. 2 элементу 109 от элемента BODY сохранен в виде строки «5;1;3». В таблице 103, изображенной на Фиг. 1, путь к изображенному на Фиг. 2 элементу 111 от элемента BODY сохранен в виде строки «5;1;1».
[000153] Специалисту в данном уровне техники, очевидно, что в качестве базы данных может использоваться любой тип базы данных, известный из уровня техники. Например, иерархические, сетевые, реляционные и объектно-ориентированные базы данных.
[000154] Результаты работы способа подготовки документов на языках разметки при реализации пользовательского интерфейса для работы с данными информационной системы могут использоваться, но не ограничиваясь, следующим образом:
[000155] получают шаблон представления операции;
[000156] Инициируют в браузере запрос к серверу на выполнение операции. В составе запроса браузер передает серверу идентификатор операции. Используя идентификатор операции, сервер обращается к базе данных и извлекает из таблицы 103 идентификатор шаблона представления операции и, далее, извлекает из таблицы 104 имя файла шаблона. Сервер внедряет в шаблон элемент, подключающий библиотеку программного кода, обеспечивающую получение браузером (на следующем шаге способа) необходимых метаданных операции и ее входных и выходных параметров; подготовку элементов шаблона для выполнения операции, а также обеспечивающую ввод значений входных параметров операции, инициирование выполнения операции и размещение в шаблоне значений выходных параметров операции; дополнительно сервер внедряет в шаблон элемент с идентификатором операции, после чего передает шаблон браузеру для отображения. На Фиг. 6 изображен пример 121 варианта внедрения элемента для подключения библиотеки и внедрения идентификатора операции, в случае, если библиотека находится во внешнем файле.
[000157] В некоторых вариантах осуществления технического решения сервер внедряет в шаблон непосредственно программный код библиотеки. На Фиг. 6 изображен пример 124 варианта внедрения элемента для подключения библиотеки и внедрения идентификатора операции, в случае, если в шаблон внедряется непосредственно составляющий библиотеку программный код.
[000159] В некоторых вариантах осуществления технического решения, внешняя библиотека может быть расположена на удаленном сервере, доступ к которому осуществляется по сети Интернет.
[000160] получают метаданные операций и их входных и выходных параметров, в том числе информацию о связях операций и их входных и выходных параметров с элементами шаблонов;
[000161] В некоторых вариантах осуществления технического решения получение метаданных операций осуществляют с использованием концепции AJAX.
[000163] отображают шаблон;
[000164] В некоторых вариантах осуществления технического решения программный код подключенной ранее библиотеки использует помещенный на предыдущем шаге в памяти браузера объект с метаданными операции и ее входных и выходных параметров для инициализации соответствующих элементов шаблона. Например: изображенная на Фиг. 8 функция 133 сначала в цикле обращается к массиву 130 объектов (в которых хранятся наименования входных параметров операции и пути к элементам шаблона для представления значений входных параметров операции) и, используя вспомогательную функцию 132, находит элементы шаблона, после чего замещает шаблонные значения элементов пробелом, а также устанавливает для элементов значение атрибута CONTENTEDITABLE равное TRUE; затем функция 133 в цикле обращается к массиву 131 объектов (в которых хранятся наименования выходных параметров операции и пути к элементам шаблона для представления значений выходных параметров операции) и, используя вспомогательную функцию 132, находит элементы шаблона, после чего удаляет шаблонные значения элементов; изображенная на Фиг. 9 функция 136, используя вспомогательную функцию 132, по содержащемуся в свойстве 128 пути находит элемент шаблона, предназначенный для инициирования выполнения операции, и назначает ему, в качестве обработчика указанного в свойстве 129 события, операцию, указанную в свойстве 127. На Фиг. 10 изображено визуальное представление 137 браузером примера шаблона после подготовки элементов шаблона к вводу значений входных параметров операции, инициированию выполнения операции и представлению в шаблоне значений выходных параметров операции, которое соответствует изображенному на Фиг. 7 примеру объекта в памяти браузера и примерам возможного состава метаданных, изображенных на Фиг. 1
[000165] В некоторых вариантах осуществления технического решения пути к элементам шаблона используют только для первоначального поиска. Далее этим элементам назначают временные синтетические идентификаторы (используя атрибут ID), чтобы сократить время обращения к элементам за счет использования предоставляемой DOM возможности поиска элементов по значению атрибута ID.
[000166] осуществляют ввод значений входных параметров операции;
[000167] Ввод значений входных параметров операции заключается в изменении значений элементов шаблона операции в его представлении в браузере. На Фиг. 10 изображено визуальное представление 138 браузером примера шаблона после ввода значений входных параметров операции.
[000168] В некоторых вариантах осуществления технического решения, в случае использования шаблонов на языке HTML, используют возможность изменения значений параметров операции в режиме WYSIWYG, для чего программный код ранее подключенной библиотеки дополнительно устанавливает соответствующих элементам шаблона значение атрибута CONTENTEDITABLE равное TRUE.
[000169] В некоторых вариантах осуществления технического решения ввод значений входных параметров операций осуществляют с использованием диалогового окна, которое появляется при выборе соответствующего элемента шаблона.
[000170] В некоторых вариантах осуществления технического решения с целью облегчения ввода значений входных параметров операций, те элементы шаблона, которые содержат доступные для ввода значения, графически выделяют.
[000171] В некоторых вариантах осуществления технического решения с целью облегчения ввода значений входных параметров операций, те элементы шаблона, которые содержат уже введенные значения, графически выделяют.
[000172] инициируют выполнение операции.
[000173] Инициирование выполнения операции заключается в осуществлении действия с элементом шаблона, которое приводит к возникновению в контексте данного элемента события, в качестве обработчика которого ранее был назначен вызов операции. Так, в соответствии с изображенным на Фиг. 7 примером объекта в памяти браузера, инициируют выполнение операции путем нажатия кнопки указателя типа «мышь», касанием элемента на сенсорном экране или иным образом вызывая возникновение в контексте элемента 111 события «onclick». Браузер запускает обработчик события, в качестве которого ранее был назначен вызов изображенной на Фиг. 9 функции 135, которая: в цикле по массиву 130 входных параметров операции, используя вспомогательную функцию 132, находит элементы шаблона и формирует из их значений массив входных параметров операции; осуществляет выполнение операции с передачей входных параметров; в цикле по массиву 131 выходных параметров операции, используя вспомогательную функцию 132, находит элементы шаблона и инициализирует их значениями выходных параметров. На Фиг. 10 изображено визуальное представление 139 браузером примера шаблона после инициирования выполнения операции и размещения значений выходных параметров операции в связанных элементах шаблона.
[000174] В некоторых вариантах осуществления технического решения для элемента шаблона вызов операции назначают в качестве обработчика более, чем одного события, для чего в составе метаданных операций также сохраняют более одного события.
[000175] Настоящее подробное описание составлено с приведением различных, не имеющих ограничительного и исчерпывающего характера вариантов осуществления. В то же время, специалистам, имеющим средний уровень компетентности в рассматриваемой области техники, очевидно, что различные замены, модификации или сочетания любых раскрытых здесь вариантов осуществления (в том числе частично) могут быть воспроизведены в пределах объема настоящего технического решения. Таким образом, подразумевается и понимается, что настоящее описание включает дополнительные варианты осуществления, суть которых не изложена здесь в явно выраженной форме. Такие варианты осуществления могут быть получены путем, например, сочетания, модификации или преобразования каких-либо действий, компонентов, элементов, свойств, аспектов, характеристик, ограничений и пр., относящихся к приведенным здесь и не имеющим ограничительного характера вариантам осуществления.