WO2003025791A2 - Systeme d'acces aux bases de donnees - Google Patents

Systeme d'acces aux bases de donnees Download PDF

Info

Publication number
WO2003025791A2
WO2003025791A2 PCT/GB2002/004265 GB0204265W WO03025791A2 WO 2003025791 A2 WO2003025791 A2 WO 2003025791A2 GB 0204265 W GB0204265 W GB 0204265W WO 03025791 A2 WO03025791 A2 WO 03025791A2
Authority
WO
WIPO (PCT)
Prior art keywords
client
data
validation
application server
processing means
Prior art date
Application number
PCT/GB2002/004265
Other languages
English (en)
Other versions
WO2003025791A3 (fr
Inventor
Alex Mattelaer
Robert Scott-Stewart
Original Assignee
Alea Technology Limited
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 Alea Technology Limited filed Critical Alea Technology Limited
Publication of WO2003025791A2 publication Critical patent/WO2003025791A2/fr
Publication of WO2003025791A3 publication Critical patent/WO2003025791A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application

Definitions

  • This invention relates to a system for accessing a database . It is particularly concerned with a system for adding or modifying data remotely in a controlled manner.
  • Rules are usually included in the database itself which control what data is permissible in a particular field. There may be fields requiring data to be in a particular format - such as a date field. There may be fields which require limitations on data, such as a text field which requires the text to be within a preset number of characters. If data sent to a field does not comply with the rules, then an error message is generated. This is usually of a generic type and can be confusing to normal users if passed through to them. In some cases, complicated validation routines are required and it is not always convenient to include these on the data base itself.
  • a client application can be used to ensure that only correct data is entered, is the use of "lookup" tables. It may be necessary to ensure that for example, a contact can only be selected from an authorised list of contacts held on the server.
  • the server will have a table of approved contacts.
  • the client application will only let users select a contact on that table - and that may involve further checks as to whether the contact is available for new business, has an appropriate credit rating and so forth.
  • the client application will present a lookup list of available contacts to users, and a contact may only be selected from the list.
  • client application is run on an application server connected to the database and the third tier runs on the user's own PC or terminal server.
  • a user connects to the application server over a network such as the Internet or a corporate intranet, and a "web" page appears on the users personal computer providing access to the database through an application run on the application server.
  • validation is carried out at the application server but this is inefficient as a whole page of information from the user must be submitted for validation and if there is a problem then the user must be advised, the page sent back to the user, and the necessary corrections made.
  • the page downloaded to the user already includes validation routines and lookup information, embedded in the page as - for example - Java code .
  • a traditional three tier architecture is therefore limited if there is a significant amount of validation to be carried out .
  • the present invention provides a system for accessing a database from a client, in which the client is connected by means of browser technology to an application server, the application server is connected to the database, and validation of at least some data to be transmitted from the client to the database is carried out at the client, characterised in that validation objects are cached at the client and are accessed by the browser technology to validate data to be transmitted to the database.
  • the list will be transmitted initially from the database, via the application server, to the client where it will be cached. Subsequently, when a user connects to the application server and accesses a page with a form on which a contact can be entered, the page will present a list from which contacts can be selected. The data to fill this list is obtained from the list previously stored on the client.
  • the browser technology does not present a page which has been downloaded with the list data embedded, nor is the list data downloaded from the application server or the database. The data is already resident on the client and is not embedded in a downloaded page .
  • a check is made for validation data which has changed, and if necessary the new data is transmitted to the client.
  • the application server or another designated server, builds tables of validation data regularly and creates a data file.
  • a lookup is reported to the server, for example when a page is submitted containing data, a check is made to determine whether the data used at the client end is from the current version created by the server. If it is not, then a new data file will be transmitted to the client, and the client will be instructed to go through the routine again.
  • the invention extends not only to the system as a whole, whose components may be distributed over various jurisdictions, but to client data processing means programmed to operate within the system, to data processing means programmed to operate in the middle tier and to software used in implementing the system.
  • the invention provides data processing means configured to operate as a client in a system as set out above, wherein the data processing means provides browser technology to connect to the application server, and is programmed so that validation of at least some data to be transmitted from the client is carried out at the client, characterised in that the data processing means caches validation objects which are accessed by the browser technology to validate data to be transmitted.
  • data processing means configured to operate as an application server in a system as described above, the data processing means being configured to generate validation data which is transmitted to the client for caching at the client .
  • Computer software may be provided in the form of signals transmitted form a remote location, for example over the Internet or a corporate intranet, or in the form as data stored on physical media such as a CD-ROM.
  • an "application server” this is not restricted to a single piece of equipment but encompasses linked servers which perform different parts of the overall system.
  • a conventional application server could be linked to a separate server whose job is to create validation data for transmittal to the client .
  • the client may be a personal computer for a single user, or, for example, a terminal server which is accessed by multiple users, hosting several instances of the necessary software or validation data.
  • Figure 1 is a diagram of the principal objects in a system in accordance with the invention.
  • Figures 2A and 2B constitute the database schema for a metadata database used in a system in accordance with the invention, with links between the figures indicated by A-A, B-B, C-C and D-D;
  • Figure 3 is a screen shot showing how "business" objects can be related to "physical” objects
  • Figure 4 is a screen shot showing how data warehouse definitions can be created and maintained using metadata
  • Figure 5 is a screen shot showing how business rule definitions can be created and maintained using metadata.
  • the preferred system is designed around a component based, three tier, true thin client architecture.
  • This architecture is provided in the form of a suite of components and tools making up a "Core framework” .
  • This framework consists of : A sophisticated "metadata” database structure to store the business rules and track the interrelation of these with the front end screens and back end data.
  • a user-friendly graphical user interface to enable easy maintenance and analysis of the business rules.
  • a library of generic pre-built components to provide consistent functionality across all of the applications built with the framework For example, a very powerful yet flexible component can be used to consult reference data for any field.
  • Advanced code generation utilities that are designed to automatically build, compile and deploy components, using the logic captured in the "metadata”, thereby drastically reducing the amount of code that needs to be “hand written” (and “hand maintained”) .
  • the preferred architecture has been designed to facilitate delivery of the different business components using a range of technologies without the constraints imposed by the use of specific toolsets for all the components.
  • the components can be delivered using a blend of technologies including Visual Basic/COM, Active Server Pages, JavaScript, HTML/DHTML, Lotus Domino, Java, and Microsoft SQL Server. It is possible to choose the most appropriate technology vendor for the application and subsequently to have progressive migration of the components that make up an application to better toolsets as these emerge.
  • the result is that the architecture can integrate with any number of different environments with minimal effort, e.g. an Oracle back end instead of SQL Server; Java Server Pages instead of Active Server Pages, and so on.
  • a back end database 2 where original data is maintained.
  • a middle tier 3 there is a metadata database 4. This is the repository of all information specific to an implementation of the architecture .
  • the database schema for one implementation is depicted in Figure 2.
  • the middle tier metadata database stores information about what lookups are defined, their names, definitions and descriptions. It also contains information about sort orders, field names and aliases, and the back end database from which they should be sourced.
  • a metadata front end 5 is provided.
  • This is an Active Server Page application used to manage the content of the metadata database.
  • a Component generator and publisher is also provided.
  • This is a Visual Basic / Active Server Page application that uses the information captured in the metadata database to generate programme code for the various objects required within an application, compiles the resultant code and distributes it to the appropriate server (s) .
  • the objects thus generated can be separated into the following categories:
  • ActiveX front end validator components. These objects are used by the front end applications to perform all possible client-side validation and other business logic (calculations, default values) before a browser page is submitted to the server.
  • Java script generation are Java script files generated for inclusion into the front end application to allow manipulation of the front end validator objects with an absolute minimum of manual coding.
  • MTS back end writer
  • These objects are typically deployed as COM objects on the middle tier server and handle the actual writing of data to the back end database (s) under transaction control.
  • Grid lookup controller 6 This is a front end object that provides standardised presentation of lookup information, and also provides a standardised method of returning values to the front end.
  • Lookup data mediator 7 This is a front end object that provides methods for refreshing data and metadata in a locally cached data store 8. It provides a mechanism for front end programs and objects to find out about items in the local data cache, and to synchronise them with the original data source . Data is provided to this object through a call to a middle tier lookup factory server .
  • Lookup factory 9 This is a middle tier process implemented as ActiveX DLL running on Microsoft Internet Information Server that refers to the middle tier metadata database in order to retrieve lookup information from the back end database .
  • the process supplies the records set information to front end objects or programs over the http protocol.
  • the preferred architecture is extremely well suited to the deployment of applications with complex business rules and forms, within an intranet / internet environment, as it reduces bandwidth requirements to a minimum whilst retaining a rich user interface.
  • Any business rules employed by the system are stored in a format that is easily accessible and recognised by a very large cross section of the development community.
  • the architecture is "technology flexible" as the back end and front end can be completely replaced independently of altering the middle tier metadata database. It is possible to centralise the storage of all corporate data and preserve investment in legacy systems through the simplicity of integration it provides, and ensures the consistency of updates to multiple back end databases through a Transaction Monitor .
  • front end validator objects are automatically downloaded to, and cached on, the user's local machine as needed, and contain all business logic that can be carried out within the context of a front- end page. This obviates the need to resubmit the page to the server whenever the execution of a business rule or calculation is required.
  • Generic lookup components are used which cache and maintain reference data on a user's PC so that lookup lists can be displayed quickly without needing to download the complete list from the server every time a lookup is requested.
  • Figure 3 is a screen shot showing how "business" objects can be related to "physical" objects.
  • Figure 4 is a screen shot showing how data warehouse definitions can be created and maintained using metadata.
  • Figure 5 is a screen shot showing how business rule definitions can be created and maintained using metadata.

Abstract

L'invention concerne un système permettant d'accéder à une base de données depuis un client, le client étant connecté, via un navigateur, à un serveur d'application lui-même connecté à la base de données. La validation d'au moins certaines des données devant être transmises du client à la base de données est effectuée au niveau du client au moyen d'objets de validation mis en antémémoire dans le client et auxquels accède le navigateur.
PCT/GB2002/004265 2001-09-19 2002-09-19 Systeme d'acces aux bases de donnees WO2003025791A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0122612A GB2380007B (en) 2001-09-19 2001-09-19 Database access system
GB0122612.5 2001-09-19

Publications (2)

Publication Number Publication Date
WO2003025791A2 true WO2003025791A2 (fr) 2003-03-27
WO2003025791A3 WO2003025791A3 (fr) 2004-03-18

Family

ID=9922354

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2002/004265 WO2003025791A2 (fr) 2001-09-19 2002-09-19 Systeme d'acces aux bases de donnees

Country Status (2)

Country Link
GB (1) GB2380007B (fr)
WO (1) WO2003025791A2 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998052113A2 (fr) * 1997-05-12 1998-11-19 Mlk Software Procede et dispositif de collecte centralisee pour donnees geographiquement distribuees
US5920866A (en) * 1996-10-29 1999-07-06 Apple Computer, Inc. Process and system for generating shared value lists for databases
US6119126A (en) * 1998-05-29 2000-09-12 Oracle Corporation Object-relational query builder which determines existence of structures from information loaded from the server and cached locally on the client computing system
US6209029B1 (en) * 1998-05-12 2001-03-27 Silverstream Software, Inc. Method and apparatus for accessing data sources in a three tier environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073163A (en) * 1997-06-10 2000-06-06 Oracle Corporation Method and apparatus for enabling web-based execution of an application
US6125363A (en) * 1998-03-30 2000-09-26 Buzzeo; Eugene Distributed, multi-user, multi-threaded application development method
US6131096A (en) * 1998-10-05 2000-10-10 Visto Corporation System and method for updating a remote database in a network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920866A (en) * 1996-10-29 1999-07-06 Apple Computer, Inc. Process and system for generating shared value lists for databases
WO1998052113A2 (fr) * 1997-05-12 1998-11-19 Mlk Software Procede et dispositif de collecte centralisee pour donnees geographiquement distribuees
US6209029B1 (en) * 1998-05-12 2001-03-27 Silverstream Software, Inc. Method and apparatus for accessing data sources in a three tier environment
US6119126A (en) * 1998-05-29 2000-09-12 Oracle Corporation Object-relational query builder which determines existence of structures from information loaded from the server and cached locally on the client computing system

Also Published As

Publication number Publication date
GB0122612D0 (en) 2001-11-07
WO2003025791A3 (fr) 2004-03-18
GB2380007B (en) 2005-06-15
GB2380007A (en) 2003-03-26

Similar Documents

Publication Publication Date Title
US6092074A (en) Dynamic insertion and updating of hypertext links for internet servers
US5752022A (en) Method for creating a hypertext language for a distributed computer network
US6748385B1 (en) Dynamic insertion and updating of hypertext links for internet servers
US6836774B2 (en) Hierarchical caching techniques for efficient dynamic page generation
US6596030B2 (en) Identifying changes in on-line data repositories
US6343302B1 (en) Remote web site authoring system and method
US6163878A (en) Method and system for designing, generating and storing applications
US7933871B2 (en) Discovering and updating templates
US20070240041A1 (en) Methods and apparatus for generating an aggregated cascading style sheet
US20030033378A1 (en) Method and apparatus for automatically creating and dynamically managing websites
US20030070143A1 (en) Method for extracting digests, reformatting, and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation
US10078665B2 (en) Customized retrieval and presentation of information from a database
CA2490682A1 (fr) Methode et systeme permettant le telechargement avance d'url pour la navigation sur le web
WO2002001388A2 (fr) Serveur de portail fournissant une interface utilisateur personnalisable pour l'acces a des reseaux informatiques
US20050050015A1 (en) Generic iViews
CA2356846A1 (fr) Systeme de gestion et de remise de contenu extensible a interfaces multiples generalise, et agenda en ligne
Gutteridge GNU EPrints 2 overview
US20050043938A1 (en) Mutilingual support in web servers for embedded systems
WO2003025791A2 (fr) Systeme d'acces aux bases de donnees
Cisco Administering the COE
Cisco Administering the COE
CA2382969A1 (fr) Procede d'extraction de condenses, de reformatage et de surveillance automatique de documents en ligne structures sur la base de la programmation visuelle de navigation et de transformation dans l'arbre documentaire
US20050044192A1 (en) Web site management system with link management functionality
Barry The hypertext markup language (HTML) and the World-Wide Web: Raising ASCII text to a new level of usability
US20050039168A1 (en) Web site management system with change management functionality

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

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

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZM ZW AM AZ BY KG KZ RU TJ TM AT BE BG CH CY CZ DK EE ES FI FR GB GR IE IT LU MC PT SE SK TR BF BJ CF CG CI 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
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP