WO2003102766A1 - Procede et systeme de generation de vues d'interface utilisateur - Google Patents

Procede et systeme de generation de vues d'interface utilisateur Download PDF

Info

Publication number
WO2003102766A1
WO2003102766A1 PCT/SE2003/000875 SE0300875W WO03102766A1 WO 2003102766 A1 WO2003102766 A1 WO 2003102766A1 SE 0300875 W SE0300875 W SE 0300875W WO 03102766 A1 WO03102766 A1 WO 03102766A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
entity
user interface
meta
interface views
Prior art date
Application number
PCT/SE2003/000875
Other languages
English (en)
Inventor
Dennis Zikovic
Original Assignee
Caleigo Ab
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
Priority claimed from SE0201641A external-priority patent/SE0201641L/xx
Application filed by Caleigo Ab filed Critical Caleigo Ab
Priority to AU2003245188A priority Critical patent/AU2003245188A1/en
Publication of WO2003102766A1 publication Critical patent/WO2003102766A1/fr

Links

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

Definitions

  • TITLE METHOD AND SYSTEM FOR GENERATING USER INTERFACE VIEWS .
  • the present invention relates generally to a method and system for generating user interface views, and more particularly to a method and system for interactively and dynamically generating one or more user interface views of a data source on a display.
  • the distance between developers on one side and customers and end-users on the other is a very important factor in the risk of failure in a software project.
  • This object is achieved by a method according to the invention, wherein one or more user interface views of • stored entities corresponding to data items of the data source is generated and displayed on said display. Responsive to user entered commands for selectively and dynamically modifying one or more of the displayed user interface views, the entered commands are processed to change meta-data descriptors of a meta-data model of the data source stored in memory locations of the computer, for displaying data reflected by the descriptors in one or more of the user interface views .
  • a more specific object of the invention is to provide a system for working the method.
  • a system comprising a meta-data model, of the data source, memory locations connected to the meta-data model means, wherein the memory locations being arranged to store: an entity list for entities corresponding to data items of the data source, view factory means for generating and displaying one or more user interface views of the entities on the display, and means for selectively and dynamically modifying one or more of the displayed user interface views, wherein one or more meta-data descriptors of the meta-data model are changed, means for displaying data reflected by said descriptors in one or more of said user interface views upon entry of command by a user.
  • An advantage of the method and system according to the present invention is that it provides a solution that automatically generates executable applications from an existing database design and an ability to customize and change the views and what data to be presented in them when the system is active.
  • FIG 1 shows a block diagram of one embodiment of a computer system according to the invention
  • FIG 2 shows a schematic view of one embodiment of a layered structure of the computer program according to the present invention
  • FIG 3 shows a schematic view of the layered structure in FIG 2 in further detail
  • FIG 4 shows an illustrative diagram of associations in a data model according to the present invention
  • FIG 5 shows a schematic view of second embodiment of a layered structure according to the invention
  • FIG 6 is an illustrative view of a software application system development process including the method according to the present invention
  • FIG 7 is a flowchart of the method according to the invention
  • FIG 8 illustrates a part of a meta-data model according to the invention
  • FIG 9 illustrates a first embodiment of a user interface view according to the invention
  • FIG 10 illustrates a second embodiment of a user interface view according to the invention
  • FIG 11 illustrates a third embodiment of a user interface view according to the invention.
  • FIG 12 illustrates a changed version of the part of the meta-data model in FIG 8.
  • the computer system includes a programmable digital computer 101, a display 102, memory means 103, primary as well as secondary memory means, and input means, such as a mouse 104 or keyboard
  • the computer system has connection means and is adapted to be connected to a data source such as a database 105 or load said data base 105 into its memory means 103. Further, the computer system is adapted to load and execute applications for operating on said data source 105.
  • This illustrated computer system is only one embodiment of the present invention, but it can have a number of different configurations in other embodiments of the invention.
  • the computer system can for example have a network configuration with a number of individual computers, different kinds of memories, input means, and displays in other embodiments of the present invention.
  • FIG 2 shows a schematic view of one embodiment of a layered structure of the computer program according to the present invention.
  • the source information for the system is ⁇ the data structure of the data source 105 for the application that is to be developed.
  • the easiest way for the system to access this information is to access for example an ODBC data source and read the structural data from that source.
  • the structural data, or meta-data, defines entities, fields and their relations in the data source .
  • the system comprises a core entity library or data model 106, which is a generic object oriented component library for construction of abstract data models.
  • An abstract data model is a representation of a data source that can act as a shell for the database making the application using the model independent of the underlying database.
  • the most apparent advantage this provides is the ability to change database vendor or even the type of database without having to rewrite or change anything in the model or the view layers based on it .
  • Different types of databases could be a traditional relational database such as Oracle, but it could also be any other structural data source for example an in-memory database, an object oriented database or a mainframe gateway.
  • the system Based on the meta-data, the system creates a meta-data model 107 of the data source 105 by means of the core entity library 106.
  • the system contains a complete meta data model describing the structure and relations of the entities and fields in the data source.
  • the meta-data is incorporated in the source code by a code generator of the system making it an integrated and robust part of the meta-data model .
  • the meta-data model is fully dynamic and allows an application developer to create new types of entities as arbitrary compilations of fields from other entity-types in the data source 105.
  • the meta-data model is fully traversable making it possible to analyze and make decisions based on the structure in runtime. This can be used for validation, query construction and creating customized entities.
  • the core entity, library or data model 106 of the meta-data uses an object-based query-definition structure based on qualification objects.
  • the qualification objects use the meta-data model to enable fully generic queries that can be constructed when the system is active. By using the traversable meta-data the qualifications can be greatly simplified and in part automatically created and validated by core entity library 106.
  • the layered structure of the computer program of the invention comprises a view layer 108 comprising components that provide visual representations of the meta-data model layer 107.
  • Typical examples are list views of entity selections and detailed views of single entities.
  • the views provide all of the standard functionality to view, create, edit and delete information. It also provides means to interactively validate entity data and it automatically handles relational constructs.
  • the view layer 108 also makes use of the meta-data model 107 and its relational information to allow views to be linked together forming chains of slave and reference views that are automatically synchronized to a master view.
  • the view layer 108 uses a factory design pattern to produce views for entities and fields in the meta-data model layer 107.
  • the view factory connects to the meta-data model defined by the core entity library 106 and uses the structural information defined by it to map and configure ' the generated views .
  • the views have to be organized together in a way that makes sense for an end- user 109. Since making sense does not come natural for computers, it is guided with manually added type configurations in the code generator wizard. The configurations are then used by the code generator to produce the final source code that provides a fully functional and executable application.
  • An application framework layer 110 of the layered structure follows the pattern of the underlying layers and can be dynamically configured in runtime. It uses the view factory in the view layer 108 to produce customized views to meet the end-users needs. It will also be possible to choose different generator templates to generate different types of application frameworks.
  • FIG 3 shows a schematic view of the layered structure in FIG 2 in further detail. Additionally, FIG 3 illustrates the associations between the layers 105-110 and their different components, which are essential for the operation of the system of the present invention.
  • Memory locations of the memory means 103 are connected to the meta-data model 107.
  • An entity list of entities 111 corresponding to data items of the data source 105.
  • a descriptor 112 is generated for each data item or group of entities .
  • An entity selection object 113 includes lists of selectable objects, i.e a set of entities that can be combined in the same group of entities.
  • the data model comprises a qualifier 114 for each entity or group of entities.
  • a qualifier constitutes means for making a selection of entities .
  • the view layer has a view factory 115 as mentioned above.
  • the view factory or factories are associated with a corresponding descriptors 112 in the meta-data model layer 107 and is adapted generate and display one or more user interface views of the entities 111 on the display 102.
  • the view layer 108 comprises entity views 116 corresponding to and being associated with the entities 111, selection views 117 corresponding to and being associated with the entity selections, and qualifier views 118 corresponding to and being associated with the qualifiers.
  • the meta-data model 107 and the view layer 108 with its view factory 115 form a complete model view controller 119
  • the view layer 108 is generated with a set of default entity views, selections views, and qualifier views for displaying data reflected by the descriptors 112.
  • FIG 4 shows an illustrative graph of associations in a data model according to the present invention.
  • Each descriptor 112 comprises a data source descriptor 120, one or more (1..*) entity descriptors 121, and one or more field descriptors 122 for each entity.
  • the view factory 115 of the view layer 108 is associated with a number (*) of the data source descriptors 120, one or more (1..*) entity view factories 123 for each entity descriptor 121, and one or more field view factories 124 for each field descriptor 122.
  • source code is generated for an application 110 ' by the system, based on the meta-data model 107 and the view layer 108.
  • the model view controller 119 of the present invention provides means for a user of the application to selectively and dynamically modify one or more of displayed user interface views, wherein one or more meta-data descriptors of the meta-data model are changed.
  • the views are selectively and dynamically modified on the display 102 upon entry of command by a user by means of the input means 104, 105. Data reflected by the descriptors are then displayed accordingly in one or more of the user interface views .
  • FIG 5 shows a schematic view of second embodiment of a layered structure including a fifth layer called a service layer 130 including a service interface 131 against the meta-data model 107 and a data source interface 132 according to the invention.
  • the service layer 130 provides a generic API for accessing miscellaneous services.
  • the API can be used for a multitude of services like file archive access, printer access or log services.
  • This layer is to hide the service provider from the consumer. This makes it possible to change the source of the service without the need to recompile the source code. It will also, be possible to change the provider when the system is active or let an external controller decide what service to provide at the startup of an application.
  • the core entity library 106 depends on the service layer 130, which provides it with a data access service.
  • the data access service is a very small interface making it very easy to create new kinds of services when access to new types of data sources is required.
  • the most common data access service will be JDBC-based, but the service layer provides remote access to data services over local networks and over the Internet using HTTP-tunneling.
  • the Service layer provides transparent access to a service regardless of the service provider's physical nature or location. Chaining service-providers to each other using a large number of communication options achieves this.
  • the options include exchangeable techniques like RMI or HTTP-tunneling and exchangeable protocols like XML or binary serialization.
  • the result is a large number of deployment options. It is actually possible to run an application using smart clients as a two-tier solution if the service provider can provide the required services locally on the client with the system according to the present invention.
  • the service layer makes it possible to change the database layer transparently, even in runtime.
  • FIG 6 is an illustrative view of a software application system development process including the method for interactively and dynamically generating one or more user interface views of the data source 105 on the display 102 of a programmed digital computer according to the method of the present invention.
  • an architect 150 analyses the requirements of the application to be made, resulting in a specification 151.
  • An architect 150' makes a database design 152 in step 202.
  • the data base design 152 is then used as a source for an application generator 153 of the present invention including a class library 154, templates 155, and a source code generator 156.
  • Source code 157 of the layered structure 106-132 according to the present invention is automatically generated by the computer system 101 according to the invention in step 203.
  • a programmer 158 To generate the view and framework layers a programmer 158 must also complement the meta data with simple type-definitions and categorisations of the entities and fields in the data source. This is done by the wizard-styled user interface of the generator tools.
  • business logic 159 is applied by a programmer 160 in step 204 forming the functional application 110 ' .
  • the business actions are mapped against the meta-data model 106,107 in core entity library 106 , making it possible for customized entity objects in core entity library 106 to inherit relevant business actions.
  • the view layer 108 can use this ability directly when new dynamic views are created. They can automatically provide buttons and menu-options that trigger business logics relevant for that view.
  • the action design makes it possible for the application developers to define business actions that are independent of the view layer. For this to work the actions must be able to tell core entity library 106 what data is required to perform its logical function. The action can do this by referring to that type-data in the meta-data model 106,107. Then the view layer knows how to provide that data and can even if necessary use the view factory to produce an action view for the end-user.
  • the system according to the invention makes it possible to create a functional application from an existing database within a very short time period of configuration in the code generator.
  • an application developer can configure the running application in a dialog with the end-user in step 205 to meet their requirements.
  • One embodiment of the method for interactively and dynamically generating one or more user interface views of a data source on a display of a programmed digital computer according to the present invention is illustrated by the flowchart in FIG 7. The method is described in conjunction with FIG 8-12.
  • FIG 8 illustrates a part of a meta-data model according to the invention of a data source including customers and orders associated with the customers.
  • This part of the meta-data model includes two entity descriptors: Customers 170 and Orders 171.
  • the descriptor Customers 170 defines customer entities and the fields forming each entity of the data source.
  • the descriptor Customers 170 includes a number of field descriptors for example a CustomerlD field descriptor 172 defining a customer ID of a customer entity, a CompanyName field descriptor 173 defining a company name field of the customer entity, a ContactName field descriptor 174 defining a company name field of the customer entity, a Phone field descriptor 175 defining a phone number field of the customer entity, etc.
  • the entity descriptor Orders 171 has an OrderlD field descriptor 176 and a CustomerlD field descriptor 172 ' forming a key - indicated by an asterisk - to the entity descriptor Customers 170.
  • FIG 9 illustrates a first embodiment of a user interface view according to the invention, including an entity view Orders 271 for displaying data reflected by the entity and field descriptors 172', and 176 and so on, on for example the display 102 in FIG 1.
  • the entity view Orders 271 comprises among other fields an OrderlD field 272' and a CustomerlD field 276.
  • a button 277 is associated with the CustomerlD field 276.
  • the system is adapted to display an additional entity view Customers 270 for displaying data reflected by the entity descriptor 170 and its descriptor fields 170, 172, 174 etc, when a user activates the button 277 in step 206.
  • the entity view Customers 270 forming a second embodiment of an interface view according to the invention, comprises among other fields a CustomerlD field 272, a
  • the user modifies the view by dragging one or more fields from the view Customers 270 to the view Orders 271.
  • the user selects the three fields 273, 274, and 275, drags them over and drops them in the view Orders 271.
  • This action by the user starts a process in the system, wherein the view Orders 271 is changed to include also the fields 273, 274, and 275 in step 208 for displaying data reflected by the field descriptors 173, 174, and 175.
  • FIG 11 illustrates a third embodiment of a user interface view according to the invention, i.e a view including the view Orders with the additional fields 273, 274, and 275. Additionally, the system according to the present invention is adapted to not only change the views but also the descriptors upon entry of the commands, i.e drag and drop in this example, by the user.
  • FIG 12 illustrates a changed version of the part of the meta-data model in FIG 8, wherein the descriptor Orders 171 includes the additional field descriptors 173, 174, and 175.
  • qualification objects can be embedded in the views to filter or extend the data that is presented.
  • a qualifier constitutes means for making a selection of entities.
  • a qualifier can be a particular country and a view can be adapted to display every customer from that country.
  • Actions like buttons and menus can be edited and the default actions can be changed.
  • New views can be created that choose alternative perspectives to the same data that is presented in other views. This makes it possible for end-users and developers to create, not just new views, but entirely new use-cases for an application without writing a single line of source code.
  • the view factory can also produce different views for the same data-types based on definable parameters, typically like the identity of the current application user. This provides an inherent way to make user-defined roles with customized views and use-case access.
  • the database layer can be any structural data source, such as a relational database like Oracle, DB2 or Microsoft SQL-Server. But it could be a mainframe gateway, a web service or XML based text files as well.
  • the method of the present invention is preferably implemented in computer software executable preferably by a central or distributed data processing system as described above.
  • the invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice.
  • the program may be in the form of source code, object code a code suitable for use in the implementation of the method according to the invention.
  • the carrier can. be any entity or device capable of carrying the program.
  • the carrier may be a record medium, computer memory, read-only memory or an electrical carrier signal .

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

La présente invention concerne un procédé et un système informatique permettant de générer de manière interactive et dynamique une ou plusieurs vues d'interface d'une source de données (105') sur un afficheur (102), une mémoire (103) et un organe d'entrée (104, 104') destiné à entrer des données dans l'ordinateur (101). Ce système possède un modèle de données (106) et un modèle de métadonnées (106, 107) de la source de données (107), des localisations de mémoire (101) connectées à ce modèle de métadonnées (106, 107) agencées de façon à stocker une liste d'entités correspondant à des éléments de données de la source de données (105'). Un organe de fabrication de vues (115) permet de générer et d'afficher des vues d'interface utilisateur des entités (111) sur l'afficheur (102). Ce système possède aussi un organe permettant de modifier de manière sélective et dynamique les vues d'interface utilisateur, dans lequel les descripteurs de métadonnées (112, 120, 121, 122) du modèle de métadonnées sont modifiés et, un organe d'affichage de données réfléchies par les descripteurs (112) dans les vues d'interface utilisateur lors de l'entrée de commande d'un utilisateur (109).
PCT/SE2003/000875 2002-05-31 2003-05-28 Procede et systeme de generation de vues d'interface utilisateur WO2003102766A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003245188A AU2003245188A1 (en) 2002-05-31 2003-05-28 Method and system for generating user interface views

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
SE0201641-8 2002-05-31
SE0201641A SE0201641L (sv) 2002-05-31 2002-05-31 Metod och system för att generera användargränssnittvyer
US40175002P 2002-08-08 2002-08-08
US60/401,750 2002-08-08

Publications (1)

Publication Number Publication Date
WO2003102766A1 true WO2003102766A1 (fr) 2003-12-11

Family

ID=29714429

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2003/000875 WO2003102766A1 (fr) 2002-05-31 2003-05-28 Procede et systeme de generation de vues d'interface utilisateur

Country Status (2)

Country Link
AU (1) AU2003245188A1 (fr)
WO (1) WO2003102766A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231104A (zh) * 2010-07-29 2011-11-02 艾默生网络能源有限公司 一种基于描述的界面生成装置及生成方法
US8209355B2 (en) 2008-07-28 2012-06-26 Microsoft Corporation Automatic user interface generation for entity interaction
US10296562B2 (en) 2013-02-12 2019-05-21 Oath Inc. Dynamic generation of mobile web experience

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5760770A (en) * 1996-05-15 1998-06-02 Microsoft Corporation System and method for defining a view to display data
US5926177A (en) * 1997-10-17 1999-07-20 International Business Machines Corporation Providing multiple views in a model-view-controller architecture
US5950190A (en) * 1997-05-13 1999-09-07 Aptek, Inc. Dynamic, self-modifying graphical user interface for relational database applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5760770A (en) * 1996-05-15 1998-06-02 Microsoft Corporation System and method for defining a view to display data
US5950190A (en) * 1997-05-13 1999-09-07 Aptek, Inc. Dynamic, self-modifying graphical user interface for relational database applications
US5926177A (en) * 1997-10-17 1999-07-20 International Business Machines Corporation Providing multiple views in a model-view-controller architecture

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209355B2 (en) 2008-07-28 2012-06-26 Microsoft Corporation Automatic user interface generation for entity interaction
CN102231104A (zh) * 2010-07-29 2011-11-02 艾默生网络能源有限公司 一种基于描述的界面生成装置及生成方法
CN102231104B (zh) * 2010-07-29 2013-10-23 艾默生网络能源有限公司 一种基于描述的界面生成装置及生成方法
US10296562B2 (en) 2013-02-12 2019-05-21 Oath Inc. Dynamic generation of mobile web experience
US10956531B2 (en) 2013-02-12 2021-03-23 Verizon Media Inc. Dynamic generation of mobile web experience

Also Published As

Publication number Publication date
AU2003245188A1 (en) 2003-12-19

Similar Documents

Publication Publication Date Title
US10515205B2 (en) Systems and methods for determining trust levels for computing components
CA2782414C (fr) Specification d'elements d'interface utilisateur
US9256413B2 (en) Automatic identification of services
EP2035949B1 (fr) Structure de gestion déclarative
US20100153150A1 (en) Software for business adaptation catalog modeling
US20080120593A1 (en) GUI modeling of deep hierarchical data
US8924914B2 (en) Application creation tool toolkit
US20100153149A1 (en) Software for model-based configuration constraint generation
US11455149B2 (en) Object configuration utilities
US20080005161A1 (en) Object-relational model based user interfaces
US20120158754A1 (en) Automated generation of analytic and visual behavior
US20120060141A1 (en) Integrated environment for software design and implementation
US20240143285A1 (en) Architecture discovery
US9904452B2 (en) Building user specific user interface instances
Diamantini et al. A virtual mart for knowledge discovery in databases
US20130127863A1 (en) Determining an optimal sequence of status transitions for business objects
US7856450B2 (en) Apparatus and method for distributing information between business intelligence systems
WO2003102766A1 (fr) Procede et systeme de generation de vues d'interface utilisateur
US9268533B2 (en) Method and apparatus for enabling layered property definition in traditional and cloud computing environments
Genovese Data Mesh: the newest paradigm shift for a distributed architecture in the data world and its application
Leonard et al. Configuration
Wasilewski Modeling of Enterprise Portals with Domain-Specific Language
Anthony Identifying functional variants of Publish/Subscribe systems for adaptive components of Medium

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP