EP1649391A2 - Xml configuration technique and graphical user interface (gui) for managing user data in a plurality of databases - Google Patents
Xml configuration technique and graphical user interface (gui) for managing user data in a plurality of databasesInfo
- Publication number
- EP1649391A2 EP1649391A2 EP04756782A EP04756782A EP1649391A2 EP 1649391 A2 EP1649391 A2 EP 1649391A2 EP 04756782 A EP04756782 A EP 04756782A EP 04756782 A EP04756782 A EP 04756782A EP 1649391 A2 EP1649391 A2 EP 1649391A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- presenting
- user
- source application
- application
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/88—Mark-up to mark-up conversion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
Definitions
- the present invention relates generally to database management systems, and more particularly, to a system and method for managing user data in a plurality of databases. Additionally, the present invention relates to an XML configuration technique and graphical user interface (GUI) for managing the user data in the plurality of databases.
- GUI graphical user interface
- role-based user provisioning enables the administrators to automatically provide users with a set of userids based on their business functions and ensures consistent user access policies are applied across a wide range of system types and directories.
- a system and method for managing user data in a plurality of databases extracts user data from a source application, repository or database, transforms the user data into global user data, and sends the global user data to a target application capable of managing the global user data across various environments.
- a system for integrating data from a source application to a target application comprising an interface module for extracting data from the source application and publishing the data in a first predetermined format; a business transformation logic engine for transforming the formatted data by a plurality of transformation handlers into a second predetermined format usable by the target application; and a configuration interface for defining the data to be transformed from the source application to the target application.
- the configuration interface formats the data in XML (Extensible Markup Language) format.
- the configuration interface defines decision tables based on business rules for combining values associated with data elements of the source application and outputting a value associated with at least one data element in the target application.
- the configuration interface maps data elements from the source application to data elements of the target application.
- the configuration interface defines an order of execution of the plurality of transformation handlers.
- a method in a computer system for configuring a transformation of data from a source application to a target application comprises the steps of presenting at least one data element to a user from the source application; presenting at least one data element to the user from the target apphcation; and presenting means for associating the at least one data element of the source application to the at least one data element of the target application.
- the method further comprises the steps of presenting a plurality of XSL (Extensible Stylesheet Language) files for transforming the source application data; and presenting a prompt to the user requesting submission of a sequential order for executing the plurality of XSL files.
- XSL Extensible Stylesheet Language
- the method comprises the steps of presenting a prompt to the user for associating a comparison operator to the at least one data element of the source application; presenting a table for selecting a plurality of data elements of the source application to be compared; and presenting a prompt to the user for associating a result of the comparison to the at least one data element of the target application.
- FIG. 1 is a block diagram of an exemplary system for managing user data in a plurality of databases in accordance with an embodiment of the present invention
- FIG. 2 is a block diagram of an interface module in accordance with an embodiment of the present invention
- FIG. 3 is a block diagram of a business transformation logic (BTL) engine in accordance with an embodiment of the present invention
- FIGS. 4A-E illustrate exemplary screenshots of the configuration GUI in accordance with the present invention
- FIG. 5 is a flow diagram illustrating a method for managing user data in a plurality of databases in accordance with an embodiment of the present invention
- FIG. 6 is an overall flow diagram illustrating a system and method for managing user data in a plurality of databases, where a source application or repository is a PeopleSoftTM application and a target application or repository is eTrustTM Admin.
- FIG. 1 is a block diagram of a system for managing user data in a plurality of databases.
- the system 100 includes an interface module 102 for extracting user data from a source application 104 and a business transformation logic (BTL) engine 106 for fransforming the user data into a format usable by a target application 108.
- the interface module 102 includes a publisher 110 for extracting user data, e.g., employee data, from the source application 104.
- the publisher 110 publishes an XML message from the extracted user data and sends it to a subscriber 112.
- the subscriber 112 receives, decodes, and uncompresses the XML message.
- the subscriber 112 then sends the data to the BTL engine 106 that creates a MessageContext object with XML messages and sends it through a chain of BTL handlers, which will be described in detail below.
- the object is sent to a workflow engine 114 where a request is created and sent to the target application 108.
- the target application 108 creates, modifies, or deletes global users, their accounts, or changes the roles associated with a global user.
- a configuration GUI (graphical user interface) 116 is provided for a user, e.g., an administrator, to define the information to be transformed from the source application 104 to the target application 108.
- the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof.
- the present invention may be implemented in software as an application program tangibly embodied on a program storage device.
- the application program may be uploaded to, and executed by, a machine comprising any suitable architecture.
- the machine is implemented on a computer platform having hardware such as one or more central processing units (CPU), a random access memory (RAM), a read only memory (ROM) and input/output (I/O) interface(s) such as a keyboard, cursor control device (e.g., a mouse or joystick) and display device.
- the computer platform also includes an operating system and micro instruction code.
- the various processes and functions described herein may either be part of the micro instruction code or part of the application program (or a combination thereof) which is executed via the operating system.
- various other peripheral devices may be connected to the computer platform such as an additional data storage device and a printing device.
- the system and method may be implemented on several machines coupled together over a network, e.g., a local area network (LAN), a Wide Area Network (WAN), the Internet, etc..
- the interface module may be implemented on a first machine while the business transformation logic engine may be implemented on a second machine.
- FIG. 2 is a graphical representation of a PeopleSoftTM eTrustTM Admin Interface (PETAI) module 202
- FIG. 3 is a block diagram of the BTL engine 306. It is to be understood that although the embodiment described below references PeopleSoft' s HRMS (Human Resource
- PETAI module 202 The main purpose of PETAI module 202 is to interface with PeopleSoftTM and to feed the PeopleSoftTM data onto the BTL Engine 306.
- the feed process will take place using two different mechanisms: Full Data Replication and Incremental Updates.
- the Full Data Replication process will be used to seed, or initially populate or repopulate, a copy of the entire sub-set of PeopleSoftTM records and fields exported onto eTrustTM Admin.
- the Full Data Replication process will be used to seed, or initially populate or repopulate, a copy of the entire sub-set of PeopleSoftTM records and fields exported onto eTrustTM Admin.
- Incremental Updates mechanism will keep eTrustTM Admin current, with changes made on the master PeopleSoftTM data. Incremental updates will contain only the records where the data has been modified.
- the PETAI module 202 will be implemented using PeopleSoftTM Enterprise
- the PETAI module 202 includes a publisher 210 and a subscriber 212.
- the publisher mechanism 210 will be deployed onto PeopleSoftTM and will publish and deliver the XML messages to eTrustTM Admin subscriber 212.
- the PETAI module 202 will comprise two separate publisher mechanisms, one for implementing the Full Data Replication 210-1 and one for the Incremental Updates 210-2.
- the eTrustTM Admin subscriber mechanism 212 will be deployed onto the PeopleSoftTM Application Messaging Gateway 211 and will capture, transform and pass the XML messages onto the BTL engine 306.
- the Incremental Updates Publisher mechanism 210-2 will subscribe to internal application messages that synchronize PeoplesoftTM database components when changes are being made to the PeopleSoftTM records and fields. Then, it will build the PeopleSoftTM XML message(s) and populate it (them) with the data, and finally publish it (them) onto the eTrustTM Admin subscriber 212.
- the Full Data Replication Publisher mechanism 210-1 will query all the defined PeopleSoftTM records and fields to get a full copy of data, then it will build the PeopleSoftTM XML message(s) and populate it (them) with the data, and finally publish it (them) onto the eTrustTM Admin subscriber 212.
- Many PeopleSoftTM application tables are effective-dated, meaning that historical and future-date rows may be present on the table.
- eTrustTM Admin does not use effective dating so the PETAI module 202 will need to filter and provide only the current or active information before feeding it onto eTrustTM Admin. This filtering process will take place in the publisher 210 and needs to be implemented for both full data replication and incremental updates publisher mechanisms.
- the PETAI module 202 will define a sub-set of PeopleSoftTM records and fields that will be published and delivered to the eTrustTM Admin subscriber 212. This definition will be taken from the PeopleSoftTM Message definitions(s) that will carry on the data to eTrustTM Admin. Separate PeopleSoftTM message definitions will be created for the full data replication and incremental updates publishers.
- the subscriber 212 e.g., a Java subscriber, will be deployed and registered into the PeopleSoftTM Application Messaging Gateway Servlet. It will be in charged of capturing, decoding and uncompressing any XML messages delivered to eTrustTM Admin, and passing them onto the BTL engine 306.
- Transformations will change the format used in the XML message from a PeopleSoftTM format to an eTrustTM Admin format.
- the Java subscriber 212 will also integrate with the PeopleSoftTM Application Messaging Config Servlet.
- the Config servlet will allow the administrator to load/unload the PETAI Java subscriber 212 as well as configuring PeopleSoftTM Nodes to be subscribed from. Integration code will interface with the Config servlet APIs including a HTML graphical user interface for the Java subscriber configuration.
- a separated thread will process the full data replication messages while the Java subscriber thread will process incremental updates messages. This separate thread is implemented by an EDI (Electronic Data Interchange) engine.
- EDI Electronic Data Interchange
- the transformation will be performed by a series of BTL handlers that will be invoked by the BTL engine 306, as shown in FIG. 3. The invocation process will follow a pre-determined order previously specified in the configuration GUI. Each BTL handler will receive, apply its transformation and pass onto the next handler a MessageContext Object.
- the MessageContext object is a structure, which will contain the PeopleSoftTM data in an XML format among other parts.
- the BTL engine 306 will enable the administrator to determine and assign Roles to Global Users based on PeopleSoftTM data; to calculate and assign custom data fields to
- the BTL engine 306 will comprise a chain of handlers including a sample template handler 330, XSL files handler 332, business rules handler 334, mapping handler 336, and generic component handler (Dirsync Handler) 338. .
- the template handler 330 will serve as a starting point for the end user to develop custom BTL handlers for transforming data.
- the XSL handler 332 will allow the end user to transform the input XML message based on a chain of XSL (Extensible Stylesheet Language) files.
- the stylesheet must be provided a separated file containing the XSL Transformation code (no need to re-compile
- this handler will use a parameter in a configuration file containing an ID for the stylesheet 402, the name of the XSL file 404 and an order number to be applied 406, as illustrated in FIG. 4B.
- a PSCAMA PeopleSoftTM Common Application Message Attributes
- a PSCAMA handler may have an entry as follows:
- the data record will be included in the output if • PSCAMA record not present for a specific data record • PSCAMA record is present and AUDIT_ACTN is set to 'A' or 'C or 'N' or
- a sample XSL program will also be provided. It will serve as a starting point for the end user, e.g. administrator, to develop custom XSL programs.
- the business rules (BR) handler 334 enables the user to create a set of decision tables that match their specific needs.
- a decision table is a set of business rules that determine the assignments of special Global User attributes required in the user provisioning process.
- Special Global User attributes can be roles, profiles, groups, or any other attribute requiring special treatment to determine its value.
- Decision tables present a sophisticated mechanism to set special attributes without having to write any code. For each special Global User attribute an administrator may want to assign, the administrator will create one decision table.
- Each decision table needs to specify a set of input parameters to be used in the calculation of the attribute value.
- a decision table header enables the administer to provide this information. The header's first column is where the output field name is to be placed. Valid output field names are considered any field name on the ETRUST_ADMIN record.
- the rest of the header columns are where the input parameters are to be placed.
- Valid input parameters are considered any field on the XML message and must be defined using XPath standard syntax.
- the following decision table example assigns the Global User Role attribute (Role- ⁇ ame) and uses three input parameters to calculate the value (Country, Department ID, and Company). The sample defines two business rules for assigning two different role values.
- the business rules handler 334 then sends the message to the mapping handler 336.
- the BTL mapping handler 336 associates one PeopleSoftTM data field or a custom record field 420 to a Global User attribute 422 of the eTrustTM Admin application as shown in FIG. 4C.
- the mapping supports the association of any element and any non-element within the XML message to a Global User Attribute using XPath standard syntax.
- the mapping of attributes will be defined by XML data stored in the configuration file. The end user can customize the XML data to fit their specific needs using the configuration GUI as illustrated in FIG. 4C.
- the configuration file will use XPath standard syntax to define the mappings having the root element as the context for all definitions.
- the following XML data represents a sample PeopleSoftTM XML message:
- mapping definitions for "EMPLID” and “DEPTID” elements will be represented using XPath standard syntax as:
- the configuration GUI 116 will be employed to configure the various BTL handlers.
- the purpose of the configuration GUI 116 is to provide a means for a system administrator to easily define the information that is needed to transform a PeopleSoftTM User Entry into an eTrustTM Admin Global User Entry. This information will include the resulting eTrustTM Admin Global User attributes and the means that is used to produce them.
- the BTL configuration GUI 116 will be comprised of the following interfaces as illustrated in the exemplary screenshots of FIGS . 4 A-E :
- BTL Handlers Registration This interface will allow the end user to register BTL handlers on the BTL engine and define their invocation order. It will also allow the end user to add, remove or modify the loading order of XSL files.
- the configuration GUI 116 will additionally enable the administrator to set any necessary configuration parameters. These configuration parameters will be held in the XML configuration file mentioned above.
- the subscriber, BTL Engine and BTL handlers access and load settings from the configuration file in order to operate. For example, the subscriber reads supported message definitions, message node name, full data replication output folder, etc.; the BTL Engine reads the registered BTL handlers and loading order, etc.; the BTL Business Rules handler reads decision tables, etc.. Below is an exemplary list of parameters included in the configuration file:
- This meta-data will be needed for both eTrustTM Admin and PeopleSoftTM.
- PeopleSoftTM it will consist of the attributes that can be used as parameters to the Decision Table Definitions.
- eTrustTM Admin this data will consist of a list of all supported Global User attributes.
- PeopleSoftTM Extract From an existing extract, the BTL configuration GUI will be able to obtain the required meta-data. At any time, the system administrator will be able to add to and modify this meta-data.
- eTrustTM Admin meta-data a listing of the attributes that exist will be readily available from the configuration GUI.
- the eTrustTM Admin meta-data may be modified as well.
- FIGS. 5 and 6 a method for managing user data in a plurality of databases will be described illustrating the data flow where the source application is a PeopleSoftTM application and the target application is eTrustTM Admin.
- the PETAI module 602 will interface with PeopleSoftTM system 604 (step 502) and will feed PeopleSoftTM data onto the BTL engine 606 through its Java Subscriber 612 (step 504).
- the BTL engine 606 will generate a MessageContext object containing the PeopleSoftTM data and it will pass it on to the first BTL handler defined in the configuration file that in this case is the sample template handler 630 (step 506).
- the template handler the first BTL handler defined in the configuration file that in this case is the sample template handler 630
- the XSL files handler 632 receives the MessageContext and applies a chain of XSL Transformations, e.g., PSCAMA.XSL and sample.XSL (step 508).
- the business rules handler 634 receives the MessageContext object and transforms it executing any decision tables defined in the configuration file (step 510), via the configuration GUI 616. Then, it will pass it on to the mapping handler 636.
- the mapping handler 636 receives the MessageContext object and transforms it assigning PeopleSoftTM data fields and custom fields to Global User attributes based on the mapping information in the configuration file (step 512).
- the generic component handler 638 will ultimately generate eTrustTM Admin Workflow requests (step 514), via the workflow engine 614. This request(s) will lead towards the provisioning, modification or de-provisioning of Global user and all associated accounts in the eTrustTM Admin application 608.
- the system and method according to embodiments of the present invention provides organizations the ability to capture changes to a source application, e.g., a PeopleSoftTM application, in real time. The system and method transforms the data into "intelligible" user provisioning requests based on business rules associated with specific values in the source application data.
- a workflow engine e.g., a target application, which ultimately sends (create, delete, or modify) requests to managed security systems.
- a user provisioning engine e.g., a target application
- embodiments of the present invention automate the user provisioning process from a source application to the heterogeneous security systems making up the organizations IT infrastructure.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Digital Computer Display Output (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US48650803P | 2003-07-11 | 2003-07-11 | |
| PCT/US2004/021882 WO2005008533A2 (en) | 2003-07-11 | 2004-07-09 | Xml configuration technique and graphical user interface (gui) for managing user data in a plurality of databases |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP1649391A2 true EP1649391A2 (en) | 2006-04-26 |
Family
ID=34079238
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP04756782A Ceased EP1649391A2 (en) | 2003-07-11 | 2004-07-09 | Xml configuration technique and graphical user interface (gui) for managing user data in a plurality of databases |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP1649391A2 (en) |
| WO (1) | WO2005008533A2 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4438129B2 (en) * | 1999-07-02 | 2010-03-24 | ソニー株式会社 | Content receiving system and content receiving method |
| SG106565A1 (en) * | 1999-08-19 | 2004-10-29 | Ibm | Network-based virtual commodity exchange |
| WO2003056449A2 (en) * | 2001-12-21 | 2003-07-10 | Xmlcities, Inc. | Extensible stylesheet designs using meta-tag and/or associated meta-tag information |
-
2004
- 2004-07-09 WO PCT/US2004/021882 patent/WO2005008533A2/en not_active Ceased
- 2004-07-09 EP EP04756782A patent/EP1649391A2/en not_active Ceased
Non-Patent Citations (1)
| Title |
|---|
| See references of WO2005008533A2 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2005008533A2 (en) | 2005-01-27 |
| WO2005008533A3 (en) | 2005-09-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7926064B2 (en) | Business transformation logic engine and handlers | |
| US7788214B2 (en) | XML configuration technique and graphical user interface (GUI) for managing user data in a plurality of databases | |
| DE60126016T2 (en) | Server-side control objects for processing customer-side user interface elements | |
| US6806890B2 (en) | Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system | |
| US10503528B2 (en) | Method and apparatus for composite user interface creation | |
| US7484219B2 (en) | Synchronizing centralized data store from distributed independent data stores using fixed application programming interfaces | |
| US6810429B1 (en) | Enterprise integration system | |
| US7167874B2 (en) | System and method for command line administration of project spaces using XML objects | |
| US8166006B2 (en) | Invocation of web services from a database | |
| US8924408B2 (en) | Automatic generation of database invocation mechanism for external web services | |
| US6216164B1 (en) | Computerized system and method for managing information | |
| US20040243613A1 (en) | System and method for creating a custom view from information in a managed data store | |
| US8606816B2 (en) | Management of collections of websites | |
| US8909635B2 (en) | Profiling content creation and retrieval in a content management system | |
| US20040135805A1 (en) | Document composition system and method | |
| US20030018661A1 (en) | XML smart mapping system and method | |
| US8725747B2 (en) | Filtering of custom attributes of computer objects for display | |
| US20090222836A1 (en) | System and Method for Implementing a Management Component that Exposes Attributes | |
| US8738489B2 (en) | Managing schedules in a financial close management system | |
| US8682752B2 (en) | Integration of applications with a financial close management system | |
| US7596550B2 (en) | System and method for query planning and execution | |
| US9317570B2 (en) | System and method for managing user data in a plurality of databases | |
| US20110289041A1 (en) | Systems and methods for managing assignment templates | |
| US20240036830A1 (en) | Event consumption for high-level programing language platform | |
| EP1652115A2 (en) | Business transformation logic engine and handlers |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20060206 |
|
| AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR |
|
| 17Q | First examination report despatched |
Effective date: 20060825 |
|
| DAX | Request for extension of the european patent (deleted) | ||
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: COMPUTER ASSOCIATES THINK, INC. |
|
| APBK | Appeal reference recorded |
Free format text: ORIGINAL CODE: EPIDOSNREFNE |
|
| APBN | Date of receipt of notice of appeal recorded |
Free format text: ORIGINAL CODE: EPIDOSNNOA2E |
|
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: CA, INC. |
|
| APBR | Date of receipt of statement of grounds of appeal recorded |
Free format text: ORIGINAL CODE: EPIDOSNNOA3E |
|
| APAF | Appeal reference modified |
Free format text: ORIGINAL CODE: EPIDOSCREFNE |
|
| REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
| APBT | Appeal procedure closed |
Free format text: ORIGINAL CODE: EPIDOSNNOA9E |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
| 18R | Application refused |
Effective date: 20190709 |