WO2005008539A1 - System and method for managing user data in a plurality of databases - Google Patents

System and method for managing user data in a plurality of databases Download PDF

Info

Publication number
WO2005008539A1
WO2005008539A1 PCT/US2004/022148 US2004022148W WO2005008539A1 WO 2005008539 A1 WO2005008539 A1 WO 2005008539A1 US 2004022148 W US2004022148 W US 2004022148W WO 2005008539 A1 WO2005008539 A1 WO 2005008539A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
publishing
records
user data
source application
Prior art date
Application number
PCT/US2004/022148
Other languages
French (fr)
Inventor
Jesus Fernandez
Catherine Elizabeth Sullivan
Kejian Qui
Ronald Jacobson
Original Assignee
Computer Associates Think, Inc.
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 Computer Associates Think, Inc. filed Critical Computer Associates Think, Inc.
Priority to EP04777927A priority Critical patent/EP1652114A1/en
Publication of WO2005008539A1 publication Critical patent/WO2005008539A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information 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/84Mapping; Conversion
    • G06F16/88Mark-up to mark-up conversion
    • 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/258Data format conversion from or to a database

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.
  • Description of the Related Art Driven by new Internet technologies, business growth requires organizations to extend their systems, applications and directories to partners, suppliers, customers and employees. This explosion in user population makes the task of managing user accounts increasingly complex. It also creates a new need for identity management — the ability to control and monitor individual user access over time. Compounding this situation are the business realities of mergers, acquisitions and divestitures — the numbers of users are increasing and the numbers of system types are expanding. IT directors are forced to manage multiple operating systems, mail systems, network operating systems and home-grown applications distributed across various, often worldwide locations.
  • the single administrative security system allows administrators to centrally define and manage security policies across an enterprise by automating the provisioning of user accounts on a variety of IT systems and ERP (Enterprise Resource Planning) applications, for example, using a role-based approach. That is, 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.
  • ERP Enterprise Resource Planning
  • 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.
  • an interface module for integrating data from a source application to a target application comprising a publisher for publishing the extracted data in an XML message; and a subscriber for uncompressing the XML message.
  • the publisher includes a full data replication mechanism for initially publishing the entire content of the source application and an incremental updates mechanism for publishing changes made to the source application after initial publication.
  • the subscriber is a Java subscriber.
  • the subscriber includes an EDI engine for uncompressing the XML message when a number of XML messages is greater than a first predetermined threshold.
  • a method for integrating data from a source application to a target application comprises the steps of publishing an XML message of user data from the source application; receiving, decoding and uncompressing the XML message; and transforming the XML message into a workflow request for integrating the source data to the target application.
  • a program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for integrating data from a source application to a target application
  • the method steps comprising publishing an XML message of user data from the source application; receiving, decoding and uncompressing the XML message; and transforming the XML message into a workflow request for integrating the source data to 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
  • FIG. 4 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. 5 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) engme 106 for transforming 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.
  • a user e.g., an administrator
  • 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..
  • 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.
  • the actual connections between the system components (or the process steps) may differ depending upon the manner in which the present invention is programmed. Given the teachings of the present invention provided herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention. An embodiment of the present invention will be described below using a
  • 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 appreciated that although the embodiment described below references PeopleSoft' s HRMs (Human Resources
  • 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 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 Integration technology, specifically using Application Messaging 211, and will be loaded into the PeopleSoftTM application. PeopleSoftTM Application Messaging is based on a
  • 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 separated 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. Additionally, the PETAI module 202 will include a PETAI Message Node, a PETAI
  • the message node and channel are the common objects shared by all message definitions.
  • the PETAI node will be the connection point to eTrust Admin.
  • PETAI node will be defined as an external node pointing to the Application Messaging Gateway servlet, where the PETAI Java subscriber 212 is registered and deployed.
  • the PETAI message channel is a common object that groups all PETAI message definitions. Routing rules within PETAI message channel will route PETAI published messages to the PETAI message node. Message definitions will be defined separately for each publisher mechanism.
  • 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.
  • 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.
  • 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. Separated 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 transactions threshold will be the mechanism used to determine the type of a message.
  • Incremental update messages will be passed to the BTL engine for immediate processing.
  • Full data replication messages will be copied to a file where a separate process will process them. This second process is implemented by an EDI (Electronic Data Interchange) engine.
  • EDI Electronic Data Interchange
  • the EDI engine will be a separated process/thread that will monitor the folder where full data replication messages are copied as files. It will have a separate instance of the BTL engine and once it finds a new file to process, it will create a MessageContext object using the XML data from the file and it will pass it on to the BTL engine to process it.
  • the subscriber 212 transforms the user data from the source application, the data is passed to the BTL engine 306.
  • the purpose of the BTL engine 306 is to provide a means to transform the input PeopleSoftTM data coming from the PETAI module 202 into Workflow request(s). This request(s) will lead towards the provisioning, modification or de- provisioning of an eTrustTM Admin Global user and all associated accounts.
  • 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.
  • 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 Global User attributes, for example, to generate a user id using two or more PeopleSoftTM data fields and some specific business rules; to map data elements within the XML buffer to Global User Attributes; to access custom code and/or third party code to set Global User attributes; etc.
  • 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 Java code).
  • this handler will use a parameter in a configuration file containing an ID for the stylesheeb the name of the XSL file and an order number to be applied.
  • a PSCAMA PeopleSoftTM Common Application Message Attributes 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.
  • 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.
  • Nalid output field names are considered any field name on the ETRUST_ADML ⁇ 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 decision table rows are where the business rules are defined. Each row specifies the output value, the combination of comparison values, and operators for assigning the value.
  • the first column on each row is where the output value is placed.
  • the following decision table example assigns the Global User Role attribute (Role- Name) 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 to a Global User attribute of the eTrustTM Admin application.
  • 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.
  • 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:
  • 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 in order 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:
  • BTL Handlers Registration This interface will allow the end user to register BTL handlers on the BTL engine and define their invocation order.
  • PeopleSoftTM In the case of PeopleSoftTM, it will consist of the attributes that can be used as parameters to the Decision Table Definitions. In the case of eTrustTM Admin, this data will consist of a list of all supported Global User attributes. There will be two ways that the PeopleSoftTM data can be obtained from the BTL Configuration GUI. The first is by using a PeopleSoftTM Extract. From an existing extract, the BTL configuration GUI will be able to o obtain the required meta-data. At any time, the system administrator will be able to add to and modify this meta-data. In the case of 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.
  • the PETAI module 502 will interface with PeopleSoftTM system 504 (step 402) and will feed PeopleSoftTM data onto the BTL engine 506 through its Java Subscriber 512 (step 404).
  • the BTL engine 506 will generate a MessageContext object containing the0 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 530 (step 406).
  • the template handler 530 will process and transform the MessageContext object and it will pass it on to next handler in the chain.
  • the XSL files handler 532 receives the MessageContext and applies a chain of XSL Transformations, e.g., PSCAMA.XSL and sample.XSL (step 408).
  • the BR handler 534 receives the MessageContext object and transforms it executing any decision tables defined in the configuration file (step 410), via the configuration GUI 516. Then, it will pass it on to the mapping handler 536.
  • the mapping handler 536 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
  • the system and method 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.

Abstract

A system and method for integrating data from a source application to a target application includes an interface module incorporating a publisher for publishing extracted data in an XML message and subscriber for uncompressing the XML message. The method includes the steps of publishing an XML message of user data from the source application; receiving, decoding and uncompressing the XML message; and transforming the XML message into a workflow request for integrating the source data to the target application.

Description

SYSTEM AND METHOD FOR MANAGING USER DATA IN A PLURALITY OF DATABASES
CROSS REFERENCE TO RELATEDAPPLICATIONS This application claims priority to a provisional application entitled "SYSTEM AND
METHOD FOR MANAGING USER DATA IN A PLURALITY OF DATABASES" filed in the United States Patent and Trademark Office on July 11, 2003 and assigned Serial No. 60/486,517, the entire contents of which are hereby incorporated by reference. This application is also related to U.S. provisional application Serial Nos. 60/486,512 and 60/486,508, each filed on July 11, 2003, the entire contents of each of these applications also being incorporated by reference.
BACKGROUND 1. Field 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. 2. Description of the Related Art Driven by new Internet technologies, business growth requires organizations to extend their systems, applications and directories to partners, suppliers, customers and employees. This explosion in user population makes the task of managing user accounts increasingly complex. It also creates a new need for identity management — the ability to control and monitor individual user access over time. Compounding this situation are the business realities of mergers, acquisitions and divestitures — the numbers of users are increasing and the numbers of system types are expanding. IT directors are forced to manage multiple operating systems, mail systems, network operating systems and home-grown applications distributed across various, often worldwide locations. Individually managing multiple directories is time-consuming, costly and error-prone — especially in organizations where changes frequently occur. Keeping up with the daily maintenance can be a significant task. Ensuring overall security and integrity across the board increases the challenge. To meet these challenges, administrative security systems have been developed to provide user account management across multiple, geographically dispersed security systems and directories. An example of one such system is eTrust™ Admin commercially available from Computer Associates International, Inc. of New York, the assignee of the present application. These systems enable the creation, modification and removal of users across multiple, heterogeneous environments. The single administrative security system allows administrators to centrally define and manage security policies across an enterprise by automating the provisioning of user accounts on a variety of IT systems and ERP (Enterprise Resource Planning) applications, for example, using a role-based approach. That is, 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. With the advances in centralizing the administration of user accounts, there remains a need for techniques for extracting data from directories and ERP applications to populate the administrative security systems without manually reentering the existing data.
SUMMARY
A system and method for managing user data in a plurality of databases is provided. The system and method 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. According to an aspect of the present invention, an interface module for integrating data from a source application to a target application is provided comprising a publisher for publishing the extracted data in an XML message; and a subscriber for uncompressing the XML message. The publisher includes a full data replication mechanism for initially publishing the entire content of the source application and an incremental updates mechanism for publishing changes made to the source application after initial publication. In another aspect, the subscriber is a Java subscriber. In a further aspect, the subscriber includes an EDI engine for uncompressing the XML message when a number of XML messages is greater than a first predetermined threshold. According to another aspect of the present invention, a method for integrating data from a source application to a target application is provided. The method comprises the steps of publishing an XML message of user data from the source application; receiving, decoding and uncompressing the XML message; and transforming the XML message into a workflow request for integrating the source data to the target application. In a further aspect of the present invention, a program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for integrating data from a source application to a target application is provided, the method steps comprising publishing an XML message of user data from the source application; receiving, decoding and uncompressing the XML message; and transforming the XML message into a workflow request for integrating the source data to the target application.
BRIEF DESCRIPTION OF THE DRAWINGS The above and other aspects, features, and advantages of the present invention will become more apparent in light of the following detailed description when taken in conjunction with the accompanying drawings in which: 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; FIG. 4 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; and FIG. 5 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 PeopleSoft™ application and a target application or repository is eTrust™ Admin.
DETAILED DESCRIPTION Preferred embodiments of the present invention will be described hereinbelow with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail to avoid obscuring the invention in unnecessary detail. A system and method for managing user data in a plurality of databases is provided.
The system and method 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. FIG. 1 is a block diagram of a system for managing user data in a plurality of databases. Generally, the system 100 includes an interface module 102 for extracting user data from a source application 104 and a business transformation logic (BTL) engme 106 for transforming 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. From the BTL handlers, the object is sent to a workflow engine 114 where a request is created and sent to the target application 108. Depending on the request, the target application 108 creates, modifies, or deletes global users, their accounts, or changes the roles associated with a global user. Additionally, 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. It is to be understood that the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof. In one embodiment, 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. Preferably, 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. In addition, various other peripheral devices may be connected to the computer platform such as an additional data storage device and a printing device. Additionally, it is to be appreciated that 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.. For example, the interface module may be implemented on a first machine while the business transformation logic engine may be implemented on a second machine. It is to be further understood that, because some of the constituent system components and method steps depicted in the accompanying figures may be implemented in software, the actual connections between the system components (or the process steps) may differ depending upon the manner in which the present invention is programmed. Given the teachings of the present invention provided herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention. An embodiment of the present invention will be described below using a
PeopleSoft™ application as the source application and Computer Associates' eTrust™ Admin as the target application with reference to FIGS. 2 and 3, where FIG. 2 is a graphical representation of a PeopleSoft™ eTrust™ Admin Interface (PETAI) module 202 and FIG. 3 is a block diagram of the BTL engine 306. It is to be appreciated that although the embodiment described below references PeopleSoft' s HRMs (Human Resources
Management System), the principles of the present invention will apply to other source applications and is not limited to that described below. The main purpose of PETAI module 202 is to interface with PeopleSoft™ and to feed the PeopleSoft™ 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 PeopleSoft™ records and fields exported onto eTrust™ Admin. The Incremental Updates mechanism will keep eTrust™ Admin current, with changes made on the master PeopleSoft™ data. Incremental updates will contain only the records where the data has been modified. The PETAI module 202 will be implemented using PeopleSoft™ Enterprise Integration technology, specifically using Application Messaging 211, and will be loaded into the PeopleSoft™ application. PeopleSoft™ Application Messaging is based on a
"publish-and-subscribe" model that enables a third party external system to integrate with PeopleSoft™ applications via XML/HTTP(S) messages.
The PETAI module 202 includes a publisher 210 and a subscriber 212. The publisher mechanism 210 will be deployed onto PeopleSoft™ and will publish and deliver the XML messages to eTrust™ Admin subscriber 212. The PETAI module 202 will comprise two separated publisher mechanisms, one for implementing the Full Data Replication 210-1 and one for the Incremental Updates 210-2. The eTrust™ Admin subscriber mechanism 212 will be deployed onto the PeopleSoft™ Application Messaging Gateway 211 and will capture, transform and pass the XML messages onto the BTL engine 306. Additionally, the PETAI module 202 will include a PETAI Message Node, a PETAI
Message Channel and PETAI Message definitions. The message node and channel are the common objects shared by all message definitions. The PETAI node will be the connection point to eTrust Admin. PETAI node will be defined as an external node pointing to the Application Messaging Gateway servlet, where the PETAI Java subscriber 212 is registered and deployed. The PETAI message channel is a common object that groups all PETAI message definitions. Routing rules within PETAI message channel will route PETAI published messages to the PETAI message node. Message definitions will be defined separately for each publisher mechanism. The Incremental Updates Publisher mechanism 210-2 will subscribe to internal application messages that synchronize Peoplesoft™ database components when changes are being made to the PeopleSoft™ records and fields. Then, it will build the PeopleSoft™ XML message(s) and populate it (them) with the data, and finally publish it (them) onto the eTrust™ Admin subscriber 212. The Full Data Replication Publisher mechanism 210-1 will query all the defined PeopleSoft™ records and fields to get a full copy of data, then it will build the PeopleSoft™ XML message(s) and populate it (them) with the data, and finally publish it (them) onto the eTrust™ Admin subscriber 212. Many PeopleSoft™ application tables are effective-dated, meaning that historical and future-date rows may be present on the table. eTrust™ 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 eTrust™ 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 PeopleSoft™ records and fields that will be published and delivered to the eTrust™ Admin subscriber 212. This definition will be taken from the PeopleSoft™ Message definitions(s) that will carry on the data to eTrust™ Admin. Separated PeopleSoft™ 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
PeopleSoft™ Application Messaging Gateway Servlet. It will be in charged of capturing, decoding and uncompressing any XML messages delivered to eTrust™ Admin, and passing them onto the BTL engine 306. Transformations will change the format used in the XML message from a PeopleSoft™ format to an eTrust™ Admin format. The Java subscriber 212 will also integrate with the PeopleSoft™ Application Messaging Config Servlet. The Config servlet will allow the administrator to load/unload the PETAI Java subscriber 212 as well as configuring PeopleSoft™ 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. To handle a large amount of transactions, e.g., a large XML message, the Java subscriber 212 will process incremental updates and full data replication messages separately. A transactions threshold will be the mechanism used to determine the type of a message. A threshold=l will mean that only messages with one transaction are considered an incremental update type. Messages with more than one transaction will belong to the full data replication type. This threshold will be a configuration parameter set to 1 by default. Incremental update messages will be passed to the BTL engine for immediate processing. Full data replication messages will be copied to a file where a separate process will process them. This second process is implemented by an EDI (Electronic Data Interchange) engine. The EDI engine will be a separated process/thread that will monitor the folder where full data replication messages are copied as files. It will have a separate instance of the BTL engine and once it finds a new file to process, it will create a MessageContext object using the XML data from the file and it will pass it on to the BTL engine to process it. Once the subscriber 212 transforms the user data from the source application, the data is passed to the BTL engine 306. The purpose of the BTL engine 306 is to provide a means to transform the input PeopleSoft™ data coming from the PETAI module 202 into Workflow request(s). This request(s) will lead towards the provisioning, modification or de- provisioning of an eTrust™ Admin Global user and all associated accounts. 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 PeopleSoft™ 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 PeopleSoft™ data; to calculate and assign custom data fields to Global User attributes, for example, to generate a user id using two or more PeopleSoft™ data fields and some specific business rules; to map data elements within the XML buffer to Global User Attributes; to access custom code and/or third party code to set Global User attributes; etc. 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 Java code). To get a hold of the XSL file, this handler will use a parameter in a configuration file containing an ID for the stylesheeb the name of the XSL file and an order number to be applied. For example, a PSCAMA (PeopleSoft™ Common Application Message Attributes) handler may have an entry as follows:
<xsl-entry> <styles eet-id>pscama</stylesheet-id> <stylesheet-filename>pscama.xsl</stylesheet-filename> <stylesheet-order>l</stylesheet-order> </xsl-entry> <xsl-entry> <stylesheet-id>sample</stylesheet-id> <stylesheet-filename>sample.xs.</stylesheet-filename> <stylesheet-order>2</stylesheet-order> </xsl-entry> The PSCAMA XSL program will provide the functionality to filter PSCAMA and data records in the XML message. The filtering code will use an audit action field
(AUDIT_ACTN) at the PSCAMA record to filter the data records in the XML message. ^ Logic will be 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. Nalid output field names are considered any field name on the ETRUST_ADMLΝ 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 decision table rows are where the business rules are defined. Each row specifies the output value, the combination of comparison values, and operators for assigning the value. The first column on each row is where the output value is placed. The rest of the row columns are where the comparison values and the operators are placed. Valid comparison values are any real value in the PeopleSoft™ database and valid comparison operators are -' (equal) and '!=' (not equal). The following decision table example assigns the Global User Role attribute (Role- Name) 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.
Figure imgf000015_0001
The following is the above decision table in XML format: <decision-table-entry> <decision-table-id>roles</decision-table-id> <header> <header-output> <header-field-name>Role-Name</header-lϊeld-name> </header-output> <header-input-entry> <header-position>0</header-position> <header-xpath>PERSON/PERSONAL_DATA/COUNTRY< header-xpath> </header-input-entry> <header-input-entry> <header-position>l</header-position> <header-xpath>PERSON/JOB/DEPTID</header-xpath> </header-input-entry> <header-input-entry> <header-position>2</header-position> <header-xpath>PERSON/JOB/COMPANY</header-xpath> </header-input-entry> </header> <rows> <row-entry index="0" > <row-output> <row-field-value>NAmerica_HR_GBI_role</row-field-value> </row-output> <row-input-entry> <row-position>0</row-position> <row-comparison-value>USA</row-comparison-value> <row-comparison-operator>=</row-comparison-operator> </row-input-entry> <row-input-entry> <row-position>l</row-position> <row-comparison-value> 10000</row-comparison-value> <row-comparison-operator>=</row-comparison-operator> </row-input-entry> <row-input-entry> <row-position>2</row-position> <row-comparison-value>GBI</row-comparison-value> <row-comparison-operator>=</row-comparison-operator> </row-input-entry> </row-entry> <row-entry index="l" > <row-output> <row-field-value>International_role</row-field-value> </row-output> <row-input-entry> <row-position>0</row-position> <row-comparison-value>USA</row-cornparison-value> <row-comparison-operator>!=</row-comparison-operator> </row-input-entry> </row-entry> </rows> </decision-table-entry> <decision-table-entry> <decision-table-id>groups</decision-table-id> <header> <header-output> <header-field-name>Group-Name</lιeader-field-name> </header-output> <header-input-entry> <header-position>0</header-posi tion> <header-xpath>PERSON/PERSONAL_DATA/COUNTRY</header-xpath> </header-input-entry> </header> <rows> <row-entry index="0 " > <row-output> <row-fleld-value>NAmerica_group</row-lϊeld-val ιe> </row-output> <row-input-entry> <row-position>0</row-position> <row-comparison-value>USA</row-comparison-value> <row-comparison-operator>=</row-comparison-operator> </row-input-entry> </row-entry> <row-entry index=" 1 " > <row-output> <row-field-value>International_group</row-field-value> </row-output> <row-input-entry> <row-position>0</row-position> <row-comparison-value>USA</row-comparison-value> <row-comparison-operator>!=</row-comparison-operator> </row-input-entry> </row-entry> </rows> </decision-table-entry>
The business rules handler 334 then sends the message to the mapping handler 336. The BTL mapping handler 336 associates one PeopleSoft™ data field or a custom record field to a Global User attribute of the eTrust™ Admin application. 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. 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 PeopleSoft™ XML message:
<MsgData> <Transaction> <PERSONAL_DATA class="R"> <EMPLID>C10001</EMPLID> <NAME>Stankowsld,Richard</NAME> <LASTJS[AME>Stankowski</LAST_NAME> <FlRSTJ^AME>Richard</FIRST_NAME> <MmDLE_NAME></MIDDLE_NAME> <COUIMTRY>USA</COUNTRY> <ADDRESS1>11308 Wildflower Lane</ADDRESS1> <ADDRESS2></ADDRESS2> <ADDRESS3></ADDRESS3> <ADDRESS4></ADDRESS4> <CITY>Grass Valley</CITY> <COUNTY></COUNTY> <STATE>CA</STATE> <POSTAL>97077</POSTAL> </PERSONAL_DATA> <JOB_ETA_VW class="R"> <EMPLIX»C10001</EMPLID> <DEPTID>13000</DEPTID> <DESCR>Finance</DESCR> <JOBCODE>KU067</JOBCODE> <JOBCODE_DESCR>Sr Accounts Payable Clerk</JOBCODE_DESCR> <LOCATION>KUDE00</LOCATION> <LOCATION_DESCR>Delaware Operations</LOCATION_DESCR> <EMPL_STATUS>T</EMPL_STATUS> <COMPANY>GBI</COMPANY> <BUS1NESS_UNIT>GBIBU</BUSINESS_UNIT> <BUSrNESSJTITLEx/BUSlNESS_TITLE> SUPERVISOR JD /SUPERVISOR_ID> </JOB_ETA_VW> </Transaction> </MsgData> For example, mapping definitions for "EMPLID" and "DEPTID" elements will be represented using XPath standard syntax as:
<eta21 -attribute-mapping> <custom-element-xpath>PERSONAL_DATA/EMPLlD</custom-element-xpath> <attribute-name>eTUserid</attribute-name> <attribute-mod-flag>overwrite</attribute-mod-flag> </eta21 -attribute-mapping> <eta21 -attribute-mapping> <custom-element-xpath>PERSONAL_DATA/EMPLID</custom-element-xpath> <attribute-name>eTGlobalUserName</attribute-name> <a-tn^ute-mod-flag>oveπvrite</attribute-mod-flag> </eta21 -attribute-mapping> <eta21 -attribute-mapping> <custom-element-xpath>JOB_ETA_VW/DEPTID</custom-element-xpath> <attribute-name>eTDepartment</attribute-name> <attribute-mod-flag>ovenvrite</attribute-mod-flag> </eta21 -attribute-mapping> The generic component handler 338 will be the end point in the BTL engine chain and ultimately will transform the PeopleSoft™ data into Workflow requests. Among other functions, 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 in order to transform a PeopleSoft™ User Entry into an eTrust™ Admin Global User Entry. This information will include the resulting eTrust™ 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:
• BTL Handlers Registration: This interface will allow the end user to register BTL handlers on the BTL engine and define their invocation order.
• Attribute Mapping Interface: This interface will allow the end user to define the mapping parameters used by the BTL Mapping Handler.
• Decision Tables Interface: This interface will allow the end user to create and add decision tables to be executed by the BTL Business Rules Handler. • General Configuration: This interface will allow the end user to set all remaining configuration parameters. It is worth noting that to define the mappings and the BR decision tables specific meta-data will be required. This meta-data will be needed for both eTrust™ Admin and
5 PeopleSoft™. In the case of PeopleSoft™, it will consist of the attributes that can be used as parameters to the Decision Table Definitions. In the case of eTrust™ Admin, this data will consist of a list of all supported Global User attributes. There will be two ways that the PeopleSoft™ data can be obtained from the BTL Configuration GUI. The first is by using a PeopleSoft™ Extract. From an existing extract, the BTL configuration GUI will be able to o obtain the required meta-data. At any time, the system administrator will be able to add to and modify this meta-data. In the case of eTrust™ Admin meta-data, a listing of the attributes that exist will be readily available from the configuration GUI. In the BTL Configuration GUI, the eTrust™ Admin meta-data may be modified as well. With reference to FIGS. 4 and 5, a method for managing user data in a plurality of5 databases will be described illustrating the data flow where the source application is a PeopleSoft™ application and the target application is eTrust™ Admin. The PETAI module 502 will interface with PeopleSoft™ system 504 (step 402) and will feed PeopleSoft™ data onto the BTL engine 506 through its Java Subscriber 512 (step 404). The BTL engine 506 will generate a MessageContext object containing the0 PeopleSoft™ 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 530 (step 406). The template handler 530 will process and transform the MessageContext object and it will pass it on to next handler in the chain. The XSL files handler 532 receives the MessageContext and applies a chain of XSL Transformations, e.g., PSCAMA.XSL and sample.XSL (step 408). The BR handler 534 receives the MessageContext object and transforms it executing any decision tables defined in the configuration file (step 410), via the configuration GUI 516. Then, it will pass it on to the mapping handler 536. The mapping handler 536 receives the MessageContext object and transforms it assigning PeopleSoft™ data fields and custom fields to Global User attributes based on the mapping information in the configuration file
(step 412). Then it will pass it on to the generic component handler 538. The generic component handler or end point handler (Dirsync Handler) will ultimately generate eTrust™ Admin Workflow requests (step 414), via the workflow engine 514. This request(s) will lead towards the provisioning, modification or de-provisioning of Global user and all associated accounts in the eTrust™ Admin application 508. 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 PeopleSoft™ 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. The system and method then submits these requests via a workflow engine to a user provisioning engine, e.g., a target application, which ultimately sends (create, delete, or modify) requests to managed security systems. In summary, 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. While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims

WHAT IS CLAIMED IS: 1. An interface module for integrating data from a source application to a target application comprising: a publisher for publishing extracted data from the source application in at least one XML message; and a subscriber for uncompressing the at least one XML message.
2. The interface module as in claim 1, wherein the publisher includes a full data replication mechanism for initially publishing the entire content of the source application.
3. The interface module as in claim 2, wherein the publisher includes an incremental updates mechanism for publishing changes made to the source application after initial publication.
4. The interface module as in claim 3, wherein the publisher filters effective- dated data and publishes active data.
5. The interface module as in claim 1, wherein the subscriber is a Java subscriber.
6. The interface module as in claim 1, wherein the subscriber further includes an EDI (Electronic Data Interchange) engine for uncompressing the at least one XML message when a number of XML messages is greater than a first predetermined threshold.
7. The interface module as in claim 1, wherein the subscriber transforms data from a source application format to a target application format.
8. The interface module as in claim 1, further comprising a message node for pointing the publisher to the subscriber.
9. A method for integrating data from a source application to a target application, the method comprising the steps of: publishing an XML message of user data from the source application; receiving, decoding and uncompressing the XML message; and transforming the XML message into a workflow request for integrating the source data to the target application.
10. The method as in claim 9, wherein the publishing step includes querying all records of user data of the source application and publishing an entire copying of the records.
11. The method as in claim 10, wherein the publishing step includes querying all records of user data of the source application and publishing incremental changes relative to initial records.
12. The method as in claim 10, further comprising the step of defining records and fields of the records of the user data to be published.
13. The method as in claim 10, further comprising the steps of filtering effective- dated user data and publishing active data.
14. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for integrating data from a source application to a target application, the method steps comprising: publishing an XML message of user data from the source application; receiving, decoding and uncompressing the XML message; and transforming the XML message into a workflow request for integrating the source data to the target application.
15. The program storage device as in claim 14, wherein the publishing step includes querying all records of user data of the source application and publishing an entire copying of the records.
16. The program storage device as in claim 14, wherein the publishing step includes querying all records of user data of the source application and publishing incremental changes relative to initial records.
17. The program storage device as in claim 14, further comprising the step of defining records and fields of the records of the user data to be published.
18. The program storage device as in claim 14, further comprising the steps of filtering effective-dated user data and publishing active data.
PCT/US2004/022148 2003-07-11 2004-07-09 System and method for managing user data in a plurality of databases WO2005008539A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP04777927A EP1652114A1 (en) 2003-07-11 2004-07-09 System and method for managing user data in a plurality of databases

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48651703P 2003-07-11 2003-07-11
US60/486,517 2003-07-11

Publications (1)

Publication Number Publication Date
WO2005008539A1 true WO2005008539A1 (en) 2005-01-27

Family

ID=34079242

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/022148 WO2005008539A1 (en) 2003-07-11 2004-07-09 System and method for managing user data in a plurality of databases

Country Status (2)

Country Link
EP (1) EP1652114A1 (en)
WO (1) WO2005008539A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080079B2 (en) * 2000-11-28 2006-07-18 Yu Philip K Method of using the internet to retrieve and handle articles in electronic form from printed publication which have been printed in paper form for circulation by the publisher

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ877600A0 (en) * 2000-07-13 2000-08-03 Erg R&D Pty Ltd A card system

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DAVE MUSICANT, MIHAELA PATRICIA DABU: "Efficient Storage of Temporal Data in a Data Warehousing Context", 1997, pages 1 - 32, XP002309372, Retrieved from the Internet <URL:http://www.cs.wisc.edu/~musicant/effstor.ps> [retrieved on 20041208] *
NOVELL: "DirXML Administration Guide", DIRXML 1.0 DOCUMENTATION, November 2000 (2000-11-01), pages 1 - 104, XP002309370, Retrieved from the Internet <URL:http://www.novell.com/documentation/dirxml10/pdfdoc/dirxml/dirxml.pdf> [retrieved on 20031030] *
NOVELL: "Introduction to DirXML", NOVELL TUTORIAL, 2002, pages 1 - 116, XP002309373, Retrieved from the Internet <URL:http://developer.novell.com/education/tutorials/introdirxml/introDirXML.pdf> [retrieved on 20041206] *
NOVELL: "Novell DirXML Administration Guide", DIRXML 1.1 DOCUMENTATION, January 2002 (2002-01-01), pages 1 - 224, XP002309371, Retrieved from the Internet <URL:http://www.directory-info.com/DirXML/dirxmlAdmin.pdf> [retrieved on 20041124] *
See also references of EP1652114A1 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080079B2 (en) * 2000-11-28 2006-07-18 Yu Philip K Method of using the internet to retrieve and handle articles in electronic form from printed publication which have been printed in paper form for circulation by the publisher

Also Published As

Publication number Publication date
EP1652114A1 (en) 2006-05-03

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
US11138023B2 (en) Method and apparatus for composite user interface creation
US7167874B2 (en) System and method for command line administration of project spaces using XML objects
US7484219B2 (en) Synchronizing centralized data store from distributed independent data stores using fixed application programming interfaces
DE60133648T2 (en) SYSTEM AND METHOD FOR LEADING RUNTIME DATA IN A SERVER NETWORK
US7870157B2 (en) System and method for implementing a management component that exposes attributes
US8909635B2 (en) Profiling content creation and retrieval in a content management system
US8606816B2 (en) Management of collections of websites
US20040243613A1 (en) System and method for creating a custom view from information in a managed data store
US7596550B2 (en) System and method for query planning and execution
JP2002041454A (en) Network system, terminal management system and its method, data processing method, recording medium and internet service providing method
US7619761B2 (en) Extensible and distributed job execution service in a server farm
US7512941B2 (en) Method and system for distributing and updating heterogeneous resources
US7480671B2 (en) Provision of data for data warehousing applications
DE602005005435T2 (en) System and method for communication management of component applications
US9317570B2 (en) System and method for managing user data in a plurality of databases
WO2005008539A1 (en) System and method for managing user data in a plurality of databases
US11544294B2 (en) Distributing tables in a distributed database using consolidated grouping sources
EP1652115A2 (en) Business transformation logic engine and handlers
Aragao et al. Conflict resolution in web service federations
WO2005008533A2 (en) Xml configuration technique and graphical user interface (gui) for managing user data in a plurality of databases
US20020143786A1 (en) User scope-based data organization system
US20060080323A1 (en) Apparatus and method for report publication in a federated cluster
Piprani et al. A metamodel for orchestrating service requirements in an SQL-environment

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 BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG 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 NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY 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): BW GH GM KE LS MW MZ NA 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 PL 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
WWE Wipo information: entry into national phase

Ref document number: 2004777927

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004777927

Country of ref document: EP