RU2390822C2 - Способ и устройство создания пользовательских интерфейсов на основе автоматизации с возможностью полной настройки - Google Patents

Способ и устройство создания пользовательских интерфейсов на основе автоматизации с возможностью полной настройки Download PDF

Info

Publication number
RU2390822C2
RU2390822C2 RU2005116964/09A RU2005116964A RU2390822C2 RU 2390822 C2 RU2390822 C2 RU 2390822C2 RU 2005116964/09 A RU2005116964/09 A RU 2005116964/09A RU 2005116964 A RU2005116964 A RU 2005116964A RU 2390822 C2 RU2390822 C2 RU 2390822C2
Authority
RU
Russia
Prior art keywords
logical
screen
target
model
logical form
Prior art date
Application number
RU2005116964/09A
Other languages
English (en)
Other versions
RU2005116964A (ru
Inventor
Фредди КРИСТИАНСЕН (US)
Фредди КРИСТИАНСЕН
Йенс МЕЛЛЕР-ПЕДЕРСЕН (US)
Йенс МЕЛЛЕР-ПЕДЕРСЕН
Йеспер Теил ХАНСЕН (US)
Йеспер Теил ХАНСЕН
Пер БЕНДСЕН (US)
Пер БЕНДСЕН
Петер КРИСТЕНСЕН (US)
Петер КРИСТЕНСЕН
Петер СЛОТ (US)
Петер СЛОТ
Петер ВИЛЛАДСЕН (US)
Петер ВИЛЛАДСЕН
Уффе КЬЯЛЛ (US)
Уффе КЬЯЛЛ
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2005116964A publication Critical patent/RU2005116964A/ru
Application granted granted Critical
Publication of RU2390822C2 publication Critical patent/RU2390822C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

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

Description

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Настоящим осуществлена ссылка на нижеследующие одновременно рассматриваемые и совместно переданные заявки на патент, поданные, таким образом, с той же датой: заявка на патент в США с порядковым номером №_, озаглавленная "METHOD AND APPARATUS FOR GENERATING FORMS USING FORM TYPES" (Способ и устройство создания форм с использованием типов форм) и заявка на патент в США с порядковым номером №_, озаглавленная "METHOD AND APPARATUS FOR MAPPING A DATA MODEL TO A USER INTERFACE MODEL" (Способ и устройство отображения модели данных на модель пользовательского интерфейса), обе из которых являются полностью включенными путем ссылки.
УРОВЕНЬ ТЕХНИКИ
Настоящее изобретение относится к созданию (генерированию) форм. Более конкретно настоящее изобретение относится к способам и устройству, предназначенным для создания пользовательских интерфейсов (ПИ, UI) в виде экранных форм или формообразных (документальных) интерфейсов.
В обычных программных продуктах и приложениях, предназначенных для предприятий (деловых операций), таких как системы планирования ресурсов предприятия (ПРП, ERP) и системы управления взаимосвязями с клиентами (УВК, CRM), используют большое количество экранных форм или формообразных пользовательских интерфейсов. Формой является окно на экране дисплея, диалоговое окно, страница или другой элемент пользовательского интерфейса, предназначенный для просмотра и/или ввода данных. Является нередким, что количество экранных форм, которые используют вместе с программной прикладной системой для предприятия или бизнес-приложением, превышает несколько тысяч.
Разработка большого количества форм традиционно являлась трудоемкой задачей для разработчиков программного обеспечения.
Более того, возрастает сложность в бизнес-приложении, таком как система ПРП, система УВК, и в других приложениях, основанных на формах. Это вызвано множеством факторов, включая: (1) возрастающее количество форм в каждой системе, которое является следствием возросших функциональных возможностей; (2) возрастающее концентрирование внимания на удобстве и простоте использования, исходящее от конечных пользователей, которые привыкли к удобству и простоте использования web-страницы; (3) возрастающее количество различных инструментальных сред или платформ, устройств, и технологий (технических решений); (4) возрастающее концентрирование внимания на обеспечении безопасности, которое может приводить к использованию различных форм в зависимости от прав пользователя; и (5) возрастающее требование гибкости (приспособляемости), эффективности и настройки на требования конкретного пользователя (персонализации). В то же время имеется стимул разрабатывать систему быстрее и с более высоким качеством.
В качестве примера практического бизнес-приложения можно рассмотреть Microsoft Business Solutions-Axapta® компании Майкрософт, которое имеет приблизительно 3000 таблиц, приводя к использованию приблизительно 2000 форм. Каждая форма должна быть настроена или согласована по элементам с компоновкой каждой таблицы, на основании/из которой осуществляют привязку данных, относящихся ко времени исполнения. Формы и связанная с формами логика (обработки) должны быть настраиваемыми всякий раз в случае, когда компоновка таблицы изменяется и когда изменяется бизнес-логика. Увеличивает сложность возрастающее количество различных технологий клиентских платформ. Классический пользовательский интерфейс системы Windows теперь сопровождают Web-браузером. В ближайшем будущем, персональный цифровой ассистент (ПЦА, PDA), телефон сотовой связи и другие технологии ПИ будут вносить свой вклад в эту тенденцию.
Интернет научил конечных пользователей, что им не требуется 14-дневный курс обучения тому, как использовать приложение. Конечные пользователи ожидают, что приложения будут вести их через задачи, и они ожидают, что приложение будет выглядеть привлекательно. Поскольку все большее число пользовательских ролей открывают для информационной технологии, представляемой посредством бизнес-приложений, имеется возрастающее требование, чтобы формы отражали информацию, необходимую каждому пользователю, и задачи, которые каждая роль должна выполнять. В конечном счете требования к опыту пользователя возрастают.
Как правило, опыт пользователя и опыт разработчика работают в противоположных направлениях. Создание и поддерживание хорошего опыта пользователя требует более длительного времени от разработчика приложений. Представление наличия превосходного опыта пользователя и в то же время поддержка высокой производительности разработчика могут казаться противоречащими. Это особенно справедливо в области создания форм для бизнес-приложений.
Приложения, представляющие информацию, должны обеспечить своих пользователей насколько возможно развитым опытом на платформах с весьма разнообразными возможностями (в пределах от имеющих широкие возможности клиентов, исполняющихся на настольном компьютере пользователя, до Web-клиентов, исполняющихся в браузере пользователя, до персональных цифровых ассистентов, устройств на основе телефонии и даже речевых интерфейсов). Разработчик бизнес-архитектуры использует свои знания в разработке деловых операций, чтобы решать задачи для заказчика. Это лицо (специалист) не является разработчиком компьютерной программы и должно быть защищено от сложностей разработки программы.
Настоящее изобретение обеспечивает решения для одной или нескольких вышеописанных задач и/или обеспечивает другие преимущества над предшествующим уровнем техники.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Обеспечены способ, машиночитаемый носитель и система, которые создают управляемый в соответствии с моделью формообразный пользовательский интерфейс, предназначенный для представления модели приложения/бизнес-модели (которую также называют моделью данных или моделью предметной области). Способ включает в себя выбор, какой тип из многих различных типов логических форм применить к логической форме, чтобы создать формообразный пользовательский интерфейс для представления модели приложения. Способ также включает в себя обеспечение первого отображения. Независимую от целевого объекта, выводимого на экран дисплея, логическую форму, или независимую от целевого объекта экрана логическую форму, создают, используя модель приложения, выбранный тип формы и первое отображение. В вариантах осуществления настоящего изобретения первое отображение является декларативным отображением, хотя в некоторых вариантах осуществления оно может содержать императивно определенные функции или аспекты.
Создание независимой от целевого объекта экрана логической формы с использованием первого отображения включает в себя осуществление отображения типов свойств для элементов данных модели приложения на независимые от целевого объекта экрана логические управляющие элементы (находящиеся) в независимой от целевого объекта экрана логической форме. В некоторых вариантах осуществления первое отображение является внешним по отношению к процессору формирования отображений, используемому для создания независимой от целевого объекта экрана логической формы.
В некоторых вариантах осуществления декларативно применяемые элементы поведения расширяют функциональные возможности независимой от целевого объекта экрана логической формы. Декларативно применяемые элементы поведения присоединяют к независимой от целевого объекта экрана логической форме и активизируют посредством событий в форме. Декларативные поведения могут быть моделями логики, которая в зависимости от значений и свойств логического управляющего элемента устанавливает свойства на других управляющих элементах.
Способ также может включать в себя дополнительный этап формирования отображения логической формы на физическую форму, используя второе отображение. Тогда как логическая форма включает в себя набор логических управляющих элементов, физическая форма содержит набор физических управляющих элементов, доступных для использования в визуальном воспроизведении, или визуализации, логической формы на целевом объекте экрана. Формирование отображения логической формы на физическую форму с использованием второго отображения включает в себя отображение каждого элемента из логических управляющих элементов, находящихся в логической форме, на один элемент из набора доступных физических управляющих элементов. Оно обычно также включает в себя формирование отображения на определенную компоновку для конкретного типа формы на конкретном целевом объекте экрана.
Другие признаки и преимущества, которые отличают воплощения настоящего изобретения, будут очевидны после рассмотрения нижеследующего подробного описания и анализа сопровождающих чертежей.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - блок-схема одной примерной среды, в которой может быть использовано настоящее изобретение.
Фиг.2 - блок-схема обычной мобильной вычислительной среды (среды мобильных вычислений), в которой может быть осуществлено настоящее изобретение.
Фиг.3-1 - схематическая иллюстрация использования типов форм согласно настоящему изобретению для создания логических форм и физических форм.
Фиг.3-2 - схематическая иллюстрация использования типов форм, показанных на Фиг.3-1, дополнительно иллюстрирующая связь между типами форм и созданием логических форм и физических форм.
Фиг.4-1 - блок-схема, иллюстрирующая примерную бизнес-модель.
Фиг.4-2 - блок-схема, иллюстрирующая логический объект бизнес-модели, отображенный на форму.
Фиг.5-1 - блок-схема, иллюстрирующая последовательность операций создания моделей с использованием отображений и других моделей.
Фиг.5-2 - блок-схема, иллюстрирующая последовательность операций создания конкретной или зависимой от целевого объекта экрана модели на основании исходной модели приложения или бизнес-модели посредством последовательности отображений.
Фиг.5-3 - блок-схема, иллюстрирующая обработку типа, показанного на Фиг.4-1 и 4-2, для примерного варианта осуществления.
Фиг.5-4 - блок-схема, иллюстрирующая примерную последовательность операций отображения, в которой логический объект или сущность бизнес-модели сначала отображают на независимую от целевого объекта экрана форму вместе со свойствами сущности, отображаемыми на управляющие элементы, чтобы создать независимую от целевого объекта экрана логическую форму, и затем логическую форму отображают на целевой объект(ы) экрана.
Фиг.6 - блок-схема, иллюстрирующая для настоящего изобретения аспекты периода времени проектирования и периода времени исполнения и иллюстрирующая, что логический уровень является мостом (промежуточным) между бизнес-логикой и целевым объектом экрана.
Фиг.7 - блок-схема, иллюстрирующая логические формы, отображенные на конкретные для целевого объекта экрана технологии визуализации.
Фиг.8 - схематическое иллюстрирование идей настоящего изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Вместе с неизменно возрастающей сложностью бизнес-приложений и других управленческих или основанных на формах программных приложений возрастает потребность автоматизации. Настоящее изобретение обеспечивает способ содействия и расширения такой автоматизации. Настоящее изобретение использует автоматизированный и декларативный (основанный на описаниях) подход для разработки пользовательских интерфейсов без риска ограничения свободы введения новшеств.
Используя системы и способы настоящего изобретения, разработчики приложений могут сосредотачиваться на разработке бизнес-модели. Бизнес-модель (унифицированный язык моделирования (УЯМ, UML), схемы бизнес-ресурсов (БР), класс и т.д.) затем отображают на технологически независимый промежуточный формат, который вновь посредством одного или нескольких этапов отображают на конкретные для целевого объекта экрана технологии и компоновку (Windows, Web-браузер, PDA, телефон и т.д). Разработчики структуры приложения затем могут независимо от разработчиков приложений расширять конкретную для целевого объекта экрана технологию и применять ее к взятому в целом разработанному приложению. Промежуточный формат создают один раз для одной формы и используют для нескольких целевых объектов экрана. Осуществление отображения по своей сути является гибким вследствие открытых и изменяемых (представлений) отображений, используемых процессорами отображений. Промежуточные модели ПИ и конечные форматы целевого объекта экрана также являются открытыми и изменяемыми, предоставляя возможность особенного уровня гибкости. Нижеследующие обсуждения дополнительно иллюстрируют идеи изобретения.
На Фиг.1 проиллюстрирован пример подходящей среды 100 вычислительной системы, в которой может быть осуществлено изобретение. Среда 100 вычислительной системы является лишь одним примером подходящей вычислительной среды и не подразумевает подсказку каких-либо ограничений относительно области использования или функциональных возможностей изобретения. Не следует интерпретировать вычислительную среду 100 в качестве имеющей какую-либо зависимость или требование, относящиеся к любому компоненту или комбинации компонентов, проиллюстрированных в примерной операционной среде 100.
Изобретение является действующим вместе с многочисленными другими средами или конфигурациями вычислительных систем общего назначения или специального назначения. Примеры известных вычислительных систем, сред и/или конфигураций, которые могут быть подходящими для использования вместе с изобретением, включают в себя, но не ограничены таковыми, персональные компьютеры, серверные компьютеры, переносные (ручные) или портативные устройства, многопроцессорные системы, микропроцессорные системы, телевизионные абонентские приставки, программируемое бытовое электронное оборудование, сетевые персональные компьютеры (ПК, PC), мини-ЭВМ, универсальные (большие) ЭВМ, распределенные вычислительные среды, которые включают в себя любые из вышеупомянутых систем или устройств, и подобное.
Изобретение может быть описано в общем контексте машиноисполнимых команд, таких как программные модули, исполняемые посредством компьютера. В целом программные модули включают в себя подпрограммы (процедуры), программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют специальные абстрактные типы данных. Изобретение также может быть осуществлено практически в распределенных вычислительных средах, в которых задачи выполняют посредством устройств удаленной обработки, которые являются связанными через сеть связи. В распределенной вычислительной среде программные модули могут находиться в запоминающей среде как локального, так и удаленного компьютера, включая запоминающие устройства для хранения данных.
Со ссылкой на Фиг.1 примерная система для осуществления настоящего изобретения включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не являются ограниченными таковыми, блок 120 обработки (процессор), системное запоминающее устройство 130 и системную шину 121, которая связывает различные системные компоненты, включая системное запоминающее устройство, с блоком 120 обработки. Системная шина 121 может быть произвольным типом из нескольких типов шинных архитектур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую шинную архитектуру из множества шинных архитектур. В качестве примера, а не ограничения, такие архитектуры включают в себя шину стандартной промышленной архитектуры (ISA), шину микроканальной архитектуры (МСА), шину расширенной ISA (EISA) локальную шину стандарта Ассоциации по стандартам в области видеоэлектроники (VESA) и шину межсоединения (PCI) периферийных компонентов, известную также как шина расширения (шина второго уровня).
Компьютер 110 обычно включает в себя набор машиночитаемых носителей. Машиночитаемые носители могут быть любыми имеющимися носителями, к которым может осуществлять доступ компьютер 110, и включают в себя и энергозависимые, и энергонезависимые носители, сменные и несменные носители. В качестве примера, а не ограничения, машиночитаемые носители могут содержать носители (для) запоминающих устройств компьютера и носители (для) передачи данных. Носители запоминающих устройств включают в себя энергозависимые и энергонезависимые, сменные и несменные носители, осуществленные любым способом или технологией, которые предназначены для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Носители запоминающих устройств компьютера включают в себя, но не ограничены таковыми: оперативное запоминающее устройство (ОЗУ, RAM), постоянное запоминающее устройство (ПЗУ, ROM), электрически стираемое программируемое ПЗУ (ЭСППЗУ, EEPROM), флэш-память или другую технологию запоминающего устройства, постоянное запоминающее устройство на компакт-диске (КД-ПЗУ, CD-ROM), цифровые универсальные диски (ЦУД, DVD) или другое хранилище на оптическом диске, магнитные кассеты, магнитную ленту, хранилище на магнитном диске или другие запоминающие устройства на магнитных носителях или любой другой носитель, который может быть использован для хранения требуемой информации и к которому может осуществлять доступ компьютер 110. Носитель передачи данных обычно воплощает машиночитаемые команды, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая или другое транспортное средство, и включает в себя любой носитель для доставки информации. Термин «модулированный сигнал данных» означает сигнал, у которого есть одна или несколько характеристик, устанавливаемых или изменяемых таким образом, чтобы в сигнале закодировать информацию. В качестве примера, а не ограничения, среда для передачи данных включает в себя проводной носитель, такой как проводная сеть или соединение непосредственно проводами, и беспроводной носитель, такой как акустический, радиочастотный (ВЧ, RF), инфракрасного света и другие беспроводные носители. Комбинации из любых из вышеуказанных следует также включать в рамки машиночитаемых носителей.
Системное запоминающее устройство 130 включает в себя носители для запоминающего устройства в виде энергозависимого и/или энергонезависимого запоминающего устройства, такого как постоянное запоминающее устройство (ПЗУ, ROM) 131 и оперативное запоминающее устройство (ОЗУ, RAM) 132. Базовую систему 133 ввода-вывода (БСВВ, BIOS), содержащую базовые процедуры, которые помогают передавать информацию между элементами внутри компьютера 110, как, например, при запуске, обычно хранят в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, которые являются непосредственно доступными для блока 120 обработки и/или обрабатываемыми им в настоящий момент. В качестве примера, а не ограничения, на Фиг.1 проиллюстрирована операционная система 134, прикладные программы 135, другие программные модули 136 и программные данные 137. Отдельную группу прикладных программ называют бизнес-приложениями. Они адресованы руководству предприятия, включая, но не являются ограниченными таковыми, обработку общей бухгалтерской книги, реестра запасов предприятия, заработной платы, заказчиков, продаж, закупок, финансовых отчетов и любых других данных, относящихся к деловым.
Компьютер 110 может также включать в себя другие сменяемые/несменяемые энергозависимые/энергонезависимые носители для запоминающего устройства компьютера. В качестве примера только на Фиг.1 проиллюстрирован накопитель 141 на жестком диске, который осуществляет считывание с несменяемых энергонезависимых магнитных носителей или запись на них, накопитель 151 на магнитном диске, который осуществляет считывание со сменяемого энергонезависимого магнитного диска 152 или запись на него, и накопитель 155 на оптическом диске, который осуществляет считывание со сменяемого энергонезависимого оптического диска 156 или запись на такой диск, как, например, ПЗУ на компакт-диске или другие оптические носители. Другие сменяемые/несменяемые энергозависимые/энергонезависимые носители для запоминающего устройства компьютера, которые могут быть использованы в примерной операционной среде, включают в себя, не являясь ограниченными таковыми: кассеты магнитной ленты, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ и подобное. Накопитель 141 на жестком диске обычно соединен с системной шиной 121 через интерфейс несменяемого запоминающего устройства, такой как интерфейс 140, и накопитель 151 на магнитном диске и накопитель 155 на оптическом диске обычно соединены с системной шиной 121 посредством интерфейса сменяемого запоминающего устройства, такого как интерфейс 150.
Накопители и ассоциированные с ними носители запоминающего устройства компьютера, обсуждаемые выше и проиллюстрированные на Фиг.1, обеспечивают хранилище для машиночитаемых команд, структур данных, программных модулей и других данных для компьютера 110. На Фиг.1, например, накопитель 141 на жестком диске проиллюстрирован в качестве хранящего операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Обратите внимание, что эти компоненты могут быть либо теми же, либо отличными от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционной системе 144, прикладным программам 145, другим программным модулям 146 и программным данным 147 заданы при этом отличающиеся номера, чтобы проиллюстрировать, что, по меньшей мере, они являются различными копиями.
Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, такие как клавиатура 162, микрофон 163 и указательное устройство 161, например манипулятор для управления курсором или мышь, шаровой манипулятор или сенсорная клавиатура. Другие устройства ввода (не показаны) могут включать в состав координатную ручку или джойстик, игровую панель, спутниковую антенну, сканирующее устройство или подобное. Эти и другие устройства ввода обычно соединены с блоком 120 обработки через пользовательский входной интерфейс 160, который соединен с системной шиной, но может быть соединен посредством другого интерфейса и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (УПШ, USB). Устройства ввода данных используют для создания, изменения и удаления данных. Устройства ввода данных также могут быть использованы для управления (запуска и останова) прикладными программами и конкретными функциями при этом. Функции включают открытие (показ) форм и закрытие форм. Монитор 191 или другой тип устройства вывода на экран также соединен с системной шиной 121 через интерфейс, например видео интерфейс 190. В дополнение к монитору компьютеры также могут включать в себя другие периферийные выходные устройства, такие как динамик 197 и принтер 196, которые могут быть соединены через интерфейс 195 периферийных выходных устройств. Монитор или другое устройство вывода на экран используют, чтобы показывать (визуализировать) формы.
Компьютер 110 может действовать в сетевой среде, используя логические соединения с одним или несколькими удаленными компьютерами, например удаленным компьютером 180. Удаленный компьютер 180 может быть персональным компьютером, портативным устройством, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим обычным сетевым узлом и обычно включает в себя многие или все элементы, описанные выше относительно компьютера 110. Логические соединения, изображенные на Фиг.1, включают в себя локальную вычислительную сеть (ЛВС, LAN) 171 и глобальную вычислительную сеть (ГВС, WAN) 173, но могут также включать в себя другие сети. Такие сетевые среды являются обычными для учреждений, вычислительных сетей масштаба предприятия, внутрикорпоративных локальных сетей и Интернета.
При использовании в сетевой среде ЛВС компьютер 110 соединен с локальной сетью 171 через сетевой интерфейс или адаптер 170. При использовании в сетевой среде ГВС компьютер 110 обычно включает в себя модем 172 или другое средство для установления связи в ГВС 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть соединен с системной шиной 121 через пользовательский входной интерфейс 160 или другие подходящие средства. В сетевой среде программные модули, изображенные относящимися к персональному компьютеру 110, или их части могут храниться на удаленном запоминающем устройстве. В качестве примера, а не ограничения, на Фиг.1 проиллюстрированы удаленные прикладные программы 185 в качестве постоянно хранимых на запоминающем устройстве 181. Будет оценено, что показанные сетевые соединения являются иллюстративными, и можно использовать другое средство установления линии связи между компьютерами.
На Фиг.2 показана блок-схема мобильного устройства 200, которое является альтернативной примерной вычислительной средой. Мобильное устройство 200 включает в себя микропроцессор 202, запоминающее устройство 204, компоненты 206 ввода/вывода (I/O) и интерфейс 208 связи для обмена информацией с удаленными компьютерами или другими мобильными устройствами. В одном варианте осуществления вышеупомянутые компоненты соединены для связи между собой по соответствующей шине 210.
Запоминающее устройство 204 осуществлено в виде энергонезависимого электронного запоминающего устройства, такого как запоминающее устройство с произвольным доступом (ОЗУ, RAM), имеющее блок резервного аккумуляторного питания (не показан), с тем чтобы информация, хранимая в запоминающем устройстве 204, не была потеряна в случае, когда общее питание мобильного устройства 200 отключено. Часть запоминающего устройства 204 предпочтительно распределена в качестве адресуемой памяти для исполнения программы, тогда как другую часть запоминающего устройства 204 предпочтительно используют для хранения, например, чтобы моделировать хранилище на накопителе на дисках.
Запоминающее устройство 204 включает в себя операционную систему 212, прикладные программы 214, а также хранилище 216 объектов. В течение функционирования операционную систему 212 из запоминающего устройства 204 предпочтительно исполняет процессор 202. Операционная система 212 в одном предпочтительном варианте осуществления является операционной системой торговой марки WINDOWS® CE, доступной для приобретения от корпорации Microsoft. Операционная система 212 предпочтительно разработана для мобильных устройств и осуществляет функциональные возможности (системы) базы данных, которые могут быть использованы приложениями 214 через набор открытых интерфейсов прикладного программирования и методов (функций). Объекты в хранилище 216 объектов являются поддерживаемыми приложениями 214 и операционной системой 212, по меньшей мере, частично в ответ на вызовы или обращения к открытым интерфейсам и методам прикладного программирования.
Интерфейс 208 связи представляет многочисленные устройства и технологии, которые позволяют мобильному устройству 200 посылать и принимать информацию. Устройства включают в себя проводные и беспроводные модемы, приемники спутниковой связи и тюнеры (блоки настройки) радиовещания, если назвать несколько. Мобильное устройство 200 также может быть непосредственно соединено с компьютером, чтобы посредством этого осуществлять обмен данными. В таких случаях интерфейс 208 связи может быть инфракрасным приемопередатчиком или последовательным или параллельным соединением связи, все из которых способны передавать потоковую информацию.
Компоненты 206 ввода/вывода включают в себя различные устройства ввода, такие как сенсорный экран, кнопки, ролики и микрофон, а также различные устройства вывода, включая в них звуковой генератор, устройство вибрирующего вызова и устройство вывода на экран дисплея. Перечисленные выше устройства приведены в качестве примера, и не требуется, чтобы они все присутствовали в мобильном устройстве 200. Кроме того, другие устройства ввода/вывода могут быть подсоединенными к устройству или установленными вместе с мобильным устройством 200.
АРХИТЕКТУРА И СПОСОБ МНОГОУРОВНЕВОГО И ОТОБРАЖАЕМОГО ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
Как описано выше, приложения, представляющие информацию, должны обеспечивать пользователей насколько возможно развитым опытом на платформах (например, целевых объектов экранов) с весьма разнообразными возможностями. Эти платформы находятся в диапазоне от развитых (программных) клиентов, исполняющихся на настольном ПК пользователя, до Web-клиентов, исполняющихся в браузере пользователя, до персональных цифровых ассистентов, до устройств, основанных на телефонии, и даже речевых интерфейсов. Другие платформы также являются возможными. В соответствии с вариантами осуществления настоящего изобретения используют схему, которая предписывающим образом, или в виде предписаний, задает, каким образом типы данных отображают на «собственные», или внутренние, управляющие элементы на рассматриваемой платформе.
Разработчик бизнес-архитектуры использует свое (его или ее) знание в разработке деловых операций, чтобы решить задачи своих заказчиков. Однако это лицо обычно не является разработчиком компьютерной программы и в идеальном случае защищено от сложностей разработки программы. Настоящее изобретение обеспечивает способы и устройство, которые дают возможность разработчику бизнес-архитектуры (пользователю) сосредоточиться на бизнес-логике приложения, а не на том, каким образом данные представляют на заданной платформе. Представленное изобретение дает возможность разработчикам приложений на основании бизнес-модели порождать (выводить) пользовательский интерфейс, который имеет целью многие целевые объекты экрана и который использует технические возможности каждого целевого объекта экрана.
Это достигают посредством определения многоуровневого ПИ, которое дает возможность разработчику сосредоточить интеллектуальное усилие на уровне, который имеет "правильный" уровень абстракции. Образы моделей вводят с сохранением и повторно используют на каждом уровне абстракции. Отображения от более высоких уровней абстракции на более конкретные уровни вводят/копируют образы моделей в ходе осуществления отображения, но также дают возможность разработчику приложений тонко настраивать результаты. Настоящее изобретение использует эти отображения наряду с управляющими элементами, типами логических форм и поведениями, чтобы отобразить бизнес-модель на физические модели, предназначенные для конкретного целевого объекта экрана (зависимые от целевого объекта).
В способах настоящего изобретения бизнес-модель является главной (эталонной). Интеллектуальную работу, воплощенную в бизнес-модели, сохраняют и используют в качестве основы для создания пользовательского интерфейса. Модель может быть описана на унифицированном языке моделирования (УЯМ), схемой бизнес-ресурсов (БР) или на любом другом графическом или неграфическом языке моделирования. Бизнес-модели также могут быть обеспечены (представлены) в виде классических объектно-ориентированных программ, реляционных баз данных или в других форматах. Как описано ниже, в некоторых примерных вариантах осуществления настоящего изобретения бизнес-модели являются иерархией классов сущностей, имеющих свойства.
В вариантах осуществления настоящего изобретения бизнес-модель отображают на промежуточную модель пользовательского интерфейса, который является независимым от целевого объекта экрана. Модель ПИ описывают на высоком уровне абстракции, позволяя разработчику приложений просматривать и изменять ее без необходимости какого-либо технического знания относительно конечного целевого объекта экрана. Программный код можно добавлять к модели ПИ, который будет работать для всех целевых объектов экрана. Образы в виде моделей ПИ сохраняют, и они могут быть повторно использованы, приводя к однородному ПИ. Компоновочные блоки, используемые для описания модели ПИ, также могут быть расширены.
Как будет описано более подробно ниже, в некоторых вариантах осуществления настоящего изобретения, сущности отображают на модель ПИ, называемую "логический ПИ", которая включает в себя логическую форму вместе с логическими управляющими элементами. Сущности и свойства отображают соответственно на логические формы и логические управляющие элементы в период времени проектирования. Во время исполнения логические формы и данные логических управляющих элементов связывают с сущностями и свойствами. Модели в виде форм называют типами форм. Формы и управляющие элементы используют базовый клиентский процессор отображений, но они не являются его частью. Базовый клиент является частью клиента ПИ, которая не зависит от целевого объекта экрана. В вариантах осуществления изобретения перечень логических управляющих элементов и типов форм может быть расширен. Дальнейшее обсуждение этих аспектов изобретения также предоставлено ниже.
В некоторых вариантах осуществления настоящего изобретения модель ПИ отображают на конкретный для целевого объекта экрана язык разметки, такой как язык активных серверных страниц (ASP.NET), язык разметки для беспроводной связи (ЯРБС, WML), язык разметки гипертекста (ЯРГТ, HTML) и т.д. Модель ПИ также может быть отображена на другие технологии отображения информации (например, Win32, WinForms, PocketPC). В одном частном примерном воплощении изобретения логические формы отображают на целевой объект экрана для Web-клиента, целевой объект экрана для клиентской части WinForms и т.д., и могут быть динамически добавлены новые целевые объекты экрана.
В соответствии с вариантами осуществления настоящего изобретения выполнение отображения основано на декларативных отображениях, которые являются открытыми и изменяемыми. Образы моделей ПИ сохраняют/отражают в отображениях. Отображения могут быть созданы на основании нескольких условий, что приводит к высокой степени гибкости. Различные модели могут быть изменены вручную (включая посредством программы) после того, как они были отображены. Это дает разработчику конечный уровень гибкости. Динамическая суть отображений обеспечивает разработку и использование новых элементов ПИ, например управляющих элементов. Новые управляющие элементы просто задействуют на форме посредством отображения свойств на новые управляющие элементы. Новые управляющие элементы должны подчиняться некоторому соглашению в этом воплощении, что новые управляющие элементы должны быть наследованы (произведены) от указанного базового класса. Во время исполнения логическую форму связывают с сущностями, и целевой объект экрана связывают с логическим уровнем. Это позволяет, чтобы все функциональные возможности, которые являются общими для целевых объектов экрана (защита, персонализация, логика внутри формы), были осуществлены один раз на логическом уровне и использованы во многих экземплярах (формы).
ТИПЫ ФОРМ
Настоящее изобретение использует понятия логических форм и типов логических форм, чтобы обеспечить новый способ создания пользовательских формообразных интерфейсов (форм) для бизнес-приложений и других приложений. Тогда как в примерных вариантах осуществления или реализациях настоящего изобретения используют логические формы и типы логических форм, использование логического уровня не является необходимым во всех вариантах осуществления. Таким образом, настоящее изобретение применяет использование типов форм, чтобы создавать формы в целом. Бизнес-приложения на сегодняшний день обычно состоят из большого количества форм, которые часто делятся на несколько категорий или следуют сходной модели. Количество категорий обычно находится между двумя и двадцатью, но может быть задано большее количество. Типы форм согласно настоящему изобретению содействуют управляемым моделью пользовательским интерфейсам посредством сохранения и действия согласно бизнес-модели или модели приложения и во время проектирования, и во время исполнения. Это обеспечивает разработчику программного обеспечения высокий уровень абстракции. Дополнительно использование типов форм в соответствии с настоящим изобретением обеспечивает повторное использование (одну компоновку используют многократно), значительно более однородный набор пользовательских формообразных интерфейсов, поскольку все формы делятся на несколько различных типов, и формы, которые более удобно поддерживать (компоновка для типа может быть изменена без изменения формы, и другой тип может быть применен без изменения формы). Изобретение обеспечивает, что разработчики приложений имеют полный («сплошной») контроль по многим целевым объектам экранов над «впечатлением и ощущением от использования приложения» и над тем, как происходит навигация (передвижение) в пределах приложения. Примеры целевых объектов экранов включают в себя каждый из многих типов существующих и будущих операционных систем, а также каждый из многих доступных или будущих мобильных устройств. В качестве другого примера каждая технология визуализации в конкретной операционной системе также может быть целевым объектом вывода на экран.
Используя идеи настоящего изобретения, логическая форма содержит независимые от целевого объекта экрана логические управляющие элементы, что делает саму логическую форму независимой от целевых объектов экрана. Логическая форма ссылается на тип логической формы, который определяет модель, которой должна следовать логическая форма. Тип логической формы, на который ссылается логическая форма, может быть выбран из многих различных типов логических форм, чтобы быстро установить вид («впечатление») и содержимое для логической формы. В вариантах осуществления настоящего изобретения типы логических форм являются моделями, которые при объединении с бизнес-моделями или другими моделями приложений приводят к созданию логической формы.
Тип логической формы представляет схему (которая описывает структуру формы, какие элементы она может содержать и т.д.), которой форма должна соответствовать, отображения (или правила), которые отображают (автоматически или вручную посредством разработчика приложений) бизнес-модель на логическую модель и исходя из нее на физическую модель. Дополнительно тип формы может содержать программный код, изменяющий динамическое поведение (логической) формы. Следовательно, типы форм представляют информацию о стиле и компоновке и другие типы информации, конкретной для целевого объекта экрана. Однако поскольку они также описывают правила для логической формы и ее содержимое, то они играют намного более важную роль. Некоторые аспекты относительно типов форм согласно настоящему изобретению приведены, как изложено ниже.
РАЗЛИЧНЫЕ ТИПЫ ФОРМ
Как упомянуто, в типичном использовании настоящего изобретения предусмотрены многие различные типы форм для использования разработчиком приложений при создании форм. Например, в одном примерном варианте осуществления типы форм могут включать в себя тип формы Dialog (Диалог), тип формы Card (Карта) или CardView (Представление в виде карты), тип формы ListView (Представление в виде списка), тип формы EntityOverview (Обзор сущностей) и тип формы ActivityCenter (Центр деятельности). Эти типы форм соответствуют типичным различным категориям форм, используемым в бизнес-приложении в одном примере. Таким образом, обеспечение многих типов форм дает возможность разработчикам приложений создавать все формы, которые составляют современное бизнес-приложение. Как будет понятно специалисту в данной области техники, эти конкретные типы форм являются просто примером, и настоящее изобретение не ограничено какими-либо конкретными типами форм или каким-либо конкретным количеством типов форм.
КОМПОНОВКА ТИПА ФОРМЫ
Содержимое и структура информации о компоновке могут быть различными для каждого типа формы. Дополнительно информация о компоновке может быть зависимой от целевого объекта экрана. Например, информация о компоновке для типа формы ActivityCenter может иметь поддержку для Themes/Skins/Styles (Темы/Поверхностные слои/Стили) и Master Pages (шаблоны страниц), которые будут использованы целевым объектом HTML (то есть глобальной гипертекстовой системой или сетью Интернет), для показа на экране формы на платформе конкретной операционной системы. Это дает бизнес-разработчику свободу ввести новшества на различных целевых объектах экранов и подстраивать формообразный пользовательский интерфейс так, как необходимо.
СМЕННЫЙ И РАСШИРЯЕМЫЙ
Типы форм предлагают полную гибкость и расширяемость, поскольку независимый поставщик (разработчик) программного обеспечения (ИПП, ISV) может их изменять или расширять и создавать новые типы форм, таким образом изменяя «впечатление и ощущение» для всего приложения.
Обратимся теперь к Фиг.3-1 и 3-2, на них показаны схематические иллюстрации логической формы Sales Order (Заказ на закупку), созданной с использованием типа формы Card в соответствии с примерным вариантом осуществления настоящего изобретения. В этом примере логическая форма Sales Order содержит набор логических управляющих элементов, сгруппированных в три различные группы логических управляющих элементов. Как будет описано дополнительно ниже, тип формы Card задает, каким образом и где управляющие элементы появятся на физических формах на различных целевых объектах экрана. На Фиг.3-1 и 3-2 проиллюстрирована аналогичная с Фиг.3-2 информация, включая стрелки, иллюстрирующие связи и источники информации между типом логической формы и логической формой, и создание физической формы на основании логической формы.
На Фиг.3-1 и 3-2 схематически проиллюстрирован экземпляр 305 формы, созданный с использованием типа 300 формы. На базовом клиенте 310 экземпляр 305 формы является логической формой 306 (показанной в качестве концептуальной модели формы), и тип 300 формы является типом 301 логической формы. На целевом объекте 320 экрана форма 305 является визуализируемой формой 370, созданной с использованием логической формы 306, и в конечном счете на основании типа 301 логической формы. Визуализируемая форма 370 является одной конкретной реализацией, но могут быть выполнены многие другие реализации или визуализации. Визуализируемую форму 370 можно также называть физической формой.
Тип 300 формы включает в себя две части, схему 330, которая задает то, что должно быть включено в конкретные формы, использующие тип формы, и компоновку 331, которая включает в себя управляющие элементы, которые описывают, как форма должна быть визуализирована или изображена (вычерчена) на конкретном целевом объекте экрана. Тип формы также может включать в себя программный код, скрытый за классом. При наличии различных компоновок, которые могут быть использованы типом формы, те формы, которые созданы с использованием типа формы, могут быть приспособлены к различным целевым объектам экранов (например, экранам дисплеев телефонов сотовой связи, экранам дисплеев персональных цифровых ассистентов, экранам мониторов персональных компьютеров и т.д.). С помощью типа 300 формы, представляющего сохраненную модель, которая подлежит использованию во многих формах, могут быть созданы многие экземпляры 305 формы.
Можно рассмотреть для данного примера операции, через которые может пройти разработчик, чтобы создать форму для сущности или объектной модели Sales Order (то есть бизнес-модели или модели приложения). Сначала разработчик может просмотреть, чтобы представить себе, из которых видов форм он или она должны выбирать. Выбор типа формы "Card", как показано в (позиции) 325 на Фиг.3-1 и 3-2, вызывает или обозначает схему 330 Card, как представлено стрелкой 326 на Фиг.3-2.
Когда разработчик задает конкретный тип формы и связанную схему, он или она находятся в некоторых вариантах осуществления, выбирая для включения в форму информацию или поля, предписанные схемой, вместе с метаданными на основании бизнес-модели или другой модели пользователя, заполняя значения полей. Например, в соответствии с выбором типа 301 формы Card (и связанной схемы 330 Card) логическая форма 306 будет включать в себя Content Area (Область содержимого) 336, соответствующую области Content Area 335, заданной в схеме 330. Источник Content Area 336, соответствующий Content Area 335, представлен стрелкой 337 на Фиг.3-2. Подобным образом, поскольку схема 330 для типа формы Card включает в себя область 340 раздела (описания) ПИ, область 345 раздела ПИ для связанной сущности и область 350 действия, то логическая форма 306 включает эти области или поля, а также показанные в (позициях) 341, 346 и 351. Вновь источники этих полей представлены схематически стрелками 342, 347 и 352.
Как упомянуто выше, каждый тип формы также включает в себя по меньшей мере одну компоновку 331 (обычно одну на один целевой объект экрана), которая включает в себя управляющие элементы, описывающие, как форма должна быть визуализирована или вычерчена на конкретном целевом объекте экрана. Как показано схематически на Фиг.3-1 и 3-2, компоновка для типа формы Card включает в себя управляющие элементы, которые вызывают, что целевой объект 320 экрана включает в состав область 339 содержимого, область 344 раздела ПИ, область 349 раздела ПИ для связанной сущности и область 354 действия. Стрелками 338, 343, 348 и 353 проиллюстрировано соотнесение этих областей в компоновке «карты» с их соответствующими областями в схеме для Card. Логическую форму 306, которая создана с использованием выбранного типа логической формы и метаданных на основании модели приложения (в данном примере сущности Sales Order), визуализируют в качестве физической формы 370 на целевом объекте 320 экрана. Эта последовательность операций проиллюстрирована на Фиг.3-2 с помощью стрелок 361 и 362.
МОДЕЛИ И ОТОБРАЖЕНИЯ
Многие информационные системы используют модели. Примерами моделей являются: схемы объектов, схемы расширяемого языка разметки (РЯР, XML), определения баз данных и определения форм. Модель часто определяют как набор объектов, каждый из которых имеет свойства, структуры и связи (ассоциации). В пользовательских интерфейсах для бизнес-приложений (бизнес-ПИ) иерархии управляющих элементов, которые используют для визуализации форм, могут рассматриваться в качестве моделей, таких как древовидные структуры управляющих элементов системы Windows и объектные модели языка разметки гипертекста (HTML). К тому же можно использовать синтаксис, например, унифицированного языка моделирования (языка UML), чтобы задать модель (например, определения классов). В примерной структуре приложения, используемой для иллюстрирования способов настоящего изобретения, приложения моделируют с использованием бизнес сущностей. Таким образом, бизнес-модель состоит из этих бизнес объектов, называемых сущностями, связей между сущностями и свойств сущностей. См. для примера простой модели 380 сущности 381, 382, 383 и 384, показанные на Фиг.4-1. Сущности имеют свойства (см., например, свойства 385 сущности 381) и связи с другими сущностями (см., например, связи 386 между сущностями 381 и 384).
В случае когда модель преобразуют в другую модель, отображения являются используемыми явно или иногда неявно. Отображения описывают связи между моделями. Некоторые примеры включают в себя: преобразование расширяемого языка (таблиц) стилей (ПРЯС, XSLT), которое предназначено, чтобы отображать (документ) XML на XML; управляющие элементы, используемые для визуализации объектной модели на поверхности конкретного устройства; отображения команд (упорядоченности) одного приложения на другое (поскольку команды в различных приложениях могут иметь различные форматы) и инструментальные средства автоматизированного проектирования и создания программ (CASE-средства), которые отображают ЯУМ на определения классов.
В современных бизнес-приложениях отображения по большей части запрограммированы с использованием по-объектного отображения («один объект единовременно»), означая, что осуществления отображений программируют в виде предложений "switch" ("переключение") в программе, которая принимает конкретный объект в качестве входных данных и возвращает другой объект. Таким образом, традиционные бизнес-приложения обычно используют императивные отображения, отображения, записанные в программе на обычном языке программирования. Посредством использования «по-модельного» отображения в соответствии с настоящим изобретением утверждают, что производительность может быть повышена на порядок величины. Помимо роста производительности, имеется умственный рост в восприятии задачи создания ПИ в виде осуществления отображения моделей на другие модели с использованием отображений. Дополнительно другим преимуществом является более высокий уровень абстракции, обеспеченный в декларативно задаваемых отображениях согласно настоящему изобретению. Настоящее изобретение позволяет отображениям быть явными и декларативными. В настоящем изобретении отображения могут быть либо декларативными, либо императивными (вследствие факта, что осуществление отображения можно переопределять в программе).
Явный характер отображений означает, что отображения являются внешними по отношению к процессору формирования, который используют для осуществления отображения или визуализации, и что сами отображения являются моделями. Сформулировав другим образом, явный характер отображений означает, что они являются задаваемыми отдельно от управляющих элементов и форм. Традиционно такое отображение осуществляли неявно внутри программ для управляющих элементов или программ для форм.
Декларативный характер отображений означает, что отображения не являются императивными (запрограммированными на обычном языке программирования). Как используют в настоящем документе, фраза "заданный декларативно" означает, что отображения не только не задают в программе, как происходило традиционно, но их задают в формате, который дает возможность легко изменять отображения. Примеры декларативно задаваемого формата включают в себя, но не являются ограниченными таковыми, документы XML, файлы с разделяющими запятыми, схемы отображения системы BizTalk (отображающие одну схему данных на другую) и отображения объектов Microsoft Business Framework (отображение объектной модели на схему базы данных). Можно использовать широкое разнообразие форматов декларативного отображения в соответствии с настоящим изобретением, и какой формат является выбранным, не имеет особого значения. Является важным, что декларативное отображение имеет ограниченный набор возможностей, следовательно, проще обеспечить инструментальное средство интуитивного проектирования для того, чтобы задавать отображение. Напротив, императивное отображение (использующее программу) имеет почти неограниченные возможности посредством языка программирования, и следовательно, чрезвычайно трудно создать инструментальное средство интуитивного проектирования. Скорее, для его создания необходимы навыки программирования.
Необходимо отметить, что в вариантах осуществления настоящего изобретения, использующих декларативные отображения, представления отображения не должны быть только декларативными. В случаях когда необходимо создать отображение, которое является слишком сложным, чтобы быть заданным декларативно, аспекты императивного осуществления отображения могут быть включены в другое декларативное отображение. Например, сложные функции могут быть созданы и включены в отображение. Примером может быть, что если «Адрес выписки счета» и «Адрес отгрузки» являются непосредственно одинаковыми, то только «Адрес счета» показывают на форме. Алгоритм определения, являются ли два адреса непосредственно одинаковыми, может быть неявно задаваемой функцией, используемой в представлении отображения.
Настоящее изобретение обеспечивает абстракции программирования и архитектуру в виде предписаний, подходящую для разработки и ввода в действие бизнес-приложений, основанных на распределенной архитектуре, ориентированной на обслуживание (запросов). Структура приложения отделяет бизнес-логику, записанную в эти абстракции, от изменений в нижележащих технологиях, сохраняя критический ресурс группы разработки бизнес-приложений. Настоящее изобретение расширяет подходы к управляемой (в соответствии с моделью) разработке, переходя от модели периода проектирования с созданием программного кода к наличию настоящего "обслуживания приложений, осведомленного о модели", которое может интерпретировать бизнес-модель во время исполнения.
УПРАВЛЯЕМЫЙ МОДЕЛЬЮ ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС НА ОСНОВЕ ОТОБРАЖЕНИЙ
Наличие модели приложения является важным признаком при создании ПИ для бизнес-приложения, встроенным в варианты осуществления настоящего изобретения. Значительное большинство ПИ может быть создано исключительно на основе модели бизнес-логики и отображений. В случае когда разработчик приложений создал модель новой сущности, ПИ выводят из нее. Это схематически проиллюстрировано на Фиг.4-2, на которой проиллюстрирована бизнес-модель 380, отображаемая (как показано в 388) на модель 390 ПИ. Стрелка 388 представляет последовательность операций отображения, а также соответственно настроенный процессор отображений, который использует представление отображения, чтобы управлять операциями осуществления отображения.
Хотя такое отображение можно получить с использованием традиционных способов программирования, формирование отображения не является таким прямым, если должны быть удовлетворены некоторые требования. Требованием является то, что в случае когда новые типы свойств создают и используют в сущности, запрограммированное преобразование может не знать, как обрабатывать новый тип, и следовательно, преобразование должно быть изменено и повторно скомпилировано. Другим требованием является обработка заново разработанных управляющих элементов, которые будут значимы, только если они включены в преобразование, вновь это приводит к повторному программированию преобразования. Способы отображения согласно настоящему изобретению способны удовлетворить эти требования. Обратите внимание, что любое изменение ПИ во время исполнения (посредством программы) также может рассматриваться в качестве отображения. Платформа, используемая в настоящем изобретении, раскрывает многоуровневую модель ПИ и использует отображения для преобразования моделей одного уровня на другой. Это описано более подробно ниже.
Способы и устройство настоящего изобретения обеспечивают способ вычисления, каким образом на заданной платформе представить деловую информацию пользователю.
Изобретение основывается на осуществлении отображений моделей на другие модели, действующем от весьма абстрактной модели (описывающей бизнес-сущности, с которыми надлежит взаимодействовать) к конкретной модели (указывающей точно, какой конкретный для устройства управляющий элемент должен быть использован для визуализации деловой информации). В целом такое отображение может включать в себя любое количество этапов.
Например, можно рассмотреть блок-схему 400, показанную на Фиг.5-1, на которой проиллюстрированы последовательность операций отображения главной модели 405 на конкретизированную модель 425 с использованием двух явных и декларативных этапов осуществления отображения. Главная модель 405 (то есть "модель А") может быть, например, базой данных, таблицей, сущностью, объектом или другими типами моделей в предметной области, конкретной для пользователя. Главную модель 405 отображают на промежуточную модель 415 (то есть "модель B") с помощью этапа отображения, проиллюстрированного позицией 411, с использованием отображения 410 (то есть "отображения A-B"). Промежуточная модель 415 может быть независимой от целевого объекта экрана моделью, имеющей логические управляющие элементы, как будет описано более подробно ниже. Промежуточную модель 415 затем отображают на конкретизированную модель 425 (то есть "модель C") с помощью этапа отображения, проиллюстрированного позицией 421, с использованием второго отображения 420 (то есть "отображения B-C"). Конкретизированная модель 425 может быть зависимой от объекта экрана моделью, содержащей физические управляющие элементы, как также будет описано ниже более подробно. Стрелки, используемые для представления этапов отображения 411 и 421, также представляют процессоры отображений, которые настроены с возможностью использования отображений 410 и 420, чтобы осуществлять этапы отображения.
В соответствии с некоторыми вариантами осуществления настоящего изобретения схема осуществления отображения, включенная в определение того, каким образом дать возможность пользователю взаимодействовать с бизнес-информацией на клиентской платформе, включает в себя по меньшей мере три этапа, как описано ниже и как показано схематически на блок-схеме 450 по Фиг.5-2. Исходная модель 455 (см. также главную модель 405, показанную на Фиг.5-1) содержит информацию о бизнес-сущностях, с которыми пользователь должен взаимодействовать. Каждый элемент данных этой модели приложения имеет конкретный тип. Первый этап включает в себя определение логического управляющего элемента, который надлежит использовать для заданного типа (строка, целое число, десятичный тип, представляющий денежные значения, адреса, содержащие другие значения и т.д.) представляемого элемента данных.
Логический управляющий элемент, подлежащий использованию для заданного типа, определяют, используя отображение типа данных в модели 455 на логический управляющий элемент в модели 465. Последовательность операций отображения проиллюстрирована в 461 и использует отображение 460 (то есть "отображение типа элемента данных на логический управляющий элемент"). Логические управляющие элементы имеют несколько полезных свойств. Они полностью свободны от зависимостей от какого-либо конкретного целевого объекта экрана, но содержат свойства, которые управляют поведением зависимых от устройства физических управляющих элементов. Поиск логических управляющих элементов выполняют, принимая во внимание иерархию типов. Если нет логического управляющего элемента, точно подходящего для инкапсулирования (заключения в себе) свойств конкретного типа, поиск продолжают с базового типа, пока не будет найден логический управляющий элемент для обработки типа.
Как только логический управляющий элемент был идентифицирован на основании представляемого типа данных, должен быть найден физический управляющий элемент, используемый для фактического выполнения визуализации на данной платформе. Эти физические управляющие элементы иногда называют "адаптерами". Это осуществляют, используя другое отображение, выдающее физический управляющий элемент на основании логического управляющего элемента и целевого объекта экрана. Последовательность операций отображения проиллюстрирована в 471 и использует отображение 470 (то есть "отображение логического управляющего элемента на физический управляющий элемент"), чтобы создать модель 475 физических управляющих элементов на основании модели 465 логических управляющих элементов.
В случае когда клиент исполняется на пользовательском целевом объекте, физический управляющий элемент будет использован для создания экземпляров внутренних управляющих элементов, используемых для взаимодействия с пользователем. Это осуществляют посредством третьего отображения, выдающего набор внутренних управляющих элементов на основании физического управляющего элемента. Например, если физический управляющий элемент является управляющим элементом для адреса, то физический управляющий элемент отобразят на внутренние управляющие элементы, предназначенные для «улицы», «города», «страны». Последовательность операций отображения проиллюстрирована в 481 и использует отображение 480 (то есть "отображение физического управляющего элемента на внутренний управляющий элемент"), чтобы создать модель 485 внутреннего управляющего элемента на основании модели 475 физического управляющего элемента. В некоторых вариантах осуществления это является императивным отображением, но это не должно быть обязательным. Вновь стрелками 461, 471 и 481 также представлен процессор(ы) отображений, используемый для осуществления функций отображения, как указано отображениями 460, 470 и 480. Осуществление отображения, описанное выше, может быть расширено с помощью других отображений, чтобы достичь требуемого результата. Другие факторы включают в себя тип визуализируемой формы (представление в виде карты или перечня), пользовательскую роль (которая возможно ограничивает информацию, предлагаемую пользователю). Последовательность операций достижения конкретной модели на основании абстрактной модели является полностью в виде предписаний (посредством описания включаемых отображений), и гибкость предоставлена способностью изменять эти отображения.
В качестве другого примера на Фиг.5-3 проиллюстрирована блок-схема 500, показывающая последовательность операций отображения для перехода от имени заказчика и идентификационного номера, или идентификатора (ID), к HTML, используемому для визуализации этой информации в браузере. Главная или исходная бизнес-модель 505 является сущностью (или объектом) или классом сущностей (или классом объектов), имеющих имя заказчика и идентификатор в качестве свойств. Свойства "Name" (имя) и "ID" (идентификатор) модели 505 являются типами "String" (строковый) и "Number" (числовой) соответственно. Модель 505 отображают на уровень логических управляющих элементов, соответствующий модели 515, с использованием отображения 510, имеющего вид предписаний. Последовательность операций отображения представлена в 511. В этом примере тип данных "String" отображают на логический управляющий элемент "TextBox" (текстовое окно), тогда как тип данных "Number" отображают на логический управляющий элемент "NumberBox" (числовое окно).
Затем модель 515 логического управляющего элемента отображают на модель 525 HTML с использованием отображения 520. Последовательность операций отображения представлена в 521. В этом примере модель 525 является моделью физических управляющих элементов в формате модели HTML. Таким образом, отображение 520 отображает логические управляющие элементы модели 515 на символы разметки (теги) HTML или элементы в модели 525. Модель HTML 525 затем используют, чтобы визуализировать в браузере информацию на основании модели 505. Вновь стрелки, используемые для представления этапов 511 и 521 отображения, также представляют соответственно настроенные процессоры отображений, которые используют отображения 510 и 520, чтобы осуществить последовательность операций отображения.
На Фиг.5-4 проиллюстрирован дополнительный аспект вариантов осуществления настоящего изобретения, в котором несколько различных типов свойств могут быть отображены на одни и те же конечные управляющие элементы, так что количество требуемых управляющих элементов не обязательно увеличивается в случае, когда увеличивается количество типов свойств. Как показано в блок-схеме 550 по Фиг.5, бизнес-модель 560, имеющая свойства 561, относящиеся к различным типам, отображают на модель 580 целевого объекта экрана, используя отображения 555. Подобно предварительно обсужденным примерам, модель 560 отображают на модель 570 логического уровня, которая содержит логические управляющие элементы 571. Процессор отображений и последовательность операций отображения, которые используют отображение 565, проиллюстрированы в 566. Отображение 565 отображает типы элементов данных ("IDType" (тип-идентификатор), "String" и "Float" (число с плавающей точкой)) свойств 561 модели 560 на логические управляющие элементы ("Number" и "String"). В этом случае и "IDType", и типы элементов данных "Float" отображают на тип "Number" логического управляющего элемента, тогда как тип элемента данных "String" отображают на тип "String" логического управляющего элемента.
Затем модель 570 логического уровня отображают на модель 580 целевого объекта экрана, которая содержит физические управляющие элементы 581, определенные для конкретного целевого объекта экрана. Модель 570 отображают на модель 580, используя отображение 575, с помощью последовательности операций и процессора отображения, представленных в 576. Отображение 575 отображает типы "Number" и "String" логических управляющих элементов модели 570 на тип физического управляющего элемента "TextBox" модели 580, иллюстрируя вновь, что несколько различных типов из конкретной модели могут быть отображены на один тип в другой модели. Посредством расширения несколько различных типов свойства из бизнес-модели могут быть отображены на один и тот же конечный (например "физический") управляющий элемент.
Опыт разработчика
В случае когда разработчик создает новую сущность, которая составлена только из имеющихся типов, ПИ «по умолчанию» также создают посредством отображений. Если ПИ «по умолчанию» не предлагает требуемый опыт пользователя, разработчик может сделать выбор, чтобы:
- изменить бизнес-модель, чтобы отразить требования. Например, в некоторых вариантах осуществления, если сортировка последовательности свойств является неправильной, допустим, что ID должен быть выведен на экран перед Name, тогда сущность может быть отредактирована. В других вариантах осуществления упорядочение свойств хранится во внешнем "поведении". Однако упорядоченное группирование свойств может быть "добавлено" к сущности, и его можно использовать, чтобы осуществить это (упорядочение). Таким образом, в таких вариантах осуществления лучшим подходом может быть изменение порядка в группировании.
- Изменить созданную логическую модель формы. Переключение Name и ID также может быть выполнено в форме. Это потенциально представляет некоторый трудный вопрос для сопровождения впоследствии, если изменяют бизнес-логику, например, так, что изменение в бизнес-логике повторно записывает (переопределяет) изменения в форме. Также может быть необходимо изменить бизнес-логику на каждой форме.
- Изменить отображение. Если ID отображают на управляющий элемент Number, но управляющий элемент String является более подходящим, отображение является надлежащим местом, чтобы осуществить изменение.
Имеется ряд преимуществ в изменении отображения вместо более традиционной модификации моделей. Прежде всего, изменения могут иметь более широкую область действия. Если элемент отображения, используемый в предыдущем примере, был изменен, все сущности, использующие "IDType", автоматически получат обновление. Это приведет к весьма согласованному (единообразному) ПИ, из которого конечный пользователь извлечет преимущество.
Другое преимущество становится очевидным при рассмотрении сопровождения и последующих версий приложения. Посредством изменения способа, которым создают модели, а не изменения созданных моделей, главная модель может быть обновлена, и после этого зависящие (от нее) модели могут быть повторно созданы, или регенерированы, без какого-либо риска конфликтов. Если вообще не регенерировать формы, то это может привести к противоречивости между сущностями и формами, используемыми для их просмотра и редактирования. Отображения также разбивают большую задачу создания на несколько небольших элементов декларативного представления отображения.
Если разработчик создает новый тип свойства, например "Money" (денежный), то его можно использовать немедленно, поскольку ПИ будет создан эффективно, если добавляют только одиночный элемент отображения. В этом примере новое свойство "Money" можно отобразить на управляющий элемент "Number". Разработчик может также выбрать использование дополнительной информации метаданных, создать управляющий элемент "Money" и содержать отображение свойства на новый управляющий элемент. Методика отображения делает оба сценария допустимыми.
Язык отображения
Формирование отображения использует простой декларативный язык отображения, который является расширяемым. Формирование отображения принимает один или несколько символов (лексических единиц) в качестве входных данных и возвращает один или несколько символов в качестве выходных данных. Для заданного типа свойства в качестве входных данных один или несколько логических управляющих элементов могут быть заданы в качестве выходных данных. Также должно быть возможным задавать выходные данные нулевыми. Например, "IDType" может быть машинно-генерируемым полем, которое пользователь не может редактировать или видеть, в каком случае тип ничему не соответствует. Также формирование отображения может управлять параметрами выходных данных. Например, свойство "String" может приводить к TextBox с более широкими возможностями по сравнению с другими TextBox на форме.
Чтобы обрабатывать вопрос области действия, на который обращалось внимание ранее, условие области действия является необходимым на предварительно обсужденной примерной форме для отображения типов "IDType" на управляющие элементы "IDControl" (идентификатор управляющего элемента), но на всех других формах используют управляющий элемент «Number». Другие параметры также могут использоваться в качестве области действия, включая бизнес-сущность, стереотип сущности, тип формы и т.д. Имеются другие условия, которые было бы полезно принимать во внимание, когда должно быть выполнено отображение. Одним примером является родительский управляющий элемент. Если родительский управляющий элемент является перечнем (list), то свойство нумератора (enumerator) можно выбрать для отображения на (управляющий элемент) "выпадающий список", а не на управляющий элемент «селективная кнопка». Другим условием может быть количество возможных вариантов выбора в нумераторе; селективные кнопки можно использовать, если их две или три, но несколько вариантов выбора могут иметь результатом перечень. Двигаясь по этому пути, язык формирования отображения приводит к тому, что является весьма сложным по сравнению с исходным требованием, и для разработчиков необходим другой уровень абстракции на верхнем уровне отображения, чтобы понимать отображения. Такая структура была представлена с помощью преобразований расширяемого языка таблиц стилей (ПРЯС), в которых были осуществлены несколько инструментальных средств, чтобы скрыть сложность.
ЛОГИЧЕСКИЕ ФОРМЫ - МОДЕЛЬ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
При формировании отображения модели бизнес-логики на модель ПИ введен независимый от компоновки уровень, также называемый логическим уровнем. Если полагают, что модель бизнес-логики может быть отображена на конечный ПИ независимо от целевого объекта экрана, то логический уровень является непосредственной абстракцией. Некоторые метаданные будут общими для всех целевых объектов экранов, например сами бизнес-сущности, и некоторые части будут конкретными для конкретного целевого объекта экрана. Логический уровень является общей частью.
На Фиг.6 схематически проиллюстрированы действия периода времени проектирования и действия времени исполнения, которые применяют при создании формы. Во время проектирования используют инструментальные средства 605 моделирования, чтобы создать модели или определения форм, и представления отображений такие, как обсужденные выше. Эти определения форм и представления отображений могут быть сохранены в базе 610 метаданных.
Во время исполнения модели или формы отображают на модель 625 логического уровня. Модель 625 логического уровня создают также, используя данные, относящиеся ко времени исполнения, хранимые в базе 615 данных, применяемой к бизнес-логике 620. Также во время исполнения модель 625 логического уровня отображают на модель 630 целевого объекта экрана, как описано выше.
Логический уровень, включающий в себя формы и управляющие элементы, является мостом между бизнес-логикой 620 и целевыми объектами 630 экрана. Он содержит ограниченное знание относительно компоновки и ограниченное знание относительно бизнес-логики. Логический уровень задает содержимое формы на основании бизнес-сущностей и обрабатывает общие вопросы «времени исполнения», такие как привязка данных форм к экземпляру бизнес-сущностей, относящемуся ко «времени исполнения». Кроме того, логический уровень обрабатывает защиту, общую для всех целевых объектов экранов; он поставляет метаданные на каждый целевой объект экрана, и логический уровень может обрабатывать проверку правильности входных данных.
Бизнес-архитектор или разработчик может сосредоточиться на зависящих от конкретной предметной области бизнес-логике и данных. Когда сосредоточение перемещают на ПИ, подробности компоновки, вопросы привязки данных, программы-переходники (предотвращения утечки секретной информации), проверка правильности входных данных, сокрытие нечитаемых свойств, обработка ошибок и т.д. являются все скрытыми на высоком уровне абстракции, обеспеченной на логическом уровне. Специалист предметной области может сосредотачиваться на содержимом ПИ, которое имеет смысл видеть пользователю и не требует наличия глубокого знания конкретных целевых объектов экранов и их различных технологий визуализации.
Как обсуждено, логические формы или модели логического уровня создают с использованием логических управляющих элементов. Новые управляющие элементы могут быть легко добавлены, делая логический уровень очень гибким и расширяемым. Когда новый управляющий элемент разработан, его просто добавляют к имеющимся формам посредством изменения используемых отображений. Каждый целевой объект экрана извлечет преимущество из новых функциональных возможностей без необходимости реализации новых управляющих элементов, но если имеет смысл, то новый управляющий элемент может быть введен.
ЦЕЛЕВЫЕ ОБЪЕКТЫ ЭКРАНА
Логические формы и управляющие элементы отображают на конкретные технологии визуализации, используемые целевыми объектами экрана. Как и на других чертежах, это проиллюстрировано на Фиг.7, на которой модель логического уровня или форма 705 отображена на несколько конкретных целевых объектов экрана. В этом частном примере целевой объект 710 экрана использует технологию визуализации системы Windows, тогда как объект экрана 715 использует технологию визуализации Web. Целевые объекты экрана отвечают за обработку всех пользовательских взаимодействий, включая визуализацию форм и управляющих элементов и обработку пользовательских входных данных. Каждый целевой объект экрана требует некоторого количества управляющих элементов с тем, чтобы управляющие элементы на логическом уровне были отображены на нечто значащее. То есть свойство должно быть совместимо с типами значений, которые управляющий элемент может обрабатывать, и управляющий элемент должен визуализировать это значение осмысленным (видимым) образом. Другими словами, не имеется конкретного количества управляющих элементов, которые должны быть доступными в каждом целевом объекте экрана, поскольку методика формирования отображения имеет существенное воздействие на это.
Целевые объекты экрана управляют пользовательским взаимодействием и по существу также парадигмой взаимодействия. Web-страница и окно Forms системы Windows могут быть созданы на основании одной и той же логической формы, но используют ли они стратегию разговорного взаимодействия или стратегию коротких обратных почтовых сообщений, естественно определяют (в соответствии с) целевым объектом экрана. Каждый целевой объект экрана выбирает, в какой степени форму отображают пользователю. Форма системы Windows может скрывать информацию на страницах вкладки, тогда как Web-страница может выбрать показ всей информации сразу. Эти решения принимают на основании логической формы и, таким образом, также на основании типа формы, который получают целевые объекты экрана. Различные целевые объекты экрана нуждаются в дополнительной информации, чтобы принимать такие решения по разбиению на страницы, и подобным образом логические формы и управляющие элементы могут быть аннотированы информацией о конкретном целевом объекте экрана.
ПОВЕДЕНИЯ - ДЕКЛАРАТИВНАЯ ЛОГИКА ФОРМЫ
Поскольку формы составлены из логических управляющих элементов, которые определяют содержимое, еще имеется необходимость добавлять динамику к формам. Это может быть осуществлено с использованием программы. Но отображать программы на форму не является простым, и следовательно, необходим декларативный уровень абстракции.
В то же время имеются многие модели в виде программ, которые добавляют к формам. Например, программу для отключения поля, если другое поле заполнено, используют во многих формах. Если на форме выбрано "Cash" (Наличные деньги) в качестве вида оплаты, то поле "Credit Card Number" (Номер кредитной карточки) является затененным или даже скрытым.
Такие модели отражают в виде понятия, называемого "поведениями". Поведения являются декларативно добавляемыми к формам и активизируемыми посредством событий на форме. Поведения в зависимости от значений и свойств управляющих элементов могут устанавливать свойства на других управляющих элементах, но поведения не являются ограниченными таким использованием. Поведения преимущественно являются отображаемыми на основании ограничений в сущностях или других свойств метаданных. Сущности являются ответственными за обработку бизнес-логики, а поведения являются ответственными за логику ПИ. Другими словами, поведения не должны осуществлять какую-либо бизнес-логику, поскольку это нарушило бы разделение ответственности.
ПРИМЕР МНОГОУРОВНЕВОЙ СИСТЕМЫ И СПОСОБА
Обратимся теперь к Фиг.8, на ней показана схематическая иллюстрация многоуровневой системы и способа, которые осуществляют различные понятия, описанные выше (то есть типы логических форм, отображения ПИ, управляющие элементы, поведения и т.д.) в объединении. Как показано на Фиг.8, система или способ 900 осуществлены с использованием структуры 905 бизнес-приложения, которая может включать в себя бизнес-приложения и вычислительные системы, базовый клиентский процессор отображений или компонент 910 и один или несколько целевых объектов 915 экрана.
С иллюстративными целями Фиг.8 разбита на сегменты, чтобы показать отображения 920 (включая отображения 921 и 922), модели 925 (включая модель приложения или бизнес-модель 926, модель 927 логической формы и физическую модель 928) и библиотеки 930.
Библиотеки 930 в структуре 905 бизнес-приложения включают в себя библиотеку 931 типов свойств, которая определяет различные типы 923 свойств для элементов данных в модели приложения 926. В базовом клиенте 910 библиотеки 930 включают в себя библиотеку 932 логических управляющих элементов, библиотеку поведений 933 и библиотеку 934 типов логических форм. Как описано выше, библиотека 932 логических управляющих элементов задает различные логические управляющие элементы 924, на которые могут быть отображены элементы данных или типы 923 свойств модели 926. Это отображение между моделью 926 приложения и моделью 927 логической формы выполняет базовый клиентский процессор отображений, используя отображение 921.
Библиотеку поведений 933 и библиотеку 934 типов логических форм использует базовый клиентский процессор 910 отображений в ходе операций проектирования и создания форм, как было описано предварительно. Библиотеки 930 также включают в себя библиотеку 935 стилей, библиотеку 936 физических или внутренних управляющих элементов и библиотеку 937 типов форм, которые использует целевой объект 900 экрана, чтобы создать модель 928 физической, формы и, таким образом, чтобы визуализировать физическую форму. Библиотека 936 управляющих элементов определяет различные физические управляющие элементы 925 для конкретного целевого объекта экрана, на который логические управляющие элементы 924 могут быть отображены, используя отображение 922.
Хотя настоящее изобретение было описано со ссылкой на конкретные варианты осуществления, специалистам в данной области техники понятно, что могут быть сделаны изменения в разновидности и деталях без выхода за пределы существа и объема настоящего изобретения.

Claims (22)

1. Компьютерно-реализуемый способ создания формообразных пользовательских интерфейсов для множества технологий визуализации целевых объектов экрана на различных типах платформ, содержащий этапы, на которых:
создают независимую от целевого объекта экрана логическую форму, используя предварительно разработанную модель приложения, специфическую для конкретной предметной области, и заранее выбранный тип логической формы, при этом модель приложения представляет собой набор объектов данных, каждый из которых имеет свойства, а упомянутый тип логической формы предписывает структуру формы, подлежащую использованию для представления модели приложения, причем упомянутое создание выполняют посредством отображения типов свойств объектов данных модели приложения на независимые от целевого объекта экрана логические управляющие элементы в независимой от целевого объекта экрана логической форме; и
отображают независимую от целевого объекта экрана логическую форму на по меньшей мере один целевой объект экрана на по меньшей мере одном типе платформы для создания пользовательского интерфейса на каждом из упомянутого по меньшей мере одного типа платформы, причем данное отображение выполняют посредством отображения каждого из упомянутых логических управляющих элементов в упомянутой логической форме на один из множества физических управляющих элементов, доступных для визуализации пользовательского интерфейса на упомянутом целевом объекте экрана.
2. Способ по п.1, в котором создание независимой от целевого объекта экрана логической формы выполняют с использованием первого декларативного отображения, определяемого упомянутым типом логической формы.
3. Способ по п.2, в котором при создании независимой от целевого объекта экрана логической формы создают независимую от целевого объекта экрана модель логической формы.
4. Способ по п.2, в котором при создании независимой от целевого объекта экрана логической формы с использованием модели приложения, заранее выбранного типа формы и первого декларативного отображения также присоединяют декларативно применяемые поведения к независимой от целевого объекта экрана логической форме.
5. Способ по п.4, в котором декларативно применяемые поведения активируют посредством событий в упомянутой форме.
6. Способ по п.5, в котором декларативно применяемые поведения являются моделями логики, которые в зависимости от значений и свойств логических управляющих элементов устанавливают свойства на других управляющих элементах.
7. Способ по п.2, в котором первое декларативное отображение является внешним для процессора отображений, используемого для создания независимой от целевого объекта экрана логической формы.
8. Способ по п.7, в котором первое декларативное отображение является моделью, используемой процессором отображений, чтобы создавать модель логического управляющего элемента.
9. Способ по п.2, в котором отображение логических управляющих элементов на физические управляющие элементы выполняют с использованием второго декларативного отображения.
10. Способ по п.9, дополнительно содержащий этап, на котором формообразный пользовательский интерфейс визуализируют во время исполнения с использованием созданной логической формы так, чтобы модель приложения являлась задействованной во время исполнения.
11. Способ по п.10, в котором при визуализации формообразного пользовательского интерфейса во время исполнения логическую форму во время исполнения создают с использованием и упомянутого выбранного типа логической формы, и метаданных из модели приложения.
12. Способ по п.11, в котором каждый из множества различных типов логических форм имеет связанную с ним схему, которая задает данные модели приложения, подлежащие включению в создаваемую логическую форму, при этом при создании логической формы во время исполнения логическую форму создают, используя эту связанную схему.
13. Способ по п.12, в котором схема для каждого из упомянутого множества различных типов логических форм представляет образцы моделей, введенные и сохраненные из множества форм.
14. Способ по п.12, в котором каждый из упомянутого множества типов логических форм содержит по меньшей мере одну заданную компоновку, при этом способ дополнительно содержит этап, на котором создают физическую форму во время исполнения, используя эту по меньшей мере одну заданную компоновку.
15. Считываемый компьютером носитель, содержащий исполняемые компьютером команды для выполнения способа создания формообразных пользовательских интерфейсов для множества технологий визуализации целевых объектов экрана на различных типах платформ, содержащий этапы, на которых:
создают независимую от целевого объекта экрана логическую форму, используя предварительно разработанную модель приложения, специфическую для конкретной предметной области, и заранее выбранный тип логической формы, при этом модель приложения представляет собой набор объектов данных, каждый из которых имеет свойства, а упомянутый тип логической формы предписывает структуру формы, подлежащую использованию для представления модели приложения, причем упомянутое создание выполняют посредством отображения типов свойств объектов данных модели приложения на независимые от целевого объекта экрана логические управляющие элементы в независимой от целевого объекта экрана логической форме; и
отображают независимую от целевого объекта экрана логическую форму на по меньшей мере один целевой объект экрана на по меньшей мере одном типе платформы для создания пользовательского интерфейса на каждом из упомянутого по меньшей мере одного типа платформы, причем данное отображение выполняют посредством отображения каждого из упомянутых логических управляющих элементов в упомянутой логической форме на один из множества физических управляющих элементов, доступных для визуализации пользовательского интерфейса на упомянутом целевом объекте экрана.
16. Считываемый компьютером носитель по п.15, в котором создание независимой от целевого объекта экрана логической формы выполняют с использованием первого декларативного отображения, определяемого упомянутым типом логической формы.
17. Считываемый компьютером носитель по п.16, в котором при создании независимой от целевого объекта экрана логической формы с использованием модели приложения, заранее выбранного типа формы и первого декларативного отображения также присоединяют декларативно применяемые поведения к независимой от целевого объекта экрана логической форме.
18. Считываемый компьютером носитель по п.16, в котором первое декларативное отображение является внешним для процессора отображений, используемого для создания независимой от целевого объекта экрана логической формы.
19. Считываемый компьютером носитель по п.16, в котором отображение логических управляющих элементов на физические управляющие элементы выполняется с использованием второго декларативного отображения.
20. Считываемый компьютером носитель по п.19, в котором каждый из множества различных типов логических форм имеет связанную с ним схему, которая задает данные модели приложения, подлежащие включению в создаваемую логическую форму, при этом при создании логической формы логическую форму создают, используя эту связанную схему.
21. Считываемый компьютером носитель по п.20, в котором схема для каждого из упомянутого множества различных типов логических форм представляет образцы моделей, введенные и сохраненные из набора форм.
22. Считываемый компьютером носитель по п.20, в котором каждый из упомянутого множества типов логических форм имеет по меньшей мере одну заданную компоновку, при этом считываемый компьютером носитель дополнительно содержит исполняемые компьютером команды для выполнения дополнительного этапа создания физической формы во время исполнения с использованием этой по меньшей мере одной заданной компоновки.
RU2005116964/09A 2004-06-03 2005-06-02 Способ и устройство создания пользовательских интерфейсов на основе автоматизации с возможностью полной настройки RU2390822C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/860,306 US7424485B2 (en) 2004-06-03 2004-06-03 Method and apparatus for generating user interfaces based upon automation with full flexibility
US10/860,306 2004-06-03

Publications (2)

Publication Number Publication Date
RU2005116964A RU2005116964A (ru) 2006-11-20
RU2390822C2 true RU2390822C2 (ru) 2010-05-27

Family

ID=34940048

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2005116964/09A RU2390822C2 (ru) 2004-06-03 2005-06-02 Способ и устройство создания пользовательских интерфейсов на основе автоматизации с возможностью полной настройки

Country Status (11)

Country Link
US (1) US7424485B2 (ru)
EP (1) EP1603034B1 (ru)
JP (1) JP5099982B2 (ru)
KR (1) KR101120815B1 (ru)
CN (1) CN1704900B (ru)
AU (1) AU2005201433B2 (ru)
BR (1) BRPI0501581A (ru)
CA (1) CA2504082C (ru)
ES (1) ES2692120T3 (ru)
MX (1) MXPA05004862A (ru)
RU (1) RU2390822C2 (ru)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2479867C2 (ru) * 2010-12-29 2013-04-20 Олег Владимирович Горохов Способ работы пользовательского лингвистического интерфейса
RU2612623C2 (ru) * 2011-09-13 2017-03-09 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Ролевой интерфейс пользователя для ограниченных устройств отображения
US9720583B2 (en) 2011-09-22 2017-08-01 Microsoft Technology Licensing, Llc User interface for editing a value in place
RU2650030C2 (ru) * 2012-09-10 2018-04-06 Зе Боинг Компани Паноптическая визуализация документа в соответствии с его структурой

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412658B2 (en) 2002-11-14 2008-08-12 Sap Ag Modeling system for graphic user interface
US7665063B1 (en) 2004-05-26 2010-02-16 Pegasystems, Inc. Integration of declarative rule-based processing with procedural programming
US7665014B2 (en) * 2004-06-03 2010-02-16 Microsoft Corporation Method and apparatus for generating forms using form types
US7363578B2 (en) * 2004-06-03 2008-04-22 Microsoft Corporation Method and apparatus for mapping a data model to a user interface model
US7424485B2 (en) 2004-06-03 2008-09-09 Microsoft Corporation Method and apparatus for generating user interfaces based upon automation with full flexibility
US9038001B2 (en) * 2004-07-01 2015-05-19 Mindjet Llc System and method for graphically illustrating external data source information in the form of a visual hierarchy in an electronic workspace
US9047388B2 (en) 2004-07-01 2015-06-02 Mindjet Llc System, method, and software application for displaying data from a web service in a visual map
US20060026522A1 (en) * 2004-07-27 2006-02-02 Microsoft Corporation Method and apparatus for revising data models and maps by example
US8170901B2 (en) * 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows
US7451432B2 (en) * 2004-10-01 2008-11-11 Microsoft Corporation Transformation of componentized and extensible workflow to a declarative format
US20060074735A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Ink-enabled workflow authoring
US20060294006A1 (en) * 2005-06-28 2006-12-28 International Business Machines Corporation Business transaction process controller for composite transactions
US7840936B2 (en) * 2005-12-29 2010-11-23 Sap Ag Support of a platform-independent model including descriptions of modeling language entities
US7840935B2 (en) * 2005-12-29 2010-11-23 Sap Ag Restrictive visualization of a stereotype construct for entities in a visual modeling environment
US8561048B2 (en) * 2005-12-29 2013-10-15 Sap Ag Late and dynamic binding of pattern components
US7774745B2 (en) * 2005-12-29 2010-08-10 Sap Ag Mapping of designtime to runtime in a visual modeling language environment
US8156469B2 (en) * 2005-12-29 2012-04-10 Sap Ag Single composition of pattern modules
US20070192364A1 (en) * 2005-12-29 2007-08-16 International Business Machines Corporation Apparatus and method for porting of business logic among computer platforms
US7757204B2 (en) * 2005-12-29 2010-07-13 Sap Ag Limiting extensibility of a visual modeling language
US7584416B2 (en) * 2006-02-21 2009-09-01 Microsoft Corporation Logical representation of a user interface form
US8966456B2 (en) * 2006-03-24 2015-02-24 The Mathworks, Inc. System and method for providing and using meta-data in a dynamically typed array-based language
US7984416B2 (en) * 2006-03-24 2011-07-19 The Mathworks, Inc. System and method for providing class definitions in a dynamically typed array-based language
US8924335B1 (en) * 2006-03-30 2014-12-30 Pegasystems Inc. Rule-based user interface conformance methods
US7945891B2 (en) * 2006-04-12 2011-05-17 Microsoft Corporation Time business process validations within data context
US20070244910A1 (en) * 2006-04-12 2007-10-18 Microsoft Corporation Business process meta-model
US8379830B1 (en) 2006-05-22 2013-02-19 Convergys Customer Management Delaware Llc System and method for automated customer service with contingent live interaction
US7809663B1 (en) 2006-05-22 2010-10-05 Convergys Cmg Utah, Inc. System and method for supporting the utilization of machine language
US8887130B2 (en) * 2006-06-16 2014-11-11 Sony Corporation Software design and development in a service oriented environment
US20080005159A1 (en) * 2006-06-28 2008-01-03 International Business Machines Corporation Method and computer program product for collection-based iterative refinement of semantic associations according to granularity
US7730412B2 (en) * 2006-06-30 2010-06-01 Sap Ag System and method for model-based user interface using transformation nodes
US20080059944A1 (en) * 2006-08-15 2008-03-06 Zeligsoft Inc. Deployment-aware software code generation
US7844912B2 (en) * 2006-12-22 2010-11-30 Sap Ag System and method using transformation nodes with enhancement layers
US8689174B2 (en) * 2006-12-28 2014-04-01 Sap Ag Extensibility of pattern components
US8250525B2 (en) 2007-03-02 2012-08-21 Pegasystems Inc. Proactive performance management for multi-user enterprise software systems
US7917893B2 (en) * 2007-03-07 2011-03-29 Microsoft Corporation Using a system of annotations to generate views and adapters
US8010970B2 (en) * 2007-04-10 2011-08-30 Microsoft Corporation Developing controls for outlook add-ins
CN101316296B (zh) * 2007-05-29 2012-09-05 中兴通讯股份有限公司 管理多种电子工单生成的方法及系统
US20090043592A1 (en) * 2007-08-06 2009-02-12 Sap Ag Method and system for managing product development processes
US20090064205A1 (en) * 2007-08-16 2009-03-05 Oracle International Corporation System and method for harvesting service metadata from a metadata repository into an architecture diagram
US20090083697A1 (en) * 2007-09-21 2009-03-26 Honeywell International Inc. Integration of User Interface Design and Model Driven Development
US8458648B2 (en) * 2007-12-10 2013-06-04 International Business Machines Corporation Graphical modelization of user interfaces for data intensive applications
US9817540B2 (en) * 2007-12-31 2017-11-14 Intel Corporation Device, system, and method of composing logical computing platforms
US10304095B2 (en) * 2008-02-04 2019-05-28 Thomson Reuters Global Resources Unlimited Company System and method for accounting gateway
US20090319923A1 (en) * 2008-06-20 2009-12-24 International Business Machines Corporation Method for generating role-based user interfaces utilizing uml models
US20100070891A1 (en) * 2008-09-18 2010-03-18 Creekbaum William J System and method for configuring an application via a visual map interface
US9396455B2 (en) 2008-11-10 2016-07-19 Mindjet Llc System, method, and software application for enabling a user to view and interact with a visual map in an external application
JP5363589B2 (ja) * 2008-12-19 2013-12-11 インターナショナル・ビジネス・マシーンズ・コーポレーション データ・メタモデルから音声ユーザ・インタフェース・コードを生成するための方法およびシステム
US8843435B1 (en) 2009-03-12 2014-09-23 Pegasystems Inc. Techniques for dynamic data processing
US8468492B1 (en) 2009-03-30 2013-06-18 Pegasystems, Inc. System and method for creation and modification of software applications
US8190499B1 (en) 2009-08-21 2012-05-29 Intuit Inc. Methods systems and articles of manufacture for collecting data for future electronic tax return
US8428984B2 (en) * 2009-08-31 2013-04-23 Sap Ag Transforming service oriented architecture models to service oriented infrastructure models
CA2679786A1 (en) * 2009-09-16 2009-12-16 Ibm Canada Limited - Ibm Canada Limitee Conceptual representation of business processes for cross-domain mapping
KR101277274B1 (ko) * 2009-11-27 2013-06-20 한국전자통신연구원 자원 간의 물리적/논리적 관계를 맵핑하는 방법 및 장치
US20110185294A1 (en) * 2010-01-22 2011-07-28 Microsoft Corporation Pattern-based user interfaces
US9513882B2 (en) * 2010-04-15 2016-12-06 Microsoft Technology Licensing, Llc Platform independent presentation composition
US8583517B1 (en) 2010-04-30 2013-11-12 Intuit Inc. Systems and methods for generating and sending electronic messages related to a tax return
DK177307B1 (en) * 2010-12-17 2012-11-12 Aquaporin As A liquid membrane
CN102004645B (zh) * 2010-12-17 2014-06-25 无锡永中软件有限公司 一种实现电子表格单变量求解的方法
US8560827B1 (en) * 2010-12-28 2013-10-15 Emc International Company Automatically determining configuration parameters for a system based on business objectives
US9141403B2 (en) * 2011-02-15 2015-09-22 Microsoft Technology Licensing, Llc Data-driven schema for describing and executing management tasks in a graphical user interface
US8880487B1 (en) 2011-02-18 2014-11-04 Pegasystems Inc. Systems and methods for distributed rules processing
US20120284631A1 (en) * 2011-05-02 2012-11-08 German Lancioni Methods to adapt user interfaces and input controls
US20120284735A1 (en) * 2011-05-06 2012-11-08 Microsoft Corporation Interaction-Based Interface to a Logical Client
US9195936B1 (en) 2011-12-30 2015-11-24 Pegasystems Inc. System and method for updating or modifying an application without manual coding
US20130290851A1 (en) * 2012-04-30 2013-10-31 Microsoft Corporation User interface web services
CN103473622B (zh) * 2012-06-07 2021-11-02 Sap欧洲公司 基于业务方案的范围界定
US9858624B2 (en) * 2012-10-04 2018-01-02 Qvinci Software, Llc Methods and apparatus for providing data normalization, scalability and maintainability
GB201300465D0 (en) 2013-01-11 2013-02-27 Aquaporin As A hollow fiber module having tfc-aquaporin modified membranes
DK177696B1 (en) 2013-02-25 2014-03-17 Aquaporin As Systems for water extraction
CN103713901B (zh) * 2013-12-24 2018-01-12 金蝶软件(中国)有限公司 单据的展示方法和系统
CN103809976A (zh) * 2014-02-19 2014-05-21 浪潮软件股份有限公司 工作流关联多终端类型表单的方法
US10469396B2 (en) 2014-10-10 2019-11-05 Pegasystems, Inc. Event processing with enhanced throughput
CN104391725B (zh) * 2014-12-08 2017-11-14 畅捷通信息技术股份有限公司 页面展示方法和页面展示装置
US10572129B2 (en) * 2014-12-24 2020-02-25 Sap Portals Isreal Ltd Declarative user interface representation conversion via hierarchical templates
RU2015116133A (ru) * 2015-04-29 2016-11-20 Общество с ограниченной ответственностью "1С" Способ автоматизированного генерирования интерфейса приложения
RU2613026C1 (ru) * 2015-09-30 2017-03-14 Общество с ограниченной ответственностью "Интерсофт" Способ подготовки документов на языках разметки при реализации пользовательского интерфейса для работы с данными информационной системы
EP3358470B1 (en) 2015-09-30 2020-11-04 Obschestvo S Ogranichennoy Otvetstvennostyu "Intersoft" Method of preparing documents in markup languages
US10203939B2 (en) * 2015-10-30 2019-02-12 Sap Se Method and system for parameter model framework
CN105739984B (zh) * 2016-01-29 2019-08-06 中国人民解放军63811部队 一种基于Qt的高可维护性数据显示系统
MX2018009617A (es) 2016-02-08 2019-05-02 Aquaporin As Nanoestructuras autoensambladas y membranas de separacion que comprenden canales de agua de acuaporina y metodos de obtencion y uso de las mismas.
US10521721B2 (en) * 2016-04-08 2019-12-31 International Business Machines Corporation Generating a solution for an optimization problem
US10698599B2 (en) 2016-06-03 2020-06-30 Pegasystems, Inc. Connecting graphical shapes using gestures
US10698647B2 (en) 2016-07-11 2020-06-30 Pegasystems Inc. Selective sharing for collaborative application usage
US11625662B2 (en) 2016-09-22 2023-04-11 Qvinci Software, Llc Methods and apparatus for the manipulating and providing of anonymized data collected from a plurality of sources
US10372443B2 (en) * 2016-10-18 2019-08-06 Oracle International Corporation Multi-platform pattern-based user interfaces
EP3462309A1 (en) * 2017-09-28 2019-04-03 Siemens Aktiengesellschaft Method for generating user interfaces from a manufacturing application model
WO2020006076A1 (en) * 2018-06-27 2020-01-02 Q2 Software, Inc. Method and system for automating web processes utilizing an abstractable underlying platform layer
US11048488B2 (en) 2018-08-14 2021-06-29 Pegasystems, Inc. Software code optimizer and method
US11055073B2 (en) 2019-04-08 2021-07-06 Citrix Systems, Inc. Transforming validated user interface layouts using inter-platform design mapping data
CN110633459B (zh) * 2019-07-23 2023-10-10 石化盈科信息技术有限责任公司 数据报表的自动生成方法及系统、计算机可读存储介质
CN113050930A (zh) * 2019-12-27 2021-06-29 北京华为数字技术有限公司 用户图形界面修改方法以及相关设备
US11567945B1 (en) 2020-08-27 2023-01-31 Pegasystems Inc. Customized digital content generation systems and methods
CN112163049B (zh) * 2020-09-29 2024-04-09 北京中电普华信息技术有限公司 将业务对象映射为数据实体的方法及装置
CN113204329B (zh) * 2021-03-19 2024-06-14 浙江华云信息科技有限公司 统一数据模型驱动业务应用的控制方法及其应用系统
CN114064716B (zh) * 2021-10-29 2023-10-20 北京市农林科学院信息技术研究中心 基于元数据的web报表自动生成方法及装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649190A (en) * 1994-06-14 1997-07-15 Harris Corporation Multi-model database system for dynamic creation and maintenance of complex objects in a real time environment
US6076051A (en) 1997-03-07 2000-06-13 Microsoft Corporation Information retrieval utilizing semantic representation of text
US5999948A (en) * 1997-09-03 1999-12-07 3Com Corporation Dynamic configuration forms in network management software
US6012098A (en) 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
CA2683191A1 (en) 1999-03-02 2000-09-08 Amway Corp. Electronic commerce transactions within a marketing system
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6704743B1 (en) 1999-09-13 2004-03-09 Copernus, Inc. Selective inheritance of object parameters in object-oriented computer environment
ES2355188T3 (es) 2000-06-23 2011-03-23 Sportvision Inc. Sistema para seguir la trayectoria basado en gps.
US20020083068A1 (en) 2000-10-30 2002-06-27 Quass Dallan W. Method and apparatus for filling out electronic forms
EP1330709A2 (en) * 2000-11-03 2003-07-30 Wilde Technologies Limited A software development process
AU2002239620A1 (en) 2000-11-06 2002-05-27 Terry Bernard Young Electronic markets business interchange system and metheo
US20020152118A1 (en) * 2000-11-06 2002-10-17 Hadjigeorgis George K. System of a computer-networked, point-of-sale rebate award program
US7194743B2 (en) * 2000-12-12 2007-03-20 Citrix Systems, Inc. Methods and apparatus for communicating changes between a user interface and an executing application using property paths
CA2329559A1 (en) * 2000-12-22 2002-06-22 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for generating serialization code for representing a model in different type systems
US7194683B2 (en) 2001-03-02 2007-03-20 International Business Machines Corporation Representing and managing dynamic data content for web documents
US20020163538A1 (en) * 2001-05-07 2002-11-07 Koninklijke Philips Electronics N.V. Electronic mail guide
US7246326B2 (en) * 2001-06-25 2007-07-17 Siemens Medical Solutions Health Services Corporation System and procedure for providing a user interface display
US20030025732A1 (en) * 2001-07-31 2003-02-06 Prichard Scot D. Method and apparatus for providing customizable graphical user interface and screen layout
US7895522B2 (en) * 2001-09-28 2011-02-22 Ntt Docomo, Inc. Layout of platform specific graphical user interface widgets migrated between heterogeneous device platforms
US20030221165A1 (en) 2002-05-22 2003-11-27 Microsoft Corporation System and method for metadata-driven user interface
US20050005259A1 (en) * 2003-03-14 2005-01-06 Infowave Software, Inc. System and method for communication and mapping of business objects between mobile client devices and a plurality of backend systems
US7698176B2 (en) 2003-07-28 2010-04-13 At&T Intellectual Property I, L.P. Method, system, and computer-readable medium for updating inventory data in an inventory management system
US7933762B2 (en) 2004-04-16 2011-04-26 Fortelligent, Inc. Predictive model generation
US7424485B2 (en) 2004-06-03 2008-09-09 Microsoft Corporation Method and apparatus for generating user interfaces based upon automation with full flexibility

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2479867C2 (ru) * 2010-12-29 2013-04-20 Олег Владимирович Горохов Способ работы пользовательского лингвистического интерфейса
RU2612623C2 (ru) * 2011-09-13 2017-03-09 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Ролевой интерфейс пользователя для ограниченных устройств отображения
US9720583B2 (en) 2011-09-22 2017-08-01 Microsoft Technology Licensing, Llc User interface for editing a value in place
RU2627113C2 (ru) * 2011-09-22 2017-08-03 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Пользовательский интерфейс для редактирования значения по месту
US10133466B2 (en) 2011-09-22 2018-11-20 Microsoct Technology Licensing, LLC User interface for editing a value in place
RU2650030C2 (ru) * 2012-09-10 2018-04-06 Зе Боинг Компани Паноптическая визуализация документа в соответствии с его структурой
US10268662B2 (en) 2012-09-10 2019-04-23 The Boeing Company Panoptic visualization of a document according to the structure thereof

Also Published As

Publication number Publication date
AU2005201433A1 (en) 2005-12-22
KR20060047250A (ko) 2006-05-18
EP1603034B1 (en) 2018-07-25
JP5099982B2 (ja) 2012-12-19
MXPA05004862A (es) 2005-12-07
BRPI0501581A (pt) 2006-01-24
CA2504082C (en) 2012-02-07
KR101120815B1 (ko) 2012-03-23
ES2692120T3 (es) 2018-11-30
EP1603034A3 (en) 2007-12-26
EP1603034A2 (en) 2005-12-07
US7424485B2 (en) 2008-09-09
RU2005116964A (ru) 2006-11-20
CA2504082A1 (en) 2005-12-03
JP2005346719A (ja) 2005-12-15
CN1704900A (zh) 2005-12-07
CN1704900B (zh) 2012-09-05
AU2005201433B2 (en) 2010-04-08
US20060004845A1 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
RU2390822C2 (ru) Способ и устройство создания пользовательских интерфейсов на основе автоматизации с возможностью полной настройки
US7363578B2 (en) Method and apparatus for mapping a data model to a user interface model
US9342272B2 (en) Custom and customizable components, such as for workflow applications
US8712953B2 (en) Data consumption framework for semantic objects
US7366723B2 (en) Visual query modeling for configurable patterns
US7774745B2 (en) Mapping of designtime to runtime in a visual modeling language environment
US8719773B2 (en) Workflow data binding
US7953767B2 (en) Developing applications using configurable patterns
US20070220035A1 (en) Generating user interface using metadata
US7665014B2 (en) Method and apparatus for generating forms using form types
US8126937B2 (en) Visual database modeling
US7505991B2 (en) Semantic model development and deployment
US20060026506A1 (en) Test display module for testing application logic independent of specific user interface platforms
US8201147B2 (en) Generic XAD processing model
JP2013518321A (ja) パターンベースのユーザインターフェース
Lumertz et al. User interfaces metamodel based on graphs
Kalnins et al. Metamodel specialization for graphical language support
US8490068B1 (en) Method and system for feature migration
US20060026522A1 (en) Method and apparatus for revising data models and maps by example
Xu VisTool: A user interface and visualization development system
Xu VisTool
Schwabe Engineering WEB Applications-Challenges and Perspectives.
Lindelöw et al. An analysis of the DOI framework

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150526

MM4A The patent is invalid due to non-payment of fees

Effective date: 20150603