EMPLOYEE SELF SERVICE CUSTOMIZATION SYSTEM AND METHOD
TECHNICAL FIELD This invention relates to the field of computer systems and more particularly, to an automated application customization system and method
BACKGROUND ART Medium to large scale business enterprises have made significant investments in computer based support systems over the past twenty years. Such systems include human relations/personnel systems, accounting systems, manufacturing systems, order entry/processing systems, etc. As the Internet has become more pervasive throughout such business enterprises, it is desirable to permit employees in branch offices and remote locations to interconnect with these computer based support systems. However, interconnecting such remotely located offices is more complicated than merely installing an internet terminal and a connection to the internet.
For example, in such enterprises some branch offices are located in countries other than the United States or England. Countries having different procedures and in some cases doing business in a language other than English. Customizing the terminal graphical user interface (GUI) with a specific language and specific display formats which nevertheless permit access to the basic business systems of the corporation is a tedious and costly endeavor. Moreover it is normally impractical and undesirable to permit the remote users to attempt to modify these front ends/GUIs by requiring them to learn and use internet protocols and languages. Accordingly there is a need for a system to permit a remote user employee or manager to customize a basic enterprise application front end without the employee/manager having to know anything at all about network protocols (HyperText Markup Language "html" for example) or without having a systems engineer customize the front end for the employee/manager. In the past, others have addressed this problem by building databases of objects for common pieces of applications (i.e. "pre-built" application modules such as "employee directory", "Open enrollment", "time & attendance", etc.) which a systems engineer could use to quickly develop a customized application for a customer. Such a system is defined
in United States Patent No. 5.455.903 issued October 1995 to Edify corporation and in related documents found at Edify's web site at ••http://www.edify.com". While such pre- built modules speed the development process they typically cannot be used by employees/managers without the support of systems personnel. Similar pre-built systems modules which, with vendor systems support personnel assistance, can be customized to support Human Relations type systems are offered by Conduit Software Inc. Information on Conduit Software can be found at "http://www.infoman.com".
The present invention provides a customization Employee Self Service (hereinafter "ESS") system and method which comprises a table driven GUI and customization system. a data base of beginning tables and a web server that interfaces with an Oracle Data
Base/ component customization tool with which a remotely located employee/manager can customize his/her interface to the enterprise by simply changing or inserting a series of easily learned parameter values without having to understand anything about objects or html etc. This interface customization makes use of previously developed global customization facilities wherein the specific combination of these global facilities, languages, etc. can be uniquely arranged by the employee/manager.
SUMMARY OF THE INVENTION The present invention overcomes the disadvantages of the above-described systems by providing an economical, high-performance, adaptable system and method for a customization Employee Self Service (hereinafter "ESS") system and method which comprises a table driven GUI and customization system, a data base of beginning tables and a web server that interfaces with an Oracle Data. Base/component customization tool with which a remotely located employee/manager can customize his/her interface to the enterprise by simply changing or inserting a series of easily learned parameter values without having to understand anything about objects or html etc.
A system and method are disclosed for assisting a user having an Internet terminal. and having no knowledge of the HyperText Markup Language (HTML), to customize a Graphical User Interface (GUI) and to customize an application to run in the GUI. by using the Employee Self Service (ESS) system of the present invention. The ESS makes use of a web server having executable files (EXEs), a transaction server having Dynamic-link libraries (DLLs) callable by the executable files (EXEs) and having user interface component parameters and related data stored on a data base for use in constructing the GUI.
The present invention includes a system for customizing an application in a similar manner also by means of executable files (EXEs), callable DLLs and application module objects which are responsive to the input of various parameters by the remote user.
Other embodiments of the present invention will become readily apparent to those skilled in these arts from the following detailed description, wherein is shown and described only the embodiments of the invention by way of illustration of the best mode known at this time for carrying out the invention. The invention is capable of other and different embodiments some of which may be described for illustrative purposes, and several of the details are capable of modification in various obvious respects, all without departing from the spirit and scope of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
The features and advantages of the system and method of the present invention will be apparent from the following description in which:
Figure 1 illustrates a typical Internet network configuration. Figure 2 illustrates a representative general purpose computer configuration useable as either a client PC or a server.
Figure 3 illustrates a basic User Interface (UI) format used in the preferred embodiment.
Figure 4 illustrates a an example of a "filled- in" version of the basic UI format shown in Figure 3.
Figure 5 illustrates a preferred embodiment depiction of the basic architecture of the claimed system. Figure 6 illustrates a more detailed schematic of the architecture showing the Active
Server Page (ASP) support for each component of the UI.
Figure 7 illustrates a more detailed view of the Page ID support. Figure 8 illustrates a more detailed view of the ASP support for the Page ToolBar. Figure 9 illustrates a more detailed view of the ASP support for the Page Title Bar. Figure 10 illustrates a more detailed view of the ASP support for the Page Message area.
Figure 11 illustrates a more detailed view of the ASP support for the Page Menu
Area.
Figure 12 illustrates a more detailed view of the ASP support for the Page Data Display Area.
Figure 13 illustrates a more detailed view of the ASP support for the Page Action Area. Figure 14 illustrates a more detailed view of the Import and Staging process.
BEST MODE FOR CARRYING OUT THE INVENTION
A system and method are disclosed for assisting a user having an Internet terminal, and having no knowledge of the HyperText Markup Language (HTML), to customize a Graphical User Interface (GUI) and to customize an application to run in the GUI, by using the Employee Self Service (ESS) system of the present invention. The ESS makes use of a web server having Active Server Pages, a transaction server having Active X Dynamic-link libraries (DLLs) callable by the Active Server Pages and having user interface component parameters and related data stored on a data base for use in constructing the GUI.
In the following description for purposes of explanation, specific data and configurations are set forth in order to provide a thorough understanding of the present invention. In the presently preferred embodiment the ESS is described in terms of a Human Relations application. However, it will be apparent to one skilled in these arts that the present invention may be practiced without the specific details, in various applications such as accounting systems, manufacturing systems, order entry/processing systems, help desk systems, recruitment systems, contract management systems, knowledgebase systems. decision support systems, data warehousing systems, etc. In other instances, well-known systems and protocols are shown and described in diagrammatical or block diagram form in order not to obscure the present invention unnecessarily.
OPERATING ENVIRONMENT The environment in which the present invention is used encompasses the general distributed computing scene which may include generally local area networks with hubs, routers, gateways, tunnel-servers, applications servers, etc. connected to other clients and other networks via the Internet, wherein programs and data are made available by various members of the system for execution and access by other members of the system. Some of
the elements of a typical internet network configuration are shown in Figure 1. wherein a number of client machines 105 possibly in a branch office of an enterprise (possibly in a different country)), are shown connected to a Gateway/hub/tunnel-server/etc. 106 which is itself connected to the internet 107 via some internet service provider (ISP) connection 108. Also shown are other possible clients 101, 103 similarly connected to the internet 107 via an Internet Service Provider (ISP) connection 104, with these units communicating to possibly a home office via an ISP connection 109 to a gateway/turmel-server 110 which is connected 111 to various enterprise application servers 112, 113, 114 which could be connected through another hub/router 115 to various local clients 116, 117, 118. The present web server is a general purpose computer unit which includes generally the elements shown in Figure 2, wherein the general purpose system 201 includes a motherboard 203 having thereon an input/output ("I/O") section 205. one or more central processing units ("CPU") 207. and a memory section 209 which may have a flash memory card 211 related to it. The I O section 205 is connected to a keyboard 226, other similar general purpose computer units 225, 215, a disk storage unit 223 and a CD-ROM drive unit
217. The CD-ROM drive unit 217 can read a CD-ROM medium 219 which typically contains programs 221 and other data. Logic circuits or other components of these programmed computers will perform series of specifically identified operations dictated by computer programs as described more fully below. The client terminals shown in Figure 1 may also be general purpose computers configured with some or all of the features described above in Figure 2.
In the preferred embodiment, the following technology configuration is used:
Client Operating System
Windows NT4 Workstation, Windows95 & 98.
Client Browser - End User
Microsoft Internet Explorer Version IE3 or above, NETSCAPE 3 or above. The preferred embodiment is optimised for IE 4 or above and Netscape 4 and above. Requires support for JAVA, JAVASCRIPT. COOKIES.
Client - Configuration Tool User
Requires Microsoft Internet Explorer Version 4 or above due to the Page Creator Requirement for the DHTML (Dynamic HTML) Control. Requirement for Microsoft ADO (ActiveX Data Objects) Version 2 or above.
Oracle Client Software to support Oracle ODBC Connectivity.
Web Server Microsoft Windows NT 4 or above.
Microsoft Internet Information Server IIS4 or above.
Requirement for Microsoft ADO (ActiveX Data Objects) Version 2 or above.
Oracle Client Software to support Oracle ODBC Connectivity.
Oracle Server
Oracle Version 7 Database environment.
It should be clear to those skilled in these arts that other equivalent browsers and Data Base management Systems can be used to produce equivalent results.
THE ESS ARCHITECTURE
In the preferred embodiment of the ESS invention, the system and method provide support for multi lingual and multi media architectures, and support Browsers from the leading vendors of Netscape and Microsoft, while providing an environment wherein common applications and system code can be used by many clients, who themselves can dynamically create web based applications with minimal knowledge about the underlying applications and protocols.
In the preferred embodiment, use is made of Microsoft Active Server Page™ technology (ASP) supported by their Web server Internet Information Server™ (IIS) bundled within the Windows NT 4™ Operating System.
IIS (ASP) supports a coding environment similar to Microsoft Visual Basic™ and provides the capability of supporting and calling VBA (Visual Basic for Applications) code thus offering the potential for Applicants to call upon existing business process code and to share that code between ESS and Client Server environments.
In developing the invention, use has also been made of Microsoft Visual Interdev™ as a development environment to enable the development of ASP solutions.
In the preferred embodiment, the ESS (Employee Self Service) Architecture of the present invention is used as a generic term to describe an Application independent Architecture.
Referring now to Figure 3, the ESS Architecture which has, in the preferred embodiment, been constructed around a basic User Interface (UI) design 300 the sections of which are described as follows:
LOGO 301. This Frame is for displaying the company logo. This Frame displays a system defined Page but the Configuration tool can be used to create a client specific page.
TOOLBAR 302. This Frame displays all the available module toolbar buttons. The content of this Frame is generated by the ESS architecture based on user customizable parameters. SPECIAL 303. This Frame is used for displaying miscellaneous options e.g.
Help, email, logout buttons etc. This Frame displays a system defined Page but the Configuration tool can be used to create a client specific page. TITLE 305. This Frame is for displaying a title bar representing the currently selected module. The content of this Frame is generated by the ESS architecture based on user customizable parameters.
IDENTIFICATION 307. This Frame is used for displayed information about the currently active user. The content of this Frame may be generated from two system pages to identify if the user is logged in or out. They are system defined Pages but the Configuration tool can be used to create client specific pages. MENU 309. This Frame is used for displaying the menu associated with the currently active module. The content of this Frame is generated by the ESS architecture based on user customizable parameters. MAIN 31 1. This is the main content frame. All application pages will be displayed in this frame. MESSAGE 315. This Frame is used for displayed the message centre for the currently active module. The content of this Frame is generated by the ESS architecture based on user customizable parameters.
ACTION 313. This is a hidden frame used by the web site to perform any special tasks prior to calling the server etc. An example of this basic UI display is depicted in Figure 4. The sectors are described as follows:
:>
Menu or ToolBar Frame 401
This frame is intended to provide an Anchor point for navigation and ensure a common and consistent reference point for the user. It would generally be customizable by 0 a system supplier (such as ADP for example as shown) and would thereafter always be present and provide a convenient access point to all of the Module functionality of the ESS solution.
The following elements of this frame 401 are customizable using the Configuration tool: 5 • Menu or toolbar naming. Can be graphical image or text based.
• Mouse On and Over images are customizable allowing for a different image when a Menu item is moved over.
• The URL or Hypertext link is entirely customizable allowing the client to introduce their own developed modules into the ESS 0 solution.
• The color, background image and Font are all customizable.
Title Bar Frame 403 5 This frame is intended to provide a reference point for the user providing a visual representation of the location within the ESS system.
The following elements of this frame are customizable:
• Text representation within a Module.
• Font and Color scheme. 0 • Background color can be Gradient, Solid or transparent.
Identifier Bar Frame 405
Provides a visual clue as to the user that is logged on and their status. The 5 Background image and Foreground colors can be customized. This bar actually extends across the whole screen.
Module Menu Frame 407
The Module menu provides a means of accessing data and process functionality within a specific module. This active module menu can be collapsed and expanded as appropriate.
The following elements of this frame are customizable:
• Menu entries can be changed, reordered and indented in a hierarchical manner. • Menu entries can be deleted or added as appropriate to support client development.
• Font and Color of Menu entries can be configured.
• Background can be customized to be either Image. Solid color or Gradient color. Message Centre Frame 411
The message centre provides a mechanism to allow dynamic information to be 'pushed' to the client user. Information on company meetings can be conveniently broadcast to ESS users and the information displayed in the Message Centre. These messages are 'Module specific'. The following elements of this frame are customizable:
• Text can be changed by Module.
• Font and size and color of text can be customized along with the pulse color that highlights the message.
• Background image and Gradient can be modified.
Main Application Data Frame 409
The content frame represents the main application data frame of the ESS system. All menu actions from the left hand module menu will give rise to data representations on the right hand side.
This frame represents the major customizable component of the User Interface: • Data labels and text on Pages within this Frame are configurable for position, color (foreground and background), font, size.
• Data labels and text can be added or removed from pages displayed within this frame.
• Page titles are customizable for color (foreground and background), font, size. • Background image and color can be customized.
• Page or individual fields can be selected for Direct or Indirect update or Read only.
Referring now to Figure 5, the major architectural components of the preferred embodiment of the present invention are shown. In the preferred embodiment, the ESS system comprises a generic browser 501 (typically Microsoft's Explorer™ or the
Netscape™ browser) running on a client personal computer (PC) connected to the Internet by means of an Internet Service provider (ISP), the browser displaying a web page 508 capable of running JAVA™ etc. applets/sub-programs as needed. The client PC is connected via the Internet to a web server 503, running a Microsoft Internet Information Server (IIS)™ typically supporting Active Server Pages (ASP)™ 510. The web server
Active Server Pages will communicate with Active X DLLs comprising the Screen Configuration Layer (SCL) 512, and a Business Process Layer (BPL) 514. These Active X DLLs may be resident on the same machine as the web server or may be sited on another machine, to provide the desired scalability in large multiuser configurations the Active X DLLs and supported processes May be managed by a transaction server 505 such as a
Microsoft Transaction Server. Both the SCL 512 and the BPL 514 communicate with a relational Data Base Management System (RDBMS) using OLE Data Base 516 interfaces. The RDBMS contain System Data 518 and Application Data 520. These RDBMS could be any kind of effective RDBMS such as SQLBase, Oracle, or SQLServer, etc. The major architectural components, the SCL 512 and the BPL 514 are now described in more detail.
SCL - Screen Configuration Laver 512
Constructed out of a number of Active X DLL's the SCL layer provides the ability for the User Interface components to be constructed at run time based on parameters maintained in the SCL system database. The Active Server Page calls upon these ActiveX DLL's to generate the HTML used to pass to the Client Browser. This ensures that no direct modification of HTML is required by the Client thus ensuring that the customization
process can be protected from any upgrades as well as allowing for customization to be presented as a simple process requiring no knowledge of HTML.
BPL - Business Process Layer 514
In the preferred embodiment, the business components have been designed to ensure that all business processes have been developed as component technology. They are isolated from the means of calling. In other words a business process whether it be simple validation of Date of Birth or more complex in terms of a promotion can be called from the User Interface or from Import( which is defined in more detail below). The intention is that these processes can be further externalized in the next version as Active X DLL's to allow common code processes to be physically shared between the Client Server and the Self service environment.
To allow this to happen a Business Process Interface Layer 514 has been specified that provides a number of Standard Interface methods or properties. Any application code can then be called and actioned from this standard interface. The following schematic representation demonstrates the Business Process Interface Layer and its relationship to an application:
The interface process consists of 3 layers...
Application Routines
This will contain specific objects that the Application architecture can request information from. This will perform such tasks as validating a user logon, retrieving data from the back-end database, etc.
Business Process Interface
This is the main interface that sits in between the architecture and the application specific routines. This layer will receive requests from the architecture and will decide which application layer to call in order to satisfy the request.
Configuration and Web Site
This layer will handle the calling of the specific interfaces in the ESS interface. Referring now to Figures 6 through 13. the architectural components and the mechanisms used to support the User Interface are described in more detail.
Entry Point
Primary access to the ESS Intranet system is defined in the diagram shown in Figure 6.
All components of the User Interface are supported through ASP or Active Server Pages. Each page represents a source file containing code and HTML. The sole purpose of the ASP is to generate HTML to be passed to the Client Browser.
The main access is through the 'invisible' ESS.ASP 601 and ESSPAGEScreenWidth.ASP 602, and ESSPageMain.ASP 603. The purpose of these entry points is to establish the environment or the session details. It is the responsibility of these two modules to establish Screen Resolution, Active Language of the Browser and Color schemes in use. These are then laid down as Session Variables for the other Components to take advantage of. They are 'invisible' because their only purpose is to establish Variables and to call the individual Frame set components that comprise the User Interface.
Communication with the Application site will also result in the establishment of various system Objects instantiated from the Global. ASA process within the Microsoft Internet Information Server Environment. These Objects will be:
• Site Object - Used to locate instances of Application Logos.
• Application Object - Holds properties of the instance of the Application such as the Toolbar, etc.
• Color Scheme Object - Holds all attributes of the Color Scheme for this application instance.
• RunTime Object - Holds various attributes of the RunTime environment such as Default Color Scheme, Database connection details, Default Language, etc.
Logo and Help ToolBar Display
The Architecture has been designed such that the Logo and Help components of the ToolBar are merely calls to the generic ESSPageDisplay .ASP 604 routines to display instances of Forms present within the ESS_FRM entity. In this way full user control of the System Logos and Help linkages can be managed by the user using the standard page customization and creation tools.
Referring now to Figure 7, display of the Form Object is achieved by the generation of a Form Item Object 701 dependent on the Page ID passed. The HTML Property of this Object will result in the generation of the necessary HTML.
Tool Bar Component
ESSPageToolBar.ASP 606 in Fig. 6 is the Active Server Page responsible for the display of the Main Tool Bar showing all of the Active Modules. It directly reads the SCL
Database to determine Modules, display status, Graphics to be used, background images, URL's to link to, etc.
The correct components to display are based on the Active Scheme (Color scheme) and the Active Language supported by the Browser. Referring now to Figure 8. • APPLICATION object 801 provides the properties for the dynamic production of HTML for display of the Toolbar itself. This is achieved through the use of a Java applet.
• MODULE Object 803 provides the properties for each of the Module entries on the Toolbar. • COLOR SCHEME object 805 is referenced by all of the above properties to render the correct colors and images to the browser. The module object 803 and color scheme object 805 are used to create the BMS Button java Applet 807.
Title Bar Component
Referring now to Figure 9, the ESSPageTitle.ASP 901 is responsible for the display of the Module Title Bar. The Module Title bar is specific to the Module and describes the name of the Module along with the current Date. This diagram illustrates the various objects referenced to allow for the display of the
Title Bar.
• MODULE Object 903 provides the properties to dynamically produce the HTML for the display of the Title bar through a java applet. • COLOR SCHEME object 907 is referenced by all of the above properties to render the correct colors and images to the browser. The Application object 905 and Color scheme object 907 are used to create the BMS Title Bar Java Applet 909.
Message Centre Component
Referring to Figure 10, the Message Centre component (610 in Fig. 6) takes advantage of Java Classes to achieve the visual representation of the Broadcast message. ESSPageMessageCentre.ASP 1001 determines the Active Module from Session Variables along with Active Language and Color effects and reads the SCL Database to derive parameters to pass along to the Java Applets for display.
This diagram illustrates the various objects referenced to allow for the display of the Message center.
• MODULE Object 1003 provides the properties to dynamically produce the HTML for the display of the Message Centre through a java applet.
• COLOR SCHEME object 1007 is referenced by all of the above properties to render the correct colors and images to the browser.
Module Menu Component (612 in Fig. 6)
Referring now to Figure 11, the ESSPageMenu.ASP 1101 supports the determination of Menu entries. This is passed Active Language, Active Module and Color Schema ID's and it reads the SCL database to determine structure of the menus and the appropriate language elements (customized) to display. It then builds a parameter array of
Menu Language, Structure, Color, Background image and Gradient to allow the Java Applet to display the final menu.
The Java applet is responsible for control of the final menu presentation including the expansion and contraction features. This diagram illustrates the various objects referenced to allow for the display of the
Module Menu.
• MODULE Object 1103 provides the properties to dynamically produce the HTML for the display of the Menu through a java applet. • COLOR SCHEME object 1105 is referenced by all of the above properties to render the correct colors and images to the browser. The MODULE Object 1103 and the COLOR SCHEME object 1105 are used to generate the BMS MENU Java Applet 1109.
Main Application Frame Component (614 in Fig. 6)
To support granular customization of data components within the frame required the production of an Active X DLL that can be called to generate HTML. This HTML Generator allows for the Customizable flexibility required for this type of application.
Referring now to Figure 12, the Main Application Frame (614 in Fig. 6) used to display Application data is displayed using the ESSPageDisplay. ASP 1201 Active Server Page. The Page ID is passed via the Menu call to this Page and ESSConfig.DLL 1203 is called via the FormltemHTML 1202 property to display the Form. ESSConfig.DLL 1203 can display the bulk of the Page via parameters maintained in the SCL or Configuration
Database 1207. Specific rules pertaining to Combo Box display and Data retrieval itself are Application Specific and hence the Application Business Process Interface Layer 1209 is called upon to handle these tasks, making use of the Application Data base 1211. This layer can accomplish any actions it cares to as long as it conforms to the Interface Rules defined.
Referring now to Figure 13, update of data on the Main Application Page is accomplished through a Submit Process that is actioned via the ESSPageAction.ASP 1301 control Page. ESSServer.DLL 1303 is involved in reconstructing the Data Record Sets. Control is then passed to ESSInterface.DLL 1305 and then onwards to the Application Business Process Interface DLL 1307 for Application specific validation. If validation failure occurs then control is handed back to ESSPageAction.ASP 1301 from ESSInterface.DLL 1305 to display validation errors. Assuming successful validation then control is returned to ESSServer.DLL 1303 to update the Staging Area database 1309 with the update transactions.
Staging Area
Referring now to Figure 14, the import process 1400 is initiated by an NT Service called "ESS Transaction Timer". This program runs on the NT Server constantly and can be configured a variety of ways to set off an import process at different times, namely:
• Constantly The service 1401 will check the Staging Area 1405 every 5 seconds for any updates.
• Periodically The check will be performed after a specified time (in hours and minutes) has elapsed.
• Daily The service will check at a specified time once a day. Once the allotted time has been reached, the Service 1401 polls the Staging Area 1403 and retrieves all the data required for importing (anything with a status of "Pending") into an ESSDataRetrievalCoU object 1407. While it does this, it also creates a log file 1405 of all the records it has placed into this object. This log file 1405. which has the extension
".in" denoting "sent INto the import process", is placed in a particular directory.
Once the log file 1405 and the object 1407 have been set up, a call is made to the Interface Layer 1409 to invoke the application specific import process itself 1411. The object 1407 and the location of the ".in" file 1405 are passed to the Import Interface 1409 which, in turn, calls the application specific import process 1411. The Import Interface
1409 should convert the data object 1407 into a format that the Import program 1411 understands (e.g. a ".csv" file or spreadsheet). So that no additional import processes are created before the original has completed, the NT Service 1401 waits for the creation of an '".out" file 1421 to be published to the same directory as the initial ".in" file 1405. This final log file 1421 has exactly the same format as the ".in" file 1405 except it contains the new codes for the status of each transaction (3 for Complete, 2 for Rejected) as well as some accompanying comments (e.g. "The transaction failed because..."). It is the responsibility of the import process itself to generate these codes and messages and to publish the file 1421 on completion. When the NT Service 1401 detects the presence of the ".out" file 1421, it will read the new codes and comments from it and update the Staging Area 1403 accordingly. Once this is done the service will check to see if it needs to purge any old records from the Staging Area 1403. The purge behavior is configurable as follows:
• Purge completed transactions after a certain number of days (or immediately).
• Purge rejected transactions after a certain number of days (or immediately).
Both of these settings are optional, that is, the NT Service 1401 will not purge any data from the Staging Area 1403. Only transactions marked as "Completed" or "Rejected" may be purged.
As the Staging Area 1403 is defined in the ESS Architecture, pages can be created to enable users to view their transactions.
Application Data Model
The Application Data Model comprising the SCL Data Base will be described in terms of three parts:
• Framework data model for the overall structure of the environment.
• Security Data model representing the functionality of security.
• Data display data model representing the functionality associated with the display of information on Pages within the system.
Framework Model
The Framework Data Model provides the system level data structures to support the customization and display of the ESS Solution. The key entities are:
• Language - Determines the appropriate language elements to be displayed dependent on Browser language selected.
• Color Scheme - Determines a range of parameter settings that define the exact look and feel of the screen in terms of background images, color settings and gradients, fonts and font attributes.
• Toolbar - Defines the layout and 'look and feel' of the Toolbar within the application.
• Site - Represents this instance of a client installation • Application - Represents a collection of Modules collectively representing an Application instance.
• Module - Defines individual Module functionality presented within the Application.
All naming of system entities has been normalized through the use of language entities i.e. Application Language Desc. This allows for all of the system objects to be named in multiple languages to support the use of the system and Configuration tool in multiple languages.
The Color scheme and associated attributes control the look and feel of the Application and are thus selected at Application level. However, as the toolbar entries are
at a module level the graphics associated with the Toolbar entry backdrop are selected at Module level by Color scheme.
The Security data model provides the security definition for users of the Application instance and also users of the Configuration Tool. The principal entities are as follows:
• Security Profile - A named Profile to which are attached the relevant permissions associated with access to the site and individual components of the site.
• Application Profile - Governs the applications that a user can access and the Modules within that Application
• Security Profile Module Menu Item - Governs the individual menu items that a user may be restricted from.
• Access Times - Governs the days of the week and times of the day that a user can access based on the Profile. • Person PIN Profile - Governs the allocation of a Security Profile to a User. A User must be established as a Person within the Database and restricted access is secured through the allocation of a PIN number required for Logon. The data display data model provides the link between data in the database and the presentation of that data on the User Interface using a Form or Page. The principal entities are :
• Field - represents the attributes associated with Physical Fields within the Application database.
• Table - Represents the Physical Table within the Application database.
• Table Fields - Represents the Fields that exist within a Physical Table and the fields that represent the Primary keys.
• Virtual Table - Represents in simple terms a View of a number of related Physical Tables - similar in concept to a Database View. This allows the use of Fields from Multiple Tables to be displayed on a page, and the use of calculated or derived fields that are based on more than one physical table field.
• Form Fields - Represents the actual Fields that are displayed on a Page. These Fields can be of varying types namely :
• Physical Database Fields.
• FreeText fields where the user has typed Text onto the Page or Form.
• OLE Type fields for documents/Images represented on the Page or Form.
• Predefined Action Buttons to initiate processes defined within the Application specific components. A key point is that all Fields or FreeText can be represented in Multiple Languages.
The structure of the Page or Form is consistent across Languages but the text is maintained by Language.
The Application Object Class Structure represents the Interface between the
Application (ESS or Configuration Tool) and the system parameters maintained within the Configuration Data model. Parameters can be modified or retrieved from the Data model using methods and properties of the above Object Classes.
Configuration Utility The Configuration utility was developed to allow for the intuitive maintenance of the parameters within the System Configuration Database. The Configuration utility supports:
• The creation and amendment of Modules.
• The creation and amendment of Pages. • The creation and amendment of Color Schemes.
• The management of resources such as graphical images for page building.
• The creation and amendment of Security Profiles.
• The creation and amendment of the representation of the application database within ESS.
Modules
A module, within ESS, could also be described as a 'subject group'. For example a module called Employee would give access to the individual's personal records. A Managers' module would give access to staff and department records.
Module Types
The three main module types are: • Company
• Manager
• Employee
Any additional module that is added will be based upon the properties of one of the above three master module types.
Company Module
The company module will give access to general company information such as for example, the Company Newsletter or the Job Opportunities Page, etc. Information within this module would probably not need to have security applied and therefore could be set up to be accessible without requiring a Login.
Employee Module The Employee module allows the employee to view their existing personal records and, in some cases, submit information to update the data that is held in the master databases.
Manager Module
The Manager module gives access, for those with the correct security profiles, to departmental and staff records.
If required, the Configuration tool can be used to create new modules that may be tailored to individual user requirements. Additional details which describe the use of the Configuration tools and the customization process of the present invention, in terms of many examples , some of which
are used in the preferred embodiment, can be found in the following documents which are incorporated fully herein by reference:
1. "ESS Architecture & Configuration Tool" - Specification of the BMS ESS Architecture and Configuration Tool Functionality, 5th November 1998.
2. Employee Self Service - Architectural Interface: ESS Interface, version 1.5, October 24, 1998.
3. ESS Fields by Table, October 26, 1998.
Having described the invention in terms of a preferred embodiment, it will be recognized by those skilled in the art that various types of general purpose computer hardware may be substituted for the configuration described above to achieve an equivalent result. Similarly, it will be appreciated that arithmetic logic circuits are configured to perform each required means in the claims for processing GUI configurations using parametric input to automatically generate HTML for use by the user's browser, and for interactively customizing an application based on pre-prepared application objects. It will be apparent to those skilled in the art that modifications and variations of the preferred embodiment are possible, which fall within the true spirit and scope of the invention as measured by the following claims.