Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Machine tool facility equipped with a pallet exchanger
Patent Number: 7,437,810 Issued on 10/21/2008 to Ota

Title: Eyeglass lens processing apparatus
Patent Number: 7,437,809 Issued on 10/21/2008 to Yamamoto,   et al.

Title: Method of forming a metal matrix component
Patent Number: 7,437,808 Issued on 10/21/2008 to Hodjat

Title: Tufted backing and method of manufacturing same
Patent Number: 7,437,807 Issued on 10/21/2008 to Gartner,   et al.

Title: Safety hook
Patent Number: 7,437,806 Issued on 10/21/2008 to Lin

Title: Reclosable storage bag closure with internal valving
Patent Number: 7,437,805 Issued on 10/21/2008 to Berich

Title: Clamp tie
Patent Number: 7,437,804 Issued on 10/21/2008 to Geiger,   et al.

Title: Grip handle type door handle apparatus
Patent Number: 7,437,803 Issued on 10/21/2008 to Watanabe,   et al.

Title: Door hinge with checker
Patent Number: 7,437,802 Issued on 10/21/2008 to Ochiai

Title: Caster assembly and shelf system for use on a collapsible cart
Patent Number: 7,437,801 Issued on 10/21/2008 to Dahl

Title: Clock gating circuit
Patent Number: 7,437,800 Issued on 10/21/2008 to Ham

Title: Cleaner head for a vacuum cleaner
Patent Number: 7,437,799 Issued on 10/21/2008 to Rocke

Title: Air reflux assembly of the vacuum cleaner
Patent Number: 7,437,798 Issued on 10/21/2008 to Zhang

Title: Duster brush assembly for vacuum cleaners
Patent Number: 7,437,797 Issued on 10/21/2008 to Ptak,   et al.

Title: Backpack having a reservoir
Patent Number: 7,437,796 Issued on 10/21/2008 to Rappin

Title: Mop bucket assembly
Patent Number: 7,437,795 Issued on 10/21/2008 to Bez

Title: Magnetic scraper
Patent Number: 7,437,794 Issued on 10/21/2008 to Massaro

Title: Spiked golf shoe cleaning brush
Patent Number: 7,437,793 Issued on 10/21/2008 to Lane

Title: Espresso machine cleaning tool
Patent Number: 7,437,792 Issued on 10/21/2008 to Pelo

Title: Apparatus for removing insects from produce
Patent Number: 7,437,791 Issued on 10/21/2008 to Williamson

Title: Pool cleaning vacuum employing multiple power supply sources and associated method
Patent Number: 7,437,790 Issued on 10/21/2008 to Ajello

Title: Lumbar back support device
Patent Number: 7,437,789 Issued on 10/21/2008 to Thompson

Title: Pillow
Patent Number: 7,437,788 Issued on 10/21/2008 to Holman

Title: Load-cell based hospital bed control
Patent Number: 7,437,787 Issued on 10/21/2008 to Bhai

Title: Lift bed
Patent Number: 7,437,786 Issued on 10/21/2008 to Bellingroth

Title: Drive system for imaging device
Patent Number: 7,437,785 Issued on 10/21/2008 to Farooqui

Title: Mattress cover
Patent Number: 7,437,784 Issued on 10/21/2008 to Turnipseed

Title: Easily assembled bed frame
Patent Number: 7,437,783 Issued on 10/21/2008 to Navarro,   et al.

Title: Load sensing safety device for vertical lift
Patent Number: 7,437,782 Issued on 10/21/2008 to Burns

Title: Toilet seat cover scale device
Patent Number: 7,437,781 Issued on 10/21/2008 to Rigas

Title: Shower apparatus using saved space
Patent Number: 7,437,780 Issued on 10/21/2008 to Lin

Title: Fixture guard panels and systems
Patent Number: 7,437,779 Issued on 10/21/2008 to Kenny,   et al.

Title: Automatic bathroom flushers
Patent Number: 7,437,778 Issued on 10/21/2008 to Parsons,   et al.

Title: Modified head covering
Patent Number: 7,437,777 Issued on 10/21/2008 to Marquardt

Title: Basketball training glove
Patent Number: 7,437,776 Issued on 10/21/2008 to Brown

Title: Body form-fitting rainwear
Patent Number: 7,437,775 Issued on 10/21/2008 to Reynolds

Title: Article of apparel incorporating a zoned modifiable textile structure
Patent Number: 7,437,774 Issued on 10/21/2008 to Baron,   et al.

Title: Ball catching apparatus
Patent Number: 7,437,773 Issued on 10/21/2008 to Aoki,   et al.

Title: Method and system for access control based on content-ratings and client-specified rating allowances
Patent Number: 7,437,772 Issued on 10/14/2008 to Thenthiruperai,   et al.

Title: Rendering protected digital content within a network of computing devices or the like
Patent Number: 7,437,771 Issued on 10/14/2008 to Alkove,   et al.

Title: Data transfer system, data transfer apparatus, data recording apparatus, data transfer method
Patent Number: 7,437,770 Issued on 10/14/2008 to Abe,   et al.

Title: Multiple entity control of access restrictions for media playback
Patent Number: 7,437,769 Issued on 10/14/2008 to Meyerson

Title: Information processing apparatus and method, and program storage medium
Patent Number: 7,437,768 Issued on 10/14/2008 to Kawakami,   et al.

Title: Method for enabling a trusted dialog for collection of sensitive data
Patent Number: 7,437,767 Issued on 10/14/2008 to Rogalski

Title: Method and apparatus providing deception and/or altered operation in an information system operating system
Patent Number: 7,437,766 Issued on 10/14/2008 to Cohen,   et al.

Title: Sensitive display system
Patent Number: 7,437,765 Issued on 10/14/2008 to Elms,   et al.

Title: Vulnerability assessment of disk images
Patent Number: 7,437,764 Issued on 10/14/2008 to Sobel,   et al.

Title: In-context security advisor in a computing environment
Patent Number: 7,437,763 Issued on 10/14/2008 to Guo

Title: Method, computer program element and a system for processing alarms triggered by a monitoring system
Patent Number: 7,437,762 Issued on 10/14/2008 to Dacier,   et al.

Title: Computer virus generation detection apparatus and method
Patent Number: 7,437,761 Issued on 10/14/2008 to Takahashi

Title: Antiviral network system
Patent Number: 7,437,760 Issued on 10/14/2008 to Dettinger,   et al.

Title: Kernel mode overflow attack prevention system and method
Patent Number: 7,437,759 Issued on 10/14/2008 to Szor

Title: Propagation of viruses through an information technology network
Patent Number: 7,437,758 Issued on 10/14/2008 to Williamson,   et al.

Title: Token for use in online electronic transactions
Patent Number: 7,437,757 Issued on 10/14/2008 to Holdsworth

Title: Method for securely exchanging data
Patent Number: 7,437,756 Issued on 10/14/2008 to Bleumer

Title: Unified network and physical premises access control server
Patent Number: 7,437,755 Issued on 10/14/2008 to Farino,   et al.

Title: Web object access authorization protocol based on an HTTP validation model
Patent Number: 7,437,754 Issued on 10/14/2008 to Desai,   et al.

Title: Method for commonly controlling device drivers
Patent Number: 7,437,737 Issued on 10/14/2008 to Lee

Title: Propagating web transaction context into common object model (COM) business logic components
Patent Number: 7,437,734 Issued on 10/14/2008 to Rees,   et al.

Title: Method for load balancing a loop of parallel processing elements
Patent Number: 7,437,729 Issued on 10/14/2008 to Beaumont

Title: System and method for CPU bandwidth allocation
Patent Number: 7,437,728 Issued on 10/14/2008 to Stackhouse,   et al.

Title: Combinational approach for developing building blocks of DSP compiler
Patent Number: 7,437,719 Issued on 10/14/2008 to Nagaraj,   et al.

Title: Category partitioning markup language and tools
Patent Number: 7,437,714 Issued on 10/14/2008 to Hahn,   et al.

Title: Providing assistance for editing markup document based on inferred grammar
Patent Number: 7,437,709 Issued on 10/14/2008 to Salter

Title: Enhanced software components
Patent Number: 7,437,708 Issued on 10/14/2008 to Iglesias

Title: Real-time generation of software translation
Patent Number: 7,437,704 Issued on 10/14/2008 to Dahne-Steuber,   et al.

Title: Memory debugger for system-on-a-chip designs
Patent Number: 7,437,692 Issued on 10/14/2008 to Oberlaender

Title: Method for predicate-based compositional minimization in a verification environment
Patent Number: 7,437,690 Issued on 10/14/2008 to Baumgartner,   et al.

Title: Systems, methods and computer program products for graphical user interface presentation to implement filtering of a large unbounded hierarchy to avoid repetitive navigation
Patent Number: 7,437,686 Issued on 10/14/2008 to Bernstein,   et al.

Title: Graphical interface system for manipulating a virtual dummy
Patent Number: 7,437,684 Issued on 10/14/2008 to Maille,   et al.

Title: Maximizing window display area using window flowing
Patent Number: 7,437,678 Issued on 10/14/2008 to Awada,   et al.

Title: Multiple personas for electronic devices
Patent Number: 7,437,677 Issued on 10/14/2008 to Capps,   et al.

Title: Methods and apparatus for managing network resources via use of a relationship view
Patent Number: 7,437,676 Issued on 10/14/2008 to Magdum,   et al.

Title: System and method for monitoring event based systems
Patent Number: 7,437,675 Issued on 10/14/2008 to Casati,   et al.

Title: Video processing methods
Patent Number: 7,437,674 Issued on 10/14/2008 to Chen

Mapping data from multiple data sources into a single or multiple reusable software components Number:7,412,457 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Greek, Cypriot Leaders Resume Unification Talks in Nicosia by Nathan Morley
     Indonesia Tobacco Sales Grow, Raising Health Fears
     South Korea Allows Top Defector to Travel Overseas by VOA News

Title: Mapping data from multiple data sources into a single or multiple reusable software components

Abstract: A method, apparatus and program storage device for mapping data objects, residing in multiple data sources or generated dynamically, into a single or multiple reusable software components, for integrated information access to multiple disparate data sources, residing on or generating the data dynamically on different hardware systems and possibly in different data formats. A user identifies selected data objects from multiple data sources and registers them with an information integration software facility, in order to create at least one virtual data object having at least one attribute from the selected registered data objects, and to wrap access to the at least one virtual data object into a reusable software component, as though it was a single real data object, accessible directly from software applications.

Patent Number: 7,412,457 Issued on 08/12/2008 to Saracco,   et al.


Inventors: Saracco; Cynthia Maro (San Jose, CA), Wolfson; Charles Daniel (Austin, TX)
Assignee: International Business Machines Corporation (Armonk, NY)
Appl. No.: 10/983,842
Filed: November 6, 2004


Related U.S. Patent Documents

Application NumberFiling DatePatent NumberIssue Date
10644483May., 20056901409
09764611Oct., 20036633889

Current U.S. Class: 707/103Y ; 707/103R; 707/103Z; 707/104.1
Current International Class: G06F 17/00 (20060101)
Field of Search: 707/104.1,103Y,103R,103Z


References Cited [Referenced By]

U.S. Patent Documents
5426747 June 1995 Weinreb et al.
5627979 May 1997 Chang et al.
5729739 March 1998 Cantin et al.
5765161 June 1998 Blackman et al.
5794247 August 1998 Blackman et al.
6061515 May 2000 Chang et al.
6289382 September 2001 Bowman-Amuah
6633889 October 2003 Dessloch et al.
6901409 May 2005 Dessloch et al.
6938041 August 2005 Brandow et al.
Foreign Patent Documents
0690375 Jan., 1996 EP
3138734 May., 1991 JP
Primary Examiner: Rones; Charles
Assistant Examiner: Choi; Michele C
Attorney, Agent or Firm: Kunzler & McKenzie

Parent Case Text



The present invention is a continuation-in-part which specifically claims the benefit of and discloses and claims subject matter disclosed in a related earlier co-pending parent patent application entitled: "Mapping Data From Multiple Data Sources Into a Single Software Component" by the same two inventors Saracco and Wolfson, Ser. No. 10/644,483, filed on Aug. 20, 2003, assigned to the assignee of the present invention and fully incorporated herein by reference, and issued on May 31, 2005 under U.S. Pat. No. 6,901,409 B2.

The parent invention entitled: "Mapping Data From Multiple Data Sources Into a Single Software Component" was a continuation-in-part which specifically claims the benefit of and discloses and claims subject matter disclosed in a related earlier co-pending parent patent application entitled: "Mapping Persistent Data in Multiple Data Sources Into a Single Object-Oriented Component" by the same inventors, Ser. No. 09/764,611, filed on Jan. 17, 2001, assigned to the assignee of the present invention and fully incorporated herein by reference, and issued on Oct. 14, 2003 under U.S. Pat. No. 6,633,889 B27.
Claims



What is claimed is:

1. A method for mapping disparate data objects from multiple data sources into a single, or multiple; reusable software components accessible to a software application performed by a computer, for integrated access to the disparate data objects generated dynamically by or contained in the multiple data sources stored in at least one electronic storage device coupled to the computer, the method comprising the following steps: (a) for a software application, identifying the disparate data objects for mapping; (b) employing an information integration software facility for registering the data objects; (c) using the information integration software facility for creating at least one virtual data object having at least one attribute from the selected registered data objects; and (d) wrapping access to the at least one virtual data object into the reusable software component accessible directly from the software application.

2. The method according to claim 1, wherein the information integration software facility having access to the multiple data sources, being chosen from a group comprising databases, files and spreadsheets, containing or dynamically generating data from different hardware systems and possibly storing the data in different formats.

3. The method according to claim 1, wherein the information integration software facility being chosen from a group comprising a multi-database server, a federated data server and an information integration server.

4. The method according to claim 1, wherein the software application accessing the reusable software component within a single unit of work.

5. The method according to claim 1, wherein the virtual data object being mapped into an entity bean having attributes spanning the multiple data sources.

6. The method according to claim 5, wherein the entity bean being a container-managed persistence entity bean.

7. The method according to claim 1, wherein the software application including an Enterprise JavaBean (EJB) application.

8. The method according to claim 1, wherein the virtual data object being accessed from a group comprising Java servlets, Java Server Pages (JSPs), Web Services, Service Data Objects (SDO) and persistence frameworks.

9. Art apparatus for mapping disparate data objects from multiple data sources into a single, or multiple reusable software components accessible to a software application performed by a computer, comprising: the computer coupled to at least one electronic storage device for integrated access to the disparate data objects generated dynamically by or contained in the multiple data sources; programming means, performed by the computer, for identifying the disparate data objects for mapping; an information integration software facility for registering the data objects; means, performed by the computer, for using the information integration software facility for creating at least one virtual data object having at least one attribute from the selected registered data objects; and means, performed by the computer, for wrapping access to the at least one virtual data object into the reusable software component accessible directly from the software application.

10. The apparatus according to claim 9, wherein the information integration software facility having access to the multiple data sources, being chosen from a group comprising databases, files and spreadsheets, containing or dynamically generating data from different hardware systems and possibly storing the data in different formats.

11. The apparatus according to claim 9, wherein the information integration software facility being chosen from a group comprising a multi-database server, a federated data server and an information integration server.

12. The apparatus according to claim 9, wherein the software application accessing the reusable software component within a single unit of work.

13. The apparatus according to claim 9, wherein the virtual data object being mapped into an entity bean having attributes spanning the multiple data sources.

14. The apparatus according to claim 13, wherein the entity bean being a container-managed persistence entity bean.

15. The apparatus according to claim 9, wherein the software application including an Enterprise JavaBean (EJB) application.

16. The apparatus according to claim 9, wherein the virtual data object being accessed from a group comprising Java servlets, Java Server Pages (JSPs), Web Services, Service Data Objects (SDO) and persistence frameworks.

17. A program storage device usable by a computer tangibly embodying a program of instructions executable by the computer to perform method steps for mapping disparate data objects from multiple data sources into a single, or multiple, reusable software components accessible to a software application performed by a computer, for integrated access to the disparate data objects generated dynamically by or contained in the multiple data sources stored in at least one electronic storage device coupled to the computer, the method comprising the following steps: (a) for a software application, identifying the disparate data objects for mapping; (b) employing an information integration software facility for registering the data objects; (c) using the information integration software facility for creating at least one virtual data object having at least one attribute from the selected registered data objects; and (d) wrapping access to the at least one virtual data object into the reusable software component accessible directly from the software application.

18. The method according to claim 17, wherein the information integration software facility having access to the multiple data sources, being chosen from a group comprising databases, files and spreadsheets, containing or dynamically generating data from different hardware systems and possibly storing the data in different formats.

19. The method according to claim 17, wherein the information integration software facility being chosen from a group comprising a multi-database server, a federated data server and an information integration server.

20. The method according to claim 17, wherein the software application accessing the reusable software component within a single unit of work.

21. The method according to claim 17, wherein the virtual data object being mapped into an entity bean having attributes spanning the multiple data sources.

22. The method according to claim 21, wherein the entity bean being a container-managed persistence entity bean.

23. The method according to claim 17, wherein the software application including an Enterprise JavaBean (EJB) application.

24. The method according to claim 17, wherein the virtual data object being accessed from a group comprising Java servlets, Java Server Pages (JSPs), Web Services, Service Data Objects (SDO) and persistence frameworks.
Description



BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to database management systems, and, more particularly, to mechanisms within computer-based database management systems for mapping disparate-data residing in multiple data sources or generated dynamically into a single or multiple, reusable software components accessible to application developers.

2. Description of Related Art

The increasing popularity of electronic commerce has prompted many firms to turn to application servers to deploy and manage their Web applications effectively. Quite commonly, these application servers are configured to interface with a database management system (DBMS) for storage and retrieval of data. This often means that new Web applications must work with "legacy" environments. As a result, Web application developers frequently find they have little or no control over which DBMS product is to be used to support their applications or how the database is to be designed. In some cases, developers may even find that data critical to their application is spread across multiple DBMSs developed by different software vendors.

The e-commerce community commonly uses entity Enterprise JavaBeans (EJBs) when persistence is required, that is, when data associated with Java objects must continue to exist (or persist) beyond the boundaries of an application session. Most frequently, entity EJBs use a relational DBMS for such storage purposes. EJB developers can create one of two kinds of entity EJBs: those with container-managed persistence or those with bean-managed persistence. Container-managed persistence is often favored, as it relieves the bean developer from writing the data access code; instead, the system running the container in which the EJB resides will automatically generate and execute the appropriate SQL as needed. By contrast, entity beans with bean-managed persistence require the developer to code and maintain his/her own data access routines directly. This allows for more flexibility, but requires additional programming skills (such as greater knowledge of DBMS technology), increases labor requirements for bean development and testing, and potentially inhibits portability of the bean itself. Unfortunately, firms intent on using container-managed entity EJBs (CMP entity beans) for their e-commerce applications may encounter some stumbling blocks. The firm's Web application server of choice may not support the firm's DBMS of choice. Furthermore, if design requirements call for a CMP entity bean whose attributes must span multiple "legacy" DBMSs, this almost certainly will not be supported.

Presently, there is no possibility to map data that are dynamically generated or residing in multiple data sources into a single or multiple, reusable software components accessible to application developers. As an example, we may consider the situation in which a Java application developer needs to build a Web-based application that accesses critical data present in multiple data sources, each of which may reside on different systems and may store data in different formats. Moreover, the developer might wish to perceive data in these sources as a single Java object, as doing so would greatly simplify design, development, and maintenance issues. As a result, s/he might want to model this single Java object as an entity bean, Enterprise JavaBean (EJB), that uses container-managed persistence (CMP). Since EJBs are standard Java components supported by a variety of leading information technology vendors, they offer many potential business benefits, such as increased portability and high degrees of code reuse. Those EJBs that are container-managed place a minimal programming burden on developers.

Unfortunately, current vendor support for CMP entity beans involves access to only a single data source per bean. Thus, the developer is forced to turn to more complex (and potentially cumbersome) alternatives to gain access to needed data sources. Often, the alternatives are more costly and time-consuming to implement, require a more sophisticated set of skills to implement, and may consume additional machine resources to execute.

One presently available solution to this problem, when a Java application developer needs to build a Web-based application that accesses critical data present in multiple data sources, involves manually simulating transparent access. In that case a programmer takes on the burden of writing the software to individually connect to each of the necessary data sources, read in any necessary data, correlate (or join) the results read in from multiple data sources, perform any necessary data translations, etc. This is a substantial amount of work and is well beyond of the skill level of many programmers. Furthermore, it incurs a great deal of cost.

Moreover, a developer would have to forego the use of CMP entity beans and instead employ entity beans with bean-managed persistence (BMP). These are more time-consuming to write, as well as more difficult to debug than CMP entity beans. In addition, they require considerable knowledge of the application programming interfaces (APIs) of each data source involved and afford less opportunity for query optimization, which may inhibit performance.

Another presently available solution to the problem calls for a physical consolidation of the data, where the data from different data sources have to be copied into a single data source, which a programmer will then access. However, this raises issues involving data latency and added cost. Due to the data latency, copies of data will be slightly to significantly "older" than data contained in the original data sources. Working with out-of-date (and potentially inaccurate) data can be unacceptable to many applications. Increased costs include software costs, since additional software must be purchased, installed, configured, and maintained to copy data from one source to another on a scheduled or periodic basis, as well as the labor costs involved with it. The software must support data migration effort or implementing a data replication process that supports very low data latency.

Therefore, there is a need to provide a method and a system which can map disparate data residing in multiple data sources into a single or multiple, reusable software components, accessible to application developers. This would simplify the design, development, and maintenance of applications and, in some cases, provide applications with a function that would otherwise be inaccessible.

SUMMARY OF THE INVENTION

The foregoing and other objects, features, and advantages of the present invention will be apparent from the following detailed description of the preferred embodiments which makes reference to several drawing figures.

One preferred embodiment of the present invention is a method for mapping data objects, residing in multiple data sources or generated dynamically, into a single or multiple reusable software components. This allows integrated information access to multiple disparate data sources, residing on different hardware systems or generating the data dynamically on different hardware systems, and possibly in different data formats. For a particular software application, selected data objects from multiple data sources are identified for mapping into a single, reusable software component. A user registers the selected data object with an information integration software facility in order to create at least one virtual data object having at least one attribute from the selected registered data objects, and to wrap access to the at least one virtual data object into the reusable software component, accessible directly from software applications as though it was a single real data object.

Another preferred embodiment of the present invention is an apparatus implementing the above-mentioned method embodiment of the present invention.

Yet another preferred embodiment of the present invention is a program storage device usable by a computer tangibly embodying a program of instructions executable by the computer to perform method steps of the above-mentioned method embodiment of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers represent corresponding parts throughout:

FIG. 1 illustrates a flowchart of the preferred method embodiment of the present invention; and

FIG. 2 illustrates a block diagram of a system implementing the preferred method embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following description of the preferred embodiments reference is made to the accompanying drawings which form the part thereof, and in which are shown by way of illustration of specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural and functional changes may be made without departing from the scope of the present invention.

The present invention is directed to a method, program storage device with computer usable instructions, and a system for mapping disparate data from multiple data sources into a single or multiple, reusable software components accessible to application developers. Then, application developers, such as Java developers, and third-party software packages can reference the single reusable software component in lieu of directly referencing multiple different data sources, possibly stored in different formats. Moreover, existing conventional technology in an information integration server can automatically handle access to these back-end data sources in a transparent fashion.

Thus, developers can create CMP entity beans whose attributes span multiple data sources. Furthermore, they can access any or all of these attributes within a single transaction. Since EJBs are standard Java components supported by a variety of leading information technology vendors, they offer many potential business benefits, such as increased portability and high degrees of code reuse. Those EJBs that are container-managed place a minimal programming burden on developers.

FIG. 1 illustrates a flowchart of the preferred method embodiment of the present invention and

FIG. 2 illustrates a block diagram of a system implementing the preferred method embodiment of the present invention.

The method embodiment of the present invention includes the following steps, shown in FIG. 1. Firstly, in step 102, a user identifies data objects in different data sources of interest, which may be stored or dynamically generated in different formats. For example, s/he may identify that certain tables residing in a DB2 database, an Oracle database, and an Informix database are relevant to his/her application. The exact nature of steps involved in data sources identification can vary. The preferred embodiment of the present invention was implemented involved issuing commands interactively, but numerous other possibilities can be employed.

In the next step 104, a user employs a software facility to connect to the data sources containing these data objects, and registers these data objects with the software facility. The software facility has to have capabilities of an information integration software server 202, shown in FIG. 2, sometimes called a multi-database server or a federated data server, which has access to multiple data sources (204, 206 of FIG. 2), each of which may reside on different systems and may store data in different formats. The preferred embodiment of the present invention was implemented using IBM's DB2 Information Integrator server.

Afterwards, in step 106 of FIG. 1, using this software facility, i.e., the information integration software server 202, a user creates one or more virtual objects (shown as element 208 in FIG. 2) that consolidate single or multiple attributes from previously registered data objects from data sources 204, 206. One implementation of this step may involve creating such virtual object 208 as a relational DBMS view, where such view joins data from different, sometimes remote, data sources (such as tables) based on the specific needs of the application. Each such created virtual object 208 filters data as appropriate, electing sometimes to limit the virtual object (view) to a subset of the rows and columns associated with one or more data sources (tables).

In the final step 108 of FIG. 1, a user employs standard database connectivity mechanisms to connect to the software facility, i.e., the information integration software server 202, and references one or more virtual data objects 208 as though their contents were derived from a single real data object. Furthermore, the user wraps access to these virtual data objects into a single or multiple, reusable software components accessible directly from a programming language application, such as a Java application 210 of FIG. 2.

One implementation of this step of the preferred embodiment of the present invention is shown in FIG. 2. It may use standard SQL to establish a connection to the information integration server 202 and to read data represented by the view previously defined. For this step, a Java object, which may be a CMP entity bean, shown as Enterprise JavaBeans EJB 212 of FIG. 2, can be used to wrap the virtual data object(s) 208 into a reusable software component, of use to a variety of Java application 210 developers and Java-based software tools. The user may manually create this CMP entity bean EJB 212 in an EJB server 214 and adjust its deployment descriptors as desired, or s/he may employ a variety of tools (e.g., WebSphere Studio) to automate this process.

Once the steps outlined above are completed, programmers can have access to a reusable object that hides the distributed nature of the data they need to access, and enables the developers to build CMP entity beans that span multiple data sources. Present technology and the current state of the art allows data access for read-only purposes. Sometimes, depending on the data contents and the information integration server technology in use, it may be possible to create CMP entity beans that support read/write access, as well. However, even a read-only restriction for such support is still a considerable improvement and facilitates efficient development of many useful business applications, thus minimizing development and maintenance costs.

The preferred embodiments of the present invention were implemented in a prototype employing the following products or technologies: Java 1.3, WebSphere Studio Application Developer 5.0, WebSphere Application Server 5.0, DB2 Information Integrator 1.0, Oracle DBMS, DB2 Universal Database, Microsoft Excel spreadsheets and Informix DBMS.

With the preferred embodiments of the present invention capable of mapping disparate data that reside in multiple data sources into a single or multiple, reusable software components accessible to application developers, the reach of Enterprise JavaBeans (EJB) 212 developers was extended to Web clients 218 through the integration of a Web application server 220 and information integration server 202 technologies. However, the benefits associated with integrating information integration server 202 and Web application server 220 technologies are not confined to EJBs 212. In particular, those who prefer to include data access routines in their Web Services, Java servlets, Java Server Pages (JSPs), Service Data Objects (SDO) or persistence frameworks 222 may also benefit from transparent access to disparate data. Programmers who employ these technologies often write Java Database Connectivity (JDBC) or SQLJ calls to handle database interactions. The information integration server 202 can simplify the development task when programmers need to access data stored in multiple data sources or generated dynamically. This is accomplished by providing a common SQL API, location transparency, and (in some cases) functional compensation. In addition, joins_and unions of disparate data can be performed without manually connecting to each data source, retrieving necessary data individually from each source, temporarily storing this data in some application-managed data structure, and coding the necessary logic to handle the data integration associated with a join or union operation. Such work is handled automatically by the information integration server 202, which presents a single-site image of data that may be physically distributed and stored in disparate DBMSs, etc.

The preferred embodiments of the present invention eliminate the need for a physical consolidation of data from different sources, thus avoiding the software and labor costs involved, as well as the logical exposures introduced due to data latency problems. It also relieves programmers of the burden of writing the software needed to individually connect to each of the necessary data sources, read in any necessary data, correlate (or join) the results read in from multiple data sources, perform any necessary data translations, etc. This is a substantial amount of work and is well beyond the skill level of many programmers and incurs a great deal of cost. Moreover, the programmers do not have to possess detailed knowledge about the differences between the different data sources.

Furthermore, presently, a developer would have to forego the use of CMP entity beans and instead employ entity beans with bean-managed persistence (BMP). These are more time-consuming to write, as well as more difficult to debug, than CMP entity beans. In addition, they require considerable knowledge of the application programming interfaces (APIs) of each data source involved and afford less opportunity for query optimization, which may inhibit performance.

The present invention provides a means to map disparate data that reside in multiple data sources into a single or multiple, reusable software components accessible to application developers. Therefore, it simplifies the design, development, and maintenance of applications and, in some cases, provides applications with function that would otherwise be inaccessible.

The foregoing description of the preferred embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto.

*


Free Web Sudoku Puzzles.
Solve with your browser.
    9 3 2        
      8 7   1    
2           7    
    3         6 9
      4   5      
6 8         4    
    6           5
    2   3 7      
        5 1 9    
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!